Wednesday, 21 January 2015

how to make magento android app

In this tutorial we learn how to create magento mobile app

Mobile Assistant for Magento Connector 

Automated Installation from Magento Connect 

Magento offers two API's to develop your app in Android
    a. SOAP API
    b. XML-RPC


    If you want to use XMLRPC API,then you have to download it's library and use it in your Project.
    You have to create a New User in your Magento Store with roles.That you can do by loging in to your Admin module and the option is under the system->WebServices->User && Roles...You have to create first roles and then create a user and assign the roles to the User.
    You have to use the UserName and APIKey that you give in the Magento Store for calling the login Function.
    Calling the Login function,you will Receive a Session Id,that you have to store and Use it in your further calls.

Some of the helpful links to get Started Are::
  1. Link-1
  2. Link-2
  3. Link-3
  4. Link-4
  5. My Questions And their Solutions On SO

Shopgate - Mobile Commerce - Mobile Website and Shopping App for Magento

Mofluid - Magento Mobile App Builder

Mobile Assistant for Magento

MageMob Admin

OnPulse - Mobile administration for Magento

 

-----------------------------------------------

Install the Magento Mobile Extension
You can download the free Mobile extension from Magento Connect by Magento to add the Magento Mobile tab in your store admin. Once installed a new tab called Mobile will be added to your store. This tab contains all necessary configurations and management fields. Magento CE 1.5 and higher as well as Magento EE and Magento PE 1.10 and higher already have this tab in built.
clip_image001
Create an App
Once installed successfully you can dive straight into the app development. Select the first submenu from Mobile tab Manage Apps. You’ll be redirected to a grid containing all your apps (submitted or otherwise) to Magento. First times will be faced with an empty grid. Click on Add App to create your very own first Magento Mobile app.
clip_image002
Select the device type from the three available choices. Currently Magento supports iPad, iPhone and Android apps. Select any of your choice and continue. A new page will be shown containing a lot of settings. This is where you create your app. I’ll give an overview of each tab and what you can customize in it:
See Also : Our Magento Extensions
1. General
General App Information like your app name and the store view that you are going to use etc can be set from here. FYI it’s advisable to create a new store view for specific use of your app.
clip_image003
2. Design
The visual design of your app like Images, color scheme and tabs are edited from here. There are a lot of default color schemes as well as you can add your custom color scheme. Add logos as well as app background images and instant preview is displayed beside the configuration fields.
clip_image005
3. Content
You can add CMS pages from your store to your Mobile app.
clip_image006
4. Payment Methods
Set payment methods for checkout through the app. You’ll get options to add default Magento payment methods plus some additional payment methods can also be set.
clip_image007
5. Submission History
The submission record of the app, activation key as well as submission date is displayed in grid.
clip_image009
6. Cache Management
Cache management for the app can be set from this tab. To disable cache you can opt to leave the field blank but IMHO caches are meant to be kept enabled.
clip_image010
7. Social Networking
Three social media APIs can be integrated within your app, namely FB, Twitter and LinkedIn. Not mandatory but a great advantage for social media promotion.
clip_image011
8. Push Notification
Setting to subscribe to push notifications by Urban Airship
clip_image012
Submit the App
After you have finished your app you can submit it to Magento for publishing consideration. The submission can be performed from your admin itself. You can edit your app from Mobile->Manage Apps and when you save it select Save and Submit App option. That way you’ll be able to provide submission information to Magento Mobile team.
clip_image014

 

 

 --------------------------------------------------

  1. Go to Magento Connect (official Magento modules marketplace) and find Mobile Assistant for Magento Connector - 

    http://www.magentocommerce.com/magento-connect/mobile-assistant-for-magento.html

  2. Click "Install Now". If you are not currently logged into the site you will be prompted to do so. Please use your Magento Connect credentials to log in or register here. 
  3. Select Magento Connect version 2.0, accept the extension’s license agreement, and copy the extension key.

    Magento Mobile Assistant Key


  4. Log into your store's backend (your Magento Store Admin pannel) and go to System -> Magento Connect -> Magento Connect Manager.

    1.png

    Log in with your Magento Store administrator credentials.

    2.png

  5. Paste the extension key (that you've copied on step 3. see above) into the text box next to the corresponding field and click ‘install’.

    install.png

    A system window will appear towards the bottom of the page that will display the progress of your installation.

  6. Now you have successfully installed the connector.

    IMPORTANT: You should clear Magento cache and re-login into your store backend. 

Manual Installation


If you don't have account at Magento Connect, you can download and install the Connector manually.

  1. Download the file at: http://emagicone.com/shared_files/mobile_assistant_connector.tgz
  2. Log into your store's backend and go to System -> Magento Connect -> Magento Connect Manager.

    1.png
    Log in with your Magento Store administrator credentials.

    2.png


  3. Upload the Package file that you have just installed in the section "Direct package file upload"

    4.png
    and click "Uploadl".
    5.png

    A system window will appear towards the bottom of the page that will display the progress of your installation.

  4. Now you have successfully installed the connector.

    IMPORTANT: You should clear Magento cache and re-login into your store backend.

Mobile Assistant Connector Configuration

  1. Navigate in your admin console to System -> Configuration-> Magento Mobile Connector. You will see it only if you have installed the connector manually or automatically.

    3.1.png

  2. Set your secure login and password.
    Default login and password are '1' and '1'. So please change them to more secure ones and keep in mind to specify in your Mobile application.


    *do not scan our QR code. There's default data that cannot be used to connect to any store  )
  3. At the bottom of settings page you can see QR code. Now you can scan it to get all settings into your app.
    In case you change login and password, you need to save configs to get updated QR code.
Now all is done and you can proceed to the installation of Free Mobile Assistant on your Android device.
For detailed description of all features check here.

If you have any questions or issues, please e-mail us at mobile@emagicone.com and we'll assist you free of charge.


Mobile Assistant Android Application Installation

The above connector allows you to get your Magento Data from your site directly into your Mobile phone. Also some advanced actions becomes available with updated connector. Follow few more steps to use the application:
  1. Download file at Google Play. Look for Mobile Assistant for Magento at - https://play.google.com/store/apps/details?id=com.Magento.MobileAssistant
  2. Run installation package on your Android Device
  3. Open application to set up connection with the mobile connector installed above.
  4. On the connection settings page specify data. You can do it manually or automatically load settings by scanning QR code generated on step 3 of Mobile Assistant Connector Configuration (see description above)

    To download and set all settings automatically use QR Code button next to connection configuration title (upper right corner). Once scanned, you need to click Save for changes to be applied. If everything is done correctly, you can use application.

    In case anything goes wrong, you can proceed to manual setup:

    Your store URL - Specify your store URL here. It may look like http://www.onlinestore.com
    In case your store (shopping cart) is installed in some folder, specify the whole path here like http://www.onlinestore.com/catalog or http://www.onlinestore.com/store


    Important:
     Your store should be public and should be visible for whole world. Stores locked for maintenance or those that require verification before being able to see products will not work!
  5.  

    Use Detect Button to find what type of connection you can use now. If you haven't configured neither bridge nor mobile assistant connector type, you need to go back to section 1 and setup them correctly.

    Connection Type
    - Mobile Assistant Connector or PHP Bridge. New version of Mobile Assistant requires Mobile Assistant Connector to be installed. Please see section 1 above. This type of connection opens new features of Mobile assistant and is specially designed for Magento Shopping Carts. PHP Bridge connection type can be used with older versions of Mobile Assistant, and offers only basic functionality of the application.



    Store Title
     - You can name your store connection as you wish. You can enable option to retrieve title automatically from your Magento store. On the screen above we've specified "My Magento" as Store title. It doesn't affect the work in any way. It is a good idea to specify your store name here so you could easily check what sore are you in now if you have few stores to check on your Android device.

    Receive push notifications once order is placed - Allows you to see notifications directly once order is placed. Push notifications are available for Mobile Assistant Connector only.

  6. Click Save to keep settings and connect to your store, or use Back button to discard this entry and close application.

    Tip: 
    Use Test connection button to verify if all settings are correct.

That's it. All settings are set and you're welcome to enjoy all features of the application.

For detailed description of all features check here.
--------------------------------------------------------------------------
If your goal is to build a native app (as you say in a comment), then you should take a look at both the REST and SOAP APIs.

 

What You See in the Magento Admin Panel
Admin Panel
What You See in Your Mobile App
Android: Home Page
Home Page

Make Your App Smarter with Beacons

Beaconstac helps developers deliver proximity-aware experiences in apps using iBeacon

------------------------------------------------------------------

 http://www.magentocommerce.com/magento-connect/site-management/mobile-administration.html

.

Friday, 9 January 2015

how to decrypt whatsapp database and READ ANYONE'S WHATSAPP DATABASE MESSAGES ON PC

 READ ANYONE'S WHATSAPP DATABASE MESSAGES ON PC



FIRST STEP TAKE BACKUP.

SECOND DOWNLOAD SQLLITE.

Download SQLite Administrator - International Milestone Beta

SQLite Administrator is a powerful tool if you easily want to create, design or administrate SQLite database files. The SQL code editor helps you to quickly write sql queries with features such as code completion and highlighting. Both major versions of SQLite database files are supported by SQLite Administrator.

how to decrypt whatsapp database 
 Decrypt WhatsApp DatabaseUnlock your Android database on http://whatcrypt.com/?cmd=_decrypt


Finally Recover message 
https://www.recovermessages.com/ 
----------------------------------------------------------------------------------

download pypi/pycrypto


  First Backup of your Whatsapp Messages ,If you don't know how can you make backup of whatsapp messages try these link.

    Then download Next android app named Tri Crypt. This android app decrypt whatsapp crypt 5 format to readable .db(database) format.


    Open Tri Crypt Android app and Click on decrypt whatsapp messages.
    tricrypt decrypt all messages
    Now download Sqlite Editor android app for reading whatsapp .db file.
    

Open Sqlite Editor android app go to Files. Here we have file and directories. We find msgstore.db file in these directories.
    sqlite android
    Now follow this path in Files ******find sdcard folder <<whatsapp<<Databases and open msgstore.db file.
    sqlite android
    Now read all the whatsapp messages in Android Phone.
    whatsapp hacked

whatsapp hacked
You can read other Whatspp user data when you get his msgstore.db file.
Help with this tutorial you can easily hack any Facebook account,viber account,wechat account,chrome history ,contacts and much more.

Note:
Don't use this method for any illegal purpose.



Tuesday, 6 January 2015

images not showing in wordpress blog post

                                         Due to wrong setting in Media files images not shown in wordpress blog post.
just do this three easy steps:

in Media files
1) Clicked on "Set Featured Image" at the right hand panel
2) Uploaded image from Computer to the Gallery
3) Clicked "Use as featured image" at the bottom

