From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Deepak Chauhan Newsgroups: gmane.emacs.bugs Subject: bug#14621: Emac generated postcript to pdf conversion Date: Sat, 15 Jun 2013 01:17:32 +0530 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_007_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_" X-Trace: ger.gmane.org 1371240023 28341 80.91.229.3 (14 Jun 2013 20:00:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 14 Jun 2013 20:00:23 +0000 (UTC) To: 14621@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jun 14 22:00:22 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UnaAU-0005kl-9Z for geb-bug-gnu-emacs@m.gmane.org; Fri, 14 Jun 2013 22:00:19 +0200 Original-Received: from localhost ([::1]:43171 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UnaAT-0007Gz-Vx for geb-bug-gnu-emacs@m.gmane.org; Fri, 14 Jun 2013 16:00:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59569) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Una9g-0006Bh-3o for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2013 16:00:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Una9H-0005NP-2O for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2013 15:59:28 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60023) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Una9G-0005NJ-Ri for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2013 15:59:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Una9G-0005O5-IZ for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2013 15:59:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Deepak Chauhan Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 14 Jun 2013 19:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 14621 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: "bug-gnu-emacs@gnu.org" Original-Received: via spool by submit@debbugs.gnu.org id=B.137123989520614 (code B ref -1); Fri, 14 Jun 2013 19:59:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 Jun 2013 19:58:15 +0000 Original-Received: from localhost ([127.0.0.1]:44688 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Una8U-0005MO-PB for submit@debbugs.gnu.org; Fri, 14 Jun 2013 15:58:15 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:54635) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UnZzy-00058N-TC for submit@debbugs.gnu.org; Fri, 14 Jun 2013 15:49:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UnZzM-0001UB-CX for submit@debbugs.gnu.org; Fri, 14 Jun 2013 15:49:21 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:36339) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UnZzM-0001U7-0B for submit@debbugs.gnu.org; Fri, 14 Jun 2013 15:48:48 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55839) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UnZys-0002T0-5G for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2013 15:48:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UnZyR-00010X-Ii for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2013 15:48:18 -0400 Original-Received: from exprod6og122.obsmtp.com ([64.18.1.238]:60280) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UnZyQ-0000zN-C0 for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2013 15:47:51 -0400 Original-Received: from outbound-smtp-2.corp.adobe.com ([193.104.215.16]) by exprod6ob122.postini.com ([64.18.5.12]) with SMTP ID DSNKUbtzYcWz5KueBd6MycgKJMRkPgk/FlWr@postini.com; Fri, 14 Jun 2013 12:47:48 PDT Original-Received: from inner-relay-2.corp.adobe.com (mail-321.pac.adobe.com [153.32.1.52]) by outbound-smtp-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r5EJlgAI007756 for ; Fri, 14 Jun 2013 12:47:42 -0700 (PDT) Original-Received: from nacas01.corp.adobe.com (nacas01.corp.adobe.com [10.8.189.99]) by inner-relay-2.corp.adobe.com (8.12.10/8.12.10) with ESMTP id r5EJlfw9024741 for ; Fri, 14 Jun 2013 12:47:41 -0700 (PDT) Original-Received: from INDIAHUB01.corp.adobe.com (10.40.5.8) by nacas01.corp.adobe.com (10.8.189.99) with Microsoft SMTP Server (TLS) id 8.3.298.1; Fri, 14 Jun 2013 12:47:38 -0700 Original-Received: from indiambx02.corp.adobe.com ([10.40.5.60]) by INDIAHUB01.corp.adobe.com ([10.40.5.8]) with mapi; Sat, 15 Jun 2013 01:17:33 +0530 Thread-Topic: Emac generated postcript to pdf conversion Thread-Index: Ac5pNWFABMl7DwEgSTKwvvFU5coPSQ== Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: acceptlanguage: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Fri, 14 Jun 2013 15:58:12 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:75127 Archived-At: --_007_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_ Content-Type: multipart/related; boundary="_006_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_"; type="multipart/alternative" --_006_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_ Content-Type: multipart/alternative; boundary="_000_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_" --_000_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Team, I would like to report a bug with emacs 24.3 generated postscript file. Bug Title: Blank pdf is generated using Adobe Acrobat XI distiller and emac= s postscript. Description: Generate a postscript using emacs on Mac OSX and convert the f= ile to pdf using Adobe Acrobat XI. The generated postscript is blank, howev= er the conversion of the some file on Windows platform is a success. Investigation result at our end: We have found that the problem seems to be in FontBbox for font used on Mac= . PS program uses font's bbox to calculate ascent. This ascent is fed to ca= lculate the location where text will be printed. The font bbox obtained fro= m fonts on Mac is way huge compared to Windows and whole calculation goes h= aywire in PS program. Given this observation, it seems to be issue on PS file doing complex calcu= lations not taking into account the font differences in Mac and Win. The co= rrection will needs to happen in source PS file. Environment : Mac OS X 10.8.3, Acrobat XI, emacs 24.3 Steps to replicate a problem * Launch emacs * Click on New file icon and enter the name of the file. Example: t= estemacs * Select the location and click on "Save" * Enter the some text. Example Adobe Testing emacs with Acrobat 11.0.03. * Press Option + X on the key board and enter this command; ps-spoo= l-buffer-with-faces * Click on "Buffers"-> "Postscript" * Click on "Save As" to save the newly generated postscript file. * Launch Acrobat Xi distiller, drag the ps on the distiller window. Actual Result Blank pdf with no content is generated. Expected Result Pdf generation should be fine. Attaching the PDF file generated on Mac and postscript for the reference. I= am also pasting the ps source code below. Please feel free to let me know if you need more information. %!PS-Adobe-3.0 %%Title: testemacs %%Creator: ps-print v7.3.5 %%For: Acrobat %%CreationDate: 01:10:26 Jun 15 2013 %%Orientation: Portrait %%DocumentNeededResources: font Times-Roman Times-Italic %%+ font Courier %%+ font Courier-Bold %%+ font Courier-Oblique %%+ font Courier-BoldOblique %%+ font Helvetica %%+ font Helvetica-Bold %%DocumentSuppliedResources: procset PSPrintUserDefinedPrologue-acrobat 0 0 %%DocumentMedia: Letter 612 792 0 () () %%PageOrder: Ascend %%Pages: (atend) %%Requirements: %%EndComments %%BeginDefaults %%PageMedia: Letter %%EndDefaults %%BeginProlog /languagelevel where{pop}{/languagelevel 1 def}ifelse /ErrorMessage 1 def % =3D=3D=3D BEGIN ps-print prologue 0 % version: 6.0 % Copyright (C) 2000-2013 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % GNU Emacs is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % You should have received a copy of the GNU General Public License % along with GNU Emacs. If not, see . % As a special exception, the copyright holders of this module give % you permission to include the module in a Postscript file generated % by Emacs or other free software together with the result of % converting text to be printed, regardless of the license terms of % that text, and to use under terms of your choice the page images % resulting from formatting said combination. If you modify this % module, you may extend this exception to your version of the module % but you are not obligated to do so. If you do not wish to do so, % delete this exception statement from your version. %%BeginProcSet: ErrorHandler % Downloaded Error Break-page handler % Adapted from: % PostScript Language Program Design, % Adobe Systems Incorporated. % Appendix A, pages 217-219 /ps$brkpage where{pop} { /ps$brkpage 64 dict def ps$brkpage begin /tx 0 def/ty 0 def/toy 0 def/tox 0 def /prnt{ dup type/stringtype ne{=3Dstring cvs}if dup length 6 mul /tx exch def/ty 10 def currentpoint/toy exch def/tox exch def 1 setgray newpath tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto closepath fill tox toy moveto 0 setgray show }bind def /nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def /=3D=3D{/cp 0 def typeprint nl}def /typeprint{dup type dup currentdict exch known{exec}{unknowntype}ifelse}r= eadonly def /lmargin 72 def /rmargin 72 def /tprint{ dup length cp add rmargin gt{nl/cp 0 def}if dup length cp add/cp exch def prnt }readonly def /cvsprint{=3Dstring cvs tprint( )tprint}readonly def /unknowntype{exch pop cvlit(??)tprint cvsprint}readonly def /integertype{cvsprint}readonly def /realtype{cvsprint}readonly def /booleantype{cvsprint}readonly def /operatortype{(//)tprint cvsprint}readonly def /marktype{pop(-mark-)tprint}readonly def /dicttype{pop(-dictionary-)tprint}readonly def /nulltype{pop(-null-)tprint}readonly def /filetype{pop(-filestream-)tprint}readonly def /savetype{pop(-savelevel-)tprint}readonly def /fonttype{pop(-fontid-)tprint}readonly def /nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def /stringtype{ dup rcheck {(\()tprint tprint(\))tprint} {pop(-string-)tprint}ifelse}readonly def /arraytype{ dup rcheck {dup xcheck {({)tprint{typeprint}forall(})tprint} {([)tprint{typeprint}forall(])tprint}ifelse} {pop(-array-)tprint}ifelse}readonly def /packedarraytype{ dup rcheck {dup xcheck {({)tprint{typeprint}forall(})tprint} {([)tprint{typeprint}forall(])tprint}ifelse} {pop(-packedarray-)tprint}ifelse}readonly def /courier/Courier findfont 10 scalefont def /OLDhandleerror errordict/handleerror get def end %ps$brkpage /handleerror{ systemdict begin $error begin ps$brkpage begin newerror {/newerror false store vmstatus pop pop 0 ne{grestoreall}if initgraphics ErrorMessage 1 and 0 ne{ % print on paper courier setfont lmargin 720 moveto (# ERROR: )prnt errorname prnt nl (# OFFENDING COMMAND: )prnt/command load prnt $error/ostack known {nl nl(# STACK:)prnt nl nl $error/ostack get aload length{=3D=3D}repeat= }if $error/errorinfo known {nl nl(# ERRORINFO:)prnt nl nl $error/errorinfo get aload length{=3D=3D= }repeat}if systemdict/showpage get exec}if ErrorMessage 2 and 0 ne{ % send back to printing system (\%\%[ Error: )print errorname =3Dprint (; OffendingCommand: )print/command load =3Dprint $error/errorinfo known {(; ErrorInfo:)print $error/errorinfo get aload length{( )=3Dprint =3Dp= rint}repeat}if ( ]\%\%)=3D flush (\%\%[ Rest of job is ignored ]\%\%)=3D flush}if /newerror true store}if end end end stop } % handleerror dup 0 systemdict put % replace name by actual dict object dup 4 ps$brkpage put % replace name by dict object bind readonly errordict 3 1 roll put % put proc in errordict as /handleerror }ifelse %%EndProcSet % operators for language level 2 only (<<)cvn where % << operator {pop/BMark(<<)cvn load def} {/BMark{mark}bind def}ifelse (>>)cvn where % >> operator {pop/EMark(>>)cvn load def} {/EMark{counttomark 2 idiv dup dict begin{def}repeat pop currentdict end}bi= nd def}ifelse /setpagedevice where % setpagedevice {pop} {/setpagedevice{pop}bind def}ifelse /packedarray where % packedarray {pop} {/packedarray{array astore readonly}bind def}ifelse % device dependent operators /DefOp{ dup where{pop pop pop} {exch dup where{pop}{pop/pop}ifelse load def}ifelse}def /duplexmode/setduplexmode DefOp /tumble/settumble DefOp % =3D=3D=3D END ps-print prologue 0 %%BeginResource: procset PSPrintUserDefinedPrologue-acrobat 0 0 %%EndResource /LandscapeMode false def /UpsideDown false def /NumberOfColumns 1 def /LandscapePageHeight 792.0 def /PrintPageWidth 498.6141732283465 def /PrintWidth 498.6141732283465 def /PrintHeight 643.7029732283465 def /LeftMargin 56.69291338582677 def /RightMargin 56.69291338582677 def /InterColumn 56.69291338582677 def /BottomMargin 42.51968503937008 def /TopMargin 42.51968503937008 def /HeaderOffset 28.346456692913385 def /HeaderPad 2.4276 def /FooterOffset 28.346456692913385 def /FooterPad 0 def /FooterLines 2 def /ShowNofN true def /SwitchHeader false def /PrintOnlyOneHeader false def /PrintHeader true def /PrintHeaderFrame true def /HeaderFrameProperties [0.000 0.900 0.400 0.000 0.000 ]def /PrintFooter false def /PrintFooterFrame true def /FooterFrameProperties [0.000 0.900 0.400 0.000 0.000 ]def /LineSpacing 0 def /ParagraphSpacing 0 def /LineHeight 8.967500000000001 def /LinesPerColumn 72 def /WarnPaperSize true def /Zebra false def /PrintLineNumber false def /SyncLineZebra false def /ZebraFollow 0 def /PrintLineStep 1 def /PrintLineStart 1 def /LineNumberColor [0.000 0.000 0.000] def /ZebraHeight 3 def /ZebraColor 0.950 def /BackgroundColor [1.000 1.000 1.000] def /UseSetpagedevice false def /PageWidth PrintPageWidth LeftMargin add RightMargin add def /N-Up 1 def /N-Up-Landscape false def /N-Up-Border true def /N-Up-Lines 1 def /N-Up-Columns 1 def /N-Up-Missing 0 def /N-Up-Margin 28.346456692913385 def /N-Up-Repeat N-Up-Lines def /N-Up-End N-Up-Columns def /N-Up-XColumn PageWidth def /N-Up-YColumn 0 def /N-Up-XLine N-Up-End 1 sub PageWidth mul neg def /N-Up-YLine LandscapePageHeight neg def /N-Up-XStart 0 def /N-Up-YStart 0 def % =3D=3D=3D BEGIN ps-print prologue 1 % version: 6.1 % Copyright (C) 2000-2013 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % GNU Emacs is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % You should have received a copy of the GNU General Public License % along with GNU Emacs. If not, see . % As a special exception, the copyright holders of this module give % you permission to include the module in a Postscript file generated % by Emacs or other free software together with the result of % converting text to be printed, regardless of the license terms of % that text, and to use under terms of your choice the page images % resulting from formatting said combination. If you modify this % module, you may extend this exception to your version of the module % but you are not obligated to do so. If you do not wish to do so, % delete this exception statement from your version. % ISOLatin1Encoding stolen from ps_init.ps in GhostScript 2.6.1.4: /ISOLatin1Encoding where{pop}{ % -- The ISO Latin-1 encoding vector isn't known, so define it. % -- The first half is the same as the standard encoding, % -- except for minus instead of hyphen at code 055. /ISOLatin1Encoding StandardEncoding 0 45 getinterval aload pop /minus StandardEncoding 46 82 getinterval aload pop %*** NOTE: the following are missing in the Adobe documentation, %*** but appear in the displayed table: %*** macron at 0225, dieresis at 0230, cedilla at 0233, space at 0240. % 0200 (128) /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /dotlessi/grave/acute/circumflex/tilde/macron/breve/dotaccent /dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut/ogonek/caron % 0240 (160) /space/exclamdown/cent/sterling /currency/yen/brokenbar/section /dieresis/copyright/ordfeminine/guillemotleft /logicalnot/hyphen/registered/macron /degree/plusminus/twosuperior/threesuperior /acute/mu/paragraph/periodcentered /cedilla/onesuperior/ordmasculine/guillemotright /onequarter/onehalf/threequarters/questiondown % 0300 (192) /Agrave/Aacute/Acircumflex/Atilde /Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis /Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute /Ocircumflex/Otilde/Odieresis/multiply /Oslash/Ugrave/Uacute/Ucircumflex /Udieresis/Yacute/Thorn/germandbls % 0340 (224) /agrave/aacute/acircumflex/atilde /adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis /igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute /ocircumflex/otilde/odieresis/divide /oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis 256 packedarray def }ifelse /reencodeFontISO{ %def dup length 12 add dict % Make a new font (a new dict the same size % as the old one) with room for our new symbols. begin % Make the new font the current dictionary. % Copy each of the symbols from the old dictionary % to the new one except for the font ID. {1 index/FID ne{def}{pop pop}ifelse}forall % Override the encoding with the ISOLatin1 encoding. currentdict/FontType get 0 ne{/Encoding ISOLatin1Encoding def}if % Use the font's bounding box to determine the ascent, descent, % and overall height; don't forget that these values have to be % transformed using the font's matrix. % ^ (x2 y2) % | | % | v % | +----+ - - % | | | ^ % | | | | Ascent (usually > 0) % | | | | % (0 0) -> +--+----+--------> % | | | % | | v Descent (usually < 0) % (x1 y1) --> +----+ - - currentdict/FontType get 0 ne {/FontBBox load aload pop % -- x1 y1 x2 y2 FontMatrix transform/Ascent exch def pop FontMatrix transform/Descent exch def pop} {/PrimaryFont FDepVector 0 get def PrimaryFont/FontBBox get aload pop PrimaryFont/FontMatrix get transform/Ascent exch def pop PrimaryFont/FontMatrix get transform/Descent exch def pop}ifelse /FontHeight Ascent Descent sub def % use `sub' because descent < 0 % Define these in case they're not in the FontInfo % (also, here they're easier to get to). /UnderlinePosition Descent 0.70 mul def /OverlinePosition Descent UnderlinePosition sub Ascent add def /StrikeoutPosition Ascent 0.30 mul def /LineThickness FontHeight 0.05 mul def /Xshadow FontHeight 0.08 mul def /Yshadow FontHeight -0.09 mul def /SpaceBackground Descent neg UnderlinePosition add def /XBox Descent neg def /YBox LineThickness 0.7 mul def currentdict % Leave the new font on the stack end % Stop using the font as the current dictionary. definefont % Put the font into the font dictionary pop % Discard the returned font. }bind def % Font definition /DefFont{findfont exch scalefont reencodeFontISO}def % Font selection /F{ findfont dup/Ascent get/Ascent exch def dup/Descent get/Descent exch def dup/FontHeight get/FontHeight exch def dup/UnderlinePosition get/UnderlinePosition exch def dup/OverlinePosition get/OverlinePosition exch def dup/StrikeoutPosition get/StrikeoutPosition exch def dup/LineThickness get/LineThickness exch def dup/Xshadow get/Xshadow exch def dup/Yshadow get/Yshadow exch def dup/SpaceBackground get/SpaceBackground exch def dup/XBox get/XBox exch def dup/YBox get/YBox exch def setfont }def /FG/setrgbcolor load def /bg false def /BG{ dup/bg exch def {[4 1 roll]} {[1.0 1.0 1.0]} ifelse /bgcolor exch def }def % B width C % +-----------+ % | Ascent (usually > 0) % A + + % | Descent (usually < 0) % +-----------+ % E width D /dobackground{ % width -- currentpoint % -- width x y gsave newpath moveto % A (x y) 0 Ascent rmoveto % B dup 0 rlineto % C 0 Descent Ascent sub rlineto % D neg 0 rlineto % E closepath FillBgColor grestore }def /eolbg{ % dobackground until right margin PrintWidth % -- x-eol currentpoint pop % -- cur-x sub % -- width until eol dobackground }def /LineHS LineHeight LineSpacing add def /ParagraphHS LineHeight ParagraphSpacing add def /PSL{/h exch def bg{eolbg}if 0 currentpoint exch pop h sub moveto}def /PLN{PrintLineNumber{doLineNumber}if}def /SL{LineHS PSL isLineStep pop}def % Soft Linefeed /PHL{ParagraphHS PSL PLN}def % Paragraph Hard Linefeed /LHL{LineHS PSL PLN}def % Hard Linefeed % Some debug /dcp{currentpoint exch 40 string cvs print(, )print =3D}def /dp{print 2 copy exch 40 string cvs print(, )print =3D}def /W{ ( )stringwidth % Get the width of a space in the current font. pop % Discard the Y component. mul % Multiply the width of a space % by the number of spaces to plot bg{dup dobackground}if 0 rmoveto }def /Effect 0 def /EffectUnderline false def /EffectStrikeout false def /EffectOverline false def /EffectShadow false def /EffectBox false def /EffectOutline false def % effect: 1 - underline 2 - strikeout 4 - overline % 8 - shadow 16 - box 32 - outline /EF{ /Effect exch def /EffectUnderline Effect 1 and 0 ne def /EffectStrikeout Effect 2 and 0 ne def /EffectOverline Effect 4 and 0 ne def /EffectShadow Effect 8 and 0 ne def /EffectBox Effect 16 and 0 ne def /EffectOutline Effect 32 and 0 ne def }def % stack: string |- -- /S{ /xx currentpoint dup Descent add/yy exch def Ascent add/YY exch def def dup stringwidth pop xx add/XX exch def EffectShadow{ /yy yy Yshadow add def /XX XX Xshadow add def }if bg{ true EffectBox {SpaceBackground doBox} {xx yy XX YY doRect} ifelse }if % background EffectBox {false 0 doBox}if % box EffectShadow {dup doShadow}if % shadow EffectOutline {true doOutline} % outline {show} % normal text ifelse EffectUnderline{UnderlinePosition Hline}if % underline EffectStrikeout{StrikeoutPosition Hline}if % strikeout EffectOverline {OverlinePosition Hline}if % overline }bind def % stack: position |- -- /Hline{ currentpoint exch pop add dup gsave newpath xx exch moveto XX exch lineto closepath LineThickness setlinewidth stroke grestore }bind def % stack: fill-or-not delta |- -- /doBox{ /dd exch def xx XBox sub dd sub yy YBox sub dd sub XX XBox add dd add YY YBox add dd add doRect }bind def % stack: fill-or-not lower-x lower-y upper-x upper-y |- -- /doRect{ /rYY exch def /rXX exch def /ryy exch def /rxx exch def gsave newpath rXX rYY moveto rxx rYY lineto rxx ryy lineto rXX ryy lineto closepath % top of stack: fill-or-not {FillBgColor} {LineThickness setlinewidth stroke}ifelse grestore }bind def % stack: string |- -- /doShadow{ gsave Xshadow Yshadow rmoveto false doOutline grestore }bind def /st 1 string def % stack: string fill-or-not |- -- /doOutline{ /-fillp- exch def /-ox- currentpoint/-oy- exch def def gsave LineThickness setlinewidth {st 0 3 -1 roll put st dup true charpath -fillp- {gsave FillBgColor grestore}if stroke stringwidth -oy- add/-oy- exch def -ox- add/-ox- exch def -ox- -oy- moveto }forall grestore -ox- -oy- moveto }bind def % stack: -- /FillBgColor{bgcolor aload pop setrgbcolor fill}bind def % stack: -- |- boolean /isLineStep{ SyncLineZebra {PLScounter 0 gt % or zebra {/PLScounter PLScounter 1 sub def PLScounter 0 eq} {false}ifelse PrintLineStep 1 gt {/PrintLineStep PrintLineStep 1 sub def} {/PrintLineStep ZebraHeight def /PLScounter PrintLineStart def}ifelse} {LineNumber PrintLineStart sub PrintLineStep mod 0 eq}ifelse % or line s= tep }def % stack: -- /doLineNumber{ /LineNumber where {pop isLineStep % or line step LineNumber Lines ge or % or last line {currentfont gsave LineNumberColor SetColor /L0 findfont setfont LineNumber Lines ge {(end )} {LineNumber 6 string cvs( )strcat}ifelse dup stringwidth pop neg 0 rmoveto show grestore setfont}if /LineNumber LineNumber 1 add def }if }def % stack: color-specifier |- -- /SetColor{dup type/realtype eq{setgray}{aload pop setrgbcolor}ifelse}def % stack: -- /printZebra{ gsave ZebraColor SetColor /double-zebra ZebraHeight ZebraHeight add def /yiter double-zebra LineHS mul neg def /xiter PrintWidth InterColumn add def /zebra-line LinesPrinted def NumberOfColumns{LinesPerColumn doColumnZebra xiter 0 rmoveto}repeat grestore }def % stack: lines-per-column |- -- /doColumnZebra{ /lpc exch def gsave ZebraFollow 1 and 0 ne{ /H ZebraHeight zebra-line ZebraHeight mod sub def /lpc lpc H sub def zebra-line double-zebra mod ZebraHeight lt {H doZebra % "black" stripe followed by a "white" stripe /lpc lpc ZebraHeight sub def H ZebraHeight add} {H}ifelse % "white" stripe LineHS mul neg 0 exch rmoveto /zebra-line zebra-line LinesPerColumn add def }if /zspacing 0 def lpc dup double-zebra idiv{ZebraHeight doZebra 0 yiter rmoveto}repeat double-zebra mod dup 0 le{pop} {dup ZebraHeight gt {pop ZebraHeight} {/zspacing LineSpacing def ZebraFollow 2 and 0 ne{pop ZebraHeight}if}ifelse doZebra}ifelse grestore }def % stack: zebra-height (in lines) |- -- /doZebra{ /zh exch 0.05 sub LineHS mul zspacing sub def gsave 0 LineHeight 0.65 mul rmoveto PrintWidth 0 rlineto 0 zh neg rlineto PrintWidth neg 0 rlineto 0 zh rlineto fill grestore }def % stack: -- /printBackground{ /BackgroundColor where{ /LHg LineHeight 0.65 mul def /PHg PrintHeight LHg add def pop gsave BackgroundColor SetColor NumberOfColumns{ gsave 0 LHg rmoveto PrintWidth 0 rlineto 0 PHg neg rlineto PrintWidth neg 0 rlineto 0 PHg rlineto fill grestore PrintWidth InterColumn add 0 rmoveto }repeat grestore }if }def % tx ty rotation xscale yscale xpos ypos BeginBackImage /BeginBackImage{ /-save-image- save def /showpage{}def translate scale rotate translate }def /EndBackImage{-save-image- restore}def % string fontsize fontname rotation gray xpos ypos ShowBackText /ShowBackText{ gsave translate setgray rotate findfont exch dup/-offset- exch -0.25 mul def scalefont setfont 0 -offset- moveto /-saveLineThickness- LineThickness def /LineThickness 1 def false doOutline /LineThickness -saveLineThickness- def grestore }def /SetPageSize{ BMark/PageSize[PageWidth LandscapePageHeight LandscapeMode{exch}if]EMark = setpagedevice }def /BeginDoc{ % ---- Remember space width of the normal text font `f0'. /SpaceWidth/f0 findfont setfont( )stringwidth pop def % ---- save the state of the document (useful for ghostscript!) /docState save def % ---- [andrewi] set PageSize based on chosen dimensions UseSetpagedevice{ WarnPaperSize{SetPageSize}{mark{SetPageSize}stopped cleartomark}ifelse }if /ColumnWidth PrintWidth InterColumn add def % ---- define where printing will start /f0 F % this installs Ascent /PrintStartY PrintHeight Ascent sub def /ColumnIndex 1 def /N-Up-Counter N-Up-End 1 sub def /PLScounter PrintLineStart def }def /EndDoc{ % ---- restore the state of the document (useful for ghostscript!) docState restore }def /BeginDSCPage{ % ---- when 1st column, save the state of the page ColumnIndex 1 eq{/pageState save def}if % ---- save the state of the column /columnState save def }def /PrintHeaderWidth PrintOnlyOneHeader{PrintPageWidth}{PrintWidth}ifelse def /BeginPage{ /LinesPrinted exch def % ---- when 1st column, print all background effects ColumnIndex 1 eq{ 0 PrintStartY moveto % move to where printing will start printBackground Zebra{printZebra}if printGlobalBackground printLocalBackground }if PrintOnlyOneHeader{ColumnIndex 1 eq}{true}ifelse dup PrintHeader and{ PrintHeaderFrame{HeaderFrame}if HeaderText }if PrintFooter and{ PrintFooterFrame{FooterFrame}if FooterText }if 0 PrintStartY moveto % move to where printing will start /LineNumber where {pop SyncLineZebra {/H PageNumber 1 sub NumberOfColumns mul ColumnIndex 1 sub add LinesPerColumn mul ZebraHeight mod def /PLScounter H PrintLineStart ge{0}{PrintLineStart H sub}ifelse def /PrintLineStep ZebraHeight H sub def}if}if PLN }def /EndPage{bg{eolbg}if}def /EndDSCPage{ ColumnIndex NumberOfColumns eq{ % ---- restore the state of the page pageState restore /ColumnIndex 1 def % ---- N-up printing N-Up 1 gt{ N-Up-Counter 0 gt {% ---- Next page on same row /N-Up-Counter N-Up-Counter 1 sub def N-Up-XColumn N-Up-YColumn} {% ---- Next page on next line /N-Up-Counter N-Up-End 1 sub def N-Up-XLine N-Up-YLine}ifelse translate }if }{ % else % ---- restore the state of the current column columnState restore % ---- and translate to the next column ColumnWidth 0 translate /ColumnIndex ColumnIndex 1 add def }ifelse }def /TextStart{ LeftMargin BottomMargin PrintFooter{ FooterPad add FooterLines FooterLineHeight mul add FooterPad add FooterOffset add}if }def % stack: number-of-pages-per-sheet |- -- /BeginSheet{ /sheetState save def /pages-per-sheet exch def % ---- translate to bottom-right corner of Portrait page LandscapeMode{ LandscapePageHeight 0 translate 90 rotate }if % ---- [jack] Kludge: my ghostscript window is 21x27.7 instead of 21x29.7 /JackGhostscript where{pop 1 27.7 29.7 div scale}if UpsideDown{PageWidth LandscapePageHeight translate 180 rotate}if % ---- N-Up printing N-Up 1 gt{ % ---- landscape N-Up-Landscape{ PageWidth 0 translate 90 rotate }if N-Up-Margin dup translate % ---- scale LandscapeMode{ /HH PageWidth def /WW LandscapePageHeight def }{ /HH LandscapePageHeight def /WW PageWidth def }ifelse /xx 0 def N-Up-Landscape{ /ww WW WW mul N-Up-Lines HH mul div def /cc HH N-Up-Columns N-Up-Missing add div def ww cc gt{/xx WW def/WW cc ww div WW mul def/xx xx WW sub def}if }{ /hh HH N-Up-Columns N-Up-Missing add div def /cc HH N-Up-Lines div def hh cc gt{/xx WW def/WW cc hh div WW mul def/xx xx WW sub def}if }ifelse WW N-Up-Margin sub N-Up-Margin sub N-Up-Landscape {N-Up-Lines div HH} {N-Up-Columns N-Up-Missing add div WW}ifelse div dup scale LandscapeMode{/yy 0 def}{/yy xx def/xx 0 def}ifelse xx N-Up-Repeat 1 sub LandscapePageHeight mul yy add translate % ---- go to start position in page matrix N-Up-XStart N-Up-Missing 0.5 mul LandscapeMode {LandscapePageHeight mul N-Up-YStart add} {PageWidth mul add N-Up-YStart}ifelse translate }if % ---- translate to lower left corner of TEXT TextStart translate % ---- N-up printing N-Up 1 gt N-Up-Border and pages-per-sheet 0 gt and{ % ---- page border gsave 0 setgray TextStart exch neg exch neg moveto N-Up-Repeat {N-Up-End {gsave PageWidth 0 rlineto 0 LandscapePageHeight rlineto PageWidth neg 0 rlineto closepath stroke grestore /pages-per-sheet pages-per-sheet 1 sub def pages-per-sheet 0 le{exit}if N-Up-XColumn N-Up-YColumn rmoveto }repeat pages-per-sheet 0 le{exit}if N-Up-XLine N-Up-XColumn sub N-Up-YLine rmoveto }repeat grestore }if }def /EndSheet{ showpage sheetState restore }def /SetHeaderLines{ % nb-lines -- /HeaderLines exch def % ---- bottom up HeaderPad HeaderLines 1 sub HeaderLineHeight mul add HeaderTitleLineHeight add HeaderPad add /HeaderHeight exch def }def /SetFooterLines{ % nb-lines -- /FooterLines exch def % ---- bottom up FooterPad FooterLines FooterLineHeight mul add FooterPad add /FooterHeight exch def }def % |---------| % | tm | % |---------| % | header | % |-+-------| <-- (x y) % | ho | % |---------| % | text | % |---------| % | fo | % |---------| % | footer | % |-+-------| <-- (0 0) % | bm | % |---------| % -- |- x y /HeaderFrameStart{0 PrintHeight HeaderOffset add}def /FooterFrameStart{0 FooterHeight FooterOffset add neg}def /doFramePath{ /h exch def PrintHeaderWidth 0 rlineto 0 h rlineto PrintHeaderWidth neg 0 rlineto 0 h neg rlineto }def /HeaderFramePath{HeaderHeight doFramePath}def /FooterFramePath{FooterHeight doFramePath}def % /path-fun /start-fun vector-property doFrame /doFrame{ /vecFrame exch def /startFrame exch load def /pathFrame exch load def gsave vecFrame 2 get setlinewidth % frame border width % ---- do the shadow of the next rectangle startFrame moveto 1 -1 rmoveto pathFrame vecFrame 4 get SetColor fill % frame shadow color % ---- do the next rectangle ... startFrame moveto pathFrame gsave vecFrame 1 get SetColor fill grestore % frame background gsave vecFrame 3 get SetColor stroke grestore % frame border color grestore }def /HeaderFrame{/HeaderFramePath /HeaderFrameStart HeaderFrameProperties doFra= me}def /FooterFrame{/FooterFramePath /FooterFrameStart FooterFrameProperties doFra= me}def /HeaderStart{ HeaderFrameStart exch HeaderPad add exch % horizontal pad % ---- bottom up HeaderPad add % vertical pad HeaderDescent sub HeaderLineHeight HeaderLines 1 sub mul add }def /FooterStart{ FooterFrameStart exch FooterPad add exch % horizontal pad % ---- bottom up FooterPad add % vertical pad FooterDescent sub FooterLineHeight FooterLines 1 sub mul add }def /HeaderClip{HeaderFrameStart moveto HeaderFramePath clip}def /FooterClip{FooterFrameStart moveto FooterFramePath clip}def /strcat{ dup length 3 -1 roll dup length dup 4 -1 roll add string dup 0 5 -1 roll putinterval dup 4 2 roll exch putinterval }def /pagenumberstring{ PageNumber 32 string cvs ShowNofN{(/)strcat PageCount 32 string cvs strcat}if }def % lines is-right HeaderOrFooterTextLines /HeaderOrFooterTextLines{ /is_right exch def HFStart moveto { % ---- process the lines aload pop exch F gsave dup xcheck{exec}if is_right{ dup stringwidth pop PrintHeaderWidth exch sub HFPad HFPad add sub 0 rmoveto }if HFColor SetColor show grestore 0 HFLineHeight neg rmoveto }forall }def % right-lines left-lines /start lineheight pad fore-color HeaderOrFooterTex= t /HeaderOrFooterText{ /HFColor exch def /HFPad exch def /HFLineHeight exch def /HFStart exch load def % -- rightLines leftLines -- at stack % ---- hack: `PN 1 and' =3D=3D `PN 2 modulo' % ---- if even page number and duplex, then exchange left and right PageNumber 1 and 0 eq SwitchHeader and{exch}if % ---- process the left lines false HeaderOrFooterTextLines % ---- process the right lines true HeaderOrFooterTextLines }def /HeaderText{ gsave HeaderClip HeaderLinesRight HeaderLinesLeft /HeaderStart HeaderLineHeight HeaderPad HeaderFrameProperties 0 get HeaderOrFooterText grestore }def /FooterText{ gsave FooterClip FooterLinesRight FooterLinesLeft /FooterStart FooterLineHeight FooterPad FooterFrameProperties 0 get HeaderOrFooterText grestore }def /ReportFontInfo{ 2 copy /t0 3 1 roll DefFont /t0 F /lh FontHeight def /sw( )stringwidth pop def /aw(01234567890abcdefghijklmnopqrstuvwxyz)dup length exch stringwidth pop exch div def /t1 12/Helvetica-Oblique DefFont /t1 F gsave (languagelevel =3D )show languagelevel 32 string cvs show grestore 0 FontHeight neg rmoveto gsave (For )show 128 string cvs show ( )show 32 string cvs show ( point, the line height is )show lh 32 string cvs show (, the space width is )show sw 32 string cvs show (,)show grestore 0 FontHeight neg rmoveto gsave (and a crude estimate of average character width is )show aw 32 string cvs show (.)show grestore 0 FontHeight neg rmoveto }def % cm to point /cm{72 mul 2.54 div}def /ReportAllFontInfo{ % key =3D font name value =3D font dictionary FontDirectory{pop 10 exch ReportFontInfo}forall }def % 3 cm 20 cm moveto 10/Courier ReportFontInfo showpage % 3 cm 20 cm moveto ReportAllFontInfo showpage % =3D=3D=3D END ps-print prologue 1 /printGlobalBackground{ }def /printLocalBackground{ }def %%EndProlog %%BeginSetup %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Italic %%IncludeResource: font Courier %%IncludeResource: font Courier-Bold %%IncludeResource: font Courier-Oblique %%IncludeResource: font Courier-BoldOblique %%IncludeResource: font Helvetica %%IncludeResource: font Helvetica-Bold /h0 14(Helvetica-Bold)cvn DefFont /h1 12(Helvetica)cvn DefFont /L0 6(Times-Italic)cvn DefFont /H0 12(Helvetica)cvn DefFont % ---- These lines must be kept together because... /h0 F /HeaderTitleLineHeight FontHeight def /h1 F /HeaderLineHeight FontHeight def /HeaderDescent Descent def /H0 F /FooterLineHeight FontHeight def /FooterDescent Descent def % ---- ...because `F' has a side-effect on `FontHeight' and `Descent' /f0 8.5(Courier)cvn DefFont /f1 8.5(Courier-Bold)cvn DefFont /f2 8.5(Courier-Oblique)cvn DefFont /f3 8.5(Courier-BoldOblique)cvn DefFont /SpaceWidthRatio 0.600000 def %%BeginFeature: *ManualFeed False BMark /ManualFeed false EMark setpagedevice %%EndFeature %%%% Start of Mule Section /Latin1Encoding { % newname fontname | font findfont dup length dict begin { 1 index /FID ne { def } { pop pop } ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } bind def %% Redefine fonts for multiple charsets. /ReDefFont { % fontname encoding fdepvector size | - 20 dict begin 3 index findfont { 1 index /FID ne 2 index /UniqueID ne and {def} {pop pop} ifelse } forall /FontType 0 def /FMapType 3 def /EscChar 0 def % FontMatrix ::=3D [ size 0 0 size 0 0 ] /FontMatrix exch [ exch dup 0 exch 0 exch 0 0 ] def /FDepVector exch def /Encoding exch def currentdict end % fontname dic definefont pop } bind def /EscChar 0 def %% End of Mule Section /F00 /Courier findfont def /ETOP0 256 array def 0 1 255 { ETOP0 exch 0 put } for ETOP0 0 0 put /VTOP0 [F00] def /ETOP1 256 array def 0 1 255 { ETOP1 exch 0 put } for ETOP1 0 0 put /VTOP1 [F00] def /ETOP2 256 array def 0 1 255 { ETOP2 exch 0 put } for ETOP2 0 0 put /VTOP2 [F00] def /ETOP3 256 array def 0 1 255 { ETOP3 exch 0 put } for ETOP3 0 0 put /VTOP3 [F00] def /Vh0 [ VTOP1 aload pop ] def Vh0 0 /Helvetica-Bold-latin1 /Helvetica-Bold Latin1Encoding put /h0 ETOP1 Vh0 14.000000 ReDefFont /Vh1 [ VTOP0 aload pop ] def Vh1 0 /Helvetica-latin1 /Helvetica Latin1Encoding put /h1 ETOP0 Vh1 12.000000 ReDefFont /VH0 [ VTOP0 aload pop ] def VH0 0 /Helvetica-latin1 /Helvetica Latin1Encoding put /H0 ETOP0 VH0 12.000000 ReDefFont /Vf0 [ VTOP0 aload pop ] def Vf0 0 /Courier-latin1 /Courier Latin1Encoding put /f0 ETOP0 Vf0 8.500000 ReDefFont /Vf1 [ VTOP1 aload pop ] def Vf1 0 /Courier-Bold-latin1 /Courier-Bold Latin1Encoding put /f1 ETOP1 Vf1 8.500000 ReDefFont /Vf2 [ VTOP2 aload pop ] def Vf2 0 /Courier-Oblique-latin1 /Courier-Oblique Latin1Encoding put /f2 ETOP2 Vf2 8.500000 ReDefFont /Vf3 [ VTOP3 aload pop ] def Vf3 0 /Courier-BoldOblique-latin1 /Courier-BoldOblique Latin1Encoding put /f3 ETOP3 Vf3 8.500000 ReDefFont BeginDoc %%EndSetup %%Page: 1 1 /Lines 3 def /PageCount 1 def 1 BeginSheet BeginDSCPage /LineNumber 1 def /PageNumber 1 def /HeaderLinesLeft[ [/h0 (testemacs \(unsaved\))] [/h1 (~/Desktop/)] ]def /HeaderLinesRight[ [/h0 /pagenumberstring load] [/h1 (06/15/13)] ]def 2 SetHeaderLines 0 BeginPage /f0 F false BG 0.000 0.000 0.000 FG 16 W (Adobe) S PHL LHL (Testing emacs with Acrobat 11.0.03) S EndPage EndDSCPage EndSheet %%Trailer %%Pages: 1 EndDoc %%EOF Regards, [cid:image001.png@01CE6963.F4C0ADF0]| Deepak Chauhan | TRT (Acrobat)- Adobe= Systems Incorporated | *: dechauha@adobe.com Visit us at: http://forums.adobe.com --_000_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi Team,

 

