Capturing Microphone from Client- Side using C# Webform

Is their any way to capture audio from any device  through a web form using C# and HTML5 ?   
Rogelio Rios

Hi Roger,
According to your description, your case related to Html5 and it is a web application. So i guess you are doing  ASP.NET application. This forum is to discuss problems of C# development. You are more likely to get more
efficient responses to ASP.NET issues at http://forums.asp.net where you can contact ASP.NET experts. Thanks for your understanding.
Have a nice day!
Kristin
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.

Similar Messages

  • How to use KeyChain API from client-side HTML scripting in Safari on iPad?

    I have a requirement where I need to add client-side scripting in an HTML page to be supported by Safari on iPad that creates a private / public key pair and that creates a CSR (Certificate Signing Request) in PKCS#10 or SPKAC format that can be sent to a certification authority server using form HTTP/POST that will then return the generated certificate.
    I initially thought that I could simply use the HTML 5 tag <keygen> which can do exactly what I need, but unfortunately this tag is not at all supported on mobile Apple devices like iPad or iPhone, so I have to look for another solution.
    I have noticed that the KeyChain tool should be available on iPad using the documented API, but I have no idea based on the documentation whether the API can be called from client-side HTML scripting on iPad.
    Question : is it technically possible using the functionalities and API's exposed on an iPad to implement what I just described in HTML client-side scripting? If so, do you have some links with useful information that can help me on my way?

    I have a requirement where I need to add client-side scripting in an HTML page to be supported by Safari on iPad that creates a private / public key pair and that creates a CSR (Certificate Signing Request) in PKCS#10 or SPKAC format that can be sent to a certification authority server using form HTTP/POST that will then return the generated certificate.
    I initially thought that I could simply use the HTML 5 tag <keygen> which can do exactly what I need, but unfortunately this tag is not at all supported on mobile Apple devices like iPad or iPhone, so I have to look for another solution.
    I have noticed that the KeyChain tool should be available on iPad using the documented API, but I have no idea based on the documentation whether the API can be called from client-side HTML scripting on iPad.
    Question : is it technically possible using the functionalities and API's exposed on an iPad to implement what I just described in HTML client-side scripting? If so, do you have some links with useful information that can help me on my way?

  • How can i load file into database from client-side to server-side

    i want to upload file from client-side to server-side, i use the following code to load blob into database.
    if the file is in the server-side, it can work, but if it in the client-side, it said that the system cannot find the file. i think it only will search the file is in the server-side or not, it will not search the client-side.
    how can i solve it without upload the file to the server first, then load it into database??
    try
    ResultSet rset = null;
    PreparedStatement pstmt =
    conn.prepareStatement ("insert into docs values (? , EMPTY_BLOB())");
    pstmt.setInt (1, docId);
    pstmt.execute ();
    // Open the destination blob:
    pstmt.setInt (1, docId);
    rset = pstmt.executeQuery (
    "SELECT content FROM docs WHERE id = ? FOR UPDATE");
    BLOB dest_lob = null;
    if (rset.next()) {
    dest_lob = ((OracleResultSet)rset).getBLOB (1);
    // Declare a file handler for the input file
    File binaryFile = new File (fileName);
    FileInputStream istream = new FileInputStream (binaryFile);
    // Create an OutputStram object to write the BLOB as a stream
    OutputStream ostream = dest_lob.getBinaryOutputStream();
    // Create a tempory buffer
    byte[] buffer = new byte[1024];
    int length = 0;
    // Use the read() method to read the file to the byte
    // array buffer, then use the write() method to write it to
    // the BLOB.
    while ((length = istream.read(buffer)) != -1)
    ostream.write(buffer, 0, length);
    pstmt.close();
    // Close all streams and file handles:
    istream.close();
    ostream.flush();
    ostream.close();
    //dest_lob.close();
    // Commit the transaction:
    conn.commit();
    conn.close();
    } catch (SQLException e) {

    Hi,
    Without some more details of the configuration, its difficult to know
    what's happening here. For example, what do you mean by client side
    and server side, and where are you running the upload Java application?
    If you always run the application on the database server system, but can't
    open the file on a different machine, then it sounds like a file protection
    problem that isn't really connected with the database at all. That is to
    say, if the new FileInputStream (binaryFile) statement fails, then its not
    really a database problem, but a file protection issue. On the other hand,
    I can't explain what's happening if you run the program on the same machine
    as the document file (client machine), but you can't write the data to the
    server, assuming the JDBC connection string is set correctly to connect to
    the appropriate database server.
    If you can provide some more information, we'll try to help.
    Simon
    null

  • How can i look up a EJB residing in different machine from client side?

    hai ,
    How can i look up a EJB residing in different machine from client side?
    this is my code...........i don't know what should i use as Initial Context Factory...................i am using a sun appserver 8............
    package com.parx.lms.lmsdelegate;
    import com.parx.lms.exception.LMSException;
    import javax.naming.Context;
    import javax .ejb.CreateException;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.rmi.PortableRemoteObject;
    import java.rmi.RemoteException;
    import com.parx.lms.controller.*;
    import com.parx.lms.vo.UserVo;
    import com.parx.lms.exception.BusinessException;
    import java.util.Hashtable;
    import java.lang.*;
    public class LmsDelegate{
    private final static String JNDI_NAME="LmsBean";
    private static String url="http://localhost:4848";
    public static Lms lms = null;
    public void getController() throws CreateException,
    NamingException,RemoteException{
    if(lms == null){
    Hashtable h=new Hashtable();
    h.put(Context.INITIAL_CONTEXT_FACTORY," ********what should i use here???????*************************");
    h.put(Context.PROVIDER_URL,url);
    System.out.println("Before Loading Context in Delegate");
    Context ctx=new InitialContext(h);
    System.out.println("Loaded Context in Delegate");
    Object obj=ctx.lookup(JNDI_NAME);
    System.out.println("Loaded Object in Delegate");
    System.out.println("Before Loading Home in Delegate");
    LmsHome home = (LmsHome )PortableRemoteObject.narrow(obj,com.parx.lms.controller.LmsHome.class);
    System.out.println("Loaded Home in Delegate");
    lms = home.create();
    System.out.println("Loaded remote in Delegate");
    public void addUserDelegate(UserVo vo) throws BusinessException{
    try{
    getController();
    System.out.println("Before calling the addUser of Session");
    lms.addUser(vo);
    }catch(CreateException e){
    System.out.println("Create Exception in Delegate due to--->"+e);
    e.printStackTrace();
    throw new BusinessException(e);
    }catch(NamingException e){
    System.out.println("Naming Exception in Delegate due to--->"+e);
    e.printStackTrace();
    throw new BusinessException(e);
    catch(RemoteException e){
    System.out.println("Remote Exception in Delegate due to--->"+e);
    e.printStackTrace();
    throw new BusinessException(e);
    }catch(LMSException e){
    System.out.println("duplicate user name--->"+e);
    e.printStackTrace();
    throw new BusinessException(e);
    pls help me..........

    h.put(Context.INITIAL_CONTEXT_FACTORY," ********what should i use here???????*************************")
    Each app server provides their own jndi factory class. For ex for weblogic it is weblogic.jndi.WLInitialContextFactory. SInce you are using sun app server, check if there are any examples to find out or the docs.
    private static String url="http://localhost:4848
    Since the client is in a different machine the localhost is not going to work here. provide the url or the machine name of the system in which ur sunapp server is running. In addition u will need to have the stubs of the remote interfaces in ur client machine.

  • How call session bean from Client side

    Hi
    calling session bean from client side it gives Lookup erroe, it gives JNDI error
    how we know session bean is working. in Admin tree bean statis is reb Flaf, and ID is "Down" how we activate it..
    null

    If you can make a connection using sess_sh, then you know that you have configured your database and listener properly. If it is not working, read the manuals that you can download from technet. They are pretty good, and if you follow the directions, you should see success.
    Good Luck!
    Brad

  • What is the Oracle 10g services in client-side use?

    What is the Oracle 10g services in client-side use?--------No188

    Hi,
    Don't you think that including the question number tips-off people that this is course work?
    Anyway, Google can be very helpful for finding answers to your Oracle questions. Check this out:
    http://www.dba-oracle.com/t_google_keyword_searching.htm

  • Can you capture video from the internet, using premiere pro cc?

    trying to capture video from the internet, using premiere pro cc, is that possible?
    also - it keeps saying "video capture offline" - any solutions for that?

    I am going to go out on a limb and say that while it may be against the YouTube terms of service to download or scrape a video off of their service, there are times that I really don't care since it is for my personal use. Providing myself or my wife with entertainment that she can watch or listen to on her smartphone while on an airplane, or in a car traveling down the road, just doesn't bother my moral compass. Doesn't make it twitch in the least.
    Perhaps I am wrong. Perhaps I shouldn't do it. Tough. I do, and will continue to do so until the Google police come knocking on my door.
    This is pretty much the same argument that they tried to kill the VCR with. The simple act of time shifting was something that was considered wrong, and illegal, until people came to their senses.
    As for the editing capability, you might be surprised at the ways it is possible to download video that works just fine for what I use it for. Premiere Pro has no problems allowing me to edit out the parts I don't like, or just aren't funny, and the quality really doesn't suffer much at all.
    Now, with the exception of something I did for my two year old Great Niece, I have never used any video that I have downloaded for anything except a tutorial, or in her case, a Sesame Street song I used when I shot video of me reading her the Sesame Street book that I purchased.
    Would it be wrong to post downloaded video, intact or edited, for public consumption? Sure it would. No question about it.
    But please do not assume that everyone downloading video from the Internet is doing so for nefarious purposes, and I promise not to assume everyone is a perfect angel and is following all the rules.

  • How to use "CREATE DIRECTORY" from client side remotely

    Is there any way to create a logical directory from the remote client side, other than in the server? Or it's associated with the server's operating system policy? Thanks.

    Hello Roland:
    If your question is "can you creat an OID directory outside of the database" the answer is no. If I have not correctly understood your question please repost with more details.
    Thanks,
    Jay
    null

  • How To Update A Table View From Client Side !!!!

    Hi I would like to update a table view from the Client Side. So that the user can keep updating the relevent data on the client and when they have finally finished they can press Save so the entire page is then sent to the Server.
    Does anyone know how to do this, I guess u have to use the EPCM, I have just started on it and would really appreciate some Help.
    Thanks,
    Emmanuel.

    This is what I found :-
    There are a couple of ways to approach this.
    1) load the excel spreadsheet into the database "as is". You can use interMedia
    text to convert the .xls file into a .htm file (HTML) or use iFS (see
    http://technet.oracle.com/
    for
    more info on that) to parse it as well. InterMedia text will convert your XLS
    spreadsheet into a big HTML table (easy to parse out what you need at that
    point)
    2) Using OLE automation, a program you write can interact with Excel, request
    data from a spreadsheet, and insert it. Oracle Forms is capable of doing this
    for example as is other languages environments. In this fashion, you can remove
    the "manual" and "sqlldr" parts -- your program can automatically insert the
    data.
    3) You can write a VB script that uses ODBC or Oracle Objects for OLE (OO4O) in
    Excel. This VB script would be able to put selected data from the spreadsheet
    into the database. We would recommend OO4O. It provides an In-Process COM
    Automation Server that provides a set of COM Automation interfaces/objects for
    connecting to Oracle database servers, executing queries and managing the
    results. OO4O is available from
    http://technet.oracle.com

  • Any method to Import & Export to Excel from Client Side

    Hi,
    Is there any method to Import and Export to Excel from the Client side. I have one procedure to export to Excel , but the excel file will be opened in the Application Server only, even if it executed from the client side. Also this procedure will not work if OLE2 chnaged CLIENT_OLE2. I am writing my procedure, Is there any idea to get it in the client side.
    PROCEDURE pr_Forms_to_Excel(p_block_name IN VARCHAR2 DEFAULT NAME_IN('system.current_block')) IS
    -- Declare the OLE objects
    application OLE2.OBJ_TYPE;
    workbooks OLE2.OBJ_TYPE;
    workbook OLE2.OBJ_TYPE;
    worksheets OLE2.OBJ_TYPE;
    worksheet OLE2.OBJ_TYPE;
    cell OLE2.OBJ_TYPE;
    range OLE2.OBJ_TYPE;
    range_col OLE2.OBJ_TYPE;
    -- Declare handles to OLE argument lists
    args OLE2.LIST_TYPE;
    -- Declare form and block items
    form_name VARCHAR2(100);
    f_block VARCHAR2(100);
    l_block VARCHAR2(100);
    f_item VARCHAR2(100);
    l_item VARCHAR2(100);
    cur_block VARCHAR2(100) := NAME_IN('system.current_block');
    cur_item VARCHAR2(100) := NAME_IN('system.current_item');
    cur_record VARCHAR2(100) := NAME_IN('system.cursor_record');
    item_name VARCHAR2(100);
    baslik VARCHAR2(100);
    row_n NUMBER;
    col_n NUMBER;
    filename VARCHAR2(100);
    ExcelFontId OLE2.list_type;
    BEGIN
    -- Start Excel
    application:=OLE2.CREATE_OBJ('Excel.Application');
    OLE2.SET_PROPERTY(application, 'Visible', 'True');
    -- Return object handle to the Workbooks collection
    workbooks:=OLE2.GET_OBJ_PROPERTY(application, 'Workbooks');
    -- Add a new Workbook object to the Workbooks collection
    workbook:=OLE2.GET_OBJ_PROPERTY(workbooks,'Add');
    -- Return object handle to the Worksheets collection for the Workbook
    worksheets:=OLE2.GET_OBJ_PROPERTY(workbook, 'Worksheets');
    -- Get the first Worksheet in the Worksheets collection
    -- worksheet:=OLE2.GET_OBJ_PROPERTY(worksheets,'Add');
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 1);
    worksheet:=OLE2.GET_OBJ_PROPERTY(worksheets,'Item',args);
    OLE2.DESTROY_ARGLIST(args);
    -- Return object handle to cell A1 on the new Worksheet
    go_block(p_block_name);
    baslik := get_block_property(p_block_name,FIRST_ITEM);
    f_item := p_block_name||'.'||get_block_property(p_block_name,FIRST_ITEM);
    l_item := p_block_name||'.'||get_block_property(p_block_name,LAST_ITEM);
    first_record;
    LOOP
    item_name := f_item;
    row_n := NAME_IN('SYSTEM.CURSOR_RECORD');
    col_n := 1;
    LOOP
    IF get_item_property(item_name,ITEM_TYPE)<>'BUTTON' AND
    get_item_property(item_name,VISIBLE)='TRUE'
    THEN
    -- Set first row with the item names
    IF row_n=1 THEN
    ------updated by faisal-to give Bold font-----
    --FOR k IN 1 .. 3 LOOP
         args := OLE2.create_arglist;
         OLE2.add_arg(args, 1);
         OLE2.add_arg(args, col_n);
         cell := OLE2.get_obj_property(worksheet, 'Cells', args);
         OLE2.destroy_arglist(args);
         --cell_value := OLE2.get_char_property(cell, 'Value');
         ExcelFontId := OLE2.get_obj_property(Cell, 'Font');
         OLE2.set_property(ExcelFontId, 'Bold', 'True');
    --END LOOP;
    baslik:=NVL(get_item_property(item_name,PROMPT_TEXT),baslik);
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, row_n);
    OLE2.ADD_ARG(args, col_n);
    cell:=OLE2.GET_OBJ_PROPERTY(worksheet, 'Cells', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.SET_PROPERTY(cell, 'Value', baslik);
    OLE2.RELEASE_OBJ(cell);
    END IF;
    -- Set other rows with the item values
    args:=OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, row_n+1);
    OLE2.ADD_ARG(args, col_n);
    cell:=OLE2.GET_OBJ_PROPERTY(worksheet, 'Cells', args);
    OLE2.DESTROY_ARGLIST(args);
    IF get_item_property(item_name,DATATYPE)<>'NUMBER' THEN
    OLE2.SET_PROPERTY(cell, 'NumberFormat', '@');
    END IF;
    OLE2.SET_PROPERTY(cell, 'Value', name_in(item_name));
    OLE2.RELEASE_OBJ(cell);
    END IF;
    IF item_name = l_item THEN
    exit;
    END IF;
    baslik := get_item_property(item_name,NEXTITEM);
    item_name := p_block_name||'.'||get_item_property(item_name,NEXTITEM);
    col_n := col_n + 1;
    END LOOP;
    EXIT WHEN NAME_IN('system.last_record') = 'TRUE';
    NEXT_RECORD;
    END LOOP;
    -- Autofit columns
    range := OLE2.GET_OBJ_PROPERTY( worksheet,'UsedRange');
    range_col := OLE2.GET_OBJ_PROPERTY( range,'Columns');
    OLE2.INVOKE( range_col,'AutoFit' );
    OLE2.RELEASE_OBJ( range );
    OLE2.RELEASE_OBJ( range_col );
    -- Get filename and path
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG( args, p_block_name );
    OLE2.ADD_ARG( args,'Excel Workbooks (*.xls, *.xls');
    filename := OLE2.INVOKE_CHAR( application,'GetSaveAsFilename',args );
    OLE2.DESTROY_ARGLIST( args );
    -- Save as worksheet
    IF NVL(filename,'0')<>'0' THEN
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG( args,filename );
    OLE2.INVOKE( worksheet,'SaveAs',args );
    OLE2.DESTROY_ARGLIST( args );
    END IF;
    -- Close workbook
    --OLE2.INVOKE( workbook ,'Close');
    -- Release the OLE objects
    OLE2.RELEASE_OBJ(worksheet);
    OLE2.RELEASE_OBJ(worksheets);
    OLE2.RELEASE_OBJ(workbook);
    OLE2.RELEASE_OBJ(workbooks);
    --OLE2.INVOKE(application, 'Quit');
    OLE2.RELEASE_OBJ(application);
    -- Focus to the original location
    go_block(cur_block);
    go_record(cur_record);
    go_item(cur_block||'.'||cur_item);
    END;
    Thanks in advance.
    Rizly Faisal

    Alternatively you could use OLE2 to do the bulk of the importing and exporting and then use the webutil file transfer functions to move the file to the client and then simply open the file there...That might be more efficient in terms of performance as well.
    Regards
    Grant

  • Starting the datapump jobs from client side

    sir
    please make me understand
    datapump is server side utility means we can not invoke it from client. but in documents (oracle).
    they r talking that we can start the datapump job from client(Sqlplus) but the dmp files will be saved and the process will run on the server side
    so how can invoke the datapump from the client side (SQL Plus) ?

    user13014926 wrote:
    sir
    please make me understand
    datapump is server side utility means we can not invoke it from client.That's wrong to say and understand. The correct understanding should be that it's configured only for server side which means, that the folder where the dump files would be created would be available on a folder which must be there on the server side and over which, proper permissions must be available to you in the form of Directory object. There is no such thing that it can't be invoked sitting on the client side. It surely can but unlike the traditional export, there is no facility available anymore to give absolute file paths which would store the file on the local client machine.
    but in documents (oracle).
    they r talking that we can start the datapump job from client(Sqlplus) but the dmp files will be saved and the process will run on the server sideAll what they are saying is that since the datapump's API, DBMS_DATAPUMP , is completely exposed and is documented, it can be used by the client and as like any other package, either stored or created, can be invoked from the sqlplus session. The dump files location would indeed be on the server side only.
    so how can invoke the datapump from the client side (SQL Plus) ?As mentioned already by Srini, using the API .
    Aman....

  • Take laptop & printer to client, need to print from client computer using my printer

    I nstalled my HP Laserjet 1102w to my laptop with my ips address to work wireless.
    I take my laptop & printer to client's location and need to print from their computers using my HP Laserjet 1102w.
    I network in to their ips address using my laptop to.
    Could not install my HP Laserjet 1102w on their computer & print from their computer.
    How do i print from my HP Laserjet 1102w using their computers at their location?
    Thanks!

    Hi debitacct ,
    Thanks for clarifying that information.
    You would have to restore the printer's defaults and reset up the printer on their network at the new location every time, to be able to print from the clients computer and you would have to connect to their network on your computer and add the printer back in again with the new IPv4 address.
    Another way you could do this is through a USB connection or use the Wireless Direct.
    You would have to enable the Wireless Direct on the printer through the printer's Embedded Web Server if you didn't select this feature during the installation. This will allow both computers to connect directly to the printer and print, but keep in mind you won't have internet access at the same time. So you can print when connected to the printer's network or connect back to the main network again to access the internet.
    Here are the steps for enabling the Wireless Direct through the printer's Embedded Web Server if you decide to go this route. Print a configuration page to get the printer's IPv4 address. Printing a Configuration Page.
    Type the IP address into your web browser's address bar. (Internet Explorer)
    Then click on the Networking tab, select Wireless Direct Setup on the left side and check the Enable wireless direct printing.
    I hope I explained that alright for you. The USB connection would most likely be the easiest way to go.
    Have a nice day!
    Thank You.
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    Click the “Kudos Thumbs Up" on the right to say “Thanks” for helping!
    Gemini02
    I work on behalf of HP

  • How to read and write Xml file at client side using JavaScript !

    Hello,
    i am new to javascript.
    I have requirement to read and update XML file at client side.
    Will you please guide what could be the best way to read and update XMl file using javascript.
    Thanks,
    Zuned

    This is a Java forum,not a Javascript forum. Maybe you should ask here [http://www.webdeveloper.com/forum/forumdisplay.php?forumid=3&s|http://www.webdeveloper.com/forum/forumdisplay.php?forumid=3&s].

  • Set printer from client side

    Hi All,
    I am browsing in this forum, how to set printer crystal report at runtime in web application. I find that way, but in server side. I have web application that deploy ini web server and I have end user/client that want to open report in my web application and print it. Could you give any snippet code to do it?
    Thanks.
    Sri

    To print client side you must install the Crystal Reports ActiveX control. The security warning is the same as any other ActiveX control you'd install. Simply click the yellow bar at the top of your browser screen, or follow the directions to install it.
    If you don't want to install the ActiveX control you can use the Pdf print mode instead.

  • Cisco AQM 8.5 not recording : wav files are deleted from client side

    Daer Networkers,
    We do have Cisco AQM 8.5 SR2 ES1 installed with UCCX 8.5
    The issue is that when accessing the Web interface of AQM and try to look for calls, I can't find any one.
    When checking the client side, I can see that the call are being recorded : The FROM and TO files are there. But once the call is terminated, the wav file appear for some seconds and then it dissappears asi fi it's deleted.
    The wav files are not in the server too;
    I don't know what is the issue. Can you please help ?
    Thanks in advance.

    Hi,
    This issue was resolved by doing a repair to the QM Base services, then run postinstall as if it was run for the first once.
    The Proxy Gateway program was missing for some reason. After doing the repair the issue was resovled and calls are uploaded to the server.
    Now I am facing another issue !  : I can hear the client voice only. Agent's voice couln't be heard in the recorded files. As if the agent's voice is not recorded. Can you please advise ?

Maybe you are looking for

  • Error when Importing a txt file in FDM 11.1.2

    Hi, I'm getting the following error when I try to import a txt file in FDM. I want to load it in HFM Error: An error occurred importing the file. Detail: Data access error ** Begin FDM Runtime Error Log Entry [2010-10-18 13:07:03] ** ERROR: Code.....

  • Declaration nvl2 function in pl/sql

    Hello, I am a newbie on PL/SQL Programming. I can not execute the program.. The error message is : ORA-00904: "others": invalid identifier I defined the others but I didn't do in a proper way I guess..I look forward to hearing your advise. Thanks, cr

  • Should I bail out now?

    Early on Friday morning I signed up for BT Infinity and a little later got an email confirming the order and directing me to the online tracking.  By late on Saturday afternoon the tracking was still saying that no order existed. I decided to call su

  • MBP performance very bad

    So I bought my MBP 13" this summer of 09. It's been less than 6 months, and my computer's performance has been pretty bad (since the beginning) compared to my white macbook that I bought in summer 08 and the white macbook that my dad bought afterward

  • Translate Smartform

    Hello, I have to modify an existing Smartform so that it will also display Text in Ukrainian language.I have worked with several Smartforms and used the Standard text with all the required languages  but this Smartform is different know. I have a lot