same for Imbalance 2 on front page image is not showing.

Featured Image on static page (Imbalance 2 theme) not showing up on front page?

images not showing in wordpress blog post

Column one is the blog title and tagline; you edit them in Settings > General.
Columns two and three are for two menus; you create and load them in Appearance > Menus - instructions here: http://en.support.wordpress.com/menus/
Column four is for widgets; you add them in Appearance > Widgets.
You need to set a featured image in each post in order to see the thumbnail in imbalance 2.
Click on the module that has 'featured image' in it (if you don't see the module, look at the top of the editor window for 'screen options' and check it') then the image editor will appear. Browse to the image you want to use, via that, in the usual way, and then when you've found it, click the 'featured image' and when it appears in the module (outside the edit box) just close the image editor, and save your post as usual. An image that works best with featured images at least 210 wide.
http://en.support.wordpress.com/featured-images/

Thursday, 1 January 2015

how to open block github site in india

                                       Github is very important site for developers.so,for educational purpose i will teach you how to open github site.We can open github.com onlineby using anonymous proxy.

online anonymous proxy:
how to open block github site in india

 Browse the Internet Anonymously:
 
There are several benefits associated with browsing the internet anonymously using online proxy. With online anonymous proxy, you can basically access any website including those that are blocked. It also makes it possible for you to restore access to sites that are restricted by the website owners using filter settings.     YouTube, Facebook Supported .While not all online web proxies support YouTube and Facebook , you can rest assured that our online anonymous facebook proxy server supports these. Consequently, if these are blocked by your internet administrator, you can find your way around this and enjoy the benefits associated with these social networks.     

 Hide your Real IP and Stay Safe:

 When you surf the internet, you leave your 'footprints' everywhere but this is not the case when you use online proxy. There are people out there to cause harm and steal your details and with the help of proxy server, you can prevent this from happening. You can rest assured that you are untraceable fi and all the sites you visit cannot be traced back to you.  


why indian government block github?

https://zend2.com/  use this site to visit github fast and anonymously.

https://proxy-nl.hide.me/ to access  block github website in india or any part of the world.

 India's Government Asks ISPs To Block GitHub, Vimeo And 30 Other Websites 

 

Wednesday, 17 December 2014

what is cloud computing,lamp,redis

In the simplest terms, cloud computing means storing and accessing data and programs over the Internet instead of your computer's hard drive. 

Cloud computing is computing in which large groups of remote servers are networked to allow centralized data storage and online access to computer services or resources. Clouds can be classified as public, private or hybrid.

Hybrid cloud

Hybrid cloud is a composition of two or more clouds (private, community or public).

who provides cloud computing services
 Company name: Amazon


Cloud offering: Amazon Web Services, a half-dozen services including the Elastic Compute Cloud, for computing capacity, and the Simple Storage Service, for on-demand storage capacity

Why we're watching it: Amazon is one of the true innovators in Web-based computing, offering pay-as-you-go access to virtual servers and data storage space. In addition to these core offerings, Amazon offers the SimpleDB (a database Web service); the CloudFront (a Web service for content delivery); and the Simple Queue Service (a hosted service for storing messages as they travel between computers). By launching the Elastic Compute Cloud in 2006, well before most of its competitors, Amazon has become almost synonymous with "cloud computing." But criticisms are starting to pop up regarding Amazon's reliability and service-level agreements.


Company name: AT&T



Cloud offering: Synaptic Hosting, an application hosting service that offers pay-as-you-go access to virtual servers and storage integrated with security and networking functions.

Why we're watching it: Amazon and Google may be the biggest names in cloud computing today, but don't discount the built-in advantage telcos have when it comes to infrastructure. "Building publicly accessible cloud infrastructure is not inexpensive or uncomplicated," Pund-IT analyst Charles King says. "The service providers already have those infrastructures in place – the data center assets, connectivity and billing."


Company name: Enomaly



Cloud offering: Enomaly's Elastic Computing Platform (ECP) is software that integrates enterprise data centers with commercial cloud computing offerings, letting IT pros manage and govern both internal and external resources from a single console, while making it easy to move virtual machines from one data center to another.

Why we're watching it: Unlike the other nine vendors on this list, Enomaly doesn't offer services of its own over the Web. But its software could prove crucial as enterprises grapple with the problem of managing a wide array of computing resources that live both inside and outside the firewall. Intel has recognized Enomaly's promise, bankrolling the company's product development, which focuses heavily on managing the various hypervisors used both within enterprises and by cloud providers.


Company name: Google



Cloud offering: Google Apps, a set of online office productivity tools including e-mail, calendaring, word processing and a simple Web site creation tool; Postini, a set of e-mail and Web security services; and the Google App Engine, a platform-as-a-service offering that lets developers build applications and host them on Google's infrastructure.