I wo= uld like to report a bug with emacs 24.3 generated postscript file.

 

B= ug Title: Blank pdf is generated using Adobe Acrobat XI distiller and e= macs postscript.

 

Description: Generate a postscript using emacs on= Mac OSX and convert the file to pdf using Adobe Acrobat XI. The generated = postscript is blank, however the conversion of the some file on Windows pla= tform is a success.

 

Investigation result at our end:

We have found that the problem seems to be in FontBb= ox for font used on Mac. PS program uses font’s bbox to calculate asc= ent. This ascent is fed to calculate the location where text will be printe= d. The font bbox obtained from fonts on Mac is way huge compared to Windows= and whole calculation goes haywire in PS program.

Given this observation, it seems to be issue on PS file doing = complex calculations not taking into account the font differences in Mac an= d Win. The correction will needs to happen in source PS file.

 

Environm= ent : Mac OS X 10.8.3, Acrobat XI, emacs 24.3

Steps to replicate a prob= lem

·         Launch emacs

&mi= ddot;    &= nbsp;    Click on New file ic= on and enter the name of the file. Example: testemacs

= · &nb= sp;       Sele= ct the location and click on “Save”

·  &nb= sp;      Enter the = some text.

Example

Ad= obe

Testing= emacs with Acrobat 11.0.03.

·     &nbs= p;   Press Option + X on the key b= oard and enter this command; ps-spool-buffer-with-faces

 

·  &nbs= p;      Click on &#= 8220;Buffers”-> “Postscript”

·  &= nbsp;      Click on= “Save As” to save the newly generated postscript file.

·         = Launch Acrobat Xi distiller, drag the ps on the distiller window.=

 

Actual Result

Blank pdf= with no content is generated.

&nbs= p;

Expected Result

Pdf generation should be fine.

 

Attaching the PDF file gen= erated on Mac and postscript for the reference. I am also pasting the ps so= urce code below.

 

<= p class=3DMsoNormal>Please feel free to let me know if you need more inform= ation.

 

%!PS-Adobe-3.0

%%Title: testem= acs

%%Creator: ps-print v7.3.5<= /o:p>

%%For: Acrobat

%%CreationDate: 01:10:26 Jun 15 2013

%%Orientation: Portrait

%%+ font Courier

%%+ font Courier-Bold

%%+ font= Courier-Oblique

%%+ font Courier-Bo= ldOblique

%%+ font Helvetica

%%+ font Helvetica-Bold

%%DocumentSuppliedResources: procset PSPrintUserDefined= Prologue-acrobat 0 0

%%DocumentMedia= : Letter 612 792 0 () ()

%%PageOrder= : Ascend

%%Pages: (atend)=

%%Requirements:

%%EndComments

%%BeginDefa= ults

%%PageMedia: Letter<= /span>

%%EndDefaults

 

%%BeginProlog

 

/ErrorMessage  1 def

 

% =3D=3D=3D BEGIN p= s-print prologue 0

% version: 6.0

 

% Copyright (C) 2000-2013 Free Software Foundation, Inc.

 

=  

% GNU Emacs is free software:= you can redistribute it and/or modify

% the Free Software Foundation, eithe= r version 3 of the License, or

% (at= your option) any later version.

 

% GNU Emacs is distributed in th= e hope that it will be useful,

% but= WITHOUT ANY WARRANTY; without even the implied warranty of

% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPO= SE.  See the

% GNU General Publ= ic License for more details.

&n= bsp;

% You should have received a copy of= the GNU General Public License

% al= ong with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.=

 

% As a special exception, the copyright holders of this module g= ive

% you permission to include the = module in a Postscript file generated

% converting text to be printed, regardless of = the license terms of

% that text, an= d to use under terms of your choice the page images

% resulting from formatting said combination.  If you = modify this

% module, you may extend= this exception to your version of the module

% but you are not obligated to do so.  If you do not wish to= do so,

% delete this exception stat= ement from your version.

 =

 

%%BeginProcSet: ErrorHandler

%= Downloaded Error Break-page handler

% Adapted from:

%   =   PostScript Language Program Design,

%     Adobe Systems Incorporated.

%     Appendix A, pages 217-21= 9

<= span style=3D'font-family:"Courier New"'> 

/ps$brkpage where{pop}

