MEGATRON



LOG | FILES | OVERVIEW


F diff --git a/doc/a.pdf b/doc/a.pdf new file mode 100644
B Binary files /dev/null and b/doc/a.pdf differ
F diff --git a/doc/a.ps b/doc/a.ps new file mode 100644 --- /dev/null +++ b/doc/a.ps
+ %!PS-Adobe-3.0
+ %%Creator: groff version 1.22.4
+ %%CreationDate: Thu Jul 15 15:18:10 2021
+ %%DocumentNeededResources: font NimbusRomNo9L-Medi
+ %%+ font NimbusRomNo9L-Regu
+ %%+ font NimbusRomNo9L-MediItal
+ %%DocumentSuppliedResources: procset grops 1.22 4
+ %%Pages: 6
+ %%PageOrder: Ascend
+ %%DocumentMedia: Default 612 792 0 () ()
+ %%Orientation: Portrait
+ %%EndComments
+ %%BeginDefaults
+ %%PageMedia: Default
+ %%EndDefaults
+ %%BeginProlog
+ %%BeginResource: procset grops 1.22 4
+ %!PS-Adobe-3.0 Resource-ProcSet
+ /setpacking where{
+ pop
+ currentpacking
+ true setpacking
+ }if
+ /grops 120 dict dup begin
+ /SC 32 def
+ /A/show load def
+ /B{0 SC 3 -1 roll widthshow}bind def
+ /C{0 exch ashow}bind def
+ /D{0 exch 0 SC 5 2 roll awidthshow}bind def
+ /E{0 rmoveto show}bind def
+ /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
+ /G{0 rmoveto 0 exch ashow}bind def
+ /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
+ /I{0 exch rmoveto show}bind def
+ /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
+ /K{0 exch rmoveto 0 exch ashow}bind def
+ /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
+ /M{rmoveto show}bind def
+ /N{rmoveto 0 SC 3 -1 roll widthshow}bind def
+ /O{rmoveto 0 exch ashow}bind def
+ /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
+ /Q{moveto show}bind def
+ /R{moveto 0 SC 3 -1 roll widthshow}bind def
+ /S{moveto 0 exch ashow}bind def
+ /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
+ /SF{
+ findfont exch
+ [exch dup 0 exch 0 exch neg 0 0]makefont
+ dup setfont
+ [exch/setfont cvx]cvx bind def
+ }bind def
+ /MF{
+ findfont
+ [5 2 roll
+ 0 3 1 roll
+ neg 0 0]makefont
+ dup setfont
+ [exch/setfont cvx]cvx bind def
+ }bind def
+ /level0 0 def
+ /RES 0 def
+ /PL 0 def
+ /LS 0 def
+ /MANUAL{
+ statusdict begin/manualfeed true store end
+ }bind def
+ /PLG{
+ gsave newpath clippath pathbbox grestore
+ exch pop add exch pop
+ }bind def
+ /BP{
+ /level0 save def
+ 1 setlinecap
+ 1 setlinejoin
+ DEFS/BPhook known{DEFS begin BPhook end}if
+ 72 RES div dup scale
+ LS{
+ 90 rotate
+ }{
+ 0 PL translate
+ }ifelse
+ 1 -1 scale
+ }bind def
+ /EP{
+ level0 restore
+ showpage
+ }def
+ /DA{
+ newpath arcn stroke
+ }bind def
+ /SN{
+ transform
+ .25 sub exch .25 sub exch
+ round .25 add exch round .25 add exch
+ itransform
+ }bind def
+ /DL{
+ SN
+ moveto
+ SN
+ lineto stroke
+ }bind def
+ /DC{
+ newpath 0 360 arc closepath
+ }bind def
+ /TM matrix def
+ /DE{
+ TM currentmatrix pop
+ translate scale newpath 0 0 .5 0 360 arc closepath
+ TM setmatrix
+ }bind def
+ /RC/rcurveto load def
+ /RL/rlineto load def
+ /ST/stroke load def
+ /MT/moveto load def
+ /CL/closepath load def
+ /Fr{
+ setrgbcolor fill
+ }bind def
+ /setcmykcolor where{
+ pop
+ /Fk{
+ setcmykcolor fill
+ }bind def
+ }if
+ /Fg{
+ setgray fill
+ }bind def
+ /FL/fill load def
+ /LW/setlinewidth load def
+ /Cr/setrgbcolor load def
+ /setcmykcolor where{
+ pop
+ /Ck/setcmykcolor load def
+ }if
+ /Cg/setgray load def
+ /RE{
+ findfont
+ dup maxlength 1 index/FontName known not{1 add}if dict begin
+ {
+ 1 index/FID ne
+ 2 index/UniqueID ne
+ and
+ {def}{pop pop}ifelse
+ }forall
+ /Encoding exch def
+ dup/FontName exch def
+ currentdict end definefont pop
+ }bind def
+ /DEFS 0 def
+ /EBEGIN{
+ moveto
+ DEFS begin
+ }bind def
+ /EEND/end load def
+ /CNT 0 def
+ /level1 0 def
+ /PBEGIN{
+ /level1 save def
+ translate
+ div 3 1 roll div exch scale
+ neg exch neg exch translate
+ 0 setgray
+ 0 setlinecap
+ 1 setlinewidth
+ 0 setlinejoin
+ 10 setmiterlimit
+ []0 setdash
+ /setstrokeadjust where{
+ pop
+ false setstrokeadjust
+ }if
+ /setoverprint where{
+ pop
+ false setoverprint
+ }if
+ newpath
+ /CNT countdictstack def
+ userdict begin
+ /showpage{}def
+ /setpagedevice{}def
+ mark
+ }bind def
+ /PEND{
+ cleartomark
+ countdictstack CNT sub{end}repeat
+ level1 restore
+ }bind def
+ end def
+ /setpacking where{
+ pop
+ setpacking
+ }if
+ %%EndResource
+ %%EndProlog
+ %%BeginSetup
+ %%BeginFeature: *PageSize Default
+ << /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
+ %%EndFeature
+ %%IncludeResource: font NimbusRomNo9L-Medi
+ %%IncludeResource: font NimbusRomNo9L-Regu
+ %%IncludeResource: font NimbusRomNo9L-MediItal
+ grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
+ def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
+ /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
+ /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
+ /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
+ /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
+ /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
+ /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
+ /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
+ /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
+ /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
+ /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
+ /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
+ /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
+ /logicalnot/minus/registered/macron/degree/plusminus/twosuperior
+ /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
+ /ordmasculine/guilsinglright/onequarter/onehalf/threequarters
+ /questiondown/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/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]def
+ /NimbusRomNo9L-MediItal@0 ENC0/NimbusRomNo9L-MediItal RE
+ /NimbusRomNo9L-Regu@0 ENC0/NimbusRomNo9L-Regu RE/NimbusRomNo9L-Medi@0
+ ENC0/NimbusRomNo9L-Medi RE/SUBENC3[/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/afii10086/.notdef/.notdef/.notdef/afii10088/.notdef/.notdef
+ /.notdef/afii10077/.notdef/.notdef/afii10038/.notdef/afii10068/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10031/.notdef/.notdef
+ /.notdef/afii10022/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/afii10066/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10087
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10076/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef]def
+ /NimbusRomNo9L-Regu@@3 SUBENC3/NimbusRomNo9L-Regu RE/SUBENC2[/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10065/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/afii10097/.notdef/afii10035/.notdef/.notdef/.notdef/.notdef
+ /afii10092/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10089
+ /.notdef/.notdef/.notdef/afii10078/afii10085/afii10036/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/afii10067/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/afii10091/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/afii10021/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10026/.notdef/.notdef/.notdef/.notdef/.notdef/afii10030/.notdef
+ /.notdef/.notdef/afii10082/.notdef/afii10083/.notdef/afii10079/.notdef
+ /.notdef/.notdef/.notdef/.notdef/afii10090/afii10072/.notdef/.notdef
+ /.notdef/.notdef/.notdef/afii10033/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10041/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/afii10029/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/afii10069/afii10070/.notdef/.notdef
+ /afii10019/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10084/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10017
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/afii10080/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10075/.notdef/.notdef
+ /.notdef/.notdef/afii10074/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10025/afii10020
+ /.notdef/.notdef/afii10081/.notdef/afii10096/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10073/.notdef
+ /.notdef]def/NimbusRomNo9L-Regu@@2 SUBENC2/NimbusRomNo9L-Regu RE/SUBENC1
+ [/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10086/.notdef
+ /.notdef/.notdef/afii10088/.notdef/.notdef/.notdef/afii10077/.notdef
+ /.notdef/afii10038/.notdef/afii10068/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10022/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10066/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/afii10087/.notdef/.notdef/.notdef
+ /.notdef/.notdef/afii10076/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10037/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef]def/NimbusRomNo9L-Medi@@1
+ SUBENC1/NimbusRomNo9L-Medi RE/SUBENC0[/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10065/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10097/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10092/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10078/afii10085/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10067/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10091/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10021
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/afii10026/.notdef/.notdef/.notdef
+ /.notdef/.notdef/afii10030/.notdef/.notdef/.notdef/afii10082/.notdef
+ /afii10083/.notdef/afii10079/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10090/afii10072/.notdef/.notdef/.notdef/.notdef/.notdef/afii10033
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10018/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/afii10069
+ /afii10070/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/afii10084/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/afii10080/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/afii10032/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10075/.notdef/.notdef/.notdef/.notdef/afii10074/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10025/.notdef/.notdef/.notdef/afii10081/.notdef/afii10096/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+ /afii10073/.notdef/.notdef]def/NimbusRomNo9L-Medi@@0 SUBENC0
+ /NimbusRomNo9L-Medi RE
+ %%EndSetup
+ %%Page: 0 1
+ %%BeginPageSetup
+ BP
+ %%EndPageSetup
+ /F0 13/NimbusRomNo9L-Medi@@0 SF<7665b590>140.055 156 Q/F1 13
+ /NimbusRomNo9L-Medi@@1 SF(B)A F0 3.25<a3e8>C<b5>-3.25 E F1(B)3.25 E F0
+ <b52de8eaa3226569cf>A<67cf67a3902dcf>3.25 E<fd09>3.25 E<2ee865093e>3.25
+ E F1<16>A F0<9069cf90>A<6909>3.25 E<65b5>3.25 E F1(0)A F0<b5a3cf>A F1(&)
+ 129.271 208 Q F0<fdcf>A F1(B)A F0<fd09>3.25 E(.)3.25 E F1<16>A F0
+ <9067691b3e096990>A<6909>3.25 E<e865b5>3.25 E F1<1b>A F0
+ <65092dcf65096990>A<6909>3.25 E(>)3.25 E F1<1b>A F0<65098f9069cf>A
+ <2e67a365b5ca67a33e09>3.25 E/F2 11/NimbusRomNo9L-Regu@@2 SF<e509>241.336
+ 247 Q/F3 11/NimbusRomNo9L-Regu@@3 SF<16>A F2<cf69>A<1dcf2d90b569b53e>
+ 2.75 E F3<19>2.75 E/F4 11/NimbusRomNo9L-Regu@0 SF(.)A F3(")A F4 2.75(.8)
+ C -.726(16)-3.454 G(35).726 E/F5 10/NimbusRomNo9L-Regu@0 SF(gtsimeono)
+ 254.49 260 Q(v@uni-so\214a.bg)-.36 E/F6 11/NimbusRomNo9L-Medi@0 SF -.187
+ (1.)74.75 312 S/F7 11/NimbusRomNo9L-Medi@@1 SF(M)5.687 E/F8 11
+ /NimbusRomNo9L-Medi@@0 SF<3eb58f>A F2(ve\317)94 325 Q<e865b5>7.327 E F3
+ <1b>A F2<65092dcf65096990a3b5>A<6909>7.327 E(>)7.327 E F3<1b>A F2
+ <65098f9069cf>A<2e67a365b5ca67a33e09>7.327 E F4(,)A F2<691b>7.327 E F3
+ (B)A F2<b5cf>A<b5a3>7.326 E<e865b5>7.326 E F3<3016>A F2<902dcfa390>A
+ <6790>7.326 E<2db58f90>7.326 E F3<16>A F2<cf6509a3>A<296590fd>7.326 E
+ <093ea3b52d09a3cf>72 338 Q F4(.)A F2<1d2246b5>6.487 E 3.737<90e8>3.737 G
+ <6509>-3.737 E F3(B)A F2<a3cf>A F3(B)A F2 3.737<098f>C 3.737<0967>-3.737
+ G 3.737<90e8>-3.737 G<65b5>-3.737 E F3<1b>A F2<65092dcf6509>A<6909>3.737
+ E<90fdcf>3.738 E F3<12>A F2 3.738<cfb5>C 3.738<a369>-3.738 G<cf67>-3.738
+ E F3(B)A F2 3.738<b569>C<cf3eb5>-3.738 E F4(,)A F3(B)3.738 E F2<09a3b5>A
+ F6(C)3.738 E F4(,)A F2<e865cf>3.738 E F3(B)3.738 E F2<b5cfa3b5>A
+ <65222969b5a3b5>3.738 E<cf2de8>72 351 Q F3<16>A F2<902d9069a3cf65096990>
+ A<6909>3.193 E<093ea3b52d09a3cf>3.192 E(g)3.192 E F3(B)3.192 E F2<09>A
+ F3(B)A F2<3ecfa3b5>A 3.192<cf8f>3.192 G 3.192<099065>-3.192 G
+ <09fd2d9065cf>-3.192 E<299067a3b5>3.192 E 3.192<9069>3.192 G
+ <90cf69a32ecfa3cf3e69b5>-3.192 E F4(,)A F2<e865908f6509fde8b5>3.192 E F3
+ <16>A F2<09>A F3<1b>A F2<0946b5>A F3(B)3.192 E F2("-)A F3<1b>72 364 Q F2
+ (e\220o)A F3(B)A F2 4.504<cfcfa3>C<652e8fb5902d>-4.504 E F3(B)A F2<b5>A
+ F4(.)A F2<1d>7.254 E F3<12>4.504 E F2<90>A F3<16>A F2<8f09>4.504 E
+ <e8b52db5>4.504 E F3<1b>A F2<6909>A<6509fd6509>4.504 E F3(0)A F2
+ <b5a33e096990a3b5>A<6909>4.505 E<e865b5>4.505 E F3<1b>A F2<65092dcf>A F4
+ (,)A F2<29cfcaa3b5>4.505 E<2db58f90>4.505 E F3<16>A F2 4.505<90b5>4.505
+ G<65cf9069a3cf650969>-4.505 E<b5>72 377 Q F3(B)A F2<b5>A F3<16>A F2
+ 4.258(.g)C<2267a3b51b69cf1ba309>-4.258 E<6909>4.258 E
+ <67cf67a3902d09a309>4.258 E F4(,)A F2<e865908f>4.258 E F3<16>A F2<09>A
+ F3<1b>A F2<092d>A 4.257<cfcf>4.258 G<2de8>-4.257 E F3<16>A F2
+ <902d9069a3cf65092d>A<90>4.257 E F3(B)A F2<67e89065cf2d9069a309>A F3<16>
+ A F2<9069>A<2dcf69cf09a3ea659069>4.257 E<90fdcf>4.257 E F3(B)A F2
+ <a365096967e8cf>72 390 Q F3<16>A F2<cf650946>A<8fb5>2.75 E F6(C)2.75 E
+ F4(.)A F2<e409>94 403 Q F3<12>3.772 E F2<90>A F3<16>A F2 3.772<cfcf>C
+ (-\011-)-3.772 E<a3b5ca>3.772 E<8f09>3.772 E 3.772<90e8>3.772 G
+ <65b567a3>-3.772 E F4(,)A F2<cf69a32ecfa3cf3e9069>3.773 E 3.773<cf90>
+ 3.773 G<3e9069a32e09>-3.773 E F3<16>A F2<69b5>A F3<16>3.773 E F2
+ <90679069>A<fd09>3.773 E F3<1b>3.773 E F2<90699065cf65096990>A<b5a3>
+ 3.773 E<cf6967a32e652d9069a3cf>3.773 E(g)3.773 E F3<1b>72 416 Q F2<6509>
+ A F3<0e>A F2<cf299069>A<cf69a3906569>2.75 E F3<0e>A F2<90ca67>A/F9 8
+ /NimbusRomNo9L-Regu@0 SF(1)-1.15 -3.9 M F4(.)2.75 3.9 M F6(2.)74.75 442
+ Q F8<bfe8cf670969cf90>5.5 E<6909>2.75 E<90fdcf>2.75 E F7(B)A F8<09>A F6
+ (2.)74.75 468 Q -.187(1.)-.231 G F8<bf>5.687 E F7(0)A F8 2.75<46e8>C<b5>
+ -2.75 E F7<1b16>A F8<908f>A F3(&)72 481 Q F2<8f6909>A F4(')8.05 E F2
+ <e865b5>A F3<1b>A F2<65092d09>A F4(')A F2(g"\217"ep\011)8.05 E<908fcf69>
+ 8.05 E<cf>8.05 E F3<16>A F2 8.05<cfe8>C<b53e902990>-8.05 E F4(')8.049 E
+ F2<2d096fcf69cf>A F4 -.781(',)C F3(B)8.83 E F2<b5cfa3b5>A
+ <8f90ca67a33e09a3>8.049 E F3(B)8.049 E F2<09a3b5>A F3(B)8.049 E F2
+ <b569a390ca699065cf>A<fd09>8.049 E<672267a3b51b69cf1b>72 494 Q F4(,)A F2
+ (g")A F3(0)A F2<cfa3cf1b>A 3.679<cfe8>3.679 G<6590>-3.679 E F3(<)A F2
+ <b58fcf>A F4(.)A F2<93671b>6.429 E F3(B)A F2 3.679<092d>C<096fcf6909>
+ -3.679 E<67cf>3.679 E<cf2d09>3.679 E<cf2d90>3.679 E 3.679<cfcf>3.679 G
+ <2d09>-3.679 E<b5a38f90>3.679 E F3<16>A F2<69b5>A
+ <e865b567a365096967a33eb5>3.679 E<fd09>3.679 E<cf2d906909>3.679 E<6909>
+ 3.68 E<672267a3b51b69cf1b>72 507 Q 4.525<cf67>4.525 G(")-4.525 E F3(0)A
+ F2<cfa3cf1b>A F4(.)A F2<806590fd>7.274 E<e86590>4.524 E F3(<)A F2
+ <b58fcfa390>A<2db57090>4.524 E<8f09>4.524 E<6790>4.524 E<cffd3ecf>4.524
+ E F3(B)A F2<3e09a3>A(>"ioi\317)4.524 E F3<0e>4.524 E F2(.i)A F3<4212>A
+ F2<cfcf>A F4(.)A F3(&)7.274 E F2<a3b5>A<6909ca>4.524 E F4(-)A F2
+ <e865b567a3cf1ba3>A<e865cf2d9065>72 520 Q<fd09>2.75 E<a3b53e09>2.75 E F3
+ (B)2.75 E F2<09>A F3(B)A F2<cffd>2.75 E F3<1b16>A F2<90708f09>A F3(B)
+ 2.75 E F2<b58f22a3>A F4(:)A F6(mac)72 546 Q(hine light_bulb)-.187 E([)72
+ 559 Q -2.475 -.077(st a)108 572 T -.011(te).077 G 2.75(s[O).011 G 2.75
+ (N,O)-2.75 G(FF ];)-2.75 E -.319(ev)108 585 S
+ (ents [ TURN_ON , TURN_OFF , S)-.066 E(WIT)-.11 E -.022(CH)-.187 G(_S)
+ .022 E -.506(TA)-.176 G(TE ];)-.143 E -2.475 -.077(st a)108 598 T .099
+ (rt).077 G(ing on OFF;)-.099 E(tr)108 611 Q(ansitions)-.066 E([)108 624
+ Q(fr)144 637 Q(om ON t)-.154 E 2.75(oO)-.044 G(FF on e)-2.75 E -.385(ve)
+ -.319 G(nt TURN_OFF;).385 E(fr)144 650 Q(om ON t)-.154 E 2.75(oO)-.044 G
+ (FF on e)-2.75 E -.385(ve)-.319 G(nt S).385 E(WIT)-.11 E -.022(CH)-.187
+ G(_S).022 E -.506(TA)-.176 G(TE;)-.143 E(fr)144 676 Q(om OFF t)-.154 E
+ 2.75(oO)-.044 G 2.75(No)-2.75 G 2.75(ne)-2.75 G -.385(ve)-3.069 G
+ (nt TURN_ON;).385 E(fr)144 689 Q(om OFF t)-.154 E 2.75(oO)-.044 G 2.75
+ (No)-2.75 G 2.75(ne)-2.75 G -.385(ve)-3.069 G(nt TURN_ON;).385 E(];)108
+ 702 Q(];)72 728 Q .44 LW 77.5 741 72 741 DL 78 741 72.5 741 DL 83.5 741
+ 78 741 DL 89 741 83.5 741 DL 94.5 741 89 741 DL 100 741 94.5 741 DL
+ 105.5 741 100 741 DL 111 741 105.5 741 DL 116.5 741 111 741 DL 122 741
+ 116.5 741 DL 127.5 741 122 741 DL 133 741 127.5 741 DL 138.5 741 133 741
+ DL 144 741 138.5 741 DL/F10 9/NimbusRomNo9L-Regu@0 SF -.495(1.)72 752 S
+ /F11 9/NimbusRomNo9L-Regu@@2 SF<6109>4.995 E/F12 9/NimbusRomNo9L-Regu@@3
+ SF(B)A F11<0965>A F10(,)A F11<2990>2.25 E<8fcf6590>2.25 E F12(B)A F11
+ <a369b5a3b5>A F12<1b>2.25 E F11<90699065cf65096990>A<6909>2.25 E F12(B)
+ 2.25 E F11<b58f>A F12(0)2.25 E F11<90fd>A<a3b5fdcf>2.25 E<90fdcf>2.25 E
+ F12(B)A F11<8f09>2.25 E<8f90ca67a33e09>2.25 E F12(B)2.25 E F11<09a3b5>A
+ <e8b56765908f69cf>2.25 E F12 2.25(B0)C F11<cf>-2.25 E F12(0)2.25 E F11
+ <cf>A F12<16>A F11 2.25<b5e8>C<b5>-2.25 E F10(-)A F11(g-\317g)A F12<16>A
+ F11<9069b5>A F10(.)A F5 2.5(-1-)297.67 778 S 0 Cg EP
+ %%Page: 1 2
+ %%BeginPageSetup
+ BP
+ %%EndPageSetup
+ /F0 10/NimbusRomNo9L-Regu@@2 SF<e509>72 24 Q/F1 10/NimbusRomNo9L-Regu@@3
+ SF<16>A F0<cf69>A<1dcf2d90b569b53e>2.5 E F1<19>2.5 E/F2 10
+ /NimbusRomNo9L-Regu@0 SF(.)A F1(")A F2 2.5(.8)C -.66(16)-3.14 G(35).66 E
+ F0<7665b590>109.09 E F1(B)A F0 2.5<a3e8>C<b5>-2.5 E F1(B)2.5 E F0
+ <b52de8eaa3226569cf>A<67cf67a3902dcf>2.5 E<fd09>2.5 E<2ee865093e>2.5 E
+ F1<16>A F0<9069cf90>A<6909>2.5 E<65b5>2.5 E F1(0)A F0<b5a3cf>A .5 LW 77
+ 36 72 36 DL 80 36 75 36 DL 85 36 80 36 DL 90 36 85 36 DL 95 36 90 36 DL
+ 100 36 95 36 DL 105 36 100 36 DL 110 36 105 36 DL 115 36 110 36 DL 120
+ 36 115 36 DL 125 36 120 36 DL 130 36 125 36 DL 135 36 130 36 DL 140 36
+ 135 36 DL 145 36 140 36 DL 150 36 145 36 DL 155 36 150 36 DL 160 36 155
+ 36 DL 165 36 160 36 DL 170 36 165 36 DL 175 36 170 36 DL 180 36 175 36
+ DL 185 36 180 36 DL 190 36 185 36 DL 195 36 190 36 DL 200 36 195 36 DL
+ 205 36 200 36 DL 210 36 205 36 DL 215 36 210 36 DL 220 36 215 36 DL 225
+ 36 220 36 DL 230 36 225 36 DL 235 36 230 36 DL 240 36 235 36 DL 245 36
+ 240 36 DL 250 36 245 36 DL 255 36 250 36 DL 260 36 255 36 DL 265 36 260
+ 36 DL 270 36 265 36 DL 275 36 270 36 DL 280 36 275 36 DL 285 36 280 36
+ DL 290 36 285 36 DL 295 36 290 36 DL 300 36 295 36 DL 305 36 300 36 DL
+ 310 36 305 36 DL 315 36 310 36 DL 320 36 315 36 DL 325 36 320 36 DL 330
+ 36 325 36 DL 335 36 330 36 DL 340 36 335 36 DL 345 36 340 36 DL 350 36
+ 345 36 DL 355 36 350 36 DL 360 36 355 36 DL 365 36 360 36 DL 370 36 365
+ 36 DL 375 36 370 36 DL 380 36 375 36 DL 385 36 380 36 DL 390 36 385 36
+ DL 395 36 390 36 DL 400 36 395 36 DL 405 36 400 36 DL 410 36 405 36 DL
+ 415 36 410 36 DL 420 36 415 36 DL 425 36 420 36 DL 430 36 425 36 DL 435
+ 36 430 36 DL 440 36 435 36 DL 445 36 440 36 DL 450 36 445 36 DL 455 36
+ 450 36 DL 460 36 455 36 DL 465 36 460 36 DL 470 36 465 36 DL 475 36 470
+ 36 DL 480 36 475 36 DL 485 36 480 36 DL 490 36 485 36 DL 495 36 490 36
+ DL 500 36 495 36 DL 505 36 500 36 DL 510 36 505 36 DL 515 36 510 36 DL
+ 520 36 515 36 DL 525 36 520 36 DL 530 36 525 36 DL 535 36 530 36 DL 540
+ 36 535 36 DL/F3 11/NimbusRomNo9L-Regu@@2 SF<1d>72 111 Q/F4 11
+ /NimbusRomNo9L-Regu@@3 SF<16>A F3<908f>A<a365096967e8cf>3.528 E F4<16>A
+ F3<09>A F4<12>A F3<cf1b>A<6790>3.528 E F4<1b>3.528 E F3
+ <90699065cf6509a3>A/F5 11/NimbusRomNo9L-Regu@0 SF(3)3.528 E F4<0e>3.528
+ E F3<09ca>A F4<16>A F3<09>A F5 3.528(-x)3.528 G .778(xx.h xxx.c)-3.528 F
+ F3<cf>3.528 E F5(xxx_e)3.528 E -2.508(xter nal.h,)-.385 F F4(B)3.528 E
+ F3<b5caa3b5>A<6722b5a33e90a369b5>3.528 E<67228f22657009a3>3.528 E<8f90>
+ 72 124 Q F4<4216>A F3<096509>A F4<12>A F3<cfcfa390>A<6909>7.007 E(g)
+ 7.007 E F4<16>A F3(.p\220)A F4(0)A F3<69cfa390>A F4<0e>7.007 E F3(.i)A
+ F4<4212>A F3<cfcf>A F5(,)A F3<a31b>7.007 E F4(<)A F3<6909a309>A<cf2de8>
+ 7.008 E F4<16>A F3<902d9069a309>A F4<12>A F3<cf1b>A 7.008<cf8f>7.008 G
+ <90>-7.008 E F4<4216>A F3<096509>A F4<12>A F3<cfcfa390>A<6909>7.008 E
+ <3e22696f69cfa390>7.008 E F4<0e>72 137 Q F3(.i)A F4<4212>A F3<cfcf>A F5
+ (,)A F4(B)3.41 E F3<b5cfa3b5>A<6709>3.41 E<cffde8b5>3.41 E F4<16>A F3
+ <fd3e0969cf>A<b5a3>3.41 E<691b>3.41 E F4(B)A F3<b5ca>A<e86590>3.41 E F4
+ (<)A F3<b58f>A F5(.)A F3<76b58f093e096990a3b5>6.16 E<6909>3.409 E(g")
+ 3.409 E F4(0)A F3<cfa3cf1b>A F4(B)3.409 E F3("-)A<a390fdcf>3.409 E F5(')
+ 3.409 E F3<093ea3b52d09a3cf>A F5(')A F3<67a3093e09>3.409 E
+ <e8b56765908f67a33eb52d>72 150 Q(g)2.75 E F4<16>A F3(.p\220)A F4(0)A F3
+ <6909a309>A F4<0e>2.75 E F3(.i)A F4<4212>A F3<cf1b>A F5(-)2.75 E/F6 11
+ /NimbusRomNo9L-Medi@0 SF(push_e)2.75 E -.385(ve)-.319 G(nt_t).385 E
+ (o_mac)-.044 E(hine)-.187 E F3<e5b56569cf1ba3>72 176 Q<e865cf2d9065>
+ 2.809 E<6990>2.809 E 2.809<902d>2.809 G<69b5>-2.809 E F4<1b>A F3<b5>A F4
+ <0e>2.809 E F3(.i)A F4<4212>A F3<cfb56909>A F4<16>A F3<9069>A F5(,)A F3
+ <fd0946b5a3b5>2.809 E F4(B)2.809 E F3<b52d2e69cf>A F4(B)A F3<09>A F4<12>
+ A F3<cf1ba309>A 2.809<9067>2.809 G<092db5>-2.809 E 2.809<3e90>2.809 G
+ <8f6909>-2.809 E<e8b567b5>2.809 E F4(B)A F3<09>A F5(.)A F3<e409>5.559 E
+ <8f09>2.809 E<2db57090>2.809 E<8f09>72 189 Q(>e"F\011)4.677 E<cf69>4.677
+ E F4<0e>A F3<b5652d09>A F4<12>A F3<cf1b>A 4.676<cf8f>4.676 G 4.676<09cf>
+ -4.676 G<2d09>-4.676 E F4<0e>4.676 E F3(.i)A F4<4212>A F3<cfb56909>A F4
+ <16>A F3<69b567a3>A F5(,)A F3<6909>4.676 E(>g\220)4.676 E F4(B)A F3
+ 4.676<cfe8>C<6590>-4.676 E F4(<)A F3<b58f>A<2db57090>4.676 E<8f09>4.676
+ E<6790>4.676 E(g)4.676 E F4<16>A F3<b57009a3>A F4<0e>4.676 E F3(.i)A F4
+ <4212>A F3<cfcf>A F5(,)A F4(B)72 202 Q F3<b5cfa3b5>A<8f09>4.475 E F4(0)
+ 4.475 E F3<228f09a3>A<cffde822>4.475 E F4<16>A F3<699069cf>A<e865908fcf>
+ 4.475 E<e86590>4.475 E F4(<)A F3<b58f22a3>A<8f09>4.475 E 4.475<90fd>
+ 4.475 G(\011>"eo\317)-4.475 E F4<16>A/F7 8/NimbusRomNo9L-Regu@0 SF(2)
+ .574 -3.9 M F5 7.224(.T)4.474 3.9 O(a)-8.071 E F4(B)A F3<09>A F4<1b>
+ 4.474 E F3<b56569cf1ba3>A<e865cf2d9065>4.474 E<2db57090>4.474 E<8f09>
+ 4.474 E F4(0)4.474 E F3<228f90>A<e865906509>72 215 Q F4(0)A F3<b5a39069>
+ A<8f09>2.75 E<3ecf>2.75 E F4(B)A F3<09>A F4<0e>2.75 E F3(.i)A F4<4212>A
+ F3<cf1b>A F5(,)A F4(B)2.75 E F3<b51ba3b5>A<8f90ca67a33ecfa390>2.75 E F4
+ <16>A F3<69b5>A<8f09>2.75 E(>)2.75 E F4<4216>A F3<ea293e09>A 2.75<cfcf>
+ 2.75 G<fd>-2.75 E F4<4216>A F3<ea293e09>A<691b>2.75 E F4(B)A F3<09>A F4
+ (B)A F3<3e09>A F4<16>2.75 E F3<092de809>A F5(:)A F6(mac)72 241 Q
+ (hine light_bulb)-.187 E([)72 254 Q -2.475 -.077(st a)108 267 T -.011
+ (te).077 G 2.75(s[O).011 G 2.75(N,O)-2.75 G(FF ];)-2.75 E -.319(ev)108
+ 280 S(ents [ TURN_ON , TURN_OFF , S)-.066 E(WIT)-.11 E -.022(CH)-.187 G
+ (_S).022 E -.506(TA)-.176 G(TE ];)-.143 E -2.475 -.077(st a)108 293 T
+ .099(rt).077 G(ing on OFF;)-.099 E(tr)108 306 Q(ansitions)-.066 E([)108
+ 319 Q(fr)144 332 Q(om ON t)-.154 E 2.75(oO)-.044 G(FF on e)-2.75 E -.385
+ (ve)-.319 G(nt TURN_OFF).385 E -.209(ex)216 345 S(ecut)-.088 E 2.75(el)
+ -.011 G(ight "of)-2.75 E(f";).132 E(fr)144 358 Q(om ON t)-.154 E 2.75
+ (oO)-.044 G(FF on e)-2.75 E -.385(ve)-.319 G(nt S).385 E(WIT)-.11 E
+ -.022(CH)-.187 G(_S).022 E -.506(TA)-.176 G(TE)-.143 E -.209(ex)216 371
+ S(ecut)-.088 E 2.75(el)-.011 G(ight "of)-2.75 E(f";).132 E(fr)144 397 Q
+ (om OFF t)-.154 E 2.75(oO)-.044 G 2.75(No)-2.75 G 2.75(ne)-2.75 G -.385
+ (ve)-3.069 G(nt TURN_ON).385 E -.209(ex)216 410 S(ecut)-.088 E 2.75(el)
+ -.011 G(ight "on";)-2.75 E(fr)144 423 Q(om OFF t)-.154 E 2.75(oO)-.044 G
+ 2.75(No)-2.75 G 2.75(ne)-2.75 G -.385(ve)-3.069 G(nt TURN_ON).385 E
+ -.209(ex)216 436 S(ecut)-.088 E 2.75(el)-.011 G(ight "on";)-2.75 E(];)
+ 108 449 Q(];)72 475 Q F3(/.)72 514 Q F4(B)A F3(g"F\265)4.537 E 4.537
+ <908f>4.537 G<902db56967a365cf650969b5>-4.537 E F4(B)4.537 E F3<09>A F4
+ (B)A F3<6790>4.537 E<e8b58f093e09a3>4.537 E<0965>4.537 E F4<1b>A F3
+ <2e2d9069a3cf>A F4(B)4.538 E F3("-)A<a390fdcf>4.538 E F4<0e>4.538 E F3
+ (.i)A F4<4212>A F3<cfcf>A F5(.)A F3<1dcf2d3eb5>7.288 E F4<16>A F3
+ <69cfa390>A<69cffdb53e90>4.538 E<6709>4.538 E<cffd>72 527 Q F4(0)A F3
+ <650969cf>A F4(B)3.362 E F3<09a3b5>A<908fcf6967a33e9069>3.362 E
+ <690929cf69>3.362 E<8f09>3.362 E<6790>3.362 E<e8b58f093e09a3>3.362 E
+ <0965>3.362 E F4<1b>A F3<2e2d9069a3cf>A F5(,)A F3<fd0946b5a3b5>3.362 E
+ 3.361<90e8>3.362 G<65908f3ecf8f9069b5>-3.361 E<8f09>3.361 E<6790>3.361 E
+ <a365096967e8cf>3.361 E F4<16>A F3<cf6509>A<8fb5>3.361 E<90fdcf>72 540 Q
+ F4<12>A F3<cf>A F5(,)A F3<6509fd>4.981 E F4<16>A F3<cf2969cf>A<b5a3>
+ 4.981 E F6(C)4.981 E F5(,)A F3 4.982<093e>4.982 G<223e90708f096990a3b5>
+ -4.982 E<6909>4.982 E<a3cfe8b53e09>4.982 E<67cf67a3902d09>4.982 E<cf>
+ 4.982 E F4<16>A F3 4.982<cf69>C<9046b5>-4.982 E F5(,)A F4(B)4.982 E F3
+ <b590a3b5>A<8f09>4.982 E<b5e8cf673e09>4.982 E<6509fd>4.982 E F4<16>A F3
+ <cf2969cfa390>A<0965>72 553 Q F4<1b>A F3<2e2d9069a3cf>A F4(0)2.75 E F3
+ 2.75<cf69>C<09a3b53e0965cf>-2.75 E F4<16>A F3 2.75<b590>C<fdcf>-2.75 E
+ F4(B)A F3<22a3>A<a33e22658f90>2.75 E(-i\265)2.75 E F4<1b>A F3 2.75<b5cf>
+ C F4(0)A F3 2.75<cf8f>C<b5699067>-2.75 E F4<16>A F3 2.75<b567>C<092db5>
+ -2.75 E<2dcf69cf2d09>2.75 E F4<16>A F3<6909>A<e8902909>2.75 E F4<1630>A
+ F3<09>A F5(.)A F3<9322fd2db57069b5>94 566 Q 5.088<908f>5.088 G 5.088
+ <09cf>-5.088 G<2d09>-5.088 E<e8b53e902990>5.088 E<b5a3>5.088 E<908f6909>
+ 5.088 E F5(')5.088 E F3<2d096fcf6909>A F5(')A F3(>)5.088 E F4(B)5.088 E
+ F3<b58f22a3>A F5(.)A F4(")5.088 E F3<09e865cf2d9065>A F5(,)A F3<6990>
+ 5.088 E F4(B)A F3<09>A F4(B)5.088 E F3("-)A F4<1b>5.087 E F3<b56569cf1b>
+ A<e865cf2d9065>5.087 E<8fb5>72 579 Q F4(0)A F3<093ecf2d>A F5(:)A F6(mac)
+ 72 605 Q(hine light_contr)-.187 E(oler)-.154 E([)72 618 Q -2.475 -.077
+ (st a)108 631 T -.011(te).077 G 2.75(s[S).011 G -.506(TA)-2.926 G
+ (TIC , BLINKIN)-.143 E 2.75(G])-.176 G(;)-2.75 E -.319(ev)108 644 S
+ (ents [ SIGN)-.066 E(AL , GO_S)-.209 E -.506(TA)-.176 G(TIC, S)-.143 E
+ -.506(TA)-.176 G -.286(RT).506 G(_BLINKIN).286 E 2.75(G])-.176 G(;)-2.75
+ E -2.475 -.077(st a)108 657 T .099(rt).077 G(ing on S)-.099 E -.506(TA)
+ -.176 G(TIC;)-.143 E(tr)108 670 Q(ansitions)-.066 E([)108 683 Q(fr)144
+ 696 Q(om S)-.154 E -.506(TA)-.176 G(TIC t)-.143 E 2.75(oB)-.044 G
+ (LINKIN)-2.75 E 2.75(Go)-.176 G 2.75(ne)-2.75 G -.385(ve)-3.069 G(nt S)
+ .385 E -.506(TA)-.176 G -.286(RT).506 G(_BLINKIN).286 E(G;)-.176 E 77.5
+ 709 72 709 DL 78 709 72.5 709 DL 83.5 709 78 709 DL 89 709 83.5 709 DL
+ 94.5 709 89 709 DL 100 709 94.5 709 DL 105.5 709 100 709 DL 111 709
+ 105.5 709 DL 116.5 709 111 709 DL 122 709 116.5 709 DL 127.5 709 122 709
+ DL 133 709 127.5 709 DL 138.5 709 133 709 DL 144 709 138.5 709 DL/F8 9
+ /NimbusRomNo9L-Regu@0 SF(2.)72 720 Q/F9 9/NimbusRomNo9L-Regu@@2 SF
+ <2fb53e09>6.053 E<673eb5ca67a33eb5>3.803 E 3.803<903e>3.803 G<097069b5>
+ -3.803 E 3.803<cf09>3.803 G<3ea3b56522a3>-3.803 E<6790>3.803 E 3.803
+ <9067>3.803 G<a365902dcf>-3.803 E/F10 9/NimbusRomNo9L-Regu@@3 SF<16>A F9
+ <8f09>3.803 E F10<1b>3.803 E F9 3.803<b5fd>C<09e809fdcf>-3.803 E F8(.)A
+ F9<2fb53e09>3.804 E<e8b5fd3eb5>3.804 E F10<16>A F9<1b3e09>A F8(,)A F9
+ <6909e865cf2d9065>3.804 E F8(,)A F9<8f09>3.804 E<6790>3.804 E
+ <e8b58f093e09a3>3.804 E(g")3.804 E F10(0)A F9<cfa3cf1b>A<b5a3>3.804 E
+ F10<0e>72 731 Q F9(.i)A F10<4212>A F9<cfcf>A<cffde822>2.25 E F10<16>A F9
+ <699069cf>A<e8b5>2.25 E<3e65902d90>2.25 E<6909>2.25 E<e86590>2.25 E F10
+ (<)A F9<b58f>A F2 2.5(-2-)297.67 778 S 0 Cg EP
+ %%Page: 2 3
+ %%BeginPageSetup
+ BP
+ %%EndPageSetup
+ /F0 10/NimbusRomNo9L-Regu@@2 SF<e509>72 24 Q/F1 10/NimbusRomNo9L-Regu@@3
+ SF<16>A F0<cf69>A<1dcf2d90b569b53e>2.5 E F1<19>2.5 E/F2 10
+ /NimbusRomNo9L-Regu@0 SF(.)A F1(")A F2 2.5(.8)C -.66(16)-3.14 G(35).66 E
+ F0<7665b590>109.09 E F1(B)A F0 2.5<a3e8>C<b5>-2.5 E F1(B)2.5 E F0
+ <b52de8eaa3226569cf>A<67cf67a3902dcf>2.5 E<fd09>2.5 E<2ee865093e>2.5 E
+ F1<16>A F0<9069cf90>A<6909>2.5 E<65b5>2.5 E F1(0)A F0<b5a3cf>A .5 LW 77
+ 36 72 36 DL 80 36 75 36 DL 85 36 80 36 DL 90 36 85 36 DL 95 36 90 36 DL
+ 100 36 95 36 DL 105 36 100 36 DL 110 36 105 36 DL 115 36 110 36 DL 120
+ 36 115 36 DL 125 36 120 36 DL 130 36 125 36 DL 135 36 130 36 DL 140 36
+ 135 36 DL 145 36 140 36 DL 150 36 145 36 DL 155 36 150 36 DL 160 36 155
+ 36 DL 165 36 160 36 DL 170 36 165 36 DL 175 36 170 36 DL 180 36 175 36
+ DL 185 36 180 36 DL 190 36 185 36 DL 195 36 190 36 DL 200 36 195 36 DL
+ 205 36 200 36 DL 210 36 205 36 DL 215 36 210 36 DL 220 36 215 36 DL 225
+ 36 220 36 DL 230 36 225 36 DL 235 36 230 36 DL 240 36 235 36 DL 245 36
+ 240 36 DL 250 36 245 36 DL 255 36 250 36 DL 260 36 255 36 DL 265 36 260
+ 36 DL 270 36 265 36 DL 275 36 270 36 DL 280 36 275 36 DL 285 36 280 36
+ DL 290 36 285 36 DL 295 36 290 36 DL 300 36 295 36 DL 305 36 300 36 DL
+ 310 36 305 36 DL 315 36 310 36 DL 320 36 315 36 DL 325 36 320 36 DL 330
+ 36 325 36 DL 335 36 330 36 DL 340 36 335 36 DL 345 36 340 36 DL 350 36
+ 345 36 DL 355 36 350 36 DL 360 36 355 36 DL 365 36 360 36 DL 370 36 365
+ 36 DL 375 36 370 36 DL 380 36 375 36 DL 385 36 380 36 DL 390 36 385 36
+ DL 395 36 390 36 DL 400 36 395 36 DL 405 36 400 36 DL 410 36 405 36 DL
+ 415 36 410 36 DL 420 36 415 36 DL 425 36 420 36 DL 430 36 425 36 DL 435
+ 36 430 36 DL 440 36 435 36 DL 445 36 440 36 DL 450 36 445 36 DL 455 36
+ 450 36 DL 460 36 455 36 DL 465 36 460 36 DL 470 36 465 36 DL 475 36 470
+ 36 DL 480 36 475 36 DL 485 36 480 36 DL 490 36 485 36 DL 495 36 490 36
+ DL 500 36 495 36 DL 505 36 500 36 DL 510 36 505 36 DL 515 36 510 36 DL
+ 520 36 515 36 DL 525 36 520 36 DL 530 36 525 36 DL 535 36 530 36 DL 540
+ 36 535 36 DL/F3 11/NimbusRomNo9L-Medi@0 SF(fr)144 61 Q(om BLINKIN)-.154
+ E 2.75(Gt)-.176 G 2.75(oS)-2.794 G -.506(TA)-2.926 G(TIC on e)-.143 E
+ -.385(ve)-.319 G(nt GO_S).385 E -.506(TA)-.176 G(TIC;)-.143 E(fr)144 87
+ Q(om BLINKIN)-.154 E 2.75(Gt)-.176 G 2.75(oB)-2.794 G(LINKIN)-2.75 E
+ 2.75(Go)-.176 G 2.75(ne)-2.75 G -.385(ve)-3.069 G(nt SIGN).385 E(AL)
+ -.209 E -.209(ex)216 100 S(ecut)-.088 E 2.75(ep)-.011 G -.154(ro)-2.75 G
+ (d_light_bulb;).154 E(];)108 126 Q(];)72 152 Q(mac)72 178 Q(hine timer)
+ -.187 E([)72 191 Q -2.475 -.077(st a)108 204 T -.011(te).077 G 2.75(s[O)
+ .011 G 2.75(N,O)-2.75 G(FF ];)-2.75 E -.319(ev)108 217 S(ents [ TIC)
+ -.066 E 2.75(K,S)-.066 G -.506(TA)-2.926 G .572 -.286(RT , S).506 H
+ -.099(TO).11 G 2.75(P]).099 G(;)-2.75 E -2.475 -.077(st a)108 230 T .099
+ (rt).077 G(ing on OFF;)-.099 E(tr)108 243 Q(ansitions)-.066 E([)108 256
+ Q(fr)144 269 Q(om ON t)-.154 E 2.75(oO)-.044 G(FF on e)-2.75 E -.385(ve)
+ -.319 G(nt S).385 E -.099(TO)-.176 G(P;).099 E(fr)144 282 Q(om OFF t)
+ -.154 E 2.75(oO)-.044 G 2.75(No)-2.75 G 2.75(ne)-2.75 G -.385(ve)-3.069
+ G(nt S).385 E -.506(TA)-.176 G -.286(RT).506 G -.209(ex)180 295 S(ecut)
+ -.088 E 2.75(ep)-.011 G -.154(ro)-2.75 G(d_timer).154 E(;)-.176 E(fr)144
+ 308 Q(om ON t)-.154 E 2.75(oO)-.044 G 2.75(No)-2.75 G 2.75(ne)-2.75 G
+ -.385(ve)-3.069 G(nt TIC).385 E(K)-.066 E -.209(ex)180 321 S(ecut)-.088
+ E 2.75(ep)-.011 G -.154(ro)-2.75 G(d_timer | pr).154 E(od_light_contr)
+ -.154 E(oler)-.154 E(;)-.176 E(];)108 334 Q(];)72 360 Q/F4 11
+ /NimbusRomNo9L-Regu@@2 SF(/.)72 399 Q/F5 11/NimbusRomNo9L-Regu@@3 SF(B)A
+ F4<2db57090>3.612 E<8f09>3.612 E<6790>3.612 E<3ecf8fcf>3.612 E<cf>3.611
+ E/F6 11/NimbusRomNo9L-Regu@0 SF(')3.611 E F4<69093e2265fd3e096990>A F6
+ (')A F4<6909>3.611 E<6509fd>3.611 E F5<16>A F4<cf2969cf>A F5<0e>3.611 E
+ F4(.i)A F5<4212>A F4<cfcf>A F6 6.361(.t)C .861(imer ')-6.361 F F4
+ <2d096fcf6909a309>A F6(')A F4<e865094609>3.611 E<67cf>3.611 E F5<1b>A F4
+ <6909>A F5<16>A F4<8fb5>3.611 E<6790>3.611 E F5(0)A F4<90>A<67cf>72 412
+ Q 5.521<cf8f>5.521 G<b5>-5.521 E F6(light_contr)5.521 E(oler)-.088 E(,)
+ -.451 E F4<09>5.521 E F6(light_contr)5.521 E(oler)-.088 E F4<e865094609>
+ 5.521 E<67cf>5.522 E F5<1b>A F4<6909>A F5<16>A F4<8fb5>5.522 E F6
+ (light_bulb.)5.522 E F4(/.)8.272 E F5(B)A F4<2db570902d>5.522 E<8f09>
+ 5.522 E<e8659067>5.522 E F5(B)A F4<b529cf2d>A<e865908f093e096990a3b5>72
+ 425 Q<6909>3.949 E(g")3.949 E F5(0)A F4<cfa3cf1b>A<2d90708f2e>3.949 E F6
+ (')3.949 E F4<2d096fcf69cfa390>A F6(')A F4<296590fd>3.949 E<cffde8b5>
+ 3.949 E F5<16>A F4<fd3e096990a3b5>A<6909>3.948 E F3(if)3.948 E F6(.)A F4
+ <7665b52d90691b2d90>6.698 E<a36590a3cf1b>3.948 E<e86590>3.948 E F5(<)A
+ F4<b58f>A<b5a3>3.948 E F6(timer)72 438 Q(:)-.077 E F3(fr)108 464 Q
+ (om ON t)-.154 E 2.75(oO)-.044 G 2.75(No)-2.75 G 2.75(ne)-2.75 G -.385
+ (ve)-3.069 G(nt TIC).385 E(K)-.066 E(if\(light_contr)144 477 Q(oler)
+ -.154 E(.BLINKIN)-.748 E(G\))-.176 E -.209(ex)180 490 S(ecut)-.088 E
+ 2.75(ep)-.011 G -.154(ro)-2.75 G(d_timer | pr).154 E(od_light_bulb;)
+ -.154 E F4<2fb53e09>72 542 Q 7.195<902e>7.195 G(g)-7.195 E F5<16>A F4
+ <b53e69b5>A<cffde822>7.195 E F5<16>A F4<699069cf90>A<6909>7.195 E F5(B)
+ 7.195 E F4<b52d09698fcfa390>A F6(,)A F4<e86590>7.195 E F5(<)A F4
+ <b58f22a3>A<6790>7.195 E(g)7.195 E F5<16>A F4(.\)>\011)A 7.196<cf67>
+ 7.196 G<2267a3b51b69cf90a3b5>-7.196 E 7.196<90e8>7.196 G
+ <65b52d90699069b5>-7.196 E<6990fd093ecf67cf2db5>72 555 Q<b5a3>3.045 E
+ <cf67a3cf6969b567a3a309>3.045 E<6909>3.045 E(.g)3.045 E F5<16>A F4
+ <b53ecf90a3b5>A F6(.)A F4<e409>5.795 E<659009>3.045 E F5<16>A F4<cffd09>
+ A F5<12>A F4<cf1ba309>A<6909>3.045 E(.g)3.045 E F5<16>A F4<b53e9069>A
+ <e86590>3.045 E F5(<)A F4<b58f>A F6(,)A F4 3.045<3e90>3.045 G<fdcf>
+ -3.045 E F5(B)A F4<22a3>A<cf2d09>3.044 E F3 .011(gr)3.044 G(ant)-.077 E
+ (ed)-.011 E F5<4216>72 568 Q F4<ea29b53e09a309>A<8f2e2d09>2.75 E F6(.)A
+ F4<e5b56569b5a3b5>5.5 E<2db57090>2.75 E<8f09>2.75 E<6790>2.75 E
+ <b5e8cfa3092d90>2.75 E<8f09>2.75 E<cf2de8>2.75 E F5<16>A F4
+ <902d9069a3cf65092d90>A<e8b5>2.75 E(g)2.75 E F5<16>A F4<908f69cf1b>A
+ <690929cf69>2.75 E F6(:)A F3(fr)108 594 Q(om ON t)-.154 E 2.75(oO)-.044
+ G 2.75(No)-2.75 G 2.75(ne)-2.75 G -.385(ve)-3.069 G(nt TIC).385 E 2.75
+ (Kg)-.066 G -.066(ra)-2.739 G(nt).066 E(ed \(light_contr)-.011 E(oler)
+ -.154 E(.BLINKIN)-.748 E(G\))-.176 E -.209(ex)180 607 S(ecut)-.088 E
+ 2.75(ep)-.011 G -.154(ro)-2.75 G(d_timer | pr).154 E(od_light_bulb;)
+ -.154 E F4(/.)72 646 Q F5(B)A F4<cf2d09>3.07 E<e865b5>3.07 E F5<3016>A
+ F4<902d09>A F6(,)A F4<2990>3.07 E F6(timer)3.071 E F4<67e8cf6509>3.071 E
+ <8f09>3.071 E<6509>3.071 E F5(0)A F4<b5a3cf>A<09>3.071 E F5(B)A F4<b5>A
+ F6(light_contr)3.071 E(oler)-.088 E F4<6990>3.071 E 3.071(\220>g)3.071 G
+ <2267a3b51b69cf90>-3.071 E F6(BLINKIN)3.071 E(G,)-.209 E F4
+ <fd0946b5a3b5>3.071 E<e86590>72 659 Q F5(<)A F4<b58f22a3>A<691b2d09>2.75
+ E<8f09>2.75 E<6790>2.75 E(g)2.75 E F5<16>A F4<2e29cf>A<cf>2.75 E F3
+ -.209(ex)2.75 G(ecut)-.088 E 2.75(ep)-.011 G -.154(ro)-2.75 G(d_timer)
+ .154 E F4<691b2d09>2.75 E<8f09>2.75 E<6790>2.75 E<cffde822>2.75 E F5<16>
+ A F4<69cf>A F6(.)A/F7 8/NimbusRomNo9L-Regu@0 SF(3)1.6 -3.9 M F3(pr)94
+ 672 Q(od_timer)-.154 E F6(,)A F3(pr)A(od_light_bulb)-.154 E F6(,)A F3
+ (pr)A(od_timer)-.154 E F4<cf>4.397 E F3(light)4.397 E F4<6709>4.397 E F5
+ <0e>4.397 E F4(.i)A F5<4212>A F4<cfcf>A F6(,)A F4<29cf1ba3b5>4.396 E
+ <cf2de8>4.396 E F5<16>A F4<902d9069a309>A F5<12>A F4<cf1b>A<a3651b>4.396
+ E F5(0)A F4<3e09>A<8f09>4.396 E F5(0)72 685 Q F4<228f90>A
+ <e865908fb567a3093e906909>7.714 E<b5a3>7.714 E<e865b5>7.714 E F5<1b>A F4
+ <65092dcf67a309>A F6(.)A F4<9367cf29>10.464 E F5(B)A F4 7.714<cf3e>C
+ ("ioi\317)-7.714 E F5<0e>7.714 E F4(.i)A F5<4212>A F4<cfcf>A<6790>7.714
+ E(g")7.714 E F5(0)A F4<cf6509a3>A 7.714<cf67>7.714 G 7.715<90fd>-7.714 G
+ <09e8cf673e09a3>-7.715 E(>)7.715 E F5<1b>72 698 Q F4
+ <90699065cf650969cf1b>A F6(xxxx_e)2.75 E(xter)-.385 E(.h)-.528 E F5<0e>
+ 2.75 E F4<09ca>A F5<16>A F6(.)A F4<2fb5fdcf>2.75 E<e865cf2d9065>2.75 E
+ F5(0)2.75 E F4<cf>A F5<1b>2.75 E F4<90699065cf6509>A F5<16>A F6(:)A F3
+ (#ifndef XXXX_EXTERN_H)72 724 Q 77.5 737 72 737 DL 78 737 72.5 737 DL
+ 83.5 737 78 737 DL 89 737 83.5 737 DL 94.5 737 89 737 DL 100 737 94.5
+ 737 DL 105.5 737 100 737 DL 111 737 105.5 737 DL 116.5 737 111 737 DL
+ 122 737 116.5 737 DL 127.5 737 122 737 DL 133 737 127.5 737 DL 138.5 737
+ 133 737 DL 144 737 138.5 737 DL/F8 9/NimbusRomNo9L-Regu@0 SF(3.)72 748 Q
+ /F9 9/NimbusRomNo9L-Regu@@2 SF<2fb53e09>4.5 E F8(,)A F9<2990>2.25 E
+ <a3b5fdcf>2.25 E<e865cf2d9065>2.25 E<2db57090>2.25 E<8f09>2.25 E/F10 9
+ /NimbusRomNo9L-Regu@@3 SF(0)2.25 E F9<228f90>A<cf2de8>2.25 E F10<16>A F9
+ <902d9069a3cf650969>A<6909>2.25 E/F11 9/NimbusRomNo9L-Medi@0 SF(C)2.25 E
+ F9<e8b58f>2.25 E F8 -.486(10)2.25 G F9<65908f09>2.736 E F8(,)A F9 2.25
+ <90fd>2.25 G<09>-2.25 E F10(0)A F9<90>A F10<16>A F9<1bfd0969b5>A<b5a3>
+ 2.25 E<093ea3b56509>2.25 E F8(.)A F2 2.5(-3-)297.67 778 S 0 Cg EP
+ %%Page: 3 4
+ %%BeginPageSetup
+ BP
+ %%EndPageSetup
+ /F0 10/NimbusRomNo9L-Regu@@2 SF<e509>72 24 Q/F1 10/NimbusRomNo9L-Regu@@3
+ SF<16>A F0<cf69>A<1dcf2d90b569b53e>2.5 E F1<19>2.5 E/F2 10
+ /NimbusRomNo9L-Regu@0 SF(.)A F1(")A F2 2.5(.8)C -.66(16)-3.14 G(35).66 E
+ F0<7665b590>109.09 E F1(B)A F0 2.5<a3e8>C<b5>-2.5 E F1(B)2.5 E F0
+ <b52de8eaa3226569cf>A<67cf67a3902dcf>2.5 E<fd09>2.5 E<2ee865093e>2.5 E
+ F1<16>A F0<9069cf90>A<6909>2.5 E<65b5>2.5 E F1(0)A F0<b5a3cf>A .5 LW 77
+ 36 72 36 DL 80 36 75 36 DL 85 36 80 36 DL 90 36 85 36 DL 95 36 90 36 DL
+ 100 36 95 36 DL 105 36 100 36 DL 110 36 105 36 DL 115 36 110 36 DL 120
+ 36 115 36 DL 125 36 120 36 DL 130 36 125 36 DL 135 36 130 36 DL 140 36
+ 135 36 DL 145 36 140 36 DL 150 36 145 36 DL 155 36 150 36 DL 160 36 155
+ 36 DL 165 36 160 36 DL 170 36 165 36 DL 175 36 170 36 DL 180 36 175 36
+ DL 185 36 180 36 DL 190 36 185 36 DL 195 36 190 36 DL 200 36 195 36 DL
+ 205 36 200 36 DL 210 36 205 36 DL 215 36 210 36 DL 220 36 215 36 DL 225
+ 36 220 36 DL 230 36 225 36 DL 235 36 230 36 DL 240 36 235 36 DL 245 36
+ 240 36 DL 250 36 245 36 DL 255 36 250 36 DL 260 36 255 36 DL 265 36 260
+ 36 DL 270 36 265 36 DL 275 36 270 36 DL 280 36 275 36 DL 285 36 280 36
+ DL 290 36 285 36 DL 295 36 290 36 DL 300 36 295 36 DL 305 36 300 36 DL
+ 310 36 305 36 DL 315 36 310 36 DL 320 36 315 36 DL 325 36 320 36 DL 330
+ 36 325 36 DL 335 36 330 36 DL 340 36 335 36 DL 345 36 340 36 DL 350 36
+ 345 36 DL 355 36 350 36 DL 360 36 355 36 DL 365 36 360 36 DL 370 36 365
+ 36 DL 375 36 370 36 DL 380 36 375 36 DL 385 36 380 36 DL 390 36 385 36
+ DL 395 36 390 36 DL 400 36 395 36 DL 405 36 400 36 DL 410 36 405 36 DL
+ 415 36 410 36 DL 420 36 415 36 DL 425 36 420 36 DL 430 36 425 36 DL 435
+ 36 430 36 DL 440 36 435 36 DL 445 36 440 36 DL 450 36 445 36 DL 455 36
+ 450 36 DL 460 36 455 36 DL 465 36 460 36 DL 470 36 465 36 DL 475 36 470
+ 36 DL 480 36 475 36 DL 485 36 480 36 DL 490 36 485 36 DL 495 36 490 36
+ DL 500 36 495 36 DL 505 36 500 36 DL 510 36 505 36 DL 515 36 510 36 DL
+ 520 36 515 36 DL 525 36 520 36 DL 530 36 525 36 DL 535 36 530 36 DL 540
+ 36 535 36 DL/F3 11/NimbusRomNo9L-Medi@0 SF
+ (#de\214ne XXXX_EXTERN_H XXXX_EXTERN_H)72 85 Q -.209(ex)72 111 S -.011
+ (te).209 G -.088 .044(rn m).011 H(ac)-.044 E -2.618(hine_buf f)-.187 F
+ (er_t* light\(mac)-.319 E -2.618(hine_buf f)-.187 F(er_t *ar)-.319 E
+ (guments,mac)-.055 E -2.618(hine_buf f)-.187 F(er_t *in)-.319 E(put\);)
+ -.154 E -.209(ex)72 124 S -.011(te).209 G -.088 .044(rn m).011 H(ac)
+ -.044 E -2.618(hine_buf f)-.187 F(er_t* pr)-.319 E(od_light_bulb\(mac)
+ -.154 E -2.618(hine_buf f)-.187 F(er_t *ar)-.319 E(guments,mac)-.055 E
+ -2.618(hine_buf f)-.187 F(er_t *in)-.319 E(put\);)-.154 E -.209(ex)72
+ 137 S -.011(te).209 G -.088 .044(rn m).011 H(ac)-.044 E -2.618
+ (hine_buf f)-.187 F(er_t* pr)-.319 E(od_light_contr)-.154 E(oler\(mac)
+ -.154 E -2.618(hine_buf f)-.187 F(er_t *ar)-.319 E(guments,mac)-.055 E
+ -2.618(hine_buf f)-.187 F(er_t *in)-.319 E(put\);)-.154 E -.209(ex)72
+ 150 S -.011(te).209 G -.088 .044(rn m).011 H(ac)-.044 E -2.618
+ (hine_buf f)-.187 F(er_t* pr)-.319 E(od_timer\(mac)-.154 E -2.618
+ (hine_buf f)-.187 F(er_t *ar)-.319 E(guments,mac)-.055 E -2.618
+ (hine_buf f)-.187 F(er_t *in)-.319 E(put\);)-.154 E(#endif)72 176 Q/F4
+ 11/NimbusRomNo9L-Regu@@3 SF(&)72 228 Q/F5 11/NimbusRomNo9L-Regu@@2 SF
+ <a3b5>A 2.75<cf90>2.75 G<8f6909>-2.75 E<e865cf2d90656909>2.75 E<a31b>
+ 2.75 E F4(<)A F5<6909>A<cf2de890>2.75 E F4<16>A F5<902d9069a309>A F4<12>
+ A F5<cf1b>A<fd09908f69b5>2.75 E(g)2.75 E F3(main)2.75 E F4<0e>2.75 E F5
+ (.i)A F4<4212>A F5<cf1ba309>A/F6 11/NimbusRomNo9L-Regu@0 SF(:)A F3(mac)
+ 72 254 Q -2.618(hine_buf f)-.187 F(er_t* light\(mac)-.319 E -2.618
+ (hine_buf f)-.187 F(er_t *ar)-.319 E(guments,mac)-.055 E -2.618
+ (hine_buf f)-.187 F(er_t *in)-.319 E(put\))-.154 E({)72 267 Q -2.684
+ (pr intf\("light)108 280 R(%s0,ar)2.75 E -2.618(guments->buf f)-.055 F
+ (er\);)-.319 E -2.618 -.121(re t)108 293 T -2.706(ur n).121 F(NULL;)2.75
+ E(})72 306 Q(mac)72 319 Q -2.618(hine_buf f)-.187 F(er_t* pr)-.319 E
+ (od_light_bulb\(mac)-.154 E -2.618(hine_buf f)-.187 F(er_t *ar)-.319 E
+ (guments,mac)-.055 E -2.618(hine_buf f)-.187 F(er_t *in)-.319 E(put\))
+ -.154 E({)72 332 Q(push_e)108 345 Q -.385(ve)-.319 G(nt_t).385 E(o_mac)
+ -.044 E(hine\(light_bulb,light_bulb_EVENT_S)-.187 E(WIT)-.11 E -.022(CH)
+ -.187 G(_S).022 E -.506(TA)-.176 G(TE,NULL\);)-.143 E -2.618 -.121(re t)
+ 108 358 T -2.706(ur n).121 F(NULL;)2.75 E(})72 371 Q(mac)72 384 Q -2.618
+ (hine_buf f)-.187 F(er_t* pr)-.319 E(od_light_contr)-.154 E(oler\(mac)
+ -.154 E -2.618(hine_buf f)-.187 F(er_t *ar)-.319 E(guments,mac)-.055 E
+ -2.618(hine_buf f)-.187 F(er_t *in)-.319 E(put\))-.154 E({)72 397 Q
+ (push_e)108 410 Q -.385(ve)-.319 G(nt_t).385 E(o_mac)-.044 E
+ (hine\(light_contr)-.187 E(oler)-.154 E(,light_contr)-.737 E
+ (oler_EVENT_SIGN)-.154 E(AL,NULL\);)-.209 E -2.618 -.121(re t)108 423 T
+ -2.706(ur n).121 F(NULL;)2.75 E(})72 436 Q(mac)72 449 Q -2.618
+ (hine_buf f)-.187 F(er_t* pr)-.319 E(od_timer\(mac)-.154 E -2.618
+ (hine_buf f)-.187 F(er_t *ar)-.319 E(guments,mac)-.055 E -2.618
+ (hine_buf f)-.187 F(er_t *in)-.319 E(put\))-.154 E({)72 462 Q(push_e)108
+ 475 Q -.385(ve)-.319 G(nt_t).385 E(o_mac)-.044 E(hine\(timer)-.187 E
+ (,timer_EVENT_TIC)-.737 E(K,NULL\);)-.066 E(sleep\(1\);)108 488 Q -2.618
+ -.121(re t)108 501 T -2.706(ur n).121 F(NULL;)2.75 E(})72 514 Q
+ (int main\(\))72 527 Q({)72 540 Q(push_e)108 553 Q -.385(ve)-.319 G
+ (nt_t).385 E(o_mac)-.044 E(hine\(light_contr)-.187 E(oler)-.154 E
+ (,light_contr)-.737 E(oler_EVENT_S)-.154 E -.506(TA)-.176 G -.286(RT)
+ .506 G(_BLINKIN).286 E(G,NULL\);)-.176 E(push_e)108 566 Q -.385(ve)-.319
+ G(nt_t).385 E(o_mac)-.044 E(hine\(timer)-.187 E(,timer_EVENT_S)-.737 E
+ -.506(TA)-.176 G -.286(RT).506 G(,NULL\);)-.407 E -2.618 -.121(re t)108
+ 579 T -2.706(ur n).121 F(0;)2.75 E(})72 592 Q F5<2fb53e09>74.75 618 Q
+ <69cf>2.75 E<8f093e09>2.75 E<cffd>2.75 E F4(<)A F5<b58f09>A F6(:)A F3
+ (light on)72 631 Q(light of)72 644 Q(f).132 E(light on)72 657 Q
+ (light of)72 670 Q(f).132 E(light on)72 683 Q(light of)72 696 Q(f).132 E
+ (light on)72 709 Q(light of)72 722 Q(f).132 E(light on)72 735 Q(...)72
+ 748 Q(...)72 761 Q F2 2.5(-4-)297.67 778 S 0 Cg EP
+ %%Page: 4 5
+ %%BeginPageSetup
+ BP
+ %%EndPageSetup
+ /F0 10/NimbusRomNo9L-Regu@@2 SF<e509>72 24 Q/F1 10/NimbusRomNo9L-Regu@@3
+ SF<16>A F0<cf69>A<1dcf2d90b569b53e>2.5 E F1<19>2.5 E/F2 10
+ /NimbusRomNo9L-Regu@0 SF(.)A F1(")A F2 2.5(.8)C -.66(16)-3.14 G(35).66 E
+ F0<7665b590>109.09 E F1(B)A F0 2.5<a3e8>C<b5>-2.5 E F1(B)2.5 E F0
+ <b52de8eaa3226569cf>A<67cf67a3902dcf>2.5 E<fd09>2.5 E<2ee865093e>2.5 E
+ F1<16>A F0<9069cf90>A<6909>2.5 E<65b5>2.5 E F1(0)A F0<b5a3cf>A .5 LW 77
+ 36 72 36 DL 80 36 75 36 DL 85 36 80 36 DL 90 36 85 36 DL 95 36 90 36 DL
+ 100 36 95 36 DL 105 36 100 36 DL 110 36 105 36 DL 115 36 110 36 DL 120
+ 36 115 36 DL 125 36 120 36 DL 130 36 125 36 DL 135 36 130 36 DL 140 36
+ 135 36 DL 145 36 140 36 DL 150 36 145 36 DL 155 36 150 36 DL 160 36 155
+ 36 DL 165 36 160 36 DL 170 36 165 36 DL 175 36 170 36 DL 180 36 175 36
+ DL 185 36 180 36 DL 190 36 185 36 DL 195 36 190 36 DL 200 36 195 36 DL
+ 205 36 200 36 DL 210 36 205 36 DL 215 36 210 36 DL 220 36 215 36 DL 225
+ 36 220 36 DL 230 36 225 36 DL 235 36 230 36 DL 240 36 235 36 DL 245 36
+ 240 36 DL 250 36 245 36 DL 255 36 250 36 DL 260 36 255 36 DL 265 36 260
+ 36 DL 270 36 265 36 DL 275 36 270 36 DL 280 36 275 36 DL 285 36 280 36
+ DL 290 36 285 36 DL 295 36 290 36 DL 300 36 295 36 DL 305 36 300 36 DL
+ 310 36 305 36 DL 315 36 310 36 DL 320 36 315 36 DL 325 36 320 36 DL 330
+ 36 325 36 DL 335 36 330 36 DL 340 36 335 36 DL 345 36 340 36 DL 350 36
+ 345 36 DL 355 36 350 36 DL 360 36 355 36 DL 365 36 360 36 DL 370 36 365
+ 36 DL 375 36 370 36 DL 380 36 375 36 DL 385 36 380 36 DL 390 36 385 36
+ DL 395 36 390 36 DL 400 36 395 36 DL 405 36 400 36 DL 410 36 405 36 DL
+ 415 36 410 36 DL 420 36 415 36 DL 425 36 420 36 DL 430 36 425 36 DL 435
+ 36 430 36 DL 440 36 435 36 DL 445 36 440 36 DL 450 36 445 36 DL 455 36
+ 450 36 DL 460 36 455 36 DL 465 36 460 36 DL 470 36 465 36 DL 475 36 470
+ 36 DL 480 36 475 36 DL 485 36 480 36 DL 490 36 485 36 DL 495 36 490 36
+ DL 500 36 495 36 DL 505 36 500 36 DL 510 36 505 36 DL 515 36 510 36 DL
+ 520 36 515 36 DL 525 36 520 36 DL 530 36 525 36 DL 535 36 530 36 DL 540
+ 36 535 36 DL/F3 11/NimbusRomNo9L-Medi@0 SF(2.2.)74.75 100 Q/F4 11
+ /NimbusRomNo9L-Medi@@1 SF<19>5.5 E/F5 11/NimbusRomNo9L-Medi@@0 SF
+ <b5652d09>A F4<16>A F5<69b5>A<b5e8cf670969cf90>2.75 E<6909>2.75 E
+ <90fdcf>2.75 E F4(B)A F5<09>A/F6 11/NimbusRomNo9L-Regu@@2 SF(\035"g)72
+ 113 Q<fd09a3222d699069cfa390>3.673 E<8f2e2dcf>3.673 E 3.673<cf67>3.673 G
+ <cf2d3eb5>-3.673 E/F7 11/NimbusRomNo9L-Regu@@3 SF<16>A F6 3.673<cfb5>C
+ F7(0)-3.673 E F6<b5fd690929093e092d>A<8f2e2dcf>3.673 E 3.673<cf67>3.673
+ G<cf2d3eb5>-3.673 E F7<16>A F6<cf>A/F8 11/NimbusRomNo9L-Regu@0 SF(,)A F7
+ (B)3.673 E F6<b5cfa3b5>A<a3651b>3.672 E F7(0)A F6<3e09>A<8f09>3.672 E
+ <6790>3.672 E<cf69a39065e86590a3cf6509a3>3.672 E<8fcf6590>72 126 Q F7(B)
+ A F6<a369b5>A F8(.)A F3(2.2.)74.75 152 Q -.187(1.)-.231 G F5(ve\265)
+ 5.687 E F4<1b>A F5<65092d09>A F6<e865b5>116 165 Q F7<1b>A F6<65092d09>A
+ F8(:)2.75 E F6<2d096fcf6909>2.75 E F8([)2.75 E F6<e865b5>2.75 E F7<1b>A
+ F6<65092d09>A F8(])2.75 E F6(ve\265)72 178 Q F7<1b>A F6<65092d09a309>A
+ 2.75<90e8>2.75 G<b565908fcf>-2.75 E F7<12>A F6 2.75<09b5>C 2.75<a32d>
+ -2.75 G<096fcf69cf>-2.75 E F8(.)A F6<93671b>2.75 E F7(B)A F6 2.75<092d>C
+ <096fcf6909>-2.75 E<cf2d09>2.75 E(.i\317)2.75 E F7(B)A F6<09>A F7<16>A
+ F6<69b5>A<cf2d90>2.75 E F8(.)A F3(2.2.2.)74.75 204 Q F5<61096fcf6909>5.5
+ E F6<2d096fcf6909>116 217 Q F8(:)2.75 E/F9 11/NimbusRomNo9L-MediItal@0
+ SF(mac)2.75 E(hine)-.22 E F6<cf2d90>2.75 E F9([)2.75 E F6
+ <3e22a365906f6909>2.75 E<290967a3>2.75 E<6909>2.75 E<2d096fcf6909a309>
+ 2.75 E F9 2.75(];)5.5 G F6<3e22a365906f6909>116 230 Q<290967a3>2.75 E
+ <6909>2.75 E<2d096fcf6909a309>2.75 E F8(:)2.75 E F9 -2.508 -.066(st a)
+ 10.262 H -.022(te).066 G 2.75(s[).022 G F6<e8b565908fcf>A F7<12>A F6
+ 2.75<09b5>C 2.75<a367>-2.75 G<2267a3b51b69cf1b>-2.75 E F9 2.75(];)5.5 G
+ F8([)2.75 E F6<3e22a365906f6909>2.75 E<290967a3>2.75 E<6909>2.75 E
+ <2d096fcf6909a309>2.75 E F8(])2.75 E F9 -.033(ev)260 243 S(ents [)-.275
+ E F6<e8b565908fcf>2.75 E F7<12>A F6 2.75<09b5>C 2.75<a367>-2.75 G(")
+ -2.75 E F7(0)A F6<cfa3cf1b>A F9 2.75(];)5.5 G F8([)2.75 E F6
+ <3e22a365906f6909>2.75 E<290967a3>2.75 E<6909>2.75 E<2d096fcf6909a309>
+ 2.75 E F8(])2.75 E F9(tr)260 256 Q(ansitions [)-.143 E F6<e8b565908fcf>
+ 2.75 E F7<12>A F6 2.75<09b5>C 2.75<a3e8>-2.75 G<6590>-2.75 E F7(<)A F6
+ <b58fcf>A F9 2.75(];)5.5 G F8([)2.75 E F6<3e22a365906f6909>2.75 E
+ <290967a3>2.75 E<6909>2.75 E<2d096fcf6909a309>2.75 E F8(])2.75 E F9
+ -2.508 -.066(st a)260 269 T .132(rt).066 G(ing on)-.132 E F6<cf2d90>5.5
+ E<6909>2.75 E<672267a3b51b69cf90>2.75 E F9(;)2.75 E F8([)2.75 E F6
+ <3e22a365906f6909>2.75 E<290967a3>2.75 E<6909>2.75 E<2d096fcf6909a309>
+ 2.75 E F8(])2.75 E F6 2.997<9390>72 295 S<8f6909>-2.997 E<2d096fcf6909>
+ 2.997 E<2db57090>2.998 E<8f09>2.998 E<6790>2.998 E(ge\220Fi\220)2.998 E
+ <67092db5>2.998 E(>\220\217i"p)2.998 E<8f90>2.998 E F7<4216>A F6<096509>
+ A F7<12>A F6<cf1b>A<6909>2.998 E<672267a3b51b69cf1ba309>2.998 E F8(,)A
+ F6(g")2.998 E F7(0)A F6<cfa3cf1ba309>A F8(,)A F6<e86590>2.998 E F7(<)A
+ F6<b58fcfa390>A<cf>2.998 E<e8b567b5293e096990>72 308 Q<6909>5.293 E
+ <67a30965a3cf650946b5>5.293 E<672267a3b51b69cf90>5.293 E F8(.)A F6<4d90>
+ 8.043 E F7<4216>A F6<096509>A F7<12>A F6<cf1ba309>A<6909>5.293 E
+ <67a30965a3cf650946b5>5.292 E<672267a3b51b69cf90>5.292 E<a3651b>5.292 E
+ F7(0)A F6<3e09>A<8f09>5.292 E 5.292<9067>5.292 G F7<16>-5.292 E F6<908f>
+ A<8f90>72 321 Q F7<4216>A F6<096509>A F7<12>A F6<cf1ba309>A<6909>5.089 E
+ <672267a3b51b69cf1ba309>5.089 E F8(.)A F6<2fb5>5.089 E<a3651b>5.089 E F7
+ (0)A F6<3e09>A<8f09>5.089 E 5.09<9067>5.089 G<65908f>-5.09 E<8f90>5.09 E
+ F7<4216>A F6<0965cf650969cfa390>A<672267a3b51b69cf1b>5.09 E F8(.)A F6
+ <4d90>7.84 E F7<4216>A F6<096509>A F7<12>A F6<cf1ba309>A<6909>5.09 E
+ <e86590>72 334 Q F7(<)A F6<b58fcfa390>A<a3651b>4.908 E F7(0)A F6<3e09>A
+ <8f09>4.908 E 4.908<9067>4.908 G F7<16>-4.908 E F6<908f>A<8f90>4.907 E
+ F7<4216>A F6<096509>A F7<12>A F6<cfcfa390>A<6909>4.907 E
+ <672267a3b51b69cf1ba309>4.907 E 4.907<cf69>4.907 G 4.907<0967>-4.907 G
+ (")-4.907 E F7(0)A F6<cfa3cf1ba309>A F8(.)A F6<1d65908f>7.657 E<8f90>
+ 4.907 E F7<4216>A F6<0965cf650969cfa390>A<672267a3b51b69cf1b>72 347 Q
+ 5.616<cf67>5.616 G(")-5.616 E F7(0)A F6<cfa3cf1b>A<6990>5.616 E<a3651b>
+ 5.616 E F7(0)A F6<3e09>A<8f09>5.616 E<cf2d09>5.616 E<e8b53ea309651b46cf>
+ 5.616 E<6790>5.616 E F8(.)A F6<1d65908f>8.366 E<e86590>5.616 E F7(<)A F6
+ <b58fcfa390>A<6990>5.616 E<a3651b>5.616 E F7(0)A F6<3e09>A<8f09>5.617 E
+ <cf2d09>5.617 E<8f3e90>5.617 E<6509fd>72 360 Q F7<16>A F6<cf2969cf>A F8
+ (,)A F7(B)2.75 E F6<b5cfa3b5>A<cffd>2.75 E F7<16>A F6<cffd09a3>A<b5a3>
+ 2.75 E<908f69b5>2.75 E<672267a3b51b69cf90>2.75 E 2.75<cfcf>2.75 G
+ <2d09a3>-2.75 E<fd09>2.75 E<90a3cf>2.75 E F7(B)A F6<90a3>A<908f69b5>2.75
+ E(g")2.75 E F7(0)A F6<cfa3cf90>A F8(.)A F3(2.2.3.)74.75 386 Q F5(ve\220)
+ 5.5 E F4(<)A F5<b58f>A F6<e86590>116 399 Q F7(<)A F6<b58f>A F8(:)2.75 E
+ F9(fr)5.5 E(om)-.165 E F6<cf2d90>5.5 E F8(-)A F6<6909>A F8(-)A F6
+ <672267a3b51b69cf90>A F9 .011(to)190.75 412 S F6<cf2d90>5.489 E F8(-)A
+ F6<6909>A F8(-)A F6<672267a3b51b69cf90>A F9(on)5.5 E F6<cf2d90>5.5 E F8
+ (-)A F6<6909>A F8(-)A F6(g")A F7(0)A F6<cfa3cf90>A F8([)2.75 E F6
+ <b5e8096f>2.75 E F7(B)A F6<09>A F8(-)A F6<6909>A F8(-)A F6<e86590>A F7
+ (<)A F6<b58f09>A F8(])2.75 E F9(;)2.75 E F6<b5e8096f>116 425 Q F7(B)A F6
+ <09>A F8(-)A F6<6909>A F8(-)A F6<e86590>A F7(<)A F6<b58f09>A F8 2.75(:[)
+ 2.75 G F9 .033(gr)2.75 G(ant)-.176 E(ed)-.022 E F6<cffd6509fd>5.5 E F8
+ 2.75(][)2.75 G F6(.g)A F7<16>A F6<b53e69b5>A F8(-)A F6<cffde822>A F7<16>
+ A F6<699069cf90>A F8(])2.75 E F6(.g)116 438 Q F7<16>A F6<b53e69b5>A F8
+ (-)A F6<cffde822>A F7<16>A F6<699069cf90>A F8(:)2.75 E F9(if)5.5 E F6
+ <cffd6509fd>5.5 E(.g)2.75 E F7<16>A F6<b53e69b5>A F8(-)A F6<cffde822>A
+ F7<16>A F6<699069cf90>A F8([)5.5 E F9(else)5.5 E F6(.g)5.5 E F7<16>A F6
+ <b53e69b5>A F8(-)A F6<cffde822>A F7<16>A F6<699069cf90>A F8(])2.75 E F6
+ (.g)116 451 Q F7<16>A F6<b53e69b5>A F8(-)A F6<cffde822>A F7<16>A F6
+ <699069cf90>A F8(:)2.75 E F9 -2.574 -.165(ex e)5.5 H(cut).165 E(e)-.022
+ E F6<b5e8096f>5.5 E F7(B)A F6 2.75<0969>C 2.75<09cf>-2.75 G<fde822>-2.75
+ E F7<16>A F6<699069cf90a3b5>A<b5e8096f>116 464 Q F7(B)A F6<09>A F8(-)A
+ F6<6909>A F8(-)A F6<cffde822>A F7<16>A F6<699069cf90a3b5>A F8(:)2.75 E
+ F6<cf2d90>2.75 E F8(-)A F6<6909>A F8(-)A F6(>"ioi\011)A F8(-)A F7<0e>A
+ F6(.i)A F7<4212>A F6<cf1b>A F9(")2.75 E F6<67cf2d3eb5>A F7<16>A F6<9069>
+ A F8(-)A F6<69cffd>A F9(")A F8([)2.75 E F9(|)5.5 E F6<b5e8096f>5.5 E F7
+ (B)A F6<09>A F8(-)A F6<6909>A F8(-)A F6<cffde822>A F7<16>A F6
+ <699069cf90a3b5>A F8(])2.75 E F6<aa>72 490 Q F7(B)A F6 2.814<b5cf>C
+ <fd6509fd22a3>-2.814 E(g)2.814 E F7<16>A F6<908f>A F9 .033(gr)2.814 G
+ (ant)-.176 E(ed)-.022 E F6 2.814<90cf>2.814 G<67a3cf6909>-2.814 E<a3b5>
+ 2.814 E<e86590>2.813 E F7(<)A F6<b58f22a3>A<6790>2.813 E<659009>2.813 E
+ F7<16>A F6<cffdcf6509>A<cf>2.813 E F7(B)2.813 E F6<b52d09698fcfa390>A
+ 2.813(>.)2.813 G(g)-2.813 E F7<16>A F6<b53e69b5a3b5>A<cffde822>2.813 E
+ F7<16>A F6<699069cf90>A<6790>2.813 E<cffde822>72 503 Q F7<16>A F6
+ <691b3e09a3>A<67e8651b2db5>4.7 E<67902d0969a3cf>4.7 E F7(B)A F6<09a309>A
+ F8(,)A F6<cf69092990>4.7 E<e86590>4.701 E F7(<)A F6<b58f22a3>A<6990>
+ 4.701 E<6790>4.701 E<cffde822>4.701 E F7<16>A F6<691b3e09>A 4.701<cfb5>
+ 4.701 G<e8096f>-4.701 E F7(B)A F6<09a309>A<6909>4.701 E<e86590>4.701 E
+ F7(<)A F6<b58f22a3>A<6990>4.701 E<6790>4.701 E<cffde822>72 516 Q F7<16>A
+ F6<691b3e09>A F8(.)A F6<aa>5.826 E F7(B)A F6 3.076<b5cf>C<fd6509fd22a3>
+ -3.076 E(g)3.076 E F7<16>A F6<908f>A F9(if)3.076 E F6 3.076<90cf>3.076 G
+ <67a3cf6909>-3.076 E<a3b5>3.076 E(.g)3.076 E F7<16>A F6<b53e69b5a3b5>A
+ <cffde822>3.076 E F7<16>A F6<699069cf90>A(g)3.075 E F7<16>A F6<908f>A
+ <cffd6509fd22a3>3.075 E<6790>3.075 E<cffde822>3.075 E F7<16>A F6
+ <691b3e09>A F8(,)A F6<cf69092990>3.075 E F8(,)A F6<09>72 529 Q F7(B)A F6
+ 3.601<b5cf>C<2d09>-3.601 E F9(else)3.601 E F6<6722b5a33e90a367a33e0946>
+ 3.601 E<6909>3.601 E F9(if)3.601 E F8(-)A F6 3.601<09a3>C 3.601<b52e>
+ -3.601 G(g)-3.601 E F7<16>A F6<b53e69b5a3b5>A<2efde822>3.601 E F7<16>A
+ F6<699069cf90>A(g)3.601 E F7<16>A F6<908f>A F9(else)3.601 E F6<6790>
+ 3.602 E<cffde822>3.602 E F7<16>A F6<691b3e09>A F8(.)A F6<aa>6.352 E F7
+ (B)A F6 3.602<b52e>C(g)-3.602 E F7<16>A F6<b53e69b5a3b5>A<cffde822>72
+ 542 Q F7<16>A F6<699069cf90>A 3.011<90b5>3.011 G 3.011<a3a3>-3.011 G
+ <cfe809>-3.011 E<fd09e8b5293e0946>3.011 E(g)3.011 E F9 -2.574 -.165
+ (ex e)3.011 H(cut).165 E(e)-.022 E F6<a3b5>3.011 E<3e22696f69cfa390>
+ 3.011 E F7<0e>3.011 E F6(.i)A F7<4212>A F6<cfcf>A<6790>3.011 E<cffde822>
+ 3.011 E F7<16>A F6<691b3e09a3>A 3.011(>e)3.011 G<908f>-3.011 E<6909>
+ 3.011 E<67659046096990>3.01 E F7(B)3.01 E F6<09a3b5>A<cffd>72 555 Q F7
+ (<)A F6<b58f22a3>A<6909>2.75 E(>g\033)2.75 E F7(B)A F6 2.75<0967>C 2.75
+ <90e8>-2.75 G<b58f093e09>-2.75 E<6909>2.75 E(g)2.75 E F7<16>A F6
+ <908f3e094609a309>A F8(.)A F6<5bfd>2.75 E F7(<)A F6<b58f22a3>A<6909>2.75
+ E<e8b567>2.75 E F7<16>A F6<908f6909a309>A<cffde822>2.75 E F7<16>A F6
+ <69906909>A F7<0e>2.75 E F6(.i)A F7<4212>A F6<cf1b>A<6790>2.75 E<cffd>
+ 2.75 E F7(<)A F6(>"e)A F7<16>A F6<1b>A F8(.)A F3(2.2.4.)74.75 581 Q F5
+ <5bfd6509fd>5.5 E F6<cffd6509fd>116 594 Q F8(:)2.75 E F6<cffd6509fd>2.75
+ E F8(-)A F6<cf>A F7<16>A F6<cf>A<cffd6509fd>116 607 Q F8(-)A F6<cf>A F7
+ <16>A F6<cf>A F8(:)2.75 E F6<cffd6509fd>2.75 E F8(-)A F6<cf>A F8([)2.75
+ E F9(||)2.75 E F6<cffd6509fd>5.5 E F8(-)A F6<cf>A F7<16>A F6<cf>A F8(])
+ 2.75 E F6<cffd6509fd>116 620 Q F8(-)A F6<cf>A F8(:)2.75 E F6<cffd6509fd>
+ 2.75 E F8(-)A F6<6990>A F8([)2.75 E F9(&&)2.75 E F6<cffd6509fd>5.5 E F8
+ (-)A F6<cf>A F8(])2.75 E F6<cffd6509fd>116 633 Q F8(-)A F6<6990>A F8
+ 2.75(:[)2.75 G F9(!)-2.75 E F8(])A F7(0)A F6<09fdb53e>A F8(-)A F6
+ <cffd6509fd>A F7(0)116 646 Q F6<09fdb53e>A F8(-)A F6<cffd6509fd>A F8(:)
+ 2.75 E F6<cf2d90>2.75 E F8(-)A F6<6909>A F8(-)A F6<2d096fcf6909>A F9(.)A
+ F6<cf2d90>A F8(-)A F6<6909>A F8(-)A F6<672267a3b51b69cf90>A F8(|)2.75 E
+ F9(\()2.75 E F6<cffd6509fd>A F9(\))A F6<5bfd6509fd>72 672 Q<2db57090>
+ 2.767 E<8f09>2.767 E<6790>2.767 E<b5>2.767 E F7<12>A F6<9069cf>A<8fb5>
+ 2.767 E<cf67a3cf6909>2.768 E<cf>2.768 E F7<16>A F6<cf>A F7<16>2.768 E F6
+ ("p\011)A F8(.)A F6<87b5>5.518 E F7<1b>A F6<cf299067>A F7(B)A F6<cfa390>
+ A<b5e8906509a3b565cf>2.768 E<cf2d09a3>2.768 E<b5>2.768 E F7(0)A F6
+ <cf2909ca6909a309>A<67902d0969a3cf>2.768 E F7(B)A F6<09>A F8(.)A F6<93>
+ 5.518 E F7(0)72 685 Q F6<09fdb53ecf1b>A<cffd6509fd>4.779 E 4.779<90e8>
+ 4.779 G<b5fd3eb5>-4.779 E F7<16>A F6<9069b5>A<8f09>4.779 E<6790>4.779 E
+ <e8b567b5293e09a3>4.779 E<672267a3b51b69cf1b>4.779 E<6909>4.778 E
+ (\217e.)4.778 E F7<1b>A F6 4.778<cf2d>C<096fcf69cf>-4.778 E F8(,)A F6
+ <69b5>4.778 E<6990>4.778 E 4.778<90e8>4.778 G<b5fd3eb5>-4.778 E F7<16>A
+ F6<9069b5>A<8f09>4.778 E<6790>4.778 E<e8b567b5293e09a3>72 698 Q
+ <672267a3b51b69cf1b>2.764 E<6909>2.764 E<2d096fcf6909a309>2.764 E F8(,)A
+ F6(>)2.764 E F7(B)2.764 E F6<b51ba3b5>A<6790>2.764 E<69092dcf6509>2.764
+ E<cffd6509fd22a3>2.765 E F8(.)A F6<2f90fdcf>2.765 E
+ <e8b567b5293e0969cf1b>2.765 E<6790>2.765 E<b5>2.765 E F7<12>A F6
+ <90691b3e09a3>A<8fb5>2.765 E<cf67a3cf6909>2.765 E<09>72 711 Q F7(B)A F6
+ 4.694<b5e8>C<b567b529906909a309>-4.694 E<2d096fcf6909>4.694 E 4.693
+ <90fd>4.693 G<0990>-4.693 E F7<16>A F6 4.693<09e8>C<b567b5299069b5a3b5>
+ -4.693 E<672267a3b51b69cf90>4.693 E F8(.)A F6<61b5>7.443 E F7<1b>A F6
+ <09a3>A<8f09>4.693 E<6790>4.693 E<e8b567b5293e09a3>4.693 E<cf2d906909>
+ 4.693 E<6909>4.693 E<2d096fcf69cf>4.693 E F8(,)A F7(B)72 724 Q F6
+ <b5cfa3b5>A<6709>3.149 E<8f90>3.149 E F7<4216>A F6<0965cf650969cf>A(g)
+ 3.149 E F7<16>A F6<908f>A<6790>3.149 E F7<1b>A F6<096f6909a309>A F8(,)A
+ F6<69b5>3.149 E<a390>3.149 E<a3651b>3.149 E F7(0)A F6<3e09>A<8f09>3.149
+ E<6722469067a33e2e3e09a3>3.149 E F8(.)A F6<2fb53e09>3.149 E<3e0970cf>
+ 3.149 E 3.15<cffd>3.15 G 3.15<0967>-3.15 G<2267a3b51b69cf1ba309>-3.15 E
+ F8(,)A F6<a390>3.15 E<a3651b>72 737 Q F7(0)A F6<3e09>A(g"F\265)2.75 E
+ 2.75<cf8f>2.75 G 2.75<09e8>-2.75 G<65cf69098f>-2.75 E F7<16>A F6
+ <907009a3>A<6909>2.75 E<e8b567b529906909a309>2.75 E<2d096fcf6909>2.75 E
+ F8(.)A F2 2.5(-5-)297.67 778 S 0 Cg EP
+ %%Page: 5 6
+ %%BeginPageSetup
+ BP
+ %%EndPageSetup
+ /F0 10/NimbusRomNo9L-Regu@@2 SF<e509>72 24 Q/F1 10/NimbusRomNo9L-Regu@@3
+ SF<16>A F0<cf69>A<1dcf2d90b569b53e>2.5 E F1<19>2.5 E/F2 10
+ /NimbusRomNo9L-Regu@0 SF(.)A F1(")A F2 2.5(.8)C -.66(16)-3.14 G(35).66 E
+ F0<7665b590>109.09 E F1(B)A F0 2.5<a3e8>C<b5>-2.5 E F1(B)2.5 E F0
+ <b52de8eaa3226569cf>A<67cf67a3902dcf>2.5 E<fd09>2.5 E<2ee865093e>2.5 E
+ F1<16>A F0<9069cf90>A<6909>2.5 E<65b5>2.5 E F1(0)A F0<b5a3cf>A .5 LW 77
+ 36 72 36 DL 80 36 75 36 DL 85 36 80 36 DL 90 36 85 36 DL 95 36 90 36 DL
+ 100 36 95 36 DL 105 36 100 36 DL 110 36 105 36 DL 115 36 110 36 DL 120
+ 36 115 36 DL 125 36 120 36 DL 130 36 125 36 DL 135 36 130 36 DL 140 36
+ 135 36 DL 145 36 140 36 DL 150 36 145 36 DL 155 36 150 36 DL 160 36 155
+ 36 DL 165 36 160 36 DL 170 36 165 36 DL 175 36 170 36 DL 180 36 175 36
+ DL 185 36 180 36 DL 190 36 185 36 DL 195 36 190 36 DL 200 36 195 36 DL
+ 205 36 200 36 DL 210 36 205 36 DL 215 36 210 36 DL 220 36 215 36 DL 225
+ 36 220 36 DL 230 36 225 36 DL 235 36 230 36 DL 240 36 235 36 DL 245 36
+ 240 36 DL 250 36 245 36 DL 255 36 250 36 DL 260 36 255 36 DL 265 36 260
+ 36 DL 270 36 265 36 DL 275 36 270 36 DL 280 36 275 36 DL 285 36 280 36
+ DL 290 36 285 36 DL 295 36 290 36 DL 300 36 295 36 DL 305 36 300 36 DL
+ 310 36 305 36 DL 315 36 310 36 DL 320 36 315 36 DL 325 36 320 36 DL 330
+ 36 325 36 DL 335 36 330 36 DL 340 36 335 36 DL 345 36 340 36 DL 350 36
+ 345 36 DL 355 36 350 36 DL 360 36 355 36 DL 365 36 360 36 DL 370 36 365
+ 36 DL 375 36 370 36 DL 380 36 375 36 DL 385 36 380 36 DL 390 36 385 36
+ DL 395 36 390 36 DL 400 36 395 36 DL 405 36 400 36 DL 410 36 405 36 DL
+ 415 36 410 36 DL 420 36 415 36 DL 425 36 420 36 DL 430 36 425 36 DL 435
+ 36 430 36 DL 440 36 435 36 DL 445 36 440 36 DL 450 36 445 36 DL 455 36
+ 450 36 DL 460 36 455 36 DL 465 36 460 36 DL 470 36 465 36 DL 475 36 470
+ 36 DL 480 36 475 36 DL 485 36 480 36 DL 490 36 485 36 DL 495 36 490 36
+ DL 500 36 495 36 DL 505 36 500 36 DL 510 36 505 36 DL 515 36 510 36 DL
+ 520 36 515 36 DL 525 36 520 36 DL 530 36 525 36 DL 535 36 530 36 DL 540
+ 36 535 36 DL/F3 11/NimbusRomNo9L-Medi@0 SF(3.)74.75 61 Q/F4 11
+ /NimbusRomNo9L-Medi@@0 SF<4d90a309ca>5.5 E/F5 11/NimbusRomNo9L-Medi@@1
+ SF<16>A F4 2.75<cf69>C 2.75<09cf>-2.75 G<2de8>-2.75 E F5<16>A F4
+ <902d9069a309>A F5<12>A F4<cf1ba309>A/F6 11/NimbusRomNo9L-Regu@@2 SF
+ <e409>72 74 Q<8f09>5.161 E<6790>5.162 E<659009>5.162 E/F7 11
+ /NimbusRomNo9L-Regu@@3 SF<16>A F6<cffdcf6509>A<b5>5.162 E F7(0)A F6
+ <2d906909>A<6909>5.162 E<cf69>5.162 E F7<0e>A F6<b5652d09>A F7<12>A F6
+ <cf1b>A<2d90708f2e>5.162 E F7<1b>5.162 E F6<90699065cf650969cf1b>A F7(B)
+ 5.162 E F6<b58f>A 5.162<cf69>5.162 G<09e8cf670969cf1b>-5.162 E/F8 11
+ /NimbusRomNo9L-Regu@0 SF(,)A F6 5.162<908f>5.162 G<90>-5.162 E F7<0e>A
+ F6<cf69cf65096909>A(g\243e.)72 87 Q F7(B)A F6<a32e6509>A F3(mac)6.056 E
+ -2.618(hine_buf f)-.187 F(er_t)-.319 E F8(,)A F6(>)6.056 E F7(B)6.056 E
+ F6<b51ba3b5>A<6790>6.056 E<fd09e8cf673e09a3>6.056 E<8f096969cfa390>6.056
+ E 6.056<cfa3>6.056 G<90>-6.056 E F7(<)A F6<69cf1ba3>A<6509fd2d9065>6.056
+ E F8(.)A F6<e590699065cf6509a3>8.806 E<6790>6.056 E<cf>6.055 E<691b>72
+ 100 Q F7(B)A F6<b5>A F7<1642>A F6 6.552<b5e8>C<b52db54669cf>-6.552 E F7
+ <0e>6.552 E F6(.i)A F7<4212>A F6<cfcf>A F8(,)A F7(B)6.552 E F6<b5cfa3b5>
+ A(.)6.553 E F7<16>A F6<9067691b3e09a3>A<6509>6.553 E F7(0)A F6
+ <b5a309a309>A 6.553<67a3>6.553 G<09>-6.553 E F7(B)A F6<cf3e09>A(g\243e.)
+ 6.553 E F7(B)A F6<a32e65cf>A F8(.)A F6<e409>9.303 E<8f09>6.553 E<6790>
+ 6.553 E<fd09e809fdcf>6.553 E<673eb5ca67a33eb5a3b5>72 113 Q F8(-)4.336 E
+ F7(B)4.336 E F6<b52d09698fcfa390>A<6909>4.335 E<e86590>4.335 E F7(<)A F6
+ <b58f22a3>A<8f09>4.335 E<6790>4.335 E<cffde822>4.335 E F7<16>A F6
+ <691ba3>A<e865908fcf>4.335 E<672267a3b51b69cf90a3b5>4.335 E<8f09>4.335 E
+ <6790>4.335 E<672d9069cf>4.335 E F8(,)A F6<6790>4.335 E<cffde8b5>4.335 E
+ F7<16>A F6<fd3e09>A<b5e8096f>72 126 Q F7(B)A F6<09>A F8(,)A F6(>)2.75 E
+ F7(B)2.75 E F6<b51ba3b5>A<6790>2.75 E<fd09e8cf673e09a3>2.75 E F3(4.)
+ 74.75 152 Q F4<bfe8cf670969cf90>5.5 E<6909>2.75 E F5(B)2.75 E F4
+ <b52d09698f69cfa390>A<0965>2.75 E F5<1b>A F4<2e2d9069a3cf>A F6([-\350)72
+ 165 Q F7<16>A F6<902d9069a309>A F7<12>A F6<cf1ba309>A<6909>2.75 E
+ <a3b5fdcf>2.75 E<90fdcf>2.75 E F7(B)A F6<e865908f098f906909>2.75 E<b5a3>
+ 2.75 E<093ea3b56509>2.75 E<e865cf902d09>2.75 E(g)2.75 E F7<16>A F6
+ <908f69cfa390>A<0965>2.75 E F7<1b>A F6<2e2d9069a3cf>A F8(.)A F3 -2.684
+ (--pr int-t)72 191 R(ok)-.044 E(ens)-.363 E F6<5bfd3e90708f09>74.75 204
+ Q<6509fde8b5fd6909a3cfa390>2.75 E F7<16>2.75 E F6<90>A F7(B)A F6
+ <67902dcf>A F3 -2.684(--pr int-as)72 217 R(t)-.077 E F6<5bfd3e90708f09>
+ 74.75 230 Q<6509fde8b5fd6909a3cfa390>2.75 E(g\243e.)2.75 E F7(B)A F6
+ <a32e65cf>A 2.75<3ea3>2.75 G<90>-2.75 E F7(B)A F6<67a309>A F8 2.75(.\()C
+ F6<aa>A F7(0)A F6<67a36509>A F7(B)A F6<a369b5a3b5>A<67cf69a309>2.75 E F7
+ (B)A F6<a3cf2969b5>A<8f22653eb5>2.75 E F8(\))2.75 E F3(-o)72 243 Q F4
+ <cf2d90>2.75 E F3(-)A F4<6909>A F3(-)A F5<0e>A F4<09ca>A F5<16>A F3 2.75
+ (|-)2.75 G(-output)-2.75 E F4<cf2d90>2.75 E F3(-)A F4<6909>A F3(-)A F5
+ <0e>A F4<09ca>A F5<16>A F6<76b567b5293e09>74.75 256 Q<e86590>2.75 E F7
+ <0e>A F6<cf>A F7(B)A F6(g"\243)A<6909>2.75 E F7<1b>2.75 E F6
+ <90699065cf650969cfa390>A F7<0e>2.75 E F6<09ca>A F7<16>A F6<b53e90>A F8
+ (.)A F7(")2.75 E F6<09e865cf2d9065>A F3(xxxx.h xxxx.c xxxx_e)2.75 E(xt)
+ -.209 E -2.706(er nal.h)-.011 F F8(.)A F3(--e)72 269 Q(xt)-.209 E -2.706
+ (er n-mut)-.011 F -.209(ex)-.011 G F6<4db5>77.113 282 Q F7(0)A F6
+ <093e1b>A<2d2ea390>5.113 E F7(B)A F6 5.113<67e8>C<65908fcf>-5.113 E
+ 5.114<cf67>5.114 G F7<16>-5.114 E F6<908f>A<e8b58f093e096990a3b5>5.114 E
+ <6909>5.114 E(g")5.114 E F7(0)A F6<cfa3cf90>A F8(.)A F6<2fb5fdcf>5.114 E
+ <2d2ea390>5.114 E F7(B)A F6 5.114<67a3>C<651b>-5.114 E F7(0)A F6<3e09>A
+ <8f09>5.114 E<6790>5.114 E<cf2de8>5.114 E F7<16>A F6<902d9069a3cf6509>A
+ (>"ioi\265)72 295 Q F8(.)A F3(--e)72 308 Q(xt)-.209 E -2.706(er n-q)
+ -.011 F(ueue)-.165 E F6<4d093e09>76.136 321 Q<3e22fd2db57069b567a3>4.136
+ E<6909>4.136 E<e865b5>4.136 E F7<1b>A F6<65092dcf67a309>A<8f09>4.136 E
+ <8f098f90>4.136 E<67b5>4.135 E F7(0)A F6<67a33e906909>A<cf2de8>4.135 E
+ F7<16>A F6<902d9069a309>A F7<12>A F6<cf1b>A<6909>4.135 E<b5e8096f>4.135
+ E F7(B)A F6<09a309>A<cffde8b5>4.135 E F7<16>A F6<fd3e096909>A<e865cf>
+ 4.135 E<fd098f226570096990a3b5>72 334 Q<6909>2.75 E(g")2.75 E F7(0)A F6
+ <cfa3cf1b>A F8(.)A F3(--e)72 347 Q(xt)-.209 E -2.706(er n-buf)-.011 F
+ -.319(fe).132 G(r).319 E F6<4d093e09>75.7 360 Q<3e22fd2db57069b567a3>3.7
+ E<6909>3.7 E<e865b5>3.7 E F7<1b>A F6<65092dcf67a309>A<8f09>3.7 E
+ <8f098f90>3.7 E<67b5>3.7 E F7(0)A F6<67a33e906909>A<cf2de8>3.7 E F7<16>A
+ F6<902d9069a309>A F7<12>A F6<cf1b>A<6909>3.7 E(g\243e.)3.7 E F7(B)A F6
+ <a32e6509a309>A<cffde8b5>3.7 E F7<16>A F6<fd3e096909>A<fd09>3.701 E
+ <e8659069b567>72 373 Q<6909>2.75 E<8f096969cf>2.75 E F8(.)A F3(5.)74.75
+ 412 Q F4<e409>5.5 E F5(0)A F4<90>A F5<16>A F4<9070>A F5(B)A F4<cf>A F6
+ <e409>72 425 Q<cf2de8>5.899 E F7<16>A F6<902d9069a309>A F7<12>A F6
+ <cf1ba309>A 5.899<90cf>5.899 G<fde8b5>-5.899 E F7<16>A F6<fd3e096909>A
+ <67092db5>5.899 E<67a309698f0965a36909a309>5.899 E F3(C)5.898 E F7(0)
+ 5.898 E F6<cf>A F7<3016>A F6<cfb5a390>A F7(B)A F6<09>A F8(,)A F7(B)5.898
+ E F6<b590a3b5>A F7(0)5.898 E F6 5.898<cfe8>C<b52db5>-5.898 E F7<1b>A F6
+ <6909>A F7<16>A F6 5.898<b5a3>C<b5fdcf>-5.898 E<a365096967e8cf>72 438 Q
+ F7<16>A F6<09a3b565>A<8f09>2.75 E F7(0)2.75 E F6<228f90>A F7(B)2.75 E F6
+ <b52de8cf>A F7<16>A F6<cf650969>A<8fb5>2.75 E(-i\265)2.75 E F7<1b>A F6
+ 2.75<b5b5>C<e8906509>-2.75 E F7<12>A F6<cfb56969cf>A<67cf67a3902dcf>2.75
+ E F8(.)A F3(6.)74.75 464 Q F4<7c228f9046cf>5.5 E<690967b5>2.75 E F5(B)A
+ F4<cf>A F8(1\))72 490 Q F6<4d09>3.199 E<6790>3.199 E<8fb5>3.199 E F7(0)A
+ F6<093ecf>A F7<4216>3.199 E F6<ea29b53e09>A<8f2e2d09>3.199 E F3(signal)
+ 3.199 E F7(B)3.199 E F6<b51ba3b5>A<8f09>3.199 E<e865094609>3.199 E<67cf>
+ 3.199 E F7<1b>A F6<6909>A F7<16>A F6<8fb5>3.199 E<b5e865908f90>3.2 E F7
+ <16>A F6<906909>A<2d096fcf6909>3.2 E F8(,)A F6<fd09>3.2 E<8f09>3.2 E
+ <6990>3.2 E<a3651b>3.2 E F7(0)A F6<3e09>A<8f09>72 503 Q F7<1b>2.75 E F6
+ 2.75<b5cf>C<2de8>-2.75 E F7<16>A F6<902d9069a3cf6509>A<e865b5>2.75 E F7
+ <1b>A F6<65092dcf67a322a3>A F8(.)A(2\))72 516 Q F6<4d09>5.368 E<6790>
+ 5.368 E<8fb5>5.368 E F7(0)A F6<093ecf>A<67902d0969cfa3>5.368 E F7(B)A F6
+ 5.368<09fd>C 5.368<0967>-5.368 G<2267a3b51b69cf1b>-5.368 E 5.368<cf67>
+ 5.368 G(")-5.368 E F7(0)A F6<cfa3cf1b>A F8(,)A F7(B)5.368 E F6<09a3b5>A
+ <6909e865cf2d9065>5.367 E F8 5.367(-')5.367 G F6<e865cf>-5.367 E
+ <e865cf67a3cf>5.367 E F7<1b>A F6<096990>A<8fb5>5.367 E<a3b53e09>5.367 E
+ <672267a3b51b69cf90>72 529 Q<cffde822>2.75 E F7<16>A F6<69cf>A F8(... ')
+ 2.75 E(.)-.858 E(3\))72 542 Q F6<4d09>3.476 E<6790>3.476 E
+ <6909e865093ecf>3.476 E<a309>3.476 E F7(B)A F6<09>A F8(,)A F6<2990>3.476
+ E<b5a38f90>3.476 E F7<16>A F6<69cfa390>A<2d096fcf69cf>3.476 E<8f09>3.476
+ E<2db5>3.476 E F7<1b>A F6<09a3>A<8f09>3.476 E F7(0)3.477 E F6<228f09a3>A
+ <6909>3.477 E<6509fd>3.477 E F7<16>A F6<cf2969cf>A F7<0e>3.477 E F6
+ <cffdcf299067>A F7(B)A F6 3.477<cf2e>C<67a365b5ca67a33e09>-3.477 E F8(,)
+ A F6<a3>72 555 Q F8(.)A F6<90>A F8(.)A F6<8f09>2.75 E F7(0)2.75 E F6
+ <228f90>A<6909e865093e9069>2.75 E<6509fde865908f90>2.75 E F7<16>A F6
+ <9069>A F8(.)A(4\))72 568 Q F6<4d09>2.75 E<6790>2.75 E<6909e865093ecf>
+ 2.75 E<6909>2.75 E<e822>2.75 E F7<16>A F6<9069>A<90fdcf>2.75 E F7(B)A F6
+ <fd09>2.75 E<e865b5>2.75 E F7<1b>A F6<65092dcf65096990>A F8(.)A F2 2.5
+ (-6-)297.67 778 S 0 Cg EP
+ %%Trailer
+ end
+ %%EOF
F diff --git a/doc/makefile b/doc/makefile new file mode 100644 --- /dev/null +++ b/doc/makefile
+ install:
+ cat project.mg | preconv | groff -mg -Tps > a.ps
+ ps2pdf a.ps a.pdf
F diff --git a/doc/project.mg b/doc/project.mg new file mode 100644 --- /dev/null +++ b/doc/project.mg
+ .ps +1
+ .vs +1
+ .start
+ .ds C \f[B]C\f[]
+ .title "Проект по компютърни системи за управление на роботи"
+ .title "Език за улесняване на програмиране на вградени устройства"
+ .author "Галин Симеонов Ф.Н. 81635" "gtsimeonov@uni-sofia.bg"
+ .heading "Увод"
+ .paragraph
+ При програмирането на вградени устройства,
+ някои от проблемите се моделират чрез автомати.
+ Също е практика да се програмира на езици от ниско ниво, като \*[C],
+ при които ръчното имплементиране на автомати с каквито и да е размери
+ често е неинтуитивно, предразполагащо към грешки и трудоемко.
+ С цел да помогна разработването на програми, чийто модел е ориентиран околу
+ състоянията на системата, предлагам и имплементирам експериментален миниатюрен език транспилиращ до \*[C].
+ .paragraph
+ За цели имам той да е прост, интуитивен и евентуално лесен за генериране от инстурменти с графичен интернфейс
+ .footnote
+ Макар, че директното генериране на код без този език да действа като посредник би било по-смислено.
+ .footnote end
+ \&.
+ .heading "Описание на езика"
+ .heading "Общ поглед" 2
+ Една 'програма' съдържа един или повече 'машини', които действат като контейнери за състояния,събития и преходи.
+ Всяка машина си има име и има отделно пространство за имена на състояния и събития.
+ Чрез преходите може да се извикват външни функции.
+ Ето най-простият пример за това как изглежда кодът:
+
+ .code
+ machine light_bulb
+ [
+ states [ ON , OFF ];
+ events [ TURN_ON , TURN_OFF , SWITCH_STATE ];
+ starting on OFF;
+ transitions
+ [
+ from ON to OFF on event TURN_OFF;
+ from ON to OFF on event SWITCH_STATE;
+
+ from OFF to ON on event TURN_ON;
+ from OFF to ON on event TURN_ON;
+ ];
+
+ ];
+ .code end
+
+ След транспилация се генерират 3 файла - xxx.h xxx.c и xxx_external.h, който съответно съдържат
+ декларациите на служебните функции, тяхната имплементация и декларациите на външните функции, които са използвани от някой преход.
+ Подаването на събития към тези 'автомати' става посредством служебната функция - \f[B]push_event_to_machine\f[]
+
+ Горният пример не е много функционален, защото комуникацията е само в една посока.
+ За да може да връща информация и да има функционалност, на всеки преход може да се сложат функции, които да бъдат изпълнени преди преходът да е завършил
+ .footnote
+ Това свойство е важно и авторът се е стремил да го запази. Това позволява, например, да се подават събития от функции изпълнени по време на преход
+ .footnote end
+ \&.
+ Taка горният пример може да бъде преработен да вика функция, която действително да включва и изключва някаква лампа:
+
+ .code
+ machine light_bulb
+ [
+ states [ ON , OFF ];
+ events [ TURN_ON , TURN_OFF , SWITCH_STATE ];
+ starting on OFF;
+ transitions
+ [
+ from ON to OFF on event TURN_OFF
+ execute light "off";
+ from ON to OFF on event SWITCH_STATE
+ execute light "off";
+
+ from OFF to ON on event TURN_ON
+ execute light "on";
+ from OFF to ON on event TURN_ON
+ execute light "on";
+ ];
+
+ ];
+ .code end
+
+ Тук също е демонстрирано как се подават аргументи към тези функции.
+ Символните низове са избрани като единствен начин да се подават аргументи, защото е предвидено да се транспилира до езици, различни от \*[C],
+ а въвеждането на типова система или нещо, което да описва различните аргументи би натоварило езикът твърде много и би донесло само минимална печалба.
+ .paragraph
+ Възможно е да има повече от една 'машина' в кодът. Например, нека към горния пример добавим:
+
+ .code
+ machine light_controler
+ [
+ states [ STATIC , BLINKING ];
+ events [ SIGNAL , GO_STATIC, START_BLINKING ];
+ starting on STATIC;
+ transitions
+ [
+ from STATIC to BLINKING on event START_BLINKING;
+ from BLINKING to STATIC on event GO_STATIC;
+
+ from BLINKING to BLINKING on event SIGNAL
+ execute prod_light_bulb;
+
+ ];
+
+ ];
+
+ machine timer
+ [
+ states [ ON , OFF ];
+ events [ TICK , START , STOP ];
+ starting on OFF;
+ transitions
+ [
+ from ON to OFF on event STOP;
+ from OFF to ON on event START
+ execute prod_timer;
+ from ON to ON on event TICK
+ execute prod_timer | prod_light_controler;
+ ];
+
+ ];
+ .code end
+
+ Тук може да се види и 'навързване' на различни функции.
+ timer 'машината' праща сигнал до себе си и до light_controler, а light_controler праща сигнал до light_bulb.
+ Тук можем да прескочим предаването на събития между 'машините' чрез използването на \f[B]if\f[].
+ Променяме третия преход от timer:
+
+ .code
+ from ON to ON on event TICK
+ if(light_controler.BLINKING)
+ execute prod_timer | prod_light_bulb;
+
+ .code end
+
+ Това е условно изпълнение на командите, преходът се случва и състоянието е променено независимо от истинността на условието.
+ За реализацията на условен преход, в езикът има \f[B]granted\f[] ключовата дума.
+ Горното може да се опитаме да имплементираме по следния начин:
+
+ .code
+ from ON to ON on event TICK granted (light_controler.BLINKING)
+ execute prod_timer | prod_light_bulb;
+ .code end
+
+ Тук има проблема, че timer спира да работи ако light_controler не е в състояние BLINKING,
+ защото преходът няма да се случи и \f[B]execute prod_timer\f[] няма да се изпълни.
+ .footnote
+ Това, че този пример може да бъде имплементиран на \*[C] под 10 реда, е забелязано от автора.
+ .footnote end
+ .paragraph
+ \f[B]prod_timer\f[],\f[B]prod_light_bulb\f[],\f[B]prod_timer\f[] и \f[B]light\f[] са функции, чиято имплементация трябва да бъде предоставена от програмиста.
+ Всички външни функции се събират и се записват в генерирания xxxx_exter.h файл. Този пример би генерирал:
+
+ .code
+ #ifndef XXXX_EXTERN_H
+ #define XXXX_EXTERN_H XXXX_EXTERN_H
+
+ extern machine_buffer_t* light(machine_buffer_t *arguments,machine_buffer_t *input);
+ extern machine_buffer_t* prod_light_bulb(machine_buffer_t *arguments,machine_buffer_t *input);
+ extern machine_buffer_t* prod_light_controler(machine_buffer_t *arguments,machine_buffer_t *input);
+ extern machine_buffer_t* prod_timer(machine_buffer_t *arguments,machine_buffer_t *input);
+
+ #endif
+
+ .code end
+
+ Ето и една примерна тяхна импелементация заедно с \f[B]main\f[] функцията:
+
+ .code
+ machine_buffer_t* light(machine_buffer_t *arguments,machine_buffer_t *input)
+ {
+ printf("light %s\n",arguments->buffer);
+ return NULL;
+ }
+ machine_buffer_t* prod_light_bulb(machine_buffer_t *arguments,machine_buffer_t *input)
+ {
+ push_event_to_machine(light_bulb,light_bulb_EVENT_SWITCH_STATE,NULL);
+ return NULL;
+ }
+ machine_buffer_t* prod_light_controler(machine_buffer_t *arguments,machine_buffer_t *input)
+ {
+ push_event_to_machine(light_controler,light_controler_EVENT_SIGNAL,NULL);
+ return NULL;
+ }
+ machine_buffer_t* prod_timer(machine_buffer_t *arguments,machine_buffer_t *input)
+ {
+ push_event_to_machine(timer,timer_EVENT_TICK,NULL);
+ sleep(1);
+ return NULL;
+ }
+ int main()
+ {
+ push_event_to_machine(light_controler,light_controler_EVENT_START_BLINKING,NULL);
+ push_event_to_machine(timer,timer_EVENT_START,NULL);
+ return 0;
+ }
+
+ .code end
+ Това ни дава изхода:
+ .code
+ light on
+ light off
+ light on
+ light off
+ light on
+ light off
+ light on
+ light off
+ light on
+ \&...
+ \&...
+ .code end
+
+ .heading "Формално описание на езика" 2
+ Със затъмнените думи и символи обозначавам думи и символи, които трябва да се интерпретират директно.
+ .heading "Програма" 3
+ .right
+ .nf
+ програма : машина [ програма ]
+ .fi
+ .right end
+ Програмата е поредица от машини. Всяка машина има уникално име.
+ .heading "Машина" 3
+ .right
+ .nf
+ машина : \f[BI]machine\f[] име \f[BI][\f[] вътрешна част на машината \f[BI] ] ; \f[]
+ вътрешна част на машината : \f[BI]states [\f[] поредица от състояния \f[BI] ] ; \f[] [ вътрешна част на машината ]
+ \f[BI]events [\f[] поредица от събития \f[BI] ] ; \f[] [ вътрешна част на машината ]
+ \f[BI]transitions [\f[] поредица от преходи \f[BI] ] ; \f[] [ вътрешна част на машината ]
+ \f[BI]starting on \f[] име на състояние \f[BI];\f[] [ вътрешна част на машината ]
+ .fi
+ .right end
+
+ В една машина може да се срещне само веднъж декларация на състоянията, събитията, преходите и посочване на стартиращо състояние.
+ Декларацията на стартиращо състояние трябва да е след декларацията на състоянията. То трябва да е сред декларираните състояния.
+ Декларацията на преходите трябва да е след декларациите на състоянията и на събитията.
+ Сред декларираните състояния и събития не трябва да има повтарящи се.
+ Сред преходите не трябва да има две различни, които излизат от едно състояние и имат за етикет едно събитие.
+ .heading "Преход" 3
+ .right
+ .nf
+ преход : \f[BI] from \f[] име-на-състояние
+ \f[BI] to \f[] име-на-състояние \f[BI] on \f[] име-на-събитие [ опашка-на-прехода ] \f[BI];\f[]
+ опашка-на-прехода : [ \f[BI] granted \f[] израз ] [ условно-изпълнение ]
+ условно-изпълнение : \f[BI] if \f[] израз условно-изпълнение [ \f[BI] else \f[] условно-изпълнение ]
+ условно-изпълнение : \f[BI] execute \f[] опашка на изпълнението
+ опашка-на-изпълнението : име-на-външна-функция \f[BI]"\f[]символен-низ\f[BI]"\f[] [ \f[BI] | \f[] опашка-на-изпълнението ]
+ .fi
+ .right end
+
+ Ако изразът след \f[BI]granted\f[] е истина то преходът се реализира и командите в условното изпълнение се изпълняват спрямо семантиката,
+ иначе преходът не се изпълнява и опашката на преходът не се изпълнява.
+ Ако изразът след \f[BI]if\f[] е истина то условното изпълнение след изразът се изпълнява, иначе, ако има \f[BI]else\f[]
+ съответстващ на \f[BI]if\f[]-а то условното узпълнение след \f[BI]else\f[] се изпълнява.
+ Ако условното изпълнение е от типа започващ с \f[BI]execute\f[] то външните функции се изпълняват в ред на срещане
+ като изходът на всяка се подава на следващата. Изходът на последната изпълнена функция се изхвърля.
+ .heading "Израз" 3
+ .right
+ .nf
+ израз : израз-или
+ израз-или : израз-и [ \f[BI]|| \f[] израз-или ]
+ израз-и : израз-не [ \f[BI]&& \f[] израз-и ]
+ израз-не : [\f[BI]!\f[]]базов-израз
+ базов-израз : име-на-машина\f[BI].\f[]име-на-състояние | \f[BI](\f[]израз\f[BI])\f[]
+ .fi
+ .right end
+
+ Израз може да се оцени до истина или лъжа.
+ Логическите оператори имат обичайната семантика.
+ В базовия израз е позволено да се посочват състояния на други машини, но не е позволено да се посочват състояния на машината,
+ в която се намира изразът. Тези посочвания се оценяват до истина ако посочената машина е заела посоченото състояние.
+ Могат да се посочват имена на машини, които са декларирани след сегашната, но те трябва да съществуват. Това важи и за състоянията, те трябва също и да принадлежат на посочената машина.
+
+ .heading "Детайли на имплементацията"
+ За да се реализира обмена на информация между генерирания код и написания,
+ е дефинирана структура \f[B]machine_buffer_t\f[], в която се записват данните и техният размер.
+ Генерират се и няколко помощни функции, които улесняват работата с такива структури.
+ За да се запази свойството - командите на преходът да се изпълнят преди състоянието да се смени,
+ се използва опашка, в която се записват
+ .heading "Описание на командните аргументи"
+ Имплементацията на този език предадена от автора приема следните аргументи.
+
+ .code
+ --print-tokens
+ .code end
+ Извежда разпознатите лексеми
+ .code
+ --print-ast
+ .code end
+ Извежда разпознатите структури в текста. ( Абстрактното синтактично дърво )
+ .code
+ -o име-на-файл | --output име-на-файл
+ .code end
+ Посочва префиксът на генерираните файлове. Например \f[B]xxxx.h xxxx.c xxxx_external.h\f[].
+ .code
+ --extern-mutex
+ .code end
+ Добавя мутекс преди и след подаването на събитие. Този мутекс трябва да се имплементира външно.
+ .code
+ --extern-queue
+ .code end
+ Дава възможност на програмиста да даде собствена имплементация на опашката използвана при задържането на събития.
+ .code
+ --extern-buffer
+ .code end
+ Дава възможност на програмиста да даде собствена имплементация на структурата използвана за пренос на данни.
+
+ .heading "Забележки"
+ За имплементацията е използвана само стандартната \*[C] библиотека, което би помогнало този транспилатор да бъде
+ компилиран до много операционни системи.
+ .heading "Бъдещи насоки"
+ .list
+ .item
+ Да се добави ключова дума \f[B]signal\f[] която да праща сигнал до определена машина, за да не трябва да го имплементира програмистът.
+ .item
+ Да се добави семанитка за състояния и събития, като например - 'при пристигане до това състояние изпълни ... '.
+ .item
+ Да се направи така, че отделните машини да могат да бъдат на различни физически устройства, т.е. да бъде направен разпределен.
+ .item
+ Да се направи на пълен език за програмиране.
+ .list end
+ .finish