Why we're watching it: No one knows the Internet quite like Google. While the company's main focus is crawling the Web and delivering advertising-supported search results, Google's foray into software-as-a-service applications for businesses is hastening the industry's move from packaged software to Web-hosted services, and App Engine provides a credible alternative in the platform-as-a-service market.


Company name: GoGrid (a division of ServePath)


Cloud offering: The GoGrid platform offers Web-based storage and the ability to quickly deploy Windows- and Linux-based virtual servers onto the cloud, with preinstalled software including Apache, PHP, Microsoft SQL and MySQL.

Why we're watching it: GoGrid, one of Amazon's chief competitors in the cloud storage and compute markets, distinguishes itself from Amazon in a couple ways. GoGrid offers Windows Server 2008 instances (Amazon offers only Windows Server 2003) and 100% uptime service-level agreements (Amazon offers 99.95% for compute and 99.9% for storage).


Company name: Microsoft


Cloud offering: Azure, a Windows-as-a-service platform consisting of the operating system and developer services that can be used to build and enhance Web-hosted applications. Azure is in beta until the second half of 2009.

Why we're watching it: Because this is Microsoft's first big foray into the cloud. But for all of Microsoft's might, it is still a new player in the cloud market and has questions to answer. For example, will it be easy to move existing applications onto the Azure platform, and will Microsoft avoid the tendency toward vendor lock-in – which is bad for users but has been tremendously profitable for Microsoft in the world of packaged software.


Company name: NetSuite


Cloud offering: A business software suite including e-commerce, CRM, accounting and ERP tools.

Why we're watching it: One of the industry's most successful online business software providers, NetSuite has a tendency to make competitive moves that are both entertaining and potentially profitable for customers. NetSuite recently promised 50% discounts to Sage Software customers who switch to NetSuite, and made a similar offer to Salesforce.com and SAP customers last year. NetSuite will even integrate with rivals' technology, for example by connecting its ERP suite to Salesforce's CRM tools, a move designed to lure Salesforce customers by enabling new business processes.


Company name: Rackspace



Cloud offering: The Rackspace Cloud, also known as "Mosso," consists of three major services: Cloud sites, a platform for building Web sites; Cloud Files, a storage service; and Cloud Servers, an Amazon EC2-like service that provides access to virtualized server instances.

Why we're watching it: Rackspace has a long history of offering hosted data center services and is a trusted name in the enterprise. With Mosso, Rackspace is taking aim at the platform-as-a-service and infrastructure-as-a-service markets, the two key areas for customers looking to build Web-hosted applications.


Company name: RightScale


Cloud offering: The RightScale Platform, software-as-a-service that helps customers manage the IT processes they have outsourced to cloud providers such as Amazon and GoGrid. RightScale helps customers build and clone virtual servers for the cloud, performs load balancing in response to changing needs, automates storage backups, and offers monitoring and error reporting.

Why we're watching it: Because for all of the cloud's promises of simplicity, deploying new virtual servers and applications in the cloud requires work on the part of the IT department, particularly if a customer is using multiple cloud services. RightScale is automating the grunt work required to use the cloud most effectively.


Company name: Salesforce.com



Cloud offering: Salesforce.com's flagship is a set of CRM tools including salesforce automation, analytics, marketing and social networking tools. A second major offering is Force.com, a platform for building Web applications and hosting them on the Salesforce infrastructure.

Why we're watching it: Salesforce.com helped pioneer the software-as-a-service market, which has now been lumped into the umbrella term "cloud computing." With Force.com, Salesforce is moving beyond SaaS into the platform-as-a-service market, which could revolutionize the way businesses build and deliver applications to end users and customers


What is Redis and what is use of it ?

     It's a "NoSQL" key-value data store. More precisely, it is a data structure server. Not like MongoDB (which is a disk-based document store), though MongoDB could be used for similar key/value use cases. The closest analog is probably to think of Redis as Memcached, but with built-in persistence (snapshotting or journaling to disk) and more datatypes.
The additional data types are probably even more important. Key values can be simple strings, like you'll find in memcached, but they can also be more complex types like Hashes, Lists (ordered collection, makes a great queue), Sets (unordered collection of non-repeating values), or Sorted Sets (ordered/ranked collection of non-repeating values).

 Redis is different than other database solutions in many ways: it uses memory as main storage support and disk only for persistence.Redis beats Memcached for caching.

visit our previous post installing-redis-chat-application.


How To Deploy A Cloud Based Webserver in 5 minutes -

 What is lamp cloud server ?

LAMP(Linux, Apache, MySQL and PHP)  set up a LAMP (Linux, Apache, MySQL and PHP) stack on  Cloud Server. using an Ubuntu 10.04 Linux server, running a website on Apache, with a PHP front-end, backed by a MySQL database.

how to create a free Amazon EC2 cloud based LAMP Server and Point your domain to Amazon EC2 Instance. 
  
There are 4 simple steps to do.
  1. Sign up for a 1 year free account from Amazon.
  2. Create a new server from an existing image.
  3. Install Apache, PHP, MySQL.
  4. Point your domain to EC2 Server.

Sign up for a 1 year free account from Amazon
Amazon offers an one year free account for new customers. 
Sign up for the account at the following link: http://aws.amazon.com/free/
 
Design Patterns in Java Tutorial 

Wednesday, 3 December 2014

first android app example MIT APP DEVELOPER

 first android app example MIT APP INVENTOR.
mit app inventor tutorial .

Android app ANIMAL/BIRDS and their sounds.

 MIT APP INVENTOR



1. MIT APP INVENTOR
2.MIT APP INVENTOR








-----------------------------------------------------------------------------------



Friday, 3 October 2014

LOGIN SCRIPT IN PHP MYSQL FULL PROJECT DOWNLOAD

AAVIK KUMAR PRODUCTION



main.php
---------------------------
<?php
/*
 * Main.php
 *
 * This is an example of the main page of a website. Here users will be able to login.
 * However, like on most sites the login form doesn't just have to be on the main page,
 * but re-appear on subsequent pages, depending on whether the user has logged in or not.
 *
 * Originally written by: Jpmaster77 a.k.a. The Grandmaster of C++ (GMC)
 * Last Updated by the Angry Frog: October 19, 2011
*/

include("include/session.php");
global $database;
$config = $database->getConfigs();
?>

<html>
<head>
<title><?php echo $config['SITE_NAME']; ?> - Main</title>

<style type="text/css">

html body {
margin: 100;
padding: 0;
background-color: #C8DFF6;
}
body {
    font: 12px/1.5 Lucida Grande, Arial, Helvetica, 'Liberation Sans', FreeSans, sans-serif;
     background-image:url('ppl.jpg');
     background-position: right center;;
     background-repeat: no-repeat;
    
}


</style>
</head>
<body>

<table>
<tr><td>


<?php
/**
 * User has already logged in, so display relavent links, including
 * a link to the admin center if the user is an administrator.
 */