{=

/ps$brkpage 64 dict def=

ps$brkpage begin

  /tx 0 def/ty 0 def/toy 0 def/tox 0 def

  /prnt{

   dup type/stringtype ne{=3Dstring cvs}if

=

   dup length 6 mul

   /tx exch def/ty 10 def

   currentpoint/toy exch def/tox exch def<= /span>

   1 setgray newpath

   tox toy 2 sub moveto<= /p>

   0 ty rlineto tx 0 rlineto

   0 ty neg rlineto

=

   closepath fill

   tox toy moveto 0 setgray show

<= p class=3DMsoNormal style=3D'text-autospace:none'>  }bind def

&n= bsp; /nl{currentpoint exch pop lmargin exch moveto 0 -10 rmoveto}def

  /=3D=3D{/cp 0 def typeprint nl}def<= o:p>

  /typeprint{dup type dup curre= ntdict exch known{exec}{unknowntype}ifelse}readonly def

  /lmargin 72 def

  /rmargin 72 def

 = /tprint{

   dup length cp= add rmargin gt{nl/cp 0 def}if

 = ;  dup length cp add/cp exch def

  }readonly= def

  /cvsprint{=3Dstring cvs = tprint( )tprint}readonly def

  = /unknowntype{exch pop cvlit(??)tprint cvsprint}readonly def

  /integertype{cvsprint}readonly def

  /realtype{cvsprint}readonly def<= /o:p>

  /booleantype{cvsprint}readonly def=

  /operatortype{(//)tprint cvs= print}readonly def

  /marktype{= pop(-mark-)tprint}readonly def

 = ; /dicttype{pop(-dictionary-)tprint}readonly def

  /nulltype{pop(-null-)tprint}readonly def

  /filetype{pop(-filestream-)tprint}readonly = def

  /savetype{pop(-savelevel-= )tprint}readonly def

  /fonttyp= e{pop(-fontid-)tprint}readonly def

&= nbsp; /nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def

  /stringtype{

   dup rcheck

   {pop(-string-)tprint}ifelse}readonly def<= /span>

  /arraytype{

   dup rcheck

&= nbsp;  {dup xcheck

  =   {({)tprint{typeprint}forall(})tprint}

    {([)tprint{typeprint}forall(])tprint}ifelse}

   {pop(-array-)tprint}ifel= se}readonly def

  /packedarrayt= ype{

   dup rcheck

   {dup xcheck<= /p>

    {({)tprint{typeprint}forall(})tprin= t}

=     {([)tprint{typ= eprint}forall(])tprint}ifelse}

 = ;  {pop(-packedarray-)tprint}ifelse}readonly def

=

  /courier/Courier findfont 10 scalefont def

  /OLDhandleerror errordict/handleerro= r get def

end %ps$brkpage

 

  systemdict b= egin $error begin ps$brkpage begin

&= nbsp; newerror

  {/newerror fal= se store vmstatus pop pop 0 ne{grestoreall}if

   initgraphics

=    ErrorMessage 1 and 0 ne{ % print on paper

    courier setfont lmargin 720 moveto

    (# ERROR: )prnt err= orname prnt nl

    (#= OFFENDING COMMAND: )prnt/command load prnt

    $error/ostack known

    {nl nl(# STACK:)prnt nl nl $error/ostack ge= t aload length{=3D=3D}repeat}if

&nbs= p;   $error/errorinfo known

 &n= bsp;  systemdict/showpage get exec}if

   ErrorMessage 2 and 0 ne{ % send back to printing system=

    (\%\%[ Error: )p= rint errorname =3Dprint

  =   (; OffendingCommand: )print/command load =3Dprint<= /p>

    $error/errorinfo known

    {(; ErrorInfo:)print $error/e= rrorinfo get aload length{( )=3Dprint =3Dprint}repeat}if<= /p>

    ( ]\%\%)=3D flush=

    (\%\%[ Rest of job is ignored ]\%\= %)=3D flush}if

   /newerro= r true store}if

  end end end

  stop

} % handleerror

dup = 0 systemdict put % replace name by actual dict object

=

dup 4 ps$brkpage put % replace name by dict object<= /o:p>

bind readonly

 

errordict 3 1 r= oll put % put proc in errordict as /handleerror

}ifelse

%%EndProcSet

 

 

% operators for langua= ge level 2 only

 

(<<)cvn where     =          % << operator

{pop/BMark(<<)cvn load def}

{/BMark{mark}bind def}ifelse

(>>)cvn where     &n= bsp;        % >> operator

{pop/EMark(>>)cvn load def}=

{/EMark{counttomark 2 idiv dup dict begin{de= f}repeat pop currentdict end}bind def}ifelse

/setpagedevice where       % setpag= edevice

{pop}

<= p class=3DMsoNormal style=3D'text-autospace:none'>{/setpagedevice{pop}bind def}ifelse

<= p class=3DMsoNormal style=3D'text-autospace:none'>/packedarray where      &nbs= p;  % packedarray

{pop}

{/packedarray{array astore readonly}bind de= f}ifelse

 

 

% device= dependent operators

 

/DefOp{

{exch d= up where{pop}{pop/pop}ifelse load def}ifelse}def

 

/duplexmode/setd= uplexmode DefOp

/tumble/settumble De= fOp

 

% =3D=3D=3D END ps-print prologue 0

 

%%BeginResource= : procset PSPrintUserDefinedPrologue-acrobat 0 0

 

 

%%EndResource

 

/LandscapeMode = ;      false def

/UpsideDown          fal= se def

/NumberOfColumns  &= nbsp;  1 def

/LandscapePageHeig= ht 792.0 def

/PrintPageWidth &n= bsp;    498.6141732283465 def

/PrintWidth   498.6141732283465 def

/PrintHeight  643.7029732283465 def

/LeftMargin   56.69291338582677 def=

/RightMargin  56.69291338582677 def=

/InterColumn  56.6929133858267= 7 def

/BottomMargin 42.5196850393700= 8 def

/TopMargin    4= 2.51968503937008 def

/HeaderOffset 2= 8.346456692913385 def

/HeaderPad&nbs= p;   2.4276 def

/FooterO= ffset 28.346456692913385 def

/Footer= Pad    0 def

/FooterL= ines  2 def

/ShowNofN &nbs= p;         true def

/SwitchHeader       f= alse def

/PrintOnlyOneHeader false d= ef

= /PrintHeader   &nb= sp;    true def

/Prin= tHeaderFrame   true def

/H= eaderFrameProperties [0.000 0.900 0.400 0.000 0.000 ]def<= /p>

/PrintFooter       = false def

/PrintFooterFrame &n= bsp; true def

/FooterFrameProperties= [0.000 0.900 0.400 0.000 0.000 ]def

/LineSpacing      0 def

/ParagraphSpacing 0 def

/LinesPerColumn   72 def=

/WarnPaperSize    true de= f

<= span style=3D'font-family:"Courier New"'>/Zebra    &nbs= p;       false def

/PrintLineNumber  false def

/SyncLineZebra    false def

<= p class=3DMsoNormal style=3D'text-autospace:none'>/ZebraFollow      0 def

/PrintLineStep    1 def<= /o:p>

/PrintLineStart   1 def

/LineNumberColor  [0.000 0.000 0.000] = def

/ZebraHeight   &n= bsp;  3 def

/ZebraColor &n= bsp;     0.950 def

/UseSetpagedevice false def

 

/PageWidth PrintPageWid= th LeftMargin add RightMargin add def

/N-Up   &nbs= p;       1 def

/N-Up-Landscape false def

= /N-Up-Border    true def

/N-Up-Lines     1 def

/N-Up-Columns   1 def

/N-Up-Missing   0 def

/N-Up-Repeat    N-Up-Lines def

/N-Up-End      = ; N-Up-Columns def

/N-Up-XColumn&nbs= p;  PageWidth def

/N-Up-YColumn=    0 def

/N-Up-XLine =     N-Up-End 1 sub PageWidth mul neg def

/N-Up-YLine     LandscapePageHeight= neg def

/N-Up-XStart  &nb= sp; 0 def

/N-Up-YStart  &n= bsp; 0 def

 <= /p>

% =3D=3D=3D BEGIN ps-print prologue 1

% version: 6.1

% Copyright (C) 2000-2013 F= ree Software Foundation, Inc.

&= nbsp;

% This file is part of GNU Emacs.

 

% GNU Emacs is free software: you can redistribute it and/or modi= fy

= % it under the terms of the GNU G= eneral Public License as published by

% (at your option) any later version.

 

% GNU Emacs is distributed in the hope that it will be useful,<= /o:p>

% but WITHOUT ANY WARRANTY; without even = the implied warranty of

% MERCHANTAB= ILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<= /p>

% GNU General Public License for more details.

 

% along with GNU Emacs.  If not, se= e <http://www.gnu.org/licenses/>.

 

% As a special exception,= the copyright holders of this module give

% you permission to include the module in a Postscript file generate= d

<= span style=3D'font-family:"Courier New"'>% by Emacs or other free software = together with the result of

% conver= ting text to be printed, regardless of the license terms of

% that text, and to use under terms of your choice = the page images

% resulting from for= matting said combination.  If you modify this

% module, you may extend this exception to your version of t= he module

% but you are not obligate= d to do so.  If you do not wish to do so,

% delete this exception statement from your version.<= /span>

 

<= o:p> 

% ISOLatin1Encoding stolen fro= m ps_init.ps in GhostScript 2.6.1.4:

/ISOLatin1Encoding where{pop}{

% --= The ISO Latin-1 encoding vector isn't known, so define it.

% -- The first half is the same as the standard enc= oding,

% -- except for minus instead= of hyphen at code 055.

/ISOLatin1En= coding

StandardEncoding 0 45 getinte= rval aload pop

    /m= inus

StandardEncoding 46 82 getinter= val aload pop

%*** NOTE: the followi= ng are missing in the Adobe documentation,

%*** but appear in the displayed table:

%*** macron at 0225, dieresis at 0230, cedilla at 0233, space at= 0240.

% 0200 (128)

    /.notdef/.notdef/.notdef/.notdef/= .notdef/.notdef/.notdef/.notdef

&nbs= p;   /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.no= tdef

    /dotlessi/gr= ave/acute/circumflex/tilde/macron/breve/dotaccent

    /dieresis/.notdef/ring/cedilla/.notdef/hun= garumlaut/ogonek/caron

% 0240 (160)<= o:p>

    /space/exclamdown= /cent/sterling

   &nb= sp; /currency/yen/brokenbar/section

=     /dieresis/copyright/ordfeminine/guillemotleft=

     /logicalnot/hyphen/= registered/macron

   = /degree/plusminus/twosuperior/threesuperior

     /acute/mu/paragraph/periodcentered<= /o:p>

    /cedilla/onesuperior/o= rdmasculine/guillemotright

 &n= bsp;   /onequarter/onehalf/threequarters/questiondown<= /span>

% 0300 (192)

    /Agrave/Aacute/Acircumflex/Atilde=

     /Adieresis/Aring/AE/Ccedilla=

    /Egrave/Eacute/E= circumflex/Edieresis

  &nb= sp;  /Igrave/Iacute/Icircumflex/Idieresis

    /Eth/Ntilde/Ograve/Oacute

     /Ocircumflex/Otilde/Odieresis/= multiply

    /Oslash/= Ugrave/Uacute/Ucircumflex

 &n= bsp;   /Udieresis/Yacute/Thorn/germandbls

% 0340 (224)

 &= nbsp;  /agrave/aacute/acircumflex/atilde

     /adieresis/aring/ae/ccedilla<= /span>

    /egrave/eacute/ecircumflex/e= dieresis

     /i= grave/iacute/icircumflex/idieresis

&= nbsp;   /eth/ntilde/ograve/oacute

     /ocircumflex/otilde/odieresis/divide

    /oslash/ugrave/uacut= e/ucircumflex

   &nbs= p; /udieresis/yacute/thorn/ydieresis

256 packedarray def

}ifelse

 

  d= up

=   length 12 add dict % Make = a new font (a new dict the same size

            &n= bsp;   % as the old one) with room for our new symbols.

 

 

&nb= sp;   % Copy each of the symbols from the old dictionary

    % to the new one except f= or the font ID.

    {= 1 index/FID ne{def}{pop pop}ifelse}forall

 

    % Ov= erride the encoding with the ISOLatin1 encoding.

    currentdict/FontType get 0 ne{/Encoding ISO= Latin1Encoding def}if

 

    % Use the font's boundin= g box to determine the ascent, descent,

    % and overall height; don't forget that these values= have to be

    % tra= nsformed using the font's matrix.

 

%     =      ^    (x2 y2)

<= p class=3DMsoNormal style=3D'text-autospace:none'>%          |&= nbsp;      |

%  =         |  +----+ - -

%        =   |  |    |   ^

%          |&nb= sp; |    |   | Ascent (usually > 0)<= /span>

%       &nbs= p;  |  |    |   |

<= p class=3DMsoNormal style=3D'text-autospace:none'>% (0 0) -> +--+----+-------->

<= p class=3DMsoNormal style=3D'text-autospace:none'>%         &nb= sp;   |    |   |

%         &nbs= p;   |    |   v Descent (usually < 0)=

% (x1 y1) --> +----+ - -

 

    {/FontBBox load aload pop  &nb= sp;           % -- x1 y1 = x2 y2

     FontM= atrix transform/Ascent  exch def pop

     FontMatrix transform/Descent exch def pop}

    {/PrimaryFont FDep= Vector 0 get def

   &= nbsp; PrimaryFont/FontBBox get aload pop

     PrimaryFont/FontMatrix get transform/Ascent e= xch def pop

     = ;PrimaryFont/FontMatrix get transform/Descent exch def pop}ifelse

 

 

    % Defi= ne these in case they're not in the FontInfo

    % (also, here they're easier to get to).<= /o:p>

    /UnderlinePosition&nbs= p; Descent 0.70 mul def

  =   /OverlinePosition   Descent UnderlinePosition sub Ascent a= dd def

    /Strikeout= Position  Ascent 0.30 mul def

&= nbsp;   /LineThickness      FontHeight 0= .05 mul def

    /Xsha= dow            FontH= eight  0.08 mul def

  = ;  /Yshadow          &nbs= p; FontHeight -0.09 mul def

&nb= sp;   /SpaceBackground    Descent neg UnderlinePos= ition add def

    /XB= ox            &= nbsp;  Descent neg def

 &n= bsp;  /YBox          = ;     LineThickness 0.7 mul def

 

  &= nbsp; currentdict      % Leave the new font on the= stack

    end &= nbsp;            % S= top using the font as the current dictionary.

    definefont      = % Put the font into the font dictionary

    pop        =       % Discard the returned font.

}bind def

 

% Font definition

/DefFont{findfont exch scalefont reencodeFontISO}= def

 

% Font selection

/F{

  findfont

=

  dup/Ascent      &nbs= p;     get/Ascent      &n= bsp;     exch def

  dup/FontHeight&nb= sp;       get/FontHeight   &nb= sp;    exch def

 = ; dup/UnderlinePosition get/UnderlinePosition exch def

  dup/OverlinePosition  get/OverlinePosition&n= bsp; exch def

  dup/StrikeoutPo= sition get/StrikeoutPosition exch def

  d= up/Xshadow           get/= Xshadow           exch de= f

<= span style=3D'font-family:"Courier New"'>  dup/Yshadow  &nbs= p;        get/Yshadow   &= nbsp;       exch def

  dup/SpaceBackground   get/SpaceBackground&n= bsp;  exch def

  dup/XBox&= nbsp;           &nbs= p; get/XBox          &nbs= p;   exch def

  dup/Y= Box            =   get/YBox          =     exch def

  s= etfont

}def

 

/FG/setrgbcolo= r load def

 <= /p>

/bg false def

/= BG{

  dup/bg exch def

  {[4 1 roll]}

  {[1.0 1.0 1.0]}

  /bgcolor exch= def

}def

 

%  B &= nbsp;  width    C

% = ;            &n= bsp; | Ascent  (usually > 0)

% A +           +

%       = ;        | Descent (usually < 0)=

%   +-----------+

%  E    width  &nb= sp; D

 

/dobackground{       &nb= sp;          % width --

  currentpoint    = ;            &n= bsp; % -- width x y

  gsave

    newpath

    moveto    = ;             %= A (x y)

    0 Ascent= rmoveto            = % B

    dup 0 rlineto=             &nb= sp;  % C

    0 D= escent Ascent sub rlineto     % D

=

    neg 0 rlineto    &= nbsp;          % E<= /span>

    closepath<= /p>

    FillBgColor

  grestore

}def=

 

/eolbg{         &nb= sp;            =    % dobackground until right margin

  PrintWidth        = ;            % -- x-= eol

  currentpoint pop &nb= sp;            % -- = cur-x

  sub   &n= bsp;            = ;      % -- width until eol

<= p class=3DMsoNormal style=3D'text-autospace:none'>  dobackground

}def

 

/LineHS LineHeight LineSpacing add def

/ParagraphHS LineHeight ParagraphSpacing add def

/PSL{/h exch def bg{eolbg}if  0  = currentpoint exch pop h sub  moveto}def

/PLN{PrintLineNumber{doLineNumber}if}def

 

/SL{LineHS PSL= isLineStep pop}def    % Soft Linefeed

=

 

/PHL{Paragr= aphHS PSL PLN}def         % Paragra= ph Hard Linefeed

/LHL{LineHS PSL PLN= }def            = ;  % Hard Linefeed

 <= /o:p>

% Some debug

/dcp{currentpoint exch 40 string cvs print(, )print =3D}def=

/dp{print 2 copy  exch 40 string cv= s print(, )print =3D}def

 =

/W{

  pop&nbs= p;          % Discard the Y co= mponent.

  mul   = ;        % Multiply the width of a space=

      = ;          % by the number of = spaces to plot

  bg{dup dobackg= round}if

  0 rmoveto=

}def

=  

/Effect   &nbs= p;      0 def

/Effec= tStrikeout false def

/EffectOverline=   false def

/EffectShadow =    false def

/EffectBox&nb= sp;      false def

/EffectOutline   false def

 

% effect: 1  = - underline  2   - strikeout  4  - overline

%       = ;  8  - shadow     16  - box  =       32 - outline

/EF{

  /Effect exch d= ef

=   /EffectUnderline Effect 1&= nbsp; and 0 ne def

  /EffectStr= ikeout Effect 2  and 0 ne def

&= nbsp; /EffectOverline  Effect 4  and 0 ne def

  /EffectShadow    Effect 8  a= nd 0 ne def

  /EffectBox &= nbsp;     Effect 16 and 0 ne def

<= p class=3DMsoNormal style=3D'text-autospace:none'>  /EffectOutline   Effect 32 and 0 ne def

}def

 

% stack:  string&= nbsp; |-  --

/S{

  /xx currentpoint dup Descent add/yy exch de= f

<= span style=3D'font-family:"Courier New"'>  Ascent add/YY exch def def<= o:p>

  dup stringwidth pop xx add/XX= exch def

  EffectShadow{<= /o:p>

    /yy yy Yshadow add def=

    /XX XX Xshadow a= dd def

  }if<= /p>

  bg{

&nbs= p;   true

  &nbs= p; EffectBox

    = ;  {SpaceBackground doBox}

&nbs= p;     {xx yy XX YY doRect}

    ifelse

&nbs= p; EffectBox      {false 0 doBox}if  &nb= sp;      % box

  EffectShadow   {dup doShadow}if    = ;      % shadow

  EffectOutline

 &n= bsp;  {true doOutline}        =          % outline

    {show}    &nb= sp;            =      % normal text

  EffectUnderl= ine{UnderlinePosition Hline}if    % underline

  EffectStrikeout{StrikeoutPosition Hline}if&= nbsp;   % strikeout

 = EffectOverline {OverlinePosition  Hline}if    % overli= ne

= }bind def

 

% stack: = ; position  |-  --

/Hline{=

  currentpoint exch pop add du= p

<= span style=3D'font-family:"Courier New"'>  gsave

=

  newpath

&nb= sp; xx exch moveto

  XX exch li= neto

  closepath

  LineThickness setlinewidth stroke

  grestore

}bind def

 

% stack:  fill-or-not delta  |-&nb= sp; --

/doBox{

=

  /dd exch def

  XX XBox add dd add YY YBox add dd add

  doRect

}b= ind def

 

=

% stack:  fill-or-not lower-x lower-y upper-x upper-= y  |-  --

/doRect{

  /rYY exch def

<= p class=3DMsoNormal style=3D'text-autospace:none'>  /rXX exch def

  /rxx e= xch def

  gsave

  newpath

  rxx = rYY lineto

  rxx ryy lineto

  rXX ryy lineto=

  closepath

  {LineT= hickness setlinewidth stroke}ifelse

=   grestore

}bind def=

 

/doShadow{

  gsave

  Xshadow Yshadow rmoveto<= /span>

  false doOutline

  grestore

}bind= def

 

/st 1 string def

 

= % stack:  string fill-or-not=   |-  --

/doOutline{<= /o:p>

  /-fillp- exch def

  /-ox- currentpoint/-oy- exch def def

  gsave

  LineThickness setlinewidth

  {st 0 3 -1 roll put

   st dup true charpath

&= nbsp;  -fillp- {gsave FillBgColor grestore}if

   stroke stringwidth

   -oy- add/-oy- exch def

   -ox- add/-ox- exch def

   -ox- -oy- moveto

  }forall

  grestore<= o:p>

  -ox- -oy- moveto

}bind def

 

% stack:  --=

/FillBgColor{bgcolor aload pop setrgbcolor f= ill}bind def

 

% stack:  -- |- boolean

/isLineStep{

  = SyncLineZebra

  {PLScounter 0 g= t            &n= bsp;            = ;     % or zebra

   {/PLScounter PLScounter 1 sub def PLScounter 0 eq}=

   {false}ifelse=

   PrintLineStep 1 gt

=

   {/PrintLineStep PrintLineStep 1 sub def}

   {/PrintLineStep ZebraHeigh= t def

    /PLScounter= PrintLineStart def}ifelse}

  {= LineNumber PrintLineStart sub PrintLineStep mod 0 eq}ifelse  % or line= step

}def

 

% stack:  = --

= /doLineNumber{<= /p>

  /LineNumber where

  {pop

   i= sLineStep           =    % or line step

 &n= bsp; LineNumber Lines ge or  % or last line

   {currentfont

 &n= bsp;  LineNumberColor SetColor

=     /L0 findfont setfont

    LineNumber Lines ge

    {(end      )}=

    {LineNumber 6 string cvs(=       )strcat}ifelse

    dup stringwidth pop neg 0 rmoveto

    show

    grestore

    setfont}if

    /LineNumber LineNumber 1 add def

<= p class=3DMsoNormal style=3D'text-autospace:none'>  }if

}def

 

% stack: color-specifier |- --

 

% stack: --

/printZebra{

  gsave

  ZebraColor SetColor

  /double-zebra ZebraHeight ZebraHeight add def

  /yiter double-zebra LineHS mul neg def

  /xiter PrintWidth InterColumn add d= ef

=   /zebra-line LinesPrinted d= ef

=   NumberOfColumns{LinesPerCo= lumn doColumnZebra xiter 0 rmoveto}repeat

  grestore

}def

 

/doColumnZebra{

  /lpc exch= def

  gsave<= /p>

  ZebraFollow 1 and 0 ne{

    /H ZebraHeight zebra-line ZebraHeight mo= d sub def

    /lpc lp= c H sub def

    zebra= -line double-zebra mod ZebraHeight lt

 &= nbsp;   /lpc lpc ZebraHeight sub def

     H ZebraHeight add}

    {H}ifelse   % "white&q= uot; stripe

    LineH= S mul neg 0 exch rmoveto

  = ;  /zebra-line zebra-line LinesPerColumn add def

=

  }if

  = /zspacing 0 def

  lpc dup doubl= e-zebra idiv{ZebraHeight doZebra 0 yiter rmoveto}repeat

  double-zebra mod dup 0 le{pop}=

  {dup ZebraHeight gt

   {pop ZebraHeight}

  {/zspacing LineSpacing def

    ZebraFollow 2 and 0 ne{pop ZebraHeight}if}= ifelse

   doZebra}ifelse

  grestore

=

}def

 

% stack:  zebra-height (in lines) |- = --

= /doZebra{

  /zh exch 0.05 sub LineHS mul zspacing sub def

  gsave

  0 LineHeight 0.65 mul rmoveto

 PrintWidth 0 rlineto

  P= rintWidth neg 0 rlineto

  0 zh = rlineto

  fill

  grestore

 

=

% stack: --

/print= Background{

  /BackgroundColor = where{

    /LHg LineH= eight 0.65 mul def

   = ; /PHg PrintHeight LHg add def

 = ;   pop gsave BackgroundColor SetColor

    NumberOfColumns{

     gsave

     0 LHg rmoveto

     PrintWidth 0 rlineto

     0 PHg neg rlineto

     PrintWidth neg 0 rl= ineto

     0 PHg= rlineto

     fi= ll

=      grestore=

     PrintWidth= InterColumn add 0 rmoveto

  &= nbsp; }repeat

   = ; grestore

  }if

}def

&= nbsp;

% tx ty rotation xscale yscale xpos= ypos BeginBackImage

/BeginBackImage= {

<= span style=3D'font-family:"Courier New"'>  /-save-image- save def=

  /showpage{}def<= /p>

  translate

  rotate

  translate

}def

 <= /span>

/EndBackImage{-save-image- restore}def

 

/ShowBackText{

  gsave

  transl= ate

  setgray=

  rotate

=   findfont exch dup/-offset- exch -0.25 mul def scalefont setfont=

  0 -offset- moveto

  /-saveLineThickness- LineThickness def<= /o:p>

  /LineThickness 1 def

  false doOutline

  /LineThickness -saveLineThickness- def

  grestore

 

=

/SetPageSize{

&nbs= p; BMark/PageSize[PageWidth LandscapePageHeight LandscapeMode{exch}if]EMark= setpagedevice

}def

 

/Begin= Doc{

  % ---- Remember space wi= dth of the normal text font `f0'.

&n= bsp; /SpaceWidth/f0 findfont setfont( )stringwidth pop def

  % ---- save the state of the document (useful= for ghostscript!)

  /docState = save def

  % ---- [andrewi] set= PageSize based on chosen dimensions

  UseSetpagedevice{

 &n= bsp; WarnPaperSize{SetPageSize}{mark{SetPageSize}stopped cleartomark}ifelse=

  }if

  /ColumnWidth PrintWidth InterColumn add def

  % ---- define where  printing wi= ll start

  /f0 F  &nb= sp;            =           % this installs Asce= nt

=   /PrintStartY PrintHeight A= scent sub def

  /ColumnIndex 1 = def

  /N-Up-Counter N-Up-End 1 = sub def

  /PLScounter PrintLine= Start def

}def

=

 

/EndDoc{

  % ---- restore the state of the= document (useful for ghostscript!)

=   docState restore

}def

 

  % ---- when= 1st column, save the state of the page

  ColumnIndex 1 eq{/pageState save def}if

  % ---- save the state of the column=

  /columnState save def

}def

 

/PrintHeaderWidth PrintOnlyOneHeader{PrintPa= geWidth}{PrintWidth}ifelse def

=  

<= span style=3D'font-family:"Courier New"'>/BeginPage{

<= p class=3DMsoNormal style=3D'text-autospace:none'>  /LinesPrinted exch def

  % ---- when 1st column, print all background effects=

  ColumnIndex 1 eq{

    0 PrintStartY moveto  =       % move to where printing will start

    printBackground

    Zebra{printZebra}if<= /o:p>

    printGlobalBackground<= o:p>

    printLocalBackgro= und

  }if

=

  PrintOnlyOneHeader{ColumnIndex 1 eq}{true}ifelse

  dup PrintHeader and{

    PrintHeaderFrame{HeaderFr= ame}if

    HeaderText=

  }if

  PrintFooter and{

    FooterText

  }if

  0 Prin= tStartY moveto          &= nbsp;    % move to where printing will start

  /LineNumber where

  {pop

  = ; SyncLineZebra

   {/H Pag= eNumber 1 sub NumberOfColumns mul ColumnIndex 1 sub add

       LinesPerColumn mul= ZebraHeight mod def

  &nb= sp; /PLScounter H PrintLineStart ge{0}{PrintLineStart H sub}ifelse def=

    /PrintLineStep ZebraH= eight H sub def}if}if

  PLN

}def

 

/EndPage{bg{eolbg}if}def=

 

/EndDSCPage{

  Colum= nIndex NumberOfColumns eq{

 &n= bsp;  % ---- restore the state of the page

    pageState restore

    /ColumnIndex 1 def

    % ---- N-up printing

    N-Up 1 gt{

      N-Up-Counter 0 gt

      {% ---- Next page = on same row

    = /N-Up-Counter N-Up-Counter 1 sub def

      {% ---- Next page on next = line

     /N-Up-= Counter N-Up-End 1 sub def

 &n= bsp;   N-Up-XLine N-Up-YLine}ifelse

      translate

    }if

   = ; % ---- restore the state of the current column

    columnState restore

    % ---- and translate to the next column<= o:p>

    ColumnWidth 0 tra= nslate

    /ColumnInd= ex ColumnIndex 1 add def

  }ife= lse

}def

 

/TextStart{<= /o:p>

  LeftMargin BottomMargin=

  PrintFooter{

    FooterPad add

    FooterLines FooterLineHeight mul add

    FooterPad add=

    FooterOffset add}if<= /o:p>

}def

% stack: number-of-pages-p= er-sheet |- --

/BeginSheet{

  /sheetState save def

  /pages-per-sheet exch def

 

  %= ---- translate to bottom-right corner of Portrait page

  LandscapeMode{

    LandscapePageHeight 0 translate<= /p>

    90 rotate

  }if

  % --= -- [jack] Kludge: my ghostscript window is 21x27.7 instead of 21x29.7<= /o:p>

  /JackGhostscript where{pop 1 27.7 = 29.7 div scale}if

  UpsideDown{= PageWidth LandscapePageHeight translate 180 rotate}if

=

  % ---- N-Up printing

  N-Up 1 gt{

 &n= bsp;  % ---- landscape

 &n= bsp;  N-Up-Landscape{

 &n= bsp;    PageWidth 0 translate

      90 rotate

    }if

    % ---- scale

    LandscapeMode{

      /HH PageWidth def

=

      /WW LandscapePageHeight de= f

<= span style=3D'font-family:"Courier New"'>    }{

      /HH LandscapePage= Height def

    &= nbsp; /WW PageWidth def

  =   }ifelse

    /x= x 0 def

    N-Up-Land= scape{

     = ; /ww WW WW mul N-Up-Lines HH mul div def

      /cc HH N-Up-Columns N-Up-Missing add d= iv def

     = ; ww cc gt{/xx WW def/WW cc ww div WW mul def/xx xx WW sub def}if

    }{

<= p class=3DMsoNormal style=3D'text-autospace:none'>      /hh HH N-Up-Columns N-Up-Mi= ssing add div def

   =    /cc HH N-Up-Lines div def

  &= nbsp; }ifelse

    WW = N-Up-Margin sub N-Up-Margin sub

&nbs= p;   N-Up-Landscape

 =    {N-Up-Lines div HH}

&nb= sp;   {N-Up-Columns N-Up-Missing add div WW}ifelse

    div dup scale=

    LandscapeMode{/yy 0 def}{/yy xx de= f/xx 0 def}ifelse

   = xx N-Up-Repeat 1 sub LandscapePageHeight mul yy add translate

    % ---- go to start position i= n page matrix

    N-U= p-XStart N-Up-Missing 0.5 mul

 =    LandscapeMode

 &n= bsp;  {LandscapePageHeight mul N-Up-YStart add}

<= p class=3DMsoNormal style=3D'text-autospace:none'>    {PageWidth mul add N-Up-YStart}ifelse

    translate

  }if

  % ---- translate to lower left corner of TEXT

  TextStart translate

 

  % ---- N= -up printing

  N-Up 1 gt N-Up-B= order and pages-per-sheet 0 gt and{

=     % ---- page border

 &n= bsp;  0 setgray

  &nb= sp; TextStart exch neg exch neg moveto

&n= bsp;   {N-Up-End

 &n= bsp;   {gsave

  =     PageWidth 0 rlineto

      PageWidth neg 0 = rlineto

    &nbs= p; closepath stroke

  &nbs= p;   grestore

  =     /pages-per-sheet pages-per-sheet 1 sub def

      pages-per-sheet 0 = le{exit}if

    &= nbsp; N-Up-XColumn N-Up-YColumn rmoveto

     }repeat

     pages-per-sheet 0 le{exit}if

     N-Up-XLine N-Up-XColumn sub N-U= p-YLine rmoveto

    }= repeat

    grestore

  }if

}def

 <= /span>

/EndSheet{

  sheetState= restore

}def

<= p class=3DMsoNormal style=3D'text-autospace:none'> 

/SetHeaderLi= nes{            = ;    % nb-lines --

&n= bsp; /HeaderLines exch def

  %= ---- bottom up

  HeaderPad

  HeaderLines 1 sub HeaderLineHeig= ht mul add

  HeaderTitleLineHei= ght add

  HeaderPad add

  /HeaderHeight exch def

}def

=  

<= span style=3D'font-family:"Courier New"'>/SetFooterLines{   =              % = nb-lines --

  /FooterLines exch= def

  % ---- bottom up

  FooterPad

  FooterLines FooterLineHeight mul add<= /p>

  FooterPad add

  /FooterHeight exch def

= }def

 

% |---------|

% |&nbs= p; tm     |

% |-= --------|

% |  header |

% |-+-------| <-- (x y)

% |  ho     |

% |---------|

% |  text   |

% |= ---------|

% |  fo  &= nbsp;  |

% |---------|

% |  footer |

% |-+-------| <-- (0 0)

% |  bm     |

% |---------|

 <= /o:p>

% -- |- x y

/HeaderFrameStart{0  PrintHeight HeaderOffset add}def

/FooterFrameStart{0  FooterHeight Foo= terOffset add neg}def

 

/doFramePath{

  /h exch def

  = PrintHeaderWidth   0    rlineto<= /p>

  0       &nbs= p;     h    rlineto

  PrintHeaderWidth neg     0&nb= sp;   rlineto

  0&nbs= p;            h neg = rlineto

}def

 

/HeaderFrameP= ath{HeaderHeight doFramePath}def

/Fo= oterFramePath{FooterHeight doFramePath}def

 

% /path-fun /start-fun= vector-property doFrame

/doFrame{

  /vecFrame exch def<= /span>

  /startFrame exch load def

  /pathFrame exch load def<= /p>

  gsave

&n= bsp;   vecFrame 2 get setlinewidth     &= nbsp;           % frame b= order width

    % ---= - do the shadow of the next rectangle

&= nbsp;   pathFrame

 &n= bsp;  vecFrame 4 get SetColor fill      =           % frame shadow color=

    % ---- do the ne= xt rectangle ...

    = startFrame moveto

   = pathFrame

    gsave = vecFrame 1 get SetColor fill grestore      % frame= background

    gsave= vecFrame 3 get SetColor stroke grestore    % frame border c= olor

  grestore

}def

&n= bsp;

/HeaderFrame{/HeaderFramePath /Heade= rFrameStart HeaderFrameProperties doFrame}def

/FooterFrame{/FooterFramePath /FooterFrameStart FooterFrameProper= ties doFrame}def

 

/HeaderStart{

  HeaderFrameStart

  = exch HeaderPad add exch  % horizontal pad

  % ---- bottom up

&= nbsp; HeaderPad add         &n= bsp;  % vertical   pad

  H= eaderLineHeight HeaderLines 1 sub mul add

}def

 <= /p>

/FooterStart{

&= nbsp; FooterFrameStart

  exch F= ooterPad add exch  % horizontal pad

  % ---- bottom up

  = FooterPad add          &n= bsp; % vertical   pad

&nbs= p; FooterDescent sub

  FooterLi= neHeight FooterLines 1 sub mul add

}= def

 

/HeaderClip{HeaderFrameStart moveto HeaderFramePath clip}def<= o:p>

/FooterClip{FooterFrameStart moveto = FooterFramePath clip}def

 =

/strcat{

  dup length 3 -1 roll dup length dup 4 -1 roll add string d= up

=   0 5 -1 roll putinterval

  dup 4 2 roll exch putinterval

}def

 

/pagenumberstring{

  PageNumber 32 string cvs

  ShowNofN{(/)strcat PageCount 32 stri= ng cvs strcat}if

}def

 

% li= nes is-right HeaderOrFooterTextLines

/HeaderOrFooterTextLines{

  /= is_right exch def

  HFStart mov= eto

  { % ---- process the line= s

<= span style=3D'font-family:"Courier New"'>   aload pop<= /span>

   exch F

   gsave

 = ;   dup xcheck{exec}if

&nb= sp;   is_right{

 &n= bsp;   dup stringwidth pop

     PrintHeaderWidth exch sub HFPad HFPad add sub 0 r= moveto

    }if

    HFColor SetColor

    show<= /p>

   grestore

   0 HFLineHeight neg rmoveto

  }forall

}def

 

% right-lines left-lines /start lineheight pad fore-color HeaderOrFo= oterText

/HeaderOrFooterText{

  /HFColor exch def=

  /HFPad exch def

  /HFLineHeight exch def

  /HFStart exch load def

 

  % -- rightLines leftLine= s -- at stack

 

  % ---- hack: `PN 1 and'  =3D=3D  `= PN 2 modulo'

  % ---- if even p= age number and duplex, then exchange left and right

  PageNumber 1 and 0 eq SwitchHeader and{exch}if<= /o:p>

 

  % ---- process the left lines

  false HeaderOrFooterTextLines

 

  % ---- process = the right lines

  true HeaderOr= FooterTextLines

}def

 

/Head= erText{

  gsave HeaderClip=

  HeaderLinesRight HeaderLinesLeft<= o:p>

  /HeaderStart HeaderLineHeight= HeaderPad

  HeaderFramePropert= ies 0 get

  HeaderOrFooterText<= o:p>

  grestore

}def

 <= /o:p>

/FooterText{

  gsave FooterClip

&= nbsp; FooterLinesRight FooterLinesLeft

  FooterFrameProperties 0 get

  HeaderOrFooterText

}def

 

/R= eportFontInfo{

  2 copy

  /t0 3 1 roll DefFont

  /t0 F

  /lh FontHeight def

  /= sw( )stringwidth pop def

  /aw(= 01234567890abcdefghijklmnopqrstuvwxyz)dup length exch

=

  stringwidth pop exch div def

=

  /t1 12/Helvetica-Oblique DefFont=

  /t1 F

&= nbsp; gsave

    (lang= uagelevel =3D )show

  &nbs= p; languagelevel 32 string cvs show

=   grestore

  0 FontHeight = neg rmoveto

  gsave<= /span>

    (For )show=

    128 string cvs show

    ( )show

    32 string cvs show

=

    ( point, the line height is )show=

    lh 32 string cvs show=

    (, the space wid= th is )show

    sw 32= string cvs show

    = (,)show

  grestore

  0 FontHeight neg rmoveto

  gsave

=     (and a crude estimate of average character width is )sho= w

<= span style=3D'font-family:"Courier New"'>    aw 32 string cv= s show

    (.)show

  grestore

<= p class=3DMsoNormal style=3D'text-autospace:none'>  0 FontHeight neg rmoveto

}def

 <= /span>

% cm to point

/cm{72 mul 2.54 div}def

&= nbsp;

/ReportAllFontInfo{

  % key =3D font name   value =3D fo= nt dictionary

  FontDirectory{p= op 10 exch ReportFontInfo}forall

}de= f

<= span style=3D'font-family:"Courier New"'> 

% 3 cm 20 cm moveto  10/Courier ReportFontInfo  showp= age

% 3 cm 20 cm moveto  Report= AllFontInfo          showpage<= o:p>

 

% =3D=3D=3D END ps-print prologue 1

 

/printGlobalBackgro= und{

}def

/printLocalBackground{

= }def

 

%%EndProlog

&nb= sp;

%%BeginSetup

 

%%IncludeResou= rce: font Times-Roman

%%IncludeResou= rce: font Times-Italic

%%IncludeReso= urce: font Courier

%%IncludeResource= : font Courier-Bold

%%IncludeResourc= e: font Courier-Oblique

%%IncludeRes= ource: font Courier-BoldOblique

%%In= cludeResource: font Helvetica

%%Incl= udeResource: font Helvetica-Bold

/h0= 14(Helvetica-Bold)cvn DefFont

/h1 1= 2(Helvetica)cvn DefFont

/L0 6(Times-= Italic)cvn DefFont

/H0 12(Helvetica)= cvn DefFont

 =

 

% ---- = These lines must be kept together because...

 

/h0 F

/HeaderTitleLineHeight FontHeight def<= /span>

 

/= h1 F

/HeaderLineHeight FontHeight de= f

<= span style=3D'font-family:"Courier New"'>/HeaderDescent    D= escent def

 <= /p>

/H0 F

/FooterL= ineHeight FontHeight def

/FooterDesc= ent    Descent def

 

% ---- ...because `F' has a sid= e-effect on `FontHeight' and `Descent'

/f0 8.5(Courier)cvn DefFon= t

<= span style=3D'font-family:"Courier New"'>/f1 8.5(Courier-Bold)cvn DefFont

/f2 8.5(Courier-Oblique)cvn DefFont

/f3 8.5(Courier-BoldOblique)cvn DefFo= nt

= /SpaceWidthRatio 0.600000 def

 

%%BeginFeature: *ManualFeed False

BMark /ManualFeed false EMark setpagedevice

%%EndFeature

&nb= sp;

%%%% Start of Mule Section=

 

    findfont dup len= gth dict begin

   &nb= sp; { 1 index /FID ne { def } { pop pop } ifelse } forall=

        /Encoding = ISOLatin1Encoding def

  &n= bsp;  currentdict

  &= nbsp; end

    definef= ont

} bind def

=

 

%% Redefine= fonts for multiple charsets.

/ReDef= Font {            &n= bsp; % fontname encoding fdepvector size  |  -<= /p>

  20 dict begin

  3 index findfont {

&nbs= p;   1 index /FID ne 2 index /UniqueID ne and {def} {pop pop} ife= lse

  } forall

  /FontType 0 def

  /FMapType 3 def

&nb= sp; /EscChar 0 def

  % FontMatr= ix ::=3D [ size 0 0 size 0 0 ]

 = ; /FontMatrix exch [ exch dup 0 exch 0 exch 0 0 ] def

=

  /FDepVector exch def

  /Encoding exch def

=   currentdict

  end &= nbsp;         % fontname dic

  definefont pop

} bind def

&= nbsp;

/EscChar 0 def

 

%% End o= f Mule Section

 

/F00 /Courier findfont def

/ETOP0 256 array def

0 1 255 { ETOP0 exch 0 put } for

ET= OP0 0 0 put

/VTOP0 [F00] def

/ETOP1 256 array def

<= p class=3DMsoNormal style=3D'text-autospace:none'>0 1 255 { ETOP1 exch 0 put } for

ETOP1 0 0 put

/VTOP1 [= F00] def

/ETOP2 256 array def

0 1 255 { ETOP2 exch 0 put } for

ETOP2 0 0 put

/VTOP2 [F00] def

/ETOP3 2= 56 array def

0 1 255 { ETOP3 exch 0 = put } for

ETOP3 0 0 put

/VTOP3 [F00] def

/Vh0 [ VTOP1 aload pop ] def

Vh0 0 /Helvetica-Bold-lati= n1 /Helvetica-Bold Latin1Encoding put

= /Vh1 [ VTOP0 aload pop ] def

&n= bsp;

Vh1 0 /Helvetica-latin1 /Helvetica L= atin1Encoding put

/h1 ETOP0 Vh1 12.0= 00000 ReDefFont

/VH0 [ VTOP0 aload p= op ] def

 

VH0 0 /Helvetica-latin1 /Helvetica Latin1Encoding put

/H0 ETOP0 VH0 12.000000 ReDefFont=

/Vf0 [ VTOP0 aload pop ] def<= /span>

 

V= f0 0 /Courier-latin1 /Courier Latin1Encoding put

/f0 ETOP0 Vf0 8.500000 ReDefFont

/Vf1 [ VTOP1 aload pop ] def

Vf1 0 /Courier-Bold-latin1= /Courier-Bold Latin1Encoding put

/f= 1 ETOP1 Vf1 8.500000 ReDefFont

/Vf2 = [ VTOP2 aload pop ] def

 <= /o:p>

Vf2 0 /Courier-Oblique-latin1 /Courier-Ob= lique Latin1Encoding put

/f2 ETOP2 V= f2 8.500000 ReDefFont

/Vf3 [ VTOP3 a= load pop ] def

 

Vf3 0 /Courier-BoldOblique-latin1 /Courier-BoldObl= ique Latin1Encoding put

/f3 ETOP3 Vf= 3 8.500000 ReDefFont

BeginDoc

%%EndSetup

 

%%Page: 1 1

/Lines 3 def

/PageCount 1 def

1 BeginS= heet

BeginDSCPage<= /p>

/LineNumber 1 def

/HeaderLinesLef= t[

= [/h0 (testemacs \(unsaved\))]

[/h1 (~/Desktop/)]<= /p>

]def

/HeaderL= inesRight[

[/h0 /pagenumberstring l= oad]

[/h1 (06/15/13)]

]def

2 Set= HeaderLines

0 BeginPage

/f0 F

fal= se BG

0.000 0.000 0.000 FG

16 W

= (Adobe) S

PHL

<= p class=3DMsoNormal style=3D'text-autospace:none'>LHL

(Testing emacs = with Acrobat 11.0.03) S

EndPage=

EndDSCPage

EndSheet

 =

%%Trailer

%%Pages: 1

 

EndDoc

 

%%EOF

 

 

 

 

 

 

Regards,

3D"Description:| De= epak Chauhan | TRT (Acrobat)- Adobe Systems Incorporated | 8: dechauha@adobe.com

Visit= us at: http://forums.adobe.com

 

 

= --_000_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_-- --_006_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_ Content-Type: image/png; name="image001.png" Content-Description: image001.png Content-Disposition: inline; filename="image001.png"; size=1246; creation-date="Fri, 14 Jun 2013 19:47:32 GMT"; modification-date="Fri, 14 Jun 2013 19:47:32 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAd0SU1F B9gDHBYZLjCr3QAAAARJSURBVEhL5ZdfiBVVHMdnvblsRf6J2m3vnJlp75y5t67bgy1kUaRiCGJC plRkJGhIEYoSIWolhgkV9KBIRJDgg/RQwj4oJPiiqQ+b0Z9lHxR2V1v/dGfm/tnddpfVu+P3q3PX 9cx479189MCHM/ec3/n9zu/POTO3QVNaoGmJM0I0tiYSeLzd+vGYHXn4Afdxbby9p2d86lyfZTU1 jc1OjDWVyqq+K+Vyw8DAwPgbmlaZS0AmIqflhFw/KGSfp9u9UykK2evrsmvYsp5QlfuGPc9LynN5 yKjrqGvUyizGmlngXbAeSFWH5gvn47KZDkYMZ5L/8ByYmQBKD0UWYKA7m230hDylrqMOjl0z5asM GNgNtoFFET2eIbcMY4Ev5CTwJADX/aT9QpxhjuUM+011HXVwbNh0lkPkMbAm9JqbuLPFGeZieHsC SZ9xN8OelLM8XZ4fVDbNtXlDrgjXMdwtsTqqGGZ+qjaEe+dodcN3X68apgfwtr9omnNrGS4a0s4L p4RCnEyT4nH9hkMP9sStQOgb1HFXyB9ZVJUa+V+GC9h5QdhDbmv6qRgDb3um80pkPJleUhROmQVZ Ka4pOa7PYx4jV5eHVWkWGfJ5Ft79HJnr6JiJua6h0Otpe8wdlwxnwtdTy1TleSP9EryaQDRKRdNJ qfO+IT+ohHvahrljT9h/BLgOI0dOyINUzPzDu8/U+avNbS245a6UBM7wncepdqipGOdysypZsKwn kbsCK/dWxcvzPMMRr3W5lxubluExI43CsHOukUnGePvp6M3528WTE6m3ohuU8wu6PUYH6i6uCdyv COF3qrKhVKoZ4c/x3r4GmUooIXt8p3Kr8ai5uv0L7+q6DLvC/gghnPB0Z0HkqLTaHTByBPnrRIg7 0RdQgLzHxz3hPBeJji5Xc4N1GcYttR3Gz1S7lysGcJz2MI836yEmQm4m8wh0XcAmV9W69bS8bm8r JOW6moIQ8EWqPa/LkfDMuvBajymy3X7SidRARL+vO8uHWlLN9RhmHn3dPhZYmYDwJaGuu2zKrG+m XqypL7AWRs5ttUW+aHtmUHc2DJrOhvytF36kdWvZxpqG72sBAe/VXLN4no2JCt/VPH4z7zViVPQ3 6FQUfYjfPTHK+SLJgQfv1XAHFJTAb6Dy5fEynveCs6HyNPqVgIWzBFwCr4PKh9xDeOb5daazmfcg fBScBPMAv7cKoD8cezr0vBf9t2ARGA3HLqJvA9+DX8PNG/UaPwDBL8Dp0Ivj6D8Hm8Ixvgo5xsj8 A7hRGmwHfeCTcHwj+jx4rR7D/IvRBZhj5o0GT4H3wTuh4W/Q/wSs0CANnAOPgr8A533wA/gaMGo1 G3P3L1gKvgQM937wOzgG/gSrwQXAMDMqzDX/a/H3VbAQdAP+c6Ae5rtmsyGxA/ALkpvYCvh5sw8w hPSOx2YzYEroDf8L7QIsvrWhhefRM89fgTmq1Rv+nz887F96NAAAAABJRU5ErkJggg== --_006_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_-- --_007_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_ Content-Type: application/pdf; name="testemacs+mac.pdf" Content-Description: testemacs+mac.pdf Content-Disposition: attachment; filename="testemacs+mac.pdf"; size=5445; creation-date="Fri, 14 Jun 2013 19:46:21 GMT"; modification-date="Fri, 14 Jun 2013 19:44:04 GMT" Content-Transfer-Encoding: base64 JVBERi0xLjUNJeLjz9MNCjEwIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDU0NDUvTyAxMi9FIDEx ODEvTiAxL1QgNTE0Ny9IIFsgNDQzIDE0MF0+Pg1lbmRvYmoNICAgICAgICAgICAgICAgICAgICAg IA0xNSAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNC9QcmVkaWN0b3IgMTI+Pi9GaWx0 ZXIvRmxhdGVEZWNvZGUvSURbPEVEOEJFNDlDM0I5N0RGQTUzMzEwMUVCNDU3RUU3MjE5PjxBMDE5 MjU4OTJDNTg0Q0RDQTM2MTAyMzc5REJFMzBDQz5dL0luZGV4WzEwIDldL0luZm8gOSAwIFIvTGVu Z3RoIDQ3L1ByZXYgNTE0OC9Sb290IDExIDAgUi9TaXplIDE5L1R5cGUvWFJlZi9XWzEgMiAxXT4+ c3RyZWFtDQpo3mJiZBBgYGJgMgcSDH5AgrERxDoCJP7OYmBiZJgF4jIwMv1nXPsfIMAAXvEG0A1l bmRzdHJlYW0NZW5kb2JqDXN0YXJ0eHJlZg0wDSUlRU9GDSAgICAgICAgIA0xOCAwIG9iag08PC9G aWx0ZXIvRmxhdGVEZWNvZGUvSSA4MC9MIDY0L0xlbmd0aCA1Ny9TIDM2Pj5zdHJlYW0NCmjeYmBg YGZgYOJkAAImDgZMwMKALMoMxQwMjQzsjHwCIBYjUNFcCM3QCtbBIGwA5b8BCDAAQbkDLg1lbmRz dHJlYW0NZW5kb2JqDTExIDAgb2JqDTw8L01ldGFkYXRhIDIgMCBSL1BhZ2VMYWJlbHMgNiAwIFIv UGFnZXMgOCAwIFIvVHlwZS9DYXRhbG9nPj4NZW5kb2JqDTEyIDAgb2JqDTw8L0NvbnRlbnRzIDEz IDAgUi9Dcm9wQm94WzAgMCA2MTIgNzkyXS9NZWRpYUJveFswIDAgNjEyIDc5Ml0vUGFyZW50IDgg MCBSL1Jlc291cmNlcyAxNiAwIFIvUm90YXRlIDAvVHlwZS9QYWdlPj4NZW5kb2JqDTEzIDAgb2Jq DTw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTI3Pj5zdHJlYW0NCmjepI0xCgJBDEX7nOKf ICZMJjvT2iwIFmIpVoqL4hZi4fX9iIjYSgi8PAjPMMli3DqmuzjOkBscxnHUQbMXDF60ZsdhfvlZ ojdND/L1wy3DQ1vtdPZzqVkhnGQj2pkzjNwV/y/QwANuWGO3pzh+5/Odj7/zTlgy/xRgAP8wLtoN ZW5kc3RyZWFtDWVuZG9iag0xNCAwIG9iag08PC9GaWx0ZXIvRmxhdGVEZWNvZGUvRmlyc3QgMTEv TGVuZ3RoIDEwMS9OIDIvVHlwZS9PYmpTdG0+PnN0cmVhbQ0KaN4yNFMwUDA0VzAxVrCx0XetKHEP LkksSQWy3YMNQRIGCkF2dvoBRfnJwakl0foBLm6xdnZAaf8AhbTEnOJUIMNXwVA/2BHKDfZVMNAz MNIPqSxIRZinn18AkbezAwgwAO/NIRMNZW5kc3RyZWFtDWVuZG9iag0xIDAgb2JqDTw8L0ZpbHRl ci9GbGF0ZURlY29kZS9GaXJzdCA5L0xlbmd0aCA0Mi9OIDIvVHlwZS9PYmpTdG0+PnN0cmVhbQ0K aN4yUzBQMFcwtFCwsdH3K80tjgZxDRSCYu3sgCLB+i52dgABBgCNhQg3DWVuZHN0cmVhbQ1lbmRv YmoNMiAwIG9iag08PC9MZW5ndGggMzM4Mi9TdWJ0eXBlL1hNTC9UeXBlL01ldGFkYXRhPj5zdHJl YW0NCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+ Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBD b3JlIDUuNC1jMDA1IDc4LjE0NzMyNiwgMjAxMi8wOC8yMy0xMzowMzowMyAgICAgICAgIj4KICAg PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50 YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAg eG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxu czpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8iCiAgICAgICAgICAgIHhtbG5zOmRj PSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1w TU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgogICAgICAgICA8eG1wOkNyZWF0 ZURhdGU+MjAxMy0wNi0xNVQwMToxNDowNCswNTozMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAg IDx4bXA6TW9kaWZ5RGF0ZT4yMDEzLTA2LTE1VDAxOjE0OjA0KzA1OjMwPC94bXA6TW9kaWZ5RGF0 ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5wcy1wcmludCB2Ny4zLjU8L3htcDpDcmVhdG9y VG9vbD4KICAgICAgICAgPHBkZjpQcm9kdWNlcj5BY3JvYmF0IERpc3RpbGxlciAxMS4wIChNYWNp bnRvc2gpPC9wZGY6UHJvZHVjZXI+CiAgICAgICAgIDxkYzpmb3JtYXQ+YXBwbGljYXRpb24vcGRm PC9kYzpmb3JtYXQ+CiAgICAgICAgIDxkYzpjcmVhdG9yPgogICAgICAgICAgICA8cmRmOlNlcT4K ICAgICAgICAgICAgICAgPHJkZjpsaT5BY3JvYmF0IDwvcmRmOmxpPgogICAgICAgICAgICA8L3Jk ZjpTZXE+CiAgICAgICAgIDwvZGM6Y3JlYXRvcj4KICAgICAgICAgPGRjOnRpdGxlPgogICAgICAg ICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0 Ij50ZXN0ZW1hY3M8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2Rj OnRpdGxlPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD51dWlkOjg2ZGZjYTIxLTBiODgtY2Q0 MC1iZDk5LWRhNGZlMzE3OTBkYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOklu c3RhbmNlSUQ+dXVpZDoyYzQ4NWFjMC02NTE2LTU4NGMtYmY0Yy1iNjBjMWZhMTM5NDk8L3htcE1N Okluc3RhbmNlSUQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4 bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgCjw/eHBhY2tldCBlbmQ9InciPz4NZW5kc3RyZWFtDWVuZG9iag0zIDAgb2JqDTw8L0ZpbHRl ci9GbGF0ZURlY29kZS9GaXJzdCA0L0xlbmd0aCA0OS9OIDEvVHlwZS9PYmpTdG0+PnN0cmVhbQ0K aN6yUDBQsLHRd84vzStRMNT3zkwpjjY0AgoGxeqHVBak6gckpqcW29kBBBgA3/oLrQ1lbmRzdHJl YW0NZW5kb2JqDTQgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDQvTGVuZ3RoIDE0 NC9OIDEvVHlwZS9PYmpTdG0+PnN0cmVhbQ0KaN58jU8LgjAUwL/Kbm5E7q1pUogg7Sp06OhlzQcO lpPt2efPQ9Ct++/PhQFrW9lvNMfEe5fi0xIT8pbQko+LsYTcXE+gNJxVDUpVUB2gLjQUX2r31nxc k1+IvZtSl7WQQ5z+m/cUp83hb2l8Jh8CJqZUCWzkg3V7MeZ5FEI+PAXkhJnwZV0WXfcRYABafzcY DWVuZHN0cmVhbQ1lbmRvYmoNNSAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNC9QcmVk aWN0b3IgMTI+Pi9GaWx0ZXIvRmxhdGVEZWNvZGUvSURbPEVEOEJFNDlDM0I5N0RGQTUzMzEwMUVC NDU3RUU3MjE5PjxBMDE5MjU4OTJDNTg0Q0RDQTM2MTAyMzc5REJFMzBDQz5dL0luZm8gOSAwIFIv TGVuZ3RoIDQ4L1Jvb3QgMTEgMCBSL1NpemUgMTAvVHlwZS9YUmVmL1dbMSAyIDFdPj5zdHJlYW0N CmjeYmIAAiZGlrkMTAyMrUCCtwnE6gERb4ASb54CWQwMjECC6T+QYGQACDAAi3IGGw1lbmRzdHJl YW0NZW5kb2JqDXN0YXJ0eHJlZg0xMTYNJSVFT0YN --_007_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_ Content-Type: application/postscript; name="testemacs.ps" Content-Description: testemacs.ps Content-Disposition: attachment; filename="testemacs.ps"; size=34677; creation-date="Fri, 14 Jun 2013 19:46:21 GMT"; modification-date="Fri, 14 Jun 2013 19:43:05 GMT" Content-Transfer-Encoding: base64 JSFQUy1BZG9iZS0zLjAKJSVUaXRsZTogdGVzdGVtYWNzCiUlQ3JlYXRvcjogcHMtcHJpbnQgdjcu My41CiUlRm9yOiBBY3JvYmF0IAolJUNyZWF0aW9uRGF0ZTogMDE6MTA6MjYgSnVuIDE1IDIwMTMK JSVPcmllbnRhdGlvbjogUG9ydHJhaXQKJSVEb2N1bWVudE5lZWRlZFJlc291cmNlczogZm9udCBU aW1lcy1Sb21hbiBUaW1lcy1JdGFsaWMKJSUrIGZvbnQgQ291cmllcgolJSsgZm9udCBDb3VyaWVy LUJvbGQKJSUrIGZvbnQgQ291cmllci1PYmxpcXVlCiUlKyBmb250IENvdXJpZXItQm9sZE9ibGlx dWUKJSUrIGZvbnQgSGVsdmV0aWNhCiUlKyBmb250IEhlbHZldGljYS1Cb2xkCiUlRG9jdW1lbnRT dXBwbGllZFJlc291cmNlczogcHJvY3NldCBQU1ByaW50VXNlckRlZmluZWRQcm9sb2d1ZS1hY3Jv YmF0IDAgMAolJURvY3VtZW50TWVkaWE6IExldHRlciA2MTIgNzkyIDAgKCkgKCkKJSVQYWdlT3Jk ZXI6IEFzY2VuZAolJVBhZ2VzOiAoYXRlbmQpCiUlUmVxdWlyZW1lbnRzOgolJUVuZENvbW1lbnRz CiUlQmVnaW5EZWZhdWx0cwolJVBhZ2VNZWRpYTogTGV0dGVyCiUlRW5kRGVmYXVsdHMKCiUlQmVn aW5Qcm9sb2cKCi9sYW5ndWFnZWxldmVsIHdoZXJle3BvcH17L2xhbmd1YWdlbGV2ZWwgMSBkZWZ9 aWZlbHNlCi9FcnJvck1lc3NhZ2UgIDEgZGVmCgolID09PSBCRUdJTiBwcy1wcmludCBwcm9sb2d1 ZSAwCiUgdmVyc2lvbjogNi4wCgolIENvcHlyaWdodCAoQykgMjAwMC0yMDEzIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgoKJSBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCgol IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CiUgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKJSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgolIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCgolIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAolIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiUgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQolIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgolIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiUgYWxvbmcgd2l0aCBHTlUg RW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCgolIEFz IGEgc3BlY2lhbCBleGNlcHRpb24sIHRoZSBjb3B5cmlnaHQgaG9sZGVycyBvZiB0aGlzIG1vZHVs ZSBnaXZlCiUgeW91IHBlcm1pc3Npb24gdG8gaW5jbHVkZSB0aGUgbW9kdWxlIGluIGEgUG9zdHNj cmlwdCBmaWxlIGdlbmVyYXRlZAolIGJ5IEVtYWNzIG9yIG90aGVyIGZyZWUgc29mdHdhcmUgdG9n ZXRoZXIgd2l0aCB0aGUgcmVzdWx0IG9mCiUgY29udmVydGluZyB0ZXh0IHRvIGJlIHByaW50ZWQs IHJlZ2FyZGxlc3Mgb2YgdGhlIGxpY2Vuc2UgdGVybXMgb2YKJSB0aGF0IHRleHQsIGFuZCB0byB1 c2UgdW5kZXIgdGVybXMgb2YgeW91ciBjaG9pY2UgdGhlIHBhZ2UgaW1hZ2VzCiUgcmVzdWx0aW5n IGZyb20gZm9ybWF0dGluZyBzYWlkIGNvbWJpbmF0aW9uLiAgSWYgeW91IG1vZGlmeSB0aGlzCiUg bW9kdWxlLCB5b3UgbWF5IGV4dGVuZCB0aGlzIGV4Y2VwdGlvbiB0byB5b3VyIHZlcnNpb24gb2Yg dGhlIG1vZHVsZQolIGJ1dCB5b3UgYXJlIG5vdCBvYmxpZ2F0ZWQgdG8gZG8gc28uICBJZiB5b3Ug ZG8gbm90IHdpc2ggdG8gZG8gc28sCiUgZGVsZXRlIHRoaXMgZXhjZXB0aW9uIHN0YXRlbWVudCBm cm9tIHlvdXIgdmVyc2lvbi4KCgolJUJlZ2luUHJvY1NldDogRXJyb3JIYW5kbGVyCiUgRG93bmxv YWRlZCBFcnJvciBCcmVhay1wYWdlIGhhbmRsZXIKJSBBZGFwdGVkIGZyb206CiUgICAgIFBvc3RT Y3JpcHQgTGFuZ3VhZ2UgUHJvZ3JhbSBEZXNpZ24sCiUgICAgIEFkb2JlIFN5c3RlbXMgSW5jb3Jw b3JhdGVkLgolICAgICBBcHBlbmRpeCBBLCBwYWdlcyAyMTctMjE5CgovcHMkYnJrcGFnZSB3aGVy ZXtwb3B9CnsKIC9wcyRicmtwYWdlIDY0IGRpY3QgZGVmCiBwcyRicmtwYWdlIGJlZ2luCiAgL3R4 IDAgZGVmL3R5IDAgZGVmL3RveSAwIGRlZi90b3ggMCBkZWYKICAvcHJudHsKICAgZHVwIHR5cGUv c3RyaW5ndHlwZSBuZXs9c3RyaW5nIGN2c31pZgogICBkdXAgbGVuZ3RoIDYgbXVsCiAgIC90eCBl eGNoIGRlZi90eSAxMCBkZWYKICAgY3VycmVudHBvaW50L3RveSBleGNoIGRlZi90b3ggZXhjaCBk ZWYKICAgMSBzZXRncmF5IG5ld3BhdGgKICAgdG94IHRveSAyIHN1YiBtb3ZldG8KICAgMCB0eSBy bGluZXRvIHR4IDAgcmxpbmV0bwogICAwIHR5IG5lZyBybGluZXRvCiAgIGNsb3NlcGF0aCBmaWxs CiAgIHRveCB0b3kgbW92ZXRvIDAgc2V0Z3JheSBzaG93CiAgfWJpbmQgZGVmCiAgL25se2N1cnJl bnRwb2ludCBleGNoIHBvcCBsbWFyZ2luIGV4Y2ggbW92ZXRvIDAgLTEwIHJtb3ZldG99ZGVmCiAg Lz09ey9jcCAwIGRlZiB0eXBlcHJpbnQgbmx9ZGVmCiAgL3R5cGVwcmludHtkdXAgdHlwZSBkdXAg Y3VycmVudGRpY3QgZXhjaCBrbm93bntleGVjfXt1bmtub3dudHlwZX1pZmVsc2V9cmVhZG9ubHkg ZGVmCiAgL2xtYXJnaW4gNzIgZGVmCiAgL3JtYXJnaW4gNzIgZGVmCiAgL3RwcmludHsKICAgZHVw IGxlbmd0aCBjcCBhZGQgcm1hcmdpbiBndHtubC9jcCAwIGRlZn1pZgogICBkdXAgbGVuZ3RoIGNw IGFkZC9jcCBleGNoIGRlZgogICBwcm50CiAgfXJlYWRvbmx5IGRlZgogIC9jdnNwcmludHs9c3Ry aW5nIGN2cyB0cHJpbnQoICl0cHJpbnR9cmVhZG9ubHkgZGVmCiAgL3Vua25vd250eXBle2V4Y2gg cG9wIGN2bGl0KD8/KXRwcmludCBjdnNwcmludH1yZWFkb25seSBkZWYKICAvaW50ZWdlcnR5cGV7 Y3ZzcHJpbnR9cmVhZG9ubHkgZGVmCiAgL3JlYWx0eXBle2N2c3ByaW50fXJlYWRvbmx5IGRlZgog IC9ib29sZWFudHlwZXtjdnNwcmludH1yZWFkb25seSBkZWYKICAvb3BlcmF0b3J0eXBleygvLyl0 cHJpbnQgY3ZzcHJpbnR9cmVhZG9ubHkgZGVmCiAgL21hcmt0eXBle3BvcCgtbWFyay0pdHByaW50 fXJlYWRvbmx5IGRlZgogIC9kaWN0dHlwZXtwb3AoLWRpY3Rpb25hcnktKXRwcmludH1yZWFkb25s eSBkZWYKICAvbnVsbHR5cGV7cG9wKC1udWxsLSl0cHJpbnR9cmVhZG9ubHkgZGVmCiAgL2ZpbGV0 eXBle3BvcCgtZmlsZXN0cmVhbS0pdHByaW50fXJlYWRvbmx5IGRlZgogIC9zYXZldHlwZXtwb3Ao LXNhdmVsZXZlbC0pdHByaW50fXJlYWRvbmx5IGRlZgogIC9mb250dHlwZXtwb3AoLWZvbnRpZC0p dHByaW50fXJlYWRvbmx5IGRlZgogIC9uYW1ldHlwZXtkdXAgeGNoZWNrIG5vdHsoLyl0cHJpbnR9 aWYgY3ZzcHJpbnR9cmVhZG9ubHkgZGVmCiAgL3N0cmluZ3R5cGV7CiAgIGR1cCByY2hlY2sKICAg eyhcKCl0cHJpbnQgdHByaW50KFwpKXRwcmludH0KICAge3BvcCgtc3RyaW5nLSl0cHJpbnR9aWZl bHNlfXJlYWRvbmx5IGRlZgogIC9hcnJheXR5cGV7CiAgIGR1cCByY2hlY2sKICAge2R1cCB4Y2hl Y2sKICAgIHsoeyl0cHJpbnR7dHlwZXByaW50fWZvcmFsbCh9KXRwcmludH0KICAgIHsoWyl0cHJp bnR7dHlwZXByaW50fWZvcmFsbChdKXRwcmludH1pZmVsc2V9CiAgIHtwb3AoLWFycmF5LSl0cHJp bnR9aWZlbHNlfXJlYWRvbmx5IGRlZgogIC9wYWNrZWRhcnJheXR5cGV7CiAgIGR1cCByY2hlY2sK ICAge2R1cCB4Y2hlY2sKICAgIHsoeyl0cHJpbnR7dHlwZXByaW50fWZvcmFsbCh9KXRwcmludH0K ICAgIHsoWyl0cHJpbnR7dHlwZXByaW50fWZvcmFsbChdKXRwcmludH1pZmVsc2V9CiAgIHtwb3Ao LXBhY2tlZGFycmF5LSl0cHJpbnR9aWZlbHNlfXJlYWRvbmx5IGRlZgogIC9jb3VyaWVyL0NvdXJp ZXIgZmluZGZvbnQgMTAgc2NhbGVmb250IGRlZgogIC9PTERoYW5kbGVlcnJvciBlcnJvcmRpY3Qv aGFuZGxlZXJyb3IgZ2V0IGRlZgogZW5kICVwcyRicmtwYWdlCgogL2hhbmRsZWVycm9yewogIHN5 c3RlbWRpY3QgYmVnaW4gJGVycm9yIGJlZ2luIHBzJGJya3BhZ2UgYmVnaW4KICBuZXdlcnJvcgog IHsvbmV3ZXJyb3IgZmFsc2Ugc3RvcmUgdm1zdGF0dXMgcG9wIHBvcCAwIG5le2dyZXN0b3JlYWxs fWlmCiAgIGluaXRncmFwaGljcwogICBFcnJvck1lc3NhZ2UgMSBhbmQgMCBuZXsgJSBwcmludCBv biBwYXBlcgogICAgY291cmllciBzZXRmb250IGxtYXJnaW4gNzIwIG1vdmV0bwogICAgKCMgRVJS T1I6IClwcm50IGVycm9ybmFtZSBwcm50IG5sCiAgICAoIyBPRkZFTkRJTkcgQ09NTUFORDogKXBy bnQvY29tbWFuZCBsb2FkIHBybnQKICAgICRlcnJvci9vc3RhY2sga25vd24KICAgIHtubCBubCgj IFNUQUNLOilwcm50IG5sIG5sICRlcnJvci9vc3RhY2sgZ2V0IGFsb2FkIGxlbmd0aHs9PX1yZXBl YXR9aWYKICAgICRlcnJvci9lcnJvcmluZm8ga25vd24KICAgIHtubCBubCgjIEVSUk9SSU5GTzop cHJudCBubCBubCAkZXJyb3IvZXJyb3JpbmZvIGdldCBhbG9hZCBsZW5ndGh7PT19cmVwZWF0fWlm CiAgICBzeXN0ZW1kaWN0L3Nob3dwYWdlIGdldCBleGVjfWlmCiAgIEVycm9yTWVzc2FnZSAyIGFu ZCAwIG5leyAlIHNlbmQgYmFjayB0byBwcmludGluZyBzeXN0ZW0KICAgIChcJVwlWyBFcnJvcjog KXByaW50IGVycm9ybmFtZSA9cHJpbnQKICAgICg7IE9mZmVuZGluZ0NvbW1hbmQ6IClwcmludC9j b21tYW5kIGxvYWQgPXByaW50CiAgICAkZXJyb3IvZXJyb3JpbmZvIGtub3duCiAgICB7KDsgRXJy b3JJbmZvOilwcmludCAkZXJyb3IvZXJyb3JpbmZvIGdldCBhbG9hZCBsZW5ndGh7KCApPXByaW50 ID1wcmludH1yZXBlYXR9aWYKICAgICggXVwlXCUpPSBmbHVzaAogICAgKFwlXCVbIFJlc3Qgb2Yg am9iIGlzIGlnbm9yZWQgXVwlXCUpPSBmbHVzaH1pZgogICAvbmV3ZXJyb3IgdHJ1ZSBzdG9yZX1p ZgogIGVuZCBlbmQgZW5kCiAgc3RvcAogfSAlIGhhbmRsZWVycm9yCiBkdXAgMCBzeXN0ZW1kaWN0 IHB1dCAlIHJlcGxhY2UgbmFtZSBieSBhY3R1YWwgZGljdCBvYmplY3QKIGR1cCA0IHBzJGJya3Bh Z2UgcHV0ICUgcmVwbGFjZSBuYW1lIGJ5IGRpY3Qgb2JqZWN0CiBiaW5kIHJlYWRvbmx5CgogZXJy b3JkaWN0IDMgMSByb2xsIHB1dCAlIHB1dCBwcm9jIGluIGVycm9yZGljdCBhcyAvaGFuZGxlZXJy b3IKfWlmZWxzZQolJUVuZFByb2NTZXQKCgolIG9wZXJhdG9ycyBmb3IgbGFuZ3VhZ2UgbGV2ZWwg MiBvbmx5CgooPDwpY3ZuIHdoZXJlCQkJJSA8PCBvcGVyYXRvcgp7cG9wL0JNYXJrKDw8KWN2biBs b2FkIGRlZn0Key9CTWFya3ttYXJrfWJpbmQgZGVmfWlmZWxzZQooPj4pY3ZuIHdoZXJlCQkJJSA+ PiBvcGVyYXRvcgp7cG9wL0VNYXJrKD4+KWN2biBsb2FkIGRlZn0Key9FTWFya3tjb3VudHRvbWFy ayAyIGlkaXYgZHVwIGRpY3QgYmVnaW57ZGVmfXJlcGVhdCBwb3AgY3VycmVudGRpY3QgZW5kfWJp bmQgZGVmfWlmZWxzZQovc2V0cGFnZWRldmljZSB3aGVyZQkJJSBzZXRwYWdlZGV2aWNlCntwb3B9 Cnsvc2V0cGFnZWRldmljZXtwb3B9YmluZCBkZWZ9aWZlbHNlCi9wYWNrZWRhcnJheSB3aGVyZQkJ JSBwYWNrZWRhcnJheQp7cG9wfQp7L3BhY2tlZGFycmF5e2FycmF5IGFzdG9yZSByZWFkb25seX1i aW5kIGRlZn1pZmVsc2UKCgolIGRldmljZSBkZXBlbmRlbnQgb3BlcmF0b3JzCgovRGVmT3B7CiBk dXAgd2hlcmV7cG9wIHBvcCBwb3B9CiB7ZXhjaCBkdXAgd2hlcmV7cG9wfXtwb3AvcG9wfWlmZWxz ZSBsb2FkIGRlZn1pZmVsc2V9ZGVmCgovZHVwbGV4bW9kZS9zZXRkdXBsZXhtb2RlIERlZk9wCi90 dW1ibGUvc2V0dHVtYmxlIERlZk9wCgolID09PSBFTkQgcHMtcHJpbnQgcHJvbG9ndWUgMAoKJSVC ZWdpblJlc291cmNlOiBwcm9jc2V0IFBTUHJpbnRVc2VyRGVmaW5lZFByb2xvZ3VlLWFjcm9iYXQg MCAwCgoKJSVFbmRSZXNvdXJjZQoKL0xhbmRzY2FwZU1vZGUgICAgICAgZmFsc2UgZGVmCi9VcHNp ZGVEb3duICAgICAgICAgIGZhbHNlIGRlZgovTnVtYmVyT2ZDb2x1bW5zICAgICAxIGRlZgovTGFu ZHNjYXBlUGFnZUhlaWdodCA3OTIuMCBkZWYKL1ByaW50UGFnZVdpZHRoICAgICAgNDk4LjYxNDE3 MzIyODM0NjUgZGVmCi9QcmludFdpZHRoICAgNDk4LjYxNDE3MzIyODM0NjUgZGVmCi9QcmludEhl aWdodCAgNjQzLjcwMjk3MzIyODM0NjUgZGVmCi9MZWZ0TWFyZ2luICAgNTYuNjkyOTEzMzg1ODI2 NzcgZGVmCi9SaWdodE1hcmdpbiAgNTYuNjkyOTEzMzg1ODI2NzcgZGVmCi9JbnRlckNvbHVtbiAg NTYuNjkyOTEzMzg1ODI2NzcgZGVmCi9Cb3R0b21NYXJnaW4gNDIuNTE5Njg1MDM5MzcwMDggZGVm Ci9Ub3BNYXJnaW4gICAgNDIuNTE5Njg1MDM5MzcwMDggZGVmCi9IZWFkZXJPZmZzZXQgMjguMzQ2 NDU2NjkyOTEzMzg1IGRlZgovSGVhZGVyUGFkICAgIDIuNDI3NiBkZWYKL0Zvb3Rlck9mZnNldCAy OC4zNDY0NTY2OTI5MTMzODUgZGVmCi9Gb290ZXJQYWQgICAgMCBkZWYKL0Zvb3RlckxpbmVzICAy IGRlZgovU2hvd05vZk4gICAgICAgICAgIHRydWUgZGVmCi9Td2l0Y2hIZWFkZXIgICAgICAgZmFs c2UgZGVmCi9QcmludE9ubHlPbmVIZWFkZXIgZmFsc2UgZGVmCi9QcmludEhlYWRlciAgICAgICAg dHJ1ZSBkZWYKL1ByaW50SGVhZGVyRnJhbWUgICB0cnVlIGRlZgovSGVhZGVyRnJhbWVQcm9wZXJ0 aWVzIFswLjAwMCAwLjkwMCAwLjQwMCAwLjAwMCAwLjAwMCBdZGVmCi9QcmludEZvb3RlciAgICAg ICAgZmFsc2UgZGVmCi9QcmludEZvb3RlckZyYW1lICAgdHJ1ZSBkZWYKL0Zvb3RlckZyYW1lUHJv cGVydGllcyBbMC4wMDAgMC45MDAgMC40MDAgMC4wMDAgMC4wMDAgXWRlZgovTGluZVNwYWNpbmcg ICAgICAwIGRlZgovUGFyYWdyYXBoU3BhY2luZyAwIGRlZgovTGluZUhlaWdodCAgICAgICA4Ljk2 NzUwMDAwMDAwMDAwMSBkZWYKL0xpbmVzUGVyQ29sdW1uICAgNzIgZGVmCi9XYXJuUGFwZXJTaXpl ICAgIHRydWUgZGVmCi9aZWJyYSAgICAgICAgICAgIGZhbHNlIGRlZgovUHJpbnRMaW5lTnVtYmVy ICBmYWxzZSBkZWYKL1N5bmNMaW5lWmVicmEgICAgZmFsc2UgZGVmCi9aZWJyYUZvbGxvdyAgICAg IDAgZGVmCi9QcmludExpbmVTdGVwICAgIDEgZGVmCi9QcmludExpbmVTdGFydCAgIDEgZGVmCi9M aW5lTnVtYmVyQ29sb3IgIFswLjAwMCAwLjAwMCAwLjAwMF0gZGVmCi9aZWJyYUhlaWdodCAgICAg IDMgZGVmCi9aZWJyYUNvbG9yICAgICAgIDAuOTUwIGRlZgovQmFja2dyb3VuZENvbG9yICBbMS4w MDAgMS4wMDAgMS4wMDBdIGRlZgovVXNlU2V0cGFnZWRldmljZSBmYWxzZSBkZWYKCi9QYWdlV2lk dGggUHJpbnRQYWdlV2lkdGggTGVmdE1hcmdpbiBhZGQgUmlnaHRNYXJnaW4gYWRkIGRlZgoKL04t VXAgICAgICAgICAgIDEgZGVmCi9OLVVwLUxhbmRzY2FwZSBmYWxzZSBkZWYKL04tVXAtQm9yZGVy ICAgIHRydWUgZGVmCi9OLVVwLUxpbmVzICAgICAxIGRlZgovTi1VcC1Db2x1bW5zICAgMSBkZWYK L04tVXAtTWlzc2luZyAgIDAgZGVmCi9OLVVwLU1hcmdpbiAgICAyOC4zNDY0NTY2OTI5MTMzODUg ZGVmCi9OLVVwLVJlcGVhdCAgICBOLVVwLUxpbmVzIGRlZgovTi1VcC1FbmQgICAgICAgTi1VcC1D b2x1bW5zIGRlZgovTi1VcC1YQ29sdW1uICAgUGFnZVdpZHRoIGRlZgovTi1VcC1ZQ29sdW1uICAg MCBkZWYKL04tVXAtWExpbmUgICAgIE4tVXAtRW5kIDEgc3ViIFBhZ2VXaWR0aCBtdWwgbmVnIGRl ZgovTi1VcC1ZTGluZSAgICAgTGFuZHNjYXBlUGFnZUhlaWdodCBuZWcgZGVmCi9OLVVwLVhTdGFy dCAgICAwIGRlZgovTi1VcC1ZU3RhcnQgICAgMCBkZWYKCiUgPT09IEJFR0lOIHBzLXByaW50IHBy b2xvZ3VlIDEKJSB2ZXJzaW9uOiA2LjEKCiUgQ29weXJpZ2h0IChDKSAyMDAwLTIwMTMgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCgolIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFj cy4KCiUgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKJSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQolIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiUgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KCiUgR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiUgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKJSBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiUgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKJSBhbG9uZyB3aXRo IEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K CiUgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mIHRoaXMg bW9kdWxlIGdpdmUKJSB5b3UgcGVybWlzc2lvbiB0byBpbmNsdWRlIHRoZSBtb2R1bGUgaW4gYSBQ b3N0c2NyaXB0IGZpbGUgZ2VuZXJhdGVkCiUgYnkgRW1hY3Mgb3Igb3RoZXIgZnJlZSBzb2Z0d2Fy ZSB0b2dldGhlciB3aXRoIHRoZSByZXN1bHQgb2YKJSBjb252ZXJ0aW5nIHRleHQgdG8gYmUgcHJp bnRlZCwgcmVnYXJkbGVzcyBvZiB0aGUgbGljZW5zZSB0ZXJtcyBvZgolIHRoYXQgdGV4dCwgYW5k IHRvIHVzZSB1bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSB0aGUgcGFnZSBpbWFnZXMKJSByZXN1 bHRpbmcgZnJvbSBmb3JtYXR0aW5nIHNhaWQgY29tYmluYXRpb24uICBJZiB5b3UgbW9kaWZ5IHRo aXMKJSBtb2R1bGUsIHlvdSBtYXkgZXh0ZW5kIHRoaXMgZXhjZXB0aW9uIHRvIHlvdXIgdmVyc2lv biBvZiB0aGUgbW9kdWxlCiUgYnV0IHlvdSBhcmUgbm90IG9ibGlnYXRlZCB0byBkbyBzby4gIElm IHlvdSBkbyBub3Qgd2lzaCB0byBkbyBzbywKJSBkZWxldGUgdGhpcyBleGNlcHRpb24gc3RhdGVt ZW50IGZyb20geW91ciB2ZXJzaW9uLgoKCiUgSVNPTGF0aW4xRW5jb2Rpbmcgc3RvbGVuIGZyb20g cHNfaW5pdC5wcyBpbiBHaG9zdFNjcmlwdCAyLjYuMS40OgovSVNPTGF0aW4xRW5jb2Rpbmcgd2hl cmV7cG9wfXsKJSAtLSBUaGUgSVNPIExhdGluLTEgZW5jb2RpbmcgdmVjdG9yIGlzbid0IGtub3du LCBzbyBkZWZpbmUgaXQuCiUgLS0gVGhlIGZpcnN0IGhhbGYgaXMgdGhlIHNhbWUgYXMgdGhlIHN0 YW5kYXJkIGVuY29kaW5nLAolIC0tIGV4Y2VwdCBmb3IgbWludXMgaW5zdGVhZCBvZiBoeXBoZW4g YXQgY29kZSAwNTUuCi9JU09MYXRpbjFFbmNvZGluZwpTdGFuZGFyZEVuY29kaW5nIDAgNDUgZ2V0 aW50ZXJ2YWwgYWxvYWQgcG9wCiAgICAvbWludXMKU3RhbmRhcmRFbmNvZGluZyA0NiA4MiBnZXRp bnRlcnZhbCBhbG9hZCBwb3AKJSoqKiBOT1RFOiB0aGUgZm9sbG93aW5nIGFyZSBtaXNzaW5nIGlu IHRoZSBBZG9iZSBkb2N1bWVudGF0aW9uLAolKioqIGJ1dCBhcHBlYXIgaW4gdGhlIGRpc3BsYXll ZCB0YWJsZToKJSoqKiBtYWNyb24gYXQgMDIyNSwgZGllcmVzaXMgYXQgMDIzMCwgY2VkaWxsYSBh dCAwMjMzLCBzcGFjZSBhdCAwMjQwLgolIDAyMDAgKDEyOCkKICAgIC8ubm90ZGVmLy5ub3RkZWYv Lm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYKICAgIC8ubm90 ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3RkZWYvLm5vdGRlZi8ubm90ZGVmLy5ub3Rk ZWYKICAgIC9kb3RsZXNzaS9ncmF2ZS9hY3V0ZS9jaXJjdW1mbGV4L3RpbGRlL21hY3Jvbi9icmV2 ZS9kb3RhY2NlbnQKICAgIC9kaWVyZXNpcy8ubm90ZGVmL3JpbmcvY2VkaWxsYS8ubm90ZGVmL2h1 bmdhcnVtbGF1dC9vZ29uZWsvY2Fyb24KJSAwMjQwICgxNjApCiAgICAvc3BhY2UvZXhjbGFtZG93 bi9jZW50L3N0ZXJsaW5nCgkvY3VycmVuY3kveWVuL2Jyb2tlbmJhci9zZWN0aW9uCiAgICAvZGll cmVzaXMvY29weXJpZ2h0L29yZGZlbWluaW5lL2d1aWxsZW1vdGxlZnQKCS9sb2dpY2Fsbm90L2h5 cGhlbi9yZWdpc3RlcmVkL21hY3JvbgogICAgL2RlZ3JlZS9wbHVzbWludXMvdHdvc3VwZXJpb3Iv dGhyZWVzdXBlcmlvcgoJL2FjdXRlL211L3BhcmFncmFwaC9wZXJpb2RjZW50ZXJlZAogICAgL2Nl ZGlsbGEvb25lc3VwZXJpb3Ivb3JkbWFzY3VsaW5lL2d1aWxsZW1vdHJpZ2h0Cgkvb25lcXVhcnRl ci9vbmVoYWxmL3RocmVlcXVhcnRlcnMvcXVlc3Rpb25kb3duCiUgMDMwMCAoMTkyKQogICAgL0Fn cmF2ZS9BYWN1dGUvQWNpcmN1bWZsZXgvQXRpbGRlCgkvQWRpZXJlc2lzL0FyaW5nL0FFL0NjZWRp bGxhCiAgICAvRWdyYXZlL0VhY3V0ZS9FY2lyY3VtZmxleC9FZGllcmVzaXMKCS9JZ3JhdmUvSWFj dXRlL0ljaXJjdW1mbGV4L0lkaWVyZXNpcwogICAgL0V0aC9OdGlsZGUvT2dyYXZlL09hY3V0ZQoJ L09jaXJjdW1mbGV4L090aWxkZS9PZGllcmVzaXMvbXVsdGlwbHkKICAgIC9Pc2xhc2gvVWdyYXZl L1VhY3V0ZS9VY2lyY3VtZmxleAoJL1VkaWVyZXNpcy9ZYWN1dGUvVGhvcm4vZ2VybWFuZGJscwol IDAzNDAgKDIyNCkKICAgIC9hZ3JhdmUvYWFjdXRlL2FjaXJjdW1mbGV4L2F0aWxkZQoJL2FkaWVy ZXNpcy9hcmluZy9hZS9jY2VkaWxsYQogICAgL2VncmF2ZS9lYWN1dGUvZWNpcmN1bWZsZXgvZWRp ZXJlc2lzCgkvaWdyYXZlL2lhY3V0ZS9pY2lyY3VtZmxleC9pZGllcmVzaXMKICAgIC9ldGgvbnRp bGRlL29ncmF2ZS9vYWN1dGUKCS9vY2lyY3VtZmxleC9vdGlsZGUvb2RpZXJlc2lzL2RpdmlkZQog ICAgL29zbGFzaC91Z3JhdmUvdWFjdXRlL3VjaXJjdW1mbGV4CgkvdWRpZXJlc2lzL3lhY3V0ZS90 aG9ybi95ZGllcmVzaXMKMjU2IHBhY2tlZGFycmF5IGRlZgp9aWZlbHNlCgovcmVlbmNvZGVGb250 SVNPeyAlZGVmCiAgZHVwCiAgbGVuZ3RoIDEyIGFkZCBkaWN0CSUgTWFrZSBhIG5ldyBmb250IChh IG5ldyBkaWN0IHRoZSBzYW1lIHNpemUKCQkJJSBhcyB0aGUgb2xkIG9uZSkgd2l0aCByb29tIGZv ciBvdXIgbmV3IHN5bWJvbHMuCgogIGJlZ2luCQkJJSBNYWtlIHRoZSBuZXcgZm9udCB0aGUgY3Vy cmVudCBkaWN0aW9uYXJ5LgoKICAgICUgQ29weSBlYWNoIG9mIHRoZSBzeW1ib2xzIGZyb20gdGhl IG9sZCBkaWN0aW9uYXJ5CiAgICAlIHRvIHRoZSBuZXcgb25lIGV4Y2VwdCBmb3IgdGhlIGZvbnQg SUQuCiAgICB7MSBpbmRleC9GSUQgbmV7ZGVmfXtwb3AgcG9wfWlmZWxzZX1mb3JhbGwKCiAgICAl IE92ZXJyaWRlIHRoZSBlbmNvZGluZyB3aXRoIHRoZSBJU09MYXRpbjEgZW5jb2RpbmcuCiAgICBj dXJyZW50ZGljdC9Gb250VHlwZSBnZXQgMCBuZXsvRW5jb2RpbmcgSVNPTGF0aW4xRW5jb2Rpbmcg ZGVmfWlmCgogICAgJSBVc2UgdGhlIGZvbnQncyBib3VuZGluZyBib3ggdG8gZGV0ZXJtaW5lIHRo ZSBhc2NlbnQsIGRlc2NlbnQsCiAgICAlIGFuZCBvdmVyYWxsIGhlaWdodDsgZG9uJ3QgZm9yZ2V0 IHRoYXQgdGhlc2UgdmFsdWVzIGhhdmUgdG8gYmUKICAgICUgdHJhbnNmb3JtZWQgdXNpbmcgdGhl IGZvbnQncyBtYXRyaXguCgolICAgICAgICAgIF4gICAgKHgyIHkyKQolICAgICAgICAgIHwgICAg ICAgfAolICAgICAgICAgIHwgICAgICAgdgolICAgICAgICAgIHwgICstLS0tKyAtIC0KJSAgICAg ICAgICB8ICB8ICAgIHwgICBeCiUgICAgICAgICAgfCAgfCAgICB8ICAgfCBBc2NlbnQgKHVzdWFs bHkgPiAwKQolICAgICAgICAgIHwgIHwgICAgfCAgIHwKJSAoMCAwKSAtPiArLS0rLS0tLSstLS0t LS0tLT4KJSAgICAgICAgICAgICB8ICAgIHwgICB8CiUgICAgICAgICAgICAgfCAgICB8ICAgdiBE ZXNjZW50ICh1c3VhbGx5IDwgMCkKJSAoeDEgeTEpIC0tPiArLS0tLSsgLSAtCgogICAgY3VycmVu dGRpY3QvRm9udFR5cGUgZ2V0IDAgbmUKICAgIHsvRm9udEJCb3ggbG9hZCBhbG9hZCBwb3AJCQkl IC0tIHgxIHkxIHgyIHkyCiAgICAgRm9udE1hdHJpeCB0cmFuc2Zvcm0vQXNjZW50ICBleGNoIGRl ZiBwb3AKICAgICBGb250TWF0cml4IHRyYW5zZm9ybS9EZXNjZW50IGV4Y2ggZGVmIHBvcH0KICAg IHsvUHJpbWFyeUZvbnQgRkRlcFZlY3RvciAwIGdldCBkZWYKICAgICBQcmltYXJ5Rm9udC9Gb250 QkJveCBnZXQgYWxvYWQgcG9wCiAgICAgUHJpbWFyeUZvbnQvRm9udE1hdHJpeCBnZXQgdHJhbnNm b3JtL0FzY2VudCBleGNoIGRlZiBwb3AKICAgICBQcmltYXJ5Rm9udC9Gb250TWF0cml4IGdldCB0 cmFuc2Zvcm0vRGVzY2VudCBleGNoIGRlZiBwb3B9aWZlbHNlCgogICAgL0ZvbnRIZWlnaHQgQXNj ZW50IERlc2NlbnQgc3ViIGRlZgklIHVzZSBgc3ViJyBiZWNhdXNlIGRlc2NlbnQgPCAwCgogICAg JSBEZWZpbmUgdGhlc2UgaW4gY2FzZSB0aGV5J3JlIG5vdCBpbiB0aGUgRm9udEluZm8KICAgICUg KGFsc28sIGhlcmUgdGhleSdyZSBlYXNpZXIgdG8gZ2V0IHRvKS4KICAgIC9VbmRlcmxpbmVQb3Np dGlvbiAgRGVzY2VudCAwLjcwIG11bCBkZWYKICAgIC9PdmVybGluZVBvc2l0aW9uICAgRGVzY2Vu dCBVbmRlcmxpbmVQb3NpdGlvbiBzdWIgQXNjZW50IGFkZCBkZWYKICAgIC9TdHJpa2VvdXRQb3Np dGlvbiAgQXNjZW50IDAuMzAgbXVsIGRlZgogICAgL0xpbmVUaGlja25lc3MgICAgICBGb250SGVp Z2h0IDAuMDUgbXVsIGRlZgogICAgL1hzaGFkb3cgICAgICAgICAgICBGb250SGVpZ2h0ICAwLjA4 IG11bCBkZWYKICAgIC9Zc2hhZG93ICAgICAgICAgICAgRm9udEhlaWdodCAtMC4wOSBtdWwgZGVm CiAgICAvU3BhY2VCYWNrZ3JvdW5kICAgIERlc2NlbnQgbmVnIFVuZGVybGluZVBvc2l0aW9uIGFk ZCBkZWYKICAgIC9YQm94ICAgICAgICAgICAgICAgRGVzY2VudCBuZWcgZGVmCiAgICAvWUJveCAg ICAgICAgICAgICAgIExpbmVUaGlja25lc3MgMC43IG11bCBkZWYKCiAgICBjdXJyZW50ZGljdAkJ JSBMZWF2ZSB0aGUgbmV3IGZvbnQgb24gdGhlIHN0YWNrCiAgICBlbmQJCQklIFN0b3AgdXNpbmcg dGhlIGZvbnQgYXMgdGhlIGN1cnJlbnQgZGljdGlvbmFyeS4KICAgIGRlZmluZWZvbnQJCSUgUHV0 IHRoZSBmb250IGludG8gdGhlIGZvbnQgZGljdGlvbmFyeQogICAgcG9wCQkJJSBEaXNjYXJkIHRo ZSByZXR1cm5lZCBmb250Lgp9YmluZCBkZWYKCiUgRm9udCBkZWZpbml0aW9uCi9EZWZGb250e2Zp bmRmb250IGV4Y2ggc2NhbGVmb250IHJlZW5jb2RlRm9udElTT31kZWYKCiUgRm9udCBzZWxlY3Rp b24KL0Z7CiAgZmluZGZvbnQKICBkdXAvQXNjZW50ICAgICAgICAgICAgZ2V0L0FzY2VudCAgICAg ICAgICAgIGV4Y2ggZGVmCiAgZHVwL0Rlc2NlbnQgICAgICAgICAgIGdldC9EZXNjZW50ICAgICAg ICAgICBleGNoIGRlZgogIGR1cC9Gb250SGVpZ2h0ICAgICAgICBnZXQvRm9udEhlaWdodCAgICAg ICAgZXhjaCBkZWYKICBkdXAvVW5kZXJsaW5lUG9zaXRpb24gZ2V0L1VuZGVybGluZVBvc2l0aW9u IGV4Y2ggZGVmCiAgZHVwL092ZXJsaW5lUG9zaXRpb24gIGdldC9PdmVybGluZVBvc2l0aW9uICBl eGNoIGRlZgogIGR1cC9TdHJpa2VvdXRQb3NpdGlvbiBnZXQvU3RyaWtlb3V0UG9zaXRpb24gZXhj aCBkZWYKICBkdXAvTGluZVRoaWNrbmVzcyAgICAgZ2V0L0xpbmVUaGlja25lc3MgICAgIGV4Y2gg ZGVmCiAgZHVwL1hzaGFkb3cgICAgICAgICAgIGdldC9Yc2hhZG93ICAgICAgICAgICBleGNoIGRl ZgogIGR1cC9Zc2hhZG93ICAgICAgICAgICBnZXQvWXNoYWRvdyAgICAgICAgICAgZXhjaCBkZWYK ICBkdXAvU3BhY2VCYWNrZ3JvdW5kICAgZ2V0L1NwYWNlQmFja2dyb3VuZCAgIGV4Y2ggZGVmCiAg ZHVwL1hCb3ggICAgICAgICAgICAgIGdldC9YQm94ICAgICAgICAgICAgICBleGNoIGRlZgogIGR1 cC9ZQm94ICAgICAgICAgICAgICBnZXQvWUJveCAgICAgICAgICAgICAgZXhjaCBkZWYKICBzZXRm b250Cn1kZWYKCi9GRy9zZXRyZ2Jjb2xvciBsb2FkIGRlZgoKL2JnIGZhbHNlIGRlZgovQkd7CiAg ZHVwL2JnIGV4Y2ggZGVmCiAge1s0IDEgcm9sbF19CiAge1sxLjAgMS4wIDEuMF19CiAgaWZlbHNl CiAgL2JnY29sb3IgZXhjaCBkZWYKfWRlZgoKJSAgQiAgICB3aWR0aCAgICBDCiUgICArLS0tLS0t LS0tLS0rCiUgICAgICAgICAgICAgICB8IEFzY2VudCAgKHVzdWFsbHkgPiAwKQolIEEgKyAgICAg ICAgICAgKwolICAgICAgICAgICAgICAgfCBEZXNjZW50ICh1c3VhbGx5IDwgMCkKJSAgICstLS0t LS0tLS0tLSsKJSAgRSAgICB3aWR0aCAgICBECgovZG9iYWNrZ3JvdW5kewkJCQklIHdpZHRoIC0t CiAgY3VycmVudHBvaW50CQkJCSUgLS0gd2lkdGggeCB5CiAgZ3NhdmUKICAgIG5ld3BhdGgKICAg IG1vdmV0bwkJCQklIEEgKHggeSkKICAgIDAgQXNjZW50IHJtb3ZldG8JCQklIEIKICAgIGR1cCAw IHJsaW5ldG8JCQklIEMKICAgIDAgRGVzY2VudCBBc2NlbnQgc3ViIHJsaW5ldG8JJSBECiAgICBu ZWcgMCBybGluZXRvCQkJJSBFCiAgICBjbG9zZXBhdGgKICAgIEZpbGxCZ0NvbG9yCiAgZ3Jlc3Rv cmUKfWRlZgoKL2VvbGJnewkJCQkJJSBkb2JhY2tncm91bmQgdW50aWwgcmlnaHQgbWFyZ2luCiAg UHJpbnRXaWR0aAkJCQklIC0tIHgtZW9sCiAgY3VycmVudHBvaW50IHBvcAkJCSUgLS0gY3VyLXgK ICBzdWIJCQkJCSUgLS0gd2lkdGggdW50aWwgZW9sCiAgZG9iYWNrZ3JvdW5kCn1kZWYKCi9MaW5l SFMgTGluZUhlaWdodCBMaW5lU3BhY2luZyBhZGQgZGVmCi9QYXJhZ3JhcGhIUyBMaW5lSGVpZ2h0 IFBhcmFncmFwaFNwYWNpbmcgYWRkIGRlZgovUFNMey9oIGV4Y2ggZGVmIGJne2VvbGJnfWlmICAw ICBjdXJyZW50cG9pbnQgZXhjaCBwb3AgaCBzdWIgIG1vdmV0b31kZWYKL1BMTntQcmludExpbmVO dW1iZXJ7ZG9MaW5lTnVtYmVyfWlmfWRlZgoKL1NMe0xpbmVIUyBQU0wgaXNMaW5lU3RlcCBwb3B9 ZGVmCSUgU29mdCBMaW5lZmVlZAoKL1BITHtQYXJhZ3JhcGhIUyBQU0wgUExOfWRlZgkJJSBQYXJh Z3JhcGggSGFyZCBMaW5lZmVlZAovTEhMe0xpbmVIUyBQU0wgUExOfWRlZgkJCSUgSGFyZCBMaW5l ZmVlZAoKJSBTb21lIGRlYnVnCi9kY3B7Y3VycmVudHBvaW50IGV4Y2ggNDAgc3RyaW5nIGN2cyBw cmludCgsIClwcmludCA9fWRlZgovZHB7cHJpbnQgMiBjb3B5ICBleGNoIDQwIHN0cmluZyBjdnMg cHJpbnQoLCApcHJpbnQgPX1kZWYKCi9XewogICggKXN0cmluZ3dpZHRoCSUgR2V0IHRoZSB3aWR0 aCBvZiBhIHNwYWNlIGluIHRoZSBjdXJyZW50IGZvbnQuCiAgcG9wCQkJJSBEaXNjYXJkIHRoZSBZ IGNvbXBvbmVudC4KICBtdWwJCQklIE11bHRpcGx5IHRoZSB3aWR0aCBvZiBhIHNwYWNlCgkJCSUg YnkgdGhlIG51bWJlciBvZiBzcGFjZXMgdG8gcGxvdAogIGJne2R1cCBkb2JhY2tncm91bmR9aWYK ICAwIHJtb3ZldG8KfWRlZgoKL0VmZmVjdCAgICAgICAgICAwIGRlZgovRWZmZWN0VW5kZXJsaW5l IGZhbHNlIGRlZgovRWZmZWN0U3RyaWtlb3V0IGZhbHNlIGRlZgovRWZmZWN0T3ZlcmxpbmUgIGZh bHNlIGRlZgovRWZmZWN0U2hhZG93ICAgIGZhbHNlIGRlZgovRWZmZWN0Qm94ICAgICAgIGZhbHNl IGRlZgovRWZmZWN0T3V0bGluZSAgIGZhbHNlIGRlZgoKJSBlZmZlY3Q6IDEgIC0gdW5kZXJsaW5l ICAyICAgLSBzdHJpa2VvdXQgIDQgIC0gb3ZlcmxpbmUKJSAgICAgICAgIDggIC0gc2hhZG93ICAg ICAxNiAgLSBib3ggICAgICAgIDMyIC0gb3V0bGluZQovRUZ7CiAgL0VmZmVjdCBleGNoIGRlZgog IC9FZmZlY3RVbmRlcmxpbmUgRWZmZWN0IDEgIGFuZCAwIG5lIGRlZgogIC9FZmZlY3RTdHJpa2Vv dXQgRWZmZWN0IDIgIGFuZCAwIG5lIGRlZgogIC9FZmZlY3RPdmVybGluZSAgRWZmZWN0IDQgIGFu ZCAwIG5lIGRlZgogIC9FZmZlY3RTaGFkb3cgICAgRWZmZWN0IDggIGFuZCAwIG5lIGRlZgogIC9F ZmZlY3RCb3ggICAgICAgRWZmZWN0IDE2IGFuZCAwIG5lIGRlZgogIC9FZmZlY3RPdXRsaW5lICAg RWZmZWN0IDMyIGFuZCAwIG5lIGRlZgp9ZGVmCgolIHN0YWNrOiAgc3RyaW5nICB8LSAgLS0KL1N7 CiAgL3h4IGN1cnJlbnRwb2ludCBkdXAgRGVzY2VudCBhZGQveXkgZXhjaCBkZWYKICBBc2NlbnQg YWRkL1lZIGV4Y2ggZGVmIGRlZgogIGR1cCBzdHJpbmd3aWR0aCBwb3AgeHggYWRkL1hYIGV4Y2gg ZGVmCiAgRWZmZWN0U2hhZG93ewogICAgL3l5IHl5IFlzaGFkb3cgYWRkIGRlZgogICAgL1hYIFhY IFhzaGFkb3cgYWRkIGRlZgogIH1pZgogIGJnewogICAgdHJ1ZQogICAgRWZmZWN0Qm94CiAgICAg IHtTcGFjZUJhY2tncm91bmQgZG9Cb3h9CiAgICAgIHt4eCB5eSBYWCBZWSBkb1JlY3R9CiAgICBp ZmVsc2UKICB9aWYJCQkJCQklIGJhY2tncm91bmQKICBFZmZlY3RCb3ggICAgICB7ZmFsc2UgMCBk b0JveH1pZgkJJSBib3gKICBFZmZlY3RTaGFkb3cgICB7ZHVwIGRvU2hhZG93fWlmCQklIHNoYWRv dwogIEVmZmVjdE91dGxpbmUKICAgIHt0cnVlIGRvT3V0bGluZX0JCQkJJSBvdXRsaW5lCiAgICB7 c2hvd30JCQkJCSUgbm9ybWFsIHRleHQKICBpZmVsc2UKICBFZmZlY3RVbmRlcmxpbmV7VW5kZXJs aW5lUG9zaXRpb24gSGxpbmV9aWYJJSB1bmRlcmxpbmUKICBFZmZlY3RTdHJpa2VvdXR7U3RyaWtl b3V0UG9zaXRpb24gSGxpbmV9aWYJJSBzdHJpa2VvdXQKICBFZmZlY3RPdmVybGluZSB7T3Zlcmxp bmVQb3NpdGlvbiAgSGxpbmV9aWYJJSBvdmVybGluZQp9YmluZCBkZWYKCiUgc3RhY2s6ICBwb3Np dGlvbiAgfC0gIC0tCi9IbGluZXsKICBjdXJyZW50cG9pbnQgZXhjaCBwb3AgYWRkIGR1cAogIGdz YXZlCiAgbmV3cGF0aAogIHh4IGV4Y2ggbW92ZXRvCiAgWFggZXhjaCBsaW5ldG8KICBjbG9zZXBh dGgKICBMaW5lVGhpY2tuZXNzIHNldGxpbmV3aWR0aCBzdHJva2UKICBncmVzdG9yZQp9YmluZCBk ZWYKCiUgc3RhY2s6ICBmaWxsLW9yLW5vdCBkZWx0YSAgfC0gIC0tCi9kb0JveHsKICAvZGQgZXhj aCBkZWYKICB4eCBYQm94IHN1YiBkZCBzdWIgeXkgWUJveCBzdWIgZGQgc3ViCiAgWFggWEJveCBh ZGQgZGQgYWRkIFlZIFlCb3ggYWRkIGRkIGFkZAogIGRvUmVjdAp9YmluZCBkZWYKCiUgc3RhY2s6 ICBmaWxsLW9yLW5vdCBsb3dlci14IGxvd2VyLXkgdXBwZXIteCB1cHBlci15ICB8LSAgLS0KL2Rv UmVjdHsKICAvcllZIGV4Y2ggZGVmCiAgL3JYWCBleGNoIGRlZgogIC9yeXkgZXhjaCBkZWYKICAv cnh4IGV4Y2ggZGVmCiAgZ3NhdmUKICBuZXdwYXRoCiAgclhYIHJZWSBtb3ZldG8KICByeHggcllZ IGxpbmV0bwogIHJ4eCByeXkgbGluZXRvCiAgclhYIHJ5eSBsaW5ldG8KICBjbG9zZXBhdGgKICAl IHRvcCBvZiBzdGFjazogZmlsbC1vci1ub3QKICB7RmlsbEJnQ29sb3J9CiAge0xpbmVUaGlja25l c3Mgc2V0bGluZXdpZHRoIHN0cm9rZX1pZmVsc2UKICBncmVzdG9yZQp9YmluZCBkZWYKCiUgc3Rh Y2s6ICBzdHJpbmcgIHwtICAtLQovZG9TaGFkb3d7CiAgZ3NhdmUKICBYc2hhZG93IFlzaGFkb3cg cm1vdmV0bwogIGZhbHNlIGRvT3V0bGluZQogIGdyZXN0b3JlCn1iaW5kIGRlZgoKL3N0IDEgc3Ry aW5nIGRlZgoKJSBzdGFjazogIHN0cmluZyBmaWxsLW9yLW5vdCAgfC0gIC0tCi9kb091dGxpbmV7 CiAgLy1maWxscC0gZXhjaCBkZWYKICAvLW94LSBjdXJyZW50cG9pbnQvLW95LSBleGNoIGRlZiBk ZWYKICBnc2F2ZQogIExpbmVUaGlja25lc3Mgc2V0bGluZXdpZHRoCiAge3N0IDAgMyAtMSByb2xs IHB1dAogICBzdCBkdXAgdHJ1ZSBjaGFycGF0aAogICAtZmlsbHAtIHtnc2F2ZSBGaWxsQmdDb2xv ciBncmVzdG9yZX1pZgogICBzdHJva2Ugc3RyaW5nd2lkdGgKICAgLW95LSBhZGQvLW95LSBleGNo IGRlZgogICAtb3gtIGFkZC8tb3gtIGV4Y2ggZGVmCiAgIC1veC0gLW95LSBtb3ZldG8KICB9Zm9y YWxsCiAgZ3Jlc3RvcmUKICAtb3gtIC1veS0gbW92ZXRvCn1iaW5kIGRlZgoKJSBzdGFjazogIC0t Ci9GaWxsQmdDb2xvcntiZ2NvbG9yIGFsb2FkIHBvcCBzZXRyZ2Jjb2xvciBmaWxsfWJpbmQgZGVm CgolIHN0YWNrOiAgLS0gfC0gYm9vbGVhbgovaXNMaW5lU3RlcHsKICBTeW5jTGluZVplYnJhCiAg e1BMU2NvdW50ZXIgMCBndAkJCQkJCSUgb3IgemVicmEKICAgey9QTFNjb3VudGVyIFBMU2NvdW50 ZXIgMSBzdWIgZGVmIFBMU2NvdW50ZXIgMCBlcX0KICAge2ZhbHNlfWlmZWxzZQogICBQcmludExp bmVTdGVwIDEgZ3QKICAgey9QcmludExpbmVTdGVwIFByaW50TGluZVN0ZXAgMSBzdWIgZGVmfQog ICB7L1ByaW50TGluZVN0ZXAgWmVicmFIZWlnaHQgZGVmCiAgICAvUExTY291bnRlciBQcmludExp bmVTdGFydCBkZWZ9aWZlbHNlfQogIHtMaW5lTnVtYmVyIFByaW50TGluZVN0YXJ0IHN1YiBQcmlu dExpbmVTdGVwIG1vZCAwIGVxfWlmZWxzZQklIG9yIGxpbmUgc3RlcAp9ZGVmCgolIHN0YWNrOiAg LS0KL2RvTGluZU51bWJlcnsKICAvTGluZU51bWJlciB3aGVyZQogIHtwb3AKICAgaXNMaW5lU3Rl cAkJCSUgb3IgbGluZSBzdGVwCiAgIExpbmVOdW1iZXIgTGluZXMgZ2Ugb3IJJSBvciBsYXN0IGxp bmUKICAge2N1cnJlbnRmb250CiAgICBnc2F2ZQogICAgTGluZU51bWJlckNvbG9yIFNldENvbG9y CiAgICAvTDAgZmluZGZvbnQgc2V0Zm9udAogICAgTGluZU51bWJlciBMaW5lcyBnZQogICAgeyhl bmQgICAgICApfQogICAge0xpbmVOdW1iZXIgNiBzdHJpbmcgY3ZzKCAgICAgIClzdHJjYXR9aWZl bHNlCiAgICBkdXAgc3RyaW5nd2lkdGggcG9wIG5lZyAwIHJtb3ZldG8KICAgIHNob3cKICAgIGdy ZXN0b3JlCiAgICBzZXRmb250fWlmCiAgICAvTGluZU51bWJlciBMaW5lTnVtYmVyIDEgYWRkIGRl ZgogIH1pZgp9ZGVmCgolIHN0YWNrOiBjb2xvci1zcGVjaWZpZXIgfC0gLS0KL1NldENvbG9ye2R1 cCB0eXBlL3JlYWx0eXBlIGVxe3NldGdyYXl9e2Fsb2FkIHBvcCBzZXRyZ2Jjb2xvcn1pZmVsc2V9 ZGVmCgolIHN0YWNrOiAtLQovcHJpbnRaZWJyYXsKICBnc2F2ZQogIFplYnJhQ29sb3IgU2V0Q29s b3IKICAvZG91YmxlLXplYnJhIFplYnJhSGVpZ2h0IFplYnJhSGVpZ2h0IGFkZCBkZWYKICAveWl0 ZXIgZG91YmxlLXplYnJhIExpbmVIUyBtdWwgbmVnIGRlZgogIC94aXRlciBQcmludFdpZHRoIElu dGVyQ29sdW1uIGFkZCBkZWYKICAvemVicmEtbGluZSBMaW5lc1ByaW50ZWQgZGVmCiAgTnVtYmVy T2ZDb2x1bW5ze0xpbmVzUGVyQ29sdW1uIGRvQ29sdW1uWmVicmEgeGl0ZXIgMCBybW92ZXRvfXJl cGVhdAogIGdyZXN0b3JlCn1kZWYKCiUgc3RhY2s6ICBsaW5lcy1wZXItY29sdW1uIHwtIC0tCi9k b0NvbHVtblplYnJhewogIC9scGMgZXhjaCBkZWYKICBnc2F2ZQogIFplYnJhRm9sbG93IDEgYW5k IDAgbmV7CiAgICAvSCBaZWJyYUhlaWdodCB6ZWJyYS1saW5lIFplYnJhSGVpZ2h0IG1vZCBzdWIg ZGVmCiAgICAvbHBjIGxwYyBIIHN1YiBkZWYKICAgIHplYnJhLWxpbmUgZG91YmxlLXplYnJhIG1v ZCBaZWJyYUhlaWdodCBsdAogICAge0ggZG9aZWJyYQklICJibGFjayIgc3RyaXBlIGZvbGxvd2Vk IGJ5IGEgIndoaXRlIiBzdHJpcGUKICAgICAvbHBjIGxwYyBaZWJyYUhlaWdodCBzdWIgZGVmCiAg ICAgSCBaZWJyYUhlaWdodCBhZGR9CiAgICB7SH1pZmVsc2UJJSAid2hpdGUiIHN0cmlwZQogICAg TGluZUhTIG11bCBuZWcgMCBleGNoIHJtb3ZldG8KICAgIC96ZWJyYS1saW5lIHplYnJhLWxpbmUg TGluZXNQZXJDb2x1bW4gYWRkIGRlZgogIH1pZgogIC96c3BhY2luZyAwIGRlZgogIGxwYyBkdXAg ZG91YmxlLXplYnJhIGlkaXZ7WmVicmFIZWlnaHQgZG9aZWJyYSAwIHlpdGVyIHJtb3ZldG99cmVw ZWF0CiAgZG91YmxlLXplYnJhIG1vZCBkdXAgMCBsZXtwb3B9CiAge2R1cCBaZWJyYUhlaWdodCBn dAogICB7cG9wIFplYnJhSGVpZ2h0fQogICB7L3pzcGFjaW5nIExpbmVTcGFjaW5nIGRlZgogICAg WmVicmFGb2xsb3cgMiBhbmQgMCBuZXtwb3AgWmVicmFIZWlnaHR9aWZ9aWZlbHNlCiAgIGRvWmVi cmF9aWZlbHNlCiAgZ3Jlc3RvcmUKfWRlZgoKJSBzdGFjazogIHplYnJhLWhlaWdodCAoaW4gbGlu ZXMpIHwtIC0tCi9kb1plYnJhewogIC96aCBleGNoIDAuMDUgc3ViIExpbmVIUyBtdWwgenNwYWNp bmcgc3ViIGRlZgogIGdzYXZlCiAgMCBMaW5lSGVpZ2h0IDAuNjUgbXVsIHJtb3ZldG8KICBQcmlu dFdpZHRoIDAgcmxpbmV0bwogIDAgemggbmVnIHJsaW5ldG8KICBQcmludFdpZHRoIG5lZyAwIHJs aW5ldG8KICAwIHpoIHJsaW5ldG8KICBmaWxsCiAgZ3Jlc3RvcmUKfWRlZgoKJSBzdGFjazogLS0K L3ByaW50QmFja2dyb3VuZHsKICAvQmFja2dyb3VuZENvbG9yIHdoZXJlewogICAgL0xIZyBMaW5l SGVpZ2h0IDAuNjUgbXVsIGRlZgogICAgL1BIZyBQcmludEhlaWdodCBMSGcgYWRkIGRlZgogICAg cG9wIGdzYXZlIEJhY2tncm91bmRDb2xvciBTZXRDb2xvcgogICAgTnVtYmVyT2ZDb2x1bW5zewog ICAgIGdzYXZlCiAgICAgMCBMSGcgcm1vdmV0bwogICAgIFByaW50V2lkdGggMCBybGluZXRvCiAg ICAgMCBQSGcgbmVnIHJsaW5ldG8KICAgICBQcmludFdpZHRoIG5lZyAwIHJsaW5ldG8KICAgICAw IFBIZyBybGluZXRvCiAgICAgZmlsbAogICAgIGdyZXN0b3JlCiAgICAgUHJpbnRXaWR0aCBJbnRl ckNvbHVtbiBhZGQgMCBybW92ZXRvCiAgICB9cmVwZWF0CiAgICBncmVzdG9yZQogIH1pZgp9ZGVm CgolIHR4IHR5IHJvdGF0aW9uIHhzY2FsZSB5c2NhbGUgeHBvcyB5cG9zIEJlZ2luQmFja0ltYWdl Ci9CZWdpbkJhY2tJbWFnZXsKICAvLXNhdmUtaW1hZ2UtIHNhdmUgZGVmCiAgL3Nob3dwYWdle31k ZWYKICB0cmFuc2xhdGUKICBzY2FsZQogIHJvdGF0ZQogIHRyYW5zbGF0ZQp9ZGVmCgovRW5kQmFj a0ltYWdley1zYXZlLWltYWdlLSByZXN0b3JlfWRlZgoKJSBzdHJpbmcgZm9udHNpemUgZm9udG5h bWUgcm90YXRpb24gZ3JheSB4cG9zIHlwb3MgU2hvd0JhY2tUZXh0Ci9TaG93QmFja1RleHR7CiAg Z3NhdmUKICB0cmFuc2xhdGUKICBzZXRncmF5CiAgcm90YXRlCiAgZmluZGZvbnQgZXhjaCBkdXAv LW9mZnNldC0gZXhjaCAtMC4yNSBtdWwgZGVmIHNjYWxlZm9udCBzZXRmb250CiAgMCAtb2Zmc2V0 LSBtb3ZldG8KICAvLXNhdmVMaW5lVGhpY2tuZXNzLSBMaW5lVGhpY2tuZXNzIGRlZgogIC9MaW5l VGhpY2tuZXNzIDEgZGVmCiAgZmFsc2UgZG9PdXRsaW5lCiAgL0xpbmVUaGlja25lc3MgLXNhdmVM aW5lVGhpY2tuZXNzLSBkZWYKICBncmVzdG9yZQp9ZGVmCgovU2V0UGFnZVNpemV7CiAgQk1hcmsv UGFnZVNpemVbUGFnZVdpZHRoIExhbmRzY2FwZVBhZ2VIZWlnaHQgTGFuZHNjYXBlTW9kZXtleGNo fWlmXUVNYXJrIHNldHBhZ2VkZXZpY2UKfWRlZgoKL0JlZ2luRG9jewogICUgLS0tLSBSZW1lbWJl ciBzcGFjZSB3aWR0aCBvZiB0aGUgbm9ybWFsIHRleHQgZm9udCBgZjAnLgogIC9TcGFjZVdpZHRo L2YwIGZpbmRmb250IHNldGZvbnQoIClzdHJpbmd3aWR0aCBwb3AgZGVmCiAgJSAtLS0tIHNhdmUg dGhlIHN0YXRlIG9mIHRoZSBkb2N1bWVudCAodXNlZnVsIGZvciBnaG9zdHNjcmlwdCEpCiAgL2Rv Y1N0YXRlIHNhdmUgZGVmCiAgJSAtLS0tIFthbmRyZXdpXSBzZXQgUGFnZVNpemUgYmFzZWQgb24g Y2hvc2VuIGRpbWVuc2lvbnMKICBVc2VTZXRwYWdlZGV2aWNlewogICBXYXJuUGFwZXJTaXple1Nl dFBhZ2VTaXplfXttYXJre1NldFBhZ2VTaXplfXN0b3BwZWQgY2xlYXJ0b21hcmt9aWZlbHNlCiAg fWlmCiAgL0NvbHVtbldpZHRoIFByaW50V2lkdGggSW50ZXJDb2x1bW4gYWRkIGRlZgogICUgLS0t LSBkZWZpbmUgd2hlcmUgIHByaW50aW5nIHdpbGwgc3RhcnQKICAvZjAgRgkJCQkJJSB0aGlzIGlu c3RhbGxzIEFzY2VudAogIC9QcmludFN0YXJ0WSBQcmludEhlaWdodCBBc2NlbnQgc3ViIGRlZgog IC9Db2x1bW5JbmRleCAxIGRlZgogIC9OLVVwLUNvdW50ZXIgTi1VcC1FbmQgMSBzdWIgZGVmCiAg L1BMU2NvdW50ZXIgUHJpbnRMaW5lU3RhcnQgZGVmCn1kZWYKCi9FbmREb2N7CiAgJSAtLS0tIHJl c3RvcmUgdGhlIHN0YXRlIG9mIHRoZSBkb2N1bWVudCAodXNlZnVsIGZvciBnaG9zdHNjcmlwdCEp CiAgZG9jU3RhdGUgcmVzdG9yZQp9ZGVmCgovQmVnaW5EU0NQYWdlewogICUgLS0tLSB3aGVuIDFz dCBjb2x1bW4sIHNhdmUgdGhlIHN0YXRlIG9mIHRoZSBwYWdlCiAgQ29sdW1uSW5kZXggMSBlcXsv cGFnZVN0YXRlIHNhdmUgZGVmfWlmCiAgJSAtLS0tIHNhdmUgdGhlIHN0YXRlIG9mIHRoZSBjb2x1 bW4KICAvY29sdW1uU3RhdGUgc2F2ZSBkZWYKfWRlZgoKL1ByaW50SGVhZGVyV2lkdGggUHJpbnRP bmx5T25lSGVhZGVye1ByaW50UGFnZVdpZHRofXtQcmludFdpZHRofWlmZWxzZSBkZWYKCi9CZWdp blBhZ2V7CiAgL0xpbmVzUHJpbnRlZCBleGNoIGRlZgogICUgLS0tLSB3aGVuIDFzdCBjb2x1bW4s IHByaW50IGFsbCBiYWNrZ3JvdW5kIGVmZmVjdHMKICBDb2x1bW5JbmRleCAxIGVxewogICAgMCBQ cmludFN0YXJ0WSBtb3ZldG8JCSUgbW92ZSB0byB3aGVyZSBwcmludGluZyB3aWxsIHN0YXJ0CiAg ICBwcmludEJhY2tncm91bmQKICAgIFplYnJhe3ByaW50WmVicmF9aWYKICAgIHByaW50R2xvYmFs QmFja2dyb3VuZAogICAgcHJpbnRMb2NhbEJhY2tncm91bmQKICB9aWYKICBQcmludE9ubHlPbmVI ZWFkZXJ7Q29sdW1uSW5kZXggMSBlcX17dHJ1ZX1pZmVsc2UKICBkdXAgUHJpbnRIZWFkZXIgYW5k ewogICAgUHJpbnRIZWFkZXJGcmFtZXtIZWFkZXJGcmFtZX1pZgogICAgSGVhZGVyVGV4dAogIH1p ZgogIFByaW50Rm9vdGVyIGFuZHsKICAgIFByaW50Rm9vdGVyRnJhbWV7Rm9vdGVyRnJhbWV9aWYK ICAgIEZvb3RlclRleHQKICB9aWYKICAwIFByaW50U3RhcnRZIG1vdmV0bwkJCSUgbW92ZSB0byB3 aGVyZSBwcmludGluZyB3aWxsIHN0YXJ0CiAgL0xpbmVOdW1iZXIgd2hlcmUKICB7cG9wCiAgIFN5 bmNMaW5lWmVicmEKICAgey9IIFBhZ2VOdW1iZXIgMSBzdWIgTnVtYmVyT2ZDb2x1bW5zIG11bCBD b2x1bW5JbmRleCAxIHN1YiBhZGQKICAgICAgIExpbmVzUGVyQ29sdW1uIG11bCBaZWJyYUhlaWdo dCBtb2QgZGVmCiAgICAvUExTY291bnRlciBIIFByaW50TGluZVN0YXJ0IGdlezB9e1ByaW50TGlu ZVN0YXJ0IEggc3VifWlmZWxzZSBkZWYKICAgIC9QcmludExpbmVTdGVwIFplYnJhSGVpZ2h0IEgg c3ViIGRlZn1pZn1pZgogIFBMTgp9ZGVmCgovRW5kUGFnZXtiZ3tlb2xiZ31pZn1kZWYKCi9FbmRE U0NQYWdlewogIENvbHVtbkluZGV4IE51bWJlck9mQ29sdW1ucyBlcXsKICAgICUgLS0tLSByZXN0 b3JlIHRoZSBzdGF0ZSBvZiB0aGUgcGFnZQogICAgcGFnZVN0YXRlIHJlc3RvcmUKICAgIC9Db2x1 bW5JbmRleCAxIGRlZgogICAgJSAtLS0tIE4tdXAgcHJpbnRpbmcKICAgIE4tVXAgMSBndHsKICAg ICAgTi1VcC1Db3VudGVyIDAgZ3QKICAgICAgeyUgLS0tLSBOZXh0IHBhZ2Ugb24gc2FtZSByb3cK CS9OLVVwLUNvdW50ZXIgTi1VcC1Db3VudGVyIDEgc3ViIGRlZgoJTi1VcC1YQ29sdW1uIE4tVXAt WUNvbHVtbn0KICAgICAgeyUgLS0tLSBOZXh0IHBhZ2Ugb24gbmV4dCBsaW5lCgkvTi1VcC1Db3Vu dGVyIE4tVXAtRW5kIDEgc3ViIGRlZgoJTi1VcC1YTGluZSBOLVVwLVlMaW5lfWlmZWxzZQogICAg ICB0cmFuc2xhdGUKICAgIH1pZgogIH17ICUgZWxzZQogICAgJSAtLS0tIHJlc3RvcmUgdGhlIHN0 YXRlIG9mIHRoZSBjdXJyZW50IGNvbHVtbgogICAgY29sdW1uU3RhdGUgcmVzdG9yZQogICAgJSAt LS0tIGFuZCB0cmFuc2xhdGUgdG8gdGhlIG5leHQgY29sdW1uCiAgICBDb2x1bW5XaWR0aCAwIHRy YW5zbGF0ZQogICAgL0NvbHVtbkluZGV4IENvbHVtbkluZGV4IDEgYWRkIGRlZgogIH1pZmVsc2UK fWRlZgoKL1RleHRTdGFydHsKICBMZWZ0TWFyZ2luIEJvdHRvbU1hcmdpbgogIFByaW50Rm9vdGVy ewogICAgRm9vdGVyUGFkIGFkZAogICAgRm9vdGVyTGluZXMgRm9vdGVyTGluZUhlaWdodCBtdWwg YWRkCiAgICBGb290ZXJQYWQgYWRkCiAgICBGb290ZXJPZmZzZXQgYWRkfWlmCn1kZWYKCiUgc3Rh Y2s6IG51bWJlci1vZi1wYWdlcy1wZXItc2hlZXQgfC0gLS0KL0JlZ2luU2hlZXR7CiAgL3NoZWV0 U3RhdGUgc2F2ZSBkZWYKICAvcGFnZXMtcGVyLXNoZWV0IGV4Y2ggZGVmCgogICUgLS0tLSB0cmFu c2xhdGUgdG8gYm90dG9tLXJpZ2h0IGNvcm5lciBvZiBQb3J0cmFpdCBwYWdlCiAgTGFuZHNjYXBl TW9kZXsKICAgIExhbmRzY2FwZVBhZ2VIZWlnaHQgMCB0cmFuc2xhdGUKICAgIDkwIHJvdGF0ZQog IH1pZgogICUgLS0tLSBbamFja10gS2x1ZGdlOiBteSBnaG9zdHNjcmlwdCB3aW5kb3cgaXMgMjF4 MjcuNyBpbnN0ZWFkIG9mIDIxeDI5LjcKICAvSmFja0dob3N0c2NyaXB0IHdoZXJle3BvcCAxIDI3 LjcgMjkuNyBkaXYgc2NhbGV9aWYKICBVcHNpZGVEb3due1BhZ2VXaWR0aCBMYW5kc2NhcGVQYWdl SGVpZ2h0IHRyYW5zbGF0ZSAxODAgcm90YXRlfWlmCiAgJSAtLS0tIE4tVXAgcHJpbnRpbmcKICBO LVVwIDEgZ3R7CiAgICAlIC0tLS0gbGFuZHNjYXBlCiAgICBOLVVwLUxhbmRzY2FwZXsKICAgICAg UGFnZVdpZHRoIDAgdHJhbnNsYXRlCiAgICAgIDkwIHJvdGF0ZQogICAgfWlmCiAgICBOLVVwLU1h cmdpbiBkdXAgdHJhbnNsYXRlCiAgICAlIC0tLS0gc2NhbGUKICAgIExhbmRzY2FwZU1vZGV7CiAg ICAgIC9ISCBQYWdlV2lkdGggZGVmCiAgICAgIC9XVyBMYW5kc2NhcGVQYWdlSGVpZ2h0IGRlZgog ICAgfXsKICAgICAgL0hIIExhbmRzY2FwZVBhZ2VIZWlnaHQgZGVmCiAgICAgIC9XVyBQYWdlV2lk dGggZGVmCiAgICB9aWZlbHNlCiAgICAveHggMCBkZWYKICAgIE4tVXAtTGFuZHNjYXBlewogICAg ICAvd3cgV1cgV1cgbXVsIE4tVXAtTGluZXMgSEggbXVsIGRpdiBkZWYKICAgICAgL2NjIEhIIE4t VXAtQ29sdW1ucyBOLVVwLU1pc3NpbmcgYWRkIGRpdiBkZWYKICAgICAgd3cgY2MgZ3R7L3h4IFdX IGRlZi9XVyBjYyB3dyBkaXYgV1cgbXVsIGRlZi94eCB4eCBXVyBzdWIgZGVmfWlmCiAgICB9ewog ICAgICAvaGggSEggTi1VcC1Db2x1bW5zIE4tVXAtTWlzc2luZyBhZGQgZGl2IGRlZgogICAgICAv Y2MgSEggTi1VcC1MaW5lcyBkaXYgZGVmCiAgICAgIGhoIGNjIGd0ey94eCBXVyBkZWYvV1cgY2Mg aGggZGl2IFdXIG11bCBkZWYveHggeHggV1cgc3ViIGRlZn1pZgogICAgfWlmZWxzZQogICAgV1cg Ti1VcC1NYXJnaW4gc3ViIE4tVXAtTWFyZ2luIHN1YgogICAgTi1VcC1MYW5kc2NhcGUKICAgIHtO LVVwLUxpbmVzIGRpdiBISH0KICAgIHtOLVVwLUNvbHVtbnMgTi1VcC1NaXNzaW5nIGFkZCBkaXYg V1d9aWZlbHNlCiAgICBkaXYgZHVwIHNjYWxlCiAgICBMYW5kc2NhcGVNb2Rley95eSAwIGRlZn17 L3l5IHh4IGRlZi94eCAwIGRlZn1pZmVsc2UKICAgIHh4IE4tVXAtUmVwZWF0IDEgc3ViIExhbmRz Y2FwZVBhZ2VIZWlnaHQgbXVsIHl5IGFkZCB0cmFuc2xhdGUKICAgICUgLS0tLSBnbyB0byBzdGFy dCBwb3NpdGlvbiBpbiBwYWdlIG1hdHJpeAogICAgTi1VcC1YU3RhcnQgTi1VcC1NaXNzaW5nIDAu NSBtdWwKICAgIExhbmRzY2FwZU1vZGUKICAgIHtMYW5kc2NhcGVQYWdlSGVpZ2h0IG11bCBOLVVw LVlTdGFydCBhZGR9CiAgICB7UGFnZVdpZHRoIG11bCBhZGQgTi1VcC1ZU3RhcnR9aWZlbHNlCiAg ICB0cmFuc2xhdGUKICB9aWYKICAlIC0tLS0gdHJhbnNsYXRlIHRvIGxvd2VyIGxlZnQgY29ybmVy IG9mIFRFWFQKICBUZXh0U3RhcnQgdHJhbnNsYXRlCgogICUgLS0tLSBOLXVwIHByaW50aW5nCiAg Ti1VcCAxIGd0IE4tVXAtQm9yZGVyIGFuZCBwYWdlcy1wZXItc2hlZXQgMCBndCBhbmR7CiAgICAl IC0tLS0gcGFnZSBib3JkZXIKICAgIGdzYXZlCiAgICAwIHNldGdyYXkKICAgIFRleHRTdGFydCBl eGNoIG5lZyBleGNoIG5lZyBtb3ZldG8KICAgIE4tVXAtUmVwZWF0CiAgICB7Ti1VcC1FbmQKICAg ICB7Z3NhdmUKICAgICAgUGFnZVdpZHRoIDAgcmxpbmV0bwogICAgICAwIExhbmRzY2FwZVBhZ2VI ZWlnaHQgcmxpbmV0bwogICAgICBQYWdlV2lkdGggbmVnIDAgcmxpbmV0bwogICAgICBjbG9zZXBh dGggc3Ryb2tlCiAgICAgIGdyZXN0b3JlCiAgICAgIC9wYWdlcy1wZXItc2hlZXQgcGFnZXMtcGVy LXNoZWV0IDEgc3ViIGRlZgogICAgICBwYWdlcy1wZXItc2hlZXQgMCBsZXtleGl0fWlmCiAgICAg IE4tVXAtWENvbHVtbiBOLVVwLVlDb2x1bW4gcm1vdmV0bwogICAgIH1yZXBlYXQKICAgICBwYWdl cy1wZXItc2hlZXQgMCBsZXtleGl0fWlmCiAgICAgTi1VcC1YTGluZSBOLVVwLVhDb2x1bW4gc3Vi IE4tVXAtWUxpbmUgcm1vdmV0bwogICAgfXJlcGVhdAogICAgZ3Jlc3RvcmUKICB9aWYKfWRlZgoK L0VuZFNoZWV0ewogIHNob3dwYWdlCiAgc2hlZXRTdGF0ZSByZXN0b3JlCn1kZWYKCi9TZXRIZWFk ZXJMaW5lc3sJCQklIG5iLWxpbmVzIC0tCiAgL0hlYWRlckxpbmVzIGV4Y2ggZGVmCiAgJSAtLS0t IGJvdHRvbSB1cAogIEhlYWRlclBhZAogIEhlYWRlckxpbmVzIDEgc3ViIEhlYWRlckxpbmVIZWln aHQgbXVsIGFkZAogIEhlYWRlclRpdGxlTGluZUhlaWdodCBhZGQKICBIZWFkZXJQYWQgYWRkCiAg L0hlYWRlckhlaWdodCBleGNoIGRlZgp9ZGVmCgovU2V0Rm9vdGVyTGluZXN7CQkJJSBuYi1saW5l cyAtLQogIC9Gb290ZXJMaW5lcyBleGNoIGRlZgogICUgLS0tLSBib3R0b20gdXAKICBGb290ZXJQ YWQKICBGb290ZXJMaW5lcyBGb290ZXJMaW5lSGVpZ2h0IG11bCBhZGQKICBGb290ZXJQYWQgYWRk CiAgL0Zvb3RlckhlaWdodCBleGNoIGRlZgp9ZGVmCgolIHwtLS0tLS0tLS18CiUgfCAgdG0gICAg IHwKJSB8LS0tLS0tLS0tfAolIHwgIGhlYWRlciB8CiUgfC0rLS0tLS0tLXwgPC0tICh4IHkpCiUg fCAgaG8gICAgIHwKJSB8LS0tLS0tLS0tfAolIHwgIHRleHQgICB8CiUgfC0tLS0tLS0tLXwKJSB8 ICBmbyAgICAgfAolIHwtLS0tLS0tLS18CiUgfCAgZm9vdGVyIHwKJSB8LSstLS0tLS0tfCA8LS0g KDAgMCkKJSB8ICBibSAgICAgfAolIHwtLS0tLS0tLS18CgolIC0tIHwtIHggeQovSGVhZGVyRnJh bWVTdGFydHswICBQcmludEhlaWdodCBIZWFkZXJPZmZzZXQgYWRkfWRlZgovRm9vdGVyRnJhbWVT dGFydHswICBGb290ZXJIZWlnaHQgRm9vdGVyT2Zmc2V0IGFkZCBuZWd9ZGVmCgovZG9GcmFtZVBh dGh7CiAgL2ggZXhjaCBkZWYKICBQcmludEhlYWRlcldpZHRoCTAJcmxpbmV0bwogIDAJCQloCXJs aW5ldG8KICBQcmludEhlYWRlcldpZHRoIG5lZwkwCXJsaW5ldG8KICAwCQkJaCBuZWcJcmxpbmV0 bwp9ZGVmCgovSGVhZGVyRnJhbWVQYXRoe0hlYWRlckhlaWdodCBkb0ZyYW1lUGF0aH1kZWYKL0Zv b3RlckZyYW1lUGF0aHtGb290ZXJIZWlnaHQgZG9GcmFtZVBhdGh9ZGVmCgolIC9wYXRoLWZ1biAv c3RhcnQtZnVuIHZlY3Rvci1wcm9wZXJ0eSBkb0ZyYW1lCi9kb0ZyYW1lewogIC92ZWNGcmFtZSBl eGNoIGRlZgogIC9zdGFydEZyYW1lIGV4Y2ggbG9hZCBkZWYKICAvcGF0aEZyYW1lIGV4Y2ggbG9h ZCBkZWYKICBnc2F2ZQogICAgdmVjRnJhbWUgMiBnZXQgc2V0bGluZXdpZHRoCQkJCSUgZnJhbWUg Ym9yZGVyIHdpZHRoCiAgICAlIC0tLS0gZG8gdGhlIHNoYWRvdyBvZiB0aGUgbmV4dCByZWN0YW5n bGUKICAgIHN0YXJ0RnJhbWUgbW92ZXRvCiAgICAxIC0xIHJtb3ZldG8KICAgIHBhdGhGcmFtZQog ICAgdmVjRnJhbWUgNCBnZXQgU2V0Q29sb3IgZmlsbAkJCSUgZnJhbWUgc2hhZG93IGNvbG9yCiAg ICAlIC0tLS0gZG8gdGhlIG5leHQgcmVjdGFuZ2xlIC4uLgogICAgc3RhcnRGcmFtZSBtb3ZldG8K ICAgIHBhdGhGcmFtZQogICAgZ3NhdmUgdmVjRnJhbWUgMSBnZXQgU2V0Q29sb3IgZmlsbCBncmVz dG9yZQkJJSBmcmFtZSBiYWNrZ3JvdW5kCiAgICBnc2F2ZSB2ZWNGcmFtZSAzIGdldCBTZXRDb2xv ciBzdHJva2UgZ3Jlc3RvcmUJJSBmcmFtZSBib3JkZXIgY29sb3IKICBncmVzdG9yZQp9ZGVmCgov SGVhZGVyRnJhbWV7L0hlYWRlckZyYW1lUGF0aCAvSGVhZGVyRnJhbWVTdGFydCBIZWFkZXJGcmFt ZVByb3BlcnRpZXMgZG9GcmFtZX1kZWYKL0Zvb3RlckZyYW1ley9Gb290ZXJGcmFtZVBhdGggL0Zv b3RlckZyYW1lU3RhcnQgRm9vdGVyRnJhbWVQcm9wZXJ0aWVzIGRvRnJhbWV9ZGVmCgovSGVhZGVy U3RhcnR7CiAgSGVhZGVyRnJhbWVTdGFydAogIGV4Y2ggSGVhZGVyUGFkIGFkZCBleGNoCSUgaG9y aXpvbnRhbCBwYWQKICAlIC0tLS0gYm90dG9tIHVwCiAgSGVhZGVyUGFkIGFkZAkJCSUgdmVydGlj YWwgICBwYWQKICBIZWFkZXJEZXNjZW50IHN1YgogIEhlYWRlckxpbmVIZWlnaHQgSGVhZGVyTGlu ZXMgMSBzdWIgbXVsIGFkZAp9ZGVmCgovRm9vdGVyU3RhcnR7CiAgRm9vdGVyRnJhbWVTdGFydAog IGV4Y2ggRm9vdGVyUGFkIGFkZCBleGNoCSUgaG9yaXpvbnRhbCBwYWQKICAlIC0tLS0gYm90dG9t IHVwCiAgRm9vdGVyUGFkIGFkZAkJCSUgdmVydGljYWwgICBwYWQKICBGb290ZXJEZXNjZW50IHN1 YgogIEZvb3RlckxpbmVIZWlnaHQgRm9vdGVyTGluZXMgMSBzdWIgbXVsIGFkZAp9ZGVmCgovSGVh ZGVyQ2xpcHtIZWFkZXJGcmFtZVN0YXJ0IG1vdmV0byBIZWFkZXJGcmFtZVBhdGggY2xpcH1kZWYK L0Zvb3RlckNsaXB7Rm9vdGVyRnJhbWVTdGFydCBtb3ZldG8gRm9vdGVyRnJhbWVQYXRoIGNsaXB9 ZGVmCgovc3RyY2F0ewogIGR1cCBsZW5ndGggMyAtMSByb2xsIGR1cCBsZW5ndGggZHVwIDQgLTEg cm9sbCBhZGQgc3RyaW5nIGR1cAogIDAgNSAtMSByb2xsIHB1dGludGVydmFsCiAgZHVwIDQgMiBy b2xsIGV4Y2ggcHV0aW50ZXJ2YWwKfWRlZgoKL3BhZ2VudW1iZXJzdHJpbmd7CiAgUGFnZU51bWJl ciAzMiBzdHJpbmcgY3ZzCiAgU2hvd05vZk57KC8pc3RyY2F0IFBhZ2VDb3VudCAzMiBzdHJpbmcg Y3ZzIHN0cmNhdH1pZgp9ZGVmCgolIGxpbmVzIGlzLXJpZ2h0IEhlYWRlck9yRm9vdGVyVGV4dExp bmVzCi9IZWFkZXJPckZvb3RlclRleHRMaW5lc3sKICAvaXNfcmlnaHQgZXhjaCBkZWYKICBIRlN0 YXJ0IG1vdmV0bwogIHsgJSAtLS0tIHByb2Nlc3MgdGhlIGxpbmVzCiAgIGFsb2FkIHBvcAogICBl eGNoIEYKICAgZ3NhdmUKICAgIGR1cCB4Y2hlY2t7ZXhlY31pZgogICAgaXNfcmlnaHR7CiAgICAg ZHVwIHN0cmluZ3dpZHRoIHBvcAogICAgIFByaW50SGVhZGVyV2lkdGggZXhjaCBzdWIgSEZQYWQg SEZQYWQgYWRkIHN1YiAwIHJtb3ZldG8KICAgIH1pZgogICAgSEZDb2xvciBTZXRDb2xvcgogICAg c2hvdwogICBncmVzdG9yZQogICAwIEhGTGluZUhlaWdodCBuZWcgcm1vdmV0bwogIH1mb3JhbGwK fWRlZgoKJSByaWdodC1saW5lcyBsZWZ0LWxpbmVzIC9zdGFydCBsaW5laGVpZ2h0IHBhZCBmb3Jl LWNvbG9yIEhlYWRlck9yRm9vdGVyVGV4dAovSGVhZGVyT3JGb290ZXJUZXh0ewogIC9IRkNvbG9y IGV4Y2ggZGVmCiAgL0hGUGFkIGV4Y2ggZGVmCiAgL0hGTGluZUhlaWdodCBleGNoIGRlZgogIC9I RlN0YXJ0IGV4Y2ggbG9hZCBkZWYKCiAgJSAtLSByaWdodExpbmVzIGxlZnRMaW5lcyAtLSBhdCBz dGFjawoKICAlIC0tLS0gaGFjazogYFBOIDEgYW5kJyAgPT0gIGBQTiAyIG1vZHVsbycKICAlIC0t LS0gaWYgZXZlbiBwYWdlIG51bWJlciBhbmQgZHVwbGV4LCB0aGVuIGV4Y2hhbmdlIGxlZnQgYW5k IHJpZ2h0CiAgUGFnZU51bWJlciAxIGFuZCAwIGVxIFN3aXRjaEhlYWRlciBhbmR7ZXhjaH1pZgoK ICAlIC0tLS0gcHJvY2VzcyB0aGUgbGVmdCBsaW5lcwogIGZhbHNlIEhlYWRlck9yRm9vdGVyVGV4 dExpbmVzCgogICUgLS0tLSBwcm9jZXNzIHRoZSByaWdodCBsaW5lcwogIHRydWUgSGVhZGVyT3JG b290ZXJUZXh0TGluZXMKfWRlZgoKL0hlYWRlclRleHR7CiAgZ3NhdmUgSGVhZGVyQ2xpcAogIEhl YWRlckxpbmVzUmlnaHQgSGVhZGVyTGluZXNMZWZ0CiAgL0hlYWRlclN0YXJ0IEhlYWRlckxpbmVI ZWlnaHQgSGVhZGVyUGFkCiAgSGVhZGVyRnJhbWVQcm9wZXJ0aWVzIDAgZ2V0CiAgSGVhZGVyT3JG b290ZXJUZXh0CiAgZ3Jlc3RvcmUKfWRlZgoKL0Zvb3RlclRleHR7CiAgZ3NhdmUgRm9vdGVyQ2xp cAogIEZvb3RlckxpbmVzUmlnaHQgRm9vdGVyTGluZXNMZWZ0CiAgL0Zvb3RlclN0YXJ0IEZvb3Rl ckxpbmVIZWlnaHQgRm9vdGVyUGFkCiAgRm9vdGVyRnJhbWVQcm9wZXJ0aWVzIDAgZ2V0CiAgSGVh ZGVyT3JGb290ZXJUZXh0CiAgZ3Jlc3RvcmUKfWRlZgoKL1JlcG9ydEZvbnRJbmZvewogIDIgY29w eQogIC90MCAzIDEgcm9sbCBEZWZGb250CiAgL3QwIEYKICAvbGggRm9udEhlaWdodCBkZWYKICAv c3coIClzdHJpbmd3aWR0aCBwb3AgZGVmCiAgL2F3KDAxMjM0NTY3ODkwYWJjZGVmZ2hpamtsbW5v cHFyc3R1dnd4eXopZHVwIGxlbmd0aCBleGNoCiAgc3RyaW5nd2lkdGggcG9wIGV4Y2ggZGl2IGRl ZgogIC90MSAxMi9IZWx2ZXRpY2EtT2JsaXF1ZSBEZWZGb250CiAgL3QxIEYKICBnc2F2ZQogICAg KGxhbmd1YWdlbGV2ZWwgPSApc2hvdwogICAgbGFuZ3VhZ2VsZXZlbCAzMiBzdHJpbmcgY3ZzIHNo b3cKICBncmVzdG9yZQogIDAgRm9udEhlaWdodCBuZWcgcm1vdmV0bwogIGdzYXZlCiAgICAoRm9y IClzaG93CiAgICAxMjggc3RyaW5nIGN2cyBzaG93CiAgICAoIClzaG93CiAgICAzMiBzdHJpbmcg Y3ZzIHNob3cKICAgICggcG9pbnQsIHRoZSBsaW5lIGhlaWdodCBpcyApc2hvdwogICAgbGggMzIg c3RyaW5nIGN2cyBzaG93CiAgICAoLCB0aGUgc3BhY2Ugd2lkdGggaXMgKXNob3cKICAgIHN3IDMy IHN0cmluZyBjdnMgc2hvdwogICAgKCwpc2hvdwogIGdyZXN0b3JlCiAgMCBGb250SGVpZ2h0IG5l ZyBybW92ZXRvCiAgZ3NhdmUKICAgIChhbmQgYSBjcnVkZSBlc3RpbWF0ZSBvZiBhdmVyYWdlIGNo YXJhY3RlciB3aWR0aCBpcyApc2hvdwogICAgYXcgMzIgc3RyaW5nIGN2cyBzaG93CiAgICAoLilz aG93CiAgZ3Jlc3RvcmUKICAwIEZvbnRIZWlnaHQgbmVnIHJtb3ZldG8KfWRlZgoKJSBjbSB0byBw b2ludAovY217NzIgbXVsIDIuNTQgZGl2fWRlZgoKL1JlcG9ydEFsbEZvbnRJbmZvewogICUga2V5 ID0gZm9udCBuYW1lICAgdmFsdWUgPSBmb250IGRpY3Rpb25hcnkKICBGb250RGlyZWN0b3J5e3Bv cCAxMCBleGNoIFJlcG9ydEZvbnRJbmZvfWZvcmFsbAp9ZGVmCgolIDMgY20gMjAgY20gbW92ZXRv ICAxMC9Db3VyaWVyIFJlcG9ydEZvbnRJbmZvICBzaG93cGFnZQolIDMgY20gMjAgY20gbW92ZXRv ICBSZXBvcnRBbGxGb250SW5mbyAgICAgICAgICBzaG93cGFnZQoKJSA9PT0gRU5EIHBzLXByaW50 IHByb2xvZ3VlIDEKCi9wcmludEdsb2JhbEJhY2tncm91bmR7Cn1kZWYKL3ByaW50TG9jYWxCYWNr Z3JvdW5kewp9ZGVmCgolJUVuZFByb2xvZwoKJSVCZWdpblNldHVwCgolJUluY2x1ZGVSZXNvdXJj ZTogZm9udCBUaW1lcy1Sb21hbgolJUluY2x1ZGVSZXNvdXJjZTogZm9udCBUaW1lcy1JdGFsaWMK JSVJbmNsdWRlUmVzb3VyY2U6IGZvbnQgQ291cmllcgolJUluY2x1ZGVSZXNvdXJjZTogZm9udCBD b3VyaWVyLUJvbGQKJSVJbmNsdWRlUmVzb3VyY2U6IGZvbnQgQ291cmllci1PYmxpcXVlCiUlSW5j bHVkZVJlc291cmNlOiBmb250IENvdXJpZXItQm9sZE9ibGlxdWUKJSVJbmNsdWRlUmVzb3VyY2U6 IGZvbnQgSGVsdmV0aWNhCiUlSW5jbHVkZVJlc291cmNlOiBmb250IEhlbHZldGljYS1Cb2xkCi9o MCAxNChIZWx2ZXRpY2EtQm9sZCljdm4gRGVmRm9udAovaDEgMTIoSGVsdmV0aWNhKWN2biBEZWZG b250Ci9MMCA2KFRpbWVzLUl0YWxpYyljdm4gRGVmRm9udAovSDAgMTIoSGVsdmV0aWNhKWN2biBE ZWZGb250CgoKJSAtLS0tIFRoZXNlIGxpbmVzIG11c3QgYmUga2VwdCB0b2dldGhlciBiZWNhdXNl Li4uCgovaDAgRgovSGVhZGVyVGl0bGVMaW5lSGVpZ2h0IEZvbnRIZWlnaHQgZGVmCgovaDEgRgov SGVhZGVyTGluZUhlaWdodCBGb250SGVpZ2h0IGRlZgovSGVhZGVyRGVzY2VudCAgICBEZXNjZW50 IGRlZgoKL0gwIEYKL0Zvb3RlckxpbmVIZWlnaHQgRm9udEhlaWdodCBkZWYKL0Zvb3RlckRlc2Nl bnQgICAgRGVzY2VudCBkZWYKCiUgLS0tLSAuLi5iZWNhdXNlIGBGJyBoYXMgYSBzaWRlLWVmZmVj dCBvbiBgRm9udEhlaWdodCcgYW5kIGBEZXNjZW50JwoKL2YwIDguNShDb3VyaWVyKWN2biBEZWZG b250Ci9mMSA4LjUoQ291cmllci1Cb2xkKWN2biBEZWZGb250Ci9mMiA4LjUoQ291cmllci1PYmxp cXVlKWN2biBEZWZGb250Ci9mMyA4LjUoQ291cmllci1Cb2xkT2JsaXF1ZSljdm4gRGVmRm9udAov U3BhY2VXaWR0aFJhdGlvIDAuNjAwMDAwIGRlZgoKJSVCZWdpbkZlYXR1cmU6ICpNYW51YWxGZWVk IEZhbHNlCkJNYXJrIC9NYW51YWxGZWVkIGZhbHNlIEVNYXJrIHNldHBhZ2VkZXZpY2UKJSVFbmRG ZWF0dXJlCgolJSUlIFN0YXJ0IG9mIE11bGUgU2VjdGlvbgoKL0xhdGluMUVuY29kaW5nIHsJJSBu ZXduYW1lIGZvbnRuYW1lICB8ICBmb250CiAgICBmaW5kZm9udCBkdXAgbGVuZ3RoIGRpY3QgYmVn aW4KCXsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH0geyBwb3AgcG9wIH0gaWZlbHNlIH0gZm9yYWxs CiAgICAgICAgL0VuY29kaW5nIElTT0xhdGluMUVuY29kaW5nIGRlZgoJY3VycmVudGRpY3QKICAg IGVuZAogICAgZGVmaW5lZm9udAp9IGJpbmQgZGVmCgolJSBSZWRlZmluZSBmb250cyBmb3IgbXVs dGlwbGUgY2hhcnNldHMuCi9SZURlZkZvbnQgewkJICAgICAlIGZvbnRuYW1lIGVuY29kaW5nIGZk ZXB2ZWN0b3Igc2l6ZSAgfCAgLQogIDIwIGRpY3QgYmVnaW4KICAzIGluZGV4IGZpbmRmb250IHsK ICAgIDEgaW5kZXggL0ZJRCBuZSAyIGluZGV4IC9VbmlxdWVJRCBuZSBhbmQge2RlZn0ge3BvcCBw b3B9IGlmZWxzZQogIH0gZm9yYWxsCiAgL0ZvbnRUeXBlIDAgZGVmCiAgL0ZNYXBUeXBlIDMgZGVm CiAgL0VzY0NoYXIgMCBkZWYKICAlIEZvbnRNYXRyaXggOjo9IFsgc2l6ZSAwIDAgc2l6ZSAwIDAg XQogIC9Gb250TWF0cml4IGV4Y2ggWyBleGNoIGR1cCAwIGV4Y2ggMCBleGNoIDAgMCBdIGRlZgog IC9GRGVwVmVjdG9yIGV4Y2ggZGVmCiAgL0VuY29kaW5nIGV4Y2ggZGVmCiAgY3VycmVudGRpY3QK ICBlbmQJCQklIGZvbnRuYW1lIGRpYwogIGRlZmluZWZvbnQgcG9wCn0gYmluZCBkZWYKCi9Fc2ND aGFyIDAgZGVmCgolJSBFbmQgb2YgTXVsZSBTZWN0aW9uCgovRjAwIC9Db3VyaWVyIGZpbmRmb250 IGRlZgovRVRPUDAgMjU2IGFycmF5IGRlZgowIDEgMjU1IHsgRVRPUDAgZXhjaCAwIHB1dCB9IGZv cgpFVE9QMCAwIDAgcHV0Ci9WVE9QMCBbRjAwXSBkZWYKL0VUT1AxIDI1NiBhcnJheSBkZWYKMCAx IDI1NSB7IEVUT1AxIGV4Y2ggMCBwdXQgfSBmb3IKRVRPUDEgMCAwIHB1dAovVlRPUDEgW0YwMF0g ZGVmCi9FVE9QMiAyNTYgYXJyYXkgZGVmCjAgMSAyNTUgeyBFVE9QMiBleGNoIDAgcHV0IH0gZm9y CkVUT1AyIDAgMCBwdXQKL1ZUT1AyIFtGMDBdIGRlZgovRVRPUDMgMjU2IGFycmF5IGRlZgowIDEg MjU1IHsgRVRPUDMgZXhjaCAwIHB1dCB9IGZvcgpFVE9QMyAwIDAgcHV0Ci9WVE9QMyBbRjAwXSBk ZWYKL1ZoMCBbIFZUT1AxIGFsb2FkIHBvcCBdIGRlZgoKVmgwIDAgL0hlbHZldGljYS1Cb2xkLWxh dGluMSAvSGVsdmV0aWNhLUJvbGQgTGF0aW4xRW5jb2RpbmcgcHV0Ci9oMCBFVE9QMSBWaDAgMTQu MDAwMDAwIFJlRGVmRm9udAovVmgxIFsgVlRPUDAgYWxvYWQgcG9wIF0gZGVmCgpWaDEgMCAvSGVs dmV0aWNhLWxhdGluMSAvSGVsdmV0aWNhIExhdGluMUVuY29kaW5nIHB1dAovaDEgRVRPUDAgVmgx IDEyLjAwMDAwMCBSZURlZkZvbnQKL1ZIMCBbIFZUT1AwIGFsb2FkIHBvcCBdIGRlZgoKVkgwIDAg L0hlbHZldGljYS1sYXRpbjEgL0hlbHZldGljYSBMYXRpbjFFbmNvZGluZyBwdXQKL0gwIEVUT1Aw IFZIMCAxMi4wMDAwMDAgUmVEZWZGb250Ci9WZjAgWyBWVE9QMCBhbG9hZCBwb3AgXSBkZWYKClZm MCAwIC9Db3VyaWVyLWxhdGluMSAvQ291cmllciBMYXRpbjFFbmNvZGluZyBwdXQKL2YwIEVUT1Aw IFZmMCA4LjUwMDAwMCBSZURlZkZvbnQKL1ZmMSBbIFZUT1AxIGFsb2FkIHBvcCBdIGRlZgoKVmYx IDAgL0NvdXJpZXItQm9sZC1sYXRpbjEgL0NvdXJpZXItQm9sZCBMYXRpbjFFbmNvZGluZyBwdXQK L2YxIEVUT1AxIFZmMSA4LjUwMDAwMCBSZURlZkZvbnQKL1ZmMiBbIFZUT1AyIGFsb2FkIHBvcCBd IGRlZgoKVmYyIDAgL0NvdXJpZXItT2JsaXF1ZS1sYXRpbjEgL0NvdXJpZXItT2JsaXF1ZSBMYXRp bjFFbmNvZGluZyBwdXQKL2YyIEVUT1AyIFZmMiA4LjUwMDAwMCBSZURlZkZvbnQKL1ZmMyBbIFZU T1AzIGFsb2FkIHBvcCBdIGRlZgoKVmYzIDAgL0NvdXJpZXItQm9sZE9ibGlxdWUtbGF0aW4xIC9D b3VyaWVyLUJvbGRPYmxpcXVlIExhdGluMUVuY29kaW5nIHB1dAovZjMgRVRPUDMgVmYzIDguNTAw MDAwIFJlRGVmRm9udApCZWdpbkRvYwolJUVuZFNldHVwCgolJVBhZ2U6IDEgMQovTGluZXMgMyBk ZWYKL1BhZ2VDb3VudCAxIGRlZgoxIEJlZ2luU2hlZXQKQmVnaW5EU0NQYWdlCi9MaW5lTnVtYmVy IDEgZGVmCi9QYWdlTnVtYmVyIDEgZGVmCi9IZWFkZXJMaW5lc0xlZnRbCiBbL2gwICh0ZXN0ZW1h Y3MgXCh1bnNhdmVkXCkpXQogWy9oMSAofi9EZXNrdG9wLyldCl1kZWYKL0hlYWRlckxpbmVzUmln aHRbCiBbL2gwIC9wYWdlbnVtYmVyc3RyaW5nIGxvYWRdCiBbL2gxICgwNi8xNS8xMyldCl1kZWYK MiBTZXRIZWFkZXJMaW5lcwowIEJlZ2luUGFnZQovZjAgRgpmYWxzZSBCRwowLjAwMCAwLjAwMCAw LjAwMCBGRwoxNiBXCihBZG9iZSkgUwpQSEwKTEhMCihUZXN0aW5nIGVtYWNzIHdpdGggQWNyb2Jh dCAxMS4wLjAzKSBTCkVuZFBhZ2UKRW5kRFNDUGFnZQpFbmRTaGVldAoKJSVUcmFpbGVyCiUlUGFn ZXM6IDEKCkVuZERvYwoKJSVFT0YK --_007_F0552EF0490DB34FBEBC42E5AB9A4F9CF2158B9664indiambx02cor_--