Ejemplo n.º 1
0
        static void Main()
        {
            string printerAddress = "PrintDemon";
            string base64         = "<PAYLOAD>";

            byte[] bytes = System.Convert.FromBase64String(base64);

            IntPtr  printer   = new IntPtr();
            int     pcWritten = 0;
            DOCINFO docInfo   = new DOCINFO
            {
                pDocName                         = "Demon RAW Document"
                                       pDataType = "RAW"
            };

            PrintDirect.OpenPrinter(printerAddress, ref printer, 0);
            PrintDirect.StartDocPrinter(printer, 1, ref docInfo);
            PrintDirect.StartPagePrinter(printer);

            try
            {
                PrintDirect.WritePrinter(printer, bytes, bytes.Length, ref pcWritten);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            PrintDirect.EndPagePrinter(printer);
            PrintDirect.EndDocPrinter(printer);
            PrintDirect.ClosePrinter(printer);
        }
    }
        public void Print(String printerAddress, String text, String documentName)
        {
            IntPtr printer = new IntPtr();

            // A pointer to a value that receives the number of bytes of data that were written to the printer.
            int pcWritten = 0;

            DOCINFO docInfo = new DOCINFO();

            docInfo.pDocName  = documentName;
            docInfo.pDataType = "RAW";

            PrintDirect.OpenPrinter(printerAddress, ref printer, 0);
            PrintDirect.StartDocPrinter(printer, 1, ref docInfo);
            PrintDirect.StartPagePrinter(printer);

            try
            {
                PrintDirect.WritePrinter(printer, text, text.Length, ref pcWritten);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            PrintDirect.EndPagePrinter(printer);
            PrintDirect.EndDocPrinter(printer);
            PrintDirect.ClosePrinter(printer);
        }
        static void Main()
        {
            string printerAddress = "PrintDemon";
            string base64         = "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AAAAAAgqAAAAAAAAAAAAAAAAAABoKQAAAAAAAAAAAAAAAAAA3CsAAAAAAAAAAAAAAAAAAMorAAAAAAAAAAAAAAAAAADCKwAAAAAAAAAAAAAAAAAAACsAAAAAAAAUKwAAAAAAACArAAAAAAAAOCsAAAAAAABCKwAAAAAAAEwrAAAAAAAAZCsAAAAAAAD2KgAAAAAAAMIqAAAAAAAAtCoAAAAAAACmKgAAAAAAAOYqAAAAAAAA1CoAAAAAAADuKgAAAAAAAAAAAAAAAAAAtwFTaGVsbEV4ZWN1dGVXAFNIRUxMMzIuZGxsAFAEUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAHgJHZXRDdXJyZW50UHJvY2Vzc0lkACICR2V0Q3VycmVudFRocmVhZElkAADwAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAA4DR2V0VGlja0NvdW50AADTBFJ0bENhcHR1cmVDb250ZXh0ANoEUnRsTG9va3VwRnVuY3Rpb25FbnRyeQAA4QRSdGxWaXJ0dWFsVW53aW5kAAC8BVVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAewVTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAHQJHZXRDdXJyZW50UHJvY2VzcwCaBVRlcm1pbmF0ZVByb2Nlc3MAAEtFUk5FTDMyLmRsbAAAVQBfWGNwdEZpbHRlcgCuAF9hbXNnX2V4aXQAAJ0AX193Z2V0bWFpbmFyZ3MAAI4AX19zZXRfYXBwX3R5cGUAADIEZXhpdAAADgFfZXhpdADBAF9jZXhpdAAAkABfX3NldHVzZXJtYXRoZXJyAAB9AV9pbml0dGVybQBXAF9fQ19zcGVjaWZpY19oYW5kbGVyAACCA193Y21kbG4AJwFfZm1vZGUAANIAX2NvbW1vZGUAAG1zdmNydC5kbGwAAC8AP3Rlcm1pbmF0ZUBAWUFYWFoAIQFFdmVudFJlZ2lzdGVyACIBRXZlbnRTZXRJbmZvcm1hdGlvbgApAUV2ZW50V3JpdGVUcmFuc2ZlcgAAQURWQVBJMzIuZGxsAAAtAFNsZWVwACAAR2V0U3RhcnR1cEluZm9XABQAR2V0TW9kdWxlSGFuZGxlVwAAYXBpLW1zLXdpbi1jb3JlLXN5bmNoLWwxLTItMC5kbGwAAGFwaS1tcy13aW4tY29yZS1wcm9jZXNzdGhyZWFkcy1sMS0xLTAuZGxsAGFwaS1tcy13aW4tY29yZS1saWJyYXJ5bG9hZGVyLWwxLTItMC5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/IwBAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKi3y2ZKwAAzV0g0mbU//8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAiBAAAKgmAACcEAAAHBIAALAmAAAwEgAAThIAAMgmAABUEgAAHxMAAMwmAAAwEwAAdRQAANgmAACAFAAAUxUAAOAmAABgFQAAqRUAAOgmAACwFQAAFBgAAPAmAAAgGAAAMhgAAOAmAABAGAAAeRgAAOAmAACAGAAAmBgAAOAmAACsGAAAABkAACwnAAAIGQAATRkAAEwnAADAGQAADRoAAFQnAACIGgAApRoAAOAmAACsGgAABxsAAHwnAAAgGwAAIhsAAHgnAAAwGwAAThsAACQnAABgGwAAgBsAACQnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAADAAAAMAAAgA4AAABgAACAEAAAAHgAAIAYAAAAkAAAgAAAAAAAAAAAAAAAAAAABAABAAAAqAAAgAIAAADAAACAAwAAANgAAIAEAAAA8AAAgAAAAAAAAAAAAAAAAAEAAADAAQCACAEAgAAAAAAAAAAAAAAAAAAAAQABAAAAIAEAgAAAAAAAAAAAAAAAAAAAAQABAAAAOAEAgAAAAAAAAAAAAAAAAAAAAQAJBAAAUAEAAAAAAAAAAAAAAAAAAAAAAQAJBAAAYAEAAAAAAAAAAAAAAAAAAAAAAQAJBAAAcAEAAAAAAAAAAAAAAAAAAAAAAQAJBAAAgAEAAAAAAAAAAAAAAAAAAAAAAQAJBAAAkAEAAAAAAAAAAAAA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ZQAAAEMAQQBMAEMAAAAAAIAALgABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAAKkAIABNAGkAYwByAG8AcwBvAGYAdAAgAEMAbwByAHAAbwByAGEAdABpAG8AbgAuACAAQQBsAGwAIAByAGkAZwBoAHQAcwAgAHIAZQBzAGUAcgB2AGUAZAAuAAAAOgAJAAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAEMAQQBMAEMALgBFAFgARQAAAAAAagAlAAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYAdACuACAAVwBpAG4AZABvAHcAcwCuACAATwBwAGUAcgBhAHQAaQBuAGcAIABTAHkAcwB0AGUAbQAAAAAAPgANAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAwAC4AMAAuADEAOAAzADYAMgAuADEAAAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAJBLAEAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAATCwAAEwsAAAAAAAAAAAAAfHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/////////////////////////////////////////////////fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8//////98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz//////3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP//////fHx8//////98fHz//////3x8fP//////fHx8//////98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz//////3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP//////fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8//////98fHz//////3x8fP//////fHx8//////98fHz//////3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP//////fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8//////98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz//////3x8fP//////fHx8//////98fHz//////3x8fP//////fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8//////98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz//////3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP//////fHx8////////////////////////////fHx8//////98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz//////3x8fP///////////////////////////3x8fP//////fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8//////98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz//////3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP////////////////////////////////////////////////98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIAAAAAHkZ97oAAAHfSURBVHja7dbBCQJBEEVBozP/jDSDgZXV1431rwPNo07zeP75HnVAPQB1QD0AdUA9AHVAPQB1QD0AdUA9AHVAPQB1QD0AdUA9AHVAPQB1QD0AdUA9AHVAPQB1QD0AdUA9AHVAPQB1QD0AdUA9AHVAPQB1QD0AdUA9AHVAPQB1QD0AdUA9AHVAPQB1QD0Adx57/WgAAAAAAAAAAABzAe48+uXzAMYXAgAAAAAAAAC2Atz57wUAAAAAAAAAANgJUN4CAAAAAAAAAAAAUAJ8PAAAAAAAAAAAgKUA488DGF8IAAAAAAAAAAAAAAAAAAAAAACwDOAYfXq8egsAAAAAAAAAAGAawPjzAMYXAgAAAAAAAAAAAAAAAAAAAAAALAM4Rp8er94CAAAAAAAAAACYBjD+PIDxhQAAAAAAAAAAAAAAAAAAAAAAAMsAjtGnx6u3AAAAAAAAAAAApgGMPw9gfCEAAAAAAAAAYBfAlwcAAAAAAAAAADAOYOMA1AH1ANQB9QDUAfUA1AH1ANQB9QDUAfUA1AH1ANQB9QDUAfUA1AH1ANQB9QDUAfUA1AH1ANQB9QDUAfUA1AH1ANQB9QDUAfUA1AH1ANQB9QDUAfUA1AH1ANQB9QDUAfUA1AH1ANQB9d4hCu5bFop9jAAAAABJRU5ErkJggigAAAAgAAAAQAAAAAEAIAAAAAAAABAAABMLAAATCwAAAAAAAAAAAABHR0f/RkZG/0dHR/9GRkb/R0dH/0ZGRv9GRkb/R0ZH/0ZGRv9GRkb/R0dH/0ZGRv9HR0f/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9HR0f/R0dH/0dHR/9GRkb/R0dH/0dHR/9HR0f/RkZG/0dHR/9HRkf/RkZG/0dHR/9HR0f/RkZG/0dHR/9GRkb/R0dH/0ZGRv9HRkf/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9GRkb/RkZG/0dHR/9GRkb/R0dH/0ZGRv9HR0f/R0dH/0ZGRv9HR0f/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/R0dH/0dHR/9GRkb/R0dH/0ZGRv9GRkb/R0dH/0dHR/9GRkb/RkZG/0ZGRv9HR0f/RkZG/0dGR/9GRkb/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9GRkb/R0dH/0dHR/9GRkb/R0dH/0ZGRv9GRkb/R0ZH/0ZGRv9HR0f/R0dH/0dHR/9HRkf/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9HR0f/////////////////////////////////////////////////////////////////////////////////////////////////R0dH/0dGRv9HR0f/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9GRkb/RkZG/0ZGRv////////////////////////////////////////////////////////////////////////////////////////////////9GRkb/R0dH/0dHR/9GRkb/RkZG/0ZGRv9HRkb/RkZG/0ZGRv9GRkb/R0dH/0ZGRv9GRkb/R0dH////////////R0dH/0ZGRv9HRkf/R0dH/0ZGRv9HR0f/RkZG/0dHR/9HR0f/R0dH/0dHR/9GRkb/R0dH/0dGRv///////////0dGRv9GRkb/R0dH/0dHR/9GRkb/RkZG/0dHR/9GRkb/R0dH/0dHR/9HRkf/R0dH/0ZGRv9GRkb///////////9HR0f/R0dH/0dHR/9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0dHR/9HR0f/R0dH////////////R0dH/0dHR/9HR0f/R0dH/0ZGRv9GRkb/RkZG/0ZGRv9HR0f/R0ZH/0dHR/9HR0f/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG////////////RkZG/0dHR////////////0ZGRv9GRkb///////////9HR0f/RkZG/0dHR/9GRkb/R0dH/0dHR/9HRkb/R0dH/0dGRv9HRkf/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb///////////9HRkf/R0dH////////////R0dH/0dGRv///////////0dHR/9HR0f/RkZG/0ZGRv9GRkb/RkZG/0dHR/9HR0f/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9GRkb///////////9HR0f/R0dH/0dHR/9GRkb/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9GRkb/R0dH/0ZGRv9GRkb/R0ZG////////////R0dH/0dGR/9GRkb/RkZG/0dHR/9GRkb/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/RkZG/0ZGRv///////////0ZGRv9HR0f/R0dH/0ZGRv9HRkf/RkZG/0ZGRv9GRkb/R0dH/0dHR/9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/R0dH/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0dHR/9GRkb/R0dH/0ZGRv9GRkb/RkZG////////////R0ZG/0ZGRv///////////0ZGRv9GRkb///////////9HR0f/RkZG////////////R0dH/0dGR////////////0dHR/9GRkb/R0dH/0dHR/9HRkb/RkZG/0dHR/9GRkb/R0dH/0ZGRv9GRkb/R0ZH/0ZGRv9HR0f///////////9HR0f/RkZG////////////R0dH/0dHR////////////0ZGRv9HR0f///////////9GRkb/R0dH////////////R0dH/0ZGRv9HR0f/R0dH/0dHR/9HR0f/RkZG/0ZGRv9GRkb/R0dH/0ZGRv9HR0f/RkZG/0ZGRv///////////0dHR/9GRkb/R0ZH/0dGR/9GRkb/R0dH/0ZGRv9GRkb/RkZG/0ZGRv9HR0f/R0dH/0ZGRv9HR0f///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/R0dH/0dHR/9HRkb/RkZG////////////R0ZG/0dHR/9GRkb/RkZG/0ZGRv9HR0f/RkZG/0dHR/9HR0f/R0dH/0dHR/9GRkb/R0dH/0dHR////////////0dGR/9HR0f/R0ZG/0dHR/9HR0f/RkZG/0dHR/9HR0f/R0dH/0ZGRv9GRkb/R0dH/0dHR/9GRkb///////////9GRkb/RkZG/0dHR/9GRkb/RkZG/0ZGRv9GRkb/RkZG/0dGRv9HR0f/R0ZG/0ZGRv9GRkb/R0dH////////////RkZG/0dHR/9GRkb/R0dH/0ZGRv9HR0f/R0dH/0ZGRv9HR0f/R0dH/0dHR/9GRkb/R0dH/0dGR////////////0ZGRv9HR0f///////////9GRkb/RkZG////////////R0dH/0dHR////////////0dHR/9HR0f///////////9GRkb/RkZG/0ZGRv9HR0f/R0dH/0ZGRv9HR0f/R0dH/0ZGRv9HR0f/R0ZH/0ZGRv9GRkb/RkZG////////////R0dH/0dHR////////////0ZGRv9HR0f///////////9GRkb/R0dH////////////RkZG/0dGR////////////0dHR/9GRkb/R0ZH/0ZGRv9GRkb/R0dH/0ZGRv9GRkb/R0dH/0ZGRv9GRkb/R0dH/0ZGRv9GRkb///////////9HR0f/RkZG/0dHR/9GRkb/R0dH/0ZGRv9HRkf/RkZG/0dHR/9GRkb/RkZG/0dGRv9HR0f/R0ZG////////////RkZG/0ZGRv9HRkb/R0ZH/0ZGRv9HR0f/RkZG/0dGRv9HR0f/R0dH/0dHR/9GRkb/R0dH/0dHR////////////0dHR/9HR0f/R0ZG/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0ZH/0ZGRv9GRkb/R0dH/0ZGRv9GRkb///////////9HRkb/R0dH/0dHR/9HRkf/R0dH/0ZGRv9GRkb/RkZG/0dHR/9HR0f/R0ZH/0ZGRv9GRkb/RkZG////////////R0dH/0ZGRv//////////////////////////////////////////////////////R0dH/0dHR////////////0ZGRv9HR0f/RkZG/0dHR/9HR0f/R0dH/0ZGRv9HR0f/R0dH/0ZGRv9HR0f/RkZG/0dGRv9GRkb///////////9GRkb/RkZG//////////////////////////////////////////////////////9HR0f/RkZG////////////RkZG/0ZGRv9HR0f/R0dH/0ZGRv9GRkb/R0ZH/0dHR/9HR0f/R0dH/0dHR/9GRkb/R0dH/0ZGRv///////////0dHR/9GRkb///////////9GRkb/R0dH/0dHR/9HRkf/R0dH/0dHR////////////0ZGRv9GRkb///////////9GRkb/R0dH/0ZGRv9HRkf/RkZG/0ZGRv9HR0f/R0ZH/0ZGRv9HR0f/RkZG/0ZGRv9HR0f/R0ZH////////////RkZG/0ZGRv//////////////////////////////////////////////////////R0dH/0ZGRv///////////0dHR/9GRkb/RkZG/0dGR/9HR0f/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9HR0f/R0dH/0dHR/9GRkb///////////9HR0f/RkZG//////////////////////////////////////////////////////9HR0f/RkZG////////////R0dH/0dGR/9HR0f/RkZG/0dHR/9GRkb/RkZG/0ZGRv9GRkb/R0dH/0dHR/9GRkb/R0dH/0ZGRv///////////0dHR/9GRkb/RkZG/0dGR/9GRkb/RkZG/0ZGRv9GRkb/RkZG/0dHR/9HR0f/RkZG/0dHR/9GRkb///////////9GRkb/RkZG/0dHR/9HRkf/R0dH/0ZGRv9HR0f/R0dH/0ZGRv9GRkb/RkZG/0dGR/9HR0f/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0dHR/9HR0f/R0dH/0ZGRv9GRkb/RkZG/0dHR/9HRkf/RkZG/0dHR////////////0ZGRv9HR0f/RkZG/0dHR/9HR0f/R0dH/0dHR/9GRkb/R0ZG/0dHR/9HR0f/R0dH/0ZGRv9GRkb/////////////////////////////////////////////////////////////////////////////////////////////////RkZG/0ZGRv9GRkb/R0ZH/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/R0dH/0dGR/9GRkb/R0dH/0ZGRv////////////////////////////////////////////////////////////////////////////////////////////////9HR0f/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9HRkf/RkZG/0ZGRv9GRkb/R0ZG/0ZGRv9GRkb/R0dH/0ZGRv9HR0f/R0dH/0ZGRv9HR0f/RkZG/0dHR/9GRkb/RkZG/0dHR/9HR0f/R0dH/0ZGRv9HR0f/RkZG/0ZGRv9GRkb/R0dH/0dHR/9GRkb/RkZG/0ZGRv9HR0f/RkZG/0ZGRv9GRkb/RkZG/0dHR/9GRkb/RkZG/0ZGRv9GRkb/R0dH/0dHR/9HR0f/R0ZG/0dHR/9HR0f/RkZG/0dHR/9GRkb/R0dH/0ZGRv9GRkb/RkZG/0dGR/9HRkf/R0ZH/0ZGRv9HR0f/R0dH/0dHR/9GRkb/R0dH/0dHR/9GRkb/RkZG/0ZGRv9HR0f/R0dH/0ZGRv9HR0f/RkZG/0ZGRv9GRkb/R0dH/0ZGRv9GRkb/R0dH/0ZGRv9GRkb/RkZG/0dHR/9HR0f/RkZG/0ZGRv9GRkb/R0dH/0dHR/9GRkb/RkZG/0dHR/9HR0f/RkZG/0ZGRv9HR0f/RkZG/0dGR/9HR0f/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAMAAAAGAAAAABACAAAAAAAAAkAAATCwAAEwsAAAAAAAAAAAAARkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////////////////////////////////////////////////////////////////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////////////////////////////////////////////////////////////////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv///////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////////////////////////////////////////////////////////////////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv///////////////////////////////////////////////////////////////////////////0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG////////////RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb///////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/RkZG/0ZGRv9GRkb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAQAEBAAAAEAIABoBAAAAQAAAAAAAQAgABgCAAACACAgAAABACAAqBAAAAMAMDAAAAEAIACoJQAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAAKAIoGiggKCIoJCgWKJgonCiiKKQogAAADAAAAwAAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";

            byte[] bytes = System.Convert.FromBase64String(base64);

            IntPtr  printer   = new IntPtr();
            int     pcWritten = 0;
            DOCINFO docInfo   = new DOCINFO
            {
                pDataType = "RAW"
            };

            PrintDirect.OpenPrinter(printerAddress, ref printer, 0);
            PrintDirect.StartDocPrinter(printer, 1, ref docInfo);
            PrintDirect.StartPagePrinter(printer);

            try
            {
                PrintDirect.WritePrinter(printer, bytes, bytes.Length, ref pcWritten);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            PrintDirect.EndPagePrinter(printer);
            PrintDirect.EndDocPrinter(printer);
            PrintDirect.ClosePrinter(printer);
        }
Ejemplo n.º 4
0
        private void button2_Click(object sender, EventArgs e)
        {
            System.IntPtr lhPrinter = new System.IntPtr();
            DOCINFO       di        = new DOCINFO();
            int           pcWritten = 0;
            string        st1;

            // text to print with a form feed character
            st1          = "This is an example of printing directly to a printer\f";
            di.pDocName  = "my test document";
            di.pDataType = "RAW";
            // the \x1b means an ascii escape character
            st1 = "\x1b*c600a6b0P\f";
            //lhPrinter contains the handle for the printer opened
            //If lhPrinter is 0 then an error has occured
            PrintDirect.OpenPrinter("EPSON LQ-300+ ESC/P 2", ref lhPrinter, 0);
            PrintDirect.StartDocPrinter(lhPrinter, 1, ref di);
            PrintDirect.StartPagePrinter(lhPrinter);
            try
            {
                // Moves the cursor 900 dots (3 inches at 300 dpi) in from the left margin, and
                // 600 dots (2 inches at 300 dpi) down from the top margin.
                st1 = "\x1b*p900x600Y";
                PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
                // Using the print model commands for rectangle dimensions, "600a" specifies a rectangle
                // with a horizontal size or width of 600 dots, and "6b" specifies a vertical
                // size or height of 6 dots. The 0P selects the solid black rectangular area fill.
                st1 = "\x1b*c600a6b0P";
                PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
                // Specifies a rectangle with width of 6 dots, height of 600 dots, and a
                // fill pattern of solid black.
                st1 = "\x1b*c6a600b0P";
                PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
                // Moves the current cursor position to 900 dots, from the left margin and
                // 1200 dots down from the top margin.
                st1 = "\x1b*p900x1200Y";
                PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
                // Specifies a rectangle with a width of 606 dots, a height of 6 dots and a
                // fill pattern of solid black.
                st1 = "\x1b*c606a6b0P";
                PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
                // Moves the current cursor position to 1500 dots from the left margin and
                // 600 dots down from the top margin.
                st1 = "\x1b*p1500x600Y";
                PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
                // Specifies a rectangle with a width of 6 dots, a height of 600 dots and a
                // fill pattern of solid black.
                st1 = "\x1b*c6a600b0P";
                PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten); // Send a form feed character to the printer
                st1 = "\f";
                PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            PrintDirect.EndPagePrinter(lhPrinter);
            PrintDirect.EndDocPrinter(lhPrinter);
            PrintDirect.ClosePrinter(lhPrinter);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Manda la instruccion de abrir cajon
        /// </summary>
        /// <returns></returns>
        public bool AbrirCajon()
        {
            string codigoApertura = this.printerConfigResponse.CodigoAperturaCajon;
            string szPrinterName  = this.printerConfigResponse.NombreImpresora;
            //27,112,48,55,121
            Int32  dwWritten = 0;
            IntPtr hPrinter  = new IntPtr(0);

            PrintDirect.DOCINFOA di = new PrintDirect.DOCINFOA();
            bool bSuccess           = false;

            if (codigoApertura == "")
            {
                return(false);
            }

            string[] splitCodes = codigoApertura.Split(',');

            byte[] DrawerOpener = new byte[splitCodes.Length];
            for (int i = 0; i < splitCodes.Length; i++)
            {
                DrawerOpener[i] = Byte.Parse(splitCodes[i]);
            }

            di.pDocName  = "OpenDrawer";
            di.pDataType = "RAW";

            if (PrintDirect.OpenPrinter(szPrinterName, ref hPrinter, 0)) //Obtiene el número de trabajo de impresión, 0 si error
            {
                if (PrintDirect.StartDocPrinter(hPrinter, 1, di))
                {
                    if (PrintDirect.StartPagePrinter(hPrinter))
                    {
                        IntPtr p = Marshal.AllocCoTaskMem(DrawerOpener.Length);
                        Marshal.Copy(DrawerOpener, 0, p, DrawerOpener.Length);
                        bSuccess = PrintDirect.WritePrinter(hPrinter, p, DrawerOpener.Length, out dwWritten);
                        PrintDirect.EndPagePrinter(hPrinter);
                        Marshal.FreeCoTaskMem(p);
                    }
                    PrintDirect.EndDocPrinter(hPrinter);
                }
                PrintDirect.ClosePrinter(hPrinter);
            }

            return(bSuccess);
        }
Ejemplo n.º 6
0
        public static bool SendStringToPrinter(string szPrinterName, string docName, string text)
        {
            IntPtr pText = Marshal.StringToCoTaskMemAnsi(text);

            try
            {
                DOCINFO di = new DOCINFO();
                di.pDocName  = docName;
                di.pDataType = "RAW";
                IntPtr hPrinter = IntPtr.Zero;
                if (!PrintDirect.OpenPrinter(szPrinterName.Normalize(), ref hPrinter, IntPtr.Zero))
                {
                    BombWin32();
                }
                if (!PrintDirect.StartDocPrinter(hPrinter, 1, ref di))
                {
                    BombWin32();
                }
                if (!PrintDirect.StartPagePrinter(hPrinter))
                {
                    BombWin32();
                }
                int dwWritten = 0;
                if (!PrintDirect.WritePrinter(hPrinter, pText, text.Length, ref dwWritten))
                {
                    BombWin32();
                }
                PrintDirect.EndPagePrinter(hPrinter);
                PrintDirect.EndDocPrinter(hPrinter);
                PrintDirect.ClosePrinter(hPrinter);
                return(true);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                return(false);
            }
            finally
            {
                Marshal.FreeCoTaskMem(pText);
            }
        }
Ejemplo n.º 7
0
    //and to use it

    public void Print(string printerName, string docName, string referencePiece, string designationPiece, string code)
    {
        System.IntPtr lhPrinter = new System.IntPtr();
        DOCINFO       di        = new DOCINFO();
        int           pcWritten = 0;
        string        st1;

        di.pDocName  = docName;
        di.pDataType = "RAW";
        //If lhPrinter is 0 then an error has occured

        try
        {
            PrintDirect.OpenPrinter(printerName, ref lhPrinter, 0);

            PrintDirect.StartDocPrinter(lhPrinter, 1, ref di);

            PrintDirect.StartPagePrinter(lhPrinter);

            //"^XA^CFD^FS\n^PON^FS\n^FWN^FS\n^LH020,30^FS\n^FO0,5^A0,N,50,50^FDSTART TEST^FS\n^FO0,50^A0,N,30,30^FD\nTOFUS MAXIMUS^FS\n^PQ1\n^XZ";


            /*
             * //ZPL2
             *
             * st1 = "^XA";
             *
             * st1 += "^LH50,50";
             *
             * st1 += "^FO0,0^AF^FD"+texteHaut+"^FS";
             *
             * st1 += "^FO50,50,^BC,50";
             *
             * st1 += "^FD"+code+"^FS";
             *
             * //st1 += "";
             *
             * st1 += "^XZ";
             *
             */
            //st1 = "\x1b*p600x600Y\r\n";
            //PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);

            //st1 = "x1b*pcộng hoà xã hội chủ";
            ////EPL2
            //st1 = "\nN\n";
            //st1 += "cộng hoà xã hội\"" + referencePiece + "\"\n";
            //st1 += "A25,25,0,2,1,1,N,\"" + designationPiece + "\"\n";
            //st1 += "B25,45,0,1E,2,3,50,B,\"" + code + "\"\n";
            //st1 += "P1\n";


            st1 = "\x1b*p600x600Y\r\n";
            PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
            st1 = "hello";
            PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
            st1 = "cộng hoà xã";
            prtUnicode.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
            st1 = "\f";
            PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);



            //PrintDirect.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
            //prtUnicode.WritePrinter(lhPrinter, st1, st1.Length, ref pcWritten);
        }


        catch (Exception ex)
        {
            throw new ApplicationException(ex.Message);
        }


        PrintDirect.EndPagePrinter(lhPrinter);

        PrintDirect.EndDocPrinter(lhPrinter);

        PrintDirect.ClosePrinter(lhPrinter);
    }