if($session->logged_in){
   echo "<h1>Logged In</h1>";
   echo "Welcome <b>$session->username</b>, you are logged in. <br><br>"
       ."[<a href=\"userinfo.php?user=$session->username\">My Account</a>] &nbsp;&nbsp;"
       ."[<a href=\"useredit.php\">Edit Account</a>] &nbsp;&nbsp;";
   if($session->isAdmin()){
      echo "[<a href=\"admin/index.php\">Admin Center</a>] &nbsp;&nbsp;";
   }
   echo "[<a href=\"process.php\">Logout</a>]";
}
else{
?>

<h1>Connecting World!!!</h1>
<br/>
<?php
/**
 * User not logged in, display the login form.
 * If user has already tried to login, but errors were
 * found, display the total number of errors.
 * If errors occurred, they will be displayed.
 */
if($form->num_errors > 0){
   echo $form->num_errors." error(s) found";
}
?>
<fieldset>
  <legend>LOGIN:</legend>
<form action="process.php" method="POST">

<table align="left" border="0" cellspacing="0" cellpadding="3">
<tr><td>Username:</td><td><input type="text" name="user" maxlength="30" value="<?php echo $form->value("user"); ?>"></td><td><?php echo $form->error("user"); ?></td></tr>
<tr><td>Password:</td><td><input type="password" name="pass" maxlength="30" value="<?php echo $form->value("pass"); ?>"></td><td><?php echo $form->error("pass"); ?></td></tr>
<tr><td colspan="2" align="left"><input type="checkbox" name="remember" <?php if($form->value("remember") != ""){ echo "checked"; } ?>>
Remember me &nbsp;&nbsp;&nbsp;&nbsp;
<input type="hidden" name="sublogin" value="1">
<input type="submit" value="Login"></td></tr>
<tr><td colspan="2" align="left"><br><font size="2">[<a href="forgotpass.php">Forgot Password?</a>]</font></td><td align="right"></td></tr>
<tr><td colspan="2" align="left"><br>Not registered? <a href="register.php">Sign-Up!</a></td></tr>
</table>
</form>
</fieldset>

</td></tr>
</table>
<?php
}
echo "<br><br>";
include("include/view_active.php");
?>

</body>
</html>

constant.php
--------------------------
<?php
/**
 * Database Constants - these constants are required
 * in order for there to be a successful connection
 * to the MySQL database. Make sure the information is
 * correct.
 */

define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_NAME", "bestloginphp");

/**
 * Database Table Constants - these constants
 * hold the names of all the database tables used
 * in the script.
 */
define("TBL_USERS", "users");


DOWNLOAD FULL CODE BY AAVIK KUMAR

Wednesday, 24 September 2014

Word Counter and PDF Reader using jquery by aavik kumar (shailesh)

AAVIK KUMAR PRODUCTION


Word Counter and PDF Reader  here is the full code 

 



viewer.html
------------------------------------------------------------------------------------------
<!DOCTYPE html>
<html dir="ltr" mozdisallowselectionprint moznomarginboxes>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<!--#if GENERIC || CHROME-->
    <meta name="google" content="notranslate">
<!--#endif-->
    <title>AAVIK KUMAR PRODUCTION</title>

<!--#if FIREFOX || MOZCENTRAL-->
<!--#include viewer-snippet-firefox-extension.html-->
<!--#endif-->
<!--#if CHROME-->
<!--#include viewer-snippet-chrome-extension.html-->
<!--#endif-->

    <link rel="stylesheet" href="viewer.css"/>
<!--#if !PRODUCTION-->
    <link rel="resource" type="application/l10n" href="locale/locale.properties"/>
<!--#endif-->

<!--#if !(MOZCENTRAL || CHROME || MINIFIED)-->
    <script src="compatibility.js"></script>
<!--#endif-->

<!--#if !PRODUCTION-->
    <script src="../external/webL10n/l10n.js"></script>
<!--#endif-->

<!--#if !PRODUCTION-->
    <script src="../src/shared/util.js"></script>
    <script src="../src/display/api.js"></script>
    <script src="../src/display/metadata.js"></script>
    <script src="../src/display/canvas.js"></script>
    <script src="../src/display/webgl.js"></script>
    <script src="../src/display/pattern_helper.js"></script>
    <script src="../src/display/font_loader.js"></script>
    <script src="../src/display/annotation_helper.js"></script>
    <script>PDFJS.workerSrc = '../src/worker_loader.js';</script>
<!--#endif-->

<!--#if (GENERIC && !MINIFIED) -->
<!--#include viewer-snippet.html-->
<!--#endif-->

<!--#if !PRODUCTION-->
    <script src="ui_utils.js"></script>
    <script src="default_preferences.js"></script>
    <script src="preferences.js"></script>
    <script src="download_manager.js"></script>
    <script src="view_history.js"></script>
    <script src="page_view.js"></script>
    <script src="thumbnail_view.js"></script>
    <script src="text_layer_builder.js"></script>
    <script src="document_outline_view.js"></script>
    <script src="document_attachments_view.js"></script>
    <script src="pdf_find_bar.js"></script>
    <script src="pdf_find_controller.js"></script>
    <script src="pdf_history.js"></script>
    <script src="secondary_toolbar.js"></script>
    <script src="presentation_mode.js"></script>
    <script src="grab_to_pan.js"></script>
    <script src="hand_tool.js"></script>
    <script src="overlay_manager.js"></script>
    <script src="password_prompt.js"></script>
    <script src="document_properties.js"></script>
<!--#endif-->

<!--#if !MINIFIED -->
    <script src="debugger.js"></script>
    <script src="viewer.js"></script>
<!--#else-->
<!--#include viewer-snippet-minified.html-->
<!--#endif-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<style>

#wordcounter {
height: 100%;
width: 100%;
background-color: yellow;
    top: 0px;

}
#border {
    border: 1px solid red;
    height: 200px;
    width: 100%;
}
textarea {
    height: 100%;
    width: 100%;
    border: 0px;
}
</style>

<script type='text/javascript'>
counter = function() {
    var value = $('#text').val();

    if (value.length == 0) {
        $('#wordCount').html(0);
        $('#totalChars').html(0);
        $('#charCount').html(0);
        $('#charCountNoSpace').html(0);
        return;
    }

    var regex = /\s+/gi;
    var wordCount = value.trim().replace(regex, ' ').split(' ').length;
    var totalChars = value.length;
    var charCount = value.trim().length;
    var charCountNoSpace = value.replace(regex, '').length;

    $('#wordCount').html(wordCount);
    $('#totalChars').html(totalChars);
    $('#charCount').html(charCount);
    $('#charCountNoSpace').html(charCountNoSpace);
};

$(document).ready(function() {
    $('#count').click(counter);
    $('#text').change(counter);
    $('#text').keydown(counter);
    $('#text').keypress(counter);
    $('#text').keyup(counter);
    $('#text').blur(counter);
    $('#text').focus(counter);
});
</script>



  </head>

  <body tabindex="1">
  <!-- Word counter -->
  <div id="wordcounter">
<div id="border">
            <textarea id='text'></textarea>
        </div>
        <br/><br/>
        <center>

        <button id="count">Count</button>
        <br/>
        <br/>
        <div id="result">
            Words: <span id="wordCount">0</span><br/>
            Total Characters(including trails): <span id="totalChars">0</span><br/>
            Characters (excluding trails): <span id="charCount">0</span><br/>
            Characters (excluding all spaces): <span id="charCountNoSpace">0</span>
        </div>
        

        <br/>
        <a href="http://in.linkedin.com/in/shaileshyadavaavikkumar"><b>AAVIK KUMAR PRODUCTION</b></a><br/>
        </center>

</div>
 
 
    <div id="outerContainer" class="loadingInProgress">

      <div id="sidebarContainer">
        <div id="toolbarSidebar">
          <div class="splitToolbarButton toggled">
            <button id="viewThumbnail" class="toolbarButton group toggled" title="Show Thumbnails" tabindex="2" data-l10n-id="thumbs">
               <span data-l10n-id="thumbs_label">Thumbnails</span>
            </button>
            <button id="viewOutline" class="toolbarButton group" title="Show Document Outline" tabindex="3" data-l10n-id="outline">
               <span data-l10n-id="outline_label">Document Outline</span>
            </button>
            <button id="viewAttachments" class="toolbarButton group" title="Show Attachments" tabindex="4" data-l10n-id="attachments">
               <span data-l10n-id="attachments_label">Attachments</span>
            </button>
          </div>
        </div>
        <div id="sidebarContent">
          <div id="thumbnailView">
          </div>
          <div id="outlineView" class="hidden">
          </div>
          <div id="attachmentsView" class="hidden">
          </div>
        </div>
      </div>  <!-- sidebarContainer -->

      <div id="mainContainer">
        <div class="findbar hidden doorHanger hiddenSmallView" id="findbar">
          <label for="findInput" class="toolbarLabel" data-l10n-id="find_label">Find:</label>
          <input id="findInput" class="toolbarField" tabindex="91">
          <div class="splitToolbarButton">
            <button class="toolbarButton findPrevious" title="" id="findPrevious" tabindex="92" data-l10n-id="find_previous">
              <span data-l10n-id="find_previous_label">Previous</span>
            </button>
            <div class="splitToolbarButtonSeparator"></div>
            <button class="toolbarButton findNext" title="" id="findNext" tabindex="93" data-l10n-id="find_next">
              <span data-l10n-id="find_next_label">Next</span>
            </button>
          </div>
          <input type="checkbox" id="findHighlightAll" class="toolbarField">
          <label for="findHighlightAll" class="toolbarLabel" tabindex="94" data-l10n-id="find_highlight">Highlight all</label>
          <input type="checkbox" id="findMatchCase" class="toolbarField">
          <label for="findMatchCase" class="toolbarLabel" tabindex="95" data-l10n-id="find_match_case_label">Match case</label>
          <span id="findMsg" class="toolbarLabel"></span>
        </div>  <!-- findbar -->

        <div id="secondaryToolbar" class="secondaryToolbar hidden doorHangerRight">
          <div id="secondaryToolbarButtonContainer">
            <button id="secondaryPresentationMode" class="secondaryToolbarButton presentationMode visibleLargeView" title="Switch to Presentation Mode" tabindex="51" data-l10n-id="presentation_mode">
              <span data-l10n-id="presentation_mode_label">Presentation Mode</span>
            </button>

            <button id="secondaryOpenFile" class="secondaryToolbarButton openFile visibleLargeView" title="Open File" tabindex="52" data-l10n-id="open_file">
              <span data-l10n-id="open_file_label">Open</span>
            </button>

            <button id="secondaryPrint" class="secondaryToolbarButton print visibleMediumView" title="Print" tabindex="53" data-l10n-id="print">
              <span data-l10n-id="print_label">Print</span>
            </button>

            <button id="secondaryDownload" class="secondaryToolbarButton download visibleMediumView" title="Download" tabindex="54" data-l10n-id="download">
              <span data-l10n-id="download_label">Download</span>
            </button>

            <a href="#" id="secondaryViewBookmark" class="secondaryToolbarButton bookmark visibleSmallView" title="Current view (copy or open in new window)" tabindex="55" data-l10n-id="bookmark">
              <span data-l10n-id="bookmark_label">Current View</span>
            </a>

            <div class="horizontalToolbarSeparator visibleLargeView"></div>

            <button id="firstPage" class="secondaryToolbarButton firstPage" title="Go to First Page" tabindex="56" data-l10n-id="first_page">
              <span data-l10n-id="first_page_label">Go to First Page</span>
            </button>
            <button id="lastPage" class="secondaryToolbarButton lastPage" title="Go to Last Page" tabindex="57" data-l10n-id="last_page">
              <span data-l10n-id="last_page_label">Go to Last Page</span>
            </button>

            <div class="horizontalToolbarSeparator"></div>

            <button id="pageRotateCw" class="secondaryToolbarButton rotateCw" title="Rotate Clockwise" tabindex="58" data-l10n-id="page_rotate_cw">
              <span data-l10n-id="page_rotate_cw_label">Rotate Clockwise</span>
            </button>
            <button id="pageRotateCcw" class="secondaryToolbarButton rotateCcw" title="Rotate Counterclockwise" tabindex="59" data-l10n-id="page_rotate_ccw">
              <span data-l10n-id="page_rotate_ccw_label">Rotate Counterclockwise</span>
            </button>

            <div class="horizontalToolbarSeparator"></div>

            <button id="toggleHandTool" class="secondaryToolbarButton handTool" title="Enable hand tool" tabindex="60" data-l10n-id="hand_tool_enable">
              <span data-l10n-id="hand_tool_enable_label">Enable hand tool</span>
            </button>
           
            <div class="horizontalToolbarSeparator"></div>

            <button id="documentProperties" class="secondaryToolbarButton documentProperties" title="Document Properties…" tabindex="61" data-l10n-id="document_properties">
              <span data-l10n-id="document_properties_label">Document Properties…</span>
            </button>
          </div>
        </div>  <!-- secondaryToolbar -->

        <div class="toolbar">
          <div id="toolbarContainer">
            <div id="toolbarViewer">
              <div id="toolbarViewerLeft">
                <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar" tabindex="11" data-l10n-id="toggle_sidebar">
                  <span data-l10n-id="toggle_sidebar_label">Toggle Sidebar</span>
                </button>
                <div class="toolbarButtonSpacer"></div>
                <button id="viewFind" class="toolbarButton group hiddenSmallView" title="Find in Document" tabindex="12" data-l10n-id="findbar">
                   <span data-l10n-id="findbar_label">Find</span>
                </button>
                <div class="splitToolbarButton">
                  <button class="toolbarButton pageUp" title="Previous Page" id="previous" tabindex="13" data-l10n-id="previous">
                    <span data-l10n-id="previous_label">Previous</span>
                  </button>
                  <div class="splitToolbarButtonSeparator"></div>
                  <button class="toolbarButton pageDown" title="Next Page" id="next" tabindex="14" data-l10n-id="next">
                    <span data-l10n-id="next_label">Next</span>
                  </button>
                </div>
                <label id="pageNumberLabel" class="toolbarLabel" for="pageNumber" data-l10n-id="page_label">Page: </label>
                <input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" tabindex="15">
                <span id="numPages" class="toolbarLabel"></span>
              </div>
              <div id="toolbarViewerRight">
                <button id="presentationMode" class="toolbarButton presentationMode hiddenLargeView" title="Switch to Presentation Mode" tabindex="31" data-l10n-id="presentation_mode">
                  <span data-l10n-id="presentation_mode_label">Presentation Mode</span>
                </button>

                <button id="openFile" class="toolbarButton openFile hiddenLargeView" title="Open File" tabindex="32" data-l10n-id="open_file">
                  <span data-l10n-id="open_file_label">Open</span>
                </button>

                <button id="print" class="toolbarButton print hiddenMediumView" title="Print" tabindex="33" data-l10n-id="print">
                  <span data-l10n-id="print_label">Print</span>
                </button>

                <button id="download" class="toolbarButton download hiddenMediumView" title="Download" tabindex="34" data-l10n-id="download">
                  <span data-l10n-id="download_label">Download</span>
                </button>
                <!-- <div class="toolbarButtonSpacer"></div> -->
                <a href="#" id="viewBookmark" class="toolbarButton bookmark hiddenSmallView" title="Current view (copy or open in new window)" tabindex="35" data-l10n-id="bookmark">
                  <span data-l10n-id="bookmark_label">Current View</span>
                </a>

                <div class="verticalToolbarSeparator hiddenSmallView"></div>
               
                <button id="secondaryToolbarToggle" class="toolbarButton" title="Tools" tabindex="36" data-l10n-id="tools">
                  <span data-l10n-id="tools_label">Tools</span>
                </button>
              </div>
              <div class="outerCenter">
                <div class="innerCenter" id="toolbarViewerMiddle">
                  <div class="splitToolbarButton">
                    <button id="zoomOut" class="toolbarButton zoomOut" title="Zoom Out" tabindex="21" data-l10n-id="zoom_out">
                      <span data-l10n-id="zoom_out_label">Zoom Out</span>
                    </button>
                    <div class="splitToolbarButtonSeparator"></div>
                    <button id="zoomIn" class="toolbarButton zoomIn" title="Zoom In" tabindex="22" data-l10n-id="zoom_in">
                      <span data-l10n-id="zoom_in_label">Zoom In</span>
                     </button>
                  </div>
                  <span id="scaleSelectContainer" class="dropdownToolbarButton">
                     <select id="scaleSelect" title="Zoom" tabindex="23" data-l10n-id="zoom">
                      <option id="pageAutoOption" title="" value="auto" selected="selected" data-l10n-id="page_scale_auto">Automatic Zoom</option>
                      <option id="pageActualOption" title="" value="page-actual" data-l10n-id="page_scale_actual">Actual Size</option>
                      <option id="pageFitOption" title="" value="page-fit" data-l10n-id="page_scale_fit">Fit Page</option>
                      <option id="pageWidthOption" title="" value="page-width" data-l10n-id="page_scale_width">Full Width</option>
                      <option id="customScaleOption" title="" value="custom"></option>
                      <option title="" value="0.5">50%</option>
                      <option title="" value="0.75">75%</option>
                      <option title="" value="1">100%</option>
                      <option title="" value="1.25">125%</option>
                      <option title="" value="1.5">150%</option>
                      <option title="" value="2">200%</option>
                      <option title="" value="3">300%</option>
                      <option title="" value="4">400%</option>
                    </select>
                  </span>
                </div>
              </div>
            </div>
            <div id="loadingBar">
              <div class="progress">
                <div class="glimmer">
                </div>
              </div>
            </div>
          </div>
        </div>    
       
        <menu type="context" id="viewerContextMenu">
          <menuitem id="contextFirstPage" label="First Page"
                    data-l10n-id="first_page"></menuitem>
          <menuitem id="contextLastPage" label="Last Page"
                    data-l10n-id="last_page"></menuitem>
          <menuitem id="contextPageRotateCw" label="Rotate Clockwise"
                    data-l10n-id="page_rotate_cw"></menuitem>
          <menuitem id="contextPageRotateCcw" label="Rotate Counter-Clockwise"
                    data-l10n-id="page_rotate_ccw"></menuitem>
        </menu>

        <div id="viewerContainer" tabindex="0">
          <div id="viewer"></div>
        </div>

        <div id="errorWrapper" hidden='true'>
          <div id="errorMessageLeft">
            <span id="errorMessage"></span>
            <button id="errorShowMore" data-l10n-id="error_more_info">
              More Information
            </button>
            <button id="errorShowLess" data-l10n-id="error_less_info" hidden='true'>
              Less Information
            </button>
          </div>
          <div id="errorMessageRight">
            <button id="errorClose" data-l10n-id="error_close">
              Close
            </button>
          </div>
          <div class="clearBoth"></div>
          <textarea id="errorMoreInfo" hidden='true' readonly="readonly"></textarea>
        </div>
      </div> <!-- mainContainer -->

      <div id="overlayContainer" class="hidden">
        <div id="passwordOverlay" class="container hidden">
          <div class="dialog">
            <div class="row">
              <p id="passwordText" data-l10n-id="password_label">Enter the password to open this PDF file:</p>
            </div>
            <div class="row">
              <input type="password" id="password" class="toolbarField" />
            </div>
            <div class="buttonRow">
              <button id="passwordCancel" class="overlayButton"><span data-l10n-id="password_cancel">Cancel</span></button>
              <button id="passwordSubmit" class="overlayButton"><span data-l10n-id="password_ok">OK</span></button>
            </div>
          </div>
        </div>
        <div id="documentPropertiesOverlay" class="container hidden">
          <div class="dialog">
            <div class="row">
              <span data-l10n-id="document_properties_file_name">File name:</span> <p id="fileNameField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_file_size">File size:</span> <p id="fileSizeField">-</p>
            </div>
            <div class="separator"></div>
            <div class="row">
              <span data-l10n-id="document_properties_title">Title:</span> <p id="titleField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_author">Author:</span> <p id="authorField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_subject">Subject:</span> <p id="subjectField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_keywords">Keywords:</span> <p id="keywordsField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_creation_date">Creation Date:</span> <p id="creationDateField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_modification_date">Modification Date:</span> <p id="modificationDateField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_creator">Creator:</span> <p id="creatorField">-</p>
            </div>
            <div class="separator"></div>
            <div class="row">
              <span data-l10n-id="document_properties_producer">PDF Producer:</span> <p id="producerField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_version">PDF Version:</span> <p id="versionField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_page_count">Page Count:</span> <p id="pageCountField">-</p>
            </div>
            <div class="buttonRow">
              <button id="documentPropertiesClose" class="overlayButton"><span data-l10n-id="document_properties_close">Close</span></button>
            </div>
          </div>
        </div>
      </div>  <!-- overlayContainer -->

    </div> <!-- outerContainer -->
    <div id="printContainer"></div>
<!--#if !(FIREFOX || MOZCENTRAL)-->
<!--#include viewer-snippet-mozPrintCallback-polyfill.html-->
<!--#endif--->
  </body>
</html>
<!DOCTYPE html>
<html dir="ltr" mozdisallowselectionprint moznomarginboxes>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<!--#if GENERIC || CHROME-->
    <meta name="google" content="notranslate">
<!--#endif-->
    <title>AAVIK KUMAR PRODUCTION</title>

<!--#if FIREFOX || MOZCENTRAL-->
<!--#include viewer-snippet-firefox-extension.html-->
<!--#endif-->
<!--#if CHROME-->
<!--#include viewer-snippet-chrome-extension.html-->
<!--#endif-->

    <link rel="stylesheet" href="viewer.css"/>
<!--#if !PRODUCTION-->
    <link rel="resource" type="application/l10n" href="locale/locale.properties"/>
<!--#endif-->

<!--#if !(MOZCENTRAL || CHROME || MINIFIED)-->
    <script src="compatibility.js"></script>
<!--#endif-->

<!--#if !PRODUCTION-->
    <script src="../external/webL10n/l10n.js"></script>
<!--#endif-->

<!--#if !PRODUCTION-->
    <script src="../src/shared/util.js"></script>
    <script src="../src/display/api.js"></script>
    <script src="../src/display/metadata.js"></script>
    <script src="../src/display/canvas.js"></script>
    <script src="../src/display/webgl.js"></script>
    <script src="../src/display/pattern_helper.js"></script>
    <script src="../src/display/font_loader.js"></script>
    <script src="../src/display/annotation_helper.js"></script>
    <script>PDFJS.workerSrc = '../src/worker_loader.js';</script>
<!--#endif-->

<!--#if (GENERIC && !MINIFIED) -->
<!--#include viewer-snippet.html-->
<!--#endif-->

<!--#if !PRODUCTION-->
    <script src="ui_utils.js"></script>
    <script src="default_preferences.js"></script>
    <script src="preferences.js"></script>
    <script src="download_manager.js"></script>
    <script src="view_history.js"></script>
    <script src="page_view.js"></script>
    <script src="thumbnail_view.js"></script>
    <script src="text_layer_builder.js"></script>
    <script src="document_outline_view.js"></script>
    <script src="document_attachments_view.js"></script>
    <script src="pdf_find_bar.js"></script>
    <script src="pdf_find_controller.js"></script>
    <script src="pdf_history.js"></script>
    <script src="secondary_toolbar.js"></script>
    <script src="presentation_mode.js"></script>
    <script src="grab_to_pan.js"></script>
    <script src="hand_tool.js"></script>
    <script src="overlay_manager.js"></script>
    <script src="password_prompt.js"></script>
    <script src="document_properties.js"></script>
<!--#endif-->

<!--#if !MINIFIED -->
    <script src="debugger.js"></script>
    <script src="viewer.js"></script>
<!--#else-->
<!--#include viewer-snippet-minified.html-->
<!--#endif-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<style>

#wordcounter {
height: 100%;
width: 100%;
background-color: yellow;
    top: 0px;

}
#border {
    border: 1px solid red;
    height: 200px;
    width: 100%;
}
textarea {
    height: 100%;
    width: 100%;
    border: 0px;
}
</style>

<script type='text/javascript'>
counter = function() {
    var value = $('#text').val();

    if (value.length == 0) {
        $('#wordCount').html(0);
        $('#totalChars').html(0);
        $('#charCount').html(0);
        $('#charCountNoSpace').html(0);
        return;
    }

    var regex = /\s+/gi;
    var wordCount = value.trim().replace(regex, ' ').split(' ').length;
    var totalChars = value.length;
    var charCount = value.trim().length;
    var charCountNoSpace = value.replace(regex, '').length;

    $('#wordCount').html(wordCount);
    $('#totalChars').html(totalChars);
    $('#charCount').html(charCount);
    $('#charCountNoSpace').html(charCountNoSpace);
};

$(document).ready(function() {
    $('#count').click(counter);
    $('#text').change(counter);
    $('#text').keydown(counter);
    $('#text').keypress(counter);
    $('#text').keyup(counter);
    $('#text').blur(counter);
    $('#text').focus(counter);
});
</script>



  </head>

  <body tabindex="1">
  <!-- Word counter -->
  <div id="wordcounter">
<div id="border">
            <textarea id='text'></textarea>
        </div>
        <br/><br/>
        <center>

        <button id="count">Count</button>
        <br/>
        <br/>
        <div id="result">
            Words: <span id="wordCount">0</span><br/>
            Total Characters(including trails): <span id="totalChars">0</span><br/>
            Characters (excluding trails): <span id="charCount">0</span><br/>
            Characters (excluding all spaces): <span id="charCountNoSpace">0</span>
        </div>
        

        <br/>
        <a href="http://in.linkedin.com/in/shaileshyadavaavikkumar"><b>AAVIK KUMAR PRODUCTION</b></a><br/>
        </center>

</div>
 
 
    <div id="outerContainer" class="loadingInProgress">

      <div id="sidebarContainer">
        <div id="toolbarSidebar">
          <div class="splitToolbarButton toggled">
            <button id="viewThumbnail" class="toolbarButton group toggled" title="Show Thumbnails" tabindex="2" data-l10n-id="thumbs">
               <span data-l10n-id="thumbs_label">Thumbnails</span>
            </button>
            <button id="viewOutline" class="toolbarButton group" title="Show Document Outline" tabindex="3" data-l10n-id="outline">
               <span data-l10n-id="outline_label">Document Outline</span>
            </button>
            <button id="viewAttachments" class="toolbarButton group" title="Show Attachments" tabindex="4" data-l10n-id="attachments">
               <span data-l10n-id="attachments_label">Attachments</span>
            </button>
          </div>
        </div>
        <div id="sidebarContent">
          <div id="thumbnailView">
          </div>
          <div id="outlineView" class="hidden">
          </div>
          <div id="attachmentsView" class="hidden">
          </div>
        </div>
      </div>  <!-- sidebarContainer -->

      <div id="mainContainer">
        <div class="findbar hidden doorHanger hiddenSmallView" id="findbar">
          <label for="findInput" class="toolbarLabel" data-l10n-id="find_label">Find:</label>
          <input id="findInput" class="toolbarField" tabindex="91">
          <div class="splitToolbarButton">
            <button class="toolbarButton findPrevious" title="" id="findPrevious" tabindex="92" data-l10n-id="find_previous">
              <span data-l10n-id="find_previous_label">Previous</span>
            </button>
            <div class="splitToolbarButtonSeparator"></div>
            <button class="toolbarButton findNext" title="" id="findNext" tabindex="93" data-l10n-id="find_next">
              <span data-l10n-id="find_next_label">Next</span>
            </button>
          </div>
          <input type="checkbox" id="findHighlightAll" class="toolbarField">
          <label for="findHighlightAll" class="toolbarLabel" tabindex="94" data-l10n-id="find_highlight">Highlight all</label>
          <input type="checkbox" id="findMatchCase" class="toolbarField">
          <label for="findMatchCase" class="toolbarLabel" tabindex="95" data-l10n-id="find_match_case_label">Match case</label>
          <span id="findMsg" class="toolbarLabel"></span>
        </div>  <!-- findbar -->

        <div id="secondaryToolbar" class="secondaryToolbar hidden doorHangerRight">
          <div id="secondaryToolbarButtonContainer">
            <button id="secondaryPresentationMode" class="secondaryToolbarButton presentationMode visibleLargeView" title="Switch to Presentation Mode" tabindex="51" data-l10n-id="presentation_mode">
              <span data-l10n-id="presentation_mode_label">Presentation Mode</span>
            </button>

            <button id="secondaryOpenFile" class="secondaryToolbarButton openFile visibleLargeView" title="Open File" tabindex="52" data-l10n-id="open_file">
              <span data-l10n-id="open_file_label">Open</span>
            </button>

            <button id="secondaryPrint" class="secondaryToolbarButton print visibleMediumView" title="Print" tabindex="53" data-l10n-id="print">
              <span data-l10n-id="print_label">Print</span>
            </button>

            <button id="secondaryDownload" class="secondaryToolbarButton download visibleMediumView" title="Download" tabindex="54" data-l10n-id="download">
              <span data-l10n-id="download_label">Download</span>
            </button>

            <a href="#" id="secondaryViewBookmark" class="secondaryToolbarButton bookmark visibleSmallView" title="Current view (copy or open in new window)" tabindex="55" data-l10n-id="bookmark">
              <span data-l10n-id="bookmark_label">Current View</span>
            </a>

            <div class="horizontalToolbarSeparator visibleLargeView"></div>

            <button id="firstPage" class="secondaryToolbarButton firstPage" title="Go to First Page" tabindex="56" data-l10n-id="first_page">
              <span data-l10n-id="first_page_label">Go to First Page</span>
            </button>
            <button id="lastPage" class="secondaryToolbarButton lastPage" title="Go to Last Page" tabindex="57" data-l10n-id="last_page">
              <span data-l10n-id="last_page_label">Go to Last Page</span>
            </button>

            <div class="horizontalToolbarSeparator"></div>

            <button id="pageRotateCw" class="secondaryToolbarButton rotateCw" title="Rotate Clockwise" tabindex="58" data-l10n-id="page_rotate_cw">
              <span data-l10n-id="page_rotate_cw_label">Rotate Clockwise</span>
            </button>
            <button id="pageRotateCcw" class="secondaryToolbarButton rotateCcw" title="Rotate Counterclockwise" tabindex="59" data-l10n-id="page_rotate_ccw">
              <span data-l10n-id="page_rotate_ccw_label">Rotate Counterclockwise</span>
            </button>

            <div class="horizontalToolbarSeparator"></div>

            <button id="toggleHandTool" class="secondaryToolbarButton handTool" title="Enable hand tool" tabindex="60" data-l10n-id="hand_tool_enable">
              <span data-l10n-id="hand_tool_enable_label">Enable hand tool</span>
            </button>
           
            <div class="horizontalToolbarSeparator"></div>

            <button id="documentProperties" class="secondaryToolbarButton documentProperties" title="Document Properties…" tabindex="61" data-l10n-id="document_properties">
              <span data-l10n-id="document_properties_label">Document Properties…</span>
            </button>
          </div>
        </div>  <!-- secondaryToolbar -->

        <div class="toolbar">
          <div id="toolbarContainer">
            <div id="toolbarViewer">
              <div id="toolbarViewerLeft">
                <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar" tabindex="11" data-l10n-id="toggle_sidebar">
                  <span data-l10n-id="toggle_sidebar_label">Toggle Sidebar</span>
                </button>
                <div class="toolbarButtonSpacer"></div>
                <button id="viewFind" class="toolbarButton group hiddenSmallView" title="Find in Document" tabindex="12" data-l10n-id="findbar">
                   <span data-l10n-id="findbar_label">Find</span>
                </button>
                <div class="splitToolbarButton">
                  <button class="toolbarButton pageUp" title="Previous Page" id="previous" tabindex="13" data-l10n-id="previous">
                    <span data-l10n-id="previous_label">Previous</span>
                  </button>
                  <div class="splitToolbarButtonSeparator"></div>
                  <button class="toolbarButton pageDown" title="Next Page" id="next" tabindex="14" data-l10n-id="next">
                    <span data-l10n-id="next_label">Next</span>
                  </button>
                </div>
                <label id="pageNumberLabel" class="toolbarLabel" for="pageNumber" data-l10n-id="page_label">Page: </label>
                <input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" tabindex="15">
                <span id="numPages" class="toolbarLabel"></span>
              </div>
              <div id="toolbarViewerRight">
                <button id="presentationMode" class="toolbarButton presentationMode hiddenLargeView" title="Switch to Presentation Mode" tabindex="31" data-l10n-id="presentation_mode">
                  <span data-l10n-id="presentation_mode_label">Presentation Mode</span>
                </button>

                <button id="openFile" class="toolbarButton openFile hiddenLargeView" title="Open File" tabindex="32" data-l10n-id="open_file">
                  <span data-l10n-id="open_file_label">Open</span>
                </button>

                <button id="print" class="toolbarButton print hiddenMediumView" title="Print" tabindex="33" data-l10n-id="print">
                  <span data-l10n-id="print_label">Print</span>
                </button>

                <button id="download" class="toolbarButton download hiddenMediumView" title="Download" tabindex="34" data-l10n-id="download">
                  <span data-l10n-id="download_label">Download</span>
                </button>
                <!-- <div class="toolbarButtonSpacer"></div> -->
                <a href="#" id="viewBookmark" class="toolbarButton bookmark hiddenSmallView" title="Current view (copy or open in new window)" tabindex="35" data-l10n-id="bookmark">
                  <span data-l10n-id="bookmark_label">Current View</span>
                </a>

                <div class="verticalToolbarSeparator hiddenSmallView"></div>
               
                <button id="secondaryToolbarToggle" class="toolbarButton" title="Tools" tabindex="36" data-l10n-id="tools">
                  <span data-l10n-id="tools_label">Tools</span>
                </button>
              </div>
              <div class="outerCenter">
                <div class="innerCenter" id="toolbarViewerMiddle">
                  <div class="splitToolbarButton">
                    <button id="zoomOut" class="toolbarButton zoomOut" title="Zoom Out" tabindex="21" data-l10n-id="zoom_out">
                      <span data-l10n-id="zoom_out_label">Zoom Out</span>
                    </button>
                    <div class="splitToolbarButtonSeparator"></div>
                    <button id="zoomIn" class="toolbarButton zoomIn" title="Zoom In" tabindex="22" data-l10n-id="zoom_in">
                      <span data-l10n-id="zoom_in_label">Zoom In</span>
                     </button>
                  </div>
                  <span id="scaleSelectContainer" class="dropdownToolbarButton">
                     <select id="scaleSelect" title="Zoom" tabindex="23" data-l10n-id="zoom">
                      <option id="pageAutoOption" title="" value="auto" selected="selected" data-l10n-id="page_scale_auto">Automatic Zoom</option>
                      <option id="pageActualOption" title="" value="page-actual" data-l10n-id="page_scale_actual">Actual Size</option>
                      <option id="pageFitOption" title="" value="page-fit" data-l10n-id="page_scale_fit">Fit Page</option>
                      <option id="pageWidthOption" title="" value="page-width" data-l10n-id="page_scale_width">Full Width</option>
                      <option id="customScaleOption" title="" value="custom"></option>
                      <option title="" value="0.5">50%</option>
                      <option title="" value="0.75">75%</option>
                      <option title="" value="1">100%</option>
                      <option title="" value="1.25">125%</option>
                      <option title="" value="1.5">150%</option>
                      <option title="" value="2">200%</option>
                      <option title="" value="3">300%</option>
                      <option title="" value="4">400%</option>
                    </select>
                  </span>
                </div>
              </div>
            </div>
            <div id="loadingBar">
              <div class="progress">
                <div class="glimmer">
                </div>
              </div>
            </div>
          </div>
        </div>

       
       
       
        <menu type="context" id="viewerContextMenu">
          <menuitem id="contextFirstPage" label="First Page"
                    data-l10n-id="first_page"></menuitem>
          <menuitem id="contextLastPage" label="Last Page"
                    data-l10n-id="last_page"></menuitem>
          <menuitem id="contextPageRotateCw" label="Rotate Clockwise"
                    data-l10n-id="page_rotate_cw"></menuitem>
          <menuitem id="contextPageRotateCcw" label="Rotate Counter-Clockwise"
                    data-l10n-id="page_rotate_ccw"></menuitem>
        </menu>

        <div id="viewerContainer" tabindex="0">
          <div id="viewer"></div>
        </div>

        <div id="errorWrapper" hidden='true'>
          <div id="errorMessageLeft">
            <span id="errorMessage"></span>
            <button id="errorShowMore" data-l10n-id="error_more_info">
              More Information
            </button>
            <button id="errorShowLess" data-l10n-id="error_less_info" hidden='true'>
              Less Information
            </button>
          </div>
          <div id="errorMessageRight">
            <button id="errorClose" data-l10n-id="error_close">
              Close
            </button>
          </div>
          <div class="clearBoth"></div>
          <textarea id="errorMoreInfo" hidden='true' readonly="readonly"></textarea>
        </div>
      </div> <!-- mainContainer -->

      <div id="overlayContainer" class="hidden">
        <div id="passwordOverlay" class="container hidden">
          <div class="dialog">
            <div class="row">
              <p id="passwordText" data-l10n-id="password_label">Enter the password to open this PDF file:</p>
            </div>
            <div class="row">
              <input type="password" id="password" class="toolbarField" />
            </div>
            <div class="buttonRow">
              <button id="passwordCancel" class="overlayButton"><span data-l10n-id="password_cancel">Cancel</span></button>
              <button id="passwordSubmit" class="overlayButton"><span data-l10n-id="password_ok">OK</span></button>
            </div>
          </div>
        </div>
        <div id="documentPropertiesOverlay" class="container hidden">
          <div class="dialog">
            <div class="row">
              <span data-l10n-id="document_properties_file_name">File name:</span> <p id="fileNameField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_file_size">File size:</span> <p id="fileSizeField">-</p>
            </div>
            <div class="separator"></div>
            <div class="row">
              <span data-l10n-id="document_properties_title">Title:</span> <p id="titleField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_author">Author:</span> <p id="authorField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_subject">Subject:</span> <p id="subjectField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_keywords">Keywords:</span> <p id="keywordsField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_creation_date">Creation Date:</span> <p id="creationDateField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_modification_date">Modification Date:</span> <p id="modificationDateField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_creator">Creator:</span> <p id="creatorField">-</p>
            </div>
            <div class="separator"></div>
            <div class="row">
              <span data-l10n-id="document_properties_producer">PDF Producer:</span> <p id="producerField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_version">PDF Version:</span> <p id="versionField">-</p>
            </div>
            <div class="row">
              <span data-l10n-id="document_properties_page_count">Page Count:</span> <p id="pageCountField">-</p>
            </div>
            <div class="buttonRow">
              <button id="documentPropertiesClose" class="overlayButton"><span data-l10n-id="document_properties_close">Close</span></button>
            </div>
          </div>
        </div>
      </div>  <!-- overlayContainer -->

    </div> <!-- outerContainer -->
    <div id="printContainer"></div>
<!--#if !(FIREFOX || MOZCENTRAL)-->
<!--#include viewer-snippet-mozPrintCallback-polyfill.html-->
<!--#endif--->
  </body>
</html>