Be.HexEditor.150/0000755000000000000000000000000012043223042012270 5ustar rootrootBe.HexEditor.150/bin/0000755000000000000000000000000012043223040013036 5ustar rootrootBe.HexEditor.150/bin/Be.HexEditor.exe0000644000000000000000000063000012043222652015770 0ustar rootrootMZ@ !L!This program cannot be run in DOS mode. $PEL(%P  0^   ` @ K h@  H.textd  `.rsrch  @@.reloc @ @B@ HPx o#P v~v'ߴ0J1&lrU̬"7m~.%J8ŗlFpG3D~B| Ж 3rNVR8'/FaO5?8,9#PN砌tC2W ҀZ0){  ( t  |(+ 3*0){  ( t  |(+ 3*Z{, {o *0s }( ({ ( o s }{o {s o {s o { o {o  8s Lo o rp"As! o" s# o rp($ (% o& s' o( ($ o) s* o+ s, o- {o o Y =Ps }{(. o {o {s o {s o { o {o  8s/ Lo o0 rp"As! o" s# o o1 o2 rp($ (% o& s' o(  YXo3 r#po) o4 s* o5 s* o+ s, o6 {o o { o7 Y =(*{*:}(*0{o8 +(9  s* o: (; -o< {-x{o8 +(9 ~= o) (; -o< { {{{ %o4 % o4  % o4  o4 *{o8  + (9 o4  (; - o< { {{{ % o4  % o4  %o4 o4 {o8 +((9 o> L {oo) (; -o< {o8 +(9  s* o? (; -o< *@ '4W wB5w):( ,**>_b_*/1 _b`*r'p($ rWp(@ sA z0It o> L oB r#p(C (o~D ot( *0{oE Y(*0{oE X(*0k{oF Y0/* {o8 +(9 oG , + (; -o< -*{oH oI &*#!D0t sJ 0oK 1oK  {oH oL 1oM oN  ,oO oP +%oQ oR -I ,FoO #YE *( *( *(*(*0t (*^oS oL -oM *0t (*z,{, {o< (T *00 (U sV s }s }sW } sW } (X {rpoY {rpo& {rpoY {rpo& { rpoY { rpo& { rpoY { rpo& r+poY (Z ( { o ( { o ( {o ( {o r7p(& ([ *{ *"} *{ *"} *V(_ } (*0e rMp (((((((((` *V(,rp*r#p*R{ _b_*,%{ _b`} *%{ _bf_} *0' oa . rpsb zc oc *{ *r{ 3*21*} *{*"}*0 (d (((o} {oe rprpof &(o}{oe rprpof &(o(g ,((h oi osj ok rpQ(U ol &ok rpQ(U ol &om  (rpon &om  (rpon &om  ( r p on &om (rpon &om (rpon &om (rpon &oo rpop {oo oq {rpor {rpos {(oot {ou 3 {ov *B~r{io*0  { (o.({ o (o{3!(o{ow tQ(C ,6((!o({ow tQo(( , (ox (y *0( {{{oz % o{ o{ *z,{, {o< (| *0 (U sV s} }s~ }s }s }s }s }s }s }s }s }s }s }{oX {oX {oX {oX (X {r)poY {o {o {r)po& {o {r?poY {o {o {o {o {r?po& {o {r]poY {o {o {o {o {o {o {r]po& {o {rpoY {rpo& {rpoY {o {o {rpo& {rpoY {rpo& {o {&s* o {r poY {o {o {o {o {o {o {r po& {o {r5poY {r5po& {o {$s* o {rcpoY {rcpo& {rpoY {rpo& {rpoY {rpo& {o {%s* o {rpoY {o {rpo& {o r+poY (Z {( ( {o ( {o ( {o ( ( rp(& ( ( {o[ {o[ {o[ {o {o[ {o ([ *(_ *03~( , rp(U o s ~*~**0(*r#p~o t*0(*r1p~o t*0(*r=p~o t*0(*rKp~o t*0(*rap~o t*0(*rkp~o t*0(*ryp~o t*0(*rp~o t*6(d (7*z,{ , { o (| *0 (U sV s}s }(X {rpoY {rpo& {rpoY {rpo& {8s* o {( r+poY ( o ( {o ( {o ( ( rp(& ( ( ([ *( *(d (<{#Bs* o {$Bs* o *(L*z,{/, {/o< (| *0} s }/(U sV s }"s }#s }$s }%s }&s }'s }(s })s }*s }+{/s },{/s }-s }!s }.{.oX (X {"rpoY {"rpo& {"Ks* o? {#rpoY {#o {#rpo& {#o {$rpoY {$rpo& {%rpoY {%( o {%rpo& {&rpoY {&rpo& {&Fs* o {'rpoY {'o {'rpo& {'Js* o {(rpoY {(rpo& {(o {)r-poY {)r-po& {*rCpoY {*( o {*rCpo& {+rYpoY {+rYpo& {+o {,Ns* o {-2o {-Ms* o {!rspoY {!o (-o {!o rpo o {!o (.o {!o rpo o {!o (3o {!o r1po o {!o rpo o {!~ o {!rspo& {!d< ( o {.rpoY {.o {%o {.o {(o {.rpo& {&( r+poY ( o {'( ( {.o ( {+o ( {)o ( {*o ( {'o ( {&o ( {$o ( {#o ( {"o ( {!o ( ( ( rp(& ( ( Es* ( {.o[ {.o ([ ( *{0*:}0(A*{2*"}2*0 {#{0o o {"{0o o) {+{0o o {${0o o {!o ,{!o :s* o {0o -c+ {0o {!s o {!o :s* o *0V{"{#o o{ {!{"o o{ {"o , {"oI &*{!oI &*6{"oI &*6{!oI &*{#o , {"oI &*{!oI &*0{0{+oz o {!o u} {0o o o {0{"oB o {0{$o -+o {0{+oz o {0o (G*0v{0o -*(I(?{0o (H( j3(r!p@( &*j3*( ( (?oG - (?oI &*0r{-o {,o }1{"{+{${#{!{&% o{ % o{ % o{ % o{ %o{ o{ *0r}1{-o {,o {"{+{${#{!{&% o{ % o{ % o{ % o{ %o{ o{ *n{1, (?o *( *(L*0T  {#o ,{"oB o 1 {$o ,{!o o j1 {&o{ *0@{*oB o  3{*r;po) {*%oB r=p(% o) *0d(?o (?o o ll[#Y@Z rAps o rMp ( rWp(% {)o) *6(d (Q*z,{9, {9o (| *0(U sV s }3s }4s }5s }6s }7s }8{6o (X {3rpoY {3rpo& {4rpoY {4o {4rpo& {4Ws* o {5rpoY {5o {5rpo& {5Vs* o {6r]poY {6L s o {6r]po& {6L s o {7rpoY {7rpo& {7o {8( o {8repoY {8repo& r+poY ( o ( {7o ( {8o ( {6o ( {5o ( {4o ( {3o ( ( ( rsp(& ( Us* ( {6o ([ *V{6jX( o *V{6jX( o *R{6o ( jY*01{6oI &{6{6o ( o o *"(y *"(y *0Es };sO}<(d ((Z{Po Ys o *0co o ((U .*o ( s s {Po Ys {Po Y{Po s o *0(](^(s s o o o [s* o s s o o o [s* o {ko o &{ko o &{mo o &{mo o &{ko *0to {ko *{Uo -{]~= o *{]{Uo o (o *0l{=,X{=o 1Jrp {Uo to -r;p+( {=( r!p( o) *r!po) *0{Uo -L{C{R% o o {Ko {Wo {Xo {ho +Y{C{R{Uo o % o o {Ko {Wo {Xo {ho (_*0{_{a{H{Uo % o % o o {T{G{Uo % o o {d{I{Uo % o o {`{f{Uo %o o *{Yo 3{Yo  (a*0(  - ((*(c3*s  qs* o  rs* o  0&s ((3o R&((&B{Uo }=(](\{io (& (^*4Kj-J0 /0;{Uo -*{Uo u o (&(^*' /%30~{Uo -*{Uo ,O{Uo o ,=(r!p0( 3(b(d+3(d+3  (d (^*fu0A{Uo ,&{Uo uV ,o< {Uo }=(]*"(f&*0c{:, {:o ,;s9}:{:{Uo@{:{;o>{:o + {:oI &{:*2(foG*2{Uo *0o{<{Uo o oS{<{Uo oR{<o 3/{U{<oTo {Ujo {UoI &*2 o *0(o ~ o t i3 (a*(_*(_*(_*(_*0 {Zrp{Uo {Uo ( o ~= {Uo ,{Uo o {Uo 0  + {Uo {Uo o s (  - + (! s" (# -+($ {Uo s ,)($ &rp{Uo o ( {jo {oo*(^*(\*(`*(b*2{Uo% *2{Uo& *2{Uo' *2{Uo( *2{Uo) *(e*(g*(i*2{Uo* *( *2s5( &*0o+ t  o(a*2s#( &*0(c 3o, *0o {U{ko- uo. {mo o/ +%o0 t o {Uo1 o2 o3 -uV ,o< *,1](*{no4 , {oo4 *{oo4 *{Uo {ooo{oooo5 {Uo6 *z,{>, {>o< (| *0T!s }> (U sV s7 }?s }@s }As8 }Bs }Cs8 }Ds }[s8 }\s }Es }Fs }Gs }Hs }Is8 }^s }_s }`s8 }Js }Ks }Ws }Xs8 }gs }hs }ls }ms }ns }Ls }Ms }Ns }Os9 }Ps: }Qs: }Rs8 }Ss: }Ts; }as }bs }cs; }ds }es }fs< }ks= }Vs> }Zs> }]s> }js? }Ys }UsW }ps}o{>s}i{?oX {PoX {VoX {poX (X {?( o@ {?rpoY {?oA  {@{F{l{L{NoB {?rpo& {@o  {A{B{C{D{[{\{EoB {@rpoC {@rpoY {A(2oD {Ar/poY {Ar/poC {Ass* o {Br[poC {Br[poY {C(4oD {CrpoY {CrpoC {Cts* o {DrpoC {DrpoY {[rpoY {[rpoC {[sE oF {\r poC {\r poY {Er7 poC {Er7 poY {E~s* o {Fo   {G {H {I {^ {_ {` {J {K {W  {X  {g  {h oB {Frc poC {Frc poY {Gr poY {Gr poC {Gus* o {Hr poY {Hr poC {Hvs* o {Ir poY {Ir poC {Iws* o {^r poC {^r poY {_r; poC {_r; poY {_xs* o {`ry poC {`ry poY {`ys* o {Jr poC {Jr poY {Kr poY {Kr poC {Kzs* o {Wr poY {Wr poC {W{s* o {Xr5 poC {Xr5 poY {X|s* o {gra poC {gra poY {hr poC {hr poY {h}s* o {lo {m{noB {lr poC {lr poY {mr poC {mr poY {noG {nr poC {nr poY {ns* oH {Lo {MoB {LrK poC {LrK poY {Mry poC {Mry poY {Ms* o {No {OoB {Nr poC {Nr poY {Or poC {Or poY {Os* o {Pr poY {P( o@ {PoI {PoA {Q{R{S{T{a{d{koB {Pr po& {QoJ {Q(2oD {Qr poY {Qr poC {Qss* o {RoJ {R(4oD {RrA poY {RrA poC {Rts* o {Sri poC {Sri poY {ToJ {T(.oD {Tr poY {Tr poC {Tus* o {aoJ {ao {b{coB {a(K oL {a(-oD {ar poY {ar poC {avs* oM {b(-oD {br poC {br poY {bvs* o {c(-oD {crpoC {crpoY {cxs* o {doJ {do   {e {f oB {d(3oD {drKpoY {drKpoC {dws* oM {erpoC {erpoY {ews* o {frpoC {frpoY {fys* o {k( oN {koO {k oP {krpoY {krpoC {ks* oQ {V( o@ {VoA   {Z {] {j oB {VrpoY {Vrpo& {VoR {VoS {Zs oT {Zr1poC {Zs oU {Zr1poY {]r[poC {]s oU {]r[poY {jrpoC {jrpoY {UoV {Uo (-o {Uo rpo o {Uo (.o {Uo rpo o {Uo (3o {Uo ropo o {Uo rpo o {UoW {Ur'poY {UoX {U(Y o {UoZ {Ur'po& {Ud< ( o {Uo[ {Uo\ {Uo] {Uos* o^ {Uns* o_ {Ups* o` {Ups* oa {Uls* ob {Ums* oc {Uksd oe {Ujsd of {pr5poY {po {Uo {po {oo {pr5po& {orIpoY {orIpo& {os* o{i{[or+poY (Z ( o ( {po ( {Vo ( {Po ( {?o {?(g rap(& sh (i {?o[ {?o {Po[ {Po {Vo[ {Vo {po[ ([ ( *0t"(o-+(o (k s ol (k (m on (o (p sXri1(  , ~roa~r(q *2or (*0r!p( *Br!p@( &*0r!p ( *(_ *~s*Fr}pos t0*6r}pot *Frpos L*JrpLot *Frpos *Jrpot *Frpos tQ*6rpot *Vs(u t s*(v *N(y ((*j(y oz ((*^(s{ o| *0{u- rps} z( .6(oo~ {uo o 1{uo o +-*(oo {uo so (oo 1(oo~ (oo (o1{uo (oo {uo - {uo (ox *09# +!(oo ( ,*X (oo 2*{u*b{u3*}u(*fo rp( ,(*0${u-*(o-(s o{uo o {u(oo o (o(oo (  +,(oo {uo so &X 2*Z(oo (*z,{v, {vo< ( *2s }v*{w*"}w*:( }w*02%( t o o r pXL{w( **(_ *03~x( , rp(U o s x~x*~y*y*V(rCp~yo *V(rMp~yo *V(r]p~yo *V(rp~yo *V(rp~yo *V(rp~yo *V(rp~yo *V(rp~yo *V(rp~yo *V(rp~yo *V(r+p~yo *V(rYp~yo *V(rkp~yo *V(r{p~yo *V(rp~yo *0~&( (( rp {o o rp {o o rUp { o o {~o o o o) &* nz/z,{, {o (T *0 (U sV s }zs }}s }s }{s }~s }|s} }s~ }s/ }s~ }s/ }s~ }s/ }s }{oX {oX {oX {oX {o (X {zrpoY {zrpo& {}rpoY {}(. o {}o {}rpo& {rpoY {(. o {o {rpo& {o {s o {{rpoY {{rpo& {~rpoY {~(. o {~o {~rpo& {|rpoY {|rpo& {r)poY {o {o {o {o {o {o {r)po& {o {rpoY {o {o {rpo& {(. o {o0 {rpoY {rpo& {o {o {o {r+poY {r+po& {(. o {o0 {rApoY {rApo& {o {o {o {rWpoY {rWpo& {o0 {rmpoY {rmpo& {rpoY {(1o {rpo& {o ( {o ( {o ( {~o ( {|o ( {{o ( {o ( {}o ( {zo rp(& r+poY {o[ {o[ {o[ {o[ {o ([ *0('{oB s ( & or ( &*/0( j  jZ  jZ  jZ /r prp( 8/ rp(rp(( +f/ rp(rp(( +B / rp(rp(( +rp (rp(( *Jrp(h ( *0)ll[ rp(h ( *^lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet*gSystem.Drawing.SizeF, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3agSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3arSystem.Drawing.ContentAlignment, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Font, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Windows.Forms.Padding, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089IU$r#cϑؑlo?@˥g3Qj1VeXÎ@qM~=ފ!m~BR9M Z"E"4z*4 ~552?CBBPCkCIk%Xm]&bςia՟oo}p)cu| d7k-51{X7Pm`H9V' 2$this.AutoScaleDimensions$this.Size>>$this.NameI>>$this.TypeU>>lblBit.Name>>lblBit.Parent>>lblBit.Type>>lblBit.ZOrderT>>lblValue.NameW">>lblValue.Parenta>>lblValue.Typeh">>lblValue.ZOrder&>>pnBitsEditor.Name*>>pnBitsEditor.Parent&>>pnBitsEditor.Type*>>pnBitsEditor.ZOrderj&>>pnBitsHeader.Namem*>>pnBitsHeader.Parent{&>>pnBitsHeader.Type*>>pnBitsHeader.ZOrderlblBit.LocationlblBit.SizelblBit.TabIndex:lblBit.Text? lblBit.TextAlignD"lblValue.LocationlblValue.Size"lblValue.TabIndex)lblValue.Text.$lblValue.TextAlign5"pnBitsEditor.Font*pnBitsEditor.Location9 &pnBitsEditor.Margin (pnBitsEditor.Padding "pnBitsEditor.Size} *pnBitsEditor.TabIndex! "pnBitsHeader.Font& *pnBitsHeader.Location &pnBitsHeader.Margin!(pnBitsHeader.Padding"pnBitsHeader.Size*pnBitsHeader.TabIndexm@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizeFwidthheight @PA A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight$  BitControlySystem.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089lblBit$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0893lblValue$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0892 pnBitsEditor$thissSystem.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0891 pnBitsHeader$thissSystem.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight?  BitC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.ContentAlignmentvalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight< ValueC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.ContentAlignmentvalue__ D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitConsolasASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyD E WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom E WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheightu D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitConsolasASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyD E WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom E WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheightu lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetfSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Font, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Windows.Forms.FormStartPosition, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089zSystem.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089gSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPADPAD7+!յ찎͊cpYmF%90= ?CYuE++C[;CBB J:Sv2v~X3-k JVqw=.$this.AutoScaleBaseSize $this.ClientSize$this.FontH&$this.StartPosition$this.TextY>>$this.Name`>>$this.Typek>>btnOK.Name>>btnOK.Parent>>btnOK.Type>>btnOK.ZOrderc>>ucAbout1.Namef">>ucAbout1.Parentp>>ucAbout1.Typew">>ucAbout1.ZOrderbtnOK.AnchorbtnOK.LocationbtnOK.Size.btnOK.TabIndexbtnOK.TextucAbout1.Anchor"ucAbout1.LocationucAbout1.Size$"ucAbout1.TabIndex@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight^ A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitSegoe UIASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ B WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&System.Windows.Forms.FormStartPositionvalue__ About FormAboutrSystem.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089btnOK$thistSystem.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890ucAbout1$thisiBe.HexEditor.UCAbout, Be.HexEditor, Version=1.4.8.24159, Culture=neutral, PublicKeyToken=01fb039ca8b8c4451C WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxyp@ @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightK OKC WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight8 AlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet}fSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Font, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Windows.Forms.FormStartPosition, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089zSystem.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089uSystem.Windows.Forms.ImeMode, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089gSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3arSystem.Drawing.ContentAlignment, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPADPAHoل~pnP`Qi(꩖71PQDյ*"ó5+zAHM=f}ȜH^/̎5IъcpYmpwC]RbeQ`ש}e׌pٓOMO!$YRSؑd. jfj?sY= ?CYls Sv  ƱO D3 ׿AicZdg++EZ!%kP);Z)-40iY5e5v6BGR9Χ%?kA BH%BCBBfCh EkF8F&G6G J2!NmT-NDlO*OOG#OT;PDPQLQ |RR:SLTUdjZ_?eEO7uv2vx1y)/{V,{7i}~}&=~ Xi#~ x6X3 z_!l? E n $ 2 j%b 9^ "7yQ bD}2X S q+L ;| n CXa=  1 q< G & IS.$this.AutoScaleBaseSize $this.ClientSize$this.FontH&$this.StartPosition$this.TextY>>$this.Name_>>$this.Typei >>btnCancel.Name$>>btnCancel.Parent >>btnCancel.Type$>>btnCancel.ZOrdere>>btnOK.Nameh>>btnOK.Parento>>btnOK.Typev>>btnOK.ZOrder&>>chkMatchCase.Name*>>chkMatchCase.Parent&>>chkMatchCase.Type*>>chkMatchCase.ZOrder|.>>flowLayoutPanel1.Name2>>flowLayoutPanel1.Parent.>>flowLayoutPanel1.Type2>>flowLayoutPanel1.ZOrder >>groupBox1.Name$>>groupBox1.Parent% >>groupBox1.Type7$>>groupBox1.ZOrder>>hexFind.Name >>hexFind.Parent>>hexFind.Type >>hexFind.ZOrder;>>label1.Name>>>label1.ParentF>>label1.TypeX>>label1.ZOrder">>lblFinding.Name&>>lblFinding.Parent">>lblFinding.Type&>>lblFinding.ZOrderX">>lblPercent.Name[&>>lblPercent.Parentg">>lblPercent.Typen&>>lblPercent.ZOrder>>rbHex.Name>>rbHex.Parent>>rbHex.Type>>rbHex.ZOrdero >>rbString.Namer ">>rbString.Parent| >>rbString.Type ">>rbString.ZOrder >>timer.Name >>timer.Type &>>timerPercent.Name} &>>timerPercent.Type >>txtFind.Name >>txtFind.Parent >>txtFind.Type >>txtFind.ZOrder btnCancel.Anchor "btnCancel.ImeMode7 $btnCancel.Location btnCancel.Size{ $btnCancel.TabIndexbtnCancel.Text$btnOK.Anchor-btnOK.ImeModebtnOK.LocationbtnOK.SizebtnOK.TabIndexbtnOK.Text*chkMatchCase.AutoSize(chkMatchCase.ImeMode*chkMatchCase.Locationx"chkMatchCase.Size*chkMatchCase.TabIndex"chkMatchCase.Text2flowLayoutPanel1.Location*flowLayoutPanel1.Sizee2flowLayoutPanel1.TabIndex  groupBox1.Anchor$groupBox1.LocationgroupBox1.SizeW$groupBox1.TabIndexhexFind.AnchorVhexFind.BuiltInContextMenu.CopyMenuItemTextThexFind.BuiltInContextMenu.CutMenuItemTextXhexFind.BuiltInContextMenu.PasteMenuItemText`hexFind.BuiltInContextMenu.SelectAllMenuItemTexthexFind.EnabledhexFind.Font hexFind.Location/hexFind.Size hexFind.TabIndexolabel1.AutoSizetlabel1.ImeModevlabel1.Locationlabel1.Sizelabel1.TabIndex^label1.Textc"lblFinding.Anchori$lblFinding.ImeMode&lblFinding.LocationlblFinding.SizeZ&lblFinding.TabIndex"lblPercent.Anchor$lblPercent.ImeMode&lblPercent.LocationXlblPercent.Size&lblPercent.TabIndex (lblPercent.TextAlign rbHex.ImeModeB!rbHex.Location!rbHex.Size"rbHex.TabIndex*#rbHex.Text/# rbString.ImeMode4#"rbString.Location#rbString.Sizex$"rbString.TabIndex%rbString.Text!%txtFind.Anchor'% txtFind.Location%txtFind.Sizep& txtFind.TabIndex'@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightP# A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitSegoe UIASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ B WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&System.Windows.Forms.FormStartPositionvalue__ FindFormFindrSystem.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 btnCancel$thistSystem.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0894btnOK$thistSystem.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0895 chkMatchCase$thisvSystem.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0891flowLayoutPanel1$this}System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890 groupBox1flowLayoutPanel1vSystem.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0891hexFind$thiswBe.Windows.Forms.HexBox, Be.Windows.Forms.HexBox, Version=1.5.0.17807, Culture=neutral, PublicKeyToken=e0e5adf0ebc998639label1flowLayoutPanel1sSystem.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890 lblFinding$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0893 lblPercent$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0892rbHex$thisySystem.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0896rbString$thisySystem.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0897timersSystem.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 timerPercentsSystem.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089txtFind$thisuSystem.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0898C WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightK &CancelC WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightK &FindD WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy' @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightS  Match caseE QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightB C WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy' @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight   C WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ CopyCutPaste Select AllA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnit Courier NewASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxyo @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight0 D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight FindC WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyW @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight>  C WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight< F QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.ContentAlignmentvalue__ D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyY @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheighth HexD WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy( @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheighth TextC WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ E QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy; @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight0 lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet9fSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Font, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Windows.Forms.FormStartPosition, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089zSystem.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089gSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPADPADH!D7{ݚյ찉"óVAHMH^ˎN{GWG5ILъcpYme ?CYls D3 XWAi++$-k`BH%BCBBh E&G6G';-I؇2I J%/NDlO*OO#>R |R:StäYUdjZ_i̭uv2v<X'3ZebuU ,=i''zFq7a<H .$this.AutoScaleBaseSize $this.ClientSize$this.FontH&$this.StartPosition$this.TextY>>$this.Named>>$this.Typen >>btnCancel.Name$>>btnCancel.Parent >>btnCancel.Type$>>btnCancel.ZOrderj>>btnOK.Namem>>btnOK.Parentt>>btnOK.Type{>>btnOK.ZOrder >>groupBox1.Name$>>groupBox1.Parent >>groupBox1.Type$>>groupBox1.ZOrder~>>label1.Name>>label1.Parent>>label1.Type>>label1.ZOrder>>label2.Name>>label2.Parent>>label2.Type>>label2.ZOrder>>nup.Name>>nup.Parent>>nup.Type>>nup.ZOrder btnCancel.Anchor$btnCancel.LocationbtnCancel.Sized$btnCancel.TabIndex btnCancel.Text btnOK.Anchor btnOK.Location btnOK.Size^ btnOK.TabIndex btnOK.Text groupBox1.Anchor $groupBox1.Location groupBox1.SizeT $groupBox1.TabIndex label1.Location label1.Size label1.TabIndex=label1.TextBlabel2.LocationPlabel2.Sizelabel2.TabIndexlabel2.Textnup.Anchornup.LocationHnup.Sizenup.TabIndex@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight^ A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitSegoe UIASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ B WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&System.Windows.Forms.FormStartPositionvalue__  Goto byteFormGoTorSystem.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 btnCancel$thistSystem.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0894btnOK$thistSystem.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0893 groupBox1$thisvSystem.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890label1$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0895label2$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0891nup$this{System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0892C WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy@ @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightK CancelC WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyT@ @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightK OKC WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy( @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightH  Byte number:D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight(  GotoC WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyP @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight HlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet gSystem.Drawing.SizeF, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Font, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Windows.Forms.Padding, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.FormStartPosition, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089wSystem.Windows.Forms.DockStyle, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089gSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3azSystem.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089rSystem.Windows.Forms.Keys, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089hSystem.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3agSystem.Drawing.Color, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3awSystem.Windows.Forms.FlatStyle, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089PADPAGC/N0Mw;Bԝ-QOև܇"$%K>ÐĐI[gPIߑW㑙 Ĕ6@&EbIU>h5` v)Bj7&E p|;枣\ ޵X6O%K$V%>ќTյ,N^ORɳҳ~Jz#|j`P!'?zww>˓t!_`߽ܽ y b6_8ϵypµhlӷUĭgHT8Ƹm9NT<;IG|m4GJ'56;еDh~Erz~zAjӹ'Ӭ$ozK@F\lٯmً۴ۢ܌YWސ (]dh]TU"+R4v1kjX%'*> GҍIG k| |a5|M JVO$iΤtYoN|"Y"Mr^K' N~t۝.!cR0!'um#$K&7'U'['BG)tR-*L_-/J?151`r2%3*3K44t42`6b7]^7a8g8 %9619Vs9l9T9+q:x:$;?枕?j@U$@b7A;:A,uAvACBB)C>CcEEEGǴFҵFFIFVGH;eJJ֩JDhPoPP+QSRlsS:Sg3U@WLWڂYo^Z[[Qq]Ne13e OffsMfffg/·hחh?#iiBjjjk=kEk}pyp qqDq6xTWx˃}ք}KP0yF+i)0)51p1C/ 0+P-:${$11 Y {!#}#w :Z:u\7">%w%c  u(65J5597o6 .78b7.-," _ 5 n,Rc97Kq4<4++++C7#]%6"8a<(("Y% 9:3+ @..SX,&q*/H/05c-,7,+S.227!"0&% f#F#y.. 'k(($$W33>w,d4%2PXI2$this.AutoScaleDimensions $this.ClientSize$this.FontI$this.Icon$this.Margin"$this.MaximumSize&$this.StartPositionW $this.Text >>$this.Name >>$this.Type& 0>>RecentFileHandler.Name 0>>RecentFileHandler.Type :>>aboutToolStripMenuItem.Name" :>>aboutToolStripMenuItem.Type: $>>bitControl1.Name (>>bitControl1.Parent $>>bitControl1.Type (>>bitControl1.ZOrderA <>>bitToolStripStatusLabel.NameD <>>bitToolStripStatusLabel.Type] 8>>bitsToolStripMenuItem.Name 8>>bitsToolStripMenuItem.Type >>bodyPanel.Namez $>>bodyPanel.Parent >>bodyPanel.Type $>>bodyPanel.ZOrderJ>>copyHexStringToolStripMenuItem.NameJ>>copyHexStringToolStripMenuItem.Type$@>>copyHexToolStripMenuItem1.Name@>>copyHexToolStripMenuItem1.Type8>>copyToolStripMenuItem.NameA8>>copyToolStripMenuItem.TypeX:>>copyToolStripMenuItem1.Name:>>copyToolStripMenuItem1.Type>>>copyToolStripSplitButton.Namer>>>copyToolStripSplitButton.Type2>>cutToolStripButton.Name2>>cutToolStripButton.Type%6>>cutToolStripMenuItem.Name6>>cutToolStripMenuItem.Type8>>editToolStripMenuItem.Name;8>>editToolStripMenuItem.TypeR@>>encodingToolStripComboBox.Name@>>encodingToolStripComboBox.Type@>>encodingToolStripMenuItem.Nameo@>>encodingToolStripMenuItem.Type8>>exitToolStripMenuItem.Name 8>>exitToolStripMenuItem.Type"F>>fileSizeToolStripStatusLabel.NameF>>fileSizeToolStripStatusLabel.Type8>>fileToolStripMenuItem.NameF8>>fileToolStripMenuItem.Type]@>>findNextToolStripMenuItem.Name@>>findNextToolStripMenuItem.Type8>>findToolStripMenuItem.Namez8>>findToolStripMenuItem.Type8>>goToToolStripMenuItem.Name8>>goToToolStripMenuItem.Type)8>>helpToolStripMenuItem.Name8>>helpToolStripMenuItem.Type>>hexBox.NameB>>hexBox.ParentJ>>hexBox.TypeU>>hexBox.ZOrder >>menuStrip.Name$>>menuStrip.Parent >>menuStrip.Type$>>menuStrip.ZOrder\*>>openFileDialog.Name_*>>openFileDialog.Typeo4>>openToolStripButton.Name4>>openToolStripButton.Type8>>openToolStripMenuItem.Name8>>openToolStripMenuItem.Type>>>optionsToolStripMenuItem.Name>>>optionsToolStripMenuItem.Type3@>>pasteHexToolStripMenuItem.Name@>>pasteHexToolStripMenuItem.TypeB>>pasteHexToolStripMenuItem1.NamePB>>pasteHexToolStripMenuItem1.Typel:>>pasteToolStripMenuItem.Name:>>pasteToolStripMenuItem.Type<>>pasteToolStripMenuItem1.Name<>>pasteToolStripMenuItem1.Type@>>pasteToolStripSplitButton.Name @>>pasteToolStripSplitButton.Type;F>>recentFilesToolStripMenuItem.NameF>>recentFilesToolStripMenuItem.Type4>>saveToolStripButton.Name_4>>saveToolStripButton.Typet8>>saveToolStripMenuItem.Name8>>saveToolStripMenuItem.Type B>>selectAllToolStripMenuItem.Name B>>selectAllToolStripMenuItem.Type $>>statusStrip.Name(!(>>statusStrip.Parent5!$>>statusStrip.Type>statusStrip.ZOrder! >>toolStrip.Name!$>>toolStrip.Parent! >>toolStrip.Type!$>>toolStrip.ZOrderE"2>>toolStripSeparator.NameH"2>>toolStripSeparator.Type\"4>>toolStripSeparator1.Name"4>>toolStripSeparator1.Type"4>>toolStripSeparator2.Namew#4>>toolStripSeparator2.Type#4>>toolStripSeparator3.Name$4>>toolStripSeparator3.Type$$4>>toolStripSeparator4.Name$4>>toolStripSeparator4.Type$4>>toolStripSeparator5.Name?%4>>toolStripSeparator5.TypeT%4>>toolStripSeparator6.Name%4>>toolStripSeparator6.Type%6>>toolStripStatusLabel.Nameo&6>>toolStripStatusLabel.Type&:>>toolsToolStripMenuItem.Name ':>>toolsToolStripMenuItem.Type"'8>>viewToolStripMenuItem.Name'8>>viewToolStripMenuItem.Type'6aboutToolStripMenuItem.Size;(6aboutToolStripMenuItem.Text( bitControl1.Dock((bitControl1.Location)$bitControl1.Margin0* bitControl1.Size+(bitControl1.TabIndex+&bitControl1.Visible+8bitToolStripStatusLabel.Size+4bitsToolStripMenuItem.SizeS,4bitsToolStripMenuItem.Text, bodyPanel.Anchor,$bodyPanel.Location- bodyPanel.MarginG.bodyPanel.Size/$bodyPanel.TabIndex/VcopyHexStringToolStripMenuItem.ShortcutKeys/FcopyHexStringToolStripMenuItem.Sizei0FcopyHexStringToolStripMenuItem.Text 12cutToolStripMenuItem.Text>4editToolStripMenuItem.Size>4editToolStripMenuItem.Text^?FencodingToolStripComboBox.FlatStylee?findNextToolStripMenuItem.ImageDLfindNextToolStripMenuItem.ShortcutKeysGpasteHexToolStripMenuItem1.Size]>pasteHexToolStripMenuItem1.Text]8pasteToolStripMenuItem.Image]XpasteToolStripMenuItem.ImageTransparentColoraFpasteToolStripMenuItem.ShortcutKeysa6pasteToolStripMenuItem.Size{b6pasteToolStripMenuItem.Textc8pasteToolStripMenuItem1.Size'c8pasteToolStripMenuItem1.Textc^pasteToolStripSplitButton.ImageTransparentColorcselectAllToolStripMenuItem.Sizej>selectAllToolStripMenuItem.Textj(statusStrip.Locationj statusStrip.SizeRk(statusStrip.TabIndexk toolStrip.Anchork$toolStrip.AutoSizeltoolStrip.Dockl$toolStrip.LocationTm toolStrip.MarginmtoolStrip.Sizen$toolStrip.TabIndexhotoolStrip.Textmo.toolStripSeparator.Sizeyo0toolStripSeparator1.Sizep0toolStripSeparator2.Sizep0toolStripSeparator3.Sizeeq0toolStripSeparator4.Size r0toolStripSeparator5.Sizer0toolStripSeparator6.SizeQs2toolStripStatusLabel.Sizes6toolsToolStripMenuItem.Sizet6toolsToolStripMenuItem.Text=u4viewToolStripMenuItem.SizeEu4viewToolStripMenuItem.Textu@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizeFwidthheight @PA A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight. B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitSegoe UIASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.IconIconDataIconSizeSystem.Drawing.Size System.Drawing.Sizewidthheight6(& N( ( @ D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight E WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&System.Windows.Forms.FormStartPositionvalue__  Be.HexEditor FormHexEditorrSystem.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089RecentFileHandlersBe.HexEditor.RecentFileHandler, Be.HexEditor, Version=1.5.0.24236, Culture=neutral, PublicKeyToken=01fb039ca8b8c445aboutToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 bitControl1 bodyPanellBe.HexEditor.BitControl, Be.HexEditor, Version=1.5.0.24236, Culture=neutral, PublicKeyToken=01fb039ca8b8c4451bitToolStripStatusLabelSystem.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089bitsToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 bodyPanel$thissSystem.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890copyHexStringToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089copyHexToolStripMenuItem1System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089copyToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089copyToolStripMenuItem1System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089copyToolStripSplitButtonSystem.Windows.Forms.ToolStripSplitButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089cutToolStripButton}System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089cutToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089editToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089encodingToolStripComboBoxSystem.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089encodingToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089exitToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089fileSizeToolStripStatusLabelSystem.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089fileToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089findNextToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089findToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089goToToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089helpToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089hexBox bodyPanelwBe.Windows.Forms.HexBox, Be.Windows.Forms.HexBox, Version=1.5.0.17807, Culture=neutral, PublicKeyToken=e0e5adf0ebc998630 menuStrip$thiswSystem.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0893openFileDialog|System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089openToolStripButton}System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089openToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089optionsToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089pasteHexToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089pasteHexToolStripMenuItem1System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089pasteToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089pasteToolStripMenuItem1System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089pasteToolStripSplitButtonSystem.Windows.Forms.ToolStripSplitButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089recentFilesToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089saveToolStripButton}System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089saveToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089selectAllToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 statusStrip$thisySystem.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0891 toolStrip$thiswSystem.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0892toolStripSeparatorSystem.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089toolStripSeparator1System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089toolStripSeparator2System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089toolStripSeparator3System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089toolStripSeparator4System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089toolStripSeparator5System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089toolStripSeparator6System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089toolStripStatusLabelSystem.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089toolsToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089viewToolStripMenuItemSystem.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheightt  &About...F WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.DockStylevalue__ G QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight4  A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight| &BitsH WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ G QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy 1 D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  I WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__C A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Copy HexA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight} Copy HexJ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData BPNG  IHDRagAMA a pHYs(JIDAT8OKSa2(3 /"]B $f,p6,e"E̵4rlO&trn;mf1/ܼ<_3OhF"]7 غRۀ+MO--q jE?h~\CPP=QCHVg{4Mx8ԟ,~vBȣf%B%/ή$VW|m`T!}LeqK¡$sa_m﵌R*|l2gqQj" 8rL/UumkwB]evq*i%29A09:zO9;QNߜHOյHiJzʴp@*^?5CKBsvڝ8j,/8{K&?@kK߄1]^Pc^!RUgCmTk-[wVyB  I6IENDB` K QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k I WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__C A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &CopyA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight} CopyK QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  CopyK QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight CutJ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JIDAT8OMKQ5%IXBP(F!"-li&I;[h5FH(YdQ٢/Su)\8L೹|pU#;'IdCNtO!]F>4-lC:qWvv˜ 4vYk9 jZvaH08#k7_.ЭCDR!v @F»cӐСg=\xoLIENDB` K QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k I WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__X A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Cu&tA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight' &EditL WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.FlatStylevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitMicrosoft Sans SerifASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight|  &EncodingA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight E&xitA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight% &FileJ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData xPNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs ¯pIDAT8OKqߛƊh06Jk2#;217'5)CfY֖Š 2]t!@AvUQwA؅~WԂ.>| / j{m$mhfȹߏ@E=Wt̳?}Pov2^!QK/^FϿPT;Zg6ؑ"c7p9q$\1H5)emd:g {\`x]c@u PکAN ,n Q < TpF Fµwk EzAA^]ݹ }f k0#*:ӓ)kHGd01D'Q^QOPsŠP#4peǙy>d@\︐!A܆ YܐT/AH鄠ЌN JAJiKXd+[%40 eIENDB` I WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__r A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Find NextJ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs ¯p.IDAT8O͓_HSQW`@! 2fCX.rd=ivnK. 6X6QD@E\eÅN*kv5^z}9 Ҳ>当Mc+t>ղDvv|M Sjl1kGzT@o9/BYsJ;(1 H/*#1oaP#63Y08(rK|ٗmnCv:*tz U]v+8@{^v @1lqh>iixK/ M>rsJLu|54 vsFN1 @ =JcuX`w L{P^i2y{pvaQkH&a< }ĎwPgN| {p :aJL#$BsHF LL;8Ѝ]dV"9KuMhZ!jLՄ%l@2Wu.j YS".+ gDY4O[zAhk9ɅUIENDB` I WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__F A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight FindI WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__G A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Go ToA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight, &HelpCopy Cut Paste  Select All F WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.DockStylevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitConsolasASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ G QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnitSegoe UIASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ G QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  menuStrip1K QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &OpenK QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k I WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__O A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &OpenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheightt &OptionsI WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__V A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Paste HexA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight}  Paste HexJ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JRIDAT8OkHQ_})PT}"CFaFbF"R,)-MIGw"wů}uH 9{p,7iHbvj.㊼#85گ1ЛY?3~ʡ )WZƆKEW"OڌæF9<媣$(ݖ\E jyk9AKY0$i@}ހx]r01A&NHTk@X7\ǤXϤ`61ت+V.t>JX߶!qG<賃ɯ4mhzuFˈL (/Ngd@hǁoJأo8]9 J#vR*CqdRP**թPggWwl Q@ssybR>]N[K;»w‹ 8DI%|jZ`l%қ=\:(2aSV[7E|ϔ=VK=k%x:ӓ9 F[y=O|:$M[7^W N-IENDB` K QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k I WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__V A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &PasteA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight} PasteK QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  PasteA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Recent FilesK QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &SaveK QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Colornamevalue knownColorstate  k I WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__S A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &SaveI WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Keysvalue__A A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Select &AllG QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  H WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ F WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.DockStylevalue__ G QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy  D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.Padding_all_top_left_right_bottom A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  toolStrip1A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight0 &ToolsA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight, &View>lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetngSystem.Drawing.SizeF, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Font, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Windows.Forms.FormStartPosition, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089zSystem.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089gSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Windows.Forms.Padding, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089uSystem.Windows.Forms.ImeMode, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089PAP*hXb ԋoCgpFgBwB}^Z0657hX*f'2"T'յw +4]!(ZːͦB=$i*iݦ^-QmKL흜S++ DlcT: ^;  k >0:@<'fE)Xv#=?"D`+U1,:34э 4]x5gJ7hz7^8Z#_8f9g9M=b0p?N@CBB?DbFeIY`O P Q\7Rk`R:S!T.U1U^Zd^{bbf g+sjԄjFPm}p"3s̜uDxuyy>0ykz|M5 B  \q 7M 7bR )t  a+ $  " MI   axk o$ q> $CB <]hzun W UO m : <2$this.AutoScaleDimensions $this.ClientSize$this.FontI&$this.StartPosition$this.TextZ>>$this.Namec>>$this.Typep&>>cancelButton.Name*>>cancelButton.Parent&>>cancelButton.Type*>>cancelButton.ZOrdero:>>clearRecentFilesButton.Namer>>>clearRecentFilesButton.Parent:>>clearRecentFilesButton.Type>>>clearRecentFilesButton.ZOrder*>>generalTabPage.Name.>>generalTabPage.Parent(*>>generalTabPage.Type4.>>generalTabPage.ZOrder.>>languageComboBox.Name2>>languageComboBox.Parent.>>languageComboBox.Type2>>languageComboBox.ZOrderR>>>languageSettingsGroupBox.NameUB>>languageSettingsGroupBox.Parento>>>languageSettingsGroupBox.TypeB>>languageSettingsGroupBox.ZOrder>>okButton.Name">>okButton.Parent>>okButton.Type ">>okButton.ZOrder4>>recentFilesGroupBox.Name8>>recentFilesGroupBox.Parent4>>recentFilesGroupBox.Type8>>recentFilesGroupBox.ZOrder!8>>recentFilesMaxTextBox.Name$<>>recentFilesMaxTextBox.Parent;8>>recentFilesMaxTextBox.TypeP<>>recentFilesMaxTextBox.ZOrder4>>recentFilesMaxlabel.Name8>>recentFilesMaxlabel.Parent4>>recentFilesMaxlabel.Type8>>recentFilesMaxlabel.ZOrderi 4>>selectLanguageLabel.Namel 8>>selectLanguageLabel.Parent 4>>selectLanguageLabel.Type 8>>selectLanguageLabel.ZOrder ">>tabControl.Name &>>tabControl.Parent ">>tabControl.Type& &>>tabControl.ZOrder @>>useSystemLanguageCheckBox.Name D>>useSystemLanguageCheckBox.Parent @>>useSystemLanguageCheckBox.Type D>>useSystemLanguageCheckBox.ZOrderP &cancelButton.AnchorS *cancelButton.Location "cancelButton.Size *cancelButton.TabIndex@ "cancelButton.TextE >clearRecentFilesButton.LocationM 6clearRecentFilesButton.Size >clearRecentFilesButton.TabIndex6clearRecentFilesButton.Text.generalTabPage.Location,generalTabPage.PaddingB&generalTabPage.Size.generalTabPage.TabIndex&generalTabPage.Text2languageComboBox.Location*languageComboBox.Sized2languageComboBox.TabIndex>languageSettingsGroupBox.Anchor BlanguageSettingsGroupBox.Location:languageSettingsGroupBox.SizeVBlanguageSettingsGroupBox.TabIndex:languageSettingsGroupBox.TextokButton.Anchor"okButton.LocationokButton.Size["okButton.TabIndexokButton.Text4recentFilesGroupBox.Anchor8recentFilesGroupBox.Location0recentFilesGroupBox.SizeQ8recentFilesGroupBox.TabIndex0recentFilesGroupBox.Text"SimplifiedChinese\Byte {0}EnglishThe file does not exist!Find reached end of file!GermanItalianJapaneseNo byte is selected7File is locked by another process and cannot be opened!=The file is locked. Do you want to open it in read-only mode?5Program restart required for settings to take affect! [read-only]RussianDo you want to save changes?Simplified Chinese&GlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetfSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Windows.Forms.ImeMode, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089gSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3arSystem.Drawing.ContentAlignment, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3azSystem.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089wSystem.Windows.Forms.DockStyle, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089fSystem.Drawing.Font, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPADPAn؈5i'AAڷ; х(E)F)uC?,όV,z //џ67`-8U>=Z>b0p?H%BCBBh EJ7;M*OOE&Pz&P6aQeQ1S'T(TTVlXXUdjZ`6_߲_Nf1/%f1jjkl\o[q"3su1uh]u}u\wHz52}|A`~S~Tra~~[ 8  ku#R@ v5iJv O  O  [ R   X )1 m6>_ , z-X %  J J R, ,   $j  m6rS8 [Q j yQ4 R '{B$this.Size>>$this.Name>>$this.Type>>label1.Name(>>label1.Parent0>>label1.Type7>>label1.ZOrder>>label5.Name>>label5.Parent>>label5.Type>>label5.ZOrder3>>label7.Name6>>label7.Parent>>>label7.TypeE>>label7.ZOrder >>lblAuthor.Name$>>lblAuthor.Parent >>lblAuthor.Type$>>lblAuthor.ZOrderD">>lblVersion.NameG&>>lblVersion.ParentS">>lblVersion.TypeZ&>>lblVersion.ZOrder&>>lnkWorkspace.Name*>>lnkWorkspace.Parent&>>lnkWorkspace.Type*>>lnkWorkspace.ZOrder`$>>pictureBox1.Namec(>>pictureBox1.Parentp$>>pictureBox1.Typew(>>pictureBox1.ZOrder">>tabChanges.Name&>>tabChanges.Parent">>tabChanges.Type &>>tabChanges.ZOrder">>tabControl.Name&>>tabControl.Parent">>tabControl.Type&>>tabControl.ZOrder">>tabLicense.Name&>>tabLicense.Parent"">>tabLicense.Type.&>>tabLicense.ZOrder$>>tabThanksTo.Name(>>tabThanksTo.Parent$>>tabThanksTo.Type(>>tabThanksTo.ZOrder8">>txtChanges.Name;&>>txtChanges.ParentG">>txtChanges.TypeS&>>txtChanges.ZOrder">>txtLicense.Name&>>txtLicense.Parent">>txtLicense.Type&>>txtLicense.ZOrderd$>>txtThanksTo.Nameg(>>txtThanksTo.Parentt$>>txtThanksTo.Type(>>txtThanksTo.ZOrderlabel1.ImeModelabel1.Location label1.SizeC label1.TabIndex label1.Text label1.TextAlign label5.ImeMode label5.LocationB label5.Size label5.TabIndex label5.Text label5.TextAlign label7.ImeMode3label7.Locationlabel7.Sizewlabel7.TabIndexlabel7.Text  label7.TextAlign* lblAuthor.Anchor"lblAuthor.ImeMode|$lblAuthor.Location$lblAuthor.Size$lblAuthor.TabIndexdlblAuthor.Texti"lblVersion.Anchorx$lblVersion.ImeMode%&lblVersion.LocationlblVersion.Sizei&lblVersion.TabIndex &lnkWorkspace.Anchor(lnkWorkspace.ImeMode*lnkWorkspace.Locationg"lnkWorkspace.Size*lnkWorkspace.TabIndex"lnkWorkspace.Text$pictureBox1.Anchor&pictureBox1.ImeMode(pictureBox1.Location) pictureBox1.Size(pictureBox1.TabIndexi&tabChanges.LocationntabChanges.Size &tabChanges.TabIndextabChanges.Text"tabControl.Anchor&tabControl.LocationitabControl.Size&tabControl.TabIndex&tabLicense.LocationtabLicense.SizeJ&tabLicense.TabIndextabLicense.Text$tabThanksTo.Anchor(tabThanksTo.Location tabThanksTo.SizeE!(tabThanksTo.TabIndex! tabThanksTo.Text!txtChanges.Dock!txtChanges.Font"&txtChanges.Location$txtChanges.Size$&txtChanges.TabIndexG%txtChanges.TextL%&txtChanges.WordWrapN%txtLicense.DockP%&txtLicense.Location%txtLicense.Size&&txtLicense.TabIndex:'txtLicense.Text?'&txtLicense.WordWrapA' txtThanksTo.DockC' txtThanksTo.Font'(txtThanksTo.LocationQ) txtThanksTo.Size)(txtThanksTo.TabIndex* txtThanksTo.Text*(txtThanksTo.WordWrap*@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight8 UCAboutySystem.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089label1$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0897label5$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0894label7$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0893 lblAuthor$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0896 lblVersion$thissSystem.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0892 lnkWorkspace$thiswSystem.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0895 pictureBox1$thisxSystem.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890 tabChanges tabControluSystem.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0892 tabControl$thisxSystem.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0891 tabLicense tabControluSystem.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0891 tabThanksTo tabControluSystem.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890 txtChanges tabChangesySystem.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890 txtLicense tabLicenseySystem.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890 txtThanksTo tabThanksToySystem.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0890A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightH Author:C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.ContentAlignmentvalue__ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightH Link:C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.ContentAlignmentvalue__ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy8 @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightH Version:C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.ContentAlignmentvalue__ D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyX @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Bernhard ElblD WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyX8 @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight D WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyX @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &http://sourceforge.net/projects/hexboxD WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxyv @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightMH  B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight ChangesD WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.PointxyP @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight LicenseD WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089!System.Windows.Forms.AnchorStylesvalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight   Thanks toE WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.DockStylevalue__ F QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnit segoe ui monoASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight E WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.DockStylevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight E WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.DockStylevalue__ F QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnit segoe ui monoASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSethSystem.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPADPADˡ܂ۍD +-f|{ 1WjJ CopyHS CutHS* FindHSFFindNextHS Logo PasteHS{ openHS saveHS@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA|Q cHRMz%u0`:o_F pHYs  ~IDAT8OKSa?Ŕ!7vMD‹-څ^u%) YΘt[LOD:Q:/Ε5q)S9GszfZKCD0嘇g  $etyMnVdה6bg?;ӋǕMWJyxv%l aJuB!cXv`13Hby^'1QBa.H当Mc+t>ղDvv|M Sjl1kGzT@o9/BYsJ;(1 H/*#1oaP#63Y08(rK|ٗmnCv:*tz U]v+8@{^v @1lqh>iixK/ M>rsJLu|54 vsFN1 @ =JcuX`w L{P^i2y{pvaQkH&a< }ĎwPgN| {p :aJL#$BsHF LL;8Ѝ]dV"9KuMhZ!jLՄ%l@2Wu.j YS".+ gDY4O[zAhk9ɅUIENDB` @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData xPNG  IHDRagAMA|Q cHRMz%u0`:o_F pHYs  ~IDAT8OKqߛƊh06Jk2#;217'5)CfY֖Š 2]t!@AvUQwA؅~WԂ.>| / j{m$mhfȹߏ@E=Wt̳?}Pov2^!QK/^FϿPT;Zg6ؑ"c7p9q$\1H5)emd:g {\`x]c@u PکAN ,n Q < TpF Fµwk EzAA^]ݹ }f k0#*:ӓ)kHGd01D'Q^QOPsŠP#4peǙy>d@\︐!A܆ YܐT/AH鄠ЌN JAJiKXd+[%40 eIENDB` @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRLLǗQ+gAMA|Q cHRMz%u0`:o_F pHYs  d_tEXtSoftwarePaint.NET v3.5.100rlIDATx^/l"A*HESUQU[QI p5\uA!QhZCBiE LEk**lI^s/yomޗa' B D4?McD"XD1Ca<`a","L!E0?D0c?knߏ|ttNzd:b\_oXh|}}Vehg7=ӏL{$9L`=<< < cB=>>F_ m>GcX\aBg~4ф$nnnlo#olVRi,ggg[u65 0O&yJEg VjF|pW1+l0Eh4ZfUFg8_ ;<>>`RV#u[:!Ha( nRgv0Ҙ<E,| Xgpa& ain{[q$4; 4uDg\ vur>l,|# e# 0 WWW[u qv%S R{/ V]O?"5`O`6~qf Vg8G%Xa؃Y8-P} u&`NcN$ nY hah}۝]@j7ha.zyy/D??? `VK€{VC&lF_>KfzjU \.p'-%L"D"XD1Ca<`a","L!ŞirCASIENDB` @ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA|Q cHRMz%u0`:o_F pHYs  ~_IDAT8OkHSa]O}*DQA!P /-ČELdH-Mmiڌ 5o()E"$"y9GMG =9tΤ*mLv_w<-Ez [wy##Ux*WcJ͓DYT; V+Zee O{+10=Vca52uڔaJzi芥nq77"e,L(NcS uJ0bm z#]8>\r/Ԫd3೜GU ڞʗ.lm{13G>q‰qQ_(ɕ󽔡tr$ ksg8G=4Ԛf9*6b't 3/N1t:WҞ?W+lLl Uf,͉IDAT8OKQ/7A/zkScS,ү',-$ETt.ZM‰F &b,%+5ġD0v}tK{S{+#JwZ]xXFsKKgPTy== lP񯱾 }b/$B^pAy*qJSʒt SqWl_|+0wk-$ l \pۏ:MTϢ ) oa:7ȻM ;ӱig C " JO[MѝR=AT\t2Yp;&I!i-`bfb]׷rX}@XZ"xl|%Kί"Z;y1ѹ -H7104"T!Kx҄ѐ;SQatgڕQ* #IENDB` (F n00hV ( ( @(0`(0 {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Segoe UI Mono;}{\f1\fmodern\fprq1\fcharset0 Courier New;}{\f2\fswiss\fcharset0 Arial;}} {\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\lang1031\b\f0\fs16 A lot of thanks to some people. \par \b0\par \b Developers\b0\par - Eric Lawrence (some great fixes)\par - Dave Cluderay (DynamicFileByteProvider)\par - Andrew Whewell (EBCDIC 500)\par - Bart Tormans\par - Itai Basel\par \par \b Translators\b0\par - wwwcfe (Japanese)\par - Vladimir (Russian)\par - Regnad (Simplified Chinese)\par - Michele (Italian)\par \par And all others who reports bug and hints\par \f1\par \lang1033\f2\fs20\par } {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1031\deflangfe1031{\fonttbl{\f0\fnil\fcharset0 Segoe UI Mono;}} {\*\generator Riched20 6.2.9200}\viewkind4\uc1 \pard\nowidctlpar\b\f0\fs16\lang1033 Version history\par 1.5.0\par \b0 - Improvement: Moved to .NET Framework 4.0 for a better Win 8 support\par - Improvement: Moved to Visual Studio 2012\par - New feature: Bit editor added\par - New feature: Added encoding switch tool strip items\par - Improvement: Switched to Segoe UI font\par - Improvement: LineInfoColor renamed to InfoColor.\par - Improvement: BoldFont removed\par - Improvement: Changes in DesignMode property\par - Improvement: Find dialog, Find Next button renamed to Find\par - Bug fix: Setting a custom ContextMenuStrip is possible now\par - Bug fix: Static FormHexEditor renamed to ApplicationForm\par \b\par 1.4.8\par \b0 - New feature: UseFixedBytes=false together with StringViewVisible=true \par - New feature: ColumnInfo added\par - New feature: Byte grouping shown with vertical separator line added\par - New feature: Case insensitive Find operations added\par - Improvement: Find dialog is shown non-modal now\par - Improvement: Moved find cancel to Find dialog\par - Improvement: Shadow selection is now working when focus is away\par - Improvement: Some changes in main dialog. Removed all borders\par - Improvement: ShowInTaskbar is set to false for Goto and Find dialog\b\par \par 1.4.7\par \b0 - Improvement: Be.HexEditor is now licensed under the MIT License\par - Improvement: Changes of the byte char converter implementations\par - Improvement: DynamicByteProvider memory management improved\par - Bug fix: PageUp, PageDown is working correctly now\par - Bug fix: BuiltInContextMenu menu items event handlers are fixed now\b\par \par \par 1.4.6\par \b0 - New feature: Italian language added\b\par \par 1.4.5\par \b0 - New feature: Simplified Chinese language added\b\par \par 1.4.4\par \b0 - Improvement: Support for .NET Client Profile added\par - Bug fix: DEL and Back key are respecting Readonly property\b\par \par 1.4.3\par \b0 - New feature: LineInfoOffset property added\par - New feature: EBCDIC 500 support added\par - Bug fix: Ask for "Save Changes" on form close\par - Bug fix: Find next is working correctly now\par - Bug fix: Copy and Copy Hex menu item clicks are correct now\par - Improvement: Cyclomatic Complexity of key-down processing improved \b\par \par 1.4.2\par \b0 - New feature: Russian language added\par - New feature: Select All menu item added\par - New feature: BuiltIn ContextMenu added for Copy, Cut, Paste\par - Bug fix: OnBytesPerLineChanged is invoked correctly now\par - Improvement: Dialog properties changed\par - Improvement: Selection is only available using left mouse button click\par - Improvement: Solution files updated to Visual Studio 2010\b\par \par 1.4.1\par \b0 - New feature: Japanese language added\par - Bug fix: German translation of Copy, Copy Hex,Paste and Paste Hex added\b\par \par 1.4.0\par \b0 - New feature: \fs17 Copy Hex and Paste Hex added\fs16\par - New feature: \fs17 Scroll with mouse selection\fs16\par - Bug fix: \fs17 Unhandled exception in DynamicFileByteProvider.DeleteBytes\fs16\par - Buf fix: \fs17 ByteCollection.Contains method signature fixed\fs16\par - Bug fix: \fs17 End key does not always scroll byte into view\fs16\par - Bug fix: \fs17 Selection Shift-Down after Shift-Up does not work correctly\fs16\par - Improvement: App.ico as main form icon \par - Improvement: InsertActive-mode changes caret width\par - Improvement: MaximumSize of main form changed\par - Improvement: \fs17 DynamicFileByteProvider constructor with stream parameter added\fs16\par \par \b 1.3.0\b0\par - New feature: Multilanguage support (English, German)\par - New feature: Recent files added\par - New feature: Options dialog added\par - New feature: Refresh during thumbtrack scrolling\par - New feature: File size shown in status bar\par - Bug fix: BackColor is not recognized\par - Bug fix: Somethimes crashes on files > 8 GB\par - Improvement: Can open file in read-only mode\par - Improvement: Ported to .NET 2.0\par - Improvement: Solution converted to Visual Studio 2008\par - Improvement: TextBox border rendering changed (without pinvoke)\par - Improvement: New ToolStrip controls and icons\par - Improvement: pinvoke signatures dropped\b\par \par \par 1.2.0\par \b0 - Note: Thanks to Dave Cluderay\par - New feature: DynamicFileByteProvider with Insert/Delete support\par - New feature: Open Dynamic(Big files also) added\par \b\par 1.1.3\b0\par - Note: Thanks to Eric Lawrence\par - New feature: LineInfoForeColor property added\par - Bug fix: CanCut, CanPaste take regard of ReadOnly\par - Bug fix: Ensure that we don't paint LineInfo for empty lines when array is empty.\par - Bug fix: Use first byte of line as address in LineInfo to mimic classic HexEditors.\b\par \par 1.1.2\b0\par - Bug fix: Scrolling to the end is not working correctly.\b\par \par 1.1.1\b0\par - Bug fix: Scrolling does not work as expected.\par - Bug fix: Exclude border region during text drawing.\par - New feature: InsertActive-property\par \b\par 1.1\b0\par - Improvement: Removed gradient style feature.\par - New feature: ReadOnly property added\par - Improvement: Keys events are fireing correctly now\par - New feature: Activate/Deactivate insert with "Insert"-key\par - Improvement: Changes in Tab-key processing\par - New feature: Mouse wheel support\par - Improvement: Simplified scrolling methods\par \b\par \par 1.0.2\b0\par - New feature: HexEditor can open files using the DynamicByteProvider\par - Improvement: IByteProvider is now extended with Changed event\par - Improvement: Themes.dll is replaced with Win32 API\'b4s\par - Bug fix: Another cursor hidden bug fix\par - Bug fix: Cannot move up with "Up"-key on special conditions\par \b\par 1.0.1\par \b0 - Bug fix: Caret is hidden sometimes\par \b\par 1.0.0\b0\par - Windows XP style added\par - Improved support for Copy and Paste\par - Bug fix: Find doesn\'b4t work corretly\ul\par \ulnone\par \b 0.9.1\b0\par - Checked against FxCop (2004-11-29)\par - New feature: HexFontEditor class added (2004-11-20)\par - Performance improvement: HexBox.Find method (2004-10-14)\fs20\par } EThe MIT License Copyright (c) 2011 Bernhard Elbl Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.3PNG  IHDRLLǗQ+gAMA|Q cHRMz%u0`:o_F pHYs  ~tEXtSoftwarePaint.NET v3.5.100rIDATx^/hzQ &iՠ0lŶ d0 `ea+ ;y o;9JL! P_M&C=jZv 0#]&0$t 0&(L1 0Ea l٨FRJDXLJ%5Lng2N{_W秪`ۛNlhx8u F\.~`8f QYu:Xף<>>ŜV,-%^0yPY`hL&)>fK'AMҠRzh$0;01;ju'aK+j ڝ@:`0(M4*J?Am0%mQ=~`ڥ= ?  L,Ib#YV`:,*<)n'K$5IW)s"0kWZ; cY`8S8Aj׳( R>i۔f{g3s4SA; ڧ2渋^0?T߫t~|| /0qpy`^S.@i 4+& Z` A DTQwwwz7zxv.5 K1i 0$t 0&(L1 0EaI[aC}£B FKB@!#_IENDB`BSJB v2.0.50727l&#~<'T0#StringsW(#USm#GUIDm #BlobW] %3,) +>   'U?_ q  ?1G 0x 2! cNl?Z          J?]t      / J e ~  !  $ S3 s3  2H[#z  A  N   ?Bo??  3  L ;& N  *!J!?c!?!! ""#<#r## $$*$ y$N $ $$? $ %%%%D%%%%%%%%&[&8&N&& &&&' '& 9'&a'''' ' 'k(?((( (@)))!*w*w++ + + ,,,,?,? - F- {- -&- - -.N. _. w.g.&3& ;& G& )N& 5X& !9a& 3Oj& :Xx& qs&tw& x&z&  " "8* d7m@mMqZqgzS d#9MdmmBo]&f *7;;mfmm!?.?4" dfC 7mf g m * lfC p t d     *@Uk-AUi|70Dau '?ZnqV)t6wV2^ d tBommmm&m1<mGRmhq~vm * !=!T!2&#A.#M3 $Y&$&d93&q?C&zE t&K &R &R'X']l(K(R(K(h(&*n} *x)*1*:*2P**** + S+-![+@X!x+e"+{h"+2&#-K#-K%t.K'.h).&*|32&*3*3*3*3+3+$4+L4+t4+4+4+4+52&+"5h+D5&,I6vK,Q62&.6EK.6h06&1=<sG1E<L1T<R2\<W2h<&3L=K3=K5=K7=K9=vK;>&=? &=? &=@5 K=6@E K?@@[ &A@h KA@s KC\A2&EjAhEA&F$D F:D GPD HhD KHDvKJD5 KLD2&N E- wN|EL &PTFQ KPyFj &RF &R4G &RG &RH &RH RI &S,J SJ &SK &S K SK&SK KSK &U'L U4L/ WhL? KYpLM K[xL^ K]L| K_L KaM KcM KeM KgM KiM KkM KmM KoM KqN KsN. KuN9 Kw%NH Ky-NS K{:Nt K}BN KPN uN KN N K0O- K8OR &`Om KOhO&bEbTbT b^bj b2&cc!c'(c-:c@XMce_c{hrccc2&c,Hc2&c2BcL &cAeIHIevMQeRjeXe&5f&Lfhkf&xff!f2f.f7f2&fg&g.gNeDgWeZgcepgxegegegegegege he he6heLhebh6exh2&ih4i&Xn{nwoo&--1&&-&9CLLLR&&&99&&9&&&&&&&&&9Wa&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&9nsvvv{ &9 9&2222222222h222X2&!7)C!7IK 2& 2&1eA:kY2&ARrQ2yAcAoAYq2&Aqq2AQ2XaA2AA7I2A2q+97eA2&MX[hAiXAvhAA+  A&tAA62A.=QC *N 2A< XAH2&SgXa{uau{ahahXh2y2&A%&3PAbh22 2&2&22 2&A*)C Qd92&9A9!Q'9/ai#i5iEiWiiXi{q&GAhh2&2&2&2&2&2&2&iXhhRi hh1 AD G] Yn h~ h h hA &2`2&!3!2@!2&x!Y!e!&1 2&2&2B2&!hh9!eA!k!!X!"'"1"F"["o"""9"k9""k"#%#..#!hJ# [#j#2##A##h#!$#/#7#5#h# B$H9$L>$&C$&I$&S$S$^$2$fl2&)$&12~$x)$&1$$n9 %1A%2&A7%Q2I`% z%% %a2ki2A%y2A%Y%2&12&7D 2&q.&f&qiXqx&&& h&&&&&' ' 2#''2&E'&AR'9$=n''g'D'K't'Q''_ (m424(4(<2<(4n1(&5(&:(&@(&H(&Q(&![({(hq((!))1!h)1)A")&12&92&A2&I2&i2&q2&Q2&a2&Y2&A:kA.&-)6)12a)1y)h11 A)))e!ki):kqRq)Xq*A5*QD*hocAS*ha*h*9*e*h*h*h*h* +&+=+^+i+Y2A+A++a2+ i2&q+@q ,F,Lq4,FG,HZ,R|,Wy,qQqq,!2&2&2)2&i2!-26-X!26-X?-?-2#W-^-o-=2&&- &)h-*'" -$ -* A-1 -; .A 2&2&qh21.P A.h6)h2C$W 9$ l2&=' ).[ .S.;.s .k ..3. . s .# .+s cf cacf       iA S  UGT^5N<Z^t%.7Yy]   G ` f n %   3u 2#!*!0!7!B!G!N!V!Z]b .3!9`@9I92LiQiYijiiiiiiiiiiii    ! " *+,-./01234!>#=#?%@%'))++--//113355799;=?ACEGIKMOQSUW^m)Vfr^& Ax..h.+.l.p/I9/\/{// ///070 !PBe.HexEditor.exeBitControlBe.HexEditorBitInfoFormOptionsimagesFormAboutFormFindFormGoToFormHexEditorProgramSettingsBe.HexEditor.PropertiesRecentFileHandlerFileMenuItemstringsUCAboutUtilSystem.Windows.FormsUserControlmscorlibSystemObjectFormSystem.ConfigurationApplicationSettingsBaseSystem.ComponentModelComponentToolStripMenuItemSystem.Collections.GenericList`1RichTextBox_txtBitsEventHandlerBitChangedadd_BitChangedremove_BitChangedEventArgsOnBitChangedFlowLayoutPanel_innerBorderHeaderPanel_innerBorderPanel.ctor_bitInfoget_BitInfoset_BitInfoUpdateViewGetBitSetIntIsBitSetSetBittxt_TextChangedNavigateLeftNavigateRightNavigateToKeyEventArgstxt_KeyDowntxt_SelectionChangedUpdateSelectiontxt_EnterIContainercomponentsDisposeInitializeComponentLabellblValuelblBitPanelpnBitsEditorpnBitsHeader_valueget_Valueset_Valueget_Positionset_PositionToStringGetBitAsStringget_Itemset_ItemSystem.CollectionsBitArrayConvertToBytek__BackingFieldValuePositionItemrecentFilesMaxget_RecentFilesMaxset_RecentFilesMaxuseSystemLanguageget_UseSystemLanguageset_UseSystemLanguageclearRecentFilesButton_ClickokButton_ClickuseSystemLanguageCheckBox_CheckedChangedTabControltabControlTabPagegeneralTabPageButtonokButtoncancelButtonGroupBoxrecentFilesGroupBoxclearRecentFilesButtonrecentFilesMaxlabelTextBoxrecentFilesMaxTextBoxlanguageSettingsGroupBoxselectLanguageLabelComboBoxlanguageComboBoxCheckBoxuseSystemLanguageCheckBoxRecentFilesMaxUseSystemLanguageSystem.ResourcesResourceManagerresourceManSystem.GlobalizationCultureInforesourceCultureget_ResourceManagerget_Cultureset_CultureSystem.DrawingBitmapget_CopyHSget_CutHSget_FindHSget_FindNextHSget_Logoget_openHSget_PasteHSget_saveHSCultureCopyHSCutHSFindHSFindNextHSLogoopenHSPasteHSsaveHSucAbout1btnOKContainerbtnOK_ClickBe.Windows.Forms.HexBoxBe.Windows.FormsHexBoxhexFindtxtFindRadioButtonrbStringrbHexlabel1btnCancelgroupBox1lblPercentlblFindingchkMatchCaseTimertimerPercenttimerflowLayoutPanel1ByteProvider_ChangedFindOptions_findOptionsget_FindOptionsset_FindOptionsget_HexBoxset_HexBoxReinitializerb_CheckedChangedrbString_EnterrbHex_EnterFormFind_Activated_findingFindNextUpdateUIToNormalStateUpdateUIToFindingStatebtnCancel_ClicktxtString_TextChangedValidateFindtimer_TicktimerPercent_Tickk__BackingFieldNumericUpDownnuplabel2SetDefaultValueSetMaxByteIndexGetByteIndexFormGoTo_Activated_formFind_formGoto_fileNameToolStripRenderEventArgsRenderer_RenderToolStripBorderInitencodingMenuItem_ClickedUpdateFileSizeStatusDisplayTextManageAbilityManageAbilityForCopyAndPasteOpenFileSaveFileDialogResultCloseFileCleanUpFindShowFindFormFindCancel_ClosedGotoDragEventArgshexBox_DragEnterhexBox_DragDrophexBox_CopiedhexBox_CopiedHexhexBox_SelectionLengthChangedhexBox_SelectionStartChangedPosition_ChangedbyteProvider_ChangedbyteProvider_LengthChangedopen_Clicksave_Clickcut_Clickcopy_Clickpaste_ClickcopyHex_ClickpasteHex_Clickfind_ClickfindNext_ClickgoTo_ClickselectAllToolStripMenuItem_Clickexit_Clickabout_ClickToolStripItemClickedEventArgsrecentFiles_DropDownItemClickedoptions_ClickFormClosingEventArgsFormHexEditor_FormClosingtoolStripEncoding_SelectedIndexChangedbitsToolStripMenuItem_CheckedChangedUpdateBitControlVisibilitybitControl1_BitChangedMenuStripmenuStripfileToolStripMenuItemopenToolStripMenuItemToolStripSeparatortoolStripSeparatorsaveToolStripMenuItemtoolStripSeparator2exitToolStripMenuItemeditToolStripMenuItemcutToolStripMenuItemcopyToolStripMenuItempasteToolStripMenuItemtoolStripSeparator4findToolStripMenuItemtoolsToolStripMenuItemoptionsToolStripMenuItemhelpToolStripMenuItemaboutToolStripMenuItemToolStriptoolStripToolStripButtonopenToolStripButtonsaveToolStripButtontoolStripSeparator6cutToolStripButtonhexBoxStatusStripstatusStripfindNextToolStripMenuItemgoToToolStripMenuItemOpenFileDialogopenFileDialogToolStripStatusLabeltoolStripStatusLabelrecentFilesToolStripMenuItemtoolStripSeparator1fileSizeToolStripStatusLabeltoolStripSeparator3copyHexStringToolStripMenuItempasteHexToolStripMenuItemToolStripSplitButtoncopyToolStripSplitButtoncopyToolStripMenuItem1copyHexToolStripMenuItem1pasteToolStripSplitButtonpasteToolStripMenuItem1pasteHexToolStripMenuItem1toolStripSeparator5selectAllToolStripMenuItembitToolStripStatusLabelToolStripComboBoxencodingToolStripComboBoxviewToolStripMenuItemencodingToolStripMenuItembitsToolStripMenuItembitControl1bodyPanelSoftwareNameApplictionFormMainExceptionShowErrorShowMessageShowQuestiondefaultInstanceget_DefaultSystem.Collections.SpecializedStringCollectionget_RecentFilesset_RecentFilesget_SelectedLanguageset_SelectedLanguageDefaultRecentFilesSelectedLanguageMaxRecentFilesAddFileGetIndexOfRecentFilerecentFileToolStripItemget_RecentFileToolStripItemset_RecentFileToolStripItemPropertyChangedEventArgsDefault_PropertyChangedReCreateItemsClearRecentFileToolStripItemfileNameget_FileNameset_FileNameget_Textset_TextFileNameTextget_Byteget_Englishget_FileDoesNotExistget_FindOperationEndOfFileget_Germanget_Italianget_Japaneseget_NoByteSelectedget_OpenFailedget_OpenReadonlyget_ProgramRestartSettingsget_Readonlyget_Russianget_SaveChangesQuestionget_SimplifiedChineseByteEnglishFileDoesNotExistFindOperationEndOfFileGermanItalianJapaneseNoByteSelectedOpenFailedOpenReadonlyProgramRestartSettingsReadonlyRussianSaveChangesQuestionSimplifiedChineselabel5label7lblAuthorlblVersiontabLicensetxtLicensetabChangestxtChangesPictureBoxpictureBox1LinkLabellnkWorkspacetabThanksTotxtThanksToLinkLabelLinkClickedEventArgslnkCompany_LinkClickedGetDisplayBytesConvertBytesDisplayConvertToOneDigitvalueebposBitNumbersendertxtindexOfdisposingpositionindexbitsbyteIndexmaxByteIndexargsextextcontainerfilenamesizequanSystem.ReflectionAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyConfigurationAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeAssemblyCultureAttributeAssemblyVersionAttributeSystem.Runtime.InteropServicesComVisibleAttributeNeutralResourcesLanguageAttributeSystem.Security.PermissionsSecurityPermissionAttributeSecurityActionSystem.Runtime.CompilerServicesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeDelegateCombineSystem.ThreadingInterlockedCompareExchangeRemoveInvokeSystem.Windows.Forms.VisualStylesVisualStyleInformationColorget_TextControlBorderControlset_BackColorDockStyleset_DockPaddingset_Paddingset_MarginControlCollectionget_ControlsAddInt32set_TagBorderStyleset_BorderStyleFontFontStyleGraphicsUnitset_FontStringConcatset_NameSizeset_Sizeadd_EnterKeyEventHandleradd_KeyDownget_WhiteTextBoxBaseset_MaxLengthset_Multilineset_TabIndexset_Visibleadd_SelectionChangedEnumeratorGetEnumeratorget_Currentremove_TextChangedMoveNextIDisposableEmptyget_Tagadd_TextChangedInvalidOperationExceptionop_InequalityIndexOfget_Countget_FocusedFocusKeysget_SelectionLengthset_SelectionLengthget_Modifiersget_KeyCodeContainsset_SuppressKeyPressset_Handledset_SelectionStartContainerControlTypeRuntimeTypeHandleGetTypeFromHandleComponentResourceManagerSuspendLayoutApplyResourcesAutoScaleModeset_AutoScaleModeResumeLayoutDesignerSerializationVisibilityAttributeDesignerSerializationVisibilityDefaultMemberAttributeCompilerGeneratedAttributeFormatArgumentExceptionArrayCopyToControlBindingsCollectionget_DataBindingsBindingIsNullOrEmptyget_CurrentCultureget_TwoLetterISOLanguageNameSystem.DataDataTableDataColumnCollectionget_ColumnsDataColumnDataRowCollectionget_RowsDataRowDataViewget_DefaultViewset_Sortset_DataSourceListControlset_DisplayMemberset_ValueMemberset_SelectedValueget_SelectedIndexset_SelectedIndexget_SelectedValueSettingsBaseSaveset_DialogResultget_Checkedset_Enabledset_UseVisualStyleBackColorset_TabStopComboBoxStyleset_DropDownStyleset_FormattingEnabledButtonBaseadd_CheckedChangedadd_ClickIButtonControlset_CancelButtonset_MaximizeBoxset_MinimizeBoxset_ShowIconset_ShowInTaskbarPerformLayoutSystem.CodeDom.CompilerGeneratedCodeAttributeSystem.DiagnosticsDebuggerNonUserCodeAttributeReferenceEqualsAssemblyget_AssemblyGetObjectEditorBrowsableAttributeEditorBrowsableStateset_AcceptButtonSystemColorsget_ControlCloseset_Checkedget_Blueset_ForeColoradd_Tickset_IntervalBuiltInContextMenuget_BuiltInContextMenuImageset_CopyMenuItemImageGetStringset_CopyMenuItemTextset_CutMenuItemImageset_CutMenuItemTextset_PasteMenuItemImageset_PasteMenuItemTextset_SelectAllMenuItemTextset_InfoForeColorFromArgbset_ShadowSelectionColorFormBorderStyleset_FormBorderStyleadd_ActivatedFindTypeget_Typeget_MatchCaseIByteProviderget_ByteProviderremove_Changedget_HexDynamicByteProviderset_ByteProvideradd_Changedget_Enabledset_MatchCaseget_BytesToArrayset_Hexset_Typeset_IsValidget_IsValidApplicationDoEventsMessageBoxMessageBoxButtonsMessageBoxIconShowStopStartAbortFindget_Lengthget_CurrentFindingPositionNumberFormatInfoget_NumberFormatDoubleIFormatProviderISupportInitializeBeginInitDecimalset_MinimumEndInitop_Implicitset_MaximumConvertToInt64UpDownBaseSelectToolStripRendererget_RendererToolStripRenderEventHandleradd_RenderToolStripBorderget_ToolStripGetTypeGraphicsget_GraphicsSolidBrushPenBrushget_WidthPointget_HeightDrawLineDefaultByteCharConverterToolStripItemEbcdicByteCharProviderObjectCollectionget_ItemsToolStripDropDownItemToolStripItemCollectionget_DropDownItemsset_SelectedItemDynamicFileByteProviderget_ReadOnlySystem.IOPathGetFileNameHasChangesCanCopyCanCutCanPasteCanPasteHexCommonDialogShowDialogFileDialogFileExistsadd_LengthChangedIOExceptionApplyChangesget_IsDisposedIWin32Windowget_SelectionStartDragDropEffectsset_EffectIDataObjectget_DataDataFormatsFileDropGetDataget_CurrentLineInt64get_CurrentPositionInLineNullable`1ReadByteget_HasValueGetValueOrDefaultCutCopyPasteCopyHexPasteHexSelectAllget_ClickedItemCancelEventArgsset_Cancelget_SelectedItemIByteCharConverterset_ByteCharConverterSystem.Windows.Forms.LayoutArrangedElementCollectionIEnumeratorget_ByteCharConverterWriteByteInvalidateAddRangeset_ImageToolStripItemClickedEventHandleradd_DropDownItemClickedset_CheckOnClickToolStripGripStyleset_GripStyleToolStripItemDisplayStyleset_DisplayStyleget_ControlTextadd_ButtonClickset_DropDownWidthadd_SelectedIndexChangedToolStripRenderModeset_RenderModeset_SizingGripset_AllowDropset_ColumnInfoVisibleHexCasingset_HexCasingget_Grayset_LineInfoVisibleset_StringViewVisibleset_UseFixedBytesPerLineset_VScrollBarVisibleadd_SelectionStartChangedadd_SelectionLengthChangedadd_CurrentLineChangedadd_CurrentPositionInLineChangedadd_Copiedadd_CopiedHexDragEventHandleradd_DragDropadd_DragEnterset_MainMenuStripFormClosingEventHandleradd_FormClosingSTAThreadAttributeThreadget_CurrentThreadset_CurrentUICultureCreateSpecificCultureset_CurrentCultureEnableVisualStylesSetCompatibleTextRenderingDefaultRunget_MessageBoolean.cctorSynchronizedUserScopedSettingAttributeDefaultSettingValueAttributeIComponentPropertyChangedEventHandleradd_PropertyChangedOperationCanceledExceptionRemoveAtInsertStringComparisonEqualsget_PropertyNameop_EqualityMathMinget_OwnerItemGetExecutingAssemblyStreamGetManifestResourceStreamRichTextBoxStreamTypeLoadFileAssemblyNameGetNameVersionget_VersionLinkLabelLinkClickedEventHandleradd_LinkClickedset_ReadOnlyProcessStartInfoProcessSystem.SecurityUnverifiableCodeAttributeBe.HexEditor.BitControl.resourcesBe.HexEditor.FormAbout.resourcesBe.HexEditor.FormFind.resourcesBe.HexEditor.FormGoTo.resourcesBe.HexEditor.FormHexEditor.resourcesBe.HexEditor.FormOptions.resourcesBe.HexEditor.strings.resourcesBe.HexEditor.UCAbout.resourcesBe.HexEditor.images.resourcesBe.HexEditor.App.icoBe.HexEditor.Resources.ThanksTo.rtfBe.HexEditor.Resources.Changes.rtfBe.HexEditor.Resources.license.txtBe.HexEditor.Images.Logo.pngConsolaslbltxt0/Der Wert fr BitNumber  war nicht im zulssigen Bereich! (BitNumber = (min)0 - (max)7)lblValue lblBitpnBitsEditorpnBitsHeader $thisBitControl1{0}{1}{2}{3}{4}{5}{6}{7}1 bits TextRecentFilesMaxChecked#UseSystemLanguage Name Valueendeitjaru zh-CNtabControlgeneralTabPage1languageSettingsGroupBox'selectLanguageLabel!languageComboBox3useSystemLanguageCheckBox'recentFilesGroupBox-clearRecentFilesButton'recentFilesMaxlabel+recentFilesMaxTextBoxokButtoncancelButtonFormOptions'Be.HexEditor.images CopyHS CutHS FindHSFindNextHS Logo openHSPasteHS saveHSucAbout1 btnOKFormAbouttxtFindrbString rbHex label1btnCancelgroupBox1lblPercentlblFindingchkMatchCasehexFindWhexFind.BuiltInContextMenu.CopyMenuItemTextUhexFind.BuiltInContextMenu.CutMenuItemTextYhexFind.BuiltInContextMenu.PasteMenuItemTextahexFind.BuiltInContextMenu.SelectAllMenuItemText!flowLayoutPanel1FormFindBe.HexEditor. en-US 0.00 %nup label2FormGoTo{0}{1} - {2}#Ln {0} Col {1}+Bits of Byte {0}: {1}menuStrip+fileToolStripMenuItem+openToolStripMenuItem%toolStripSeparator+saveToolStripMenuItem'toolStripSeparator29recentFilesToolStripMenuItem'toolStripSeparator1+exitToolStripMenuItem+editToolStripMenuItem)cutToolStripMenuItem+copyToolStripMenuItem-pasteToolStripMenuItem'toolStripSeparator3=copyHexStringToolStripMenuItem3pasteHexToolStripMenuItem'toolStripSeparator4+findToolStripMenuItem3findNextToolStripMenuItem+goToToolStripMenuItem'toolStripSeparator55selectAllToolStripMenuItem+viewToolStripMenuItem3encodingToolStripMenuItem+bitsToolStripMenuItem-toolsToolStripMenuItem1optionsToolStripMenuItem+helpToolStripMenuItem-aboutToolStripMenuItemtoolStrip'openToolStripButton'saveToolStripButton'toolStripSeparator6%cutToolStripButton1copyToolStripSplitButton-copyToolStripMenuItem13copyHexToolStripMenuItem13pasteToolStripSplitButton/pasteToolStripMenuItem15pasteHexToolStripMenuItem13encodingToolStripComboBoxstatusStrip)toolStripStatusLabel9fileSizeToolStripStatusLabel/bitToolStripStatusLabelUhexBox.BuiltInContextMenu.CopyMenuItemTextShexBox.BuiltInContextMenu.CutMenuItemTextWhexBox.BuiltInContextMenu.PasteMenuItemText_hexBox.BuiltInContextMenu.SelectAllMenuItemText hexBoxbodyPanelbitControl1FormHexEditorRecentFiles!SelectedLanguageQrecentFileToolStripItem can not be null!{0} {1})Be.HexEditor.strings ByteEnglish!FileDoesNotExist-FindOperationEndOfFile GermanItalianJapaneseNoByteSelectedOpenFailedOpenReadonly-ProgramRestartSettingsReadonlyRussian'SaveChangesQuestion#SimplifiedChineseGBe.HexEditor.Resources.ThanksTo.rtfEBe.HexEditor.Resources.license.txtEBe.HexEditor.Resources.Changes.rtflblAuthorlnkWorkspace label5lblVersion label7tabThanksTotxtThanksTotabLicensetxtLicensetabChangestxtChangespictureBox1UCAbout Bytes'{0} {1} ({2} Bytes)KBMBGBTB'###,###,###,###,###0.#u6LW9slz\V4!% % )-          ) !  15 9=(             A (( (  EIMQUY]((aeaee?_ :iaei<mɘcquy} } } q q(}(q        0Be.HexEditor$,,  ,(( 5    (!    $$RSA1Tu]P E^koIod=h6Ȅz{0½<|k k&@"j?V8ΕdH~ "[xyoɐOg#x!LL4VS_VERSION_INFO^^?DVarFileInfo$TranslationStringFileInfo000004b0\"CommentsView and edit files in hex format(CompanyNameBeD FileDescriptionBe.HexEditor8 FileVersion1.5.0.24284DInternalNameBe.HexEditor.exe(LegalCopyright LOriginalFilenameBe.HexEditor.exe< ProductNameBe.HexEditor< ProductVersion1.5.0.24284@ Assembly Version1.5.0.24284( ( @(0`(0 ( 00h `;Be.HexEditor.150/bin/Be.HexEditor.exe.config0000644000000000000000000000201112043215334017226 0ustar rootroot
6 True Be.HexEditor.150/bin/Be.Windows.Forms.HexBox.dll0000644000000000000000000025000012043215334017777 0ustar rootrootMZ@ !L!This program cannot be run in DOS mode. $PELscP!   .6 @ ~@5W@`  H.text4  `.rsrc@0@@.reloc `@@B6H Ƞ jP /(02_ '0f\]JpZ[UІdPRO `P5^ (-u3ajR:n5L>+q[O*[Ah>ñQt?P ( }{s o*(*0p(,*{:s ((s s }o {o &((s s }o {o &((s s }o {o &o s o &((s s }o {o &s o }{o?- {o {3 {o *{o?,{o -{{o *0Y{{oo {{oo {{oo {{oo *2{o*2{o*2{o*2{o*{*"}*{*"}*{ *"} *{ *"} *j( ( ,rp*( *j( ( ,r p*( *j( ( ,rp*( *j(( ,rp*(*{ *"} *{ *"} *{ *"} *{*"}*($ *:($ ("*J(% o& L*N(% Lo' *N(% Lo( &*6() o* *J(% Lo+ *:() o, *:() o- *0(. L () io/ *N() Lo0 *J() Lo1 *J() Lo2 *:() o3 *0(. L (**>}}*{*{*{*{*{*(5 *Js5 }(5 *0Ws5 }(5 - r3ps6 zo7 +o t (;o8 -u ,o9 *&E{*&(A*&(B*z{-(F*{(B*z{-(F*(D(A*"(C*{- rIps: z{(C*{- rIps: z(D(C*F(A(C*09(7 +o1 (E -}}%{X}*0R}{}}{, {}}%{X}%{X}*0b}{}}{, {}}{3}%{X}%{X}*0V{ { ,},}{3}(E%{Y}%{X}*0 (7 +  o1 -*Z}}}*}}}}%{X}%{X}*0$u (7 +%Xo1 -*{* *{*sL*(5 }{}}}*{2{{oH1 r{ps: z{*0~{{{. r:ps: z{{oH2*%{X% }-{o7}+{o1}{{oH*{{{. r:ps: z}}**6s; (`*:(5 }*v}{, {o< *Z{, {o< *{*{*"}*0){  (= t |(+ 3*0){  (? t |(+ 3*0){  (= t |(+ 3*0){  (? t |(+ 3*:{io@ *j{ioA ~B (a*0>j(C i (nij(D i {oE ~B (b~B (a*{ioF ~B (b~B (a*6{oG j* * * *&(s*(5 }!-(H }"+(H }"}%(*0D(5 - rps6 zoI - rpsJ z}"oK }%(*0){&  (= t |&(+ 3*0){&  (? t |&(+ 3*0){'  (= t |'(+ 3*0){'  (? t |'(+ 3*08 ( u  ,oXY(*t oYԑ*0U ( u ,oY/t  3Do2,<o2u,+o jo o/j3 {# o< o/XjY3Do1,<o1u,+o jo o/j3 {# o<ݎ1 oYs o/XjY/! oXYjX o/YjXYs{#so? ,{#o9,{#o8 ~B (*AHH 0 ( u ,Yot  3-o2,%o2u,o/oݡ1 oYs o/X/ oXY o/YYs{#so? ,{#o9,{#o8(%{$ijX}$~B (~B (*(0  ( +yo/ o1 YY(D Yo3o/j3/{#o<{#o7-{#Lso:Y o/X j0+ j1:|%%{$Y}$~B (~B (*%{$*0l {%,*{${"oL .*j {#o7 +'u  -*o.*o/X o1 -{"oL *0{%, r$psM z{${"oL 1{"{$oN j {#o7 ++u  ,o.(o/X o1 -j {#o7 +n u,R{"oO +5{"o jo/jY(D ioP  Xjo/2 o/X o1 -{"{$oN (**{%**{%**{%* 0((Q *{",{"oR }"}!}#(S *{%*Z{&, {&o< *Z{', {'o< *0]j2 {$1 rXpsT zjU{#o7 +-L0 Lo/X0o1-*%Lo/XUo1 -*08o/XUo1+u  ,*%Lo/XUo1-*{"oU . {"oO {"oV *0_( ,o/Xo1(o> L j +co Xijo/ Y(D i{"oO {"oW & X{"oO {"oP ijX o/28 Lj8ijo/Y(D i oo/XY jY {" oO {" oW &o/XY jY {" oO {" oP ijXo/?qo*s5}#{#j{"oL so:{"oL }$*0){(  (= t |((+ 3*0){(  (? t |((+ 3* 0Hs})(5 }*(H }+&(H }+},&**B) 0((Q *Z{(, {(o< *{**>{)oX *0{,, rnpsY z(-*{)oZ +Ko[ ` o\ L {+oU . {+oO {+L  oP o8 -{)o] *2{)o] *0){-  (= t |-(+ 3*0){-  (? t |-(+ 3*0D{)o, {)o*{+oU . {+oO {+oV *2{+oL *{)o,{)o+ {)o~B (*.rps^ z.rps^ z*{,* * *{+,}*{+oR }+(S *^(_ `o` L*b(_ `Loa *b(_ `Lob *J(_ `oc *(d *V(4}/}.*{/*{.*"}/*{.1 rpsT z%{.Y}.*{.1 rpsT z%{/X}/%{.Y}.*0{.1 r$psT zX{.1 rpsT z {/ {.YY {/XX j1'j1"}/}.{ so8*j1}/}.* }/}.*{5*"}5*{6*"}6*{7*"}7*{8*"}8*{3*:}3(*{4*:}4(*{9*"}9*{:*"}:*0T(-~f +( (g oh ((g oi oh ((g oj oh (*(5 *0){^  (= t |^(+ 3*0){^  (? t |^(+ 3*0){_  (= t |_(+ 3*0){_  (? t |_(+ 3*0){`  (= t |`(+ 3*0){`  (? t |`(+ 3*0){a  (= t |a(+ 3*0){a  (? t |a(+ 3*0){b  (= t |b(+ 3*0){b  (? t |b(+ 3*0){c  (= t |c(+ 3*0){c  (? t |c(+ 3*0){d  (= t |d(+ 3*0){d  (? t |d(+ 3*0){e  (= t |e(+ 3*0){e  (? t |e(+ 3*0){f  (= t |f(+ 3*0){f  (? t |f(+ 3*0){g  (= t |g(+ 3*0){g  (? t |g(+ 3*0){h  (= t |h(+ 3*0){h  (? t |h(+ 3*0){i  (= t |i(+ 3*0){i  (? t |i(+ 3*0){j  (= t |j(+ 3*0){j  (? t |j(+ 3*0){k  (= t |k(+ 3*0){k  (? t |k(+ 3*0){l  (= t |l(+ 3*0){l  (? t |l(+ 3*0){m  (= t |m(+ 3*0){m  (? t |m(+ 3*0){n  (= t |n(+ 3*0){n  (? t |n(+ 3*0){o  (= t |o(+ 3*0){o  (? t |o(+ 3*0){p  (= t |p(+ 3*0){p  (? t |p(+ 3*0){q  (= t |q(+ 3*0){q  (? t |q(+ 3*0){r  (= t |r(+ 3*0){r  (? t |r(+ 3*0sl }J(m (n }M(m (n }N(m (o }O(m (o }Pj}Sr6p}Ur:p(p }s}u}v}~~q }(r }(s }}d< (t }(u sv }I{Isw ox s}(s oy rPp"Asz o{ (| s} }A{A o~ ((  (  ( ( {J2o {Js o *0o E #+A8(8(8(+x(+po ( (+Z{Jo , {Jo ( {LY21(}L+o (}K{Jo {H(o *{Jo {K(( }L*0(=9{y9{yoUj>{C9{yoUjXl{Cl[{DlY( j j(C {Q{Cj[ {G/{H{G3({G3 {H3*j}F}G(D }H(*(=,j}Fj}Gj}H(*0Z{G( 1<{Io {Io {I{H(o {Io *{Io *0] {Gj/i*l{Gl[#Y@Z l#Y@[Z( i {Fj(C i {Gj(D i *0@ {Gj/j*ll[#Y@Z {Gl#Y@[Z( ij *0 j 1i*i*{F2{G0 {H3*}H(($(( *0?1{G{HjX(D +/{F{HjX(C +*(*"(*"(*6{D(*:{De(*0<{G j0 + ({G(Y3{G(*6{S(*0a{y,{V-*{Q/l{Cl[( j (*{R1$l{Cl[( j {DYjY (*{j3*j}~B ou{Z-(+(( *Z( -*{y-**v(?-*j(?oU(*(?-*( -*((*0J   j1{Z,(+j3{Z-((k(l(( *0N{W- s}W{W{V3*{V, {Vo{W}V{Vo*0N{X- s}X{X{V3*{V, {Vo{X}V{Vo*0N{Y- s}Y{Y{V3*{V, {Vo{Y}V{Vo*0s{y,{V,{Z-o -*(a-|B( i+ |B( i ( ~ (&(( (&}Z*0d{y,{V-*{S{QY {Vo %( {Tk|B( ZX( ( i( i(&*^{Z-*(&}Z*0{y,{V-*{S {T |?( ,3( (. (- (k((( *|@( ,2( (. (- (k((( *0( |?( Yk|B( [ ( |?( Yk|B( [ i i[X{yoU{Q{CXZ{CYjXjXjY(D ] 1 {yoU3 j/ js,*s,*0( |@( Yk|B( [ ( |@( Yk|B( [ i iX{yoU{Q{CXZ{CYjXjXjY(D  j/ js,*s,*0P(  YE+'{Vo*{Vo*{Vo*( *"( *0 (O(QX    o-1o,)o, oi- rhpsJ zo 8o-oo-go, oi- rpsJ zo, oi- rpsJ zoioi. rpsJ zo o +-o3$o, oi- rpsJ zo i}[8{[,j* j]j3( {yoQ -+  - +  -jY }\+AX 38jYjX  j({S{X({S( *jX{yoU?5j*"}[*{\*0Q!(-L*{ԍL  {S +X {yoQjX {S{X2*0u"(-*(  s (g io F( o is r=p o ( ((( ~B o*Z{j2{y-**0L(-*({y{S{oT}T(((( o *(5-( -*{y-*{j2 {yo^-**0#(-*{j1{y{S{oT ( r=po ,,r=po tu oL ԍL ioW &+7F( o ,$F( o tF (g oh +*{y{SoS{SijX(k(((( *0m$(5-( -*{y, {yo]-*{yo^- {j1*( r=po ,*F( o ,**0L%(-* ( F( o ,&F( o tF (h **0%(-* ( F( o ,!F( o tF (h -*{j1{y{S{oT{y{SoS{SijX(k(((( *0m"(-*(  s (f F( o is r=p o ( ((( ~B o*0*&{~YE8( 9( o ( , (5,( +o ,( + ( (3 s o ( o o ( o o s o *o o s ( o o (  ( *o o s ( o o ( ( ( *o o s ( o *0'( {y-*( s {<o o o (${|,o {Q{R({-o {Q{R(+,o {Q{R( {, o (!{{, o ({z, o (*0({yoUjY(D (S~q ( -o +(S s Y(*  ( X  8{C ZjX{}X s ('{U( o ( o Y10o Ys ( + ~s o |=( k( s {Ao X ?W*0))(Ss  +(X {C2*0*(9 8(Ss "?s (( %( |B( "@[Y( ( ( |>( kX|?( kXs o (K,[s () %( "@Y( ( ( s ( ( |?( kXs o (9X {C?*0+(#s {s {s  {yoUjY{CjX(D {V,{Vo ( ++w X  j(*{yoQ{S2#{S{XjY0{j+  ,,(+ (jXjX2*0c,(' (g o o {Ao %( |B( X( o o {Ao *0c,(( (g o o {Ao %( |B( X( o o {Ao *0-{U( o ( o 3 rSp( (' ( X{C -|B( "@@Z+|B( "@Z ( ( |B( o o o {Ao %( |B( X( o o {Ao *0.(#s {s {s  {yoUjY{CjX(D {V,{Vo ( +{V,{Vo ( +8 X  j(*() {yoQ {S2#{S{XjY0{j+  ,, (+  ((d os   ,H,D (  ( |B( |B( o  o  {Ao + o  {Ao jXjX?*0/{V9{Sj;( 9{Vo ( @{j@{S{QY(* () |B( i|B( i( ( i( i(n (o ( {@( 9{@(  ("*|@( k|B( Yi{S{QY(*(){S{QY{XjY(*()( ( Y  -h ( i( i( ( Y|B( Xi|B( i(  {@( 9! {@(  ("* ( i( i|@( Xk( Y|B( Xi|B( i(  {@( , {@(  (" 1h |@( ( |B( Xi|@( |B(  YkZi(  {@( , {@(  (" |@( ( i( |@( kY|B( Xi|B( i(  {@( 9 {@(  ("*{j3o{S{QY(*('|B( iZ|B( i( ( i( i(n (o ( ("*|?( k|B( "@ZYi{S{QY(*('{S{QY{XjY(*('( ( Y-n( i( i( ( Y|B( "@ZXi|B( i( {?( 9s{?( ("*( i( i|?( Xk( Y|B( "@ZXi|B( i( {?( ,{?( ("1s|?( ( |B( Xik|B( "@ZXi|B( YkZi( {?( ,{?( ("|?( ( i( |?( kY|B( "@ZXi|B( i( {?( ,{?( ("*00( 2( 2( 1 ( 0*( ( s ( {s ( ( o o ( ( o *V( ,o *( *0_{y,{yoUj3*{HjX{CjZ{CjY}Q{yoUjY{Q{EjX(D }R*0D1( rWpo d{Ao ( l( k( l( ks }B( }<|<%( {MX( |<%( {OX( |<%( {N{MXY( |<%( {P{OXY( {x,k|<%( {Io Y( {I|<( |<( Xo {I|<( o {I|<( o  {|,B|<( X|<( |B( " AZi|<( s }=+~ }=|=( |=( |=( X|<( |<( |=( Y( iXs }>{{,:|=%( ( iXX( |=%( ( iXY( + |>( |=( |=( X|=( |<( |=( Y|<( |>( Ys }?(;,S{u(m|?{Cl|B( lZ#@Z"@|B( ZlX( i( 8|?( l|B( l[( i {,+Y 1l#@[( i(m+.(m+%1l#@[( i(m+(m|?{Cl|B( lZ#@Z"@|B( ZlX( i( {,N|?( |?( X|?( |B( {CkZi|?( s }@+ ~ }@|?( l|B( l[( i  (n{C{DZ}E(*02(* ('*0`3"@@|B( Z( kZ|?( kX ( Xk|B( Z|B( Y|?( kX s *0F4j(* "@@|B( Z( kZ|>( kX |>( k s *0Z3|B( ( kZ|@( kX ( Xk|B( Z|B( Y|@( kX s *035l{Cl[( i {CjX{CXZjYi ( *( *"(y *( *2-*({ *( *"( *( *"( *{s*"}s*{t*{t3*}t~B or( *{u*{u3*}u~B o}(%( *{v*{v3*}v~B o|(%( *{w*{w3*}w~B o{(%( *{x*0U{x3*}x{x,( {Io +( {Io (%(~B o~*{y*0{y3*-(+({y,{ys oW}y{y,{ys oV~B os-j}S}Tj}(+/j(kj(l{Z,o ,(+((o(pj}H($(%( *{z*{z3*}z~B ox(%( *{{*{{3*}{~B ow(%( *{|*{|3*}|~B ov(%( *{}*b{}3*}}( *{~*06{~3*}~{~ Ei)8% }P% }N% }O }M+h(m (n %}N}M(m (o %}P}O+(%}P% }N % }O }M(%~B oz*{*{3*}~B oy(%( *Z{Ur6p( ,**09-r6p +r[p {U( ,*}U~B o( *{S*V(k(( *{*R(l(( *{*:}( *{*:}( *{*:}( *{*b{3*}( *{*:}( *{C*{D*{*"{j*{]*{]3*}]((~B oq*{*j{- s}{*j,{. }( *0`7s +( (g o &r_po &Xi2o 1o Yo &o *0/{U( o ( o 3 rSp( *0\8( ,*o  o iL  +  (i-*X i2*09 ( o ( *:{T(k*{T.}T{S.}S(o(p~B ot*r{.}~B ou*v{C3*}C~B o*v{D3*}D~B o*0[{Sl{Cl[( jjX {y-{j.j}~B o*{.}~B o*0V:{S(* ( X {y-{,}~B o*{.}~B o*Z{^, {^o< *Z{_, {_o< *Z{`, {`o< *Z{a, {ao< *Z{b, {bo< *Z{c, {co< *Z{d, {do< *Z{e, {eo< *Z{f, {fo< *Z{g, {go< *Z{j, {jo< *Z{h, {ho< *Z{i, {io< *Z{k, {ko< *Z{l, {lo< *Z{m, {mo< *Z{n, {no< *Z{o, {oo< *Z{p, {po< *Z{q, {qo< *Z{r, {ro< *o -( &o 3o o s (( *0 o ( Zx[e (( *:( (%*:( (*:( (*(*:(5 }***6{o *6{o *6{o *0 ;#*:(5 }*0F{s o {s o {s o *0F{s o {s o {s o *0So .*}{--{{S{{Ts,}{o*(*0<{-*o o s o}|(. |(./ |(.Y +/|(.1|(. Y +{{S j {{S3{{.#{o{|(.o*"}*0[=( ( ( ` (o , (,*-s% + (o o*b{o{o *0>s {o o  *o*0?{{S {{T j3,Xj{{CjY(C j3*{oj{{Q/ {o{o{o {o{o*o*0?{{S {{T {{yoU3-*{{yoU{{CjX(D {{yoU3 {ok{{RjY1 {o{o{o{o{o *0?{{S {{T j3-*j{{EjY(C j3*{oj{{Q/ {o{o{o{o *0?{{S {{T {{yoU3-*{{yoU{{EjX(D {{yoU3 {ok{{RjY1 {o{o{o{o *0j{{S {{ Xj/*X|(.0j3*jY jX + jjY(C {o{o*0{{S {{ {{CjYj/|(.0*|(.X28{{CjY {{CjX {o{o+i{{CjY j/+|(.X e {o{o+*{{CjY {o{Xo*0{{S {{ X{{yoU2*|(.0"jX {o{Xo+)jX jjY(C {o{o*0<{{S {{ {{yoU X{{CjX1*|(.0,{{CjX {o{Xo+L{{CjY j/|(. e +{{CjX {o{o*0{{,U{{Vo ( 39{o{o{o{o{o *{o! -*{o! {o" &*0~{{Vu,@}{o{o{o{o{o *{o! -*{o! {o" &*0@{{yo^-*{o5,*{{S {{ {{T -j.+jY j/j/*j0j+{{yj (C oT{oj3o&{o{o *0<{{yo^-*{o5,*{{S {{ {{yoU2*j0j+ {{yoT{o{o{o *0T?{{S {{T j/*j  {ok{o{o{o*0s?{{S {{T {{yoUjY2*{{yoU  {ok{o{o{o*0O{,*{,*}{{j1*{{S{{Ts,}*6{o*6{o*6{o*0DA( 3 {o *{{yo\ {{yo] {{yo^ {{S {{{{T- {{yoU3- {{yoU3 {o *(   ( (# 9n(,*{o5,* {{yoU-,{oa,-,0,-j1'{{y oT{ ok{o,+{{y oQr6p( o (   o 3rSp (  ($  -  o (  + o  (   ( o (%  ,#{{y L    oS+{{y  oRo&{o *{o *0Bs& {o' o( *0]C( ( ( `  . -3 (,*.-. +}*o*{o *n{{oaob*0>s {o) o  *0"{:s* }{%%so+ {&%so+ {'%so+ {(%so+ {!%so+ {"%so+ { %%so+ { &%so+ { '%so+ { (%so+ { %so+ {%so+ {.%so+ {$%so+ {#%so+ { %so+ { C%so+ { X%so+ { V%so+ {*0{{S {{ {{T j. {ok{o+`j3-*1Y +jjY(C X {ok{{Q/ {o{o{o {o*0D{{S {{T {{ j. X  {ok{o+{{{yoU3,e1{{yoUjX(D  +X {ok{{RjY1 {o{o{o {o*0v?{{S {{T j3*jjY(C  {ok{{Q/ {o{o{o{o *0?{{S {{T {{yoU3*{{yoUjX(D  {ok{{RjY1 {o{o{o{o *6{o&*6{o*R({}T*0[C( ( ( `   . 3 (,* . 3o*o*(*o*o*0E( 3 {o *{{yo\ {{yo] {{yo^ {{S {{{{T- {{yoU3- {{yoU3 {o *(   ( (,*{o5,* {{yoU-,{oa,,0,-j1'{{y oT{ ok{o{odo,#{{y L   oS+{{y oRo&{o *02{o* {o)*6{o*^1 ~1  /.***rcp*(5 *0,F{L o, o 0.*o- *0$G{ o. i0**rp*^ (/ }(5 *0(4L }*(4- rps6 zo0 t}*2{o1 *{*07{o1 jXԍL {o2 o1 jY}*0.{o1 jXԍL {o2 }*0w{o1 o1 XԍL j1{jj(3 jo1 (3 {o1 /"{o1 X{o1 Y(3 }*0Z{o1 YԍL j1{jj(3 X{o1 /{Xo1 Y(3 }*(5 *03H~(7 , rp( o8 s9 ~*~**0jIs: rpo; rpo; r)po; r=po; rQpo; (< o= oi o>  ,o9 *E_ ~*lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPBMv(wwwwwwwwwwwwwwwwwwwwwwwwBSJB v2.0.50727lA#~0B =#StringsPl#US#GUID̆#BlobW_ %3 > IQ  =* L V ]* i* u*  *   t  $   ^ T  T "|1H$ b' o' * * 5+)+ ++ ++ 6-- `.N. w.N. .N. .N. .N. .N. /N. /N. 4/N. M/N. h/ ~/- // //0 0)0K0Y0l00 0001 %1N. <1* K1 P1* h1- ~1- 1 1 1 1 11 2 2T 2T &2T 12T L2 k2 2 2 2 2* 3 #3 93* T3/33344*444X4z44 4 U5 5s5 5s555 5 6T %6E6v6666666)7e7~7777 81 08R8888/K9 v9)+ 9 9+99::D:d:}:::?;;; ;-<< D<1< q+N+V~+V+V+++B,1 n ~!#|"'""" # #2.#G2&#n..#27#.?#2H#.P#2Y#1.t#M.#j.#.#C#H#C#H#:C#QH#|C$H $n#$n[ $a3$fG$l[$[i$l|$q$w$~!$f!$#$$%(%%/~'2%n'B%<)J%e) )R%)Z%)b%))j%n#+r%n#+%n+%5 ,&D ,&M .&W 07&` 1V&2_&h #3&t #3& 3& #5& 5\' 7' 90( :U( :l( ;((<( >( >(  >( >(n>) _ ?L) ?) #?* #? ? @ $B D F 1 +F C +GX Hc #H p +H | +I J J J*n[J*n;K#* DLA* DMX** JN`*X Nh*c #Nt* p +N* | +O* 1 +P+ C +QQ+ R`+ S|+ U+ $W+ Y+ Y+ Y, Y,n2Y ,ngZL,nm\, 1 +], C +^ - p +_D- | +`|- a- b@/ $d\0 f41 h<1X h1c #h2 h2 h2 h2 #h 3 #hP3 hX3 Dho3 Di3 sj3 {l84 o`4 p5 #r6 p +r@6 | +sx6n2t6 #u7 Du+7 .v37X vD7c #v7& #v7 1 +v 8 C +wX8 x8 y8 y8 {8 $}9 9 9 9 #>9V9o999n#9n9Q 99` 9n 9 (:: : : ~: [: ~:[:~;0[;S;a';u./;~2>;~F;[O;W;`;#;n#;+<+8<+p<+<9+<Q+=+P=+=+=+= +0>;+h>r+>+>+?+H?*+?G+?z+?+(@+`@+@+@+AL+@Al+xA+A+A+ B +XB>+B]+B+C+8C+pC+C6+CW+D+PD+D+D+Dn#FGG#H#I|I*I8ID$JX oJk#xJ#J#J#JJ#JeK#KK #KKPL+#LG#M^#dM{#M#TN#lNOOP@PP"R#R'RB~@SN#SSS[#0T_hTf#TUlUu(V#V#TW(X(lY.|Z7Z7[.\>$]K]$W^;.,`Q7eggfpf# g#\kvxk}k8l}llpl#l6l?mu. m~2mTmd'mtp/m8m @mdmlm mm mm0m_nuenpn_ogooo/oXoloop ppq+q?DqMq[qnqqqp q qp q  q/ p qF   rq r  *r p 2r  Ar!Ir!Qr5!YrR!br!jr!r!r!r!r"@s!"|s2"sD"  tU"tU"Qta"ntt" t" t"#u"#vu"Du"Du#Du#Du0#DuI#D vb#D!v}#D".v#D#Ev#D$\v#D%sv#D&v#D'v$D(v.$D)vA$D*v^$D+vy$D,w$D-+w$D.Bw$D/Yw$0w$1w$D2w$D3w$D4w %5&#7&#7&7 '8'9.'v:wn;x&#< x&#< x&<x '=(x'>8x.'v?Nxn@`x&#Ax&#Ay'WAhy'WC5z'WE@z'Gz'Hz'_Iz'Jz(K{(L{3(M`|L(N|g(O}(P0~(Q,(R(S(T4)U0)VI)W d)X})Y)Z[)[i)\w)] '^؆*f_&`i*a5*_b@*kcT*cg*c{*c*c.'vc*dne*g*h*knm،'n?'oG(pP 'q.'vr&*s+t+u4+vL+wP +.xWn#x`+x+yȏ +.zϏn#znlz n[{4|AT+~|L]+l|j+l}̐ $~P { +  +n#,",.,N,U,o,v,},v,},v,},v,},v,},v,},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,},},,,,,,,,,,,,,,,,,,,,,,,,,,,},},- -,C-N-]-h-C-,,,},,,,,,,,,,,,,,,,]-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,v,},v,},,,,r-v-r-,|-,|-,------},},---------,---,---,--------------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--,----,,},},},},},},},},},},},},},},},},},},},},},},},},},},v,},----o,----o,v,},v,},v,},------------------------.-----..--..-%.o,------,,.,,.,,.,,,,,,,,..3.;.B...J.L.,! ! !DD\\9 9 #yn#n2n2n2n2n2n2n2n2n2nnnn n#n n#nin#qn5A0> Dn#!n)0KY0RY0W010b9n2An2InQn2n#B1YYYZ1iYiqi i(iiii(qn!n#n21 9 A #n2n*116<y2C2G2GqR ;2^@2n2^2n2222! #2#2n22 2I n2I  33I # n2IE3  In#n#127ao3a1y3.13.!n n#)3P13133V23]3]3cYn#n#9nA4mY#!ntY?A4nj4Y44 4+440q44 4A4 A 5 A5 Y!5-5Y35#Y4Y>533YJ5y\5a5g5m5a5a5m5m5n 5Y5n#a556n6/6Y=6#Q6 _6 n6 _6 n6 66< Yp < >5< 6< nB 7I Y7O 87T G7] np7g 7p 7]7| Y(n 7 7 7 Y7pnq 8 8  + 11n 1@8 Y6n G8 )n 3V8 !_8, 1g8F a + p7S 1nqn q8 8 3881nq8 p7 8 8 8]Y9I 9 n g5 9 %9 /9 Y3Y:9 YC9 Y/9 2Yu.Y~2YTYdY]9' A- A- 1j9G In#I9M IIT ! +.19.19h a9| Y999 9a59m5Y$99)9Y$Y$DY$DY$Din2qnynQAn nnAnAn AnnY:Y:Y:Y:Y:Y;;y;Y";3;06nJYL;QV;Yb;cYm;h;zQ +.a;nY;V;Y;Qn#a51;aa;;;(Nn2n n#!a M  4 V 4 R7 d lw  R &%=%1! RH'G% Y%f%p% % %-% % % %2% d8% &&*&=&P& g&|&&&&& &=&B*xy++:,d,WV  [Z  gf ih  v u  x w   -.  /!""0#$$1%&&2'((7)**H+,,I-..J/00M122U344c566n788}9::;=?AACEGGIIKKMMOOQQSSUU W+Y,Y-[.[/]0]1_2_3a4a5c6c7e8e9g:g;i<i=k>k?m@mAoBoCqDqEsFsGuHuIwJwKyLyM{N{O}P}QRSTUVWXYZ[\]^_`abced;%j@{@+@@+Ax /!:<<p= }(Be.Windows.Forms.HexBox.dllBuiltInContextMenuBe.Windows.FormsByteCollectionBytePositionInfoDataBlockDataMapEnumeratorIByteProviderDynamicByteProviderDynamicFileByteProviderFileByteProviderWriteCollectionFileDataBlockFindTypeFindOptionsHexBoxIKeyInterpreterEmptyKeyInterpreterKeyInterpreterMessageDelegateStringKeyInterpreterHexCasingIByteCharConverterDefaultByteCharConverterEbcdicByteCharProviderMemoryDataBlockNativeMethodsResourcesBe.Windows.Forms.PropertiesUtilSystemSystem.ComponentModelComponentmscorlibSystem.CollectionsCollectionBaseValueTypeObjectICollectionIEnumerableIEnumeratorIDisposableDictionaryBaseEnumSystem.Windows.FormsControlMulticastDelegate_hexBoxContextMenuStrip_contextMenuStripToolStripMenuItem_cutToolStripMenuItem_copyToolStripMenuItem_pasteToolStripMenuItem_selectAllToolStripMenuItem.ctorEventArgsHexBox_ByteProviderChangedCheckBuiltInContextMenuCancelEventArgsBuildInContextMenuStrip_OpeningCutMenuItem_ClickCopyMenuItem_ClickPasteMenuItem_ClickSelectAllMenuItem_Clickget_CopyMenuItemTextset_CopyMenuItemText_copyMenuItemTextget_CutMenuItemTextset_CutMenuItemText_cutMenuItemTextget_PasteMenuItemTextset_PasteMenuItemText_pasteMenuItemTextget_SelectAllMenuItemTextset_SelectAllMenuItemText_selectAllMenuItemTextget_CutMenuItemTextInternalget_CopyMenuItemTextInternalget_PasteMenuItemTextInternalget_SelectAllMenuItemTextInternalSystem.DrawingImageget_CutMenuItemImageset_CutMenuItemImage_cutMenuItemImageget_CopyMenuItemImageset_CopyMenuItemImage_copyMenuItemImageget_PasteMenuItemImageset_PasteMenuItemImage_pasteMenuItemImageget_SelectAllMenuItemImageset_SelectAllMenuItemImage_selectAllMenuItemImageCopyMenuItemTextCutMenuItemTextPasteMenuItemTextSelectAllMenuItemTextCutMenuItemTextInternalCopyMenuItemTextInternalPasteMenuItemTextInternalSelectAllMenuItemTextInternalCutMenuItemImageCopyMenuItemImagePasteMenuItemImageSelectAllMenuItemImageget_Itemset_ItemAddAddRangeRemoveRemoveRangeInsertRangeGetBytesInsertIndexOfContainsCopyToToArrayItemget_CharacterPosition_characterPositionget_Index_indexCharacterPositionIndex_map_nextBlock_previousBlockget_Lengthget_Mapget_NextBlockget_PreviousBlockRemoveBytesLengthMapNextBlockPreviousBlock_syncRoot_count_firstBlock_versionget_FirstBlockAddAfterAddBeforeAddFirstAddLastRemoveFirstRemoveLastReplaceClearAddAfterInternalAddBeforeInternalRemoveInternalGetLastBlockInvalidateBlockAddBlockToEmptyMapArrayget_Countget_IsSynchronizedget_SyncRootGetEnumeratorFirstBlockCountIsSynchronizedSyncRoot_currentSystem.Collections.IEnumerator.get_Currentget_CurrentMoveNextSystem.Collections.IEnumerator.ResetResetDisposeSystem.Collections.IEnumerator.CurrentReadByteWriteByteInsertBytesDeleteBytesEventHandleradd_LengthChangedremove_LengthChangedHasChangesApplyChangesadd_Changedremove_ChangedSupportsWriteByteSupportsInsertBytesSupportsDeleteBytesLengthChangedChanged_hasChangesSystem.Collections.GenericList`1_bytesOnChangedOnLengthChangedget_BytesBytesCOPY_BLOCK_SIZE_fileNameSystem.IOStream_stream_dataMap_totalLength_readOnlyFinalizeget_ReadOnlyGetDataBlockGetNextFileDataBlockReadByteFromFileMoveFileBlockReInitializeReadOnly_writesFileStream_fileStreamget_FileNameRejectChangesFileName_length_fileOffsetget_FileOffsetSetFileOffsetRemoveBytesFromEndRemoveBytesFromStartFileOffsetvalue__TextHexget_IsValidset_IsValidget_FindBufferset_FindBufferget_FindBufferLowerCaseset_FindBufferLowerCaseget_FindBufferUpperCaseset_FindBufferUpperCase_matchCaseget_MatchCaseset_MatchCase_textget_Textset_Textget_Hexset_Hexget_Typeset_TypeUpdateFindBufferk__BackingFieldk__BackingFieldk__BackingFieldk__BackingFieldk__BackingFieldk__BackingFieldIsValidFindBufferFindBufferLowerCaseFindBufferUpperCaseMatchCaseTypeTHUMPTRACKDELAYRectangle_recContent_recLineInfo_recColumnInfo_recHex_recStringViewStringFormat_stringFormatSizeF_charSize_iHexMaxHBytes_iHexMaxVBytes_iHexMaxBytes_scrollVmin_scrollVmax_scrollVposVScrollBar_vScrollBarTimer_thumbTrackTimer_thumbTrackPosition_lastThumbtrack_recBorderLeft_recBorderRight_recBorderTop_recBorderBottom_startByte_endByte_bytePos_byteCharacterPos_hexStringFormat_keyInterpreter_eki_ki_ski_caretVisible_abortFind_findingPos_insertActiveInsertActiveChangedadd_InsertActiveChangedremove_InsertActiveChangedReadOnlyChangedadd_ReadOnlyChangedremove_ReadOnlyChangedByteProviderChangedadd_ByteProviderChangedremove_ByteProviderChangedSelectionStartChangedadd_SelectionStartChangedremove_SelectionStartChangedSelectionLengthChangedadd_SelectionLengthChangedremove_SelectionLengthChangedLineInfoVisibleChangedadd_LineInfoVisibleChangedremove_LineInfoVisibleChangedColumnInfoVisibleChangedadd_ColumnInfoVisibleChangedremove_ColumnInfoVisibleChangedGroupSeparatorVisibleChangedadd_GroupSeparatorVisibleChangedremove_GroupSeparatorVisibleChangedStringViewVisibleChangedadd_StringViewVisibleChangedremove_StringViewVisibleChangedBorderStyleChangedadd_BorderStyleChangedremove_BorderStyleChangedGroupSizeChangedadd_GroupSizeChangedremove_GroupSizeChangedBytesPerLineChangedadd_BytesPerLineChangedremove_BytesPerLineChangedUseFixedBytesPerLineChangedadd_UseFixedBytesPerLineChangedremove_UseFixedBytesPerLineChangedVScrollBarVisibleChangedadd_VScrollBarVisibleChangedremove_VScrollBarVisibleChangedHexCasingChangedadd_HexCasingChangedremove_HexCasingChangedHorizontalByteCountChangedadd_HorizontalByteCountChangedremove_HorizontalByteCountChangedVerticalByteCountChangedadd_VerticalByteCountChangedremove_VerticalByteCountChangedCurrentLineChangedadd_CurrentLineChangedremove_CurrentLineChangedCurrentPositionInLineChangedadd_CurrentPositionInLineChangedremove_CurrentPositionInLineChangedCopiedadd_Copiedremove_CopiedCopiedHexadd_CopiedHexremove_CopiedHexScrollEventArgs_vScrollBar_ScrollPerformScrollThumbTrackUpdateScrollSizeUpdateVScrollToScrollPosFromScrollPosToScrollMaxPerformScrollToLinePerformScrollLinesPerformScrollLineDownPerformScrollLineUpPerformScrollPageDownPerformScrollPageUpPerformScrollThumpPositionScrollByteIntoViewReleaseSelectionCanSelectAllSelectAllSelectInternalSelectActivateEmptyKeyInterpreterActivateKeyInterpreterActivateStringKeyInterpreterCreateCaretUpdateCaretDestroyCaretPointSetCaretPositionGetHexBytePositionInfoGetStringBytePositionInfoMessagePreProcessMessageBasePreProcessMessageFindAbortFindget_CurrentFindingPositionGetCopyDataCopyCanCopyCutCanCutPasteCanPasteCanPasteHexPasteHexCopyHexPaintEventArgsOnPaintBackgroundOnPaintGraphicsPaintLineInfoPaintHeaderRowPaintColumnSeparatorPaintHexBrushPaintHexStringPaintColumnInfoPaintHexStringSelectedPaintHexAndStringViewPaintCurrentBytesSignPaintCurrentByteSignColorGetDefaultForeColorUpdateVisibilityBytesUpdateRectanglePositioningPointFGetBytePointFGetColumnInfoPointFGetByteStringPointFGetGridBytePointget_BackColorset_BackColorFontget_Fontset_FontRightToLeftget_RightToLeftset_RightToLeftget_BackColorDisabledset_BackColorDisabled_backColorDisabledset_ReadOnlyget_BytesPerLineset_BytesPerLine_bytesPerLineget_GroupSizeset_GroupSize_groupSizeget_UseFixedBytesPerLineset_UseFixedBytesPerLine_useFixedBytesPerLineget_VScrollBarVisibleset_VScrollBarVisible_vScrollBarVisibleget_ByteProviderset_ByteProvider_byteProviderget_GroupSeparatorVisibleset_GroupSeparatorVisible_groupSeparatorVisibleget_ColumnInfoVisibleset_ColumnInfoVisible_columnInfoVisibleget_LineInfoVisibleset_LineInfoVisible_lineInfoVisibleget_LineInfoOffsetset_LineInfoOffset_lineInfoOffsetBorderStyleget_BorderStyleset_BorderStyle_borderStyleget_StringViewVisibleset_StringViewVisible_stringViewVisibleget_HexCasingset_HexCasingget_SelectionStartset_SelectionStartget_SelectionLengthset_SelectionLength_selectionLengthget_InfoForeColorset_InfoForeColor_infoForeColorget_SelectionBackColorset_SelectionBackColor_selectionBackColorget_SelectionForeColorset_SelectionForeColor_selectionForeColorget_ShadowSelectionVisibleset_ShadowSelectionVisible_shadowSelectionVisibleget_ShadowSelectionColorset_ShadowSelectionColor_shadowSelectionColorget_HorizontalByteCountget_VerticalByteCountget_CurrentLine_currentLineget_CurrentPositionInLine_currentPositionInLineget_InsertActiveset_InsertActiveget_BuiltInContextMenu_builtInContextMenuget_ByteCharConverterset_ByteCharConverter_byteCharConverterConvertBytesToHexConvertByteToHexConvertHexToBytesConvertHexToByteSetPositionSetSelectionLengthSetHorizontalByteCountSetVerticalByteCountCheckCurrentLineChangedCheckCurrentPositionInLineChangedOnInsertActiveChangedOnReadOnlyChangedOnByteProviderChangedOnSelectionStartChangedOnSelectionLengthChangedOnLineInfoVisibleChangedOnColumnInfoVisibleChangedOnGroupSeparatorVisibleChangedOnStringViewVisibleChangedOnBorderStyleChangedOnUseFixedBytesPerLineChangedOnGroupSizeChangedOnBytesPerLineChangedOnVScrollBarVisibleChangedOnHexCasingChangedOnHorizontalByteCountChangedOnVerticalByteCountChangedOnCurrentLineChangedOnCurrentPositionInLineChangedOnCopiedOnCopiedHexMouseEventArgsOnMouseDownOnMouseWheelOnResizeOnGotFocusOnLostFocus_byteProvider_LengthChangedCurrentFindingPositionBackColorBackColorDisabledBytesPerLineGroupSizeUseFixedBytesPerLineVScrollBarVisibleByteProviderGroupSeparatorVisibleColumnInfoVisibleLineInfoVisibleLineInfoOffsetStringViewVisibleSelectionStartSelectionLengthInfoForeColorSelectionBackColorSelectionForeColorShadowSelectionVisibleShadowSelectionColorHorizontalByteCountVerticalByteCountCurrentLineCurrentPositionInLineInsertActiveByteCharConverterActivateDeactivatePreProcessWmKeyUpPreProcessWmCharPreProcessWmKeyDownGetCaretPointF_shiftDown_mouseDown_bpiStart_bpiDictionary`2Keys_messageHandlersBeginMouseSelectionUpdateMouseSelectionEndMouseSelectionPreProcessWmKeyDown_DefaultRaiseKeyDownPreProcessWmKeyDown_LeftPreProcessWmKeyDown_UpPreProcessWmKeyDown_RightPreProcessWmKeyDown_DownPreProcessWmKeyDown_PageUpPreProcessWmKeyDown_PageDownPreProcessWmKeyDown_ShiftLeftPreProcessWmKeyDown_ShiftUpPreProcessWmKeyDown_ShiftRightPreProcessWmKeyDown_ShiftDownPreProcessWmKeyDown_TabPreProcessWmKeyDown_ShiftTabPreProcessWmKeyDown_BackPreProcessWmKeyDown_DeletePreProcessWmKeyDown_HomePreProcessWmKeyDown_EndPreProcessWmKeyDown_ShiftShiftKeyPreProcessWmKeyDown_ControlCPreProcessWmKeyDown_ControlXPreProcessWmKeyDown_ControlVRaiseKeyPressPreProcessWmKeyUp_InsertRaiseKeyUpget_MessageHandlersPerformPosMoveLeftPerformPosMoveRightPerformPosMoveLeftBytePerformPosMoveRightByteGetBytePositionInfoMessageHandlersInvokeIAsyncResultAsyncCallbackBeginInvokeEndInvokeUpperLowerToCharToByteToStringSystem.TextEncoding_ebcdicEncoding_dataget_DataAddByteToEndAddByteToStartDataWM_KEYDOWNWM_KEYUPWM_CHARShowCaretSetCaretPosSystem.ResourcesResourceManagerresourceManSystem.GlobalizationCultureInforesourceCultureget_ResourceManagerget_Cultureset_CultureCulture_designMode.cctorget_DesignModeDesignModehexBoxsenderevaluebsindexbcountcharacterPositionpositioncollectionblocknewBlockarraymaplengthdatabytesfileNamereadOnlystreamfindOffsetblockOffsetSystem.Runtime.InteropServicesOutAttributedataOffsetnextDataOffsetfileOffsetfileBlockposlinesstartpmoptionsgstartByteendBytebrushgridPointcolbrushBackrecbyteIndexgphexbytePosbyteCharacterPosselectionLengthkeyDatakeyCharobjectmethodcallbackresultchWndhBitmapnWidthnHeightXYSystem.ReflectionAssemblyTitleAttributeAssemblyDescriptionAttributeAssemblyConfigurationAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeAssemblyCultureAttributeAssemblyVersionAttributeAssemblyDelaySignAttributeCLSCompliantAttributeComVisibleAttributeSystem.Runtime.CompilerServicesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeBe.Windows.Forms.HexBoxTypeConverterAttributeToolStripToolStripItemCollectionget_ItemsToolStripItemToolStripSeparatorCancelEventHandlerToolStripDropDownadd_Openingget_ContextMenuStripset_ContextMenuStripset_EnabledStringIsNullOrEmptyCategoryAttributeDefaultValueAttributeLocalizableAttributeDefaultMemberAttributeIListget_ListByteArrayListget_InnerListStructLayoutAttributeLayoutKindArgumentNullExceptionInvalidOperationExceptionIEnumerable`1DelegateCombineSystem.ThreadingInterlockedCompareExchangeEmptyMathMaxMinFileFileModeFileAccessFileShareOpenget_CanSeekArgumentExceptionget_CanWriteOperationCanceledExceptionSetLengthset_PositionWriteCloseGCSuppressFinalizeArgumentOutOfRangeExceptionget_PositionReadExceptionIDictionaryEnumeratorget_KeyInt64get_ValueNotSupportedExceptionIDictionaryget_DictionaryCompilerGeneratedAttributeget_ASCIIToLowerToUpperToolboxBitmapAttributeSystemInformationSizeget_Border3DSizeget_Widthget_HeightFromNameget_Blueget_WhiteFromArgbScrollEventHandlerScrollBaradd_ScrollFontStyleGraphicsUnitget_GenericTypographicStringFormatFlagsset_FormatFlagsControlStylesSetStyleset_Intervaladd_TickScrollEventTypeget_NewValueget_EnabledEnvironmentget_TickCountset_NewValueCeilingset_Minimumset_Maximumset_Valueset_VisibleFloorInvalidateget_Focusedget_HandleIntPtrZeroget_Xset_Xget_YSystem.Security.PermissionsSecurityPermissionAttributeSecurityActionget_MsgApplicationDoEventsDataObjectGetStringRuntimeTypeHandleGetTypeFromHandleSetDataMemoryStreamClipboardSetDataObjectRefreshIDataObjectGetDataObjectGetDataPresentGetDataTextBoxRendererget_IsSupportedSystem.Windows.Forms.VisualStylesVisualStyleElementTextBoxTextEditget_Normalget_DisabledVisualStyleRendererget_Graphicsget_ClientRectangleIDeviceContextDrawBackgroundGetBackgroundContentRectangleSolidBrushFillRectangleControlPaintBorder3DStyleDrawBorder3Dget_BlackButtonBorderStyleDrawBorderRegionExcludeExcludeClipop_Inequalityget_ForeColorThreadget_CurrentThreadget_CurrentCultureIFormatProviderConcatDrawStringPenDrawLineGetTypeSubstringIntersectsWithIntersectget_Topget_LeftBitmapFromImageSystem.Drawing.Drawing2DCompositingQualityset_CompositingQualityDrawImageget_GrayCreateGraphicsMeasureStringset_Yset_Widthset_Heightset_Leftset_TopControlCollectionget_Controlsop_EqualityStringBuilderAppendTrimCharSplitNumberStylesTryParseFocusMouseButtonsget_Buttonget_Deltaget_MouseWheelScrollLinesDescriptionAttributeBrowsableAttributeDesignerSerializationVisibilityAttributeDesignerSerializationVisibilityEditorBrowsableAttributeEditorBrowsableStateBindableAttributeMouseEventHandleradd_MouseDownadd_MouseMoveadd_MouseUpremove_MouseDownremove_MouseMoveremove_MouseUpget_WParamToInt32get_ModifierKeysContainsKeyKeyEventArgsOnKeyDownget_Handledget_ParentSelectNextControlUriIsHexDigitParseKeyPressEventArgsOnKeyPressOnKeyUpget_CharsGetEncodingCloneget_LongLengthDllImportAttributeuser32.dllSystem.CodeDom.CompilerGeneratedCodeAttributeSystem.DiagnosticsDebuggerNonUserCodeAttributeReferenceEqualsAssemblyget_AssemblyProcessGetCurrentProcessget_ProcessNameBe.Windows.Forms.HexBox.resourcesBe.Windows.Forms.Properties.Resources.resourcesBe.Windows.Forms.HexBox.bmpCut Copy PasteSelectAllcollection1The collection is empty.Enumerator is positioned before the first element or after the last element of the collection.}Collection was modified after the enumerator was instantiated. stream]stream must supported seek operations(CanSeek)3File is in read-only modefindOffset5File is in read-only mode.9FileByteProvider.DeleteBytes9FileByteProvider.InsertBytes countpositionXWhiteSmokeCourier NewFindBuffer can not be null when Type: Text and MatchCase: falseFindBufferLowerCase can not be null when Type is Text and MatchCase is trueFindBufferUpperCase can not be null when Type is Text and MatchCase is trueFindBufferUpperCase and FindBufferUpperCase must have the same size when Type is Text and MatchCase is trueIHex can not be null when Type is HexBinaryData0Ax ANSI (Default)-EBCDIC (Code Page 500) dataKBe.Windows.Forms.Properties.Resources devenvvcsexpressvbexpressvcexpresssharpdevelop™ ~FSdWe%z\V4@59 @ =  A  ?_ : E EE((E          (     ((     ((     I   ((        MQ Q = QM(QU  U   4   4 0Y  (   8  8 8((82]aeimDHLT q      u u y  < }    u  u ]    u  u              X X  \ \\     (((( ((X((\ P    P (P  y yX  $$RSA1Ks.z$'tۮC9K>0(%)}fc~84:ע%nr ҁkW̞ә7s/5^aϡ(qumη zSystem.ComponentModel.ExpandableObjectConverter, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 EM     5 55BuiltIn-ContextMenu Item -    5    I  =!Q I MMM  MMMM  =  IY]ae  4h h4hh44 h4h44     4   4h4  4     } }      'Be.Windows.Forms.HexBox HexBox.bmp    a a                u     ŀ.System.Security.Permissions.SecurityPermissionAttribute, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089T UnmanagedCode                 ] ] ]] ] ]]] ]          a  u       u       u  ]>u]uu]]]]u]uu]]]]E   E  eaeu u u ! -  % % %   -u 1AOccurs, when the value of SelectionStart property has changed.D?Occurs, when the value of SelectionLength property has changed.D?Occurs, when the value of LineInfoVisible property has changed.MHOccurs, when the value of ColumnInfoVisibleChanged property has changed.QLOccurs, when the value of GroupSeparatorVisibleChanged property has changed.FAOccurs, when the value of StringViewVisible property has changed.@;Occurs, when the value of BorderStyle property has changed.>9Occurs, when the value of GroupSize property has changed.A9Occurs, when the value of HexCasing property has changed.HCOccurs, when the value of HorizontalByteCount property has changed.FAOccurs, when the value of VerticalByteCount property has changed.@;Occurs, when the value of CurrentLine property has changed.JEOccurs, when the value of CurrentPositionInLine property has changed.D?Occurs, when Copy method was invoked and ClipBoardData changed.GBOccurs, when CopyHex method was invoked and ClipBoardData changed. ArgSystem.Drawing.Color, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aWhite I AppearancewgSystem.Drawing.Color, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a WhiteSmokeHex;6Gets or sets if the count of bytes in one line is fix.94Gets or sets the maximum count of bytes in one line.GBGets or sets the byte-count between group separators (if visible).:5Gets or sets the visibility of a vertical scroll bar.>9Gets or sets the visibility of a separator vertical line./*Gets or sets the visibility of header row.0+Gets or sets the visibility of a line info. .)Gets or sets the offset of the line info.ySystem.Windows.Forms.BorderStyle, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Fixed3D.)Gets or sets the hex box´s border style.4/Gets or sets the visibility of the string view.%Be.Windows.Forms.HexCasingUpper`[Gets or sets whether the HexBox control displays the hex characters in upper or lower case.rgSystem.Drawing.Color, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aEmptyc^Gets or sets the line info color. When this property is null, then ForeColor property is used.qgSystem.Drawing.Color, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aBlue>9Gets or sets the background color for the selected bytes.>9Gets or sets the foreground color for the selected bytes.72Gets or sets the visibility of a shadow selection.4/Gets or sets the color of the shadow selection. Q  P   P  UU  - -   -   ]]        I I  @3System.Resources.Tools.StronglyTypedResourceBuilder4.0.0.0 m mQ qQqQBe.Windows.Forms.HexBox!hex edit control (C# DOTNET)BeTWrapNonExceptionThrows56 6_CorDllMainmscoree.dll% 0HX@4VS_VERSION_INFOAxAx?DVarFileInfo$TranslationStringFileInfo000004b0TCommentshex edit control (C# DOTNET)(CompanyNameBeXFileDescriptionBe.Windows.Forms.HexBox8 FileVersion1.5.0.30785XInternalNameBe.Windows.Forms.HexBox.dll(LegalCopyright `OriginalFilenameBe.Windows.Forms.HexBox.dllPProductNameBe.Windows.Forms.HexBox< ProductVersion1.5.0.30785@ Assembly Version1.5.0.307850 06Be.HexEditor.150/bin/de/0000755000000000000000000000000012043223040013426 5ustar rootrootBe.HexEditor.150/bin/de/Be.HexEditor.resources.dll0000644000000000000000000011000012043222652020354 0ustar rootrootMZ@ !L!This program cannot be run in DOS mode. $PEL)%P! ` x @ {@\xO  H.textX ` `.rsrcp@@.reloc @BxH`s RP tt!d!5Joܹ]}kr<8IbuZ/o!LMC-cτ}+D^ UmUu˃QszĮLkzm-WL_?!VlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADP@lblValue.TextWertlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADP$this.TextÜberlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet gSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a*AHMH!$YS. ƱO |Rv (0|S:$this.TextbtnCancel.TextbtnOK.Text$groupBox1.LocationVhexFind.BuiltInContextMenu.CopyMenuItemTextThexFind.BuiltInContextMenu.CutMenuItemTextXhexFind.BuiltInContextMenu.PasteMenuItemText`hexFind.BuiltInContextMenu.SelectAllMenuItemTextlabel1.Sizelabel1.TextrbHex.TextSuchen AbbrechenSuchen@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Pointxy Kopieren Ausschneiden EinfügenAlles MarkierenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight- Suchen HexadezimalqlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPAHHU:D$this.TextbtnCancel.Text label1.Textlabel2.Text$Gehe Zu AbbrechenByte-Position:Gehe Zu<lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetDfSystem.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3ahSystem.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMwԝOև܇K>ÐĐ6@&E5` )Bj|;枣%K` yUh~Ajӹ'\lٯmِ (]dh%'*5|VOi|"Y"^K' N~tcR0!U'['/`r2%3*32`6Vs9?,uAvA)C>C;eJg3UڂYfff/·hחhBjj6x . i k U[ "  <r9V2 %f*  uk  T!V9MTa|_ B$this.Icon6aboutToolStripMenuItem.Size76aboutToolStripMenuItem.TextFcopyHexStringToolStripMenuItem.SizeFcopyHexStringToolStripMenuItem.TextfindNextToolStripMenuItem.ImagepasteHexToolStripMenuItem1.Size>pasteHexToolStripMenuItem1.Textp8pasteToolStripMenuItem.Image6pasteToolStripMenuItem.Size6pasteToolStripMenuItem.Textz 8pasteToolStripMenuItem1.Size 8pasteToolStripMenuItem1.Text*!selectAllToolStripMenuItem.Size">selectAllToolStripMenuItem.Text`#.toolStripSeparator.Sizeq#0toolStripSeparator1.Size$0toolStripSeparator2.Size$0toolStripSeparator3.Size]%0toolStripSeparator4.Size&0toolStripSeparator5.Size&6toolsToolStripMenuItem.SizeI'6toolsToolStripMenuItem.Text'4viewToolStripMenuItem.Size'4viewToolStripMenuItem.Text(@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.IconIconDataIconSizeSystem.Drawing.Size System.Drawing.Sizewidthheight6(& N( ( @ A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheightl  &Über...A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Kopieren als HexA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Kopieren als HexB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData BPNG  IHDRagAMA a pHYs(JIDAT8OKSa2(3 /"]B $f,p6,e"E̵4rlO&trn;mf1/ܼ<_3OhF"]7 غRۀ+MO--q jE?h~\CPP=QCHVg{4Mx8ԟ,~vBȣf%B%/ή$VW|m`T!}LeqK¡$sa_m﵌R*|l2gqQj" 8rL/UumkwB]evq*i%29A09:zO9;QNߜHOյHiJzʴp@*^?5CKBsvڝ8j,/8{K&?@kK߄1]^Pc^!RUgCmTk-[wVyB  I6IENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  &KopierenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight KopierenKopieren &AusschneidenB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JIDAT8OMKQ5%IXBP(F!"-li&I;[h5FH(YdQ٢/Su)\8L೹|pU#;'IdCNtO!]F>4-lC:qWvv˜ 4vYk9 jZvaH08#k7_.ЭCDR!v @F»cӐСg=\xoLIENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  &AusschneidenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightK  &BearbeitenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &BeendenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight. &DateiB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData xPNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs ¯pIDAT8OKqߛƊh06Jk2#;217'5)CfY֖Š 2]t!@AvUQwA؅~WԂ.>| / j{m$mhfȹߏ@E=Wt̳?}Pov2^!QK/^FϿPT;Zg6ؑ"c7p9q$\1H5)emd:g {\`x]c@u PکAN ,n Q < TpF Fµwk EzAA^]ݹ }f k0#*:ӓ)kHGd01D'Q^QOPsŠP#4peǙy>d@\︐!A܆ YܐT/AH鄠ЌN JAJiKXd+[%40 eIENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Weiter findenB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs ¯p.IDAT8O͓_HSQW`@! 2fCX.rd=ivnK. 6X6QD@E\eÅN*kv5^z}9 Ҳ>当Mc+t>ղDvv|M Sjl1kGzT@o9/BYsJ;(1 H/*#1oaP#63Y08(rK|ٗmnCv:*tz U]v+8@{^v @1lqh>iixK/ M>rsJLu|54 vsFN1 @ =JcuX`w L{P^i2y{pvaQkH&a< }ĎwPgN| {p :aJL#$BsHF LL;8Ѝ]dV"9KuMhZ!jLՄ%l@2Wu.j YS".+ gDY4O[zAhk9ɅUIENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight FindenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Gehe &Zu&HilfeKopieren Ausschneiden EinfügenAlles markieren&ÖffnenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &ÖffnenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight|  &OptionenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Einfügen von HexA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Einfügen als HexB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JRIDAT8OkHQ_})PT}"CFaFbF"R,)-MIGw"wů}uH 9{p,7iHbvj.㊼#85گ1ЛY?3~ʡ )WZƆKEW"OڌæF9<媣$(ݖ\E jyk9AKY0$i@}ހx]r01A&NHTk@X7\ǤXϤ`61ت+V.t>JX߶!qG<賃ɯ4mhzuFˈL (/Ngd@hǁoJأo8]9 J#vR*CqdRP**թPggWwl Q@ssybR>]N[K;»w‹ 8DI%|jZ`l%қ=\:(2aSV[7E|ϔ=VK=k%x:ӓ9 F[y=O|:$M[7^W N-IENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  &EinfügenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Einfügen EinfügenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Zuletzt geöffnete Dateien &SpeichernA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  &SpeichernA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Alles MarkierenA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight1 &ExtrasA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight; &Ansicht5lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet fSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a65+<$i*i݇@<Z#_8g9Dxu@]($this.Text"cancelButton.Text >clearRecentFilesButton.AutoSize6clearRecentFilesButton.Text&generalTabPage.Text<:languageSettingsGroupBox.TextG0recentFilesGroupBox.Text\0recentFilesMaxlabel.Textx0selectLanguageLabel.Size0selectLanguageLabel.TextQmscorlibSystem.ReflectionAssemblyTitleAttribute.ctorAssemblyDescriptionAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeBe.HexEditor.resources.dllBe.HexEditor.resourcesdeBe.HexEditor.BitControl.de.resourcesBe.HexEditor.FormAbout.de.resourcesBe.HexEditor.FormFind.de.resourcesBe.HexEditor.FormGoTo.de.resourcesBe.HexEditor.FormHexEditor.de.resourcesBe.HexEditor.FormOptions.de.resourcesBe.HexEditor.strings.de.resourcesBe.HexEditor.UCAbout.de.resources p0iNcNVhx%z\V4_rNAχL0( $$RSA1Tu]P E^koIod=h6Ȅz{0½<|k k&@"j?V8ΕdH~ "[xyoɐOg#lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetCfSystem.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Windows.Forms.ImeMode, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089fSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3ahSystem.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3afSystem.Drawing.Font, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPADMwԝ-QOև܇K>ÐĐ6@&E5` Bj|;枣%K+0` yUĸm9h~Ajӹ'\lٯmِ (]dh%'*5|VO|"Y"^K' N~tcR0!U'['/`r2%3*32`6Vs9?,uAvA)C>C;eJg3UڂYfff/·hחhBjj6x / j l ;t\ #  [W3 D+  (:l  s8"<NsG)jX` $this.Icon$this.ImeMode76aboutToolStripMenuItem.Size6aboutToolStripMenuItem.TextFcopyHexStringToolStripMenuItem.SizeFcopyHexStringToolStripMenuItem.Text<findNextToolStripMenuItem.ImagepasteHexToolStripMenuItem1.Size>pasteHexToolStripMenuItem1.Text>8pasteToolStripMenuItem.ImageK6pasteToolStripMenuItem.Size!6pasteToolStripMenuItem.TextB"8pasteToolStripMenuItem1.SizeL"8pasteToolStripMenuItem1.Text"selectAllToolStripMenuItem.Sizeh$>selectAllToolStripMenuItem.Text %.toolStripSeparator.Size%0toolStripSeparator1.Size%0toolStripSeparator2.Sizef&0toolStripSeparator3.Size '0toolStripSeparator4.Size'0toolStripSeparator5.SizeR(6toolsToolStripMenuItem.Size(6toolsToolStripMenuItem.Text)@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.IconIconDataIconSizeSystem.Drawing.Size System.Drawing.Sizewidthheight6(& N( ( @ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Informazioni &su...B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Copia hexB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight~  Copia hexC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData BPNG  IHDRagAMA a pHYs(JIDAT8OKSa2(3 /"]B $f,p6,e"E̵4rlO&trn;mf1/ܼ<_3OhF"]7 غRۀ+MO--q jE?h~\CPP=QCHVg{4Mx8ԟ,~vBȣf%B%/ή$VW|m`T!}LeqK¡$sa_m﵌R*|l2gqQj" 8rL/UumkwB]evq*i%29A09:zO9;QNߜHOյHiJzʴp@*^?5CKBsvڝ8j,/8{K&?@kK߄1]^Pc^!RUgCmTk-[wVyB  I6IENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &CopiaB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight~ CopiaCopiaTagliaC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JIDAT8OMKQ5%IXBP(F!"-li&I;[h5FH(YdQ٢/Su)\8L೹|pU#;'IdCNtO!]F>4-lC:qWvv˜ 4vYk9 jZvaH08#k7_.ЭCDR!v @F»cӐСg=\xoLIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &TagliaB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightB  &ModificaB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &EsciC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData xPNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs ¯pIDAT8OKqߛƊh06Jk2#;217'5)CfY֖Š 2]t!@AvUQwA؅~WԂ.>| / j{m$mhfȹߏ@E=Wt̳?}Pov2^!QK/^FϿPT;Zg6ؑ"c7p9q$\1H5)emd:g {\`x]c@u PکAN ,n Q < TpF Fµwk EzAA^]ݹ }f k0#*:ӓ)kHGd01D'Q^QOPsŠP#4peǙy>d@\︐!A܆ YܐT/AH鄠ЌN JAJiKXd+[%40 eIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Trova successivoC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs ¯p.IDAT8O͓_HSQW`@! 2fCX.rd=ivnK. 6X6QD@E\eÅN*kv5^z}9 Ҳ>当Mc+t>ղDvv|M Sjl1kGzT@o9/BYsJ;(1 H/*#1oaP#63Y08(rK|ٗmnCv:*tz U]v+8@{^v @1lqh>iixK/ M>rsJLu|54 vsFN1 @ =JcuX`w L{P^i2y{pvaQkH&a< }ĎwPgN| {p :aJL#$BsHF LL;8Ѝ]dV"9KuMhZ!jLՄ%l@2Wu.j YS".+ gDY4O[zAhk9ɅUIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight TrovaB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Vai aB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight0 &AiutoCopia Taglia Incolla Seleziona tutto D QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.FontNameSizeStyleUnit System.Drawing.FontStyleSystem.Drawing.GraphicsUnit Courier NewASystem.Drawing.FontStylevalue__System.Drawing.GraphicsUnitvalue__ &ApriB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &ApriB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheights &OpzioniB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Incolla hexB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Incolla hexC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JRIDAT8OkHQ_})PT}"CFaFbF"R,)-MIGw"wů}uH 9{p,7iHbvj.㊼#85گ1ЛY?3~ʡ )WZƆKEW"OڌæF9<媣$(ݖ\E jyk9AKY0$i@}ހx]r01A&NHTk@X7\ǤXϤ`61ت+V.t>JX߶!qG<賃ɯ4mhzuFˈL (/Ngd@hǁoJأo8]9 J#vR*CqdRP**թPggWwl Q@ssybR>]N[K;»w‹ 8DI%|jZ`l%қ=\:(2aSV[7E|ϔ=VK=k%x:ӓ9 F[y=O|:$M[7^W N-IENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &IncollaB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight IncollaIncollaB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  File recenti&SalvaB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &SalvaB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Seleziona &tuttoB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightG  S&trumentilSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetgSystem.Drawing.SizeF, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3amSystem.Globalization.CultureInfo, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.FormStartPosition, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089gSystem.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Windows.Forms.Padding, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089fSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3azSystem.Windows.Forms.AnchorStyles, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089PP*FgB65hX2"'+Z$i*imKL흜SSQ@<,:3hz7Z#_8g9b0p?:S}pDxuJq*6kX7\ 2$this.AutoScaleDimensions$this.Language"$this.Localizable|&$this.StartPosition~$this.Text0*cancelButton.TabIndex9"cancelButton.Text>>clearRecentFilesButton.LocationG6clearRecentFilesButton.Text,generalTabPage.Padding&generalTabPage.Text2languageComboBox.LocationBlanguageSettingsGroupBox.TabIndext:languageSettingsGroupBox.TextyokButton.Size"okButton.TabIndex-okButton.Text20recentFilesGroupBox.Text6mscorlibSystem.ReflectionAssemblyTitleAttribute.ctorAssemblyDescriptionAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeBe.HexEditor.resources.dllBe.HexEditor.resourcesitBe.HexEditor.strings.it.resourcesBe.HexEditor.FormAbout.it.resourcesBe.HexEditor.FormFind.it.resourcesBe.HexEditor.FormGoTo.it.resourcesBe.HexEditor.FormHexEditor.it.resourcesBe.HexEditor.FormOptions.it.resourcesBe.HexEditor.UCAbout.it.resources P,BeąNFz\V4_rNAχL0( $$RSA1Tu]P E^koIod=h6Ȅz{0½<|k k&@"j?V8ΕdH~ "[xyoɐOg# 0_CorDllMainmscoree.dll% @0HXtt4VS_VERSION_INFO^^?DVarFileInfo$TranslationStringFileInfo000004b0\"CommentsView and edit files in hex format(CompanyNameBeD FileDescriptionBe.HexEditor8 FileVersion1.5.0.24284XInternalNameBe.HexEditor.resources.dll(LegalCopyright `OriginalFilenameBe.HexEditor.resources.dll< ProductNameBe.HexEditor< ProductVersion1.5.0.24284@ Assembly Version1.5.0.24284 P6Be.HexEditor.150/bin/ja/0000755000000000000000000000000012043223040013430 5ustar rootrootBe.HexEditor.150/bin/ja/Be.HexEditor.resources.dll0000644000000000000000000011000012043222652020356 0ustar rootrootMZ@ !L!This program cannot be run in DOS mode. $PEL*%P! ` t @ @XtS  H.textT ` `.rsrcp@@.reloc @BtHo NP 7#W+> &U`(j0*p/хY&6=S()ayE=wд\C?q'bу$XiQq D5bDI@" 52lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPAHtz&P1j6Qtlabel1.Textlabel5.Text label7.TexttabChanges.Text'tabLicense.Text/ tabThanksTo.Text@作者: リンク:バージョン:変更ライセンス謝辞lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADP$this.Textバージョン情報lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPk&z*AHHCؓOM!$YS. ƱO vSdS:&$this.TextbtnCancel.TextbtnOK.TextVhexFind.BuiltInContextMenu.CopyMenuItemText'ThexFind.BuiltInContextMenu.CutMenuItemText2XhexFind.BuiltInContextMenu.PasteMenuItemText@`hexFind.BuiltInContextMenu.SelectAllMenuItemTextNlabel1.Text_rbHex.TextgrbString.Textr2resource.CopyMenuItemText0resource.CutMenuItemText4resource.PasteMenuItemTextlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetDfSystem.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Windows.Forms.ImeMode, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089fSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3ahSystem.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPAMwԝ-QOև܇K>ÐĐ6@&E5` Bj|;枣%K+0` yUh~Ajӹ'\lٯmِ (]dh%'*5|VOi|"Y"^K' N~tcR0!U'['/`r2%3*32`6Vs9?,uAvA)C>C;eJg3UڂYfff/·hחhBjj6xI u<  9 ;t z  E [X Q D A v (:   /D^s8yXsr $this.Icon$this.ImeMode76aboutToolStripMenuItem.Size6aboutToolStripMenuItem.TextFcopyHexStringToolStripMenuItem.SizeFcopyHexStringToolStripMenuItem.TextEfindNextToolStripMenuItem.ImagepasteHexToolStripMenuItem1.Sizei>pasteHexToolStripMenuItem1.Text 8pasteToolStripMenuItem.Image'6pasteToolStripMenuItem.Sizez!6pasteToolStripMenuItem.Text"8pasteToolStripMenuItem1.Size0"8pasteToolStripMenuItem1.Text"selectAllToolStripMenuItem.Sizem$>selectAllToolStripMenuItem.Text%.toolStripSeparator.Size&%0toolStripSeparator1.Size%0toolStripSeparator2.Sizen&0toolStripSeparator3.Size'0toolStripSeparator4.Size'0toolStripSeparator5.SizeZ(6toolsToolStripMenuItem.Size(6toolsToolStripMenuItem.Text)@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.IconIconDataIconSizeSystem.Drawing.Size System.Drawing.Sizewidthheight6(& N( ( @ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight バージョン情報(&A)...B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 16 進数をコピーB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 16 進数をコピーC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData BPNG  IHDRagAMA a pHYs(JIDAT8OKSa2(3 /"]B $f,p6,e"E̵4rlO&trn;mf1/ܼ<_3OhF"]7 غRۀ+MO--q jE?h~\CPP=QCHVg{4Mx8ԟ,~vBȣf%B%/ή$VW|m`T!}LeqK¡$sa_m﵌R*|l2gqQj" 8rL/UumkwB]evq*i%29A09:zO9;QNߜHOյHiJzʴp@*^?5CKBsvڝ8j,/8{K&?@kK߄1]^Pc^!RUgCmTk-[wVyB  I6IENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  コピー(&C)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  コピー コピー切り取り(&U)C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JIDAT8OMKQ5%IXBP(F!"-li&I;[h5FH(YdQ٢/Su)\8L೹|pU#;'IdCNtO!]F>4-lC:qWvv˜ 4vYk9 jZvaH08#k7_.ЭCDR!v @F»cӐСg=\xoLIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 切り取り(&T)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight;  編集(&E)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  終了(&X)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightF ファイル(&F)C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData xPNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs ¯pIDAT8OKqߛƊh06Jk2#;217'5)CfY֖Š 2]t!@AvUQwA؅~WԂ.>| / j{m$mhfȹߏ@E=Wt̳?}Pov2^!QK/^FϿPT;Zg6ؑ"c7p9q$\1H5)emd:g {\`x]c@u PکAN ,n Q < TpF Fµwk EzAA^]ݹ }f k0#*:ӓ)kHGd01D'Q^QOPsŠP#4peǙy>d@\︐!A܆ YܐT/AH鄠ЌN JAJiKXd+[%40 eIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  次を検索C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs ¯p.IDAT8O͓_HSQW`@! 2fCX.rd=ivnK. 6X6QD@E\eÅN*kv5^z}9 Ҳ>当Mc+t>ղDvv|M Sjl1kGzT@o9/BYsJ;(1 H/*#1oaP#63Y08(rK|ٗmnCv:*tz U]v+8@{^v @1lqh>iixK/ M>rsJLu|54 vsFN1 @ =JcuX`w L{P^i2y{pvaQkH&a< }ĎwPgN| {p :aJL#$BsHF LL;8Ѝ]dV"9KuMhZ!jLՄ%l@2Wu.j YS".+ gDY4O[zAhk9ɅUIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 検索B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 移動B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightD  ヘルプ(&H) コピー 切り取り 貼り付けすべて選択 開く(&O)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  開く(&O)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight オプション(&O)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 16 進数を貼り付けB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 16 進数を貼り付けC QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JRIDAT8OkHQ_})PT}"CFaFbF"R,)-MIGw"wů}uH 9{p,7iHbvj.㊼#85گ1ЛY?3~ʡ )WZƆKEW"OڌæF9<媣$(ݖ\E jyk9AKY0$i@}ހx]r01A&NHTk@X7\ǤXϤ`61ت+V.t>JX߶!qG<賃ɯ4mhzuFˈL (/Ngd@hǁoJأo8]9 J#vR*CqdRP**թPggWwl Q@ssybR>]N[K;»w‹ 8DI%|jZ`l%қ=\:(2aSV[7E|ϔ=VK=k%x:ӓ9 F[y=O|:$M[7^W N-IENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 貼り付け(&P)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  貼り付け 貼り付けB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 最近使ったファイル 保存(&S)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  保存(&S)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight すべて選択(&A)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightB  ツール(&T)lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet PADPADP65+*i݇@<Z#_8g9DxuO@{$this.Text"cancelButton.Text6clearRecentFilesButton.Text"&generalTabPage.Text6:languageSettingsGroupBox.Text>0recentFilesGroupBox.TextO0recentFilesMaxlabel.Textl0selectLanguageLabel.TextmscorlibSystem.ReflectionAssemblyTitleAttribute.ctorAssemblyDescriptionAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeBe.HexEditor.resources.dllBe.HexEditor.resourcesjaBe.HexEditor.UCAbout.ja.resourcesBe.HexEditor.FormAbout.ja.resourcesBe.HexEditor.FormFind.ja.resourcesBe.HexEditor.FormGoTo.ja.resourcesBe.HexEditor.FormHexEditor.ja.resourcesBe.HexEditor.FormOptions.ja.resourcesBe.HexEditor.strings.ja.resources *1PI. QzQz\V4_rNAχL0( $$RSA1Tu]P E^koIod=h6Ȅz{0½<|k k&@"j?V8ΕdH~ "[xyoɐOg#ÐĐ6@&E5` Bj|;枣%K` yUh~Ajӹ'\lٯmِ (]dh%'*5|VOi|"Y"^K' N~tcR0!/%3*3?,uAvA>C;eJg3Ufff/·hחhBjj6x  @ 6 s U V <r9- h %f{ u< T9 Y T & | 8 _$this.Icon6aboutToolStripMenuItem.Size76aboutToolStripMenuItem.TextFcopyHexStringToolStripMenuItem.SizeFcopyHexStringToolStripMenuItem.TextfindNextToolStripMenuItem.ImagepasteHexToolStripMenuItem1.Size>pasteHexToolStripMenuItem1.Text,8pasteToolStripMenuItem.ImageN6pasteToolStripMenuItem.Size 6pasteToolStripMenuItem.Text\!8pasteToolStripMenuItem1.Sizeo!8pasteToolStripMenuItem1.Text";'IdCNtO!]F>4-lC:qWvv˜ 4vYk9 jZvaH08#k7_.ЭCDR!v @F»cӐСg=\xoLIENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &ВырезатьA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.SizewidthheightK &РедактироватьA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  &ВыходA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight.  &ФайлB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData xPNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs aIDAT8OKqߛƊh06Jk2#;217'5)CfY֖Š 2]t!@AvUQwA؅~WԂ.>| / j{m$mhfȹߏ@E=Wt̳?}Pov2^!QK/^FϿPT;Zg6ؑ"c7p9q$\1H5)emd:g {\`x]c@u PکAN ,n Q < TpF Fµwk EzAA^]ݹ }f k0#*:ӓ)kHGd01D'Q^QOPsŠP#4peǙy>d@\︐!A܆ YܐT/AH鄠ЌN JAJiKXd+[%40 eIENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Найти далееB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs a.IDAT8O͓_HSQW`@! 2fCX.rd=ivnK. 6X6QD@E\eÅN*kv5^z}9 Ҳ>当Mc+t>ղDvv|M Sjl1kGzT@o9/BYsJ;(1 H/*#1oaP#63Y08(rK|ٗmnCv:*tz U]v+8@{^v @1lqh>iixK/ M>rsJLu|54 vsFN1 @ =JcuX`w L{P^i2y{pvaQkH&a< }ĎwPgN| {p :aJL#$BsHF LL;8Ѝ]dV"9KuMhZ!jLՄ%l@2Wu.j YS".+ gDY4O[zAhk9ɅUIENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Найти...A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Перейти к... &Помощь&ОткрытьA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &ОткрытьA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight| &НастройкиA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Вставить как хексA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  Вставить как хексB QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a cHRMz&u0`:pQ<RIDAT8OkHQ_})PT}"CFaFbF"R,)-MIGw"wů}uH 9{p,7iHbvj.㊼#85گ1ЛY?3~ʡ )WZƆKEW"OڌæF9<媣$(ݖ\E jyk9AKY0$i@}ހx]r01A&NHTk@X7\ǤXϤ`61ت+V.t>JX߶!qG<賃ɯ4mhzuFˈL (/Ngd@hǁoJأo8]9 J#vR*CqdRP**թPggWwl Q@ssybR>]N[K;»w‹ 8DI%|jZ`l%қ=\:(2aSV[7E|ϔ=VK=k%x:ӓ9 F[y=O|:$M[7^W N-IENDB` A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &ВставитьA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight ВставитьВставитьA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight Недавние файлы&СохранитьA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight &СохранитьA QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight A QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight1 &ДополнительноlSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet fSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a65+<$i*i݇@<Z#_8g9Dxu@]($this.Text"cancelButton.Text>clearRecentFilesButton.AutoSize"6clearRecentFilesButton.Text$&generalTabPage.Texta:languageSettingsGroupBox.Textm0recentFilesGroupBox.Text0recentFilesMaxlabel.Text0selectLanguageLabel.Size0selectLanguageLabel.TextmscorlibSystem.ReflectionAssemblyTitleAttribute.ctorAssemblyDescriptionAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeBe.HexEditor.resources.dllBe.HexEditor.resourcesruBe.HexEditor.FormAbout.ru.resourcesBe.HexEditor.FormFind.ru.resourcesBe.HexEditor.FormGoTo.ru.resourcesBe.HexEditor.FormHexEditor.ru.resourcesBe.HexEditor.FormOptions.ru.resourcesBe.HexEditor.strings.ru.resources -j;B0Vrz\V4_rNAχL0( $$RSA1Tu]P E^koIod=h6Ȅz{0½<|k k&@"j?V8ΕdH~ "[xyoɐOg#ÐĐ6@&E5` Bj|;枣%K+0` yUh~Ajӹ'\lٯmِ (]dh%'*5|VOi|"Y"^K' N~tcR0!U'['/`r2%3*32`6Vs9?,uAvA)C>C;eJg3UڂYfff/·hחhBjj6xI u<  9 ;t z  E [X Q D A v (:   /D^s8yXsr $this.Icon$this.ImeMode76aboutToolStripMenuItem.Size6aboutToolStripMenuItem.TextFcopyHexStringToolStripMenuItem.SizeFcopyHexStringToolStripMenuItem.Text6findNextToolStripMenuItem.ImagepasteHexToolStripMenuItem1.Size>pasteHexToolStripMenuItem1.Text8pasteToolStripMenuItem.Image6pasteToolStripMenuItem.Size)!6pasteToolStripMenuItem.Text!8pasteToolStripMenuItem1.Size!8pasteToolStripMenuItem1.Text}"selectAllToolStripMenuItem.Size#>selectAllToolStripMenuItem.Text$.toolStripSeparator.Size$0toolStripSeparator1.SizeR%0toolStripSeparator2.Size%0toolStripSeparator3.Size&0toolStripSeparator4.Size>'0toolStripSeparator5.Size'6toolsToolStripMenuItem.Size(6toolsToolStripMenuItem.Text*)@ QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.IconIconDataIconSizeSystem.Drawing.Size System.Drawing.Sizewidthheight6(& N( ( @ A WSystem.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089System.Windows.Forms.ImeModevalue__ B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight}  关于(&A)...B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 复制十六进制B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 复制十六进制C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData BPNG  IHDRagAMA a pHYs(JIDAT8OKSa2(3 /"]B $f,p6,e"E̵4rlO&trn;mf1/ܼ<_3OhF"]7 غRۀ+MO--q jE?h~\CPP=QCHVg{4Mx8ԟ,~vBȣf%B%/ή$VW|m`T!}LeqK¡$sa_m﵌R*|l2gqQj" 8rL/UumkwB]evq*i%29A09:zO9;QNߜHOյHiJzʴp@*^?5CKBsvڝ8j,/8{K&?@kK߄1]^Pc^!RUgCmTk-[wVyB  I6IENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  复制(&C)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 复制复制剪切C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JIDAT8OMKQ5%IXBP(F!"-li&I;[h5FH(YdQ٢/Su)\8L೹|pU#;'IdCNtO!]F>4-lC:qWvv˜ 4vYk9 jZvaH08#k7_.ЭCDR!v @F»cӐСg=\xoLIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  剪切(&T)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight;  编辑(&E)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  退出(&X)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight;  文件(&F)C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData xPNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs =RIDAT8OKqߛƊh06Jk2#;217'5)CfY֖Š 2]t!@AvUQwA؅~WԂ.>| / j{m$mhfȹߏ@E=Wt̳?}Pov2^!QK/^FϿPT;Zg6ؑ"c7p9q$\1H5)emd:g {\`x]c@u PکAN ,n Q < TpF Fµwk EzAA^]ݹ }f k0#*:ӓ)kHGd01D'Q^QOPsŠP#4peǙy>d@\︐!A܆ YܐT/AH鄠ЌN JAJiKXd+[%40 eIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 查找下一个C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a cHRMz&u0`:pQ< pHYs =R.IDAT8O͓_HSQW`@! 2fCX.rd=ivnK. 6X6QD@E\eÅN*kv5^z}9 Ҳ>当Mc+t>ղDvv|M Sjl1kGzT@o9/BYsJ;(1 H/*#1oaP#63Y08(rK|ٗmnCv:*tz U]v+8@{^v @1lqh>iixK/ M>rsJLu|54 vsFN1 @ =JcuX`w L{P^i2y{pvaQkH&a< }ĎwPgN| {p :aJL#$BsHF LL;8Ѝ]dV"9KuMhZ!jLՄ%l@2Wu.j YS".+ gDY4O[zAhk9ɅUIENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 查找B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 转到B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight>  帮助(&H) 复制(&C) 剪切(&X) 粘贴(&P) 全选(&A) 打开(&O)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  打开(&O)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheightu  选项(&O)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 粘贴十六进制B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 粘贴十六进制C QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.BitmapData PNG  IHDRagAMA a pHYs(JRIDAT8OkHQ_})PT}"CFaFbF"R,)-MIGw"wů}uH 9{p,7iHbvj.㊼#85گ1ЛY?3~ʡ )WZƆKEW"OڌæF9<媣$(ݖ\E jyk9AKY0$i@}ހx]r01A&NHTk@X7\ǤXϤ`61ت+V.t>JX߶!qG<賃ɯ4mhzuFˈL (/Ngd@hǁoJأo8]9 J#vR*CqdRP**թPggWwl Q@ssybR>]N[K;»w‹ 8DI%|jZ`l%қ=\:(2aSV[7E|ϔ=VK=k%x:ӓ9 F[y=O|:$M[7^W N-IENDB` B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  粘贴(&P)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 粘贴粘贴B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight 最近的文件 保存(&S)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  保存(&S)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight  全选(&A)B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight B QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aSystem.Drawing.Sizewidthheight<  工具(&T)lSystem.Resources.ResourceReader, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet fSystem.Drawing.Size, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a65+$i*imK@<Z#_8g9Dxun@9{$this.Text"cancelButton.Text6clearRecentFilesButton.Text&generalTabPage.Text:languageSettingsGroupBox.Text&okButton.Text40recentFilesGroupBox.Text<0recentFilesMaxlabel.TextM0selectLanguageLabel.Size|0selectLanguageLabel.Text mscorlibSystem.ReflectionAssemblyTitleAttribute.ctorAssemblyDescriptionAttributeAssemblyCompanyAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyTrademarkAttributeBe.HexEditor.resources.dllBe.HexEditor.resourceszh-HansBe.HexEditor.FormAbout.zh-Hans.resourcesBe.HexEditor.FormFind.zh-Hans.resourcesBe.HexEditor.FormGoTo.zh-Hans.resourcesBe.HexEditor.FormHexEditor.zh-Hans.resourcesBe.HexEditor.FormOptions.zh-Hans.resourcesBe.HexEditor.strings.zh-Hans.resourcesBe.HexEditor.UCAbout.zh-Hans.resources [&+L))bz\V4_rNAχL0( $$RSA1Tu]P E^koIod=h6Ȅz{0½<|k k&@"j?V8ΕdH~ "[xyoɐOg# 8 GB\par - Improvement: Can open file in read-only mode\par - Improvement: Ported to .NET 2.0\par - Improvement: Solution converted to Visual Studio 2008\par - Improvement: TextBox border rendering changed (without pinvoke)\par - Improvement: New ToolStrip controls and icons\par - Improvement: pinvoke signatures dropped\b\par \par \par 1.2.0\par \b0 - Note: Thanks to Dave Cluderay\par - New feature: DynamicFileByteProvider with Insert/Delete support\par - New feature: Open Dynamic(Big files also) added\par \b\par 1.1.3\b0\par - Note: Thanks to Eric Lawrence\par - New feature: LineInfoForeColor property added\par - Bug fix: CanCut, CanPaste take regard of ReadOnly\par - Bug fix: Ensure that we don't paint LineInfo for empty lines when array is empty.\par - Bug fix: Use first byte of line as address in LineInfo to mimic classic HexEditors.\b\par \par 1.1.2\b0\par - Bug fix: Scrolling to the end is not working correctly.\b\par \par 1.1.1\b0\par - Bug fix: Scrolling does not work as expected.\par - Bug fix: Exclude border region during text drawing.\par - New feature: InsertActive-property\par \b\par 1.1\b0\par - Improvement: Removed gradient style feature.\par - New feature: ReadOnly property added\par - Improvement: Keys events are fireing correctly now\par - New feature: Activate/Deactivate insert with "Insert"-key\par - Improvement: Changes in Tab-key processing\par - New feature: Mouse wheel support\par - Improvement: Simplified scrolling methods\par \b\par \par 1.0.2\b0\par - New feature: HexEditor can open files using the DynamicByteProvider\par - Improvement: IByteProvider is now extended with Changed event\par - Improvement: Themes.dll is replaced with Win32 API\'b4s\par - Bug fix: Another cursor hidden bug fix\par - Bug fix: Cannot move up with "Up"-key on special conditions\par \b\par 1.0.1\par \b0 - Bug fix: Caret is hidden sometimes\par \b\par 1.0.0\b0\par - Windows XP style added\par - Improved support for Copy and Paste\par - Bug fix: Find doesn\'b4t work corretly\ul\par \ulnone\par \b 0.9.1\b0\par - Checked against FxCop (2004-11-29)\par - New feature: HexFontEditor class added (2004-11-20)\par - Performance improvement: HexBox.Find method (2004-10-14)\fs20\par } Be.HexEditor.150/documentation/Requirements.txt0000644000000000000000000000016611540604700020375 0ustar rootrootSoftware Requirements: - Windows 2000 or above - .NET Framework 2.0 Developer Requirements: - Visual Studio 2010Be.HexEditor.150/license.txt0000644000000000000000000000210511561762366014476 0ustar rootrootThe MIT License Copyright (c) 2011 Bernhard Elbl Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.Be.HexEditor.150/sources/0000755000000000000000000000000012043223042013753 5ustar rootrootBe.HexEditor.150/sources/Be.HexEditor/0000755000000000000000000000000012043223042016173 5ustar rootrootBe.HexEditor.150/sources/Be.HexEditor/app.config0000644000000000000000000000201112041446550020145 0ustar rootroot
6 True Be.HexEditor.150/sources/Be.HexEditor/App.ico0000644000000000000000000000624612005447246017433 0ustar rootroot(F n00hV ( ( @(0`(0 Be.HexEditor.150/sources/Be.HexEditor/Be.HexEditor.csproj0000644000000000000000000003740412042466434021662 0ustar rootroot Local 9.0.30729 2.0 {FF4ADB46-210E-429E-9176-68613F5CBE90} Debug AnyCPU App.ico Be.HexEditor Be.HexEditor.snk JScript Grid IE50 false WinExe Be.HexEditor OnBuildSuccess 3.5 true false v2.0 publish\ true Disk false Foreground 7 Days false false true http://sourceforge.net/projects/hexbox/ Be.HexEditor Bernhard Elbl 6 1.5.0.%2a false true true bin\Debug\ true 285212672 false DEBUG;TRACE true 4096 false false false false false 4 full prompt AllRules.ruleset false bin\Release\ true 285212672 false TRACE false 4096 false true false false false 4 none prompt BasicCorrectnessRules.ruleset 5282C77035188F0544204E779C3587A1D0FE131C Be.pfx true true System System.Drawing System.Windows.Forms BitControl.cs BitControl.cs Designer FormAbout.cs Designer FormAbout.cs Designer FormAbout.cs Designer FormAbout.cs FormAbout.cs FormFind.cs Designer FormFind.cs Designer FormFind.cs Designer FormFind.cs FormFind.cs FormGoTo.cs Designer FormGoTo.cs Designer FormGoTo.cs Designer FormGoTo.cs FormGoTo.cs FormHexEditor.cs Designer FormHexEditor.cs Designer Designer FormHexEditor.cs FormHexEditor.cs FormHexEditor.cs FormOptions.cs Designer FormOptions.cs FormOptions.cs Designer FormOptions.cs FormOptions.cs Designer ResXFileCodeGenerator strings.Designer.cs Designer UCAbout.cs Designer UCAbout.cs Designer UCAbout.cs UCAbout.cs Designer UserControl BitControl.cs Form FormOptions.cs images.resx True True Code Form Form Form Form FormHexEditor.cs True True Settings.settings Component RecentFileHandler.cs True True strings.resx UserControl UCAbout.cs Resources\Changes.rtf FormAbout.cs FormFind.cs FormGoTo.cs FormHexEditor.cs FormOptions.cs ResXFileCodeGenerator images.Designer.cs Designer Designer SettingsSingleFileGenerator Settings.Designer.cs False .NET Framework 3.5 SP1 Client Profile false False .NET Framework 2.0 %28x86%29 false False .NET Framework 3.0 %28x86%29 false False .NET Framework 3.5 false False .NET Framework 3.5 SP1 false Resources\license.txt {26c5f25f-b450-4caf-ad8b-b8d11ae73457} Be.Windows.Forms.HexBox Be.HexEditor.150/sources/Be.HexEditor/Be.HexEditor.snk0000644000000000000000000000112410762752742021152 0ustar rootroot$RSA2Tu]P E^koIod=h6Ȅz{0½<|k k&@"j?V8ΕdH~ "[xyoɐOg#A`7TD& oT],lAwM =v 79ن5<JMI?$ o- PҴ *.8Bneµ[ ߼2Y7^Ǿ~~ EpoY*b/?ho U#C8ΠAex؁~GbB.0݊d9<3)rbeӜ) J.΃ -B%|WPm̩h ʹ81wXACԠQ{Y{6ƙTW]ǰu$o>IƑrjߣU's1U%utn'o#ۮ>~=x(dzBHr}: 7n+[>YBe.HexEditor.150/sources/Be.HexEditor/Be.pfx0000644000000000000000000000322612042466434017260 0ustar rootroot00N *H ?;070 *H 00 *H  00 *H  0v^u?^2Tӎ 欘$k:r7h]項7({V&]Wa19#e7jY f!粅eNM~3#}܀/Ŋ*73lOFSJB#7gmv0$t^4k[o}3uJk8 9UCo"]PΧɌm_ P+K}!6eHy kng|\>5ȺUF_hf'=>/I}U@8%_Eސn iHJKljzi%Dks:$T4-VZi8 <@m} ?\OfPW6oYf+Dq˶8 d]|010 *H  10] +71PNMicrosoft Strong Cryptographic Provider0e *H  1XVPvkTmp:004669f2-a70b-45db-bd49-39dfbce8f8b70o *H `0\0U *H 0 *H  0tФ%Ѐ(-TTXSmބAS4ॵ, optlH$E6=aL'7~aeb.owT쭀ɟR"y]-鸌~U ~H*-JL2B;";9H2*뫻S6O ILPh)>Zڒd"a#eo 0_ߑ7('H~69I{ގ @VY)%TXUX,(;P36?ʑ;p7/b=Qاl|3sA> NBp|U'8eh |P%9GgĝNl?@ nٔ >`xah F0@$?Ķ'nn*0mʮG.l;H \q8NEΊ f|*,R4ꃓĎQ6q7] ut-Oq=G͈VeFlC|/aWBǍ& Yڲ o9ڞqfch(f,n#;xHm.*)C>DI+D{h+gao)0;00+׳,'V Zܖ{!E ^ ~i=O'Be.HexEditor.150/sources/Be.HexEditor/BitControl.cs0000644000000000000000000001515112043222652020612 0ustar rootrootusing System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; namespace Be.HexEditor { public partial class BitControl : UserControl { List _txtBits = new List(); public event EventHandler BitChanged; protected virtual void OnBitChanged(EventArgs e) { if(BitChanged != null) BitChanged(this, e); } FlowLayoutPanel _innerBorderHeaderPanel; FlowLayoutPanel _innerBorderPanel; public BitControl() { InitializeComponent(); pnBitsEditor.BackColor = System.Windows.Forms.VisualStyles.VisualStyleInformation.TextControlBorder; _innerBorderHeaderPanel = new FlowLayoutPanel(); _innerBorderHeaderPanel.Dock = DockStyle.Fill; _innerBorderHeaderPanel.Padding = new System.Windows.Forms.Padding(0, 2, 0, 0); _innerBorderHeaderPanel.Margin = new System.Windows.Forms.Padding(3, 1, 3, 1); pnBitsHeader.Controls.Add(_innerBorderHeaderPanel); for (int i = 7; i > -1; i--) { Label lbl = new Label(); lbl.Tag = i; lbl.BorderStyle = System.Windows.Forms.BorderStyle.None; lbl.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); lbl.Margin = new System.Windows.Forms.Padding(0); lbl.Name = "lbl" + i.ToString(); lbl.Size = new System.Drawing.Size(14, 14); lbl.Text = i.ToString(); lbl.Enter += new System.EventHandler(this.txt_Enter); lbl.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txt_KeyDown); _innerBorderHeaderPanel.Controls.Add(lbl); } _innerBorderPanel = new FlowLayoutPanel(); _innerBorderPanel.BackColor = Color.White; _innerBorderPanel.Dock = DockStyle.Fill; _innerBorderPanel.Padding = new System.Windows.Forms.Padding(3, 2, 0, 0); _innerBorderPanel.Margin = new System.Windows.Forms.Padding(3,1,3,1); pnBitsEditor.Controls.Add(_innerBorderPanel); for(int i = 7; i > -1; i--) { RichTextBox txt = new RichTextBox(); txt.Tag = i; txt.BorderStyle = System.Windows.Forms.BorderStyle.None; txt.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); txt.Margin = new System.Windows.Forms.Padding(0); txt.MaxLength = 1; txt.Multiline = false; txt.Name = "txt" + i.ToString(); txt.Size = new System.Drawing.Size(14, 14); txt.TabIndex = 10 -i + 7; txt.Text = "0"; txt.Visible = false; txt.SelectionChanged += new System.EventHandler(this.txt_SelectionChanged); txt.Enter += new System.EventHandler(this.txt_Enter); txt.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txt_KeyDown); _innerBorderPanel.Controls.Add(txt); _txtBits.Add(txt); } UpdateView(); } BitInfo _bitInfo; [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public BitInfo BitInfo { get { return _bitInfo; } set { _bitInfo = value; UpdateView(); } } private void UpdateView() { foreach(var txt in _txtBits) txt.TextChanged -= new EventHandler(txt_TextChanged); if (_bitInfo == null) { foreach (var txt in _txtBits) { txt.Text = string.Empty; } pnBitsEditor.Visible = lblValue.Visible = lblBit.Visible = pnBitsHeader.Visible = false; return; } else { foreach (var txt in _txtBits) txt.Visible = true; pnBitsEditor.Visible = lblValue.Visible = lblBit.Visible = pnBitsHeader.Visible = true; } foreach (var txt in _txtBits) { int bit = (int)txt.Tag; txt.Text = _bitInfo.GetBitAsString(bit); } foreach(var txt in _txtBits) txt.TextChanged += new EventHandler(txt_TextChanged); } int GetBitSetInt(byte b, int pos) { if (IsBitSet(b, pos)) return 1; else return 0; } bool IsBitSet(byte b, int pos) { return (b & (1 << pos)) != 0; } byte SetBit(byte b, int BitNumber) { //Kleine Fehlerbehandlung if (BitNumber < 8 && BitNumber > -1) { return (byte)(b | (byte)(0x01 << BitNumber)); } else { throw new InvalidOperationException( "Der Wert für BitNumber " + BitNumber.ToString() + " war nicht im zulässigen Bereich! (BitNumber = (min)0 - (max)7)"); } } void txt_TextChanged(object sender, EventArgs e) { var txt = (RichTextBox)sender; var index = (int)txt.Tag; var value = txt.Text != "0"; this.BitInfo[index] = value; OnBitChanged(EventArgs.Empty); NavigateRight((RichTextBox)sender); } void NavigateLeft(RichTextBox txt) { var indexOf = _txtBits.IndexOf(txt); NavigateTo(indexOf - 1); } void NavigateRight(RichTextBox txt) { var indexOf = _txtBits.IndexOf(txt); NavigateTo(indexOf + 1); } void NavigateTo(int indexOf) { if (indexOf > _txtBits.Count - 1 || indexOf < 0) return; var txtFocus = false; foreach (var txt in _txtBits) { if (txt.Focused) { txtFocus = true; break; } } if (!txtFocus) return; var selectBox = _txtBits[indexOf]; selectBox.Focus(); } void txt_KeyDown(object sender, KeyEventArgs e) { var txt = (RichTextBox)sender; List bitKeys = new List() { Keys.D0, Keys.D1 }; var txt7 = _txtBits[0]; if (txt7.SelectionLength > 1) txt7.SelectionLength = 1; var modifiersNone = e.Modifiers == Keys.None; var updateBit = modifiersNone && bitKeys.Contains(e.KeyCode); e.Handled = e.SuppressKeyPress = !updateBit; if (!updateBit && modifiersNone) { switch (e.KeyCode) { case Keys.Left: NavigateLeft(txt); break; case Keys.Right: NavigateRight(txt); break; case Keys.Home: NavigateTo(0); break; case Keys.End: NavigateTo(7); break; } } } void txt_SelectionChanged(object sender, EventArgs e) { var txt = (RichTextBox)sender; UpdateSelection(txt); } void UpdateSelection(RichTextBox txt) { txt.SelectionStart = 0; if (txt.SelectionLength == 0) txt.SelectionLength = 1; } void txt_Enter(object sender, EventArgs e) { var txt = (RichTextBox)sender; UpdateSelection(txt); } } } Be.HexEditor.150/sources/Be.HexEditor/BitControl.de.resx0000644000000000000000000001342112042466434021562 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Wert Be.HexEditor.150/sources/Be.HexEditor/BitControl.designer.cs0000644000000000000000000000514112043222652022407 0ustar rootrootnamespace Be.HexEditor { partial class BitControl { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Component Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BitControl)); this.lblValue = new System.Windows.Forms.Label(); this.lblBit = new System.Windows.Forms.Label(); this.pnBitsEditor = new System.Windows.Forms.Panel(); this.pnBitsHeader = new System.Windows.Forms.Panel(); this.SuspendLayout(); // // lblValue // resources.ApplyResources(this.lblValue, "lblValue"); this.lblValue.Name = "lblValue"; // // lblBit // resources.ApplyResources(this.lblBit, "lblBit"); this.lblBit.Name = "lblBit"; // // pnBitsEditor // resources.ApplyResources(this.pnBitsEditor, "pnBitsEditor"); this.pnBitsEditor.Name = "pnBitsEditor"; // // pnBitsHeader // resources.ApplyResources(this.pnBitsHeader, "pnBitsHeader"); this.pnBitsHeader.Name = "pnBitsHeader"; // // BitControl // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.pnBitsHeader); this.Controls.Add(this.pnBitsEditor); this.Controls.Add(this.lblValue); this.Controls.Add(this.lblBit); this.Name = "BitControl"; this.ResumeLayout(false); } #endregion private System.Windows.Forms.Label lblValue; private System.Windows.Forms.Label lblBit; private System.Windows.Forms.Panel pnBitsEditor; private System.Windows.Forms.Panel pnBitsHeader; } } Be.HexEditor.150/sources/Be.HexEditor/BitControl.resx0000644000000000000000000002640412043222652021171 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 0, 19 60, 13 14 Value MiddleLeft lblValue System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 2 0, 2 63, 13 13 Bit MiddleLeft lblBit System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 3 Consolas, 8.25pt 68, 19 0, 0, 0, 0 1, 1, 1, 1 117, 18 17 pnBitsEditor System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 1 Consolas, 8.25pt 68, 1 0, 0, 0, 0 1, 1, 1, 1 117, 18 18 pnBitsHeader System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 0 True 6, 13 215, 36 BitControl System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Be.HexEditor.150/sources/Be.HexEditor/BitInfo.cs0000644000000000000000000000247612001510470020063 0ustar rootrootusing System; using System.Collections.Generic; using System.Text; using System.Collections; namespace Be.HexEditor { public class BitInfo { private byte _value; public byte Value { get { return _value; } set { _value = value; } } public long Position { get; set; } public BitInfo(byte value, long position) { _value = value; Position = position; } public override string ToString() { var result = string.Format("{0}{1}{2}{3}{4}{5}{6}{7}" , GetBitAsString(7) , GetBitAsString(6) , GetBitAsString(5) , GetBitAsString(4) , GetBitAsString(3) , GetBitAsString(2) , GetBitAsString(1) , GetBitAsString(0) ); return result; } public string GetBitAsString(int index) { if (this[index]) return "1"; else return "0"; } public bool this[int index] { get { return (_value & (1 << index)) != 0; } set { if (value) _value |= (byte)(1 << index); //set bit index 1 else _value &= (byte)(~(1 << index)); //set bit index 0 } } byte ConvertToByte(BitArray bits) { if (bits.Count != 8) { throw new ArgumentException("bits"); } byte[] bytes = new byte[1]; bits.CopyTo(bytes, 0); return bytes[0]; } } } Be.HexEditor.150/sources/Be.HexEditor/FormAbout.cs0000644000000000000000000000460612001250414020423 0ustar rootrootusing System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespace Be.HexEditor { /// /// Summary description for FormAbout. /// public class FormAbout : System.Windows.Forms.Form { private Be.HexEditor.UCAbout ucAbout1; private System.Windows.Forms.Button btnOK; /// /// Required designer variable. /// private System.ComponentModel.Container components = null; public FormAbout() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used. /// protected override void Dispose(bool disposing) { if (disposing) { if (components != null) { components.Dispose(); } } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout)); this.ucAbout1 = new Be.HexEditor.UCAbout(); this.btnOK = new System.Windows.Forms.Button(); this.SuspendLayout(); // // ucAbout1 // resources.ApplyResources(this.ucAbout1, "ucAbout1"); this.ucAbout1.Name = "ucAbout1"; // // btnOK // resources.ApplyResources(this.btnOK, "btnOK"); this.btnOK.Name = "btnOK"; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); // // FormAbout // this.AcceptButton = this.btnOK; resources.ApplyResources(this, "$this"); this.BackColor = System.Drawing.SystemColors.Control; this.Controls.Add(this.btnOK); this.Controls.Add(this.ucAbout1); this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "FormAbout"; this.ShowIcon = false; this.ShowInTaskbar = false; this.ResumeLayout(false); } #endregion private void btnOK_Click(object sender, System.EventArgs e) { Close(); } } } Be.HexEditor.150/sources/Be.HexEditor/FormAbout.de.resx0000644000000000000000000001341712012756134021402 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Über Be.HexEditor.150/sources/Be.HexEditor/FormAbout.it.resx0000644000000000000000000001355712012756134021433 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 OK Informazioni su... Be.HexEditor.150/sources/Be.HexEditor/FormAbout.ja.resx0000644000000000000000000001343712012756134021406 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 バージョン情報 Be.HexEditor.150/sources/Be.HexEditor/FormAbout.resx0000644000000000000000000002160412012756134021010 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Top, Bottom, Left, Right 0, 0 456, 312 0 ucAbout1 Be.HexEditor.UCAbout, Be.HexEditor, Version=1.4.8.24159, Culture=neutral, PublicKeyToken=01fb039ca8b8c445 $this 1 Bottom, Right 368, 320 75, 23 1 OK btnOK System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 0 5, 15 456, 350 Segoe UI, 8.25pt CenterScreen About FormAbout System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Be.HexEditor.150/sources/Be.HexEditor/FormAbout.ru.resx0000644000000000000000000001343712012756134021442 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 О программе Be.HexEditor.150/sources/Be.HexEditor/FormAbout.zh-Hans.resx0000644000000000000000000001354712012756134022326 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 确定 关于 Be.HexEditor.150/sources/Be.HexEditor/FormFind.cs0000644000000000000000000003124512042466434020250 0ustar rootrootusing System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using Be.Windows.Forms; using System.Collections.Generic; using System.Text; namespace Be.HexEditor { /// /// Summary description for FormFind. /// public class FormFind : System.Windows.Forms.Form { private Be.Windows.Forms.HexBox hexFind; private System.Windows.Forms.TextBox txtFind; private System.Windows.Forms.RadioButton rbString; private System.Windows.Forms.RadioButton rbHex; private System.Windows.Forms.Label label1; private System.Windows.Forms.Button btnOK; private System.Windows.Forms.Button btnCancel; private System.Windows.Forms.GroupBox groupBox1; private Label lblPercent; private Label lblFinding; private CheckBox chkMatchCase; private Timer timerPercent; private Timer timer; private FlowLayoutPanel flowLayoutPanel1; private IContainer components; public FormFind() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // rbString.CheckedChanged += new EventHandler(rb_CheckedChanged); rbHex.CheckedChanged += new EventHandler(rb_CheckedChanged); } void ByteProvider_Changed(object sender, EventArgs e) { ValidateFind(); } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormFind)); this.txtFind = new System.Windows.Forms.TextBox(); this.rbString = new System.Windows.Forms.RadioButton(); this.rbHex = new System.Windows.Forms.RadioButton(); this.label1 = new System.Windows.Forms.Label(); this.btnOK = new System.Windows.Forms.Button(); this.btnCancel = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.lblPercent = new System.Windows.Forms.Label(); this.lblFinding = new System.Windows.Forms.Label(); this.chkMatchCase = new System.Windows.Forms.CheckBox(); this.timerPercent = new System.Windows.Forms.Timer(this.components); this.timer = new System.Windows.Forms.Timer(this.components); this.hexFind = new Be.Windows.Forms.HexBox(); this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); this.flowLayoutPanel1.SuspendLayout(); this.SuspendLayout(); // // txtFind // resources.ApplyResources(this.txtFind, "txtFind"); this.txtFind.Name = "txtFind"; this.txtFind.TextChanged += new System.EventHandler(this.txtString_TextChanged); // // rbString // resources.ApplyResources(this.rbString, "rbString"); this.rbString.Checked = true; this.rbString.Name = "rbString"; this.rbString.TabStop = true; // // rbHex // resources.ApplyResources(this.rbHex, "rbHex"); this.rbHex.Name = "rbHex"; // // label1 // resources.ApplyResources(this.label1, "label1"); this.label1.ForeColor = System.Drawing.Color.Blue; this.label1.Name = "label1"; // // btnOK // resources.ApplyResources(this.btnOK, "btnOK"); this.btnOK.Name = "btnOK"; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); // // btnCancel // resources.ApplyResources(this.btnCancel, "btnCancel"); this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnCancel.Name = "btnCancel"; this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); // // groupBox1 // resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // // lblPercent // resources.ApplyResources(this.lblPercent, "lblPercent"); this.lblPercent.Name = "lblPercent"; // // lblFinding // resources.ApplyResources(this.lblFinding, "lblFinding"); this.lblFinding.ForeColor = System.Drawing.Color.Blue; this.lblFinding.Name = "lblFinding"; // // chkMatchCase // resources.ApplyResources(this.chkMatchCase, "chkMatchCase"); this.chkMatchCase.Name = "chkMatchCase"; this.chkMatchCase.UseVisualStyleBackColor = true; // // timerPercent // this.timerPercent.Tick += new System.EventHandler(this.timerPercent_Tick); // // timer // this.timer.Interval = 50; this.timer.Tick += new System.EventHandler(this.timer_Tick); // // hexFind // resources.ApplyResources(this.hexFind, "hexFind"); // // // this.hexFind.BuiltInContextMenu.CopyMenuItemImage = global::Be.HexEditor.images.CopyHS; this.hexFind.BuiltInContextMenu.CopyMenuItemText = resources.GetString("hexFind.BuiltInContextMenu.CopyMenuItemText"); this.hexFind.BuiltInContextMenu.CutMenuItemImage = global::Be.HexEditor.images.CutHS; this.hexFind.BuiltInContextMenu.CutMenuItemText = resources.GetString("hexFind.BuiltInContextMenu.CutMenuItemText"); this.hexFind.BuiltInContextMenu.PasteMenuItemImage = global::Be.HexEditor.images.PasteHS; this.hexFind.BuiltInContextMenu.PasteMenuItemText = resources.GetString("hexFind.BuiltInContextMenu.PasteMenuItemText"); this.hexFind.BuiltInContextMenu.SelectAllMenuItemText = resources.GetString("hexFind.BuiltInContextMenu.SelectAllMenuItemText"); this.hexFind.InfoForeColor = System.Drawing.Color.Empty; this.hexFind.Name = "hexFind"; this.hexFind.ShadowSelectionColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(60)))), ((int)(((byte)(188)))), ((int)(((byte)(255))))); // // flowLayoutPanel1 // resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1"); this.flowLayoutPanel1.Controls.Add(this.label1); this.flowLayoutPanel1.Controls.Add(this.groupBox1); this.flowLayoutPanel1.Name = "flowLayoutPanel1"; // // FormFind // this.AcceptButton = this.btnOK; resources.ApplyResources(this, "$this"); this.BackColor = System.Drawing.SystemColors.Control; this.CancelButton = this.btnCancel; this.Controls.Add(this.flowLayoutPanel1); this.Controls.Add(this.chkMatchCase); this.Controls.Add(this.lblPercent); this.Controls.Add(this.lblFinding); this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnOK); this.Controls.Add(this.rbHex); this.Controls.Add(this.rbString); this.Controls.Add(this.txtFind); this.Controls.Add(this.hexFind); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "FormFind"; this.ShowIcon = false; this.ShowInTaskbar = false; this.Activated += new System.EventHandler(this.FormFind_Activated); this.flowLayoutPanel1.ResumeLayout(false); this.flowLayoutPanel1.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); } #endregion private FindOptions _findOptions; public FindOptions FindOptions { get { return _findOptions; } set { _findOptions = value; Reinitialize(); } } public HexBox HexBox { get; set; } private void Reinitialize() { rbString.Checked = _findOptions.Type == FindType.Text; txtFind.Text = _findOptions.Text; chkMatchCase.Checked = _findOptions.MatchCase; rbHex.Checked = _findOptions.Type == FindType.Hex; if (hexFind.ByteProvider != null) hexFind.ByteProvider.Changed -= new EventHandler(ByteProvider_Changed); var hex = this._findOptions.Hex != null ? _findOptions.Hex : new byte[0]; hexFind.ByteProvider = new DynamicByteProvider(hex); hexFind.ByteProvider.Changed += new EventHandler(ByteProvider_Changed); } private void rb_CheckedChanged(object sender, System.EventArgs e) { txtFind.Enabled = rbString.Checked; hexFind.Enabled = !txtFind.Enabled; if(txtFind.Enabled) txtFind.Focus(); else hexFind.Focus(); } private void rbString_Enter(object sender, EventArgs e) { txtFind.Focus(); } private void rbHex_Enter(object sender, EventArgs e) { hexFind.Focus(); } private void FormFind_Activated(object sender, System.EventArgs e) { if(rbString.Checked) txtFind.Focus(); else hexFind.Focus(); } private void btnOK_Click(object sender, System.EventArgs e) { _findOptions.MatchCase = chkMatchCase.Checked; var provider = this.hexFind.ByteProvider as DynamicByteProvider; _findOptions.Hex = provider.Bytes.ToArray(); _findOptions.Text = txtFind.Text; _findOptions.Type = rbHex.Checked ? FindType.Hex : FindType.Text; _findOptions.MatchCase = chkMatchCase.Checked; _findOptions.IsValid = true; FindNext(); } bool _finding; public void FindNext() { if (!_findOptions.IsValid) return; UpdateUIToFindingState(); // start find process long res = HexBox.Find(_findOptions); UpdateUIToNormalState(); Application.DoEvents(); if (res == -1) // -1 = no match { MessageBox.Show(strings.FindOperationEndOfFile, Program.SoftwareName, MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (res == -2) // -2 = find was aborted { return; } else // something was found { this.Close(); Application.DoEvents(); if (!HexBox.Focused) HexBox.Focus(); } } private void UpdateUIToNormalState() { timer.Stop(); timerPercent.Stop(); _finding = false; txtFind.Enabled = chkMatchCase.Enabled = rbHex.Enabled = rbString.Enabled = hexFind.Enabled = btnOK.Enabled = true; } private void UpdateUIToFindingState() { _finding = true; timer.Start(); timerPercent.Start(); txtFind.Enabled = chkMatchCase.Enabled = rbHex.Enabled = rbString.Enabled = hexFind.Enabled = btnOK.Enabled = false; } private void btnCancel_Click(object sender, System.EventArgs e) { if (_finding) this.HexBox.AbortFind(); else this.Close(); } private void txtString_TextChanged(object sender, EventArgs e) { ValidateFind(); } private void ValidateFind() { var isValid = false; if (rbString.Checked && txtFind.Text.Length > 0) isValid = true; if (rbHex.Checked && hexFind.ByteProvider.Length > 0) isValid = true; this.btnOK.Enabled = isValid; } private void timer_Tick(object sender, EventArgs e) { if (lblFinding.Text.Length == 13) lblFinding.Text = ""; lblFinding.Text += "."; } private void timerPercent_Tick(object sender, EventArgs e) { long pos = this.HexBox.CurrentFindingPosition; long length = HexBox.ByteProvider.Length; double percent = (double)pos / (double)length * (double)100; System.Globalization.NumberFormatInfo nfi = new System.Globalization.CultureInfo("en-US").NumberFormat; string text = percent.ToString("0.00", nfi) + " %"; lblPercent.Text = text; } } } Be.HexEditor.150/sources/Be.HexEditor/FormFind.de.resx0000644000000000000000000001572512042466434021220 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Hexadezimal 45, 13 Suchen Suchen Abbrechen 3, 16 Kopieren Ausschneiden Einfügen Alles Markieren Suchen Be.HexEditor.150/sources/Be.HexEditor/FormFind.it.resx0000644000000000000000000001614412012756134021234 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Testo Hex Cerca Successivo Annulla Copia Incolla Taglia Seleziona tutto Cerca Copia Incolla Taglia Seleziona tutto Be.HexEditor.150/sources/Be.HexEditor/FormFind.ja.resx0000644000000000000000000001622512012756134021212 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 テキスト 16 進数 検索 次を検索 キャンセル コピー 貼り付け 切り取り すべて選択 検索 コピー 貼り付け 切り取り すべて選択 Be.HexEditor.150/sources/Be.HexEditor/FormFind.resx0000644000000000000000000005277312042466434020635 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Find 336, 291 13 $this 6 btnCancel flowLayoutPanel1 timer System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 btnOK System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 304, 133 $this FormFind label1 6 240, 39 hexFind 87, 256 System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 304, 22 16, 89 System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 rbHex txtFind timerPercent 1 MiddleLeft 16, 40 104, 16 2 System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 0 flowLayoutPanel1 0 62, 23 6 NoControl $this Text chkMatchCase Be.Windows.Forms.HexBox, Be.Windows.Forms.HexBox, Version=1.5.0.17807, Culture=neutral, PublicKeyToken=e0e5adf0ebc99863 7 $this Paste 9 Courier New, 9pt Match case Hex $this System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Bottom, Right Top, Bottom, Left, Right 8 False $this NoControl 0 2 Bottom, Left $this 165, 256 75, 23 Cut NoControl flowLayoutPanel1 16, 59 39, 3 245, 256 1 322, 22 268, 8 75, 23 16, 111 System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 9 4 NoControl System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 CenterScreen True Select All $this System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 30, 13 NoControl 4 3, 0 &Find System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 5, 15 True NoControl NoControl 3 System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 12, 12 lblFinding $this Copy 83, 17 Bottom, Right 104, 16 $this 14 Bottom, Left Find groupBox1 5 5 Segoe UI, 8.25pt 15 &Cancel 1 System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 60, 23 rbString Top, Left, Right Top, Left, Right System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 3 NoControl lblPercent 21, 256 97, 17 True 17, 17 Be.HexEditor.150/sources/Be.HexEditor/FormFind.ru.resx0000644000000000000000000001644512012756134021252 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Текст Шестнадцатиричный Найти Найти Отмена Копировать Вставить Вырезать Найти True Копировать Вставить Вырезать Be.HexEditor.150/sources/Be.HexEditor/FormFind.zh-Hans.resx0000644000000000000000000001435212012756134022127 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 文本(&T) 十六进制(&H) 查找 查找下一个 取消 查找 Be.HexEditor.150/sources/Be.HexEditor/FormGoTo.cs0000644000000000000000000001112711770057652020242 0ustar rootrootusing System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespace Be.HexEditor { /// /// Summary description for FormGoTo. /// public class FormGoTo : System.Windows.Forms.Form { private System.Windows.Forms.Label label1; private System.Windows.Forms.Button btnCancel; private System.Windows.Forms.Button btnOK; private System.Windows.Forms.NumericUpDown nup; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Label label2; /// /// Required designer variable. /// private System.ComponentModel.Container components = null; public FormGoTo() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormGoTo)); this.label1 = new System.Windows.Forms.Label(); this.btnCancel = new System.Windows.Forms.Button(); this.btnOK = new System.Windows.Forms.Button(); this.nup = new System.Windows.Forms.NumericUpDown(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.label2 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.nup)).BeginInit(); this.SuspendLayout(); // // label1 // resources.ApplyResources(this.label1, "label1"); this.label1.Name = "label1"; // // btnCancel // resources.ApplyResources(this.btnCancel, "btnCancel"); this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.btnCancel.Name = "btnCancel"; this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); // // btnOK // resources.ApplyResources(this.btnOK, "btnOK"); this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK; this.btnOK.Name = "btnOK"; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); // // nup // resources.ApplyResources(this.nup, "nup"); this.nup.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.nup.Name = "nup"; this.nup.Value = new decimal(new int[] { 1, 0, 0, 0}); // // groupBox1 // resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; // // label2 // this.label2.ForeColor = System.Drawing.Color.Blue; resources.ApplyResources(this.label2, "label2"); this.label2.Name = "label2"; // // FormGoTo // resources.ApplyResources(this, "$this"); this.BackColor = System.Drawing.SystemColors.Control; this.Controls.Add(this.groupBox1); this.Controls.Add(this.label2); this.Controls.Add(this.nup); this.Controls.Add(this.btnOK); this.Controls.Add(this.btnCancel); this.Controls.Add(this.label1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "FormGoTo"; this.ShowInTaskbar = false; this.Activated += new System.EventHandler(this.FormGoTo_Activated); ((System.ComponentModel.ISupportInitialize)(this.nup)).EndInit(); this.ResumeLayout(false); } #endregion public void SetDefaultValue(long byteIndex) { nup.Value = byteIndex + 1; } public void SetMaxByteIndex(long maxByteIndex) { nup.Maximum = maxByteIndex + 1; } public long GetByteIndex() { return Convert.ToInt64(nup.Value) - 1; } private void FormGoTo_Activated(object sender, System.EventArgs e) { nup.Focus(); nup.Select(0, nup.Value.ToString().Length); } private void btnOK_Click(object sender, System.EventArgs e) { DialogResult = DialogResult.OK; } private void btnCancel_Click(object sender, System.EventArgs e) { DialogResult = DialogResult.OK; } } } Be.HexEditor.150/sources/Be.HexEditor/FormGoTo.de.resx0000644000000000000000000001405012012756134021172 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Byte-Position: Abbrechen Gehe Zu Gehe Zu Be.HexEditor.150/sources/Be.HexEditor/FormGoTo.it.resx0000644000000000000000000001404412012756134021221 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Numero byte: Annulla Vai Vai al byte Be.HexEditor.150/sources/Be.HexEditor/FormGoTo.ja.resx0000644000000000000000000001407112012756134021177 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 バイト番号 キャンセル 移動 バイトに移動 Be.HexEditor.150/sources/Be.HexEditor/FormGoTo.resx0000644000000000000000000003116312012756134020607 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 8, 32 72, 16 0 Byte number: label1 System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 5 Bottom, Right 164, 64 75, 23 1 Cancel btnCancel System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 4 Bottom, Right 84, 64 75, 23 2 OK btnOK System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 3 Top, Left, Right 80, 32 160, 22 3 nup System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 2 Top, Left, Right 40, 8 200, 8 11 groupBox1 System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 0 8, 8 40, 16 10 Goto label2 System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 1 5, 15 248, 94 Segoe UI, 8.25pt CenterScreen Goto byte FormGoTo System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Be.HexEditor.150/sources/Be.HexEditor/FormGoTo.ru.resx0000644000000000000000000001407312012756134021235 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Позиция: Отмена: Перейти Перейти Be.HexEditor.150/sources/Be.HexEditor/FormGoTo.zh-Hans.resx0000644000000000000000000001417712012756134022124 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 字节序号: 取消 确定 转到 转到字节 Be.HexEditor.150/sources/Be.HexEditor/FormHexEditor.cs0000644000000000000000000004143212001467070021252 0ustar rootrootusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.IO; using System.Windows.Forms; using Be.Windows.Forms; namespace Be.HexEditor { public partial class FormHexEditor : Form { FormFind _formFind; FindOptions _findOptions = new FindOptions(); FormGoTo _formGoto = new FormGoTo(); string _fileName; public FormHexEditor() { InitializeComponent(); Init(); this.toolStrip.Renderer.RenderToolStripBorder += new ToolStripRenderEventHandler(Renderer_RenderToolStripBorder); } /// /// Removes the border on the right of the tool strip /// /// the renderer /// the event args void Renderer_RenderToolStripBorder(object sender, ToolStripRenderEventArgs e) { if (e.ToolStrip.GetType() != typeof(ToolStrip)) return; e.Graphics.DrawLine(new Pen(new SolidBrush(SystemColors.Control)), new Point(toolStrip.Width - 1, 0), new Point(toolStrip.Width - 1, toolStrip.Height)); } /// /// Initializes the hex editors main form /// void Init() { DisplayText(); ManageAbility(); UpdateBitControlVisibility(); //var selected = ; var defConverter = new DefaultByteCharConverter(); ToolStripMenuItem miDefault = new ToolStripMenuItem(); miDefault.Text = defConverter.ToString(); miDefault.Tag = defConverter; miDefault.Click += new EventHandler(encodingMenuItem_Clicked); var ebcdicConverter = new EbcdicByteCharProvider(); ToolStripMenuItem miEbcdic = new ToolStripMenuItem(); miEbcdic.Text = ebcdicConverter.ToString(); miEbcdic.Tag = ebcdicConverter; miEbcdic.Click += new EventHandler(encodingMenuItem_Clicked); encodingToolStripComboBox.Items.Add(defConverter); encodingToolStripComboBox.Items.Add(ebcdicConverter); encodingToolStripMenuItem.DropDownItems.Add(miDefault); encodingToolStripMenuItem.DropDownItems.Add(miEbcdic); encodingToolStripComboBox.SelectedIndex = 0; } void encodingMenuItem_Clicked(object sender, EventArgs e) { var converter = ((ToolStripMenuItem)sender).Tag; encodingToolStripComboBox.SelectedItem = converter; } /// /// Updates the File size status label /// void UpdateFileSizeStatus() { if (this.hexBox.ByteProvider == null) this.fileSizeToolStripStatusLabel.Text = string.Empty; else this.fileSizeToolStripStatusLabel.Text = Util.GetDisplayBytes(this.hexBox.ByteProvider.Length); } /// /// Displays the file name in the Forms text property /// /// the file name to display void DisplayText() { if (_fileName != null && _fileName.Length > 0) { string textFormat = "{0}{1} - {2}"; string readOnly = ((DynamicFileByteProvider)hexBox.ByteProvider).ReadOnly ? strings.Readonly : ""; string text = Path.GetFileName(_fileName); this.Text = string.Format(textFormat, text, readOnly, Program.SoftwareName); } else { this.Text = Program.SoftwareName; } } /// /// Manages enabling or disabling of menu items and toolstrip buttons. /// void ManageAbility() { if (hexBox.ByteProvider == null) { saveToolStripMenuItem.Enabled = saveToolStripButton.Enabled = false; findToolStripMenuItem.Enabled = false; findNextToolStripMenuItem.Enabled = false; goToToolStripMenuItem.Enabled = false; selectAllToolStripMenuItem.Enabled = false; } else { saveToolStripMenuItem.Enabled = saveToolStripButton.Enabled = hexBox.ByteProvider.HasChanges(); findToolStripMenuItem.Enabled = true; findNextToolStripMenuItem.Enabled = true; goToToolStripMenuItem.Enabled = true; selectAllToolStripMenuItem.Enabled = true; } ManageAbilityForCopyAndPaste(); } /// /// Manages enabling or disabling of menustrip items and toolstrip buttons for copy and paste /// void ManageAbilityForCopyAndPaste() { copyHexStringToolStripMenuItem.Enabled = copyToolStripSplitButton.Enabled = copyToolStripMenuItem.Enabled = hexBox.CanCopy(); cutToolStripButton.Enabled = cutToolStripMenuItem.Enabled = hexBox.CanCut(); pasteToolStripSplitButton.Enabled = pasteToolStripMenuItem.Enabled = hexBox.CanPaste(); pasteHexToolStripMenuItem.Enabled = pasteHexToolStripMenuItem1.Enabled = hexBox.CanPasteHex(); } /// /// Shows the open file dialog. /// void OpenFile() { if (openFileDialog.ShowDialog() == DialogResult.OK) { OpenFile(openFileDialog.FileName); } } /// /// Opens a file. /// /// the file name of the file to open public void OpenFile(string fileName) { if (!File.Exists(fileName)) { Program.ShowMessage(strings.FileDoesNotExist); return; } if (CloseFile() == DialogResult.Cancel) return; try { DynamicFileByteProvider dynamicFileByteProvider; try { // try to open in write mode dynamicFileByteProvider = new DynamicFileByteProvider(fileName); dynamicFileByteProvider.Changed += new EventHandler(byteProvider_Changed); dynamicFileByteProvider.LengthChanged += new EventHandler(byteProvider_LengthChanged); } catch (IOException) // write mode failed { try { // try to open in read-only mode dynamicFileByteProvider = new DynamicFileByteProvider(fileName, true); if (Program.ShowQuestion(strings.OpenReadonly) == DialogResult.No) { dynamicFileByteProvider.Dispose(); return; } } catch (IOException) // read-only also failed { // file cannot be opened Program.ShowError(strings.OpenFailed); return; } } hexBox.ByteProvider = dynamicFileByteProvider; _fileName = fileName; DisplayText(); UpdateFileSizeStatus(); RecentFileHandler.AddFile(fileName); } catch (Exception ex1) { Program.ShowError(ex1); return; } finally { ManageAbility(); } } /// /// Saves the current file. /// void SaveFile() { if (hexBox.ByteProvider == null) return; try { DynamicFileByteProvider dynamicFileByteProvider = hexBox.ByteProvider as DynamicFileByteProvider; dynamicFileByteProvider.ApplyChanges(); } catch (Exception ex1) { Program.ShowError(ex1); } finally { ManageAbility(); } } /// /// Closes the current file /// /// OK, if the current file was closed. DialogResult CloseFile() { if (hexBox.ByteProvider == null) return DialogResult.OK; try { if (hexBox.ByteProvider != null && hexBox.ByteProvider.HasChanges()) { DialogResult res = MessageBox.Show(strings.SaveChangesQuestion, Program.SoftwareName, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); if (res == DialogResult.Yes) { SaveFile(); CleanUp(); } else if (res == DialogResult.No) { CleanUp(); } else if (res == DialogResult.Cancel) { return res; } return res; } else { CleanUp(); return DialogResult.OK; } } finally { ManageAbility(); } } void CleanUp() { if (hexBox.ByteProvider != null) { IDisposable byteProvider = hexBox.ByteProvider as IDisposable; if (byteProvider != null) byteProvider.Dispose(); hexBox.ByteProvider = null; } _fileName = null; DisplayText(); } /// /// Opens the Find dialog /// void Find() { ShowFind(); } /// /// Creates a new FormFind dialog /// /// the form find dialog FormFind ShowFind() { if (_formFind == null || _formFind.IsDisposed) { _formFind = new FormFind(); _formFind.HexBox = this.hexBox; _formFind.FindOptions = _findOptions; _formFind.Show(this); } else { _formFind.Focus(); } return _formFind; } /// /// Find next match /// void FindNext() { ShowFind().FindNext(); } /// /// Aborts the current find process /// void FormFindCancel_Closed(object sender, EventArgs e) { hexBox.AbortFind(); } /// /// Displays the goto byte dialog. /// void Goto() { _formGoto.SetMaxByteIndex(hexBox.ByteProvider.Length); _formGoto.SetDefaultValue(hexBox.SelectionStart); if (_formGoto.ShowDialog() == DialogResult.OK) { hexBox.SelectionStart = _formGoto.GetByteIndex(); hexBox.SelectionLength = 1; hexBox.Focus(); } } /// /// Enables drag&drop /// void hexBox_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) { e.Effect = DragDropEffects.All; } /// /// Processes a file drop /// void hexBox_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { object oFileNames = e.Data.GetData(DataFormats.FileDrop); string[] fileNames = (string[])oFileNames; if (fileNames.Length == 1) { OpenFile(fileNames[0]); } } void hexBox_Copied(object sender, EventArgs e) { ManageAbilityForCopyAndPaste(); } void hexBox_CopiedHex(object sender, EventArgs e) { ManageAbilityForCopyAndPaste(); } void hexBox_SelectionLengthChanged(object sender, System.EventArgs e) { ManageAbilityForCopyAndPaste(); } void hexBox_SelectionStartChanged(object sender, System.EventArgs e) { ManageAbilityForCopyAndPaste(); } void Position_Changed(object sender, EventArgs e) { this.toolStripStatusLabel.Text = string.Format("Ln {0} Col {1}", hexBox.CurrentLine, hexBox.CurrentPositionInLine); string bitPresentation = string.Empty; byte? currentByte = hexBox.ByteProvider != null && hexBox.ByteProvider.Length > hexBox.SelectionStart ? hexBox.ByteProvider.ReadByte(hexBox.SelectionStart) : (byte?)null; BitInfo bitInfo = currentByte != null ? new BitInfo((byte)currentByte, hexBox.SelectionStart) : null; if (bitInfo != null) { byte currentByteNotNull = (byte)currentByte; bitPresentation = string.Format("Bits of Byte {0}: {1}" , hexBox.SelectionStart , bitInfo.ToString() ); } this.bitToolStripStatusLabel.Text = bitPresentation; this.bitControl1.BitInfo = bitInfo; } void byteProvider_Changed(object sender, EventArgs e) { ManageAbility(); } void byteProvider_LengthChanged(object sender, EventArgs e) { UpdateFileSizeStatus(); } void open_Click(object sender, EventArgs e) { OpenFile(); } void save_Click(object sender, EventArgs e) { SaveFile(); } void cut_Click(object sender, EventArgs e) { this.hexBox.Cut(); } private void copy_Click(object sender, EventArgs e) { this.hexBox.Copy(); } void paste_Click(object sender, EventArgs e) { this.hexBox.Paste(); } private void copyHex_Click(object sender, EventArgs e) { this.hexBox.CopyHex(); } private void pasteHex_Click(object sender, EventArgs e) { this.hexBox.PasteHex(); } void find_Click(object sender, EventArgs e) { this.Find(); } void findNext_Click(object sender, EventArgs e) { this.FindNext(); } void goTo_Click(object sender, EventArgs e) { this.Goto(); } void selectAllToolStripMenuItem_Click(object sender, EventArgs e) { this.hexBox.SelectAll(); } void exit_Click(object sender, EventArgs e) { this.Close(); } void about_Click(object sender, EventArgs e) { new FormAbout().ShowDialog(); } void recentFiles_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) { RecentFileHandler.FileMenuItem fmi = (RecentFileHandler.FileMenuItem)e.ClickedItem; this.OpenFile(fmi.FileName); } void options_Click(object sender, EventArgs e) { new FormOptions().ShowDialog(); } void FormHexEditor_FormClosing(object sender, FormClosingEventArgs e) { var result = CloseFile(); if (result == DialogResult.Cancel) e.Cancel = true; } void toolStripEncoding_SelectedIndexChanged(object sender, EventArgs e) { hexBox.ByteCharConverter = encodingToolStripComboBox.SelectedItem as IByteCharConverter; foreach (ToolStripMenuItem encodingMenuItem in encodingToolStripMenuItem.DropDownItems) encodingMenuItem.Checked = (encodingMenuItem.Tag == hexBox.ByteCharConverter); } void bitsToolStripMenuItem_CheckedChanged(object sender, EventArgs e) { UpdateBitControlVisibility(); } void UpdateBitControlVisibility() { //if (this.bitControl1.Visible == bitsToolStripMenuItem.Checked) //{ // return; //} if (bitsToolStripMenuItem.Checked) { //hexBox.Height -= bitControl1.Height; bitControl1.Visible = true; } else { //hexBox.Height += bitControl1.Height; bitControl1.Visible = false; } } void bitControl1_BitChanged(object sender, EventArgs e) { hexBox.ByteProvider.WriteByte(bitControl1.BitInfo.Position, bitControl1.BitInfo.Value); hexBox.Invalidate(); } } }Be.HexEditor.150/sources/Be.HexEditor/FormHexEditor.de.resx0000644000000000000000000005046212041446550022224 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 207, 22 &Öffnen 204, 6 207, 22 &Speichern 204, 6 207, 22 Zuletzt geöffnete Dateien 204, 6 207, 22 &Beenden 46, 22 &Datei iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C 1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb 4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh TNAAAAAASUVORK5CYII= 240, 22 &Ausschneiden iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++ 79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S +1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC 240, 22 &Kopieren iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2 v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII= 240, 22 &Einfügen 237, 6 240, 22 Kopieren als Hex 240, 22 Einfügen von Hex 237, 6 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLklE QVQ4T82TX0hTURzHV2B/QCGksIegArEMCveQMmbYQ1gucoTZZD2MGvjiHqa0ae1218Pc5W5Luy4NiuaY FZWWNlg2UUQcFcZABkUFtlxlw4VOKmva+nbONZfKHoReevie8/t9z+/3OYcfHAmAf9KyxNY+FK7lvZOF lU1jK/zBdD7VskSudnbOfE0gU2qIbJExa6lH96X+0nqqVEBvOS/0QllzAwVKO/YorDHqC7cCSOcvKhWY 2/rwIzGPh8NvYRCGsfNQIzbsM65Z9L2BMDjPKHJLraR8BaCh2ZdtbvVDy3ahrPo69iodkKuvoLCq7Y3W dAd63gtVXQd2KzgCtkB74V52CkCensG0+DEZ/474bBKBF3FozD7kHeGwab9pxHjJS+qAL7PzGApN4aTx PnIPc9RKAUx1fA818DT0CXbPcxzT3UZOMQvS3EABodcTCL76DN49gkpjF7bKGZx1+FgRYHcNTOsae1Be 0w5phYD8Mg55pRbkyBj6grCee7BwdoKcHbVh2wEGm4vqUaS6nBAB1msDSCZ/YTz6DY+ffYDFFcSOgxT+ d1Bn2E58jM4gHImhe3AMOr4f+YqFYUpMwiPMzf0kze/h6AhCc9H/nwFI80YKiExMo+/JOzjvjqLC0I1d ZFYi4PQ590t1/U2UaFohq2qGTNWE7SVslEAy/wDWEcUU1VfHy3UuFJ9qgfS4DVkFtVMigC6rkdPTK/4N smeo9O71RFk0T1u8ekHyG2jrt2s5yYVVAAAAAElFTkSuQmCC 240, 22 Finden iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB7klE QVQ4T52S20uacRjH35sO/8aKaDA2CEprrBm0kpAyIzu68TIxNyc1Key4Q2bnllnWlsKKDTJddCGLHJEU 60BBBXZVUXcZFEER0diF337+ordX1IIuPs/hy/N8f88LLwOAo/nrDGp7p6BtnSRtaB+OoGbIuQK/349A 5vepRT20DwdXdI3Ms70/FrC5fYAPA39Qb3aj1ebB4fEZMl6aIVF/S+MvXsMVxABGqwfqz79Q3+eGVDuK qg4XWoZnwTbYkaMaImO3GAS+N3Du9MY52MZxJIjb8VwxSDXX6imSZW1k7BaDOtMUZ5CusCD2iZ7mi3// 4fx7hKRcAxmLYBB4XWOYQHWXC+X6n1DU2qlBToUNnyxuqJrGIFEN4Jk89AoaVB8dmPOecBcU60aJDEam scK16IN3ax8G2wriRXqq86FBQV5d3bngDPLeDBMZjJjtg31mDwtruzCOrCMqjqU6Hxrk77/TkymPaxDz SEdkMDGJGkQnqBEdr6TLUQ9eUZ1PUHMfwoqRkBkPUNLhI+WNFjRwF2Wdx5l5zT5k1+1AXOn58uLt77iQ IUGhiaSb/LTchgylA1nv3JBUL0Ha4IVI6YSg0Izk/O7g5bvI0k4L00qt5K/sQUqBaUtYZJGGHYyE6LXD K5RblgUl/Q+vNDCXiPLL/aYKZbEAAAAASUVORK5CYII= 240, 22 Weiter finden 240, 22 Gehe &Zu 237, 6 240, 22 Alles Markieren 75, 22 &Bearbeiten 59, 22 &Ansicht 124, 22 &Optionen 49, 22 &Extras 108, 22 &Über... &Hilfe &Öffnen &Speichern &Ausschneiden 161, 22 Kopieren 161, 22 Kopieren als Hex Kopieren 161, 22 Einfügen 161, 22 Einfügen als Hex Einfügen Kopieren Ausschneiden Einfügen Alles markieren AAABAAIAEBAQAAAAAAAoAQAAJgAAACAgEAAAAAAA6AIAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAD/////////AP////////8A/////////wD/AA//AA //APD/8P/w//8A8P/w//Dw/wDw//D/8AD/APD/8P/w8P8A8P/w//D/DwD/AA//AAAPAP////////8A// ///////wD/////////AP////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAA AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// ////////////////////////////////////////////////////////////AAD///8AAAAA//////// 8AAAD///AAAAAP///////wD//wD///8A//////////8A//8A////AP/////////wD///8A///wD/AP// ////8A////AP//8A/wD///////AP///wD///AAAA///////wD///8A///wAAAP//////8A////AP//8A /wD///////AP///wD///AP8A/wD////wD///8A///wD///8A/////wD//wD///8A////AP////8A//8A //8AAAAAAAD/////8AAAD///AAAAAAAA//////8AAP////////////////////////////////////// ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////w== Be.HexEditor.150/sources/Be.HexEditor/FormHexEditor.Designer.cs0000644000000000000000000007722112041446550023022 0ustar rootrootnamespace Be.HexEditor { partial class FormHexEditor { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormHexEditor)); this.menuStrip = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.recentFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.cutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pasteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.copyHexStringToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pasteHexToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); this.findToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.findNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.goToToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.encodingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.bitsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStrip = new System.Windows.Forms.ToolStrip(); this.openToolStripButton = new System.Windows.Forms.ToolStripButton(); this.saveToolStripButton = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.cutToolStripButton = new System.Windows.Forms.ToolStripButton(); this.copyToolStripSplitButton = new System.Windows.Forms.ToolStripSplitButton(); this.copyToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.copyHexToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.pasteToolStripSplitButton = new System.Windows.Forms.ToolStripSplitButton(); this.pasteToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.pasteHexToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.encodingToolStripComboBox = new System.Windows.Forms.ToolStripComboBox(); this.statusStrip = new System.Windows.Forms.StatusStrip(); this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.fileSizeToolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.bitToolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); this.hexBox = new Be.Windows.Forms.HexBox(); this.bodyPanel = new System.Windows.Forms.Panel(); this.bitControl1 = new Be.HexEditor.BitControl(); this.RecentFileHandler = new Be.HexEditor.RecentFileHandler(this.components); this.menuStrip.SuspendLayout(); this.toolStrip.SuspendLayout(); this.statusStrip.SuspendLayout(); this.bodyPanel.SuspendLayout(); this.SuspendLayout(); // // menuStrip // this.menuStrip.BackColor = System.Drawing.SystemColors.Control; resources.ApplyResources(this.menuStrip, "menuStrip"); this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.editToolStripMenuItem, this.viewToolStripMenuItem, this.toolsToolStripMenuItem, this.helpToolStripMenuItem}); this.menuStrip.Name = "menuStrip"; // // fileToolStripMenuItem // this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.openToolStripMenuItem, this.toolStripSeparator, this.saveToolStripMenuItem, this.toolStripSeparator2, this.recentFilesToolStripMenuItem, this.toolStripSeparator1, this.exitToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem"); // // openToolStripMenuItem // this.openToolStripMenuItem.Image = global::Be.HexEditor.images.openHS; resources.ApplyResources(this.openToolStripMenuItem, "openToolStripMenuItem"); this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.Click += new System.EventHandler(this.open_Click); // // toolStripSeparator // this.toolStripSeparator.Name = "toolStripSeparator"; resources.ApplyResources(this.toolStripSeparator, "toolStripSeparator"); // // saveToolStripMenuItem // this.saveToolStripMenuItem.Image = global::Be.HexEditor.images.saveHS; resources.ApplyResources(this.saveToolStripMenuItem, "saveToolStripMenuItem"); this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; this.saveToolStripMenuItem.Click += new System.EventHandler(this.save_Click); // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2"); // // recentFilesToolStripMenuItem // resources.ApplyResources(this.recentFilesToolStripMenuItem, "recentFilesToolStripMenuItem"); this.recentFilesToolStripMenuItem.Name = "recentFilesToolStripMenuItem"; this.recentFilesToolStripMenuItem.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.recentFiles_DropDownItemClicked); // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1"); // // exitToolStripMenuItem // this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; resources.ApplyResources(this.exitToolStripMenuItem, "exitToolStripMenuItem"); this.exitToolStripMenuItem.Click += new System.EventHandler(this.exit_Click); // // editToolStripMenuItem // this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cutToolStripMenuItem, this.copyToolStripMenuItem, this.pasteToolStripMenuItem, this.toolStripSeparator3, this.copyHexStringToolStripMenuItem, this.pasteHexToolStripMenuItem, this.toolStripSeparator4, this.findToolStripMenuItem, this.findNextToolStripMenuItem, this.goToToolStripMenuItem, this.toolStripSeparator5, this.selectAllToolStripMenuItem}); this.editToolStripMenuItem.Name = "editToolStripMenuItem"; resources.ApplyResources(this.editToolStripMenuItem, "editToolStripMenuItem"); // // cutToolStripMenuItem // resources.ApplyResources(this.cutToolStripMenuItem, "cutToolStripMenuItem"); this.cutToolStripMenuItem.Name = "cutToolStripMenuItem"; this.cutToolStripMenuItem.Click += new System.EventHandler(this.cut_Click); // // copyToolStripMenuItem // resources.ApplyResources(this.copyToolStripMenuItem, "copyToolStripMenuItem"); this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; this.copyToolStripMenuItem.Click += new System.EventHandler(this.copy_Click); // // pasteToolStripMenuItem // resources.ApplyResources(this.pasteToolStripMenuItem, "pasteToolStripMenuItem"); this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem"; this.pasteToolStripMenuItem.Click += new System.EventHandler(this.paste_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; resources.ApplyResources(this.toolStripSeparator3, "toolStripSeparator3"); // // copyHexStringToolStripMenuItem // this.copyHexStringToolStripMenuItem.Name = "copyHexStringToolStripMenuItem"; resources.ApplyResources(this.copyHexStringToolStripMenuItem, "copyHexStringToolStripMenuItem"); this.copyHexStringToolStripMenuItem.Click += new System.EventHandler(this.copyHex_Click); // // pasteHexToolStripMenuItem // this.pasteHexToolStripMenuItem.Name = "pasteHexToolStripMenuItem"; resources.ApplyResources(this.pasteHexToolStripMenuItem, "pasteHexToolStripMenuItem"); this.pasteHexToolStripMenuItem.Click += new System.EventHandler(this.pasteHex_Click); // // toolStripSeparator4 // this.toolStripSeparator4.Name = "toolStripSeparator4"; resources.ApplyResources(this.toolStripSeparator4, "toolStripSeparator4"); // // findToolStripMenuItem // resources.ApplyResources(this.findToolStripMenuItem, "findToolStripMenuItem"); this.findToolStripMenuItem.Name = "findToolStripMenuItem"; this.findToolStripMenuItem.Click += new System.EventHandler(this.find_Click); // // findNextToolStripMenuItem // resources.ApplyResources(this.findNextToolStripMenuItem, "findNextToolStripMenuItem"); this.findNextToolStripMenuItem.Name = "findNextToolStripMenuItem"; this.findNextToolStripMenuItem.Click += new System.EventHandler(this.findNext_Click); // // goToToolStripMenuItem // this.goToToolStripMenuItem.Name = "goToToolStripMenuItem"; resources.ApplyResources(this.goToToolStripMenuItem, "goToToolStripMenuItem"); this.goToToolStripMenuItem.Click += new System.EventHandler(this.goTo_Click); // // toolStripSeparator5 // this.toolStripSeparator5.Name = "toolStripSeparator5"; resources.ApplyResources(this.toolStripSeparator5, "toolStripSeparator5"); // // selectAllToolStripMenuItem // this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem"; resources.ApplyResources(this.selectAllToolStripMenuItem, "selectAllToolStripMenuItem"); this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click); // // viewToolStripMenuItem // this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.encodingToolStripMenuItem, this.bitsToolStripMenuItem}); this.viewToolStripMenuItem.Name = "viewToolStripMenuItem"; resources.ApplyResources(this.viewToolStripMenuItem, "viewToolStripMenuItem"); // // encodingToolStripMenuItem // this.encodingToolStripMenuItem.Name = "encodingToolStripMenuItem"; resources.ApplyResources(this.encodingToolStripMenuItem, "encodingToolStripMenuItem"); // // bitsToolStripMenuItem // this.bitsToolStripMenuItem.CheckOnClick = true; this.bitsToolStripMenuItem.Name = "bitsToolStripMenuItem"; resources.ApplyResources(this.bitsToolStripMenuItem, "bitsToolStripMenuItem"); this.bitsToolStripMenuItem.CheckedChanged += new System.EventHandler(this.bitsToolStripMenuItem_CheckedChanged); // // toolsToolStripMenuItem // this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.optionsToolStripMenuItem}); this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem"); // // optionsToolStripMenuItem // this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; resources.ApplyResources(this.optionsToolStripMenuItem, "optionsToolStripMenuItem"); this.optionsToolStripMenuItem.Click += new System.EventHandler(this.options_Click); // // helpToolStripMenuItem // this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.aboutToolStripMenuItem}); this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem"); // // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; resources.ApplyResources(this.aboutToolStripMenuItem, "aboutToolStripMenuItem"); this.aboutToolStripMenuItem.Click += new System.EventHandler(this.about_Click); // // toolStrip // resources.ApplyResources(this.toolStrip, "toolStrip"); this.toolStrip.BackColor = System.Drawing.SystemColors.Control; this.toolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; this.toolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.openToolStripButton, this.saveToolStripButton, this.toolStripSeparator6, this.cutToolStripButton, this.copyToolStripSplitButton, this.pasteToolStripSplitButton, this.encodingToolStripComboBox}); this.toolStrip.Name = "toolStrip"; // // openToolStripButton // this.openToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.openToolStripButton.Image = global::Be.HexEditor.images.openHS; resources.ApplyResources(this.openToolStripButton, "openToolStripButton"); this.openToolStripButton.Name = "openToolStripButton"; this.openToolStripButton.Click += new System.EventHandler(this.open_Click); // // saveToolStripButton // this.saveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.saveToolStripButton.Image = global::Be.HexEditor.images.saveHS; resources.ApplyResources(this.saveToolStripButton, "saveToolStripButton"); this.saveToolStripButton.Name = "saveToolStripButton"; this.saveToolStripButton.Click += new System.EventHandler(this.save_Click); // // toolStripSeparator6 // this.toolStripSeparator6.Name = "toolStripSeparator6"; resources.ApplyResources(this.toolStripSeparator6, "toolStripSeparator6"); // // cutToolStripButton // this.cutToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.cutToolStripButton.Image = global::Be.HexEditor.images.CutHS; resources.ApplyResources(this.cutToolStripButton, "cutToolStripButton"); this.cutToolStripButton.Name = "cutToolStripButton"; this.cutToolStripButton.Click += new System.EventHandler(this.cut_Click); // // copyToolStripSplitButton // this.copyToolStripSplitButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.copyToolStripSplitButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.copyToolStripMenuItem1, this.copyHexToolStripMenuItem1}); this.copyToolStripSplitButton.ForeColor = System.Drawing.SystemColors.ControlText; this.copyToolStripSplitButton.Image = global::Be.HexEditor.images.CopyHS; resources.ApplyResources(this.copyToolStripSplitButton, "copyToolStripSplitButton"); this.copyToolStripSplitButton.Name = "copyToolStripSplitButton"; this.copyToolStripSplitButton.ButtonClick += new System.EventHandler(this.copy_Click); // // copyToolStripMenuItem1 // this.copyToolStripMenuItem1.Image = global::Be.HexEditor.images.CopyHS; this.copyToolStripMenuItem1.Name = "copyToolStripMenuItem1"; resources.ApplyResources(this.copyToolStripMenuItem1, "copyToolStripMenuItem1"); this.copyToolStripMenuItem1.Click += new System.EventHandler(this.copy_Click); // // copyHexToolStripMenuItem1 // this.copyHexToolStripMenuItem1.Image = global::Be.HexEditor.images.CopyHS; this.copyHexToolStripMenuItem1.Name = "copyHexToolStripMenuItem1"; resources.ApplyResources(this.copyHexToolStripMenuItem1, "copyHexToolStripMenuItem1"); this.copyHexToolStripMenuItem1.Click += new System.EventHandler(this.copyHex_Click); // // pasteToolStripSplitButton // this.pasteToolStripSplitButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.pasteToolStripSplitButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.pasteToolStripMenuItem1, this.pasteHexToolStripMenuItem1}); this.pasteToolStripSplitButton.Image = global::Be.HexEditor.images.PasteHS; resources.ApplyResources(this.pasteToolStripSplitButton, "pasteToolStripSplitButton"); this.pasteToolStripSplitButton.Name = "pasteToolStripSplitButton"; this.pasteToolStripSplitButton.ButtonClick += new System.EventHandler(this.paste_Click); // // pasteToolStripMenuItem1 // this.pasteToolStripMenuItem1.Name = "pasteToolStripMenuItem1"; resources.ApplyResources(this.pasteToolStripMenuItem1, "pasteToolStripMenuItem1"); this.pasteToolStripMenuItem1.Click += new System.EventHandler(this.paste_Click); // // pasteHexToolStripMenuItem1 // this.pasteHexToolStripMenuItem1.Name = "pasteHexToolStripMenuItem1"; resources.ApplyResources(this.pasteHexToolStripMenuItem1, "pasteHexToolStripMenuItem1"); this.pasteHexToolStripMenuItem1.Click += new System.EventHandler(this.pasteHex_Click); // // encodingToolStripComboBox // this.encodingToolStripComboBox.BackColor = System.Drawing.SystemColors.Control; this.encodingToolStripComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.encodingToolStripComboBox.DropDownWidth = 180; resources.ApplyResources(this.encodingToolStripComboBox, "encodingToolStripComboBox"); this.encodingToolStripComboBox.Name = "encodingToolStripComboBox"; this.encodingToolStripComboBox.SelectedIndexChanged += new System.EventHandler(this.toolStripEncoding_SelectedIndexChanged); // // statusStrip // this.statusStrip.BackColor = System.Drawing.SystemColors.Control; this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabel, this.fileSizeToolStripStatusLabel, this.bitToolStripStatusLabel}); resources.ApplyResources(this.statusStrip, "statusStrip"); this.statusStrip.Name = "statusStrip"; this.statusStrip.RenderMode = System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode; this.statusStrip.SizingGrip = false; // // toolStripStatusLabel // this.toolStripStatusLabel.Margin = new System.Windows.Forms.Padding(5, 3, 0, 2); this.toolStripStatusLabel.Name = "toolStripStatusLabel"; this.toolStripStatusLabel.Padding = new System.Windows.Forms.Padding(7, 0, 0, 0); resources.ApplyResources(this.toolStripStatusLabel, "toolStripStatusLabel"); // // fileSizeToolStripStatusLabel // this.fileSizeToolStripStatusLabel.Name = "fileSizeToolStripStatusLabel"; this.fileSizeToolStripStatusLabel.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0); resources.ApplyResources(this.fileSizeToolStripStatusLabel, "fileSizeToolStripStatusLabel"); // // bitToolStripStatusLabel // this.bitToolStripStatusLabel.Name = "bitToolStripStatusLabel"; resources.ApplyResources(this.bitToolStripStatusLabel, "bitToolStripStatusLabel"); // // hexBox // this.hexBox.AllowDrop = true; // // // this.hexBox.BuiltInContextMenu.CopyMenuItemImage = global::Be.HexEditor.images.CopyHS; this.hexBox.BuiltInContextMenu.CopyMenuItemText = resources.GetString("hexBox.BuiltInContextMenu.CopyMenuItemText"); this.hexBox.BuiltInContextMenu.CutMenuItemImage = global::Be.HexEditor.images.CutHS; this.hexBox.BuiltInContextMenu.CutMenuItemText = resources.GetString("hexBox.BuiltInContextMenu.CutMenuItemText"); this.hexBox.BuiltInContextMenu.PasteMenuItemImage = global::Be.HexEditor.images.PasteHS; this.hexBox.BuiltInContextMenu.PasteMenuItemText = resources.GetString("hexBox.BuiltInContextMenu.PasteMenuItemText"); this.hexBox.BuiltInContextMenu.SelectAllMenuItemText = resources.GetString("hexBox.BuiltInContextMenu.SelectAllMenuItemText"); this.hexBox.ColumnInfoVisible = true; resources.ApplyResources(this.hexBox, "hexBox"); this.hexBox.HexCasing = Be.Windows.Forms.HexCasing.Lower; this.hexBox.InfoForeColor = System.Drawing.Color.Gray; this.hexBox.LineInfoVisible = true; this.hexBox.Name = "hexBox"; this.hexBox.ShadowSelectionColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(60)))), ((int)(((byte)(188)))), ((int)(((byte)(255))))); this.hexBox.StringViewVisible = true; this.hexBox.UseFixedBytesPerLine = true; this.hexBox.VScrollBarVisible = true; this.hexBox.SelectionStartChanged += new System.EventHandler(this.hexBox_SelectionStartChanged); this.hexBox.SelectionLengthChanged += new System.EventHandler(this.hexBox_SelectionLengthChanged); this.hexBox.CurrentLineChanged += new System.EventHandler(this.Position_Changed); this.hexBox.CurrentPositionInLineChanged += new System.EventHandler(this.Position_Changed); this.hexBox.Copied += new System.EventHandler(this.hexBox_Copied); this.hexBox.CopiedHex += new System.EventHandler(this.hexBox_CopiedHex); this.hexBox.DragDrop += new System.Windows.Forms.DragEventHandler(this.hexBox_DragDrop); this.hexBox.DragEnter += new System.Windows.Forms.DragEventHandler(this.hexBox_DragEnter); // // bodyPanel // resources.ApplyResources(this.bodyPanel, "bodyPanel"); this.bodyPanel.Controls.Add(this.hexBox); this.bodyPanel.Controls.Add(this.bitControl1); this.bodyPanel.Name = "bodyPanel"; // // bitControl1 // resources.ApplyResources(this.bitControl1, "bitControl1"); this.bitControl1.Name = "bitControl1"; this.bitControl1.BitChanged += new System.EventHandler(this.bitControl1_BitChanged); // // RecentFileHandler // this.RecentFileHandler.RecentFileToolStripItem = this.recentFilesToolStripMenuItem; // // FormHexEditor // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.Control; this.Controls.Add(this.bodyPanel); this.Controls.Add(this.statusStrip); this.Controls.Add(this.toolStrip); this.Controls.Add(this.menuStrip); this.MainMenuStrip = this.menuStrip; this.Name = "FormHexEditor"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormHexEditor_FormClosing); this.menuStrip.ResumeLayout(false); this.menuStrip.PerformLayout(); this.toolStrip.ResumeLayout(false); this.toolStrip.PerformLayout(); this.statusStrip.ResumeLayout(false); this.statusStrip.PerformLayout(); this.bodyPanel.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.MenuStrip menuStrip; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator; private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem cutToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; private System.Windows.Forms.ToolStripMenuItem findToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; private System.Windows.Forms.ToolStrip toolStrip; private System.Windows.Forms.ToolStripButton openToolStripButton; private System.Windows.Forms.ToolStripButton saveToolStripButton; private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; private System.Windows.Forms.ToolStripButton cutToolStripButton; private Be.Windows.Forms.HexBox hexBox; private System.Windows.Forms.StatusStrip statusStrip; private System.Windows.Forms.ToolStripMenuItem findNextToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem goToToolStripMenuItem; private System.Windows.Forms.OpenFileDialog openFileDialog; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel; private System.Windows.Forms.ToolStripMenuItem recentFilesToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripStatusLabel fileSizeToolStripStatusLabel; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; private System.Windows.Forms.ToolStripMenuItem copyHexStringToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem pasteHexToolStripMenuItem; private System.Windows.Forms.ToolStripSplitButton copyToolStripSplitButton; private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem copyHexToolStripMenuItem1; private System.Windows.Forms.ToolStripSplitButton pasteToolStripSplitButton; private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem pasteHexToolStripMenuItem1; private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem; public RecentFileHandler RecentFileHandler; private System.Windows.Forms.ToolStripStatusLabel bitToolStripStatusLabel; private System.Windows.Forms.ToolStripComboBox encodingToolStripComboBox; private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem encodingToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem bitsToolStripMenuItem; private BitControl bitControl1; private System.Windows.Forms.Panel bodyPanel; } }Be.HexEditor.150/sources/Be.HexEditor/FormHexEditor.it.resx0000644000000000000000000005041312041446550022244 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 141, 22 &Apri 138, 6 141, 22 &Salva 138, 6 141, 22 File recenti 138, 6 141, 22 &Esci iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C 1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb 4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh TNAAAAAASUVORK5CYII= 203, 22 &Taglia iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++ 79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S +1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC 203, 22 &Copia iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2 v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII= 203, 22 &Incolla 200, 6 203, 22 Copia hex 203, 22 Incolla hex 200, 6 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLklE QVQ4T82TX0hTURzHV2B/QCGksIegArEMCveQMmbYQ1gucoTZZD2MGvjiHqa0ae1218Pc5W5Luy4NiuaY FZWWNlg2UUQcFcZABkUFtlxlw4VOKmva+nbONZfKHoReevie8/t9z+/3OYcfHAmAf9KyxNY+FK7lvZOF lU1jK/zBdD7VskSudnbOfE0gU2qIbJExa6lH96X+0nqqVEBvOS/0QllzAwVKO/YorDHqC7cCSOcvKhWY 2/rwIzGPh8NvYRCGsfNQIzbsM65Z9L2BMDjPKHJLraR8BaCh2ZdtbvVDy3ahrPo69iodkKuvoLCq7Y3W dAd63gtVXQd2KzgCtkB74V52CkCensG0+DEZ/474bBKBF3FozD7kHeGwab9pxHjJS+qAL7PzGApN4aTx PnIPc9RKAUx1fA818DT0CXbPcxzT3UZOMQvS3EABodcTCL76DN49gkpjF7bKGZx1+FgRYHcNTOsae1Be 0w5phYD8Mg55pRbkyBj6grCee7BwdoKcHbVh2wEGm4vqUaS6nBAB1msDSCZ/YTz6DY+ffYDFFcSOgxT+ d1Bn2E58jM4gHImhe3AMOr4f+YqFYUpMwiPMzf0kze/h6AhCc9H/nwFI80YKiExMo+/JOzjvjqLC0I1d ZFYi4PQ590t1/U2UaFohq2qGTNWE7SVslEAy/wDWEcUU1VfHy3UuFJ9qgfS4DVkFtVMigC6rkdPTK/4N smeo9O71RFk0T1u8ekHyG2jrt2s5yYVVAAAAAElFTkSuQmCC 203, 22 Trova iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB7klE QVQ4T52S20uacRjH35sO/8aKaDA2CEprrBm0kpAyIzu68TIxNyc1Key4Q2bnllnWlsKKDTJddCGLHJEU 60BBBXZVUXcZFEER0diF337+ordX1IIuPs/hy/N8f88LLwOAo/nrDGp7p6BtnSRtaB+OoGbIuQK/349A 5vepRT20DwdXdI3Ms70/FrC5fYAPA39Qb3aj1ebB4fEZMl6aIVF/S+MvXsMVxABGqwfqz79Q3+eGVDuK qg4XWoZnwTbYkaMaImO3GAS+N3Du9MY52MZxJIjb8VwxSDXX6imSZW1k7BaDOtMUZ5CusCD2iZ7mi3// 4fx7hKRcAxmLYBB4XWOYQHWXC+X6n1DU2qlBToUNnyxuqJrGIFEN4Jk89AoaVB8dmPOecBcU60aJDEam scK16IN3ax8G2wriRXqq86FBQV5d3bngDPLeDBMZjJjtg31mDwtruzCOrCMqjqU6Hxrk77/TkymPaxDz SEdkMDGJGkQnqBEdr6TLUQ9eUZ1PUHMfwoqRkBkPUNLhI+WNFjRwF2Wdx5l5zT5k1+1AXOn58uLt77iQ IUGhiaSb/LTchgylA1nv3JBUL0Ha4IVI6YSg0Izk/O7g5bvI0k4L00qt5K/sQUqBaUtYZJGGHYyE6LXD K5RblgUl/Q+vNDCXiPLL/aYKZbEAAAAASUVORK5CYII= 203, 22 Trova successivo 203, 22 Vai a 200, 6 203, 22 Seleziona &tutto 66, 22 &Modifica 115, 22 &Opzioni 71, 22 S&trumenti 165, 22 Informazioni &su... 48, 22 &Aiuto &Apri &Salva Taglia 126, 22 Copia 126, 22 Copia hex Copia 130, 22 Incolla 130, 22 Incolla hex Incolla Copia Taglia Incolla Seleziona tutto Courier New, 9pt AAABAAIAEBAQAAAAAAAoAQAAJgAAACAgEAAAAAAA6AIAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAD/////////AP////////8A/////////wD/AA//AA //APD/8P/w//8A8P/w//Dw/wDw//D/8AD/APD/8P/w8P8A8P/w//D/DwD/AA//AAAPAP////////8A// ///////wD/////////AP////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAA AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// ////////////////////////////////////////////////////////////AAD///8AAAAA//////// 8AAAD///AAAAAP///////wD//wD///8A//////////8A//8A////AP/////////wD///8A///wD/AP// ////8A////AP//8A/wD///////AP///wD///AAAA///////wD///8A///wAAAP//////8A////AP//8A /wD///////AP///wD///AP8A/wD////wD///8A///wD///8A/////wD//wD///8A////AP////8A//8A //8AAAAAAAD/////8AAAD///AAAAAAAA//////8AAP////////////////////////////////////// ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////w== Inherit Be.HexEditor.150/sources/Be.HexEditor/FormHexEditor.ja.resx0000644000000000000000000005110012041446550022214 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 168, 22 開く(&O) 165, 6 168, 22 保存(&S) 165, 6 168, 22 最近使ったファイル 165, 6 168, 22 終了(&X) 70, 22 ファイル(&F) iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C 1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb 4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh TNAAAAAASUVORK5CYII= 243, 22 切り取り(&T) iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++ 79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S +1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC 243, 22 コピー(&C) iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2 v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII= 243, 22 貼り付け(&P) 240, 6 243, 22 16 進数をコピー 243, 22 16 進数を貼り付け 240, 6 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLklE QVQ4T82TX0hTURzHV2B/QCGksIegArEMCveQMmbYQ1gucoTZZD2MGvjiHqa0ae1218Pc5W5Luy4NiuaY FZWWNlg2UUQcFcZABkUFtlxlw4VOKmva+nbONZfKHoReevie8/t9z+/3OYcfHAmAf9KyxNY+FK7lvZOF lU1jK/zBdD7VskSudnbOfE0gU2qIbJExa6lH96X+0nqqVEBvOS/0QllzAwVKO/YorDHqC7cCSOcvKhWY 2/rwIzGPh8NvYRCGsfNQIzbsM65Z9L2BMDjPKHJLraR8BaCh2ZdtbvVDy3ahrPo69iodkKuvoLCq7Y3W dAd63gtVXQd2KzgCtkB74V52CkCensG0+DEZ/474bBKBF3FozD7kHeGwab9pxHjJS+qAL7PzGApN4aTx PnIPc9RKAUx1fA818DT0CXbPcxzT3UZOMQvS3EABodcTCL76DN49gkpjF7bKGZx1+FgRYHcNTOsae1Be 0w5phYD8Mg55pRbkyBj6grCee7BwdoKcHbVh2wEGm4vqUaS6nBAB1msDSCZ/YTz6DY+ffYDFFcSOgxT+ d1Bn2E58jM4gHImhe3AMOr4f+YqFYUpMwiPMzf0kze/h6AhCc9H/nwFI80YKiExMo+/JOzjvjqLC0I1d ZFYi4PQ590t1/U2UaFohq2qGTNWE7SVslEAy/wDWEcUU1VfHy3UuFJ9qgfS4DVkFtVMigC6rkdPTK/4N smeo9O71RFk0T1u8ekHyG2jrt2s5yYVVAAAAAElFTkSuQmCC 243, 22 検索 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB7klE QVQ4T52S20uacRjH35sO/8aKaDA2CEprrBm0kpAyIzu68TIxNyc1Key4Q2bnllnWlsKKDTJddCGLHJEU 60BBBXZVUXcZFEER0diF337+ordX1IIuPs/hy/N8f88LLwOAo/nrDGp7p6BtnSRtaB+OoGbIuQK/349A 5vepRT20DwdXdI3Ms70/FrC5fYAPA39Qb3aj1ebB4fEZMl6aIVF/S+MvXsMVxABGqwfqz79Q3+eGVDuK qg4XWoZnwTbYkaMaImO3GAS+N3Du9MY52MZxJIjb8VwxSDXX6imSZW1k7BaDOtMUZ5CusCD2iZ7mi3// 4fx7hKRcAxmLYBB4XWOYQHWXC+X6n1DU2qlBToUNnyxuqJrGIFEN4Jk89AoaVB8dmPOecBcU60aJDEam scK16IN3ax8G2wriRXqq86FBQV5d3bngDPLeDBMZjJjtg31mDwtruzCOrCMqjqU6Hxrk77/TkymPaxDz SEdkMDGJGkQnqBEdr6TLUQ9eUZ1PUHMfwoqRkBkPUNLhI+WNFjRwF2Wdx5l5zT5k1+1AXOn58uLt77iQ IUGhiaSb/LTchgylA1nv3JBUL0Ha4IVI6YSg0Izk/O7g5bvI0k4L00qt5K/sQUqBaUtYZJGGHYyE6LXD K5RblgUl/Q+vNDCXiPLL/aYKZbEAAAAASUVORK5CYII= 243, 22 次を検索 243, 22 移動 240, 6 243, 22 すべて選択(&A) 59, 22 編集(&E) 139, 22 オプション(&O) 66, 22 ツール(&T) 175, 22 バージョン情報(&A)... 68, 22 ヘルプ(&H) 開く(&O) 保存(&S) 切り取り(&U) 155, 22 コピー 155, 22 16 進数をコピー コピー 170, 22 貼り付け 170, 22 16 進数を貼り付け 貼り付け コピー 切り取り 貼り付け すべて選択 AAABAAIAEBAQAAAAAAAoAQAAJgAAACAgEAAAAAAA6AIAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAD/////////AP////////8A/////////wD/AA//AA //APD/8P/w//8A8P/w//Dw/wDw//D/8AD/APD/8P/w8P8A8P/w//D/DwD/AA//AAAPAP////////8A// ///////wD/////////AP////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAA AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// ////////////////////////////////////////////////////////////AAD///8AAAAA//////// 8AAAD///AAAAAP///////wD//wD///8A//////////8A//8A////AP/////////wD///8A///wD/AP// ////8A////AP//8A/wD///////AP///wD///AAAA///////wD///8A///wAAAP//////8A////AP//8A /wD///////AP///wD///AP8A/wD////wD///8A///wD///8A/////wD//wD///8A////AP////8A//8A //8AAAAAAAD/////8AAAD///AAAAAAAA//////8AAP////////////////////////////////////// ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////w== Inherit Be.HexEditor.150/sources/Be.HexEditor/FormHexEditor.resx0000644000000000000000000014442012043222652021630 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 17, 17 Segoe UI, 9pt Magenta Ctrl+O 146, 22 &Open 143, 6 Magenta Ctrl+S 146, 22 &Save 143, 6 False 146, 22 Recent Files 143, 6 146, 22 E&xit 37, 22 &File iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C 1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb 4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh TNAAAAAASUVORK5CYII= Magenta Ctrl+X 199, 22 Cu&t iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++ 79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S +1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC Magenta Ctrl+C 199, 22 &Copy iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2 v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII= Magenta Ctrl+V 199, 22 &Paste 196, 6 Ctrl+Shift+C 199, 22 Copy Hex Ctrl+Shift+V 199, 22 Paste Hex 196, 6 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLklE QVQ4T82TX0hTURzHV2B/QCGksIegArEMCveQMmbYQ1gucoTZZD2MGvjiHqa0ae1218Pc5W5Luy4NiuaY FZWWNlg2UUQcFcZABkUFtlxlw4VOKmva+nbONZfKHoReevie8/t9z+/3OYcfHAmAf9KyxNY+FK7lvZOF lU1jK/zBdD7VskSudnbOfE0gU2qIbJExa6lH96X+0nqqVEBvOS/0QllzAwVKO/YorDHqC7cCSOcvKhWY 2/rwIzGPh8NvYRCGsfNQIzbsM65Z9L2BMDjPKHJLraR8BaCh2ZdtbvVDy3ahrPo69iodkKuvoLCq7Y3W dAd63gtVXQd2KzgCtkB74V52CkCensG0+DEZ/474bBKBF3FozD7kHeGwab9pxHjJS+qAL7PzGApN4aTx PnIPc9RKAUx1fA818DT0CXbPcxzT3UZOMQvS3EABodcTCL76DN49gkpjF7bKGZx1+FgRYHcNTOsae1Be 0w5phYD8Mg55pRbkyBj6grCee7BwdoKcHbVh2wEGm4vqUaS6nBAB1msDSCZ/YTz6DY+ffYDFFcSOgxT+ d1Bn2E58jM4gHImhe3AMOr4f+YqFYUpMwiPMzf0kze/h6AhCc9H/nwFI80YKiExMo+/JOzjvjqLC0I1d ZFYi4PQ590t1/U2UaFohq2qGTNWE7SVslEAy/wDWEcUU1VfHy3UuFJ9qgfS4DVkFtVMigC6rkdPTK/4N smeo9O71RFk0T1u8ekHyG2jrt2s5yYVVAAAAAElFTkSuQmCC Ctrl+F 199, 22 Find iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB7klE QVQ4T52S20uacRjH35sO/8aKaDA2CEprrBm0kpAyIzu68TIxNyc1Key4Q2bnllnWlsKKDTJddCGLHJEU 60BBBXZVUXcZFEER0diF337+ordX1IIuPs/hy/N8f88LLwOAo/nrDGp7p6BtnSRtaB+OoGbIuQK/349A 5vepRT20DwdXdI3Ms70/FrC5fYAPA39Qb3aj1ebB4fEZMl6aIVF/S+MvXsMVxABGqwfqz79Q3+eGVDuK qg4XWoZnwTbYkaMaImO3GAS+N3Du9MY52MZxJIjb8VwxSDXX6imSZW1k7BaDOtMUZ5CusCD2iZ7mi3// 4fx7hKRcAxmLYBB4XWOYQHWXC+X6n1DU2qlBToUNnyxuqJrGIFEN4Jk89AoaVB8dmPOecBcU60aJDEam scK16IN3ax8G2wriRXqq86FBQV5d3bngDPLeDBMZjJjtg31mDwtruzCOrCMqjqU6Hxrk77/TkymPaxDz SEdkMDGJGkQnqBEdr6TLUQ9eUZ1PUHMfwoqRkBkPUNLhI+WNFjRwF2Wdx5l5zT5k1+1AXOn58uLt77iQ IUGhiaSb/LTchgylA1nv3JBUL0Ha4IVI6YSg0Izk/O7g5bvI0k4L00qt5K/sQUqBaUtYZJGGHYyE6LXD K5RblgUl/Q+vNDCXiPLL/aYKZbEAAAAASUVORK5CYII= F3 199, 22 Find Next Ctrl+G 199, 22 Go To 196, 6 Ctrl+A 199, 22 Select &All 39, 22 &Edit 124, 22 &Encoding 124, 22 &Bits 44, 22 &View 116, 22 &Options 48, 22 &Tools 116, 22 &About... 44, 22 &Help 0, 0 6, 1, 0, 1 728, 24 0 menuStrip1 menuStrip System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 3 125, 17 Top, Left, Right False None Magenta 23, 19 &Open Magenta 23, 19 &Save 6, 22 Magenta 23, 19 Cut 125, 22 Copy 125, 22 Copy Hex Magenta 32, 19 Copy 125, 22 Paste 125, 22 Paste Hex Magenta 32, 19 Paste Flat Microsoft Sans Serif, 8.25pt 180, 22 10, 25 10, 0, 0, 0 706, 22 1 toolStrip1 toolStrip System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 2 223, 17 7, 17 8, 17 0, 17 0, 536 728, 22 9 statusStrip System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 1 332, 17 Copy Cut Paste Select All Fill Consolas, 9pt 0, 0 3, 2, 3, 2 706, 436 8 hexBox Be.Windows.Forms.HexBox, Be.Windows.Forms.HexBox, Version=1.5.0.17807, Culture=neutral, PublicKeyToken=e0e5adf0ebc99863 bodyPanel 0 Top, Bottom, Left, Right Bottom 0, 436 3, 2, 3, 0 706, 52 10 False bitControl1 Be.HexEditor.BitControl, Be.HexEditor, Version=1.5.0.24236, Culture=neutral, PublicKeyToken=01fb039ca8b8c445 bodyPanel 1 10, 49 3, 2, 3, 2 706, 488 11 bodyPanel System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 0 465, 17 True 6, 13 728, 558 Segoe UI, 8.25pt AAABAAIAEBAQAAAABAAoAQAAJgAAACAgEAAAAAQA6AIAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAP////////AA////////8AD////////wAP/wD/D/ //AA/w/w8P//8AD/D/Dw///wAP8P8PAAD/AA/w/w8P//8AD/D/Dw///wAP/wD/AAD/AA////////8AD/ ///////wAP////////AAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAA AACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAA//8AACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAA AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// //////////////////////////////////////////////////////////////////////////////// ///wAP///wD////////////wD/8A//8A////////////8A//AP//AP///////////wD///AP/wD///// //////8A///wD/8A////////////AP//8A//AP///////////wD///AP/wAAAAD///////8A///wD/8A ////////////AP//8A//AP///////////wD///AP/wD////////////wD/8A//8A////////////8A// AP//AP/////////////wAP///wAAAAD///////////////////////////////////////////////// ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////w== 3, 2, 3, 2 744, 1200 CenterScreen Be.HexEditor fileToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 openToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolStripSeparator System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 saveToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolStripSeparator2 System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 recentFilesToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolStripSeparator1 System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 exitToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 editToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 cutToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 copyToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 pasteToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolStripSeparator3 System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 copyHexStringToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 pasteHexToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolStripSeparator4 System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 findToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 findNextToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 goToToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolStripSeparator5 System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 selectAllToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 viewToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 encodingToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 bitsToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolsToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 optionsToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 helpToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 aboutToolStripMenuItem System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 openToolStripButton System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 saveToolStripButton System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolStripSeparator6 System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 cutToolStripButton System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 copyToolStripSplitButton System.Windows.Forms.ToolStripSplitButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 copyToolStripMenuItem1 System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 copyHexToolStripMenuItem1 System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 pasteToolStripSplitButton System.Windows.Forms.ToolStripSplitButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 pasteToolStripMenuItem1 System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 pasteHexToolStripMenuItem1 System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 encodingToolStripComboBox System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 toolStripStatusLabel System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 fileSizeToolStripStatusLabel System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 bitToolStripStatusLabel System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 openFileDialog System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 RecentFileHandler Be.HexEditor.RecentFileHandler, Be.HexEditor, Version=1.5.0.24236, Culture=neutral, PublicKeyToken=01fb039ca8b8c445 FormHexEditor System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Be.HexEditor.150/sources/Be.HexEditor/FormHexEditor.ru.resx0000644000000000000000000004717112012756134022265 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 207, 22 &Открыть 204, 6 207, 22 &Сохранить 204, 6 207, 22 Недавние файлы 204, 6 207, 22 &Выход 46, 20 &Файл iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAYdJREFUOE+t001L QlEQBuB+TdCmRVEJRRIWtRAUlKsQhFmkpZQtIiWyAlMwP5KkXS0shLqGFkgoFqWQmaRR2qIvU7FMwWhd 8JZXkFx0uVGzOcNh5jkDw6mr+++4SN7B6fbju/uQecYm6a25+/Hdl2IJptWNmmJyL4DwWZwZUJbtayT8 RxGqIV8oQaaaRfrxkTmw4z2G+WuKbC6PYDgOkUSJp6ccc+AgdI4luwPbHh/UCxb0S0aZN5fHTmefMTVv wfDEHIiBMegMpt8BZUShNoGQTIKQGxA8TTIHMoUPGF1vEOvTWHTcgqeJQahNwLqVQiRRpIdS+XcM2l4h 1t2DI3WAP7oGoSYE3kwSPQofljcqm/kxjK4SCH0OXSMetItsUC26wZuOVptYhI0eEOuz1YI2gZnKBdpr 6iR9V2jkKOkBQpeiCryhFFr4eioft16iU7qNho4h1Dc00QOqlRuwpSSa+UawuZXdByIZsPoUaOmWwrUf owcOozlwZeto7ZXDuXvCfHV/+dGfqqrf44qgu28AAAAASUVORK5CYII= 240, 22 &Вырезать iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAeJJREFUOE+lk9FP klEYxv1TSsecde0f0FpZrTbbal7URVvZuuJCr7pq2WzLNWy0iSHNwtIB9qG0ltLSYRJpBomUgZPMGSyU 8SmJIOiv7zssCdrAzXd77s77e5/nnPdUVR20HBPfUCWNB4QsI176HB8IL/9iX2y1ubTMwx6utz0nuLhc GWIfCxT153Z26ep/g9Md4FJLZ2WIZdQnAM4QSJ/BH5Z5aH6NNCljm0hgdSV4MppAPxQXCq5kil31OTx7 DjLbOeSNNJFYUgBKq31glfpmN76F9QLEZHOJc73ubXQjMreln7Q+DdP/du0/QIsxhmNK5mjTMJ/m43mI Qcmr5t5MZVlNpFiKrPM1vIbpVVQAOqSckF+ZekUX5UjTS+ouDFLb+CwPUPNupbN7k7WmEDcMX3hgXSpy IP/OsrCyhXtuA6M0g+bc4wJATqaZ/x7DF4zg8f9g/OMibb355701kERriHL5fojzd2aFjNI0mjPdBUD9 6auUqlU/KwBZJV4skWUuvMmYV8b+Ls6jQQ81DfryO3KtfUoA/p3810G37T3VJ3TlARdvukhldjANeemx z2B8MS0mq80GyySHj98rD2jQOpXbtgrVNprRnO2h5lQX1Sc7leYODh27W3nN9/WZDnroDx0A5wwhdtmt AAAAAElFTkSuQmCC 240, 22 &Копировать iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlBJREFUOE+1k1lI lGEUhn/owm6KFuqqq4LoJooIqouMwixMM4zEjKyJGJUSlcnSITU1RSe3SdPGyGVQc6tEUSkSIXFo13CM FonUyGmy5p9xz+Lp/z8ZbGjzpgMv5+a8z1n4Pkn6H9HZnEH7zVQayxKYF7+hMg+3ynKO4LBVMWa7xmBf Nme1vuSl67hi0GNMj/sVqBon5XqmnXVMOqoxF+sYH6kgJyWKF13xnD/tT7xmM7bOY4y0riY6bL8nRAWo 5mlnDUUZR+m2ZCO/L2C4T89bywmaSgIJD/WmKnEVT/MkIg/v8wTUVeTMAuQbGBLDSNaFoI8K5lxkEDpt IDEafyJCfciPXiMAIX7enoDqUgNTci1TdhPjQ5nYn0dhrVgu1Fu+jO7iRTwyegmzKp9tGz0BZlMGE/Yy JgbSGH95irFnB5GbF5Nb3kqmqZELl2uJN5iJSS0hPMFIWGyWJ6C0MJXRQSNjfVpGH/vjur+Jj7dXCLM7 pme+4XBOMjDsIDgihYDj+jlISW4S8qs0XA99cXWsx9m2ksFySXRWo/RWp5Cppp3efpsw3+2ysidIMwsp zErgc88ZnO3rkFuWYq/3ov+6JMb+OvOdLy6l8wcHvW9sWHre4Rcag69i3rX3AN7bdyDlX4zD/iBCMS/h U8NChioXYC2SiFZ2Vsd2T3BVmaDA3EZTh1VkVVs3rEW6lBwrHoj7yu6sVQ72c+d7ltfCXH+nm5rWJ3MA dY3cpJPKCwtEE7SbgJ1bBFm9trqzu9vvspjgT3FIubZa8C/N67P9regHTvjvLQ3rR38AAAAASUVORK5C YII= 240, 22 &Вставить 237, 6 240, 22 Копировать как хекс 240, 22 Вставить как хекс 237, 6 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+gAA CvoBGdj/dAAAAjdJREFUOE/Nk19I01EUx1dgf0AhpLCHoAKxDAr3kDJm2ENYLnKE2WQ9jBr44h6mtGnt 1289zP34bUv7uTQommNWVFraYNkkEXGUKAMZFBXYcpUNFzqprGnr270/cWpZEL30cLhw7vl+zveey5EA kPxLLBPbWvvD1bx3Ir+8YXQplOT7VsrTmmUAudrZPv0pgXSpIbJJxqymBfRcmv/ZbQpAu5wVuqGsuoY8 pR27FNYYLRZuBLBSfgGUAphbevA1MYf7A69gEAaw/UA91u0xrlrIewNhcJ4RZBdbiXZxbiKgrtGXaW72 Q8t2oKTyKnYrHZCrLyG/ouWl1nQLet4LVU0bdio4ArZAe+5OZsoBsZ7GNPkxEf+C+EwSgadxaMw+5Bzi sGGvach4wUs74uPMHPpDkzhuvIvsg1zKhYQATDV8l1j0JPQeds8wjuhuIquQBRHXUUDoxTiCzz+Adw+h 3NiBzXIGpx0+VvwFu6t3SlffhdKqVkjLBOSWcMgptiBLxlAHYT13b/7uGLk7bMOWfQw2FtSiQHUxIQKs V3qRTH7HWPQzHg6+hcUVxLb9FL44qFNsO95FpxGOxNDZNwod/wi5ivlhSkzCA8zOfiPiN3C0BaE57//P AMT+evqEyPgUeh6/hvP2CMoMndhBZiU+4eQZ9zN17XUUaZohq2iETNWArUVslMwhnRYQ8RoSMUXl5bFS nQuFJ5ogPWpDRl715C+78KetdHq6xd0gZ5pK715LIuOvAL+D/wBo67drKm343wAAAABJRU5ErkJggg== 240, 22 Найти... iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+gAA CvoBGdj/dAAAAeRJREFUOE9j+P//PwMMN07f/b+8b+v/nNZ1QKH/DOh8ZLUwNlwzSGDaqpP///379x9E I/MtwnrAfLwGdM0/mNC36Mj/y7ee/6+dvPN/5cQd/1tn7/v/6u3n/w6xE/97p8+wJGTA/5ZZ+/6nN6z+ Xzlhx3//nAX/8zs2/W+eufd/QtXy/56p07C6AsX/IOdvP//1f0L1iv+q7u3/7WKmgr206dTH/yaBbfgN qOjfClYMMsA2Zsp/Dr0yMP39x6//qw6//m/o24TbAFBoZzWt+V/ctel/dNni/zHly8EGeKbN/l8/Zcf/ 1Jpl/71TJ/+3CcV0BdgLqXUr/x+49AHugvDCBWDbArNm/d909Nn/Szef/m+affK/sn0ZhivABsQAbT11 +zvcAL+MmWCF7gkT/i/ffe//kbN3/7fMP/efVSkBuwGhBfPATgZj3ZL/7NqFYIXs6ln/2VTT/7MpJ4M1 syrGYTcAVyIhRhxr6sKlMbDl+f+IjmcoriDJgKjOt85+jc/+u1Xc/u+et6/XJXOLEoYBZiH9YBtgtFX0 7P8OySv/u2bv+O9dfOy/f9Wl//bJq/6bhUz8bxLQjT2D4PKCa852c8vIWcBU2fPfNKj/pnnYFH+SvGCf tPKSeeiU42YRkzRglgAAiPLL/bY48nAAAAAASUVORK5CYII= 240, 22 Найти далее 240, 22 Перейти к... 75, 20 &Редактировать 124, 22 &Настройки 49, 20 &Дополнительно 108, 22 О программе... &Помощь &Открыть &Сохранить &Вырезать 161, 22 Копировать 161, 22 Копировать как хекс Копировать 161, 22 Вставить 161, 22 Вставить как хекс Вставить AAABAAIAEBAQAAAAAAAoAQAAJgAAACAgEAAAAAAA6AIAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAD/////////AP////////8A/////////wD/AA//AA //APD/8P/w//8A8P/w//Dw/wDw//D/8AD/APD/8P/w8P8A8P/w//D/DwD/AA//AAAPAP////////8A// ///////wD/////////AP////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAA AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// ////////////////////////////////////////////////////////////AAD///8AAAAA//////// 8AAAD///AAAAAP///////wD//wD///8A//////////8A//8A////AP/////////wD///8A///wD/AP// ////8A////AP//8A/wD///////AP///wD///AAAA///////wD///8A///wAAAP//////8A////AP//8A /wD///////AP///wD///AP8A/wD////wD///8A///wD///8A/////wD//wD///8A////AP////8A//8A //8AAAAAAAD/////8AAAD///AAAAAAAA//////8AAP////////////////////////////////////// ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////w== Be.HexEditor.150/sources/Be.HexEditor/FormHexEditor.zh-Hans.resx0000644000000000000000000005072112041446550023142 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 160, 22 打开(&O) 157, 6 160, 22 保存(&S) 157, 6 160, 22 最近的文件 157, 6 160, 22 退出(&X) 59, 22 文件(&F) iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C 1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb 4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh TNAAAAAASUVORK5CYII= 226, 22 剪切(&T) iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++ 79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S +1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC 226, 22 复制(&C) iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2 v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII= 226, 22 粘贴(&P) 223, 6 226, 22 复制十六进制 226, 22 粘贴十六进制 223, 6 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAArzAAAK8wHvFRX1AAACLklE QVQ4T82TX0hTURzHV2B/QCGksIegArEMCveQMmbYQ1gucoTZZD2MGvjiHqa0ae1218Pc5W5Luy4NiuaY FZWWNlg2UUQcFcZABkUFtlxlw4VOKmva+nbONZfKHoReevie8/t9z+/3OYcfHAmAf9KyxNY+FK7lvZOF lU1jK/zBdD7VskSudnbOfE0gU2qIbJExa6lH96X+0nqqVEBvOS/0QllzAwVKO/YorDHqC7cCSOcvKhWY 2/rwIzGPh8NvYRCGsfNQIzbsM65Z9L2BMDjPKHJLraR8BaCh2ZdtbvVDy3ahrPo69iodkKuvoLCq7Y3W dAd63gtVXQd2KzgCtkB74V52CkCensG0+DEZ/474bBKBF3FozD7kHeGwab9pxHjJS+qAL7PzGApN4aTx PnIPc9RKAUx1fA818DT0CXbPcxzT3UZOMQvS3EABodcTCL76DN49gkpjF7bKGZx1+FgRYHcNTOsae1Be 0w5phYD8Mg55pRbkyBj6grCee7BwdoKcHbVh2wEGm4vqUaS6nBAB1msDSCZ/YTz6DY+ffYDFFcSOgxT+ d1Bn2E58jM4gHImhe3AMOr4f+YqFYUpMwiPMzf0kze/h6AhCc9H/nwFI80YKiExMo+/JOzjvjqLC0I1d ZFYi4PQ590t1/U2UaFohq2qGTNWE7SVslEAy/wDWEcUU1VfHy3UuFJ9qgfS4DVkFtVMigC6rkdPTK/4N smeo9O71RFk0T1u8ekHyG2jrt2s5yYVVAAAAAElFTkSuQmCC 226, 22 查找 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAArzAAAK8wHvFRX1AAAB7klE QVQ4T52S20uacRjH35sO/8aKaDA2CEprrBm0kpAyIzu68TIxNyc1Key4Q2bnllnWlsKKDTJddCGLHJEU 60BBBXZVUXcZFEER0diF337+ordX1IIuPs/hy/N8f88LLwOAo/nrDGp7p6BtnSRtaB+OoGbIuQK/349A 5vepRT20DwdXdI3Ms70/FrC5fYAPA39Qb3aj1ebB4fEZMl6aIVF/S+MvXsMVxABGqwfqz79Q3+eGVDuK qg4XWoZnwTbYkaMaImO3GAS+N3Du9MY52MZxJIjb8VwxSDXX6imSZW1k7BaDOtMUZ5CusCD2iZ7mi3// 4fx7hKRcAxmLYBB4XWOYQHWXC+X6n1DU2qlBToUNnyxuqJrGIFEN4Jk89AoaVB8dmPOecBcU60aJDEam scK16IN3ax8G2wriRXqq86FBQV5d3bngDPLeDBMZjJjtg31mDwtruzCOrCMqjqU6Hxrk77/TkymPaxDz SEdkMDGJGkQnqBEdr6TLUQ9eUZ1PUHMfwoqRkBkPUNLhI+WNFjRwF2Wdx5l5zT5k1+1AXOn58uLt77iQ IUGhiaSb/LTchgylA1nv3JBUL0Ha4IVI6YSg0Izk/O7g5bvI0k4L00qt5K/sQUqBaUtYZJGGHYyE6LXD K5RblgUl/Q+vNDCXiPLL/aYKZbEAAAAASUVORK5CYII= 226, 22 查找下一个 226, 22 转到 223, 6 226, 22 全选(&A) 59, 22 编辑(&E) 117, 22 选项(&O) 60, 22 工具(&T) 125, 22 关于(&A)... 62, 22 帮助(&H) 打开(&O) 保存(&S) 剪切 152, 22 复制 152, 22 复制十六进制 复制 152, 22 粘贴 152, 22 粘贴十六进制 粘贴 复制(&C) 剪切(&X) 粘贴(&P) 全选(&A) AAABAAIAEBAQAAAAAAAoAQAAJgAAACAgEAAAAAAA6AIAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA AAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAD/////////AP////////8A/////////wD/AA//AA //APD/8P/w//8A8P/w//Dw/wDw//D/8AD/APD/8P/w8P8A8P/w//D/DwD/AA//AAAPAP////////8A// ///////wD/////////AP////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAA AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// ////////////////////////////////////////////////////////////AAD///8AAAAA//////// 8AAAD///AAAAAP///////wD//wD///8A//////////8A//8A////AP/////////wD///8A///wD/AP// ////8A////AP//8A/wD///////AP///wD///AAAA///////wD///8A///wAAAP//////8A////AP//8A /wD///////AP///wD///AP8A/wD////wD///8A///wD///8A/////wD//wD///8A////AP////8A//8A //8AAAAAAAD/////8AAAD///AAAAAAAA//////8AAP////////////////////////////////////// ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////// //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////w== Inherit Be.HexEditor.150/sources/Be.HexEditor/FormOptions.cs0000644000000000000000000000721412041446550021016 0ustar rootrootusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Globalization; using Be.HexEditor.Properties; namespace Be.HexEditor { public partial class FormOptions : Form { int recentFilesMax; public int RecentFilesMax { get { return recentFilesMax; } set { if (recentFilesMax == value) return; if (value < 0 || value > RecentFileHandler.MaxRecentFiles) return; recentFilesMax = value; } } bool useSystemLanguage; public bool UseSystemLanguage { get { return useSystemLanguage; } set { useSystemLanguage = value; } } public FormOptions() { InitializeComponent(); this.recentFilesMax = Settings.Default.RecentFilesMax; this.recentFilesMaxTextBox.DataBindings.Add("Text", this, "RecentFilesMax"); this.useSystemLanguage = Settings.Default.UseSystemLanguage; this.useSystemLanguageCheckBox.DataBindings.Add("Checked", this, "UseSystemLanguage"); if (string.IsNullOrEmpty(Settings.Default.SelectedLanguage)) Settings.Default.SelectedLanguage = CultureInfo.CurrentCulture.TwoLetterISOLanguageName; DataTable dt = new DataTable(); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("Value", typeof(string)); dt.Rows.Add(strings.English, "en"); dt.Rows.Add(strings.German, "de"); dt.Rows.Add(strings.Italian, "it"); dt.Rows.Add(strings.Japanese, "ja"); dt.Rows.Add(strings.Russian, "ru"); dt.Rows.Add(strings.SimplifiedChinese, "zh-CN"); dt.DefaultView.Sort = "Name"; this.languageComboBox.DataSource = dt.DefaultView; this.languageComboBox.DisplayMember = "Name"; this.languageComboBox.ValueMember = "Value"; this.languageComboBox.SelectedValue = Settings.Default.SelectedLanguage; if (this.languageComboBox.SelectedIndex == -1) this.languageComboBox.SelectedIndex = 0; } void clearRecentFilesButton_Click(object sender, EventArgs e) { Program.ApplictionForm.RecentFileHandler.Clear(); } void okButton_Click(object sender, EventArgs e) { bool changed = false; if (recentFilesMax != Settings.Default.RecentFilesMax) { Settings.Default.RecentFilesMax = recentFilesMax; changed = true; } if (Settings.Default.UseSystemLanguage != this.useSystemLanguage || Settings.Default.SelectedLanguage != (string)this.languageComboBox.SelectedValue) { Settings.Default.UseSystemLanguage = this.UseSystemLanguage; Settings.Default.SelectedLanguage = (string)this.languageComboBox.SelectedValue; Program.ShowMessage(strings.ProgramRestartSettings); changed = true; } if(changed) Settings.Default.Save(); this.DialogResult = DialogResult.OK; } void useSystemLanguageCheckBox_CheckedChanged(object sender, EventArgs e) { this.languageComboBox.Enabled = this.selectLanguageLabel.Enabled = !useSystemLanguageCheckBox.Checked; } } } Be.HexEditor.150/sources/Be.HexEditor/FormOptions.de.resx0000644000000000000000000001627512012756134021770 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Sprache auswählen Zuletzt geöffnete Dateien löschen Abbrechen Einträge in "Zuletzt geöffnete Dateien" anzeichen Allgemein Zuletzt geöffnete Dateien Optionen Sprache des Betriebssystems verwenden 107, 13 Spracheinstellungen True Be.HexEditor.150/sources/Be.HexEditor/FormOptions.Designer.cs0000644000000000000000000001625112001250414022542 0ustar rootrootnamespace Be.HexEditor { partial class FormOptions { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormOptions)); this.tabControl = new System.Windows.Forms.TabControl(); this.generalTabPage = new System.Windows.Forms.TabPage(); this.languageSettingsGroupBox = new System.Windows.Forms.GroupBox(); this.selectLanguageLabel = new System.Windows.Forms.Label(); this.languageComboBox = new System.Windows.Forms.ComboBox(); this.useSystemLanguageCheckBox = new System.Windows.Forms.CheckBox(); this.recentFilesGroupBox = new System.Windows.Forms.GroupBox(); this.clearRecentFilesButton = new System.Windows.Forms.Button(); this.recentFilesMaxlabel = new System.Windows.Forms.Label(); this.recentFilesMaxTextBox = new System.Windows.Forms.TextBox(); this.okButton = new System.Windows.Forms.Button(); this.cancelButton = new System.Windows.Forms.Button(); this.tabControl.SuspendLayout(); this.generalTabPage.SuspendLayout(); this.languageSettingsGroupBox.SuspendLayout(); this.recentFilesGroupBox.SuspendLayout(); this.SuspendLayout(); // // tabControl // resources.ApplyResources(this.tabControl, "tabControl"); this.tabControl.Controls.Add(this.generalTabPage); this.tabControl.Name = "tabControl"; this.tabControl.SelectedIndex = 0; // // generalTabPage // resources.ApplyResources(this.generalTabPage, "generalTabPage"); this.generalTabPage.Controls.Add(this.languageSettingsGroupBox); this.generalTabPage.Controls.Add(this.recentFilesGroupBox); this.generalTabPage.Name = "generalTabPage"; this.generalTabPage.UseVisualStyleBackColor = true; // // languageSettingsGroupBox // resources.ApplyResources(this.languageSettingsGroupBox, "languageSettingsGroupBox"); this.languageSettingsGroupBox.Controls.Add(this.selectLanguageLabel); this.languageSettingsGroupBox.Controls.Add(this.languageComboBox); this.languageSettingsGroupBox.Controls.Add(this.useSystemLanguageCheckBox); this.languageSettingsGroupBox.Name = "languageSettingsGroupBox"; this.languageSettingsGroupBox.TabStop = false; // // selectLanguageLabel // resources.ApplyResources(this.selectLanguageLabel, "selectLanguageLabel"); this.selectLanguageLabel.Name = "selectLanguageLabel"; // // languageComboBox // resources.ApplyResources(this.languageComboBox, "languageComboBox"); this.languageComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.languageComboBox.FormattingEnabled = true; this.languageComboBox.Name = "languageComboBox"; // // useSystemLanguageCheckBox // resources.ApplyResources(this.useSystemLanguageCheckBox, "useSystemLanguageCheckBox"); this.useSystemLanguageCheckBox.Name = "useSystemLanguageCheckBox"; this.useSystemLanguageCheckBox.UseVisualStyleBackColor = true; this.useSystemLanguageCheckBox.CheckedChanged += new System.EventHandler(this.useSystemLanguageCheckBox_CheckedChanged); // // recentFilesGroupBox // resources.ApplyResources(this.recentFilesGroupBox, "recentFilesGroupBox"); this.recentFilesGroupBox.Controls.Add(this.clearRecentFilesButton); this.recentFilesGroupBox.Controls.Add(this.recentFilesMaxlabel); this.recentFilesGroupBox.Controls.Add(this.recentFilesMaxTextBox); this.recentFilesGroupBox.Name = "recentFilesGroupBox"; this.recentFilesGroupBox.TabStop = false; // // clearRecentFilesButton // resources.ApplyResources(this.clearRecentFilesButton, "clearRecentFilesButton"); this.clearRecentFilesButton.Name = "clearRecentFilesButton"; this.clearRecentFilesButton.UseVisualStyleBackColor = true; this.clearRecentFilesButton.Click += new System.EventHandler(this.clearRecentFilesButton_Click); // // recentFilesMaxlabel // resources.ApplyResources(this.recentFilesMaxlabel, "recentFilesMaxlabel"); this.recentFilesMaxlabel.Name = "recentFilesMaxlabel"; // // recentFilesMaxTextBox // resources.ApplyResources(this.recentFilesMaxTextBox, "recentFilesMaxTextBox"); this.recentFilesMaxTextBox.Name = "recentFilesMaxTextBox"; // // okButton // resources.ApplyResources(this.okButton, "okButton"); this.okButton.Name = "okButton"; this.okButton.UseVisualStyleBackColor = true; this.okButton.Click += new System.EventHandler(this.okButton_Click); // // cancelButton // resources.ApplyResources(this.cancelButton, "cancelButton"); this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.cancelButton.Name = "cancelButton"; this.cancelButton.UseVisualStyleBackColor = true; // // FormOptions // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.cancelButton; this.Controls.Add(this.cancelButton); this.Controls.Add(this.okButton); this.Controls.Add(this.tabControl); this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "FormOptions"; this.ShowIcon = false; this.ShowInTaskbar = false; this.tabControl.ResumeLayout(false); this.generalTabPage.ResumeLayout(false); this.languageSettingsGroupBox.ResumeLayout(false); this.languageSettingsGroupBox.PerformLayout(); this.recentFilesGroupBox.ResumeLayout(false); this.recentFilesGroupBox.PerformLayout(); this.ResumeLayout(false); } #endregion private System.Windows.Forms.TabControl tabControl; private System.Windows.Forms.TabPage generalTabPage; private System.Windows.Forms.Button okButton; private System.Windows.Forms.Button cancelButton; private System.Windows.Forms.GroupBox recentFilesGroupBox; private System.Windows.Forms.Button clearRecentFilesButton; private System.Windows.Forms.Label recentFilesMaxlabel; private System.Windows.Forms.TextBox recentFilesMaxTextBox; private System.Windows.Forms.GroupBox languageSettingsGroupBox; private System.Windows.Forms.Label selectLanguageLabel; private System.Windows.Forms.ComboBox languageComboBox; private System.Windows.Forms.CheckBox useSystemLanguageCheckBox; } }Be.HexEditor.150/sources/Be.HexEditor/FormOptions.it.resx0000644000000000000000000002221612012756134022004 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Seleziona una lingua Cancella file recenti Annulla elementi mostrati nel menu dei file recenti Generali File recenti OK 45, 20 12, 12 Opzioni CenterScreen Top, Bottom, Left, Right Usa lingua di sistema 6, 13 3, 3, 3, 3 93, 13 135, 39 2 3 Imposta lingua 90, 24 1 17, 19 17, 45 1 ca True Be.HexEditor.150/sources/Be.HexEditor/FormOptions.ja.resx0000644000000000000000000001532112012756134021761 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 言語の選択 履歴のクリア キャンセル 最近使ったファイル メニューに表示される項目数 全般 最近使ったファイル オプション システム言語を使用 言語の設定 Be.HexEditor.150/sources/Be.HexEditor/FormOptions.resx0000644000000000000000000004776012012756134021404 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 6, 6 0 96, 24 Select a language 0 476, 252 Clear recent files 0 tabControl True True System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 1 FormOptions recentFilesGroupBox 6, 87 useSystemLanguageCheckBox 0 127, 17 2 $this generalTabPage Cancel Top, Left, Right 544, 75 System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 4, 22 NoControl 17, 19 items shown in the recent files menu recentFilesGroupBox clearRecentFilesButton 544, 77 93, 23 0 0 Bottom, Right System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 1 System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 General 2 79, 22 Recent files tabControl 0 0 recentFilesMaxTextBox languageSettingsGroupBox OK System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 564, 234 Segoe UI, 8.25pt System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 14, 42 recentFilesGroupBox System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 380, 252 3 recentFilesMaxlabel 121, 21 196, 13 languageSettingsGroupBox System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 1 556, 208 Bottom, Right System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 588, 285 True System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 45, 22 1 0 languageSettingsGroupBox System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 generalTabPage cancelButton 12, 12 Options languageSettingsGroupBox CenterScreen 2 Top, Bottom, Left, Right Use system language 2 6, 13 1 okButton 3, 3, 3, 3 System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 98, 13 $this 135, 39 2 3 selectLanguageLabel Language settings 90, 24 $this 1 System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 17, 19 languageComboBox 0 recentFilesGroupBox 17, 45 1 Top, Left, Right generalTabPage Be.HexEditor.150/sources/Be.HexEditor/FormOptions.ru.resx0000644000000000000000000001643712012756134022026 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Укажите язык Очистить список недавних файлов Отмена Максимальная длинна списка недавних файлов Общие Недавние файлы Настройки Использовать системный язык 101, 13 Настройки языка True Be.HexEditor.150/sources/Be.HexEditor/FormOptions.zh-Hans.resx0000644000000000000000000001573512012756134022710 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 指定语言 清除列表 取消 “最近的文件”菜单显示的项目数 常规 最近的文件 确定 选项 使用系统语言 55, 13 语言设置 Be.HexEditor.150/sources/Be.HexEditor/Images/0000755000000000000000000000000012043223042017400 5ustar rootrootBe.HexEditor.150/sources/Be.HexEditor/Images/CopyHS.png0000644000000000000000000000120311301467524021262 0ustar rootrootPNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_FIDATxڤ=hSQ*8 UlR@mE ABbqA"Rpp*u8 EPVWm{{)C^8sDFx" 3%,9qHw&k@ 8o;d:WU<eho&!7kLHJxPvA^3Sҝ)(06:EM䉔X.;(?[$NHuyU aţeSUmokR`9w=X3Q\}/)6Z CO9Fo@iKk Q)M~y\X K ^N?T+:4В[C}P_ svO JDTb8@WbG88XvFc `sIENDB`Be.HexEditor.150/sources/Be.HexEditor/Images/CutHS.png0000644000000000000000000000116411301467524021111 0ustar rootrootPNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_FIDATxڔkQ˗Tuҥ n A+"nmݚX HcK)RԦI3y/z3=R;a@VԗSONUW׏[77M~K~ZALz?ŠlH:1lޞZZY a K"&Ɋ id'4`~ꄮᱮڕz"wo;DHd\~c}jۆH4sϙSqCec ^v7փZHB=dA%CC"$!{``ҏfyݽǻ{wNXEq8pCDT:9g/^Dӎ&): ="c) L^=YKu0V8L&~$ Q|:gG#ε֣4K_e gG#O7d, 0DU6+H ſjWyfw8膉7Ou'MlcZXx4<cZݡ}8-O<0y WTM}K1So$H󭇟_H|ug Xb+CV#IUiBг|3'aUH"鐓I jkCml&{NG/y}/o60 ]Jbl6Y+)Mi]c/%ZAA{H \ (wl8"zz|H0t }eA  q}He񄂔FŸ/jtZ:8 lIENDB`Be.HexEditor.150/sources/Be.HexEditor/Images/FindNextHS.png0000644000000000000000000000116011301467524022071 0ustar rootrootPNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_FIDATxڤIhSEϏEBt#7ݸ((Z(`(*(( t!BB((JAW!8"VA#OυvU+͹gxAFM(LIENDB`Be.HexEditor.150/sources/Be.HexEditor/Images/Logo.pdn0000644000000000000000000001703312005447246021023 0ustar rootrootPDN3 PPaintDotNet.Data, Version=3.510.4297.28969, Culture=neutral, PublicKeyToken=null ISystem, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089PaintDotNet.Document isDisposedlayerswidthheight savedWith userMetaDatauserMetadataItemsPaintDotNet.LayerListSystem.Version2System.Collections.Specialized.NameValueCollectionSystem.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][] LL   PaintDotNet.LayerListparentArrayList+_itemsArrayList+_sizeArrayList+_versionPaintDotNet.Document  System.Version_Major_Minor_Build _Revision$q2System.Collections.Specialized.NameValueCollectionReadOnly HashProviderComparerCountKeysValuesVersion2System.Collections.CaseInsensitiveHashCodeProvider*System.Collections.CaseInsensitiveComparer . System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]keyvalue $exif.tag37 $exif.tag4D $exif.tag5l $exif.tag61 $exif.tag75 $exif.tag85! $exif.tag13"D$ $exif.tag14%/' $exif.tag15(7* $exif.tag16+7  , - .  2System.Collections.CaseInsensitiveHashCodeProviderm_textSystem.Globalization.TextInfo / *System.Collections.CaseInsensitiveComparer m_compareInfo System.Globalization.CompareInfo 0       ! $ ' * ; < = > ? @ A B C D EPPaintDotNet.Core, Version=3.510.4297.28965, Culture=neutral, PublicKeyToken=null,PaintDotNet.BitmapLayer propertiessurfaceLayer+isDisposed Layer+width Layer+heightLayer+properties-PaintDotNet.BitmapLayer+BitmapLayerPropertiesPaintDotNet.SurfaceE!PaintDotNet.Layer+LayerProperties F GLL H-, I JLL K., L MLL N/System.Globalization.TextInfom_listSeparator m_isReadOnlycustomCultureName m_nDataItemm_useUserOverride m_win32LangID  0 System.Globalization.CompareInfo win32LCIDculturem_nameO;System.Collections.ArrayList_items_size_version P<; Q=; R>; S?; T@; UA; VB; WC; XD; YF-PaintDotNet.BitmapLayer+BitmapLayerPropertiesblendOp&PaintDotNet.UserBlendOps+NormalBlendOp ZGPaintDotNet.Surfacescan0widthheightstridePaintDotNet.MemoryBlockEE [LL0H!PaintDotNet.Layer+LayerPropertiesname userMetaDatauserMetadataItemsvisible isBackgroundopacity2System.Collections.Specialized.NameValueCollectionSystem.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]][]\ Background ] ^IF _JG `LL0KHaLayer 3 b ^LF dMG eLL0NHfLayer 2 g ^P Q R S T U V "W %X (Y +Z&PaintDotNet.UserBlendOps+NormalBlendOp[PaintDotNet.MemoryBlocklength64 hasParentdeferred E@Z] u v^System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]_Z`[@Zb y zdZe[@Zg } ~uvyz}~ <e\P1 7}o$T _e@Ze\P 00_ 4H}Ցgm{? ^'nWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW:e۶ @Z<e\P!LQ/\H8Gqs#p,2@03mFpdJ"o0{cwۯ(?%IB!B!B!G­0B-O[cO{½aW_r(6yӹWϛ/ tisJ[:AWj=5>DZCzBrϵK9/\+z}5!ec1p>}14V802їYdf}՗Kλ'[ӏ*\E"B!B!BHV=@ZBe.HexEditor.150/sources/Be.HexEditor/Images/Logo.png0000644000000000000000000000206312005447246021023 0ustar rootrootPNG  IHDRLLǗQ+gAMA|Q cHRMz%u0`:o_F pHYs  ~tEXtSoftwarePaint.NET v3.5.100rIDATx^/hzQ &iՠ0lŶ d0 `ea+ ;y o;9JL! P_M&C=jZv 0#]&0$t 0&(L1 0Ea l٨FRJDXLJ%5Lng2N{_W秪`ۛNlhx8u F\.~`8f QYu:Xף<>>ŜV,-%^0yPY`hL&)>fK'AMҠRzh$0;01;ju'aK+j ڝ@:`0(M4*J?Am0%mQ=~`ڥ= ?  L,Ib#YV`:,*<)n'K$5IW)s"0kWZ; cY`8S8Aj׳( R>i۔f{g3s4SA; ڧ2渋^0?T߫t~|| /0qpy`^S.@i 4+& Z` A DTQwwwz7zxv.5 K1i 0$t 0&(L1 0EaI[aC}£B FKB@!#_IENDB`Be.HexEditor.150/sources/Be.HexEditor/Images/openHS.png0000644000000000000000000000134711301467524021322 0ustar rootrootPNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_F]IDATxڤMKUQsQ,2(FM&EI "EF5ITD 45M%K-9gO@pޗeYj*XIӅ+C:6TWUjuđF'C(>;}x~PFx kk,ZZL'` ×$x)|w}gˏkLA 6IEjaa`JzיJG#316hi.x΂Ii޽n`良Yz6Xcbf;7 R Vp&7Ki ĀUH0:R|VAD۶ &361"&TՒ exdAXI4&0Za&UŅEMa"~v8? t5;j'ytv*(-Grbte131pJB"B CE⤈.䟖Y;=|.+_/IENDB`Be.HexEditor.150/sources/Be.HexEditor/Images/PasteHS.png0000644000000000000000000000133211301467524021427 0ustar rootrootPNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_FPIDATxڤMHTa;.%)KhUDbXT *RȈA(SIB1!%0Q:z{|-ZxV9J*oޮΘ/yN[׻G/͋D?5uC03= 7'ʭW1p 멪ZCNZ!M׺>Sq&P{  $~  ʶcυU$;t'hi(;9G =:;&KQDd#<$|6Bj.F90>ge#k 9Y T `CF9NA4NIu F(QJ!d.' R>^0c891p(& ť8r{vÛHĂ!qj=D۞`aOy)Ri`I5I|é 0Ḱrҁhҁ"2Bbnᅀ5 Ca1?-ɵ6$6%H)3eIgB6hc)Z]Dr*Ӆʇo+Ce`*哜IB ͛[cgH_mV\ce?dIENDB`Be.HexEditor.150/sources/Be.HexEditor/Images/saveHS.png0000644000000000000000000000112311301467524021307 0ustar rootrootPNG  IHDRa pHYs  gAMA|Q cHRMz%u0`:o_FIDATxڤ=kTA\k6&)W`B{ˤ&((V ;~F ($93gMv]WsyirJH)cFPM"FZ5jĘYP`;Vm(K_rfT}0 >Rf #x/_!?RB,D_'#8#ȡPN(BقFΰȕo1ֵVũr)#BU8wv@UEDF.AarރV^1:ƉNiU{ E>{Rσ8^r}~"'3 CTRRoSwhTqFUyȭT|NUaΣM&DIkT4M";fYrצ)QloQ:zIENDB`Be.HexEditor.150/sources/Be.HexEditor/images.Designer.cs0000644000000000000000000001326612041446550021547 0ustar rootroot//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.17929 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ namespace Be.HexEditor { using System; /// /// A strongly-typed resource class, for looking up localized strings, etc. /// // This class was auto-generated by the StronglyTypedResourceBuilder // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class images { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal images() { } /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Be.HexEditor.images", typeof(images).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap CopyHS { get { object obj = ResourceManager.GetObject("CopyHS", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap CutHS { get { object obj = ResourceManager.GetObject("CutHS", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap FindHS { get { object obj = ResourceManager.GetObject("FindHS", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap FindNextHS { get { object obj = ResourceManager.GetObject("FindNextHS", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap Logo { get { object obj = ResourceManager.GetObject("Logo", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap openHS { get { object obj = ResourceManager.GetObject("openHS", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap PasteHS { get { object obj = ResourceManager.GetObject("PasteHS", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap saveHS { get { object obj = ResourceManager.GetObject("saveHS", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } } } Be.HexEditor.150/sources/Be.HexEditor/images.resx0000644000000000000000000001725112005447246020365 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Images\CopyHS.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Images\CutHS.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Images\FindHS.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Images\FindNextHS.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Images\openHS.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Images\PasteHS.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Images\saveHS.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Images\Logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Be.HexEditor.150/sources/Be.HexEditor/img/0000755000000000000000000000000012043223042016747 5ustar rootrootBe.HexEditor.150/sources/Be.HexEditor/img/banner.bmp0000644000000000000000000031513610762752742020751 0ustar rootrootBM^6(F(Be.HexEditor.150/sources/Be.HexEditor/img/banner.JPG0000644000000000000000000000627510762752742020614 0ustar rootrootJFIF``"ExifII*QC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222F" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( Oo;տ̒nۍqN1zA^7nu(]MHPex 1@'.߇0oJA'T]YD򿵴 Xyooc8qP.߇0oJֆ|8+—N<ϲ[˳9v5'T]@.߇0oJA'T]G SCt?Ms~Wn]?a+7] SCt?Mx?M4yCI\O QC~uFfO ˨X~ucOЩ&zg+; H--cғd0F#Eȶ' 8$ƀ=((((((((((((((((((((((((((???6޽???6ހ:~?rmoGe9 1FqDžϊ\y^چ37a.> nmGC,]q" +3/E$:띃 sZnR".ČGB͖Y_qyl9݅ebpNE&x=䱶fEPY6e7++WW}GCmP> <6!4 RHDUYȮWtb?K7<Ol#BBwTlx'4w?߉}7<[oqsA*92<G>>:n}/OݣbRl$(8gPh7C?᣼a@Mk'?¼G縹y+3$OZWҖ6N2 $g(?᣼a@Mk?k^AsB{;LҾ gœthU:{ׯ{Nş A`((((((((((((((((((((((((((%O`%O %{]'?h]E*jٔ60@Q|g e bwMQ?w2$ @%%{B'#-CWx"8Z"Yʟ-099#vHzR,FnY@dXH+;@>?h(zѲ%OT6Zix}^GaSf7}3a8C?'Zl:=#Ki y2x2~k7zk2jotQn!TR9U#^?:*?ֽt>,T {Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@x( *m{x]J_KEQbH:uƐGںi,gRvpHsx.2(M4)|G+r2Wqdh7\?᣼@sCh$ǟHQޱ=l]q@[ *!m@W o? c$ԥJG8<ͻ~n>lq_*j^-Ʃxu@%խĬ$${?h7\?᣼@sCh ͭVx"@*k v gO=f7>y8uWu; ??v=t>,T n~!㵏Ė~.r9㵺҆ĝ@qۡ{QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEBe.HexEditor.150/sources/Be.HexEditor/img/HexBox.bmp0000644000000000000000000000036610762752742020675 0ustar rootrootBMv(wwwwwwwwwwwwwwwwwwwwwwwwBe.HexEditor.150/sources/Be.HexEditor/img/logo.jpg0000644000000000000000000000504410766724656020447 0ustar rootrootJFIF``C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222D^" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?x?WX3ݺEOnNeU[+fUdD I񳏄o|430^h$/ԿbKǃ7Gy\@o?0 3\ŗ˻hk89J&}N([/M~r?ox6+o4;&@$0>qEy-&?9_D\{Qǵy-&?9_D\{Qǵxƍ\Hҵ__iGRKx仸t̪H ݍ½y>!2箪mz($\Vc4i .SJ)$@: ,mCۿ_ ج[O`:`rJ=FӮz0|Xq3^T|GF<m{|pXexǮ;ͫ\iu l>|LȒdWx=ht{uC* Fh2d [Nվ&L<[{%2lTǽ{W>5EKG_VO y~/7ꆥ|Hьښ|j~1n#8W??:$W<ݳ>^>q)| CBKyXʌ <'ۯ5+wsIϾi2;b 2Ǔ+aWκ}SzFjr4!{_nzqA#(t|mCۿ?{iGE[ׯmCۿ?xaA?~Zm%Wq@U H6|0N('- >J+珀=I-VbO(}98\ X9 m7t jڴ;tU!g8?I>6)?u:":V|G.Oz *HPp6`$@qھ^w N{K]rYa;ч^A=m=VUO:y#rܠ`s|GTִR;Q1(Ǽ'asS,nmu!7228<\ZF7$]0xgTwm|:P_§Fׯ???6޽|t|mE>:0 ZKT~(蚏jVo./1SvQ,@yJףiZ]f-2NH@?g'Rͻ9a$0vc lx8g್纈B1=y[_&"H~9Л:{\̗nqr˰0\UL=$v[yvNr7CC/$P ?⥞Ety [I$s*q2p{/_&"H~9ЛqS]🍬OPӚ Ev̌;@rs@1G H~9Л?!Bn(>/CcaSmA^{Qo<) iL^12F\ebp{(h(((((Be.HexEditor.150/sources/Be.HexEditor/Program.cs0000644000000000000000000000363112041446550020145 0ustar rootrootusing System; using System.Windows.Forms; using System.Threading; using System.Globalization; using Be.HexEditor.Properties; using Be.Windows.Forms; namespace Be.HexEditor { class Program { public const string SoftwareName = "Be.HexEditor"; public static FormHexEditor ApplictionForm; [STAThread()] static void Main(string[] args) { if (!Settings.Default.UseSystemLanguage) { string l = Settings.Default.SelectedLanguage; Thread.CurrentThread.CurrentUICulture = new CultureInfo(l); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(l); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ApplictionForm = new FormHexEditor(); if (args.Length > 0 && System.IO.File.Exists(args[0])) ApplictionForm.OpenFile(args[0]); Application.Run(ApplictionForm); } public static DialogResult ShowError(Exception ex) { return ShowError(ex.Message); } internal static DialogResult ShowError(string text) { DialogResult result = MessageBox.Show(text, SoftwareName, MessageBoxButtons.OK, MessageBoxIcon.Error); return result; } public static void ShowMessage(string text) { MessageBox.Show(text, SoftwareName, MessageBoxButtons.OK, MessageBoxIcon.Information); } public static DialogResult ShowQuestion(string text) { DialogResult result = MessageBox.Show(text, SoftwareName, MessageBoxButtons.YesNo, MessageBoxIcon.Question); return result; } } } Be.HexEditor.150/sources/Be.HexEditor/Properties/0000755000000000000000000000000012043223042020327 5ustar rootrootBe.HexEditor.150/sources/Be.HexEditor/Properties/AssemblyInfo.cs0000644000000000000000000000142412001733166023261 0ustar rootrootusing System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Resources; // // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. // [assembly: AssemblyTitle("Be.HexEditor")] [assembly: AssemblyDescription("View and edit files in hex format")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Be")] [assembly: AssemblyProduct("Be.HexEditor")] [assembly: AssemblyCopyright("")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: AssemblyVersion("1.5.0.*")] [assembly: ComVisible(false)] [assembly: NeutralResourcesLanguage("en-US")]Be.HexEditor.150/sources/Be.HexEditor/Properties/Settings.Designer.cs0000644000000000000000000000554512041446550024237 0ustar rootroot//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.17929 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ namespace Be.HexEditor.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); public static Settings Default { get { return defaultInstance; } } [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public global::System.Collections.Specialized.StringCollection RecentFiles { get { return ((global::System.Collections.Specialized.StringCollection)(this["RecentFiles"])); } set { this["RecentFiles"] = value; } } [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("6")] public int RecentFilesMax { get { return ((int)(this["RecentFilesMax"])); } set { this["RecentFilesMax"] = value; } } [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] public bool UseSystemLanguage { get { return ((bool)(this["UseSystemLanguage"])); } set { this["UseSystemLanguage"] = value; } } [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("")] public string SelectedLanguage { get { return ((string)(this["SelectedLanguage"])); } set { this["SelectedLanguage"] = value; } } } } Be.HexEditor.150/sources/Be.HexEditor/Properties/Settings.settings0000644000000000000000000000151210764177224023732 0ustar rootroot 6 True Be.HexEditor.150/sources/Be.HexEditor/RecentFileHandler.cs0000644000000000000000000001212111452575220022050 0ustar rootrootusing System; using System.Collections.Generic; using System.Collections.Specialized; using System.ComponentModel; using System.Diagnostics; using System.Text; using System.Windows.Forms; using Be.HexEditor.Properties; namespace Be.HexEditor { public partial class RecentFileHandler : Component { public class FileMenuItem : ToolStripMenuItem { string fileName; public string FileName { get { return fileName; } set { fileName = value; } } public FileMenuItem(string fileName) { this.fileName = fileName; } public override string Text { get { ToolStripMenuItem parent = (ToolStripMenuItem)this.OwnerItem; int index = parent.DropDownItems.IndexOf(this); return string.Format("{0} {1}", index+1, fileName); } set { } } } public const int MaxRecentFiles = 24; public RecentFileHandler() { InitializeComponent(); Init(); } public RecentFileHandler(IContainer container) { container.Add(this); InitializeComponent(); Init(); } void Init() { Settings.Default.PropertyChanged += new PropertyChangedEventHandler(Default_PropertyChanged); } public void AddFile(string fileName) { if (this.recentFileToolStripItem == null) throw new OperationCanceledException("recentFileToolStripItem can not be null!"); // check if the file is already in the collection int alreadyIn = GetIndexOfRecentFile(fileName); if (alreadyIn != -1) // remove it { Settings.Default.RecentFiles.RemoveAt(alreadyIn); if(recentFileToolStripItem.DropDownItems.Count > alreadyIn) recentFileToolStripItem.DropDownItems.RemoveAt(alreadyIn); } else if (alreadyIn == 0) // it´s the latest file so return { return; } // insert the file on top of the list Settings.Default.RecentFiles.Insert(0, fileName); recentFileToolStripItem.DropDownItems.Insert(0, new FileMenuItem(fileName)); // remove the last one, if max size is reached if (Settings.Default.RecentFiles.Count > MaxRecentFiles) Settings.Default.RecentFiles.RemoveAt(MaxRecentFiles); if (Settings.Default.RecentFiles.Count > Settings.Default.RecentFilesMax) this.recentFileToolStripItem.DropDownItems.RemoveAt(Settings.Default.RecentFilesMax); // enable the menu item if it´s disabled if (!recentFileToolStripItem.Enabled) recentFileToolStripItem.Enabled = true; // save the changes Settings.Default.Save(); } int GetIndexOfRecentFile(string filename) { for (int i = 0; i < Settings.Default.RecentFiles.Count; i++) { string currentFile = Settings.Default.RecentFiles[i]; if (string.Equals(currentFile, filename, StringComparison.OrdinalIgnoreCase)) { return i; } } return -1; } ToolStripMenuItem recentFileToolStripItem; public ToolStripMenuItem RecentFileToolStripItem { get { return recentFileToolStripItem; } set { if (recentFileToolStripItem == value) return; recentFileToolStripItem = value; ReCreateItems(); } } void Default_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "RecentFilesMax") { ReCreateItems(); } } void ReCreateItems() { if (recentFileToolStripItem == null) return; if (Settings.Default.RecentFiles == null) Settings.Default.RecentFiles = new StringCollection(); recentFileToolStripItem.DropDownItems.Clear(); recentFileToolStripItem.Enabled = (Settings.Default.RecentFiles.Count > 0); int fileItemCount = Math.Min(Settings.Default.RecentFilesMax, Settings.Default.RecentFiles.Count); for(int i = 0; i < fileItemCount; i++) { string file = Settings.Default.RecentFiles[i]; recentFileToolStripItem.DropDownItems.Add(new FileMenuItem(file)); } } public void Clear() { Settings.Default.RecentFiles.Clear(); ReCreateItems(); } } } Be.HexEditor.150/sources/Be.HexEditor/RecentFileHandler.Designer.cs0000644000000000000000000000205610763774616023633 0ustar rootrootnamespace Be.HexEditor { partial class RecentFileHandler { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Component Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { components = new System.ComponentModel.Container(); } #endregion } } Be.HexEditor.150/sources/Be.HexEditor/Resources/0000755000000000000000000000000012043223042020145 5ustar rootrootBe.HexEditor.150/sources/Be.HexEditor/Resources/ThanksTo.rtf0000644000000000000000000000126412001250414022415 0ustar rootroot{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Segoe UI Mono;}{\f1\fmodern\fprq1\fcharset0 Courier New;}{\f2\fswiss\fcharset0 Arial;}} {\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\lang1031\b\f0\fs16 A lot of thanks to some people. \par \b0\par \b Developers\b0\par - Eric Lawrence (some great fixes)\par - Dave Cluderay (DynamicFileByteProvider)\par - Andrew Whewell (EBCDIC 500)\par - Bart Tormans\par - Itai Basel\par \par \b Translators\b0\par - wwwcfe (Japanese)\par - Vladimir (Russian)\par - Regnad (Simplified Chinese)\par - Michele (Italian)\par \par And all others who reports bug and hints\par \f1\par \lang1033\f2\fs20\par } Be.HexEditor.150/sources/Be.HexEditor/strings.de.resx0000644000000000000000000001634212041446550021175 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Englisch Die Datei existiert nicht! Suche hat das Ende der Datei erreicht! Deutsch Program-Neustart erforderlich nach Sprachänderung! Möchten Sie die Änderungen speichern? [schreibgeschützt] Datei wird von einem anderen Prozess blockiert und kann nicht geöffnet werden! Die Datei wird blockiert. Möchten Sie sie im "Schreibgeschützen"-Modus öffnen? Japanisch Russisch Chinesisch Italienisch Kein Byte ausgewählt Be.HexEditor.150/sources/Be.HexEditor/strings.Designer.cs0000644000000000000000000001650512041446550021772 0ustar rootroot//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.17929 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ namespace Be.HexEditor { using System; /// /// A strongly-typed resource class, for looking up localized strings, etc. /// // This class was auto-generated by the StronglyTypedResourceBuilder // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class strings { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal strings() { } /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Be.HexEditor.strings", typeof(strings).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } /// /// Looks up a localized string similar to Byte {0}. /// internal static string Byte { get { return ResourceManager.GetString("Byte", resourceCulture); } } /// /// Looks up a localized string similar to English. /// internal static string English { get { return ResourceManager.GetString("English", resourceCulture); } } /// /// Looks up a localized string similar to The file does not exist!. /// internal static string FileDoesNotExist { get { return ResourceManager.GetString("FileDoesNotExist", resourceCulture); } } /// /// Looks up a localized string similar to Find reached end of file!. /// internal static string FindOperationEndOfFile { get { return ResourceManager.GetString("FindOperationEndOfFile", resourceCulture); } } /// /// Looks up a localized string similar to German. /// internal static string German { get { return ResourceManager.GetString("German", resourceCulture); } } /// /// Looks up a localized string similar to Italian. /// internal static string Italian { get { return ResourceManager.GetString("Italian", resourceCulture); } } /// /// Looks up a localized string similar to Japanese. /// internal static string Japanese { get { return ResourceManager.GetString("Japanese", resourceCulture); } } /// /// Looks up a localized string similar to No byte is selected. /// internal static string NoByteSelected { get { return ResourceManager.GetString("NoByteSelected", resourceCulture); } } /// /// Looks up a localized string similar to File is locked by another process and cannot be opened!. /// internal static string OpenFailed { get { return ResourceManager.GetString("OpenFailed", resourceCulture); } } /// /// Looks up a localized string similar to The file is locked. Do you want to open it in read-only mode?. /// internal static string OpenReadonly { get { return ResourceManager.GetString("OpenReadonly", resourceCulture); } } /// /// Looks up a localized string similar to Program restart required for settings to take affect!. /// internal static string ProgramRestartSettings { get { return ResourceManager.GetString("ProgramRestartSettings", resourceCulture); } } /// /// Looks up a localized string similar to [read-only]. /// internal static string Readonly { get { return ResourceManager.GetString("Readonly", resourceCulture); } } /// /// Looks up a localized string similar to Russian. /// internal static string Russian { get { return ResourceManager.GetString("Russian", resourceCulture); } } /// /// Looks up a localized string similar to Do you want to save changes?. /// internal static string SaveChangesQuestion { get { return ResourceManager.GetString("SaveChangesQuestion", resourceCulture); } } /// /// Looks up a localized string similar to Simplified Chinese. /// internal static string SimplifiedChinese { get { return ResourceManager.GetString("SimplifiedChinese", resourceCulture); } } } } Be.HexEditor.150/sources/Be.HexEditor/strings.it.resx0000644000000000000000000001607011553765546021237 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Inglese Il file non esiste! La ricerca è giunta alla fine del file! Tedesco Il programma deve essere riavviato per attivare le modifiche! Salvare le modifiche? [sola lettura] Il file è bloccato da un altro processo e non può essere aperto! Il file è bloccato. Aprirlo in sola lettura? Giapponese Russo Cinese semplificato Italiano Be.HexEditor.150/sources/Be.HexEditor/strings.ja.resx0000644000000000000000000001521311553216620021173 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ファイルは存在しません! 検索はファイルの終端に達しました! 設定を反映するためにプログラムの再起動が必要です! 変更を保存しますか? [読み取り専用] ファイルは別のプロセスにロックされていて開けません! ファイルはロックされています。読み取り専用モードで開きますか? Be.HexEditor.150/sources/Be.HexEditor/strings.resx0000644000000000000000000001634712041446550020613 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 English The file does not exist! Find reached end of file! German Program restart required for settings to take affect! Do you want to save changes? [read-only] File is locked by another process and cannot be opened! The file is locked. Do you want to open it in read-only mode? Japanese Russian Simplified Chinese Italian Byte {0} No byte is selected Be.HexEditor.150/sources/Be.HexEditor/strings.ru.resx0000644000000000000000000001572411553216620021236 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Английский Файл не существует! Достигнут конец файла! Немецкий Перезапустите прогармму чтоыб изменения вступили в силу! Сохранить изменения? [Только чтение] Файл заблокирован и не может быть открыт! Файл заблокирован. Открыть в режиме "только чтение"? Японский Be.HexEditor.150/sources/Be.HexEditor/strings.zh-Hans.resx0000644000000000000000000001565311553216620022121 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 英语 文件不存在。 查找已越过文件末尾。 德语 程序需要重新启动来使设置生效。 是否保存修改? [只读] 文件被其他进程占用,无法打开。 此文件已被锁定。是否以只读方式打开? 日语 俄语 中文(简体) Be.HexEditor.150/sources/Be.HexEditor/UCAbout.cs0000644000000000000000000002020512005447246020037 0ustar rootrootusing System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using System.Diagnostics; using System.Reflection; using System.IO; namespace Be.HexEditor { /// /// Summary description for UCAbout. /// public class UCAbout : System.Windows.Forms.UserControl { private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label lblAuthor; private System.Windows.Forms.Label lblVersion; private System.Windows.Forms.TabPage tabLicense; private System.Windows.Forms.RichTextBox txtLicense; private System.Windows.Forms.TabPage tabChanges; private System.Windows.Forms.RichTextBox txtChanges; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.LinkLabel lnkWorkspace; private System.Windows.Forms.TabControl tabControl; private System.Windows.Forms.TabPage tabThanksTo; private System.Windows.Forms.RichTextBox txtThanksTo; /// /// Required designer variable. /// private System.ComponentModel.Container components = null; public UCAbout() { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // TODO: Add any initialization after the InitializeComponent call try { Assembly ca = Assembly.GetExecutingAssembly(); string resThanksTo = "Be.HexEditor.Resources.ThanksTo.rtf"; txtThanksTo.LoadFile(ca.GetManifestResourceStream(resThanksTo), RichTextBoxStreamType.RichText); string resLicense = "Be.HexEditor.Resources.license.txt"; txtLicense.LoadFile(ca.GetManifestResourceStream(resLicense), RichTextBoxStreamType.PlainText); string resChanges = "Be.HexEditor.Resources.Changes.rtf"; txtChanges.LoadFile(ca.GetManifestResourceStream(resChanges), RichTextBoxStreamType.RichText); lblVersion.Text = ca.GetName().Version.ToString(); } catch (Exception) { return; } } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Component Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UCAbout)); this.label1 = new System.Windows.Forms.Label(); this.lblAuthor = new System.Windows.Forms.Label(); this.lnkWorkspace = new System.Windows.Forms.LinkLabel(); this.label5 = new System.Windows.Forms.Label(); this.lblVersion = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); this.tabControl = new System.Windows.Forms.TabControl(); this.tabThanksTo = new System.Windows.Forms.TabPage(); this.txtThanksTo = new System.Windows.Forms.RichTextBox(); this.tabLicense = new System.Windows.Forms.TabPage(); this.txtLicense = new System.Windows.Forms.RichTextBox(); this.tabChanges = new System.Windows.Forms.TabPage(); this.txtChanges = new System.Windows.Forms.RichTextBox(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.tabControl.SuspendLayout(); this.tabThanksTo.SuspendLayout(); this.tabLicense.SuspendLayout(); this.tabChanges.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); // // label1 // resources.ApplyResources(this.label1, "label1"); this.label1.Name = "label1"; // // lblAuthor // resources.ApplyResources(this.lblAuthor, "lblAuthor"); this.lblAuthor.BackColor = System.Drawing.Color.White; this.lblAuthor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.lblAuthor.Name = "lblAuthor"; // // lnkWorkspace // resources.ApplyResources(this.lnkWorkspace, "lnkWorkspace"); this.lnkWorkspace.BackColor = System.Drawing.Color.White; this.lnkWorkspace.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.lnkWorkspace.Name = "lnkWorkspace"; this.lnkWorkspace.TabStop = true; this.lnkWorkspace.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lnkCompany_LinkClicked); // // label5 // resources.ApplyResources(this.label5, "label5"); this.label5.Name = "label5"; // // lblVersion // resources.ApplyResources(this.lblVersion, "lblVersion"); this.lblVersion.BackColor = System.Drawing.Color.White; this.lblVersion.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.lblVersion.Name = "lblVersion"; // // label7 // resources.ApplyResources(this.label7, "label7"); this.label7.Name = "label7"; // // tabControl // resources.ApplyResources(this.tabControl, "tabControl"); this.tabControl.Controls.Add(this.tabThanksTo); this.tabControl.Controls.Add(this.tabLicense); this.tabControl.Controls.Add(this.tabChanges); this.tabControl.Name = "tabControl"; this.tabControl.SelectedIndex = 0; // // tabThanksTo // resources.ApplyResources(this.tabThanksTo, "tabThanksTo"); this.tabThanksTo.Controls.Add(this.txtThanksTo); this.tabThanksTo.Name = "tabThanksTo"; // // txtThanksTo // this.txtThanksTo.BackColor = System.Drawing.Color.White; this.txtThanksTo.BorderStyle = System.Windows.Forms.BorderStyle.None; resources.ApplyResources(this.txtThanksTo, "txtThanksTo"); this.txtThanksTo.Name = "txtThanksTo"; this.txtThanksTo.ReadOnly = true; // // tabLicense // this.tabLicense.Controls.Add(this.txtLicense); resources.ApplyResources(this.tabLicense, "tabLicense"); this.tabLicense.Name = "tabLicense"; // // txtLicense // this.txtLicense.BackColor = System.Drawing.Color.White; this.txtLicense.BorderStyle = System.Windows.Forms.BorderStyle.None; resources.ApplyResources(this.txtLicense, "txtLicense"); this.txtLicense.Name = "txtLicense"; this.txtLicense.ReadOnly = true; // // tabChanges // this.tabChanges.Controls.Add(this.txtChanges); resources.ApplyResources(this.tabChanges, "tabChanges"); this.tabChanges.Name = "tabChanges"; // // txtChanges // this.txtChanges.BorderStyle = System.Windows.Forms.BorderStyle.None; resources.ApplyResources(this.txtChanges, "txtChanges"); this.txtChanges.Name = "txtChanges"; // // pictureBox1 // resources.ApplyResources(this.pictureBox1, "pictureBox1"); this.pictureBox1.Image = global::Be.HexEditor.images.Logo; this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.TabStop = false; // // UCAbout // this.Controls.Add(this.pictureBox1); this.Controls.Add(this.tabControl); this.Controls.Add(this.lblVersion); this.Controls.Add(this.label7); this.Controls.Add(this.label5); this.Controls.Add(this.lnkWorkspace); this.Controls.Add(this.lblAuthor); this.Controls.Add(this.label1); this.Name = "UCAbout"; resources.ApplyResources(this, "$this"); this.tabControl.ResumeLayout(false); this.tabThanksTo.ResumeLayout(false); this.tabLicense.ResumeLayout(false); this.tabChanges.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); } #endregion private void lnkCompany_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { try { System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(this.lnkWorkspace.Text)); } catch (Exception ex1) { MessageBox.Show(ex1.Message); } } } } Be.HexEditor.150/sources/Be.HexEditor/UCAbout.de.resx0000644000000000000000000001456712012756134021015 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Autor: Web: Danke an Lizenz 440, 198 Änderungen Be.HexEditor.150/sources/Be.HexEditor/UCAbout.it.resx0000644000000000000000000001473512012756134021036 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Autore: Sito web: Versione: Ringraziamento Licenza 432, 203 Modifiche Be.HexEditor.150/sources/Be.HexEditor/UCAbout.ja.resx0000644000000000000000000001435612012756134021013 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 作者: リンク: バージョン: 謝辞 ライセンス 変更 Be.HexEditor.150/sources/Be.HexEditor/UCAbout.resx0000644000000000000000000005415612012756134020424 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 NoControl 8, 8 72, 16 0 Author: MiddleLeft label1 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 7 Top, Left, Right NoControl 88, 8 224, 16 1 Bernhard Elbl lblAuthor System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 6 Top, Left, Right NoControl 88, 32 224, 16 3 http://sourceforge.net/projects/hexbox lnkWorkspace System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 5 NoControl 8, 32 72, 16 5 Link: MiddleLeft label5 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 4 Top, Left, Right NoControl 88, 56 224, 16 8 lblVersion System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 2 NoControl 8, 56 72, 16 7 Version: MiddleLeft label7 System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 3 Top, Bottom, Left, Right tabThanksTo System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tabControl 0 tabLicense System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tabControl 1 tabChanges System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tabControl 2 8, 80 440, 229 9 tabControl System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 1 Top, Bottom, Left, Right txtThanksTo System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tabThanksTo 0 4, 22 432, 203 9 Thanks to Fill Segoe UI Mono, 8.25pt 0, 0 432, 203 8 False txtLicense System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tabLicense 0 4, 22 432, 203 0 License Fill 0, 0 432, 203 7 False txtChanges System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 tabChanges 0 4, 22 432, 203 1 Changes Fill Segoe UI Mono, 8.25pt 0, 0 432, 203 0 False Top, Right NoControl 374, 3 77, 72 10 pictureBox1 System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 $this 0 464, 312 UCAbout System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Be.HexEditor.150/sources/Be.HexEditor/UCAbout.zh-Hans.resx0000644000000000000000000001473112012756134021726 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 作者: 链接: 版本: 致谢 许可 432, 203 变更列表 Be.HexEditor.150/sources/Be.HexEditor/Util.cs0000644000000000000000000000353011452605104017446 0ustar rootrootusing System; using System.Collections.Generic; using System.Text; using System.Globalization; namespace Be.HexEditor { static class Util { public static string GetDisplayBytes(long size) { const long multi = 1024; long kb = multi; long mb = kb*multi; long gb = mb*multi; long tb = gb*multi; const string BYTES = "Bytes"; const string KB = "KB"; const string MB = "MB"; const string GB = "GB"; const string TB = "TB"; string result; if (size < kb) result = string.Format("{0} {1}", size, BYTES); else if(size < mb) result = string.Format("{0} {1} ({2} Bytes)", ConvertToOneDigit(size, kb), KB, ConvertBytesDisplay(size)); else if(size < gb) result = string.Format("{0} {1} ({2} Bytes)", ConvertToOneDigit(size, mb), MB, ConvertBytesDisplay(size)); else if(size < tb) result = string.Format("{0} {1} ({2} Bytes)", ConvertToOneDigit(size, gb), GB, ConvertBytesDisplay(size)); else result = string.Format("{0} {1} ({2} Bytes)", ConvertToOneDigit(size, tb), TB, ConvertBytesDisplay(size)); return result; } static string ConvertBytesDisplay(long size) { return size.ToString("###,###,###,###,###", CultureInfo.CurrentCulture); } static string ConvertToOneDigit(long size, long quan) { double quotient = (double)size / (double)quan; string result = quotient.ToString("0.#", CultureInfo.CurrentCulture); return result; } } } Be.HexEditor.150/sources/Be.HexEditor.sln0000644000000000000000000000264412041446550016730 0ustar rootrootMicrosoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Be.HexEditor", "Be.HexEditor\Be.HexEditor.csproj", "{FF4ADB46-210E-429E-9176-68613F5CBE90}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Be.Windows.Forms.HexBox", "Be.Windows.Forms.HexBox\Be.Windows.Forms.HexBox.csproj", "{26C5F25F-B450-4CAF-AD8B-B8D11AE73457}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {FF4ADB46-210E-429E-9176-68613F5CBE90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FF4ADB46-210E-429E-9176-68613F5CBE90}.Debug|Any CPU.Build.0 = Debug|Any CPU {FF4ADB46-210E-429E-9176-68613F5CBE90}.Release|Any CPU.ActiveCfg = Release|Any CPU {FF4ADB46-210E-429E-9176-68613F5CBE90}.Release|Any CPU.Build.0 = Release|Any CPU {26C5F25F-B450-4CAF-AD8B-B8D11AE73457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {26C5F25F-B450-4CAF-AD8B-B8D11AE73457}.Debug|Any CPU.Build.0 = Debug|Any CPU {26C5F25F-B450-4CAF-AD8B-B8D11AE73457}.Release|Any CPU.ActiveCfg = Release|Any CPU {26C5F25F-B450-4CAF-AD8B-B8D11AE73457}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/0000755000000000000000000000000012043223042020213 5ustar rootrootBe.HexEditor.150/sources/Be.Windows.Forms.HexBox/AssemblyInfo.cs0000644000000000000000000000557312001733166023156 0ustar rootrootusing System; using System.Reflection; using System.Runtime.CompilerServices; using System.Security.Permissions; using System.Runtime.InteropServices; // // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. // [assembly: AssemblyTitle("Be.Windows.Forms.HexBox")] [assembly: AssemblyDescription("hex edit control (C# DOTNET)")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Be")] [assembly: AssemblyProduct("Be.Windows.Forms.HexBox")] [assembly: AssemblyCopyright("")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // // Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: [assembly: AssemblyVersion("1.5.0.*")] // // In order to sign your assembly you must specify a key to use. Refer to the // Microsoft .NET Framework documentation for more information on assembly signing. // // Use the attributes below to control which key is used for signing. // // Notes: // (*) If no key is specified, the assembly is not signed. // (*) KeyName refers to a key that has been installed in the Crypto Service // Provider (CSP) on your machine. KeyFile refers to a file which contains // a key. // (*) If the KeyFile and the KeyName values are both specified, the // following processing occurs: // (1) If the KeyName can be found in the CSP, that key is used. // (2) If the KeyName does not exist and the KeyFile does exist, the key // in the KeyFile is installed into the CSP and used. // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. // When specifying the KeyFile, the location of the KeyFile should be // relative to the project output directory which is // %Project Directory%\obj\. For example, if your KeyFile is // located in the project directory, you would specify the AssemblyKeyFile // attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework // documentation for more information on this. // [assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyFile("../../HexBox.snk")] //[assembly: AssemblyKeyName("")] //[assembly:IsolatedStorageFilePermission(SecurityAction.RequestRefuse, UserQuota=1048576)] //[assembly:SecurityPermission(SecurityAction.RequestRefuse, UnmanagedCode=true)] //[assembly:FileIOPermission(SecurityAction.RequestOptional, Unrestricted=true)] [assembly:CLSCompliant(true)] [assembly:ComVisible(false)]Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/Be.Windows.Forms.HexBox.csproj0000644000000000000000000001775612041446550025726 0ustar rootroot Local 9.0.30729 2.0 {26C5F25F-B450-4CAF-AD8B-B8D11AE73457} Debug AnyCPU Be.Windows.Forms.HexBox HexBox.snk JScript Grid IE50 false Library Be.Windows.Forms OnBuildSuccess 3.5 true false v2.0 publish\ true Disk false Foreground 7 Days false false true 0 1.0.0.%2a false true bin\Debug\ false 285212672 false DEBUG;TRACE Be.Windows.Forms.HexBox.xml true 4096 false false false false false 4 full prompt AllRules.ruleset bin\Release\ false 285212672 false TRACE false 4096 false true false false false 4 none prompt BasicCorrectnessRules.ruleset System System.Data False System.Windows.Forms System.XML Code Component Code Code Code Code Code Code Code Component Code Code Code True True Resources.resx HexBox.cs Designer ResXFileCodeGenerator Resources.Designer.cs False .NET Framework 3.5 SP1 Client Profile false False .NET Framework 2.0 %28x86%29 true False .NET Framework 3.0 %28x86%29 false False .NET Framework 3.5 false False .NET Framework 3.5 SP1 false Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/BuiltInContextMenu.cs0000644000000000000000000002316312041446550024320 0ustar rootrootusing System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.ComponentModel; using System.Windows.Forms; namespace Be.Windows.Forms { /// /// Defines a build-in ContextMenuStrip manager for HexBox control to show Copy, Cut, Paste menu in contextmenu of the control. /// [TypeConverterAttribute(typeof(ExpandableObjectConverter))] public sealed class BuiltInContextMenu : Component { /// /// Contains the HexBox control. /// HexBox _hexBox; /// /// Contains the ContextMenuStrip control. /// ContextMenuStrip _contextMenuStrip; /// /// Contains the "Cut"-ToolStripMenuItem object. /// ToolStripMenuItem _cutToolStripMenuItem; /// /// Contains the "Copy"-ToolStripMenuItem object. /// ToolStripMenuItem _copyToolStripMenuItem; /// /// Contains the "Paste"-ToolStripMenuItem object. /// ToolStripMenuItem _pasteToolStripMenuItem; /// /// Contains the "Select All"-ToolStripMenuItem object. /// ToolStripMenuItem _selectAllToolStripMenuItem; /// /// Initializes a new instance of BuildInContextMenu class. /// /// the HexBox control internal BuiltInContextMenu(HexBox hexBox) { _hexBox = hexBox; _hexBox.ByteProviderChanged += new EventHandler(HexBox_ByteProviderChanged); } /// /// If ByteProvider /// /// the sender object /// the event data void HexBox_ByteProviderChanged(object sender, EventArgs e) { CheckBuiltInContextMenu(); } /// /// Assigns the ContextMenuStrip control to the HexBox control. /// void CheckBuiltInContextMenu() { if (Util.DesignMode) return; if (this._contextMenuStrip == null) { ContextMenuStrip cms = new ContextMenuStrip(); _cutToolStripMenuItem = new ToolStripMenuItem(CutMenuItemTextInternal, CutMenuItemImage, new EventHandler(CutMenuItem_Click)); cms.Items.Add(_cutToolStripMenuItem); _copyToolStripMenuItem = new ToolStripMenuItem(CopyMenuItemTextInternal, CopyMenuItemImage, new EventHandler(CopyMenuItem_Click)); cms.Items.Add(_copyToolStripMenuItem); _pasteToolStripMenuItem = new ToolStripMenuItem(PasteMenuItemTextInternal, PasteMenuItemImage, new EventHandler(PasteMenuItem_Click)); cms.Items.Add(_pasteToolStripMenuItem); cms.Items.Add(new ToolStripSeparator()); _selectAllToolStripMenuItem = new ToolStripMenuItem(SelectAllMenuItemTextInternal, SelectAllMenuItemImage, new EventHandler(SelectAllMenuItem_Click)); cms.Items.Add(_selectAllToolStripMenuItem); cms.Opening += new CancelEventHandler(BuildInContextMenuStrip_Opening); _contextMenuStrip = cms; } if (this._hexBox.ByteProvider == null && this._hexBox.ContextMenuStrip == this._contextMenuStrip) this._hexBox.ContextMenuStrip = null; else if (this._hexBox.ByteProvider != null && this._hexBox.ContextMenuStrip == null) this._hexBox.ContextMenuStrip = _contextMenuStrip; } /// /// Before opening the ContextMenuStrip, we manage the availability of the items. /// /// the sender object /// the event data void BuildInContextMenuStrip_Opening(object sender, CancelEventArgs e) { _cutToolStripMenuItem.Enabled = this._hexBox.CanCut(); _copyToolStripMenuItem.Enabled = this._hexBox.CanCopy(); _pasteToolStripMenuItem.Enabled = this._hexBox.CanPaste(); _selectAllToolStripMenuItem.Enabled = this._hexBox.CanSelectAll(); } /// /// The handler for the "Cut"-Click event /// /// the sender object /// the event data void CutMenuItem_Click(object sender, EventArgs e) { this._hexBox.Cut(); } /// /// The handler for the "Copy"-Click event /// /// the sender object /// the event data void CopyMenuItem_Click(object sender, EventArgs e) { this._hexBox.Copy(); } /// /// The handler for the "Paste"-Click event /// /// the sender object /// the event data void PasteMenuItem_Click(object sender, EventArgs e) { this._hexBox.Paste(); } /// /// The handler for the "Select All"-Click event /// /// the sender object /// the event data void SelectAllMenuItem_Click(object sender, EventArgs e) { this._hexBox.SelectAll(); } /// /// Gets or sets the custom text of the "Copy" ContextMenuStrip item. /// [Category("BuiltIn-ContextMenu"), DefaultValue(null), Localizable(true)] public string CopyMenuItemText { get { return _copyMenuItemText; } set { _copyMenuItemText = value; } } string _copyMenuItemText; /// /// Gets or sets the custom text of the "Cut" ContextMenuStrip item. /// [Category("BuiltIn-ContextMenu"), DefaultValue(null), Localizable(true)] public string CutMenuItemText { get { return _cutMenuItemText; } set { _cutMenuItemText = value; } } string _cutMenuItemText; /// /// Gets or sets the custom text of the "Paste" ContextMenuStrip item. /// [Category("BuiltIn-ContextMenu"), DefaultValue(null), Localizable(true)] public string PasteMenuItemText { get { return _pasteMenuItemText; } set { _pasteMenuItemText = value; } } string _pasteMenuItemText; /// /// Gets or sets the custom text of the "Select All" ContextMenuStrip item. /// [Category("BuiltIn-ContextMenu"), DefaultValue(null), Localizable(true)] public string SelectAllMenuItemText { get { return _selectAllMenuItemText; } set { _selectAllMenuItemText = value; } } string _selectAllMenuItemText = null; /// /// Gets the text of the "Cut" ContextMenuStrip item. /// internal string CutMenuItemTextInternal { get { return !string.IsNullOrEmpty(CutMenuItemText) ? CutMenuItemText : "Cut"; } } /// /// Gets the text of the "Copy" ContextMenuStrip item. /// internal string CopyMenuItemTextInternal { get { return !string.IsNullOrEmpty(CopyMenuItemText) ? CopyMenuItemText : "Copy"; } } /// /// Gets the text of the "Paste" ContextMenuStrip item. /// internal string PasteMenuItemTextInternal { get { return !string.IsNullOrEmpty(PasteMenuItemText) ? PasteMenuItemText : "Paste"; } } /// /// Gets the text of the "Select All" ContextMenuStrip item. /// internal string SelectAllMenuItemTextInternal { get { return !string.IsNullOrEmpty(SelectAllMenuItemText) ? SelectAllMenuItemText : "SelectAll"; } } /// /// Gets or sets the image of the "Cut" ContextMenuStrip item. /// [Category("BuiltIn-ContextMenu"), DefaultValue(null)] public Image CutMenuItemImage { get { return _cutMenuItemImage; } set { _cutMenuItemImage = value; } } Image _cutMenuItemImage = null; /// /// Gets or sets the image of the "Copy" ContextMenuStrip item. /// [Category("BuiltIn-ContextMenu"), DefaultValue(null)] public Image CopyMenuItemImage { get { return _copyMenuItemImage; } set { _copyMenuItemImage = value; } } Image _copyMenuItemImage = null; /// /// Gets or sets the image of the "Paste" ContextMenuStrip item. /// [Category("BuiltIn-ContextMenu"), DefaultValue(null)] public Image PasteMenuItemImage { get { return _pasteMenuItemImage; } set { _pasteMenuItemImage = value; } } Image _pasteMenuItemImage = null; /// /// Gets or sets the image of the "Select All" ContextMenuStrip item. /// [Category("BuiltIn-ContextMenu"), DefaultValue(null)] public Image SelectAllMenuItemImage { get { return _selectAllMenuItemImage; } set { _selectAllMenuItemImage = value; } } Image _selectAllMenuItemImage = null; } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/ByteCharConverters.cs0000644000000000000000000000644112001250414024320 0ustar rootrootusing System; using System.Collections.Generic; using System.Text; namespace Be.Windows.Forms { /// /// The interface for objects that can translate between characters and bytes. /// public interface IByteCharConverter { /// /// Returns the character to display for the byte passed across. /// /// /// char ToChar(byte b); /// /// Returns the byte to use when the character passed across is entered during editing. /// /// /// byte ToByte(char c); } /// /// The default implementation. /// public class DefaultByteCharConverter : IByteCharConverter { /// /// Returns the character to display for the byte passed across. /// /// /// public virtual char ToChar(byte b) { return b > 0x1F && !(b > 0x7E && b < 0xA0) ? (char)b : '.'; } /// /// Returns the byte to use for the character passed across. /// /// /// public virtual byte ToByte(char c) { return (byte)c; } /// /// Returns a description of the byte char provider. /// /// public override string ToString() { return "ANSI (Default)"; } } /// /// A byte char provider that can translate bytes encoded in codepage 500 EBCDIC /// public class EbcdicByteCharProvider : IByteCharConverter { /// /// The IBM EBCDIC code page 500 encoding. Note that this is not always supported by .NET, /// the underlying platform has to provide support for it. /// private Encoding _ebcdicEncoding = Encoding.GetEncoding(500); /// /// Returns the EBCDIC character corresponding to the byte passed across. /// /// /// public virtual char ToChar(byte b) { string encoded = _ebcdicEncoding.GetString(new byte[] { b }); return encoded.Length > 0 ? encoded[0] : '.'; } /// /// Returns the byte corresponding to the EBCDIC character passed across. /// /// /// public virtual byte ToByte(char c) { byte[] decoded = _ebcdicEncoding.GetBytes(new char[] { c }); return decoded.Length > 0 ? decoded[0] : (byte)0; } /// /// Returns a description of the byte char provider. /// /// public override string ToString() { return "EBCDIC (Code Page 500)"; } } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/ByteCollection.cs0000644000000000000000000000622511451302370023472 0ustar rootrootusing System; using System.Collections; namespace Be.Windows.Forms { /// /// Represents a collection of bytes. /// public class ByteCollection : CollectionBase { /// /// Initializes a new instance of ByteCollection class. /// public ByteCollection() { } /// /// Initializes a new instance of ByteCollection class. /// /// an array of bytes to add to collection public ByteCollection(byte[] bs) { AddRange(bs); } /// /// Gets or sets the value of a byte /// public byte this[int index] { get { return (byte)List[index]; } set { List[index] = value; } } /// /// Adds a byte into the collection. /// /// the byte to add public void Add(byte b) { List.Add(b); } /// /// Adds a range of bytes to the collection. /// /// the bytes to add public void AddRange(byte[] bs) { InnerList.AddRange(bs); } /// /// Removes a byte from the collection. /// /// the byte to remove public void Remove(byte b) { List.Remove(b); } /// /// Removes a range of bytes from the collection. /// /// the index of the start byte /// the count of the bytes to remove public void RemoveRange(int index, int count) { InnerList.RemoveRange(index, count); } /// /// Inserts a range of bytes to the collection. /// /// the index of start byte /// an array of bytes to insert public void InsertRange(int index, byte[] bs) { InnerList.InsertRange(index, bs); } /// /// Gets all bytes in the array /// /// an array of bytes. public byte[] GetBytes() { byte[] bytes = new byte[Count]; InnerList.CopyTo(0, bytes, 0, bytes.Length); return bytes; } /// /// Inserts a byte to the collection. /// /// the index /// a byte to insert public void Insert(int index, byte b) { InnerList.Insert(index, b); } /// /// Returns the index of the given byte. /// public int IndexOf(byte b) { return InnerList.IndexOf(b); } /// /// Returns true, if the byte exists in the collection. /// public bool Contains(byte b) { return InnerList.Contains(b); } /// /// Copies the content of the collection into the given array. /// public void CopyTo(byte[] bs, int index) { InnerList.CopyTo(bs, index); } /// /// Copies the content of the collection into an array. /// /// the array containing all bytes. public byte[] ToArray() { byte[] data = new byte[this.Count]; this.CopyTo(data, 0); return data; } } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/BytePositionInfo.cs0000644000000000000000000000121211360660132024010 0ustar rootrootusing System; using System.Collections.Generic; using System.Text; namespace Be.Windows.Forms { /// /// Represents a position in the HexBox control /// struct BytePositionInfo { public BytePositionInfo(long index, int characterPosition) { _index = index; _characterPosition = characterPosition; } public int CharacterPosition { get { return _characterPosition; } } int _characterPosition; public long Index { get { return _index; } } long _index; } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/DataBlock.cs0000644000000000000000000000143210762752742022412 0ustar rootrootusing System; namespace Be.Windows.Forms { internal abstract class DataBlock { internal DataMap _map; internal DataBlock _nextBlock; internal DataBlock _previousBlock; public abstract long Length { get; } public DataMap Map { get { return _map; } } public DataBlock NextBlock { get { return _nextBlock; } } public DataBlock PreviousBlock { get { return _previousBlock; } } public abstract void RemoveBytes(long position, long count); } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/DataMap.cs0000644000000000000000000002003110762752742022071 0ustar rootrootusing System; using System.Collections; using System.Text; namespace Be.Windows.Forms { internal class DataMap : ICollection, IEnumerable { readonly object _syncRoot = new object(); internal int _count; internal DataBlock _firstBlock; internal int _version; public DataMap() { } public DataMap(IEnumerable collection) { if (collection == null) { throw new ArgumentNullException("collection"); } foreach (DataBlock item in collection) { AddLast(item); } } public DataBlock FirstBlock { get { return _firstBlock; } } public void AddAfter(DataBlock block, DataBlock newBlock) { AddAfterInternal(block, newBlock); } public void AddBefore(DataBlock block, DataBlock newBlock) { AddBeforeInternal(block, newBlock); } public void AddFirst(DataBlock block) { if (_firstBlock == null) { AddBlockToEmptyMap(block); } else { AddBeforeInternal(_firstBlock, block); } } public void AddLast(DataBlock block) { if (_firstBlock == null) { AddBlockToEmptyMap(block); } else { AddAfterInternal(GetLastBlock(), block); } } public void Remove(DataBlock block) { RemoveInternal(block); } public void RemoveFirst() { if (_firstBlock == null) { throw new InvalidOperationException("The collection is empty."); } RemoveInternal(_firstBlock); } public void RemoveLast() { if (_firstBlock == null) { throw new InvalidOperationException("The collection is empty."); } RemoveInternal(GetLastBlock()); } public DataBlock Replace(DataBlock block, DataBlock newBlock) { AddAfterInternal(block, newBlock); RemoveInternal(block); return newBlock; } public void Clear() { DataBlock block = FirstBlock; while (block != null) { DataBlock nextBlock = block.NextBlock; InvalidateBlock(block); block = nextBlock; } _firstBlock = null; _count = 0; _version++; } void AddAfterInternal(DataBlock block, DataBlock newBlock) { newBlock._previousBlock = block; newBlock._nextBlock = block._nextBlock; newBlock._map = this; if (block._nextBlock != null) { block._nextBlock._previousBlock = newBlock; } block._nextBlock = newBlock; this._version++; this._count++; } void AddBeforeInternal(DataBlock block, DataBlock newBlock) { newBlock._nextBlock = block; newBlock._previousBlock = block._previousBlock; newBlock._map = this; if (block._previousBlock != null) { block._previousBlock._nextBlock = newBlock; } block._previousBlock = newBlock; if (_firstBlock == block) { _firstBlock = newBlock; } this._version++; this._count++; } void RemoveInternal(DataBlock block) { DataBlock previousBlock = block._previousBlock; DataBlock nextBlock = block._nextBlock; if (previousBlock != null) { previousBlock._nextBlock = nextBlock; } if (nextBlock != null) { nextBlock._previousBlock = previousBlock; } if (_firstBlock == block) { _firstBlock = nextBlock; } InvalidateBlock(block); _count--; _version++; } DataBlock GetLastBlock() { DataBlock lastBlock = null; for (DataBlock block = FirstBlock; block != null; block = block.NextBlock) { lastBlock = block; } return lastBlock; } void InvalidateBlock(DataBlock block) { block._map = null; block._nextBlock = null; block._previousBlock = null; } void AddBlockToEmptyMap(DataBlock block) { block._map = this; block._nextBlock = null; block._previousBlock = null; _firstBlock = block; _version++; _count++; } #region ICollection Members public void CopyTo(Array array, int index) { DataBlock[] blockArray = array as DataBlock[]; for (DataBlock block = FirstBlock; block != null; block = block.NextBlock) { blockArray[index++] = block; } } public int Count { get { return _count; } } public bool IsSynchronized { get { return false; } } public object SyncRoot { get { return _syncRoot; } } #endregion #region IEnumerable Members public IEnumerator GetEnumerator() { return new Enumerator(this); } #endregion #region Enumerator Nested Type internal class Enumerator : IEnumerator, IDisposable { DataMap _map; DataBlock _current; int _index; int _version; internal Enumerator(DataMap map) { _map = map; _version = map._version; _current = null; _index = -1; } object IEnumerator.Current { get { if (_index < 0 || _index > _map.Count) { throw new InvalidOperationException("Enumerator is positioned before the first element or after the last element of the collection."); } return _current; } } public bool MoveNext() { if (this._version != _map._version) { throw new InvalidOperationException("Collection was modified after the enumerator was instantiated."); } if (_index >= _map.Count) { return false; } if (++_index == 0) { _current = _map.FirstBlock; } else { _current = _current.NextBlock; } return (_index < _map.Count); } void IEnumerator.Reset() { if (this._version != this._map._version) { throw new InvalidOperationException("Collection was modified after the enumerator was instantiated."); } this._index = -1; this._current = null; } public void Dispose() { } } #endregion } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/DynamicByteProvider.cs0000644000000000000000000000763011600647756024517 0ustar rootrootusing System; using System.Collections.Generic; namespace Be.Windows.Forms { /// /// Byte provider for a small amount of data. /// public class DynamicByteProvider : IByteProvider { /// /// Contains information about changes. /// bool _hasChanges; /// /// Contains a byte collection. /// List _bytes; /// /// Initializes a new instance of the DynamicByteProvider class. /// /// public DynamicByteProvider(byte[] data) : this(new List(data)) { } /// /// Initializes a new instance of the DynamicByteProvider class. /// /// public DynamicByteProvider(List bytes) { _bytes = bytes; } /// /// Raises the Changed event. /// void OnChanged(EventArgs e) { _hasChanges = true; if(Changed != null) Changed(this, e); } /// /// Raises the LengthChanged event. /// void OnLengthChanged(EventArgs e) { if(LengthChanged != null) LengthChanged(this, e); } /// /// Gets the byte collection. /// public List Bytes { get { return _bytes; } } #region IByteProvider Members /// /// True, when changes are done. /// public bool HasChanges() { return _hasChanges; } /// /// Applies changes. /// public void ApplyChanges() { _hasChanges = false; } /// /// Occurs, when the write buffer contains new changes. /// public event EventHandler Changed; /// /// Occurs, when InsertBytes or DeleteBytes method is called. /// public event EventHandler LengthChanged; /// /// Reads a byte from the byte collection. /// /// the index of the byte to read /// the byte public byte ReadByte(long index) { return _bytes[(int)index]; } /// /// Write a byte into the byte collection. /// /// the index of the byte to write. /// the byte public void WriteByte(long index, byte value) { _bytes[(int)index] = value; OnChanged(EventArgs.Empty); } /// /// Deletes bytes from the byte collection. /// /// the start index of the bytes to delete. /// the length of bytes to delete. public void DeleteBytes(long index, long length) { int internal_index = (int)Math.Max(0, index); int internal_length = (int)Math.Min((int)Length, length); _bytes.RemoveRange(internal_index, internal_length); OnLengthChanged(EventArgs.Empty); OnChanged(EventArgs.Empty); } /// /// Inserts byte into the byte collection. /// /// the start index of the bytes in the byte collection /// the byte array to insert public void InsertBytes(long index, byte[] bs) { _bytes.InsertRange((int)index, bs); OnLengthChanged(EventArgs.Empty); OnChanged(EventArgs.Empty); } /// /// Gets the length of the bytes in the byte collection. /// public long Length { get { return _bytes.Count; } } /// /// Returns true /// public bool SupportsWriteByte() { return true; } /// /// Returns true /// public bool SupportsInsertBytes() { return true; } /// /// Returns true /// public bool SupportsDeleteBytes() { return true; } #endregion } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/DynamicFileByteProvider.cs0000644000000000000000000005120411452575220025302 0ustar rootrootusing System; using System.Text; using System.IO; namespace Be.Windows.Forms { /// /// Implements a fully editable byte provider for file data of any size. /// /// /// Only changes to the file are stored in memory with reads from the /// original data occurring as required. /// public sealed class DynamicFileByteProvider : IByteProvider, IDisposable { const int COPY_BLOCK_SIZE = 4096; string _fileName; Stream _stream; DataMap _dataMap; long _totalLength; bool _readOnly; /// /// Constructs a new instance. /// /// The name of the file from which bytes should be provided. public DynamicFileByteProvider(string fileName) : this(fileName, false) { } /// /// Constructs a new instance. /// /// The name of the file from which bytes should be provided. /// True, opens the file in read-only mode. public DynamicFileByteProvider(string fileName, bool readOnly) { _fileName = fileName; if (!readOnly) { _stream = File.Open(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Read); } else { _stream = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); } _readOnly = readOnly; ReInitialize(); } /// /// Constructs a new instance. /// /// the stream containing the data. /// /// The stream must supported seek operations. /// public DynamicFileByteProvider(Stream stream) { if (stream == null) throw new ArgumentNullException("stream"); if (!stream.CanSeek) throw new ArgumentException("stream must supported seek operations(CanSeek)"); _stream = stream; _readOnly = !stream.CanWrite; ReInitialize(); } #region IByteProvider Members /// /// See for more information. /// public event EventHandler LengthChanged; /// /// See for more information. /// public event EventHandler Changed; /// /// See for more information. /// public byte ReadByte(long index) { long blockOffset; DataBlock block = GetDataBlock(index, out blockOffset); FileDataBlock fileBlock = block as FileDataBlock; if (fileBlock != null) { return ReadByteFromFile(fileBlock.FileOffset + index - blockOffset); } else { MemoryDataBlock memoryBlock = (MemoryDataBlock)block; return memoryBlock.Data[index - blockOffset]; } } /// /// See for more information. /// public void WriteByte(long index, byte value) { try { // Find the block affected. long blockOffset; DataBlock block = GetDataBlock(index, out blockOffset); // If the byte is already in a memory block, modify it. MemoryDataBlock memoryBlock = block as MemoryDataBlock; if (memoryBlock != null) { memoryBlock.Data[index - blockOffset] = value; return; } FileDataBlock fileBlock = (FileDataBlock)block; // If the byte changing is the first byte in the block and the previous block is a memory block, extend that. if (blockOffset == index && block.PreviousBlock != null) { MemoryDataBlock previousMemoryBlock = block.PreviousBlock as MemoryDataBlock; if (previousMemoryBlock != null) { previousMemoryBlock.AddByteToEnd(value); fileBlock.RemoveBytesFromStart(1); if (fileBlock.Length == 0) { _dataMap.Remove(fileBlock); } return; } } // If the byte changing is the last byte in the block and the next block is a memory block, extend that. if (blockOffset + fileBlock.Length - 1 == index && block.NextBlock != null) { MemoryDataBlock nextMemoryBlock = block.NextBlock as MemoryDataBlock; if (nextMemoryBlock != null) { nextMemoryBlock.AddByteToStart(value); fileBlock.RemoveBytesFromEnd(1); if (fileBlock.Length == 0) { _dataMap.Remove(fileBlock); } return; } } // Split the block into a prefix and a suffix and place a memory block in-between. FileDataBlock prefixBlock = null; if (index > blockOffset) { prefixBlock = new FileDataBlock(fileBlock.FileOffset, index - blockOffset); } FileDataBlock suffixBlock = null; if (index < blockOffset + fileBlock.Length - 1) { suffixBlock = new FileDataBlock( fileBlock.FileOffset + index - blockOffset + 1, fileBlock.Length - (index - blockOffset + 1)); } block = _dataMap.Replace(block, new MemoryDataBlock(value)); if (prefixBlock != null) { _dataMap.AddBefore(block, prefixBlock); } if (suffixBlock != null) { _dataMap.AddAfter(block, suffixBlock); } } finally { OnChanged(EventArgs.Empty); } } /// /// See for more information. /// public void InsertBytes(long index, byte[] bs) { try { // Find the block affected. long blockOffset; DataBlock block = GetDataBlock(index, out blockOffset); // If the insertion point is in a memory block, just insert it. MemoryDataBlock memoryBlock = block as MemoryDataBlock; if (memoryBlock != null) { memoryBlock.InsertBytes(index - blockOffset, bs); return; } FileDataBlock fileBlock = (FileDataBlock)block; // If the insertion point is at the start of a file block, and the previous block is a memory block, append it to that block. if (blockOffset == index && block.PreviousBlock != null) { MemoryDataBlock previousMemoryBlock = block.PreviousBlock as MemoryDataBlock; if (previousMemoryBlock != null) { previousMemoryBlock.InsertBytes(previousMemoryBlock.Length, bs); return; } } // Split the block into a prefix and a suffix and place a memory block in-between. FileDataBlock prefixBlock = null; if (index > blockOffset) { prefixBlock = new FileDataBlock(fileBlock.FileOffset, index - blockOffset); } FileDataBlock suffixBlock = null; if (index < blockOffset + fileBlock.Length) { suffixBlock = new FileDataBlock( fileBlock.FileOffset + index - blockOffset, fileBlock.Length - (index - blockOffset)); } block = _dataMap.Replace(block, new MemoryDataBlock(bs)); if (prefixBlock != null) { _dataMap.AddBefore(block, prefixBlock); } if (suffixBlock != null) { _dataMap.AddAfter(block, suffixBlock); } } finally { _totalLength += bs.Length; OnLengthChanged(EventArgs.Empty); OnChanged(EventArgs.Empty); } } /// /// See for more information. /// public void DeleteBytes(long index, long length) { try { long bytesToDelete = length; // Find the first block affected. long blockOffset; DataBlock block = GetDataBlock(index, out blockOffset); // Truncate or remove each block as necessary. while ((bytesToDelete > 0) && (block != null)) { long blockLength = block.Length; DataBlock nextBlock = block.NextBlock; // Delete the appropriate section from the block (this may result in two blocks or a zero length block). long count = Math.Min(bytesToDelete, blockLength - (index - blockOffset)); block.RemoveBytes(index - blockOffset, count); if (block.Length == 0) { _dataMap.Remove(block); if (_dataMap.FirstBlock == null) { _dataMap.AddFirst(new MemoryDataBlock(new byte[0])); } } bytesToDelete -= count; blockOffset += block.Length; block = (bytesToDelete > 0) ? nextBlock : null; } } finally { _totalLength -= length; OnLengthChanged(EventArgs.Empty); OnChanged(EventArgs.Empty); } } /// /// See for more information. /// public long Length { get { return _totalLength; } } /// /// See for more information. /// public bool HasChanges() { if (_readOnly) return false; if (_totalLength != _stream.Length) { return true; } long offset = 0; for (DataBlock block = _dataMap.FirstBlock; block != null; block = block.NextBlock) { FileDataBlock fileBlock = block as FileDataBlock; if (fileBlock == null) { return true; } if (fileBlock.FileOffset != offset) { return true; } offset += fileBlock.Length; } return (offset != _stream.Length); } /// /// See for more information. /// public void ApplyChanges() { if (_readOnly) throw new OperationCanceledException("File is in read-only mode"); // This method is implemented to efficiently save the changes to the same file stream opened for reading. // Saving to a separate file would be a much simpler implementation. // Firstly, extend the file length (if necessary) to ensure that there is enough disk space. if (_totalLength > _stream.Length) { _stream.SetLength(_totalLength); } // Secondly, shift around any file sections that have moved. long dataOffset = 0; for (DataBlock block = _dataMap.FirstBlock; block != null; block = block.NextBlock) { FileDataBlock fileBlock = block as FileDataBlock; if (fileBlock != null && fileBlock.FileOffset != dataOffset) { MoveFileBlock(fileBlock, dataOffset); } dataOffset += block.Length; } // Next, write in-memory changes. dataOffset = 0; for (DataBlock block = _dataMap.FirstBlock; block != null; block = block.NextBlock) { MemoryDataBlock memoryBlock = block as MemoryDataBlock; if (memoryBlock != null) { _stream.Position = dataOffset; for (int memoryOffset = 0; memoryOffset < memoryBlock.Length; memoryOffset += COPY_BLOCK_SIZE) { _stream.Write(memoryBlock.Data, memoryOffset, (int)Math.Min(COPY_BLOCK_SIZE, memoryBlock.Length - memoryOffset)); } } dataOffset += block.Length; } // Finally, if the file has shortened, truncate the stream. _stream.SetLength(_totalLength); ReInitialize(); } /// /// See for more information. /// public bool SupportsWriteByte() { return !_readOnly; } /// /// See for more information. /// public bool SupportsInsertBytes() { return !_readOnly; } /// /// See for more information. /// public bool SupportsDeleteBytes() { return !_readOnly; } #endregion #region IDisposable Members /// /// See for more information. /// ~DynamicFileByteProvider() { Dispose(); } /// /// See for more information. /// public void Dispose() { if (_stream != null) { _stream.Close(); _stream = null; } _fileName = null; _dataMap = null; GC.SuppressFinalize(this); } #endregion /// /// Gets a value, if the file is opened in read-only mode. /// public bool ReadOnly { get { return _readOnly; } } void OnLengthChanged(EventArgs e) { if (LengthChanged != null) LengthChanged(this, e); } void OnChanged(EventArgs e) { if (Changed != null) { Changed(this, e); } } DataBlock GetDataBlock(long findOffset, out long blockOffset) { if (findOffset < 0 || findOffset > _totalLength) { throw new ArgumentOutOfRangeException("findOffset"); } // Iterate over the blocks until the block containing the required offset is encountered. blockOffset = 0; for (DataBlock block = _dataMap.FirstBlock; block != null; block = block.NextBlock) { if ((blockOffset <= findOffset && blockOffset + block.Length > findOffset) || block.NextBlock == null) { return block; } blockOffset += block.Length; } return null; } FileDataBlock GetNextFileDataBlock(DataBlock block, long dataOffset, out long nextDataOffset) { // Iterate over the remaining blocks until a file block is encountered. nextDataOffset = dataOffset + block.Length; block = block.NextBlock; while (block != null) { FileDataBlock fileBlock = block as FileDataBlock; if (fileBlock != null) { return fileBlock; } nextDataOffset += block.Length; block = block.NextBlock; } return null; } byte ReadByteFromFile(long fileOffset) { // Move to the correct position and read the byte. if (_stream.Position != fileOffset) { _stream.Position = fileOffset; } return (byte)_stream.ReadByte(); } void MoveFileBlock(FileDataBlock fileBlock, long dataOffset) { // First, determine whether the next file block needs to move before this one. long nextDataOffset; FileDataBlock nextFileBlock = GetNextFileDataBlock(fileBlock, dataOffset, out nextDataOffset); if (nextFileBlock != null && dataOffset + fileBlock.Length > nextFileBlock.FileOffset) { // The next block needs to move first, so do that now. MoveFileBlock(nextFileBlock, nextDataOffset); } // Now, move the block. if (fileBlock.FileOffset > dataOffset) { // Move the section to earlier in the file stream (done in chunks starting at the beginning of the section). byte[] buffer = new byte[COPY_BLOCK_SIZE]; for (long relativeOffset = 0; relativeOffset < fileBlock.Length; relativeOffset += buffer.Length) { long readOffset = fileBlock.FileOffset + relativeOffset; int bytesToRead = (int)Math.Min(buffer.Length, fileBlock.Length - relativeOffset); _stream.Position = readOffset; _stream.Read(buffer, 0, bytesToRead); long writeOffset = dataOffset + relativeOffset; _stream.Position = writeOffset; _stream.Write(buffer, 0, bytesToRead); } } else { // Move the section to later in the file stream (done in chunks starting at the end of the section). byte[] buffer = new byte[COPY_BLOCK_SIZE]; for (long relativeOffset = 0; relativeOffset < fileBlock.Length; relativeOffset += buffer.Length) { int bytesToRead = (int)Math.Min(buffer.Length, fileBlock.Length - relativeOffset); long readOffset = fileBlock.FileOffset + fileBlock.Length - relativeOffset - bytesToRead; _stream.Position = readOffset; _stream.Read(buffer, 0, bytesToRead); long writeOffset = dataOffset + fileBlock.Length - relativeOffset - bytesToRead; _stream.Position = writeOffset; _stream.Write(buffer, 0, bytesToRead); } } // This block now points to a different position in the file. fileBlock.SetFileOffset(dataOffset); } void ReInitialize() { _dataMap = new DataMap(); _dataMap.AddFirst(new FileDataBlock(0, _stream.Length)); _totalLength = _stream.Length; } } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/FileByteProvider.cs0000644000000000000000000001405711451302370023773 0ustar rootrootusing System; using System.IO; using System.Collections; namespace Be.Windows.Forms { /// /// Byte provider for (big) files. /// public class FileByteProvider : IByteProvider, IDisposable { #region WriteCollection class /// /// Represents the write buffer class /// class WriteCollection : DictionaryBase { /// /// Gets or sets a byte in the collection /// public byte this[long index] { get { return (byte)this.Dictionary[index]; } set { Dictionary[index] = value; } } /// /// Adds a byte into the collection /// /// the index of the byte /// the value of the byte public void Add(long index, byte value) { Dictionary.Add(index, value); } /// /// Determines if a byte with the given index exists. /// /// the index of the byte /// true, if the is in the collection public bool Contains(long index) { return Dictionary.Contains(index); } } #endregion /// /// Occurs, when the write buffer contains new changes. /// public event EventHandler Changed; /// /// Contains all changes /// WriteCollection _writes = new WriteCollection(); /// /// Contains the file name. /// string _fileName; /// /// Contains the file stream. /// FileStream _fileStream; /// /// Read-only access. /// bool _readOnly; /// /// Initializes a new instance of the FileByteProvider class. /// /// public FileByteProvider(string fileName) { _fileName = fileName; try { // try to open in write mode _fileStream = File.Open(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Read); } catch { // write mode failed, try to open in read-only and fileshare friendly mode. try { _fileStream = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); _readOnly = true; } catch { throw; } } } /// /// Terminates the instance of the FileByteProvider class. /// ~FileByteProvider() { Dispose(); } /// /// Raises the Changed event. /// /// Never used. void OnChanged(EventArgs e) { if(Changed != null) Changed(this, e); } /// /// Gets the name of the file the byte provider is using. /// public string FileName { get { return _fileName; } } /// /// Returns a value if there are some changes. /// /// true, if there are some changes public bool HasChanges() { return (_writes.Count > 0); } /// /// Updates the file with all changes the write buffer contains. /// public void ApplyChanges() { if (this._readOnly) { throw new Exception("File is in read-only mode."); } if(!HasChanges()) return; IDictionaryEnumerator en = _writes.GetEnumerator(); while(en.MoveNext()) { long index = (long)en.Key; byte value = (byte)en.Value; if(_fileStream.Position != index) _fileStream.Position = index; _fileStream.Write(new byte[] { value }, 0, 1); } _writes.Clear(); } /// /// Clears the write buffer and reject all changes made. /// public void RejectChanges() { _writes.Clear(); } #region IByteProvider Members /// /// Never used. /// public event EventHandler LengthChanged; /// /// Reads a byte from the file. /// /// the index of the byte to read /// the byte public byte ReadByte(long index) { if(_writes.Contains(index)) return _writes[index]; if(_fileStream.Position != index) _fileStream.Position = index; byte res = (byte)_fileStream.ReadByte(); return res; } /// /// Gets the length of the file. /// public long Length { get { return _fileStream.Length; } } /// /// Writes a byte into write buffer /// public void WriteByte(long index, byte value) { if(_writes.Contains(index)) _writes[index] = value; else _writes.Add(index, value); OnChanged(EventArgs.Empty); } /// /// Not supported /// public void DeleteBytes(long index, long length) { throw new NotSupportedException("FileByteProvider.DeleteBytes"); } /// /// Not supported /// public void InsertBytes(long index, byte[] bs) { throw new NotSupportedException("FileByteProvider.InsertBytes"); } /// /// Returns true /// public bool SupportsWriteByte() { return !_readOnly; } /// /// Returns false /// public bool SupportsInsertBytes() { return false; } /// /// Returns false /// public bool SupportsDeleteBytes() { return false; } #endregion #region IDisposable Members /// /// Releases the file handle used by the FileByteProvider. /// public void Dispose() { if(_fileStream != null) { _fileName = null; _fileStream.Close(); _fileStream = null; } GC.SuppressFinalize(this); } #endregion } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/FileDataBlock.cs0000644000000000000000000000455011452575220023205 0ustar rootrootusing System; namespace Be.Windows.Forms { internal sealed class FileDataBlock : DataBlock { long _length; long _fileOffset; public FileDataBlock(long fileOffset, long length) { _fileOffset = fileOffset; _length = length; } public long FileOffset { get { return _fileOffset; } } public override long Length { get { return _length; } } public void SetFileOffset(long value) { _fileOffset = value; } public void RemoveBytesFromEnd(long count) { if (count > _length) { throw new ArgumentOutOfRangeException("count"); } _length -= count; } public void RemoveBytesFromStart(long count) { if (count > _length) { throw new ArgumentOutOfRangeException("count"); } _fileOffset += count; _length -= count; } public override void RemoveBytes(long position, long count) { if (position > _length) { throw new ArgumentOutOfRangeException("position"); } if (position + count > _length) { throw new ArgumentOutOfRangeException("count"); } long prefixLength = position; long prefixFileOffset = _fileOffset; long suffixLength = _length - count - prefixLength; long suffixFileOffset = _fileOffset + position + count; if (prefixLength > 0 && suffixLength > 0) { _fileOffset = prefixFileOffset; _length = prefixLength; _map.AddAfter(this, new FileDataBlock(suffixFileOffset, suffixLength)); return; } if (prefixLength > 0) { _fileOffset = prefixFileOffset; _length = prefixLength; } else { _fileOffset = suffixFileOffset; _length = suffixLength; } } } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/FindOptions.cs0000644000000000000000000000510211770040300022774 0ustar rootrootusing System; using System.Collections.Generic; using System.Text; namespace Be.Windows.Forms { /// /// Defines the type of the Find operation. /// public enum FindType { /// /// Used for Text Find operations /// Text, /// /// Used for Hex Find operations /// Hex } /// /// Defines all state information nee /// public class FindOptions { /// /// Gets or sets whether the Find options are valid /// public bool IsValid { get; set; } /// /// Gets the Find buffer used for case insensitive Find operations. This is the binary representation of Text. /// internal byte[] FindBuffer { get; private set; } /// /// Gets the Find buffer used for case sensitive Find operations. This is the binary representation of Text in lower case format. /// internal byte[] FindBufferLowerCase { get; private set; } /// /// Gets the Find buffer used for case sensitive Find operations. This is the binary representation of Text in upper case format. /// internal byte[] FindBufferUpperCase { get; private set; } /// /// Contains the MatchCase value /// bool _matchCase; /// /// Gets or sets the value, whether the Find operation is case sensitive or not. /// public bool MatchCase { get { return _matchCase; } set { _matchCase = value; UpdateFindBuffer(); } } /// /// Contains the text that should be found. /// string _text; /// /// Gets or sets the text that should be found. Only used, when Type is FindType.Hex. /// public string Text { get { return _text; } set { _text = value; UpdateFindBuffer(); } } /// /// Gets or sets the hex buffer that should be found. Only used, when Type is FindType.Hex. /// public byte[] Hex { get; set; } /// /// Gets or sets the type what should be searched. /// public FindType Type { get; set; } /// /// Updates the find buffer. /// void UpdateFindBuffer() { string text = this.Text != null ? this.Text : string.Empty; FindBuffer = ASCIIEncoding.ASCII.GetBytes(text); FindBufferLowerCase = ASCIIEncoding.ASCII.GetBytes(text.ToLower()); FindBufferUpperCase = ASCIIEncoding.ASCII.GetBytes(text.ToUpper()); } } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/HexBox.bmp0000644000000000000000000000036610762752742022141 0ustar rootrootBMv(wwwwwwwwwwwwwwwwwwwwwwwwBe.HexEditor.150/sources/Be.Windows.Forms.HexBox/HexBox.cs0000644000000000000000000032233412041446550021757 0ustar rootrootusing System; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; using System.ComponentModel; using System.Security.Permissions; using System.Windows.Forms.VisualStyles; using System.Text; using System.Collections.Generic; namespace Be.Windows.Forms { /// /// Represents a hex box control. /// [ToolboxBitmap(typeof(HexBox), "HexBox.bmp")] public class HexBox : Control { #region IKeyInterpreter interface /// /// Defines a user input handler such as for mouse and keyboard input /// interface IKeyInterpreter { /// /// Activates mouse events /// void Activate(); /// /// Deactivate mouse events /// void Deactivate(); /// /// Preprocesses WM_KEYUP window message. /// /// the Message object to process. /// True, if the message was processed. bool PreProcessWmKeyUp(ref Message m); /// /// Preprocesses WM_CHAR window message. /// /// the Message object to process. /// True, if the message was processed. bool PreProcessWmChar(ref Message m); /// /// Preprocesses WM_KEYDOWN window message. /// /// the Message object to process. /// True, if the message was processed. bool PreProcessWmKeyDown(ref Message m); /// /// Gives some information about where to place the caret. /// /// the index of the byte /// the position where the caret is to place. PointF GetCaretPointF(long byteIndex); } #endregion #region EmptyKeyInterpreter class /// /// Represents an empty input handler without any functionality. /// If is set ByteProvider to null, then this interpreter is used. /// class EmptyKeyInterpreter : IKeyInterpreter { HexBox _hexBox; public EmptyKeyInterpreter(HexBox hexBox) { _hexBox = hexBox; } #region IKeyInterpreter Members public void Activate() { } public void Deactivate() { } public bool PreProcessWmKeyUp(ref Message m) { return _hexBox.BasePreProcessMessage(ref m); } public bool PreProcessWmChar(ref Message m) { return _hexBox.BasePreProcessMessage(ref m); } public bool PreProcessWmKeyDown(ref Message m) { return _hexBox.BasePreProcessMessage(ref m); } public PointF GetCaretPointF(long byteIndex) { return new PointF(); } #endregion } #endregion #region KeyInterpreter class /// /// Handles user input such as mouse and keyboard input during hex view edit /// class KeyInterpreter : IKeyInterpreter { /// /// Delegate for key-down processing. /// /// the message object contains key data information /// True, if the message was processed delegate bool MessageDelegate(ref Message m); #region Fields /// /// Contains the parent HexBox control /// protected HexBox _hexBox; /// /// Contains True, if shift key is down /// protected bool _shiftDown; /// /// Contains True, if mouse is down /// bool _mouseDown; /// /// Contains the selection start position info /// BytePositionInfo _bpiStart; /// /// Contains the current mouse selection position info /// BytePositionInfo _bpi; /// /// Contains all message handlers of key interpreter key down message /// Dictionary _messageHandlers; #endregion #region Ctors public KeyInterpreter(HexBox hexBox) { _hexBox = hexBox; } #endregion #region Activate, Deactive methods public virtual void Activate() { _hexBox.MouseDown += new MouseEventHandler(BeginMouseSelection); _hexBox.MouseMove += new MouseEventHandler(UpdateMouseSelection); _hexBox.MouseUp += new MouseEventHandler(EndMouseSelection); } public virtual void Deactivate() { _hexBox.MouseDown -= new MouseEventHandler(BeginMouseSelection); _hexBox.MouseMove -= new MouseEventHandler(UpdateMouseSelection); _hexBox.MouseUp -= new MouseEventHandler(EndMouseSelection); } #endregion #region Mouse selection methods void BeginMouseSelection(object sender, MouseEventArgs e) { System.Diagnostics.Debug.WriteLine("BeginMouseSelection()", "KeyInterpreter"); if (e.Button != MouseButtons.Left) return; _mouseDown = true; if (!_shiftDown) { _bpiStart = new BytePositionInfo(_hexBox._bytePos, _hexBox._byteCharacterPos); _hexBox.ReleaseSelection(); } else { UpdateMouseSelection(this, e); } } void UpdateMouseSelection(object sender, MouseEventArgs e) { if (!_mouseDown) return; _bpi = GetBytePositionInfo(new Point(e.X, e.Y)); long selEnd = _bpi.Index; long realselStart; long realselLength; if (selEnd < _bpiStart.Index) { realselStart = selEnd; realselLength = _bpiStart.Index - selEnd; } else if (selEnd > _bpiStart.Index) { realselStart = _bpiStart.Index; realselLength = selEnd - realselStart; } else { realselStart = _hexBox._bytePos; realselLength = 0; } if (realselStart != _hexBox._bytePos || realselLength != _hexBox._selectionLength) { _hexBox.InternalSelect(realselStart, realselLength); _hexBox.ScrollByteIntoView(_bpi.Index); } } void EndMouseSelection(object sender, MouseEventArgs e) { _mouseDown = false; } #endregion #region PrePrcessWmKeyDown methods public virtual bool PreProcessWmKeyDown(ref Message m) { System.Diagnostics.Debug.WriteLine("PreProcessWmKeyDown(ref Message m)", "KeyInterpreter"); Keys vc = (Keys)m.WParam.ToInt32(); Keys keyData = vc | Control.ModifierKeys; // detect whether key down event should be raised var hasMessageHandler = this.MessageHandlers.ContainsKey(keyData); if (hasMessageHandler && RaiseKeyDown(keyData)) return true; MessageDelegate messageHandler = hasMessageHandler ? this.MessageHandlers[keyData] : messageHandler = new MessageDelegate(PreProcessWmKeyDown_Default); return messageHandler(ref m); } protected bool PreProcessWmKeyDown_Default(ref Message m) { _hexBox.ScrollByteIntoView(); return _hexBox.BasePreProcessMessage(ref m); } protected bool RaiseKeyDown(Keys keyData) { KeyEventArgs e = new KeyEventArgs(keyData); _hexBox.OnKeyDown(e); return e.Handled; } protected virtual bool PreProcessWmKeyDown_Left(ref Message m) { return PerformPosMoveLeft(); } protected virtual bool PreProcessWmKeyDown_Up(ref Message m) { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; if (!(pos == 0 && cp == 0)) { pos = Math.Max(-1, pos - _hexBox._iHexMaxHBytes); if (pos == -1) return true; _hexBox.SetPosition(pos); if (pos < _hexBox._startByte) { _hexBox.PerformScrollLineUp(); } _hexBox.UpdateCaret(); _hexBox.Invalidate(); } _hexBox.ScrollByteIntoView(); _hexBox.ReleaseSelection(); return true; } protected virtual bool PreProcessWmKeyDown_Right(ref Message m) { return PerformPosMoveRight(); } protected virtual bool PreProcessWmKeyDown_Down(ref Message m) { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; if (pos == _hexBox._byteProvider.Length && cp == 0) return true; pos = Math.Min(_hexBox._byteProvider.Length, pos + _hexBox._iHexMaxHBytes); if (pos == _hexBox._byteProvider.Length) cp = 0; _hexBox.SetPosition(pos, cp); if (pos > _hexBox._endByte - 1) { _hexBox.PerformScrollLineDown(); } _hexBox.UpdateCaret(); _hexBox.ScrollByteIntoView(); _hexBox.ReleaseSelection(); _hexBox.Invalidate(); return true; } protected virtual bool PreProcessWmKeyDown_PageUp(ref Message m) { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; if (pos == 0 && cp == 0) return true; pos = Math.Max(0, pos - _hexBox._iHexMaxBytes); if (pos == 0) return true; _hexBox.SetPosition(pos); if (pos < _hexBox._startByte) { _hexBox.PerformScrollPageUp(); } _hexBox.ReleaseSelection(); _hexBox.UpdateCaret(); _hexBox.Invalidate(); return true; } protected virtual bool PreProcessWmKeyDown_PageDown(ref Message m) { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; if (pos == _hexBox._byteProvider.Length && cp == 0) return true; pos = Math.Min(_hexBox._byteProvider.Length, pos + _hexBox._iHexMaxBytes); if (pos == _hexBox._byteProvider.Length) cp = 0; _hexBox.SetPosition(pos, cp); if (pos > _hexBox._endByte - 1) { _hexBox.PerformScrollPageDown(); } _hexBox.ReleaseSelection(); _hexBox.UpdateCaret(); _hexBox.Invalidate(); return true; } protected virtual bool PreProcessWmKeyDown_ShiftLeft(ref Message m) { long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; if (pos + sel < 1) return true; if (pos + sel <= _bpiStart.Index) { if (pos == 0) return true; pos--; sel++; } else { sel = Math.Max(0, sel - 1); } _hexBox.ScrollByteIntoView(); _hexBox.InternalSelect(pos, sel); return true; } protected virtual bool PreProcessWmKeyDown_ShiftUp(ref Message m) { long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; if (pos - _hexBox._iHexMaxHBytes < 0 && pos <= _bpiStart.Index) return true; if (_bpiStart.Index >= pos + sel) { pos = pos - _hexBox._iHexMaxHBytes; sel += _hexBox._iHexMaxHBytes; _hexBox.InternalSelect(pos, sel); _hexBox.ScrollByteIntoView(); } else { sel -= _hexBox._iHexMaxHBytes; if (sel < 0) { pos = _bpiStart.Index + sel; sel = -sel; _hexBox.InternalSelect(pos, sel); _hexBox.ScrollByteIntoView(); } else { sel -= _hexBox._iHexMaxHBytes; _hexBox.InternalSelect(pos, sel); _hexBox.ScrollByteIntoView(pos + sel); } } return true; } protected virtual bool PreProcessWmKeyDown_ShiftRight(ref Message m) { long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; if (pos + sel >= _hexBox._byteProvider.Length) return true; if (_bpiStart.Index <= pos) { sel++; _hexBox.InternalSelect(pos, sel); _hexBox.ScrollByteIntoView(pos + sel); } else { pos++; sel = Math.Max(0, sel - 1); _hexBox.InternalSelect(pos, sel); _hexBox.ScrollByteIntoView(); } return true; } protected virtual bool PreProcessWmKeyDown_ShiftDown(ref Message m) { long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; long max = _hexBox._byteProvider.Length; if (pos + sel + _hexBox._iHexMaxHBytes > max) return true; if (_bpiStart.Index <= pos) { sel += _hexBox._iHexMaxHBytes; _hexBox.InternalSelect(pos, sel); _hexBox.ScrollByteIntoView(pos + sel); } else { sel -= _hexBox._iHexMaxHBytes; if (sel < 0) { pos = _bpiStart.Index; sel = -sel; } else { pos += _hexBox._iHexMaxHBytes; //sel -= _hexBox._iHexMaxHBytes; } _hexBox.InternalSelect(pos, sel); _hexBox.ScrollByteIntoView(); } return true; } protected virtual bool PreProcessWmKeyDown_Tab(ref Message m) { if (_hexBox._stringViewVisible && _hexBox._keyInterpreter.GetType() == typeof(KeyInterpreter)) { _hexBox.ActivateStringKeyInterpreter(); _hexBox.ScrollByteIntoView(); _hexBox.ReleaseSelection(); _hexBox.UpdateCaret(); _hexBox.Invalidate(); return true; } if (_hexBox.Parent == null) return true; _hexBox.Parent.SelectNextControl(_hexBox, true, true, true, true); return true; } protected virtual bool PreProcessWmKeyDown_ShiftTab(ref Message m) { if (_hexBox._keyInterpreter is StringKeyInterpreter) { _shiftDown = false; _hexBox.ActivateKeyInterpreter(); _hexBox.ScrollByteIntoView(); _hexBox.ReleaseSelection(); _hexBox.UpdateCaret(); _hexBox.Invalidate(); return true; } if (_hexBox.Parent == null) return true; _hexBox.Parent.SelectNextControl(_hexBox, false, true, true, true); return true; } protected virtual bool PreProcessWmKeyDown_Back(ref Message m) { if (!_hexBox._byteProvider.SupportsDeleteBytes()) return true; if (_hexBox.ReadOnly) return true; long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; int cp = _hexBox._byteCharacterPos; long startDelete = (cp == 0 && sel == 0) ? pos - 1 : pos; if (startDelete < 0 && sel < 1) return true; long bytesToDelete = (sel > 0) ? sel : 1; _hexBox._byteProvider.DeleteBytes(Math.Max(0, startDelete), bytesToDelete); _hexBox.UpdateScrollSize(); if (sel == 0) PerformPosMoveLeftByte(); _hexBox.ReleaseSelection(); _hexBox.Invalidate(); return true; } protected virtual bool PreProcessWmKeyDown_Delete(ref Message m) { if (!_hexBox._byteProvider.SupportsDeleteBytes()) return true; if (_hexBox.ReadOnly) return true; long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; if (pos >= _hexBox._byteProvider.Length) return true; long bytesToDelete = (sel > 0) ? sel : 1; _hexBox._byteProvider.DeleteBytes(pos, bytesToDelete); _hexBox.UpdateScrollSize(); _hexBox.ReleaseSelection(); _hexBox.Invalidate(); return true; } protected virtual bool PreProcessWmKeyDown_Home(ref Message m) { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; if (pos < 1) return true; pos = 0; cp = 0; _hexBox.SetPosition(pos, cp); _hexBox.ScrollByteIntoView(); _hexBox.UpdateCaret(); _hexBox.ReleaseSelection(); return true; } protected virtual bool PreProcessWmKeyDown_End(ref Message m) { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; if (pos >= _hexBox._byteProvider.Length - 1) return true; pos = _hexBox._byteProvider.Length; cp = 0; _hexBox.SetPosition(pos, cp); _hexBox.ScrollByteIntoView(); _hexBox.UpdateCaret(); _hexBox.ReleaseSelection(); return true; } protected virtual bool PreProcessWmKeyDown_ShiftShiftKey(ref Message m) { if (_mouseDown) return true; if (_shiftDown) return true; _shiftDown = true; if (_hexBox._selectionLength > 0) return true; _bpiStart = new BytePositionInfo(_hexBox._bytePos, _hexBox._byteCharacterPos); return true; } protected virtual bool PreProcessWmKeyDown_ControlC(ref Message m) { _hexBox.Copy(); return true; } protected virtual bool PreProcessWmKeyDown_ControlX(ref Message m) { _hexBox.Cut(); return true; } protected virtual bool PreProcessWmKeyDown_ControlV(ref Message m) { _hexBox.Paste(); return true; } #endregion #region PreProcessWmChar methods public virtual bool PreProcessWmChar(ref Message m) { if (Control.ModifierKeys == Keys.Control) { return _hexBox.BasePreProcessMessage(ref m); } bool sw = _hexBox._byteProvider.SupportsWriteByte(); bool si = _hexBox._byteProvider.SupportsInsertBytes(); bool sd = _hexBox._byteProvider.SupportsDeleteBytes(); long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; int cp = _hexBox._byteCharacterPos; if ( (!sw && pos != _hexBox._byteProvider.Length) || (!si && pos == _hexBox._byteProvider.Length)) { return _hexBox.BasePreProcessMessage(ref m); } char c = (char)m.WParam.ToInt32(); if (Uri.IsHexDigit(c)) { if (RaiseKeyPress(c)) return true; if (_hexBox.ReadOnly) return true; bool isInsertMode = (pos == _hexBox._byteProvider.Length); // do insert when insertActive = true if (!isInsertMode && si && _hexBox.InsertActive && cp == 0) isInsertMode = true; if (sd && si && sel > 0) { _hexBox._byteProvider.DeleteBytes(pos, sel); isInsertMode = true; cp = 0; _hexBox.SetPosition(pos, cp); } _hexBox.ReleaseSelection(); byte currentByte; if (isInsertMode) currentByte = 0; else currentByte = _hexBox._byteProvider.ReadByte(pos); string sCb = currentByte.ToString("X", System.Threading.Thread.CurrentThread.CurrentCulture); if (sCb.Length == 1) sCb = "0" + sCb; string sNewCb = c.ToString(); if (cp == 0) sNewCb += sCb.Substring(1, 1); else sNewCb = sCb.Substring(0, 1) + sNewCb; byte newcb = byte.Parse(sNewCb, System.Globalization.NumberStyles.AllowHexSpecifier, System.Threading.Thread.CurrentThread.CurrentCulture); if (isInsertMode) _hexBox._byteProvider.InsertBytes(pos, new byte[] { newcb }); else _hexBox._byteProvider.WriteByte(pos, newcb); PerformPosMoveRight(); _hexBox.Invalidate(); return true; } else { return _hexBox.BasePreProcessMessage(ref m); } } protected bool RaiseKeyPress(char keyChar) { KeyPressEventArgs e = new KeyPressEventArgs(keyChar); _hexBox.OnKeyPress(e); return e.Handled; } #endregion #region PreProcessWmKeyUp methods public virtual bool PreProcessWmKeyUp(ref Message m) { System.Diagnostics.Debug.WriteLine("PreProcessWmKeyUp(ref Message m)", "KeyInterpreter"); Keys vc = (Keys)m.WParam.ToInt32(); Keys keyData = vc | Control.ModifierKeys; switch (keyData) { case Keys.ShiftKey: case Keys.Insert: if (RaiseKeyUp(keyData)) return true; break; } switch (keyData) { case Keys.ShiftKey: _shiftDown = false; return true; case Keys.Insert: return PreProcessWmKeyUp_Insert(ref m); default: return _hexBox.BasePreProcessMessage(ref m); } } protected virtual bool PreProcessWmKeyUp_Insert(ref Message m) { _hexBox.InsertActive = !_hexBox.InsertActive; return true; } protected bool RaiseKeyUp(Keys keyData) { KeyEventArgs e = new KeyEventArgs(keyData); _hexBox.OnKeyUp(e); return e.Handled; } #endregion #region Misc Dictionary MessageHandlers { get { if (_messageHandlers == null) { _messageHandlers = new Dictionary(); _messageHandlers.Add(Keys.Left, new MessageDelegate(PreProcessWmKeyDown_Left)); // move left _messageHandlers.Add(Keys.Up, new MessageDelegate(PreProcessWmKeyDown_Up)); // move up _messageHandlers.Add(Keys.Right, new MessageDelegate(PreProcessWmKeyDown_Right)); // move right _messageHandlers.Add(Keys.Down, new MessageDelegate(PreProcessWmKeyDown_Down)); // move down _messageHandlers.Add(Keys.PageUp, new MessageDelegate(PreProcessWmKeyDown_PageUp)); // move pageup _messageHandlers.Add(Keys.PageDown, new MessageDelegate(PreProcessWmKeyDown_PageDown)); // move page down _messageHandlers.Add(Keys.Left | Keys.Shift, new MessageDelegate(PreProcessWmKeyDown_ShiftLeft)); // move left with selection _messageHandlers.Add(Keys.Up | Keys.Shift, new MessageDelegate(PreProcessWmKeyDown_ShiftUp)); // move up with selection _messageHandlers.Add(Keys.Right | Keys.Shift, new MessageDelegate(PreProcessWmKeyDown_ShiftRight)); // move right with selection _messageHandlers.Add(Keys.Down | Keys.Shift, new MessageDelegate(PreProcessWmKeyDown_ShiftDown)); // move down with selection _messageHandlers.Add(Keys.Tab, new MessageDelegate(PreProcessWmKeyDown_Tab)); // switch to string view _messageHandlers.Add(Keys.Back, new MessageDelegate(PreProcessWmKeyDown_Back)); // back _messageHandlers.Add(Keys.Delete, new MessageDelegate(PreProcessWmKeyDown_Delete)); // delete _messageHandlers.Add(Keys.Home, new MessageDelegate(PreProcessWmKeyDown_Home)); // move to home _messageHandlers.Add(Keys.End, new MessageDelegate(PreProcessWmKeyDown_End)); // move to end _messageHandlers.Add(Keys.ShiftKey | Keys.Shift, new MessageDelegate(PreProcessWmKeyDown_ShiftShiftKey)); // begin selection process _messageHandlers.Add(Keys.C | Keys.Control, new MessageDelegate(PreProcessWmKeyDown_ControlC)); // copy _messageHandlers.Add(Keys.X | Keys.Control, new MessageDelegate(PreProcessWmKeyDown_ControlX)); // cut _messageHandlers.Add(Keys.V | Keys.Control, new MessageDelegate(PreProcessWmKeyDown_ControlV)); // paste } return _messageHandlers; } } protected virtual bool PerformPosMoveLeft() { long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; int cp = _hexBox._byteCharacterPos; if (sel != 0) { cp = 0; _hexBox.SetPosition(pos, cp); _hexBox.ReleaseSelection(); } else { if (pos == 0 && cp == 0) return true; if (cp > 0) { cp--; } else { pos = Math.Max(0, pos - 1); cp++; } _hexBox.SetPosition(pos, cp); if (pos < _hexBox._startByte) { _hexBox.PerformScrollLineUp(); } _hexBox.UpdateCaret(); _hexBox.Invalidate(); } _hexBox.ScrollByteIntoView(); return true; } protected virtual bool PerformPosMoveRight() { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; long sel = _hexBox._selectionLength; if (sel != 0) { pos += sel; cp = 0; _hexBox.SetPosition(pos, cp); _hexBox.ReleaseSelection(); } else { if (!(pos == _hexBox._byteProvider.Length && cp == 0)) { if (cp > 0) { pos = Math.Min(_hexBox._byteProvider.Length, pos + 1); cp = 0; } else { cp++; } _hexBox.SetPosition(pos, cp); if (pos > _hexBox._endByte - 1) { _hexBox.PerformScrollLineDown(); } _hexBox.UpdateCaret(); _hexBox.Invalidate(); } } _hexBox.ScrollByteIntoView(); return true; } protected virtual bool PerformPosMoveLeftByte() { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; if (pos == 0) return true; pos = Math.Max(0, pos - 1); cp = 0; _hexBox.SetPosition(pos, cp); if (pos < _hexBox._startByte) { _hexBox.PerformScrollLineUp(); } _hexBox.UpdateCaret(); _hexBox.ScrollByteIntoView(); _hexBox.Invalidate(); return true; } protected virtual bool PerformPosMoveRightByte() { long pos = _hexBox._bytePos; int cp = _hexBox._byteCharacterPos; if (pos == _hexBox._byteProvider.Length) return true; pos = Math.Min(_hexBox._byteProvider.Length, pos + 1); cp = 0; _hexBox.SetPosition(pos, cp); if (pos > _hexBox._endByte - 1) { _hexBox.PerformScrollLineDown(); } _hexBox.UpdateCaret(); _hexBox.ScrollByteIntoView(); _hexBox.Invalidate(); return true; } public virtual PointF GetCaretPointF(long byteIndex) { System.Diagnostics.Debug.WriteLine("GetCaretPointF()", "KeyInterpreter"); return _hexBox.GetBytePointF(byteIndex); } protected virtual BytePositionInfo GetBytePositionInfo(Point p) { return _hexBox.GetHexBytePositionInfo(p); } #endregion } #endregion #region StringKeyInterpreter class /// /// Handles user input such as mouse and keyboard input during string view edit /// class StringKeyInterpreter : KeyInterpreter { #region Ctors public StringKeyInterpreter(HexBox hexBox) : base(hexBox) { _hexBox._byteCharacterPos = 0; } #endregion #region PreProcessWmKeyDown methods public override bool PreProcessWmKeyDown(ref Message m) { Keys vc = (Keys)m.WParam.ToInt32(); Keys keyData = vc | Control.ModifierKeys; switch (keyData) { case Keys.Tab | Keys.Shift: case Keys.Tab: if (RaiseKeyDown(keyData)) return true; break; } switch (keyData) { case Keys.Tab | Keys.Shift: return PreProcessWmKeyDown_ShiftTab(ref m); case Keys.Tab: return PreProcessWmKeyDown_Tab(ref m); default: return base.PreProcessWmKeyDown(ref m); } } protected override bool PreProcessWmKeyDown_Left(ref Message m) { return PerformPosMoveLeftByte(); } protected override bool PreProcessWmKeyDown_Right(ref Message m) { return PerformPosMoveRightByte(); } #endregion #region PreProcessWmChar methods public override bool PreProcessWmChar(ref Message m) { if (Control.ModifierKeys == Keys.Control) { return _hexBox.BasePreProcessMessage(ref m); } bool sw = _hexBox._byteProvider.SupportsWriteByte(); bool si = _hexBox._byteProvider.SupportsInsertBytes(); bool sd = _hexBox._byteProvider.SupportsDeleteBytes(); long pos = _hexBox._bytePos; long sel = _hexBox._selectionLength; int cp = _hexBox._byteCharacterPos; if ( (!sw && pos != _hexBox._byteProvider.Length) || (!si && pos == _hexBox._byteProvider.Length)) { return _hexBox.BasePreProcessMessage(ref m); } char c = (char)m.WParam.ToInt32(); if (RaiseKeyPress(c)) return true; if (_hexBox.ReadOnly) return true; bool isInsertMode = (pos == _hexBox._byteProvider.Length); // do insert when insertActive = true if (!isInsertMode && si && _hexBox.InsertActive) isInsertMode = true; if (sd && si && sel > 0) { _hexBox._byteProvider.DeleteBytes(pos, sel); isInsertMode = true; cp = 0; _hexBox.SetPosition(pos, cp); } _hexBox.ReleaseSelection(); byte b = _hexBox.ByteCharConverter.ToByte(c); if (isInsertMode) _hexBox._byteProvider.InsertBytes(pos, new byte[] { b }); else _hexBox._byteProvider.WriteByte(pos, b); PerformPosMoveRightByte(); _hexBox.Invalidate(); return true; } #endregion #region Misc public override PointF GetCaretPointF(long byteIndex) { System.Diagnostics.Debug.WriteLine("GetCaretPointF()", "StringKeyInterpreter"); Point gp = _hexBox.GetGridBytePoint(byteIndex); return _hexBox.GetByteStringPointF(gp); } protected override BytePositionInfo GetBytePositionInfo(Point p) { return _hexBox.GetStringBytePositionInfo(p); } #endregion } #endregion #region Fields /// /// Contains the hole content bounds of all text /// Rectangle _recContent; /// /// Contains the line info bounds /// Rectangle _recLineInfo; /// /// Contains the column info header rectangle bounds /// Rectangle _recColumnInfo; /// /// Contains the hex data bounds /// Rectangle _recHex; /// /// Contains the string view bounds /// Rectangle _recStringView; /// /// Contains string format information for text drawing /// StringFormat _stringFormat; /// /// Contains the width and height of a single char /// SizeF _charSize; /// /// Contains the maximum of visible horizontal bytes /// int _iHexMaxHBytes; /// /// Contains the maximum of visible vertical bytes /// int _iHexMaxVBytes; /// /// Contains the maximum of visible bytes. /// int _iHexMaxBytes; /// /// Contains the scroll bars minimum value /// long _scrollVmin; /// /// Contains the scroll bars maximum value /// long _scrollVmax; /// /// Contains the scroll bars current position /// long _scrollVpos; /// /// Contains a vertical scroll /// VScrollBar _vScrollBar; /// /// Contains a timer for thumbtrack scrolling /// Timer _thumbTrackTimer = new Timer(); /// /// Contains the thumbtrack scrolling position /// long _thumbTrackPosition; /// /// Contains the thumptrack delay for scrolling in milliseconds. /// const int THUMPTRACKDELAY = 50; /// /// Contains the Enviroment.TickCount of the last refresh /// int _lastThumbtrack; /// /// Contains the borders left shift /// int _recBorderLeft = SystemInformation.Border3DSize.Width; /// /// Contains the borders right shift /// int _recBorderRight = SystemInformation.Border3DSize.Width; /// /// Contains the borders top shift /// int _recBorderTop = SystemInformation.Border3DSize.Height; /// /// Contains the border bottom shift /// int _recBorderBottom = SystemInformation.Border3DSize.Height; /// /// Contains the index of the first visible byte /// long _startByte; /// /// Contains the index of the last visible byte /// long _endByte; /// /// Contains the current byte position /// long _bytePos = -1; /// /// Contains the current char position in one byte /// /// /// "1A" /// "1" = char position of 0 /// "A" = char position of 1 /// int _byteCharacterPos; /// /// Contains string format information for hex values /// string _hexStringFormat = "X"; /// /// Contains the current key interpreter /// IKeyInterpreter _keyInterpreter; /// /// Contains an empty key interpreter without functionality /// EmptyKeyInterpreter _eki; /// /// Contains the default key interpreter /// KeyInterpreter _ki; /// /// Contains the string key interpreter /// StringKeyInterpreter _ski; /// /// Contains True if caret is visible /// bool _caretVisible; /// /// Contains true, if the find (Find method) should be aborted. /// bool _abortFind; /// /// Contains a value of the current finding position. /// long _findingPos; /// /// Contains a state value about Insert or Write mode. When this value is true and the ByteProvider SupportsInsert is true bytes are inserted instead of overridden. /// bool _insertActive; #endregion #region Events /// /// Occurs, when the value of InsertActive property has changed. /// [Description("Occurs, when the value of InsertActive property has changed.")] public event EventHandler InsertActiveChanged; /// /// Occurs, when the value of ReadOnly property has changed. /// [Description("Occurs, when the value of ReadOnly property has changed.")] public event EventHandler ReadOnlyChanged; /// /// Occurs, when the value of ByteProvider property has changed. /// [Description("Occurs, when the value of ByteProvider property has changed.")] public event EventHandler ByteProviderChanged; /// /// Occurs, when the value of SelectionStart property has changed. /// [Description("Occurs, when the value of SelectionStart property has changed.")] public event EventHandler SelectionStartChanged; /// /// Occurs, when the value of SelectionLength property has changed. /// [Description("Occurs, when the value of SelectionLength property has changed.")] public event EventHandler SelectionLengthChanged; /// /// Occurs, when the value of LineInfoVisible property has changed. /// [Description("Occurs, when the value of LineInfoVisible property has changed.")] public event EventHandler LineInfoVisibleChanged; /// /// Occurs, when the value of ColumnInfoVisibleChanged property has changed. /// [Description("Occurs, when the value of ColumnInfoVisibleChanged property has changed.")] public event EventHandler ColumnInfoVisibleChanged; /// /// Occurs, when the value of GroupSeparatorVisibleChanged property has changed. /// [Description("Occurs, when the value of GroupSeparatorVisibleChanged property has changed.")] public event EventHandler GroupSeparatorVisibleChanged; /// /// Occurs, when the value of StringViewVisible property has changed. /// [Description("Occurs, when the value of StringViewVisible property has changed.")] public event EventHandler StringViewVisibleChanged; /// /// Occurs, when the value of BorderStyle property has changed. /// [Description("Occurs, when the value of BorderStyle property has changed.")] public event EventHandler BorderStyleChanged; /// /// Occurs, when the value of ColumnWidth property has changed. /// [Description("Occurs, when the value of GroupSize property has changed.")] public event EventHandler GroupSizeChanged; /// /// Occurs, when the value of BytesPerLine property has changed. /// [Description("Occurs, when the value of BytesPerLine property has changed.")] public event EventHandler BytesPerLineChanged; /// /// Occurs, when the value of UseFixedBytesPerLine property has changed. /// [Description("Occurs, when the value of UseFixedBytesPerLine property has changed.")] public event EventHandler UseFixedBytesPerLineChanged; /// /// Occurs, when the value of VScrollBarVisible property has changed. /// [Description("Occurs, when the value of VScrollBarVisible property has changed.")] public event EventHandler VScrollBarVisibleChanged; /// /// Occurs, when the value of HexCasing property has changed. /// [Description("Occurs, when the value of HexCasing property has changed.")] public event EventHandler HexCasingChanged; /// /// Occurs, when the value of HorizontalByteCount property has changed. /// [Description("Occurs, when the value of HorizontalByteCount property has changed.")] public event EventHandler HorizontalByteCountChanged; /// /// Occurs, when the value of VerticalByteCount property has changed. /// [Description("Occurs, when the value of VerticalByteCount property has changed.")] public event EventHandler VerticalByteCountChanged; /// /// Occurs, when the value of CurrentLine property has changed. /// [Description("Occurs, when the value of CurrentLine property has changed.")] public event EventHandler CurrentLineChanged; /// /// Occurs, when the value of CurrentPositionInLine property has changed. /// [Description("Occurs, when the value of CurrentPositionInLine property has changed.")] public event EventHandler CurrentPositionInLineChanged; /// /// Occurs, when Copy method was invoked and ClipBoardData changed. /// [Description("Occurs, when Copy method was invoked and ClipBoardData changed.")] public event EventHandler Copied; /// /// Occurs, when CopyHex method was invoked and ClipBoardData changed. /// [Description("Occurs, when CopyHex method was invoked and ClipBoardData changed.")] public event EventHandler CopiedHex; #endregion #region Ctors /// /// Initializes a new instance of a HexBox class. /// public HexBox() { this._vScrollBar = new VScrollBar(); this._vScrollBar.Scroll += new ScrollEventHandler(_vScrollBar_Scroll); this._builtInContextMenu = new BuiltInContextMenu(this); BackColor = Color.White; Font = new Font("Courier New", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0))); _stringFormat = new StringFormat(StringFormat.GenericTypographic); _stringFormat.FormatFlags = StringFormatFlags.MeasureTrailingSpaces; ActivateEmptyKeyInterpreter(); SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.DoubleBuffer, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); SetStyle(ControlStyles.ResizeRedraw, true); _thumbTrackTimer.Interval = 50; _thumbTrackTimer.Tick += new EventHandler(PerformScrollThumbTrack); } #endregion #region Scroll methods void _vScrollBar_Scroll(object sender, ScrollEventArgs e) { switch (e.Type) { case ScrollEventType.Last: break; case ScrollEventType.EndScroll: break; case ScrollEventType.SmallIncrement: PerformScrollLineDown(); break; case ScrollEventType.SmallDecrement: PerformScrollLineUp(); break; case ScrollEventType.LargeIncrement: PerformScrollPageDown(); break; case ScrollEventType.LargeDecrement: PerformScrollPageUp(); break; case ScrollEventType.ThumbPosition: long lPos = FromScrollPos(e.NewValue); PerformScrollThumpPosition(lPos); break; case ScrollEventType.ThumbTrack: // to avoid performance problems use a refresh delay implemented with a timer if (_thumbTrackTimer.Enabled) // stop old timer _thumbTrackTimer.Enabled = false; // perform scroll immediately only if last refresh is very old int currentThumbTrack = System.Environment.TickCount; if (currentThumbTrack - _lastThumbtrack > THUMPTRACKDELAY) { PerformScrollThumbTrack(null, null); _lastThumbtrack = currentThumbTrack; break; } // start thumbtrack timer _thumbTrackPosition = FromScrollPos(e.NewValue); _thumbTrackTimer.Enabled = true; break; case ScrollEventType.First: break; default: break; } e.NewValue = ToScrollPos(_scrollVpos); } /// /// Performs the thumbtrack scrolling after an delay. /// void PerformScrollThumbTrack(object sender, EventArgs e) { _thumbTrackTimer.Enabled = false; PerformScrollThumpPosition(_thumbTrackPosition); _lastThumbtrack = Environment.TickCount; } void UpdateScrollSize() { System.Diagnostics.Debug.WriteLine("UpdateScrollSize()", "HexBox"); // calc scroll bar info if (VScrollBarVisible && _byteProvider != null && _byteProvider.Length > 0 && _iHexMaxHBytes != 0) { long scrollmax = (long)Math.Ceiling((double)(_byteProvider.Length + 1) / (double)_iHexMaxHBytes - (double)_iHexMaxVBytes); scrollmax = Math.Max(0, scrollmax); long scrollpos = _startByte / _iHexMaxHBytes; if (scrollmax < _scrollVmax) { /* Data size has been decreased. */ if (_scrollVpos == _scrollVmax) /* Scroll one line up if we at bottom. */ PerformScrollLineUp(); } if (scrollmax == _scrollVmax && scrollpos == _scrollVpos) return; _scrollVmin = 0; _scrollVmax = scrollmax; _scrollVpos = Math.Min(scrollpos, scrollmax); UpdateVScroll(); } else if (VScrollBarVisible) { // disable scroll bar _scrollVmin = 0; _scrollVmax = 0; _scrollVpos = 0; UpdateVScroll(); } } void UpdateVScroll() { System.Diagnostics.Debug.WriteLine("UpdateVScroll()", "HexBox"); int max = ToScrollMax(_scrollVmax); if (max > 0) { _vScrollBar.Minimum = 0; _vScrollBar.Maximum = max; _vScrollBar.Value = ToScrollPos(_scrollVpos); _vScrollBar.Visible = true; } else { _vScrollBar.Visible = false; } } int ToScrollPos(long value) { int max = 65535; if (_scrollVmax < max) return (int)value; else { double valperc = (double)value / (double)_scrollVmax * (double)100; int res = (int)Math.Floor((double)max / (double)100 * valperc); res = (int)Math.Max(_scrollVmin, res); res = (int)Math.Min(_scrollVmax, res); return res; } } long FromScrollPos(int value) { int max = 65535; if (_scrollVmax < max) { return (long)value; } else { double valperc = (double)value / (double)max * (double)100; long res = (int)Math.Floor((double)_scrollVmax / (double)100 * valperc); return res; } } int ToScrollMax(long value) { long max = 65535; if (value > max) return (int)max; else return (int)value; } void PerformScrollToLine(long pos) { if (pos < _scrollVmin || pos > _scrollVmax || pos == _scrollVpos) return; _scrollVpos = pos; UpdateVScroll(); UpdateVisibilityBytes(); UpdateCaret(); Invalidate(); } void PerformScrollLines(int lines) { long pos; if (lines > 0) { pos = Math.Min(_scrollVmax, _scrollVpos + lines); } else if (lines < 0) { pos = Math.Max(_scrollVmin, _scrollVpos + lines); } else { return; } PerformScrollToLine(pos); } void PerformScrollLineDown() { this.PerformScrollLines(1); } void PerformScrollLineUp() { this.PerformScrollLines(-1); } void PerformScrollPageDown() { this.PerformScrollLines(_iHexMaxVBytes); } void PerformScrollPageUp() { this.PerformScrollLines(-_iHexMaxVBytes); } void PerformScrollThumpPosition(long pos) { // Bug fix: Scroll to end, do not scroll to end int difference = (_scrollVmax > 65535) ? 10 : 9; if (ToScrollPos(pos) == ToScrollMax(_scrollVmax) - difference) pos = _scrollVmax; // End Bug fix PerformScrollToLine(pos); } /// /// Scrolls the selection start byte into view /// public void ScrollByteIntoView() { System.Diagnostics.Debug.WriteLine("ScrollByteIntoView()", "HexBox"); ScrollByteIntoView(_bytePos); } /// /// Scrolls the specific byte into view /// /// the index of the byte public void ScrollByteIntoView(long index) { System.Diagnostics.Debug.WriteLine("ScrollByteIntoView(long index)", "HexBox"); if (_byteProvider == null || _keyInterpreter == null) return; if (index < _startByte) { long line = (long)Math.Floor((double)index / (double)_iHexMaxHBytes); PerformScrollThumpPosition(line); } else if (index > _endByte) { long line = (long)Math.Floor((double)index / (double)_iHexMaxHBytes); line -= _iHexMaxVBytes - 1; PerformScrollThumpPosition(line); } } #endregion #region Selection methods void ReleaseSelection() { System.Diagnostics.Debug.WriteLine("ReleaseSelection()", "HexBox"); if (_selectionLength == 0) return; _selectionLength = 0; OnSelectionLengthChanged(EventArgs.Empty); if (!_caretVisible) CreateCaret(); else UpdateCaret(); Invalidate(); } /// /// Returns true if Select method could be invoked. /// public bool CanSelectAll() { if (!this.Enabled) return false; if (_byteProvider == null) return false; return true; } /// /// Selects all bytes. /// public void SelectAll() { if (this.ByteProvider == null) return; this.Select(0, this.ByteProvider.Length); } /// /// Selects the hex box. /// /// the start index of the selection /// the length of the selection public void Select(long start, long length) { if (this.ByteProvider == null) return; if (!this.Enabled) return; InternalSelect(start, length); ScrollByteIntoView(); } void InternalSelect(long start, long length) { long pos = start; long sel = length; int cp = 0; if (sel > 0 && _caretVisible) DestroyCaret(); else if (sel == 0 && !_caretVisible) CreateCaret(); SetPosition(pos, cp); SetSelectionLength(sel); UpdateCaret(); Invalidate(); } #endregion #region Key interpreter methods void ActivateEmptyKeyInterpreter() { if (_eki == null) _eki = new EmptyKeyInterpreter(this); if (_eki == _keyInterpreter) return; if (_keyInterpreter != null) _keyInterpreter.Deactivate(); _keyInterpreter = _eki; _keyInterpreter.Activate(); } void ActivateKeyInterpreter() { if (_ki == null) _ki = new KeyInterpreter(this); if (_ki == _keyInterpreter) return; if (_keyInterpreter != null) _keyInterpreter.Deactivate(); _keyInterpreter = _ki; _keyInterpreter.Activate(); } void ActivateStringKeyInterpreter() { if (_ski == null) _ski = new StringKeyInterpreter(this); if (_ski == _keyInterpreter) return; if (_keyInterpreter != null) _keyInterpreter.Deactivate(); _keyInterpreter = _ski; _keyInterpreter.Activate(); } #endregion #region Caret methods void CreateCaret() { if (_byteProvider == null || _keyInterpreter == null || _caretVisible || !this.Focused) return; System.Diagnostics.Debug.WriteLine("CreateCaret()", "HexBox"); // define the caret width depending on InsertActive mode int caretWidth = (this.InsertActive) ? 1 : (int)_charSize.Width; int caretHeight = (int)_charSize.Height; NativeMethods.CreateCaret(Handle, IntPtr.Zero, caretWidth, caretHeight); UpdateCaret(); NativeMethods.ShowCaret(Handle); _caretVisible = true; } void UpdateCaret() { if (_byteProvider == null || _keyInterpreter == null) return; System.Diagnostics.Debug.WriteLine("UpdateCaret()", "HexBox"); long byteIndex = _bytePos - _startByte; PointF p = _keyInterpreter.GetCaretPointF(byteIndex); p.X += _byteCharacterPos * _charSize.Width; NativeMethods.SetCaretPos((int)p.X, (int)p.Y); } void DestroyCaret() { if (!_caretVisible) return; System.Diagnostics.Debug.WriteLine("DestroyCaret()", "HexBox"); NativeMethods.DestroyCaret(); _caretVisible = false; } void SetCaretPosition(Point p) { System.Diagnostics.Debug.WriteLine("SetCaretPosition()", "HexBox"); if (_byteProvider == null || _keyInterpreter == null) return; long pos = _bytePos; int cp = _byteCharacterPos; if (_recHex.Contains(p)) { BytePositionInfo bpi = GetHexBytePositionInfo(p); pos = bpi.Index; cp = bpi.CharacterPosition; SetPosition(pos, cp); ActivateKeyInterpreter(); UpdateCaret(); Invalidate(); } else if (_recStringView.Contains(p)) { BytePositionInfo bpi = GetStringBytePositionInfo(p); pos = bpi.Index; cp = bpi.CharacterPosition; SetPosition(pos, cp); ActivateStringKeyInterpreter(); UpdateCaret(); Invalidate(); } } BytePositionInfo GetHexBytePositionInfo(Point p) { System.Diagnostics.Debug.WriteLine("GetHexBytePositionInfo()", "HexBox"); long bytePos; int byteCharaterPos; float x = ((float)(p.X - _recHex.X) / _charSize.Width); float y = ((float)(p.Y - _recHex.Y) / _charSize.Height); int iX = (int)x; int iY = (int)y; int hPos = (iX / 3 + 1); bytePos = Math.Min(_byteProvider.Length, _startByte + (_iHexMaxHBytes * (iY + 1) - _iHexMaxHBytes) + hPos - 1); byteCharaterPos = (iX % 3); if (byteCharaterPos > 1) byteCharaterPos = 1; if (bytePos == _byteProvider.Length) byteCharaterPos = 0; if (bytePos < 0) return new BytePositionInfo(0, 0); return new BytePositionInfo(bytePos, byteCharaterPos); } BytePositionInfo GetStringBytePositionInfo(Point p) { System.Diagnostics.Debug.WriteLine("GetStringBytePositionInfo()", "HexBox"); long bytePos; int byteCharacterPos; float x = ((float)(p.X - _recStringView.X) / _charSize.Width); float y = ((float)(p.Y - _recStringView.Y) / _charSize.Height); int iX = (int)x; int iY = (int)y; int hPos = iX + 1; bytePos = Math.Min(_byteProvider.Length, _startByte + (_iHexMaxHBytes * (iY + 1) - _iHexMaxHBytes) + hPos - 1); byteCharacterPos = 0; if (bytePos < 0) return new BytePositionInfo(0, 0); return new BytePositionInfo(bytePos, byteCharacterPos); } #endregion #region PreProcessMessage methods /// /// Preprocesses windows messages. /// /// the message to process. /// true, if the message was processed [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true), SecurityPermission(SecurityAction.InheritanceDemand, UnmanagedCode = true)] public override bool PreProcessMessage(ref Message m) { switch (m.Msg) { case NativeMethods.WM_KEYDOWN: return _keyInterpreter.PreProcessWmKeyDown(ref m); case NativeMethods.WM_CHAR: return _keyInterpreter.PreProcessWmChar(ref m); case NativeMethods.WM_KEYUP: return _keyInterpreter.PreProcessWmKeyUp(ref m); default: return base.PreProcessMessage(ref m); } } bool BasePreProcessMessage(ref Message m) { return base.PreProcessMessage(ref m); } #endregion #region Find methods /// /// Searches the current ByteProvider /// /// contains all find options /// the SelectionStart property value if find was successfull or /// -1 if there is no match /// -2 if Find was aborted. public long Find(FindOptions options) { var startIndex = this.SelectionStart + this.SelectionLength; int match = 0; byte[] buffer1 = null; byte[] buffer2 = null; if (options.Type == FindType.Text && options.MatchCase) { if(options.FindBuffer == null || options.FindBuffer.Length == 0) throw new ArgumentException("FindBuffer can not be null when Type: Text and MatchCase: false"); buffer1 = options.FindBuffer; } else if (options.Type == FindType.Text && !options.MatchCase) { if(options.FindBufferLowerCase == null || options.FindBufferLowerCase.Length == 0) throw new ArgumentException("FindBufferLowerCase can not be null when Type is Text and MatchCase is true"); if(options.FindBufferUpperCase == null || options.FindBufferUpperCase.Length == 0) throw new ArgumentException("FindBufferUpperCase can not be null when Type is Text and MatchCase is true"); if(options.FindBufferLowerCase.Length != options.FindBufferUpperCase.Length) throw new ArgumentException("FindBufferUpperCase and FindBufferUpperCase must have the same size when Type is Text and MatchCase is true"); buffer1 = options.FindBufferLowerCase; buffer2 = options.FindBufferUpperCase; } else if (options.Type == FindType.Hex) { if(options.Hex == null || options.Hex.Length == 0) throw new ArgumentException("Hex can not be null when Type is Hex"); buffer1 = options.Hex; } int buffer1Length = buffer1.Length; _abortFind = false; for (long pos = startIndex; pos < _byteProvider.Length; pos++) { if (_abortFind) return -2; if (pos % 1000 == 0) // for performance reasons: DoEvents only 1 times per 1000 loops Application.DoEvents(); byte compareByte = _byteProvider.ReadByte(pos); bool buffer1Match = compareByte == buffer1[match]; bool hasBuffer2 = buffer2 != null; bool buffer2Match = hasBuffer2 ? compareByte == buffer2[match] : false; bool isMatch = buffer1Match || buffer2Match; if (!isMatch) { pos -= match; match = 0; _findingPos = pos; continue; } match++; if (match == buffer1Length) { long bytePos = pos - buffer1Length + 1; Select(bytePos, buffer1Length); ScrollByteIntoView(_bytePos + _selectionLength); ScrollByteIntoView(_bytePos); return bytePos; } } return -1; } /// /// Aborts a working Find method. /// public void AbortFind() { _abortFind = true; } /// /// Gets a value that indicates the current position during Find method execution. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public long CurrentFindingPosition { get { return _findingPos; } } #endregion #region Copy, Cut and Paste methods byte[] GetCopyData() { if (!CanCopy()) return new byte[0]; // put bytes into buffer byte[] buffer = new byte[_selectionLength]; int id = -1; for (long i = _bytePos; i < _bytePos + _selectionLength; i++) { id++; buffer[id] = _byteProvider.ReadByte(i); } return buffer; } /// /// Copies the current selection in the hex box to the Clipboard. /// public void Copy() { if (!CanCopy()) return; // put bytes into buffer byte[] buffer = GetCopyData(); DataObject da = new DataObject(); // set string buffer clipbard data string sBuffer = System.Text.Encoding.ASCII.GetString(buffer, 0, buffer.Length); da.SetData(typeof(string), sBuffer); //set memorystream (BinaryData) clipboard data System.IO.MemoryStream ms = new System.IO.MemoryStream(buffer, 0, buffer.Length, false, true); da.SetData("BinaryData", ms); Clipboard.SetDataObject(da, true); UpdateCaret(); ScrollByteIntoView(); Invalidate(); OnCopied(EventArgs.Empty); } /// /// Return true if Copy method could be invoked. /// public bool CanCopy() { if (_selectionLength < 1 || _byteProvider == null) return false; return true; } /// /// Moves the current selection in the hex box to the Clipboard. /// public void Cut() { if (!CanCut()) return; Copy(); _byteProvider.DeleteBytes(_bytePos, _selectionLength); _byteCharacterPos = 0; UpdateCaret(); ScrollByteIntoView(); ReleaseSelection(); Invalidate(); Refresh(); } /// /// Return true if Cut method could be invoked. /// public bool CanCut() { if (ReadOnly || !this.Enabled) return false; if (_byteProvider == null) return false; if (_selectionLength < 1 || !_byteProvider.SupportsDeleteBytes()) return false; return true; } /// /// Replaces the current selection in the hex box with the contents of the Clipboard. /// public void Paste() { if (!CanPaste()) return; if (_selectionLength > 0) _byteProvider.DeleteBytes(_bytePos, _selectionLength); byte[] buffer = null; IDataObject da = Clipboard.GetDataObject(); if (da.GetDataPresent("BinaryData")) { System.IO.MemoryStream ms = (System.IO.MemoryStream)da.GetData("BinaryData"); buffer = new byte[ms.Length]; ms.Read(buffer, 0, buffer.Length); } else if (da.GetDataPresent(typeof(string))) { string sBuffer = (string)da.GetData(typeof(string)); buffer = System.Text.Encoding.ASCII.GetBytes(sBuffer); } else { return; } _byteProvider.InsertBytes(_bytePos, buffer); SetPosition(_bytePos + buffer.Length, 0); ReleaseSelection(); ScrollByteIntoView(); UpdateCaret(); Invalidate(); } /// /// Return true if Paste method could be invoked. /// public bool CanPaste() { if (ReadOnly || !this.Enabled) return false; if (_byteProvider == null || !_byteProvider.SupportsInsertBytes()) return false; if (!_byteProvider.SupportsDeleteBytes() && _selectionLength > 0) return false; IDataObject da = Clipboard.GetDataObject(); if (da.GetDataPresent("BinaryData")) return true; else if (da.GetDataPresent(typeof(string))) return true; else return false; } /// /// Return true if PasteHex method could be invoked. /// public bool CanPasteHex() { if (!CanPaste()) return false; byte[] buffer = null; IDataObject da = Clipboard.GetDataObject(); if (da.GetDataPresent(typeof(string))) { string hexString = (string)da.GetData(typeof(string)); buffer = ConvertHexToBytes(hexString); return (buffer != null); } return false; } /// /// Replaces the current selection in the hex box with the hex string data of the Clipboard. /// public void PasteHex() { if (!CanPaste()) return; byte[] buffer = null; IDataObject da = Clipboard.GetDataObject(); if (da.GetDataPresent(typeof(string))) { string hexString = (string)da.GetData(typeof(string)); buffer = ConvertHexToBytes(hexString); if (buffer == null) return; } else { return; } if (_selectionLength > 0) _byteProvider.DeleteBytes(_bytePos, _selectionLength); _byteProvider.InsertBytes(_bytePos, buffer); SetPosition(_bytePos + buffer.Length, 0); ReleaseSelection(); ScrollByteIntoView(); UpdateCaret(); Invalidate(); } /// /// Copies the current selection in the hex box to the Clipboard in hex format. /// public void CopyHex() { if (!CanCopy()) return; // put bytes into buffer byte[] buffer = GetCopyData(); DataObject da = new DataObject(); // set string buffer clipbard data string hexString = ConvertBytesToHex(buffer); ; da.SetData(typeof(string), hexString); //set memorystream (BinaryData) clipboard data System.IO.MemoryStream ms = new System.IO.MemoryStream(buffer, 0, buffer.Length, false, true); da.SetData("BinaryData", ms); Clipboard.SetDataObject(da, true); UpdateCaret(); ScrollByteIntoView(); Invalidate(); OnCopiedHex(EventArgs.Empty); } #endregion #region Paint methods /// /// Paints the background. /// /// A PaintEventArgs that contains the event data. protected override void OnPaintBackground(PaintEventArgs e) { switch (_borderStyle) { case BorderStyle.Fixed3D: { if (TextBoxRenderer.IsSupported) { VisualStyleElement state = VisualStyleElement.TextBox.TextEdit.Normal; Color backColor = this.BackColor; if (this.Enabled) { if (this.ReadOnly) state = VisualStyleElement.TextBox.TextEdit.ReadOnly; else if (this.Focused) state = VisualStyleElement.TextBox.TextEdit.Focused; } else { state = VisualStyleElement.TextBox.TextEdit.Disabled; backColor = this.BackColorDisabled; } VisualStyleRenderer vsr = new VisualStyleRenderer(state); vsr.DrawBackground(e.Graphics, this.ClientRectangle); Rectangle rectContent = vsr.GetBackgroundContentRectangle(e.Graphics, this.ClientRectangle); e.Graphics.FillRectangle(new SolidBrush(backColor), rectContent); } else { // draw background e.Graphics.FillRectangle(new SolidBrush(BackColor), ClientRectangle); // draw default border ControlPaint.DrawBorder3D(e.Graphics, ClientRectangle, Border3DStyle.Sunken); } break; } case BorderStyle.FixedSingle: { // draw background e.Graphics.FillRectangle(new SolidBrush(BackColor), ClientRectangle); // draw fixed single border ControlPaint.DrawBorder(e.Graphics, ClientRectangle, Color.Black, ButtonBorderStyle.Solid); break; } default: { // draw background e.Graphics.FillRectangle(new SolidBrush(BackColor), ClientRectangle); break; } } } /// /// Paints the hex box. /// /// A PaintEventArgs that contains the event data. protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); if (_byteProvider == null) return; System.Diagnostics.Debug.WriteLine("OnPaint " + DateTime.Now.ToString(), "HexBox"); // draw only in the content rectangle, so exclude the border and the scrollbar. Region r = new Region(ClientRectangle); r.Exclude(_recContent); e.Graphics.ExcludeClip(r); UpdateVisibilityBytes(); if (_lineInfoVisible) PaintLineInfo(e.Graphics, _startByte, _endByte); if (!_stringViewVisible) { PaintHex(e.Graphics, _startByte, _endByte); } else { PaintHexAndStringView(e.Graphics, _startByte, _endByte); if (_shadowSelectionVisible) PaintCurrentBytesSign(e.Graphics); } if (_columnInfoVisible) PaintHeaderRow(e.Graphics); if (_groupSeparatorVisible) PaintColumnSeparator(e.Graphics); } void PaintLineInfo(Graphics g, long startByte, long endByte) { // Ensure endByte isn't > length of array. endByte = Math.Min(_byteProvider.Length - 1, endByte); Color lineInfoColor = (this.InfoForeColor != Color.Empty) ? this.InfoForeColor : this.ForeColor; Brush brush = new SolidBrush(lineInfoColor); int maxLine = GetGridBytePoint(endByte - startByte).Y + 1; for (int i = 0; i < maxLine; i++) { long firstLineByte = (startByte + (_iHexMaxHBytes) * i) + _lineInfoOffset; PointF bytePointF = GetBytePointF(new Point(0, 0 + i)); string info = firstLineByte.ToString(_hexStringFormat, System.Threading.Thread.CurrentThread.CurrentCulture); int nulls = 8 - info.Length; string formattedInfo; if (nulls > -1) { formattedInfo = new string('0', 8 - info.Length) + info; } else { formattedInfo = new string('~', 8); } g.DrawString(formattedInfo, Font, brush, new PointF(_recLineInfo.X, bytePointF.Y), _stringFormat); } } void PaintHeaderRow(Graphics g) { Brush brush = new SolidBrush(this.InfoForeColor); for (int col = 0; col < _iHexMaxHBytes; col++) { PaintColumnInfo(g, (byte)col, brush, col); } } void PaintColumnSeparator(Graphics g) { for (int col = GroupSize; col < _iHexMaxHBytes; col += GroupSize) { var pen = new Pen(new SolidBrush(this.InfoForeColor), 1); PointF headerPointF = GetColumnInfoPointF(col); headerPointF.X -= _charSize.Width / 2; g.DrawLine(pen, headerPointF, new PointF(headerPointF.X, headerPointF.Y + _recColumnInfo.Height + _recHex.Height)); if (StringViewVisible) { PointF byteStringPointF = GetByteStringPointF(new Point(col, 0)); headerPointF.X -= 2; g.DrawLine(pen, new PointF(byteStringPointF.X, byteStringPointF.Y), new PointF(byteStringPointF.X, byteStringPointF.Y + _recHex.Height)); } } } void PaintHex(Graphics g, long startByte, long endByte) { Brush brush = new SolidBrush(GetDefaultForeColor()); Brush selBrush = new SolidBrush(_selectionForeColor); Brush selBrushBack = new SolidBrush(_selectionBackColor); int counter = -1; long intern_endByte = Math.Min(_byteProvider.Length - 1, endByte + _iHexMaxHBytes); bool isKeyInterpreterActive = _keyInterpreter == null || _keyInterpreter.GetType() == typeof(KeyInterpreter); for (long i = startByte; i < intern_endByte + 1; i++) { counter++; Point gridPoint = GetGridBytePoint(counter); byte b = _byteProvider.ReadByte(i); bool isSelectedByte = i >= _bytePos && i <= (_bytePos + _selectionLength - 1) && _selectionLength != 0; if (isSelectedByte && isKeyInterpreterActive) { PaintHexStringSelected(g, b, selBrush, selBrushBack, gridPoint); } else { PaintHexString(g, b, brush, gridPoint); } } } void PaintHexString(Graphics g, byte b, Brush brush, Point gridPoint) { PointF bytePointF = GetBytePointF(gridPoint); string sB = ConvertByteToHex(b); g.DrawString(sB.Substring(0, 1), Font, brush, bytePointF, _stringFormat); bytePointF.X += _charSize.Width; g.DrawString(sB.Substring(1, 1), Font, brush, bytePointF, _stringFormat); } void PaintColumnInfo(Graphics g, byte b, Brush brush, int col) { PointF headerPointF = GetColumnInfoPointF(col); string sB = ConvertByteToHex(b); g.DrawString(sB.Substring(0, 1), Font, brush, headerPointF, _stringFormat); headerPointF.X += _charSize.Width; g.DrawString(sB.Substring(1, 1), Font, brush, headerPointF, _stringFormat); } void PaintHexStringSelected(Graphics g, byte b, Brush brush, Brush brushBack, Point gridPoint) { string sB = b.ToString(_hexStringFormat, System.Threading.Thread.CurrentThread.CurrentCulture); if (sB.Length == 1) sB = "0" + sB; PointF bytePointF = GetBytePointF(gridPoint); bool isLastLineChar = (gridPoint.X + 1 == _iHexMaxHBytes); float bcWidth = (isLastLineChar) ? _charSize.Width * 2 : _charSize.Width * 3; g.FillRectangle(brushBack, bytePointF.X, bytePointF.Y, bcWidth, _charSize.Height); g.DrawString(sB.Substring(0, 1), Font, brush, bytePointF, _stringFormat); bytePointF.X += _charSize.Width; g.DrawString(sB.Substring(1, 1), Font, brush, bytePointF, _stringFormat); } void PaintHexAndStringView(Graphics g, long startByte, long endByte) { Brush brush = new SolidBrush(GetDefaultForeColor()); Brush selBrush = new SolidBrush(_selectionForeColor); Brush selBrushBack = new SolidBrush(_selectionBackColor); int counter = -1; long intern_endByte = Math.Min(_byteProvider.Length - 1, endByte + _iHexMaxHBytes); bool isKeyInterpreterActive = _keyInterpreter == null || _keyInterpreter.GetType() == typeof(KeyInterpreter); bool isStringKeyInterpreterActive = _keyInterpreter != null && _keyInterpreter.GetType() == typeof(StringKeyInterpreter); for (long i = startByte; i < intern_endByte + 1; i++) { counter++; Point gridPoint = GetGridBytePoint(counter); PointF byteStringPointF = GetByteStringPointF(gridPoint); byte b = _byteProvider.ReadByte(i); bool isSelectedByte = i >= _bytePos && i <= (_bytePos + _selectionLength - 1) && _selectionLength != 0; if (isSelectedByte && isKeyInterpreterActive) { PaintHexStringSelected(g, b, selBrush, selBrushBack, gridPoint); } else { PaintHexString(g, b, brush, gridPoint); } string s = new String(ByteCharConverter.ToChar(b), 1); if (isSelectedByte && isStringKeyInterpreterActive) { g.FillRectangle(selBrushBack, byteStringPointF.X, byteStringPointF.Y, _charSize.Width, _charSize.Height); g.DrawString(s, Font, selBrush, byteStringPointF, _stringFormat); } else { g.DrawString(s, Font, brush, byteStringPointF, _stringFormat); } } } void PaintCurrentBytesSign(Graphics g) { if (_keyInterpreter != null && _bytePos != -1 && Enabled) { if (_keyInterpreter.GetType() == typeof(KeyInterpreter)) { if (_selectionLength == 0) { Point gp = GetGridBytePoint(_bytePos - _startByte); PointF pf = GetByteStringPointF(gp); Size s = new Size((int)_charSize.Width, (int)_charSize.Height); Rectangle r = new Rectangle((int)pf.X, (int)pf.Y, s.Width, s.Height); if (r.IntersectsWith(_recStringView)) { r.Intersect(_recStringView); PaintCurrentByteSign(g, r); } } else { int lineWidth = (int)(_recStringView.Width - _charSize.Width); Point startSelGridPoint = GetGridBytePoint(_bytePos - _startByte); PointF startSelPointF = GetByteStringPointF(startSelGridPoint); Point endSelGridPoint = GetGridBytePoint(_bytePos - _startByte + _selectionLength - 1); PointF endSelPointF = GetByteStringPointF(endSelGridPoint); int multiLine = endSelGridPoint.Y - startSelGridPoint.Y; if (multiLine == 0) { Rectangle singleLine = new Rectangle( (int)startSelPointF.X, (int)startSelPointF.Y, (int)(endSelPointF.X - startSelPointF.X + _charSize.Width), (int)_charSize.Height); if (singleLine.IntersectsWith(_recStringView)) { singleLine.Intersect(_recStringView); PaintCurrentByteSign(g, singleLine); } } else { Rectangle firstLine = new Rectangle( (int)startSelPointF.X, (int)startSelPointF.Y, (int)(_recStringView.X + lineWidth - startSelPointF.X + _charSize.Width), (int)_charSize.Height); if (firstLine.IntersectsWith(_recStringView)) { firstLine.Intersect(_recStringView); PaintCurrentByteSign(g, firstLine); } if (multiLine > 1) { Rectangle betweenLines = new Rectangle( _recStringView.X, (int)(startSelPointF.Y + _charSize.Height), (int)(_recStringView.Width), (int)(_charSize.Height * (multiLine - 1))); if (betweenLines.IntersectsWith(_recStringView)) { betweenLines.Intersect(_recStringView); PaintCurrentByteSign(g, betweenLines); } } Rectangle lastLine = new Rectangle( _recStringView.X, (int)endSelPointF.Y, (int)(endSelPointF.X - _recStringView.X + _charSize.Width), (int)_charSize.Height); if (lastLine.IntersectsWith(_recStringView)) { lastLine.Intersect(_recStringView); PaintCurrentByteSign(g, lastLine); } } } } else { if (_selectionLength == 0) { Point gp = GetGridBytePoint(_bytePos - _startByte); PointF pf = GetBytePointF(gp); Size s = new Size((int)_charSize.Width * 2, (int)_charSize.Height); Rectangle r = new Rectangle((int)pf.X, (int)pf.Y, s.Width, s.Height); PaintCurrentByteSign(g, r); } else { int lineWidth = (int)(_recHex.Width - _charSize.Width * 5); Point startSelGridPoint = GetGridBytePoint(_bytePos - _startByte); PointF startSelPointF = GetBytePointF(startSelGridPoint); Point endSelGridPoint = GetGridBytePoint(_bytePos - _startByte + _selectionLength - 1); PointF endSelPointF = GetBytePointF(endSelGridPoint); int multiLine = endSelGridPoint.Y - startSelGridPoint.Y; if (multiLine == 0) { Rectangle singleLine = new Rectangle( (int)startSelPointF.X, (int)startSelPointF.Y, (int)(endSelPointF.X - startSelPointF.X + _charSize.Width * 2), (int)_charSize.Height); if (singleLine.IntersectsWith(_recHex)) { singleLine.Intersect(_recHex); PaintCurrentByteSign(g, singleLine); } } else { Rectangle firstLine = new Rectangle( (int)startSelPointF.X, (int)startSelPointF.Y, (int)(_recHex.X + lineWidth - startSelPointF.X + _charSize.Width * 2), (int)_charSize.Height); if (firstLine.IntersectsWith(_recHex)) { firstLine.Intersect(_recHex); PaintCurrentByteSign(g, firstLine); } if (multiLine > 1) { Rectangle betweenLines = new Rectangle( _recHex.X, (int)(startSelPointF.Y + _charSize.Height), (int)(lineWidth + _charSize.Width * 2), (int)(_charSize.Height * (multiLine - 1))); if (betweenLines.IntersectsWith(_recHex)) { betweenLines.Intersect(_recHex); PaintCurrentByteSign(g, betweenLines); } } Rectangle lastLine = new Rectangle( _recHex.X, (int)endSelPointF.Y, (int)(endSelPointF.X - _recHex.X + _charSize.Width * 2), (int)_charSize.Height); if (lastLine.IntersectsWith(_recHex)) { lastLine.Intersect(_recHex); PaintCurrentByteSign(g, lastLine); } } } } } } void PaintCurrentByteSign(Graphics g, Rectangle rec) { // stack overflowexception on big files - workaround if (rec.Top < 0 || rec.Left < 0 || rec.Width <= 0 || rec.Height <= 0) return; Bitmap myBitmap = new Bitmap(rec.Width, rec.Height); Graphics bitmapGraphics = Graphics.FromImage(myBitmap); SolidBrush greenBrush = new SolidBrush(_shadowSelectionColor); bitmapGraphics.FillRectangle(greenBrush, 0, 0, rec.Width, rec.Height); g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.GammaCorrected; g.DrawImage(myBitmap, rec.Left, rec.Top); } Color GetDefaultForeColor() { if (Enabled) return ForeColor; else return Color.Gray; } void UpdateVisibilityBytes() { if (_byteProvider == null || _byteProvider.Length == 0) return; _startByte = (_scrollVpos + 1) * _iHexMaxHBytes - _iHexMaxHBytes; _endByte = (long)Math.Min(_byteProvider.Length - 1, _startByte + _iHexMaxBytes); } #endregion #region Positioning methods void UpdateRectanglePositioning() { // calc char size SizeF charSize = this.CreateGraphics().MeasureString("A", Font, 100, _stringFormat); _charSize = new SizeF((float)Math.Ceiling(charSize.Width), (float)Math.Ceiling(charSize.Height)); // calc content bounds _recContent = ClientRectangle; _recContent.X += _recBorderLeft; _recContent.Y += _recBorderTop; _recContent.Width -= _recBorderRight + _recBorderLeft; _recContent.Height -= _recBorderBottom + _recBorderTop; if (_vScrollBarVisible) { _recContent.Width -= _vScrollBar.Width; _vScrollBar.Left = _recContent.X + _recContent.Width; _vScrollBar.Top = _recContent.Y; _vScrollBar.Height = _recContent.Height; } int marginLeft = 4; // calc line info bounds if (_lineInfoVisible) { _recLineInfo = new Rectangle(_recContent.X + marginLeft, _recContent.Y, (int)(_charSize.Width * 10), _recContent.Height); } else { _recLineInfo = Rectangle.Empty; _recLineInfo.X = marginLeft; } // calc line info bounds _recColumnInfo = new Rectangle(_recLineInfo.X + _recLineInfo.Width, _recContent.Y, _recContent.Width - _recLineInfo.Width, (int)charSize.Height + 4); if (_columnInfoVisible) { _recLineInfo.Y += (int)charSize.Height + 4; _recLineInfo.Height -= (int)charSize.Height + 4; } else { _recColumnInfo.Height = 0; } // calc hex bounds and grid _recHex = new Rectangle(_recLineInfo.X + _recLineInfo.Width, _recLineInfo.Y, _recContent.Width - _recLineInfo.Width, _recContent.Height - _recColumnInfo.Height); if (UseFixedBytesPerLine) { SetHorizontalByteCount(_bytesPerLine); _recHex.Width = (int)Math.Floor(((double)_iHexMaxHBytes) * _charSize.Width * 3 + (2 * _charSize.Width)); } else { int hmax = (int)Math.Floor((double)_recHex.Width / (double)_charSize.Width); if (_stringViewVisible) { hmax -= 2; if (hmax > 1) SetHorizontalByteCount((int)Math.Floor((double)hmax / 4)); else SetHorizontalByteCount(1); } else { if (hmax > 1) SetHorizontalByteCount((int)Math.Floor((double)hmax / 3)); else SetHorizontalByteCount(1); } _recHex.Width = (int)Math.Floor(((double)_iHexMaxHBytes) * _charSize.Width * 3 + (2 * _charSize.Width)); } if (_stringViewVisible) { _recStringView = new Rectangle(_recHex.X + _recHex.Width, _recHex.Y, (int)(_charSize.Width * _iHexMaxHBytes), _recHex.Height); } else { _recStringView = Rectangle.Empty; } int vmax = (int)Math.Floor((double)_recHex.Height / (double)_charSize.Height); SetVerticalByteCount(vmax); _iHexMaxBytes = _iHexMaxHBytes * _iHexMaxVBytes; UpdateScrollSize(); } PointF GetBytePointF(long byteIndex) { Point gp = GetGridBytePoint(byteIndex); return GetBytePointF(gp); } PointF GetBytePointF(Point gp) { float x = (3 * _charSize.Width) * gp.X + _recHex.X; float y = (gp.Y + 1) * _charSize.Height - _charSize.Height + _recHex.Y; return new PointF(x, y); } PointF GetColumnInfoPointF(int col) { Point gp = GetGridBytePoint(col); float x = (3 * _charSize.Width) * gp.X + _recColumnInfo.X; float y = _recColumnInfo.Y; return new PointF(x, y); } PointF GetByteStringPointF(Point gp) { float x = (_charSize.Width) * gp.X + _recStringView.X; float y = (gp.Y + 1) * _charSize.Height - _charSize.Height + _recStringView.Y; return new PointF(x, y); } Point GetGridBytePoint(long byteIndex) { int row = (int)Math.Floor((double)byteIndex / (double)_iHexMaxHBytes); int column = (int)(byteIndex + _iHexMaxHBytes - _iHexMaxHBytes * (row + 1)); Point res = new Point(column, row); return res; } #endregion #region Overridden properties /// /// Gets or sets the background color for the control. /// [DefaultValue(typeof(Color), "White")] public override Color BackColor { get { return base.BackColor; } set { base.BackColor = value; } } /// /// The font used to display text in the hexbox. /// public override Font Font { get { return base.Font; } set { if (value == null) return; base.Font = value; } } /// /// Not used. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), EditorBrowsable(EditorBrowsableState.Never), Bindable(false)] public override string Text { get { return base.Text; } set { base.Text = value; } } /// /// Not used. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), EditorBrowsable(EditorBrowsableState.Never), Bindable(false)] public override RightToLeft RightToLeft { get { return base.RightToLeft; } set { base.RightToLeft = value; } } #endregion #region Properties /// /// Gets or sets the background color for the disabled control. /// [Category("Appearance"), DefaultValue(typeof(Color), "WhiteSmoke")] public Color BackColorDisabled { get { return _backColorDisabled; } set { _backColorDisabled = value; } } Color _backColorDisabled = Color.FromName("WhiteSmoke"); /// /// Gets or sets if the count of bytes in one line is fix. /// /// /// When set to True, BytesPerLine property determine the maximum count of bytes in one line. /// [DefaultValue(false), Category("Hex"), Description("Gets or sets if the count of bytes in one line is fix.")] public bool ReadOnly { get { return _readOnly; } set { if (_readOnly == value) return; _readOnly = value; OnReadOnlyChanged(EventArgs.Empty); Invalidate(); } } bool _readOnly; /// /// Gets or sets the maximum count of bytes in one line. /// /// /// UseFixedBytesPerLine property no longer has to be set to true for this to work /// [DefaultValue(16), Category("Hex"), Description("Gets or sets the maximum count of bytes in one line.")] public int BytesPerLine { get { return _bytesPerLine; } set { if (_bytesPerLine == value) return; _bytesPerLine = value; OnBytesPerLineChanged(EventArgs.Empty); UpdateRectanglePositioning(); Invalidate(); } } int _bytesPerLine = 16; /// /// Gets or sets the number of bytes in a group. Used to show the group separator line (if GroupSeparatorVisible is true) /// /// /// GroupSeparatorVisible property must set to true /// [DefaultValue(4), Category("Hex"), Description("Gets or sets the byte-count between group separators (if visible).")] public int GroupSize { get { return _groupSize; } set { if (_groupSize == value) return; _groupSize = value; OnGroupSizeChanged(EventArgs.Empty); UpdateRectanglePositioning(); Invalidate(); } } int _groupSize = 4; /// /// Gets or sets if the count of bytes in one line is fix. /// /// /// When set to True, BytesPerLine property determine the maximum count of bytes in one line. /// [DefaultValue(false), Category("Hex"), Description("Gets or sets if the count of bytes in one line is fix.")] public bool UseFixedBytesPerLine { get { return _useFixedBytesPerLine; } set { if (_useFixedBytesPerLine == value) return; _useFixedBytesPerLine = value; OnUseFixedBytesPerLineChanged(EventArgs.Empty); UpdateRectanglePositioning(); Invalidate(); } } bool _useFixedBytesPerLine; /// /// Gets or sets the visibility of a vertical scroll bar. /// [DefaultValue(false), Category("Hex"), Description("Gets or sets the visibility of a vertical scroll bar.")] public bool VScrollBarVisible { get { return this._vScrollBarVisible; } set { if (_vScrollBarVisible == value) return; _vScrollBarVisible = value; if (_vScrollBarVisible) Controls.Add(_vScrollBar); else Controls.Remove(_vScrollBar); UpdateRectanglePositioning(); UpdateScrollSize(); OnVScrollBarVisibleChanged(EventArgs.Empty); } } bool _vScrollBarVisible; /// /// Gets or sets the ByteProvider. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public IByteProvider ByteProvider { get { return _byteProvider; } set { if (_byteProvider == value) return; if (value == null) ActivateEmptyKeyInterpreter(); else ActivateKeyInterpreter(); if (_byteProvider != null) _byteProvider.LengthChanged -= new EventHandler(_byteProvider_LengthChanged); _byteProvider = value; if (_byteProvider != null) _byteProvider.LengthChanged += new EventHandler(_byteProvider_LengthChanged); OnByteProviderChanged(EventArgs.Empty); if (value == null) // do not raise events if value is null { _bytePos = -1; _byteCharacterPos = 0; _selectionLength = 0; DestroyCaret(); } else { SetPosition(0, 0); SetSelectionLength(0); if (_caretVisible && Focused) UpdateCaret(); else CreateCaret(); } CheckCurrentLineChanged(); CheckCurrentPositionInLineChanged(); _scrollVpos = 0; UpdateVisibilityBytes(); UpdateRectanglePositioning(); Invalidate(); } } IByteProvider _byteProvider; /// /// Gets or sets the visibility of the group separator. /// [DefaultValue(false), Category("Hex"), Description("Gets or sets the visibility of a separator vertical line.")] public bool GroupSeparatorVisible { get { return _groupSeparatorVisible; } set { if (_groupSeparatorVisible == value) return; _groupSeparatorVisible = value; OnGroupSeparatorVisibleChanged(EventArgs.Empty); UpdateRectanglePositioning(); Invalidate(); } } bool _groupSeparatorVisible = false; /// /// Gets or sets the visibility of the column info /// [DefaultValue(false), Category("Hex"), Description("Gets or sets the visibility of header row.")] public bool ColumnInfoVisible { get { return _columnInfoVisible; } set { if (_columnInfoVisible == value) return; _columnInfoVisible = value; OnColumnInfoVisibleChanged(EventArgs.Empty); UpdateRectanglePositioning(); Invalidate(); } } bool _columnInfoVisible = false; /// /// Gets or sets the visibility of a line info. /// [DefaultValue(false), Category("Hex"), Description("Gets or sets the visibility of a line info.")] public bool LineInfoVisible { get { return _lineInfoVisible; } set { if (_lineInfoVisible == value) return; _lineInfoVisible = value; OnLineInfoVisibleChanged(EventArgs.Empty); UpdateRectanglePositioning(); Invalidate(); } } bool _lineInfoVisible = false; /// /// Gets or sets the offset of a line info. /// [DefaultValue((long)0), Category("Hex"), Description("Gets or sets the offset of the line info.")] public long LineInfoOffset { get { return _lineInfoOffset; } set { if (_lineInfoOffset == value) return; _lineInfoOffset = value; Invalidate(); } } long _lineInfoOffset = 0; /// /// Gets or sets the hex boxs border style. /// [DefaultValue(typeof(BorderStyle), "Fixed3D"), Category("Hex"), Description("Gets or sets the hex boxs border style.")] public BorderStyle BorderStyle { get { return _borderStyle; } set { if (_borderStyle == value) return; _borderStyle = value; switch (_borderStyle) { case BorderStyle.None: _recBorderLeft = _recBorderTop = _recBorderRight = _recBorderBottom = 0; break; case BorderStyle.Fixed3D: _recBorderLeft = _recBorderRight = SystemInformation.Border3DSize.Width; _recBorderTop = _recBorderBottom = SystemInformation.Border3DSize.Height; break; case BorderStyle.FixedSingle: _recBorderLeft = _recBorderTop = _recBorderRight = _recBorderBottom = 1; break; } UpdateRectanglePositioning(); OnBorderStyleChanged(EventArgs.Empty); } } BorderStyle _borderStyle = BorderStyle.Fixed3D; /// /// Gets or sets the visibility of the string view. /// [DefaultValue(false), Category("Hex"), Description("Gets or sets the visibility of the string view.")] public bool StringViewVisible { get { return _stringViewVisible; } set { if (_stringViewVisible == value) return; _stringViewVisible = value; OnStringViewVisibleChanged(EventArgs.Empty); UpdateRectanglePositioning(); Invalidate(); } } bool _stringViewVisible; /// /// Gets or sets whether the HexBox control displays the hex characters in upper or lower case. /// [DefaultValue(typeof(HexCasing), "Upper"), Category("Hex"), Description("Gets or sets whether the HexBox control displays the hex characters in upper or lower case.")] public HexCasing HexCasing { get { if (_hexStringFormat == "X") return HexCasing.Upper; else return HexCasing.Lower; } set { string format; if (value == HexCasing.Upper) format = "X"; else format = "x"; if (_hexStringFormat == format) return; _hexStringFormat = format; OnHexCasingChanged(EventArgs.Empty); Invalidate(); } } /// /// Gets and sets the starting point of the bytes selected in the hex box. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public long SelectionStart { get { return _bytePos; } set { SetPosition(value, 0); ScrollByteIntoView(); Invalidate(); } } /// /// Gets and sets the number of bytes selected in the hex box. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public long SelectionLength { get { return _selectionLength; } set { SetSelectionLength(value); ScrollByteIntoView(); Invalidate(); } } long _selectionLength; /// /// Gets or sets the info color used for column info and line info. When this property is null, then ForeColor property is used. /// [DefaultValue(typeof(Color), "Empty"), Category("Hex"), Description("Gets or sets the line info color. When this property is null, then ForeColor property is used.")] public Color InfoForeColor { get { return _infoForeColor; } set { _infoForeColor = value; Invalidate(); } } Color _infoForeColor = Color.Empty; /// /// Gets or sets the background color for the selected bytes. /// [DefaultValue(typeof(Color), "Blue"), Category("Hex"), Description("Gets or sets the background color for the selected bytes.")] public Color SelectionBackColor { get { return _selectionBackColor; } set { _selectionBackColor = value; Invalidate(); } } Color _selectionBackColor = Color.Blue; /// /// Gets or sets the foreground color for the selected bytes. /// [DefaultValue(typeof(Color), "White"), Category("Hex"), Description("Gets or sets the foreground color for the selected bytes.")] public Color SelectionForeColor { get { return _selectionForeColor; } set { _selectionForeColor = value; Invalidate(); } } Color _selectionForeColor = Color.White; /// /// Gets or sets the visibility of a shadow selection. /// [DefaultValue(true), Category("Hex"), Description("Gets or sets the visibility of a shadow selection.")] public bool ShadowSelectionVisible { get { return _shadowSelectionVisible; } set { if (_shadowSelectionVisible == value) return; _shadowSelectionVisible = value; Invalidate(); } } bool _shadowSelectionVisible = true; /// /// Gets or sets the color of the shadow selection. /// /// /// A alpha component must be given! /// Default alpha = 100 /// [Category("Hex"), Description("Gets or sets the color of the shadow selection.")] public Color ShadowSelectionColor { get { return _shadowSelectionColor; } set { _shadowSelectionColor = value; Invalidate(); } } Color _shadowSelectionColor = Color.FromArgb(100, 60, 188, 255); /// /// Gets the number bytes drawn horizontally. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int HorizontalByteCount { get { return _iHexMaxHBytes; } } /// /// Gets the number bytes drawn vertically. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public int VerticalByteCount { get { return _iHexMaxVBytes; } } /// /// Gets the current line /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public long CurrentLine { get { return _currentLine; } } long _currentLine; /// /// Gets the current position in the current line /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public long CurrentPositionInLine { get { return _currentPositionInLine; } } int _currentPositionInLine; /// /// Gets the a value if insertion mode is active or not. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public bool InsertActive { get { return _insertActive; } set { if (_insertActive == value) return; _insertActive = value; // recreate caret DestroyCaret(); CreateCaret(); // raise change event OnInsertActiveChanged(EventArgs.Empty); } } /// /// Gets or sets the built-in context menu. /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public BuiltInContextMenu BuiltInContextMenu { get { return _builtInContextMenu; } } BuiltInContextMenu _builtInContextMenu; /// /// Gets or sets the converter that will translate between byte and character values. /// [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public IByteCharConverter ByteCharConverter { get { if (_byteCharConverter == null) _byteCharConverter = new DefaultByteCharConverter(); return _byteCharConverter; } set { if (value != null && value != _byteCharConverter) { _byteCharConverter = value; Invalidate(); } } } IByteCharConverter _byteCharConverter; #endregion #region Misc /// /// Converts a byte array to a hex string. For example: {10,11} = "0A 0B" /// /// the byte array /// the hex string string ConvertBytesToHex(byte[] data) { StringBuilder sb = new StringBuilder(); foreach (byte b in data) { string hex = ConvertByteToHex(b); sb.Append(hex); sb.Append(" "); } if (sb.Length > 0) sb.Remove(sb.Length - 1, 1); string result = sb.ToString(); return result; } /// /// Converts the byte to a hex string. For example: "10" = "0A"; /// /// the byte to format /// the hex string string ConvertByteToHex(byte b) { string sB = b.ToString(_hexStringFormat, System.Threading.Thread.CurrentThread.CurrentCulture); if (sB.Length == 1) sB = "0" + sB; return sB; } /// /// Converts the hex string to an byte array. The hex string must be separated by a space char ' '. If there is any invalid hex information in the string the result will be null. /// /// the hex string separated by ' '. For example: "0A 0B 0C" /// the byte array. null if hex is invalid or empty byte[] ConvertHexToBytes(string hex) { if (string.IsNullOrEmpty(hex)) return null; hex = hex.Trim(); var hexArray = hex.Split(' '); var byteArray = new byte[hexArray.Length]; for (int i = 0; i < hexArray.Length; i++) { var hexValue = hexArray[i]; byte b; var isByte = ConvertHexToByte(hexValue, out b); if (!isByte) return null; byteArray[i] = b; } return byteArray; } bool ConvertHexToByte(string hex, out byte b) { bool isByte = byte.TryParse(hex, System.Globalization.NumberStyles.HexNumber, System.Threading.Thread.CurrentThread.CurrentCulture, out b); return isByte; } void SetPosition(long bytePos) { SetPosition(bytePos, _byteCharacterPos); } void SetPosition(long bytePos, int byteCharacterPos) { if (_byteCharacterPos != byteCharacterPos) { _byteCharacterPos = byteCharacterPos; } if (bytePos != _bytePos) { _bytePos = bytePos; CheckCurrentLineChanged(); CheckCurrentPositionInLineChanged(); OnSelectionStartChanged(EventArgs.Empty); } } void SetSelectionLength(long selectionLength) { if (selectionLength != _selectionLength) { _selectionLength = selectionLength; OnSelectionLengthChanged(EventArgs.Empty); } } void SetHorizontalByteCount(int value) { if (_iHexMaxHBytes == value) return; _iHexMaxHBytes = value; OnHorizontalByteCountChanged(EventArgs.Empty); } void SetVerticalByteCount(int value) { if (_iHexMaxVBytes == value) return; _iHexMaxVBytes = value; OnVerticalByteCountChanged(EventArgs.Empty); } void CheckCurrentLineChanged() { long currentLine = (long)Math.Floor((double)_bytePos / (double)_iHexMaxHBytes) + 1; if (_byteProvider == null && _currentLine != 0) { _currentLine = 0; OnCurrentLineChanged(EventArgs.Empty); } else if (currentLine != _currentLine) { _currentLine = currentLine; OnCurrentLineChanged(EventArgs.Empty); } } void CheckCurrentPositionInLineChanged() { Point gb = GetGridBytePoint(_bytePos); int currentPositionInLine = gb.X + 1; if (_byteProvider == null && _currentPositionInLine != 0) { _currentPositionInLine = 0; OnCurrentPositionInLineChanged(EventArgs.Empty); } else if (currentPositionInLine != _currentPositionInLine) { _currentPositionInLine = currentPositionInLine; OnCurrentPositionInLineChanged(EventArgs.Empty); } } /// /// Raises the InsertActiveChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnInsertActiveChanged(EventArgs e) { if (InsertActiveChanged != null) InsertActiveChanged(this, e); } /// /// Raises the ReadOnlyChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnReadOnlyChanged(EventArgs e) { if (ReadOnlyChanged != null) ReadOnlyChanged(this, e); } /// /// Raises the ByteProviderChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnByteProviderChanged(EventArgs e) { if (ByteProviderChanged != null) ByteProviderChanged(this, e); } /// /// Raises the SelectionStartChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnSelectionStartChanged(EventArgs e) { if (SelectionStartChanged != null) SelectionStartChanged(this, e); } /// /// Raises the SelectionLengthChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnSelectionLengthChanged(EventArgs e) { if (SelectionLengthChanged != null) SelectionLengthChanged(this, e); } /// /// Raises the LineInfoVisibleChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnLineInfoVisibleChanged(EventArgs e) { if (LineInfoVisibleChanged != null) LineInfoVisibleChanged(this, e); } /// /// Raises the OnColumnInfoVisibleChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnColumnInfoVisibleChanged(EventArgs e) { if (ColumnInfoVisibleChanged != null) ColumnInfoVisibleChanged(this, e); } /// /// Raises the ColumnSeparatorVisibleChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnGroupSeparatorVisibleChanged(EventArgs e) { if (GroupSeparatorVisibleChanged != null) GroupSeparatorVisibleChanged(this, e); } /// /// Raises the StringViewVisibleChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnStringViewVisibleChanged(EventArgs e) { if (StringViewVisibleChanged != null) StringViewVisibleChanged(this, e); } /// /// Raises the BorderStyleChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnBorderStyleChanged(EventArgs e) { if (BorderStyleChanged != null) BorderStyleChanged(this, e); } /// /// Raises the UseFixedBytesPerLineChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnUseFixedBytesPerLineChanged(EventArgs e) { if (UseFixedBytesPerLineChanged != null) UseFixedBytesPerLineChanged(this, e); } /// /// Raises the GroupSizeChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnGroupSizeChanged(EventArgs e) { if (GroupSizeChanged != null) GroupSizeChanged(this, e); } /// /// Raises the BytesPerLineChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnBytesPerLineChanged(EventArgs e) { if (BytesPerLineChanged != null) BytesPerLineChanged(this, e); } /// /// Raises the VScrollBarVisibleChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnVScrollBarVisibleChanged(EventArgs e) { if (VScrollBarVisibleChanged != null) VScrollBarVisibleChanged(this, e); } /// /// Raises the HexCasingChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnHexCasingChanged(EventArgs e) { if (HexCasingChanged != null) HexCasingChanged(this, e); } /// /// Raises the HorizontalByteCountChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnHorizontalByteCountChanged(EventArgs e) { if (HorizontalByteCountChanged != null) HorizontalByteCountChanged(this, e); } /// /// Raises the VerticalByteCountChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnVerticalByteCountChanged(EventArgs e) { if (VerticalByteCountChanged != null) VerticalByteCountChanged(this, e); } /// /// Raises the CurrentLineChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnCurrentLineChanged(EventArgs e) { if (CurrentLineChanged != null) CurrentLineChanged(this, e); } /// /// Raises the CurrentPositionInLineChanged event. /// /// An EventArgs that contains the event data. protected virtual void OnCurrentPositionInLineChanged(EventArgs e) { if (CurrentPositionInLineChanged != null) CurrentPositionInLineChanged(this, e); } /// /// Raises the Copied event. /// /// An EventArgs that contains the event data. protected virtual void OnCopied(EventArgs e) { if (Copied != null) Copied(this, e); } /// /// Raises the CopiedHex event. /// /// An EventArgs that contains the event data. protected virtual void OnCopiedHex(EventArgs e) { if (CopiedHex != null) CopiedHex(this, e); } /// /// Raises the MouseDown event. /// /// An EventArgs that contains the event data. protected override void OnMouseDown(MouseEventArgs e) { System.Diagnostics.Debug.WriteLine("OnMouseDown()", "HexBox"); if (!Focused) Focus(); if (e.Button == MouseButtons.Left) SetCaretPosition(new Point(e.X, e.Y)); base.OnMouseDown(e); } /// /// Raises the MouseWhell event /// /// An EventArgs that contains the event data. protected override void OnMouseWheel(MouseEventArgs e) { int linesToScroll = -(e.Delta * SystemInformation.MouseWheelScrollLines / 120); this.PerformScrollLines(linesToScroll); base.OnMouseWheel(e); } /// /// Raises the Resize event. /// /// An EventArgs that contains the event data. protected override void OnResize(EventArgs e) { base.OnResize(e); UpdateRectanglePositioning(); } /// /// Raises the GotFocus event. /// /// An EventArgs that contains the event data. protected override void OnGotFocus(EventArgs e) { System.Diagnostics.Debug.WriteLine("OnGotFocus()", "HexBox"); base.OnGotFocus(e); CreateCaret(); } /// /// Raises the LostFocus event. /// /// An EventArgs that contains the event data. protected override void OnLostFocus(EventArgs e) { System.Diagnostics.Debug.WriteLine("OnLostFocus()", "HexBox"); base.OnLostFocus(e); DestroyCaret(); } void _byteProvider_LengthChanged(object sender, EventArgs e) { UpdateScrollSize(); } #endregion } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/HexBox.resx0000644000000000000000000001406711360660132022331 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 17, 17 False Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/HexBox.snk0000644000000000000000000000112410762752742022147 0ustar rootroot$RSA2Ks.z$'tۮC9K>0(%)}fc~84:ע%nr ҁkW̞ә7s/5^aϡ(qumηG1"?ʿ_/, .u^o}J%h*W!X6^l **Q#yJ|OstRu0k~IAW'1 %yS~"yѡ)A<@cܻJbI`Hn\NRۅٌ,{@mLdr~~K13uO_@ҤԬpqoI]$a HjSUkάsЊ*e cLW['J#:(QA.5'̓`t3(ndgCqSd.!wJHTK4 %LZ`lZp=IXG=cyD+FŕkyL6F~_Ib*"YW^J7-T0Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/HexCasing.cs0000644000000000000000000000075411360660132022427 0ustar rootrootusing System; using System.Collections.Generic; using System.Text; namespace Be.Windows.Forms { /// /// Specifies the case of hex characters in the HexBox control /// public enum HexCasing { /// /// Converts all characters to uppercase. /// Upper = 0, /// /// Converts all characters to lowercase. /// Lower = 1 } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/IByteProvider.cs0000644000000000000000000000446711451302370023310 0ustar rootrootusing System; namespace Be.Windows.Forms { /// /// Defines a byte provider for HexBox control /// public interface IByteProvider { /// /// Reads a byte from the provider /// /// the index of the byte to read /// the byte to read byte ReadByte(long index); /// /// Writes a byte into the provider /// /// the index of the byte to write /// the byte to write void WriteByte(long index, byte value); /// /// Inserts bytes into the provider /// /// /// /// This method must raise the LengthChanged event. void InsertBytes(long index, byte[] bs); /// /// Deletes bytes from the provider /// /// the start index of the bytes to delete /// the length of the bytes to delete /// This method must raise the LengthChanged event. void DeleteBytes(long index, long length); /// /// Returns the total length of bytes the byte provider is providing. /// long Length { get; } /// /// Occurs, when the Length property changed. /// event EventHandler LengthChanged; /// /// True, when changes are done. /// bool HasChanges(); /// /// Applies changes. /// void ApplyChanges(); /// /// Occurs, when bytes are changed. /// event EventHandler Changed; /// /// Returns a value if the WriteByte methods is supported by the provider. /// /// True, when its supported. bool SupportsWriteByte(); /// /// Returns a value if the InsertBytes methods is supported by the provider. /// /// True, when its supported. bool SupportsInsertBytes(); /// /// Returns a value if the DeleteBytes methods is supported by the provider. /// /// True, when its supported. bool SupportsDeleteBytes(); } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/MemoryDataBlock.cs0000644000000000000000000000443210762752742023606 0ustar rootrootusing System; namespace Be.Windows.Forms { internal sealed class MemoryDataBlock : DataBlock { byte[] _data; public MemoryDataBlock(byte data) { _data = new byte[] { data }; } public MemoryDataBlock(byte[] data) { if (data == null) { throw new ArgumentNullException("data"); } _data = (byte[])data.Clone(); } public override long Length { get { return _data.LongLength; } } public byte[] Data { get { return _data; } } public void AddByteToEnd(byte value) { byte[] newData = new byte[_data.LongLength + 1]; _data.CopyTo(newData, 0); newData[newData.LongLength - 1] = value; _data = newData; } public void AddByteToStart(byte value) { byte[] newData = new byte[_data.LongLength + 1]; newData[0] = value; _data.CopyTo(newData, 1); _data = newData; } public void InsertBytes(long position, byte[] data) { byte[] newData = new byte[_data.LongLength + data.LongLength]; if (position > 0) { Array.Copy(_data, 0, newData, 0, position); } Array.Copy(data, 0, newData, position, data.LongLength); if (position < _data.LongLength) { Array.Copy(_data, position, newData, position + data.LongLength, _data.LongLength - position); } _data = newData; } public override void RemoveBytes(long position, long count) { byte[] newData = new byte[_data.LongLength - count]; if (position > 0) { Array.Copy(_data, 0, newData, 0, position); } if (position + count < _data.LongLength) { Array.Copy(_data, position + count, newData, position, newData.LongLength - position); } _data = newData; } } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/NativeMethods.cs0000644000000000000000000000140211451302370023315 0ustar rootrootusing System; using System.Drawing; using System.Runtime.InteropServices; namespace Be.Windows.Forms { internal static class NativeMethods { // Caret definitions [DllImport("user32.dll", SetLastError=true)] public static extern bool CreateCaret(IntPtr hWnd, IntPtr hBitmap, int nWidth, int nHeight); [DllImport("user32.dll", SetLastError=true)] public static extern bool ShowCaret(IntPtr hWnd); [DllImport("user32.dll", SetLastError=true)] public static extern bool DestroyCaret(); [DllImport("user32.dll", SetLastError=true)] public static extern bool SetCaretPos(int X, int Y); // Key definitions public const int WM_KEYDOWN = 0x100; public const int WM_KEYUP = 0x101; public const int WM_CHAR = 0x102; } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/Properties/0000755000000000000000000000000012043223042022347 5ustar rootrootBe.HexEditor.150/sources/Be.Windows.Forms.HexBox/Properties/Resources.Designer.cs0000644000000000000000000000545412041446550026430 0ustar rootroot//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.17929 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ namespace Be.Windows.Forms.Properties { using System; /// /// A strongly-typed resource class, for looking up localized strings, etc. /// // This class was auto-generated by the StronglyTypedResourceBuilder // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Be.Windows.Forms.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } } } Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/Properties/Resources.resx0000644000000000000000000001327111360660132025236 0ustar rootroot text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Be.HexEditor.150/sources/Be.Windows.Forms.HexBox/Util.cs0000644000000000000000000000270212041446550021471 0ustar rootrootusing System; using System.Collections.Generic; using System.Text; namespace Be.Windows.Forms { static class Util { /// /// Contains true, if we are in design mode of Visual Studio /// private static bool _designMode; /// /// Initializes an instance of Util class /// static Util() { // design mode is true if host process is: Visual Studio, Visual Studio Express Versions (C#, VB, C++) or SharpDevelop var designerHosts = new List() { "devenv", "vcsexpress", "vbexpress", "vcexpress", "sharpdevelop" }; using (var process = System.Diagnostics.Process.GetCurrentProcess()) { var processName = process.ProcessName.ToLower(); _designMode = designerHosts.Contains(processName); } } /// /// Gets true, if we are in design mode of Visual Studio /// /// /// In Visual Studio 2008 SP1 the designer is crashing sometimes on windows forms. /// The DesignMode property of Control class is buggy and cannot be used, so use our own implementation instead. /// public static bool DesignMode { get { return _designMode; } } } } Be.HexEditor.150/sources/Sandcastle/0000755000000000000000000000000012043223042016034 5ustar rootrootBe.HexEditor.150/sources/Sandcastle/Be.Windows.Forms.HexBox.shfbproj0000644000000000000000000000617212001250414024036 0ustar rootroot Debug AnyCPU 2.0 {e19c1072-a81b-4724-a0f7-c219aee33a3e} 1.9.3.0 Documentation Documentation Documentation .\web\ Documentation en-US AutoDocumentCtors InheritedMembers, InheritedFrameworkMembers, Protected, SealedProtected .NET 2.0.50727 Be.Windows.Forms.HexBox API Reference vs2010 None None Msdn None Website Be.HexEditor.150/sources/Sandcastle/Documentation.chm0000644000000000000000000200405311770276202021356 0ustar rootrootITSF`LE|{ "|{ "`xT``+ITSPT  j].!"TPMGL*//#IDXHDR$/#ITBITS /#STRINGSJ,/#SYSTEMnm/#TOCIDX$0/#TOPICST /#URLSTR >/#URLTBLt /#WINDOWSpL /$FIftiMain" /$OBJINSTc?/$WWAssociativeLinks//$WWAssociativeLinks/Property_/$WWKeywordLinks//$WWKeywordLinks/BTreeb./html/941eb654-cc5c-df47-c98a-72546dbfa7d9.htm -./html/9454eca7-4c61-262f-3aa7-41361d41a19a.htmMt./html/94ec1f2a-cbec-9dbb-13cc-e22c3b71eb68.htmA0./html/9503c08a-4872-cc61-c2c1-a3c91b23318e.htmq3./html/95cd07bc-5352-0ba2-0fd4-c09c7318960e.htm$./html/974cb9ea-8398-7648-6a5f-e2204c2b0c99.htm<./html/98940e53-cfae-6745-82f9-d1eee5e89a5b.htmU./html/99010658-5cc3-a0ba-fab9-775abae49052.htmd ./html/9a222f5a-4e0b-99e6-5085-1fa903df32b0.htmok./html/9b140922-4871-31db-7ec0-85cb7542d48c.htmZ5./html/9ba8727e-7ccd-0983-c6b1-82b8bdaf6885.htm8./html/9bc77da2-c7c9-2548-abf2-03a73473554e.htmG./html/9be83cec-972d-e000-99de-d83c6da67803.htmM./html/9c5bbd2a-592f-7e8c-9aaa-68a4b3def6b3.htmi<./html/9d6d560b-afe0-9f30-6c74-083f17e11821.htm%d./html/9e1f60a5-1346-1747-395c-6e67d231cb9e.htm {./html/9e91e100-76da-3a62-ee40-61e6f3b277ca.html./html/9fde7e71-394c-15c8-999d-fec76c28dc1d.htmpj./html/9fdebe7d-1f03-40af-214b-51853e592566.htmZx./html/a01405b5-021d-e10d-1363-ef29769c5d1d.htmR./html/a47f1ac4-d210-c560-cf8a-4e653a4dc008.htmW9./html/a4bbf896-722e-8dd5-8f60-901e46c576b1.htmP./html/a4f7ae71-6b67-aee4-7dbd-bb07bbef89aa.htm`T./html/a5beaa00-3996-bc9e-644a-30637dd4db71.htm4(./html/a6709cde-f651-9f94-a90f-99209f99c78e.htm\;./html/a694f7fb-a541-27f3-6e74-e7ab7b32dae7.htmL./html/a73bfba3-1157-9d66-e393-318debc5f387.htmcc./html/a7ad5553-5af0-901e-9938-3822ac50e51a.htmF ./html/a8e62e56-0ff2-cba7-bc3b-fd8295ca287a.htmO'./html/aab2ebb5-882c-45e0-afd0-77267397504f.htmvR./html/ab60f9ad-2612-18ab-f613-d91f60851643.htmH./html/ac18c63b-ca8f-a991-5c40-15eed9cbfdaf.htmc./html/ac95aa79-c9d6-fa5c-a11b-9b6801df005c.htmt$./html/adb52635-afa9-2091-53d9-b0b43ffb4ea2.htmd./html/af31c363-7fcf-c161-6014-3ef25c0e2d05.htm| ./html/b04fdb81-4c62-a082-6807-b20cfc950bad.htm |./html/b0db2504-ff56-5414-e109-1348a2ac4854.htm¤ ./html/b1b9b6e1-e3b3-09f4-3712-304e22b7d843.htm./html/b4d78b89-d350-93e4-c8d9-18073750ff4e.htmí-./html/b5366492-a667-20b7-d2d5-992be2a643e0.htmC:./html/b716e823-b2da-ce68-4754-0534236e7e7d.htm}|./html/b779dfdf-92ba-8cfe-b83a-2ad016ed8159.htmůy}./html/b792aa58-ed4a-04be-ed8d-5ce2a1b0b756.htmƇv&./html/b7ee04f0-4cb6-bbbd-dd3f-6b740c304e3b.htmh./html/b82c31d4-072e-43d5-28ad-168a60416ee8.htmǸ1./html/badd5230-8d7e-efae-42b0-082ce77ac060.htmȏ5`./html/bc4f9e4c-2e87-fdd3-a64b-c27a4036b4a3.htm./html/bd5ed391-79dd-e0df-838c-e6fdff3ec31d.htmɼ]./html/bd8af28b-924a-bf52-9ed7-217474604f0a.htmʐs./html/bdd06f11-248d-8a64-089c-5692d8d0e4f3.htm2./html/bee89b4b-3671-1bdf-9c91-d41729bb5750.htm˿8./html/bfcd3d6a-1f35-721d-5763-aecee80db166.htm̟;v./html/c00cb124-d9be-c389-448f-88a61b4ff894.htm1./html/c08492b5-ceee-3416-021a-d6a55b3914bc.htmB ./html/c368a2f8-f193-bd41-5fcb-449528a618b4.htmηM./html/c3cfd748-e56b-76f2-7148-7f53bd913170.htmώQHZf2d-4572-f388-96bf4d044aa2.htm!oXOF = 3 )  ~ pbTF8*JPMGL0./html/c47ccf54-ee26-1d1a-dec7-f3e94d370839.htm3./html/c584a421-ab9c-864a-84c3-1a002f2f13bb.htmL7./html/c5dc8b58-9a8f-912f-e39e-6da7e676bc00.htmјh./html/c6556f58-f2cd-36da-cae1-c509c0e96d60.htmk ./html/c67613c8-a3d6-07a1-ca24-5db45590190d.htmtU./html/c824b17d-aebe-a3da-7979-31c1137f3b0e.htmӖI$./html/c8f60343-ddce-15fa-74a4-2af32892e998.htmm+./html/cbb11977-7fd2-e877-dd8b-2959128ac147.htm./html/ce041694-73fa-48f5-036c-833638e9b649.htmհ$./html/ce317c81-1ff6-46e8-5851-20ca26c160a0.htmֆ>o./html/cec9826e-7e2f-40be-3f2e-69f5d609a760.htm-U./html/cf5455b2-8909-3a7b-1cd4-72ccbe4136b8.htm׫R./html/cf63c567-8bb9-207c-90a8-d0941e74a7f5.htm؃T6./html/d05a0ae5-c5da-09c3-d7ac-53830953b958.htm ;./html/d1094150-e767-87e3-ee1e-fa07f49e67fc.htmٵEj./html/d1481026-0349-8ffa-8892-7b54b5f08afd.htmچ/./html/d1cd475a-8c35-7acb-e7a8-e403b1a66a21.htmC;./html/d3860c4c-3985-d50e-c1dc-fd32aaab0b74.htm~?./html/d7cb71f0-3d35-85ac-37ac-9fbe34b05142.htmܤ=?./html/d85711e6-1fb3-ef81-c3b4-b1d8b8f272b6.htm|./html/d9247a0f-fe4e-ca23-ccc9-e88ae2c229e0.htmݶ_./html/d99e106e-0bbd-09a1-0ac5-01dd9028e1c2.htmތwy./html/da2600bf-9e54-6b8e-b2cf-984c416ca59e.htmpB./html/da3601e1-7d00-bded-43db-1b9a854ecd66.htm2./html/dc4b6b47-c15d-ac6b-bdb7-b1d2648b3cf4.htmO9./html/defd9163-a4da-dca4-9963-897b6c49de3d.htmn./html/df12af46-7f64-1e0c-260a-818f432b4d85.htmv./html/df60ae22-dc39-3f76-6392-28640090c641.htm<./html/dff2db5d-3c2f-5216-f515-3e27aa2b1287.htm@ ./html/e124b7fb-a9fd-add6-6d4e-b7b3fdf8139f.htmK/./html/e23613af-e71a-450e-5b3a-e97878e80bba.htmz ./html/e25cbddf-f7e4-a33a-f777-4f945b1bfba2.htmp./html/e283ad12-5d55-2603-4ce9-ea8536c773d3.htm ./html/e3ead7eb-7852-6267-e01d-43a16b496366.htms./html/e4511b42-9ae3-c38d-1a5c-765ac23251af.htmX./html/e4b4494a-63d1-166d-6a90-f378757eeb23.htmY./html/e50d333a-98c5-acbd-079d-44fa38c67074.htm^./html/e92e1dca-38fb-5d68-b451-9f661e879a17.htmp}./html/e9ca77ba-c93e-65e4-7074-0a91cc26d700.htmm./html/e9d6ee2d-c616-b4b6-ee3a-dd67f3675ee5.htm ./html/ea48e9dc-da10-4b45-f0d1-53b6f9d04110.htmg./html/ebbd3fca-67d6-f747-ebdb-a58337dc491a.htmzk./html/ed4500a5-c737-eb6d-7d4c-8afb25f14ecf.htmek./html/f090f7fe-32a7-4863-f22d-bbde8c67fc6e.htmPM./html/f0a90773-0d50-b0f5-57ce-f182fde7979f.htm#./html/f2348183-b05c-4cd7-7739-596a4bc2e942.htm@./html/f3a78e4a-1f1b-6ac8-eb02-c01fe6dae227.htm?-./html/f48966d6-9612-9eb2-744f-25475788d0ce.htmlQ./html/f5035cb4-e8ad-a4ac-6a72-3063cb797519.htm=x./html/f55fcf55-3fc1-90a4-5298-ea0864cf0665.htm5s./html/f5b42636-8b15-f5dd-6644-02503077d806.htm(#./html/f95b7e88-90a5-fc60-35be-73d5b7a9d15c.htmK./html/f9990fe6-1d39-6dfb-2a8c-492252b20f6d.htmNR./html/fb2fc4e3-e691-62bd-758a-5be6e92f9bc0.htm P./html/fc64997e-d4e4-76bc-78fb-4cc5427cc42e.htmp./html/fd157ad7-799e-6e29-5db4-7615e7167710.htm7./html/fda1704a-d751-3977-a5cc-dad951d2548f.htm7./html/fe74fda3-1169-8ad4-ef5a-477ee25f6bd1.htm7]./html/ff4eb710-5f71-c66b-a8a5-c1b720b5d7e2.htm /icons//icons/alert_caution.gif4/icons/alert_note.gif;{/icons/alert_security.gif67/icons/CFW.gifmL/icons/note.gif9{/icons/pencil.GIF4T/icons/privclass.gifm/icons/privdelegate.gifu/icons/privenumeration.gif U/icons/privevent.gif_D/icons/privextension.gif#`/icons/privfield.gif>/icons/privinterface.gifAI/icons/privmethod.gif [/icons/privproperty.gife/icons/privstructure.gifv/icons/protclass.gifyX/icons/protdelegate.gifQ/icons/protenumeration.gifbG/icons/protevent.gif)4/icons/protextension.gif]M/icons/protfield.gif*:/icons/protinterface.gifd2/icons/protmethod.gif7/icons/protoperator.gifM#/icons/protproperty.gifp/icons/protstructure.gifk/icons/pubclass.gifjp!oXOF b1  ~  qcUF8*XPMGL /icons/pubdelegate.gifZ/icons/pubenumeration.gifkS/icons/pubevent.gif>:/icons/pubextension.gifx'/icons/pubfield.gif7/icons/pubinterface.gifV:/icons/pubmethod.gifI/icons/puboperator.gifY6/icons/pubproperty.gifa/icons/pubstructure.gifpS/icons/security.gifC7/icons/slMobile.gifz /icons/static.gifo/icons/xna.gifv%/styles//styles/Presentation.css(::DataSpace/NameList<(::DataSpace/Storage/MSCompressed/Content[,::DataSpace/Storage/MSCompressed/ControlDataj)::DataSpace/Storage/MSCompressed/SpanInfob/::DataSpace/Storage/MSCompressed/Transform/List<&_::DataSpace/Storage/MSCompressed/Transform/{7FC28940-9D31-11D0-9B27-00A0C91E9C7C}/InstanceData/i::DataSpace/Storage/MSCompressed/Transform/{7FC28940-9D31-11D0-9B27-00A0C91E9C7C}/InstanceData/ResetTablehml/d1cd475a-8c35-7acb-e7a8-e403b1a66a21.htmC;./html/d3860c4c-3985-d50e-c1dc-fd32aaab0b74.htm~?./html/d7cb71f0-3d35-85ac-37ac-9fbe34b05142.htmܤ=?./html/d85711e6-1fb3-ef81-c3b4-b1d8b8f272b6.htm|./html/d9247a0f-fe4e-ca23-ccc9-e88ae2c229e0.htmݶ_./html/d99e106e-0bbd-09a1-0ac5-01dd9028e1c2.htmތwy./html/da2600bf-9e54-6b8e-b2cf-984c416ca59e.htmpB./html/da3601e1-7d00-bded-43db-1b9a854ecd66.htm2./html/dc4b6b47-c15d-ac6b-bdb7-b1d2648b3cf4.htmO9./html/defd9163-a4da-dca4-9963-897b6c49de3d.htmn./html/df12af46-7f64-1e0c-260a-818f432b4d85.htmv./html/df60ae22-dc39-3f76-6392-28640090c641.htm<./html/dff2db5d-3c2f-5216-f515-3e27aa2b1287.htm@ ./html/e124b7fb-a9fd-add6-6d4e-b7b3fdf8139f.htmK/./html/e23613af-e71a-450e-5b3a-e97878e80bba.htmz ./html/e25cbddf-f7e4-a33a-f777-4f945b1bfba2.htmp./html/e283ad12-5d55-2603-4ce9-ea8536c773d3.htm ./html/e3ead7eb-7852-6267-e01d-43a16b496366.htms./html/e4511b42-9ae3-c38d-1a5c-765ac23251af.htmX./html/e4b4494a-63d1-166d-6a90-f378757eeb23.htmY./html/e50d333a-98c5-acbd-079d-44fa38c67074.htm^./html/e92e1dca-38fb-5d68-b451-9f661e879a17.htmp}./html/e9ca77ba-c93e-65e4-7074-0a91cc26d700.htmm./html/e9d6ee2d-c616-b4b6-ee3a-dd67f3675ee5.htm ./html/ea48e9dc-da10-4b45-f0d1-53b6f9d04110.htmg./html/ebbd3fca-67d6-f747-ebdb-a58337dc491a.htmzk./html/ed4500a5-c737-eb6d-7d4c-8afb25f14ecf.htmek./html/f090f7fe-32a7-4863-f22d-bbde8c67fc6e.htmPM./html/f0a90773-0d50-b0f5-57ce-f182fde7979f.htm#./html/f2348183-b05c-4cd7-7739-596a4bc2e942.htm@./html/f3a78e4a-1f1b-6ac8-eb02-c01fe6dae227.htm?-./html/f48966d6-9612-9eb2-744f-25475788d0ce.htmlQ./html/f5035cb4-e8ad-a4ac-6a72-3063cb797519.htm=x./html/f55fcf55-3fc1-90a4-5298-ea0864cf0665.htm5s./html/f5b42636-8b15-f5dd-6644-02503077d806.htm(#./html/f95b7e88-90a5-fc60-35be-73d5b7a9d15c.htmK./html/f9990fe6-1d39-6dfb-2a8c-492252b20f6d.htmNR./html/fb2fc4e3-e691-62bd-758a-5be6e92f9bc0.htm P./html/fc64997e-d4e4-76bc-78fb-4cc5427cc42e.htmp./html/fd157ad7-799e-6e29-5db4-7615e7167710.htm7./html/fda1704a-d751-3977-a5cc-dad951d2548f.htm7./html/fe74fda3-1169-8ad4-ef5a-477ee25f6bd1.htm7]./html/ff4eb710-5f71-c66b-a8a5-c1b720b5d7e2.htm /icons//icons/alert_caution.gif4/icons/alert_note.gif;{/icons/alert_security.gif67/icons/CFW.gifmL/icons/note.gif9{/icons/pencil.GIF4T/icons/privclass.gifm/icons/privdelegate.gifu/icons/privenumeration.gif U/icons/privevent.gif_D/icons/privextension.gif#`/icons/privfield.gif>/icons/privinterface.gifAI/icons/privmethod.gif [/icons/privproperty.gife/icons/privstructure.gifv/icons/protclass.gifyX/icons/protdelegate.gifQ/icons/protenumeration.gifbG/icons/protevent.gif)4/icons/protextension.gif]M/icons/protfield.gif*:/icons/protinterface.gifd2/icons/protmethod.gif7/icons/protoperator.gifM#/icons/protproperty.gifp/icons/protstructure.gifk/icons/pubclass.gifjp!oXOF b1  ~  qcUF_*PMGIM/./html/30bd200b-059b-3feb-465a-e48583ec88dd.htm./html/78457630-963c-1fed-bd5c-2ab0da314336.htm./html/c47ccf54-ee26-1d1a-dec7-f3e94d370839.htm/icons/pubdelegate.gif Uncompressed MSCompressed{7FC28940-9D31-11D0vCLZXC(vC#45AtTm@¿^pR8CbHX`nt~܆pp$JVJ,'N6&>vOS c lVv}Ҥ,r|*~< Dh( />^GXz]pnNuL؛x(Z4H ~/7BH4QxX4clx*rĪڿ:vr(.2?GV\ns&֛hXh &(:<0HW"4HLq WO HHA Version 4.74.8702$ KEN.html/60acf807-c6f9-1ab3-d635-634d27b15b61.htm&Be.Windows.Forms.HexBox API Referencedocumentation MsdnHelpc c  T#SMAb3D4VFRGK-l&Y' ,$^"kck1 (EufhjbM# `kH`O0}.dPIMP v6P(t;7!h{\mjOh!(ƴvC`1#rxExwj[X 2 L{{?SA8(! rd sK"?/rgo}/7Oy)W^'y#yy䭏|5n7>ro/ڛ y|?|89:sb͹s5Y[Gkћ|~w?W&W~?p}ˎ= 9;[|/087M%*T@56?>֧^#(;_0]Cod]޼YkykY5& R7TVѪ:y<ïOlM":唂%&.'Z|TQ>σEyzm>Q(n &袠Rm.]# ~jWC,HiCX?uEq a?^^i>]{~r9{q餿,+lo9\eIJeڪ,}. g80XTu4&:H\5GQӀڕ"Yv M7qUX@+o yý83z#4j|_ҳ)D1[) Jvŗ p(iMS5nm:L P2QGY F[N%jWp tԞAgBV2s-b\,#jjiB;C|v]l@ M,OL;kTaU fYb'ɹf>O3[+,(ZatS={.KE‚/O#pKcƴoEo,QccH@Z "0ɿK^9Rr, ;l+ḑQXukA.TsdX/aӵX9":"3_9Iod$VD6`&Tb&qFpo%묪LKEF ոg,յm\c75%JCa#b UkME ":]Co\nNBr<u8_ J=Ä:ol@UV{%:F\dF{\^U͒sKӟUjKucQL5^QYZ%! l.n/QGGDUZ̡i: @`ܟEYoû>C}ָ[]ĬlXovG VJ? VgLCj4p~ RMEU5ިOTۧ D>'#b Nl6},dI,;LC2Dt_m9ʮքG#?]M.-cuTY,OԱl2t9-K Df(q.(2@vA'TVZGj^œEX a,V&j)uYfQLQt7]PD]k:VVTi{Aval q`Zm-!67D=]_l3!fven7WxM (>ukx?@\ܢ Cfķ22{YiG:D`3{}V|j_ˑ~Fݍǂ "B]EiY"|7k>s ضmgrWbH.tNX<-%.A?Eut@)܁A½^t֏V-y8݌. %1fKN_-{g?BC.k#j1v !mVlK&UuXY1E9UMK "[#jpqZn~..ڼ}d}&ZCzz`ۖ[-JZI-)['!ؔc9!-tc:uW,ڳ1M3xޱ @2{Yz<ʇRH7ݺ !&K.D s2s*z^-ZJS!,͏Y-QA<%iA~Rsn!WeT9B!Ժu@u/+G~Ҹj(ZM#Z3)ׯWxvDx&/|eZ)ߛuVA%͐ v]<;wH߃Ti0LtYTb0 ؁tW*0IC$y+ﭺ0M]Sn{KHCg4io<-.$i6Ham^X6 f5KޫH 돼B8/6t]1#T7VP/|@IKE7(r"SkùXco.ZKo;0mE[+W j0LLHMƆoG3 46gWQ y$=֕AŅy5ע?X#7]`a6Hݻw3( Q/F@@$ka feeƭtwg\LK T`8KrX^-˶YJ??2!quhLjz6T^]{b jz]HY,%NB7[Rh cW\MY-#M-ء|H`H.QZo#h'W"6 Hꟿr|(Jѣ̻O'&ul1!`܆jz(hTU XoB.h9/Ys4Y5($:5[9I\e0< I'Ӫ܅&%s*~y.7p1ᡵUL8u֬VtkA)t%P3si`k|oU~+k)Kn`j&5|!J#`LqR4 bN|]̮P[0ȊIdB^́/X1O2Wq,|d5^{ٓ+{퉽\uoEaAA m{^A'h| 5~hJ Z _ r3:#45i"t$°hҔ]Te>d~;5N ЕG`EPĀga}{q=*V!ۭEU;?;tQ4{;FuWSs>h$~xݡFȊVjxG"@35~1 N ͌SG{px4A<~^{d!ل7H`KO1=M9Э]O|DFl_1҃6 1CxX):KDo sS(dO['7h[խ ĦⰠWNuH\е r"T|Zϲg1>頪agehs񟪺\U/:op3Ib 9X#VvV3?U++7EƧ/hvZ̒$Uj.y=]sCM?gA8 SXƳҖ[m/hUh ͍~w_/=ȔH5.k|ifH;L'2?v}Ƨ꾃v\$ zw-PlTm]w<㳑.]f**,;՚wkR{t V(Nb3= U_x7v=$!)Df\|s6,Ƚ?; KmI%D{\8q0p*q 2er͘}2%Ii*qP[L)tA ?g_~ykCz?qH.tsrTӽ|gAX+7ZYqD/I?O V) Py]\'ѫ}2s 37Q:oKZ`\SFPVRVǷ/w֦zȉNGr85ng跧={}1Fפ'@ӗǖ*ɁuY4}YimLq)_CP' yַe@9Gw37,0SiwU+~cy> ͺmj<1F׍/k=cFłc;E֍E񏘿g (8|Pmuͬ70dCzR9ĉIm|3*;:{~@dzA3C:5 Li4~{w@^'a$K+^g۾{*YB?I1y#N/T3rʇ::Ps3|~Cg[^az Bj>}!]"Ap\Qk=eXw[_CY>'_4'*>texߒ{@x}a5͐c$aG,E]-9Eݳnr{PZ 욮u+ަ\W3_sl5bln;X YRH:װiwjvKP.\j^׀~ 833æ6(Gl;Vs|f :I%Ǖ>Ztn3'!ݚ{+Fh}vĸ4mUݎ>sGaxM$MMk^{n mܒ,;wWaӚ/ hr_>J9;'1}aZFc|hd'1=܀ Sb w"cy s%xR:"L]Ltk()V&.9e1)Uw8ߊKM|Vh'a:h`*1?:;NLir)a#Oޣᕟo3xʤۣ`㾯++Dyo rde11Ao {ƦlS wW==A6QhP~OݚƠSCf4<~[*ڌ@wĉ,25M"dzt~eqÉ|0dMS??Q\?4SM :'}2ke8pqpbJru\ifBC;z5cGm{/gΚ%oѩ}VERF*- RLp^4o 76jG)p"уSΪ-EEo2)cb0䏰x0sf*FBM6|AU98aCaꮄuPh9jf9zLgѳ^7ՒNVt\: SUhqYr NY1>->%\G*|R!#kjgr/TԽ__8jgzהG k{p|M8Cf^`i:LBPQ}WHc~@24CcF]ESͪk}?@\inbԒ=yeI[A"* NBZE-pOX6 F%/ u?{ @V- I=V %؏Ӏi~={ \#77 ) c`G@dh qv[+Lx ۻv^VȰByI8n[`(ׁ {Y}B6䳷#'OWZNWҴJSo[Wթt?ӡ1y?[K'):sX[LFƪ"1mPvfJ|7}ٗ;Wԉp7k|-]ӗSORoGti>z[{bQÃBn 8\`Ew<`F[ϡ`%?:/ҭtX]Fj@ѭnS)w>0p D2dx@x#"DSU ε`<1|K lVQؘ8Vr>se}}J@iX2l&#gqMi}.nRL8;K?C`- wRs7O,RT--NPbօ_gyVj +6~/iO՝ԙ4EU@$aDI%Z)8Q2-YSCֽ@[Iixhb繝\D*pk] a'#dțzp94ۀ!3Mb Sq][i FLr ]Êe o11kb>>&v6lefRmF[h[ j~}oܝ/_'ie&m2đ]3\ tGG1ĹB#km%Yꎜ5Y*:ѬmNv8X:"q}k"$naJ?i`Lo Ŷn&CJ)4khGq)g8؏ ={DE/ya Ll 60B2/lmn]"¹C*X (ZlAT).D`Eh=u )60 (F ԍ??6[s%Ŕ"kdÚ#8w14=SR{dzBii**F6s6ܡR+~噷SV[[8q=>6a׳L(̰|Gg)5 #tkZzZ#,E;߯ 0ئ'IJKٰI.r&}TA"3> Ơgnro+A2,Mh<]1e;zSWե/]"~Aލ9i>U(ПǡW+)gɰItAY+$ltIbq =@me\ v23]$1r{ddeOsk_E"2/]!Bo= Vv*.%k x1nKe Bzdw=,uD)w]w,u&,j,,~;+)J5|rl <"/)ƾlŁbe[e 1P}99VvF-jۦ$WK֣P.>(Mǵ%%"(ԅbs l=vci+rs8cLbRw%^:n1 1ip ~t?.2[cg([XXfu=aS>`Fm,Ncm8'5)~Z(Z#t.#FtaDlMod/RXzꆾ @@]u*˙1t"GchP<*H _j Ҋ\ɸINUblxΒph]E0nڪccKVUi*wi e}S7Oafߓ2 v¢k>4;;ݧb<ږ,Զ ?oA0̮֗hJ@ѓl%Ő 3` zj`'ڽjvjGQDY55I(^e.^'@.2`K\pVʷu}>MGKjg@l`ڠzh2gR .VmRSƋds`>YG}<#V#+>txi}#ԩý8jd='z_+rsTR"/L5 |/zwDhW5,cIR pq|:+g~ 1)0Һ춨7= lz_tِ>+x;`;,7~ I4r^mq \vLb oObؓ<89Rz-EH%`x=a sL b=d2^~hUi`\H_(79*,V=fnVm#s1P źpqIklt\3 I>Q D*H^mO+꒐⡬2Ӆ6mhj=ŻuxïʩSx3n̒2UgqIyXgIrELZ9Qp-"_9=@L=ʎ ífo53 qrJC3l1~RCP0Đc)jb@ LX{V;I`[cn bk2~-$N-zܙ{˼S()&n4:A7G@6=1nߞ,]´3sR.ŪH CcSǥcr% >Xt87 _u Hpf;Ț@; v A@"V]7'$cջq2_F6)gjĦضQMg_o^ ?m\&Ri (~0n/ϰ]Zoj4^V-*tx+3Vw#'{c>A  t{5!r&6R!7y1*Ivɚ^t2 =xs8Y;%t]atK|S1UYim$VNt/ \דl@ ΝH {}*Du r8D"JLz,K 3j^m4xCjk1^AN׭QP;ou?V{n Kỷ"!HC=?~awKL |&6g?6-4` {BŜMZ;xv)=\x.F,7$ LI`ho+;_'ѹɞ+T+"9lkbh co,e`N gEA,ԩWXޢ!yapSzy:spAB|Q;.Ay!$usQe #9Vg4ąLn9T o1Z$[Y) ܓWpQ~T: ;Ϛ9j 4xf@5}!}$ã>nH$5˜vi)~6URZTWчM_AZKx[]fO7)DFsH:mPG6,|p|Ӿ^0e{5pmr`WT0F cnVE:(l~^$&gMΓ/R+ᮞ-Y-u/-T7Ƴ";lJ >*>,'A8!$h;j,o$V: u!.ms&f4z㗆y>N'L?j`,JEx!hKkҝr 7qon+P#69zԵqES>GDՑ6Vs\;/_%/ "Q<=6SdHxᥞ;R#2-wZCh`(:먼ʣXQ;[@x`unq(a-N8oMxH6$AVn=WؐyA)볝{$D8w[)?fE<6GCe$Z$ǜH0s-|6?VmzQ_P 1z|ayx 9 ڀ[[L=Gu^mv%WD+>t5 Iq1z.bD~st<#OLԈO")EPء 6a )\7a" O"#f$2VUmQիuĢ)@?]/y@nj>z=;޻3X%b, F+& P(BB:((-Ӥ Y2%0"DFSҵZnIGɕ%3+73x4Tc۾Oy?opeYӡ#ӝ>N=:/=zZC$vI 3V4pwݽگݮ][liĪTtKW+'Rc"#?dDH, ab D)Rt*E![5;`t)֩una8o/Pgm6ٹIZsrú4V='8|@0MpTsa) &N[4h_\,<* wTX}ֲLNL(PDD8qT'̩#e8aikWR7Tbbb T0UR-gIp:d6Xd"UM7wyhRŪ(\Cų)W׊`) QI)'h I 2&&S=SuB&f#)@EÄQ41M9"v9<٣)$0&*F:=5Q§t}2b`<̟ ] 5MLK%LMZ &Suj\;|*kT9T( qx|^@MTŰq iJp" SyİKqV,dy}֦.ٚ^PkZpD լ>aLpDIMUOWOoFy>]3鉪{XB)o=YV£iUP)6 )&M! i$@ COՂ=cU8jDx8 SU!vo*QfϱJxZG/-jf !F)GIzG-&:C0#}an4PBj#>mL :K&mhpJ5Wb[lwx)5̊$Qt+D!!OHΟB,~iI@#dߌvg*^r@JS@W#mfQ1 6FTE sAOk:O)uzʤrhnji7@QH_RWc%Zqo-mp501T!%''jPlH) _b/AtY 思rJxEdUTtzGvL4w+m3BYtHdZN$opr<lKa Pőҿ)B"U3lDxpͳHΈ2h6%5 'o@[&%ۀ;6˱(g." ~-){q!Q#gܚFe+m"_=šdw8a% @ :DRj*f- uTt|s:cd,!S Z PӃ66U8mf:PcE7: RpPl8"C>fLCĭWnMLsҒ (b<h|xrv܂JIZ}1Ed%#LWh$jJTI~|ަJb}|ڟFC')mҐHt%,u6%biL5JEv*q,i P9 9ԚJ8Zl*08/MVXDΧ)&S lx%I⩪ā>㦓r8(CѭL+բD[VobEJvs]yJ,D.F,0) xIS itUw,ڢ'IXׯ| &_bfp8tS3i{yORh|S$=AA׌ڪlP\4& $SCV{3.rp[σ@qV7, "k56}}mAHtã)M @A  <hanTz%P=({E}3tt@ FC&s) .\psFGD6%@XFl1g4chHݗ-XMq_9q"QqUBN5>"ހmQPaV&瘬&t>$rd@_*!oLn+i4z^f"@ Pn@s1 zJxEwB[D^ߐ2$P)I$c`ܹ$rD4)z?!P܇ •fЊ[oNq@tU604'Q~IJlJ&@Q) = K7Ϸm؟ك=_biWxrwtU )[85bp'|褰.TsQYM٠!WE#q F-I$l/x\SZICB(k"9uY&'ז;BpUҌ+c2 x ::& t[Y'g6O7b)ZCp >Cj\21e\ٳx  3@嚗U p):Ʉ׹Urp.^%f-rDS)ZClǏGԦ^0?aj5I"GetA)Kȴcn(IΨ^KN [S1x){}qz8am6(1t_0_8J /a94ux)K{x3&Y8KIz"B6A|V%wuvCq@yFz c@SYڐ"x,NtGÞ4, \dGQ5{@Pb`^_sN]?R+^q=ydOy3s%>= w\w~#.y~/o wxn}Ӗ=궩6=6qnfomy;1/Yk>o#VCĎf򄧝jxf%/^SzU&`E/~' kvaO Mw^iz=y ^krҋ)q=pv}nh3&-sRV뼃wD7]켋 IcԫVfہLl/10wao=ix/v-]yiC_z뙆/m_4ق"ɲo[ܝ4'W!_vOts]i6EWi?bX z͠OK0Vz64WNj޴۽3lus_?`N;cc?w##ٖ vbv_~M+|&O_fc‰" xS&@Š4`Ͱ3@;Nct.ڋGh61 fO>EWz\Lxrg):qJk|؇4?)M1>:fn"eaڏE@F<=a"C2XA═ &v 7A5caaqxQ[qJ&9٢(&9t* -gU ⠅חqs]11 Zmr2ëPsO\sf*X? O_שV8w3` חo>h_K8-Y&β_\V̚i?Vsj6?##86vz2{(fTē3u (gp>''>ac+-͊^Y(߲ʧa.(5VXepkLt4s{VsR,Ϗԯtl邑g!6elgkdꈍFx$(G T5g- w\O,jXuҽ DP]ՙF]%9s#!WfQMExmrc%qd9fZy$q9EO= udEI7*ANU\q&rɂq,UspZg:<u.t_"`({G..HNcPTPg4YZu[JSVC[{frC%KL>NiCÈcd:~lԹh?2AKXh]ʍ3tظi 90a1/"k7^~sCVHs/\ ÊbKg2Pܞ~"u.[\qiXs 3ㅁja[b~f5í0xqo-jvs#Z{pzDL+NK/bM1eԒR/ޜ.s?ZJX,>#CdAqmk=de2 l~ПcI0*1s2)洱q8_%ğQQCǕ 6nt+|$׫&EHUj(A,%<3hQO[u350恓83ܯqfYi(cԎYD.c{(Yairo›N+TRV4QAj0'ƨ6ܾ94)&sH`[ 11+h{D3FNT5!&aZm6- \*k"=SwcT){%EIy6SPXN]5dR/u`´ȱNe&Cqi29CTb 7&~ߡfņ<ljIݞTKT3S5̋0IUDW**kj߂*e?"@6u.嵈&OC4Bt3TM̏sDGꡑZ.S,QIMA)ˠFjHRfAlo}X+TL{=?<{80)N9xY`YßQIXȦZfrǃC&)s-|~x$ʈʵi-P?0 {Fa.в-bP 8iKV^{6GFQ,LhO 2${bZz`S.S]*ʦ DU9=J js8^mj#gN=!ʮTHl2Gb]My%R!+ eLʷUSE9ak-;y+9[*"#." C]]GtEAf{T|&[T+ԗIA` tN5S\EIb%=M3VE2"iP KCk ?MT}YLc]Y|y3`Z.BKVgMquW\ 1ԋU=eޟG.c(֏ L4Τ'*`0Hl^>?D^m  V{n ]e4N%R *HчmLŅ,4 Q3XTr|*Lf.&Ek6d\lH2G~ƄL1c2Aw%!޾}hs;Ts2)UC,Ӎec -GDn[0G!1 rZaH?? jKZ[ 'F9|MD!ON":3cAg9_W G~t D<17\Da诐mH,oI4Q>\IըQjZrfDtnϖ?s -nL=qk 3p*Js! }40 鵷Yr>jzHRt'A.c G@Oש^yfԤYc 3 ?@LKړVfskA$;V{RlRj^-꜂c[s(7VŗH!3{ʂKsܨ+D˹sHH,(TFxLM;Ƃoڽ޳͜ B-׍՞ξS@?4:N21nbu.1%rr?nx {L7X0)t5*6 ֻlCFk39B`&&$6`ˇН bŞ@t tSO ׫z=`$z QrV# g[wNo}p ׿A!RE?NX=:Юi0oq26L؄|VͦQۦBC̺ƀ|.l"uTي)iv $]ēk(D֙,h_9ﱇ,Zh.6ݬQ@H[5Ef" 'IwI*'PrM@#[&)'J1c= U< JP٪JX^$q/- 9Oz1,ل#Z. q̤sa,T({v[KެOr׎x&7-pMJ9Ԫ푸 6bQ&Ml(&k>^${QF瑡Jeo+9zT^aa̎\eV& ʂ1n6c Y#XwcX=xuǚloɨ\êse\1HZ=hIm/">KVSs:ɉɵ?:~IOMڌ/_&jƙ~ =̟?E:* `mYe\6c#?u=$АO'ןQR3RkJVVa͈n2"5@d _H+25ަ lkj?d"nkUi`$au @oe+çjic5*GUU.QƎ~Č歆cq6Qfk:ph$|lHh[XAZ``"[#krFi"to42̆%U(HF޽`v- #ww6ѨZcc7 ǙKqqm p- s1GƒE8e̩j/0K)^' DPIYvڄM)ݬؑ`CƸ,xeI#Wtm+Kܯ}=]物lԤfiVZhM|i`<Wr]{NIIʜ]ޖٗ<|f_eP2R{e}˧cƠk(|y|R1D2/zQSy/ZX=g$*uyTAe*F,pqLק-C0Vb JVjHHX1fǰUmh*A@@VUUP_%[jz6Y`#wjQ֢s-(UzE*vǹ-Xj- M<˶Ru4ؓ>UƣjlKIY^PӪo&m(_-}OāS+/O ܊EEHUX[2.%%BwdJ0N3{[RwI/u]4B|%]OځUtS{letlzta'gk,=2_ldzS<^obXaVj\$DU:bU8X'ʧD9!DDJ02] SE&7o!3=U epG(!d+kʲMy:(Z-nDڧ-Krdeko"RHr -B5K|}g!CfV=i5YQBEKL"o?~yi-Íڃ̶R0Z>I&:CTdB^UѺeUZscw"$Ϙqj`XW؝;}~^Ɗ7$q#֕1 /7 AԹ>cU喫!}y\ɗ 7<aV=rC5rK}nPcEr;w0e 8?aY{_Q>Q`HyK=YT4AS%ɿM/zYoz%s68c2!˛Ըo}?u&Z[l$ڍ!t8>w>߂hm"ϐrPT "e=Rd B*r)1z,5ag$2һ,PiI1+Z2+pގY"1͊n-4rl0A #d85YjڭO(NvT~_rm`;S!c%8sGn]sWC_}P[}ZdmM9 .V$62]qbA8RldE /b/^ hFZw#F-##r?)U ʴT#S % 5hm{1]#׮Lܺ1|CfIl.B\342mZ+ @l;닿=ZV*ے̣}̯1P||cʁWL 7i([˚ā"yݭpZ~xfM2j KDߗq2f}&$X0ㅟd2уtQz/y>D_F:[i%ɥsdԑl<48- =;oɆV?Ul]$Y82" h._ )L0#9O== B:Ж8Qf#qeI(|lFo ;o]lnZmL_fHח҂6xrkgReկdC4-(ik Sd1ӦLxͰ43mv~"RW8IY=i.g}'7 0[L4!n}NK:{%+%J@j&/}~L[q:#hi)2F@SfgUX2Cг8,GiVS/ڮT07Q ňңSń3gH[KR'!NL{UT*S$r4:RWLm+N~=U\&ǍjvOS8w j =Y|W"əiwQЊ|>l'~2CXgIl: !)؉T0NN~-IQ6Y{/q+U+w hjSL&ERM ƀ8 aNŢAn'RfnuS^ zSzP:bG'>`#uK͇H4s-Ȇjg˭sI=k\[|RPx}~)QO3mf6hYnX$p,ywZNCHɇe@=7`|eBzڽaG>P,gQ]ap<ة6O"&mzN wBmlEwNihhslxI›7zæћq]Ɏy8qd1)CO2ک_9,2M.RSxWQ)B=eo 6OAU;3pSD|!!YJ L0I{ilK/:+YI^qHe"ܘ[Iڢ&wW?Dowző nyhS2s""n9YuG&ft3NkkkLKѝ'h"+C\lI+|ӓL1I=EpKBOZvGjxe3*~*^&&Bhrߓ;avwv}4B 8 o3Bޕ;z! &~X^x,EحxKr*=d뷝 LJY(JefC7Y]Hi37utB9Q}Z@axdG pEn%Lj~wd= /tQf˧u3r<[Xb$M5PIUY:-c3K̚F: iW;aSu鞏Y~p17Ti~Hʈ[PBŷxMrޣ.Ϻ"+»uUCKKM‘V4?c_< szK YI;B&-챂dQ~YؼMA_,uD z {Я`D#0!F5HZUBԯT1hY-_g3f!bZأ,sǔYS}kzW3l.Ѥ~j_@Bć'Ž7xHT B`p*d:w=Q=r4.bJ$^ŪKm2Qw}Mg&sGMʧ\VZaďnS֬f.,ظbaan ?kxT>lĬub<\xʦuEPn6_aP".& q܋臕t=ײ9~v+yqI2"o.ԤzS++8u𜕋{飌ciSk+I,/OEۿLs,D-~@# Zb(\Y|&+pCaXP@͢#(]~_#,gSvaT"%>i @\5?E4z-4M/w azJ)4fhHicrof /Z}qOsr 2TY㡿{sg<|<4EoHԳ"61=_xxhܰ=zt|s5tZ&m`m`ָ;6X> ptdCEP#oe9 FsmU೬?6bm~rcO"D@5``]ܜi3LeKI&H&ș0EjUWVoQzToE/oͪ>E@UoЗ}$ GhFΈwݛ-3dYPeIKA! Db=!"ry35%y(sǓȝSWJϜ_fq<[@%vFP8n_pUj0[ѹgAuS+v5/D6 9)yb qMZvv^<|t=5hfVVr \Hbfǧx$%!;VAĢm gtYe*C_V#y WKLl3v[؉+]#G7P"=}P⪌TV. %QpV# ̱Wzv7 //8>_ኮq݅R|\kc=UNU.2c>39]'5S~*2FnVn0%,Rl^Rbv? IE(\ ̶ygIR&DܨHn7/O{KM9P(Uu-hv ;=2HTڹB/L(;itԟ^3v8OO39P H݈%Gh@ӜUyަ;ӓGO#hz_[&l4nL_ U1b$mUv֩$\-:'^+ZipNGL9CQ?贕G5 #F\_I7LZ)Wvsg!jUj[흗fr;T:ќnG 9h UeAr0ۖvu h;3kOJQxlQWe@q>YGAxV] ʵTTײWT?ڞͻۺ3Yit(ؚ쉟pn%-T l6G}o_Xt\vG^7'u3ǝɒ:y*-ЙLo NA/^kN0uVȢc̒5^3gb$+HN}.!>}{,M3 R1WK^¯k".-{z5,GQ Ԭc4zfLlWayx{_F50 a=ph ZYEz{bKU~ޒU!fIX+1Q5`,Ń  J쮴>Q^+DLcvF=}n8hnɞ0H;, Qo}қt)adlB3~=Nufz9c6U+)k<l4Ά Y~_mMk,!sPo4텄C&%JqO{o_/Ը7T ծ`#"ZtrFF*mpFKA 9oGk|º&l/3EBEkfafQNʑRUSw|zWm-d؝Ev_BF'HHU$!Q,.ˣDؼ6Or]]z\q`x*Y3ۺ(sf-tiu8Eݲ2:'~jXBJJ_˸J1@/$wrݎ |,0KAq]'g^M;5G.Q.Q*"&a9)t-x᜿ҕu"n"zWG7;V{{h PC{ }.T O/:"-Q󫦢C~Qy凪T3J̘2 NX41 jbɋh͉OMĵ{,"?rM+-h-{nk2kL*~ 8Ry]t e>bc]ēQ*5I$S3+oP_,e)I.T٠Vu&[SdJoZƈQ"}.l+ߏ2Rbſ˫u||+~xQ )q{J,n)*Y>O}7f"AdQcfF}1.9A{O>̋#|qX'RiU AGr{ ~n$ Ѻ|v~͚j9QJegUM,U1 KNOW c]0M62գ\ XlVKŦrVW5}ߠLo9 XBTwNhK3P_u_"RӢMxH<eCI ɓT~M%vKsOP;ޖZn|)mO`JqhKs Drӹ|c (íH"˖F!6Kl+EV\/l' &h~wFuK>Smp{#dūJn>xv>3y pjF$Fw ' xwuIHvXr8zٙ؟[ Q"a`k͗{M;Ev&=l`HJI?`Κ=^ESߩ~'e+!y  ,&_bNOKxOJU{rpRz:. ma)9F^X]mp)"=7<6{DRE}kYZяb{dxhbV;KJ5h2C9!#%j7׮&oG8jS|/;ZϮG%iݘmcWSEQZB.'1"vBP0'$~Z%tJ7Š{%~\o<3JҰjzŏO}.'PE-d\oVTBfn(Ąk]jb:BVJC?g"<($?f7ӣwbDxξ ' ]lŹqk>t-"եV%!k=%d5g6)_Kq#Cm~ţIp< xf޶lGQ&6cEa4g9HpxjUoxWO]++CI[!M-q==S}>y"J\#'Q:S͠ї\hkSu90rYT]E pS9$BX2[h!լ&JlmMaLhZŠM3;/ryb% %/!ǼhhPzoM1!>vFh I$iT$lUcuXasE\PIj^X~|H0/3@Jd_7hT: 0edeȥq0Xa!e9 Y(>sJ8/1IUb Fѿp'Iz&rl=.1ZOjg;JT|TډXMmfژHb6(ؾ"3FGfoCtCi d|%J :Ԝ/ nAo[F Uoq' q"ҋvia֐y4}+zuJ<.Ȇe«{Wju jpǪ#g&o7c@"Z70LUYJd*["d&1PM| F}nlbYYN yKkOnƂy~F.iPdNhNEFN#YG]FfL߼6MP!"#2Gb#0.F^g:jgC<~}džnMZE'{$탃 3D=eȴ^kqa/g*awupByEet!LV,dA*t>NPd[󆪦В^E^ۊ7M_|(M(J#dg3)_i߾æ2s%?gм_uD,<9׆Pspxg9o:oɬL'_{HoDh"W|p1e Zg]*0! Twg5éEC*px3o&0%9O-%}J)"w PUkhk k|<1%tF]tp߄ o:6:`{'S@|7> xl P?yx Lu#QhC4`3^F B]C1Cǒ#yfn$Ǻ%jg֒姶88 `& quhDw94&$Lܰ$v\e>-P}5߈UݷoQoDŕu^ߦ0E(:74=ХpλswsrmKnH[l˙--m$cBĠE@(~= "9fY?9%ɉNJQN!,.+/dOpOW qz4DY"9)h{,F hEʐ7s+%X8_ eͪabu.>bF3XI$:Ԭ i'.-)GMF6`m[ j$@ac-Rp(Nϫmku)B8 w+i]$:ĩ<܂JlMz+r2$` bKЍ.ٴGe5'6F*M-p:qw:=:~< 7"C?Ͻ] )&:F]Xv[!|^S@zSE1MبYX=H_l7 FDZ aIwJfU}GFlڳ gI22__b@2-Z+5jJid >c^Q%n*6ť +ӹ^S|ӹ5(@c*,RfD ҆]tLJIjTD"=~F^ hm fɽ21f]uF$(b9).SD$n+Z!k9-=^)1Oڜ=NCgAޫP,: a=\UODс]S)mWdA(5  r`)hN<њ"Q(GRH&ˍ!hz/-;}=R(AWFb0]0?S\ң$]pg}F~@rԏ6Ҡ.峘c]vy\ȏkL{" .uN(J~R lL[7ˊP.b7IҔӺ¬QTS4ݲa&үbR=_ֻh޼~Gm6]A-<ӝmZ&;k*Q >ugq{s&*Au mKqÛ0bnj; 2~3ĭSb<%W$qE9_W:v]D[p^qHWQGGw VdQc;+^<'ͭ'._.4^r[Jz?5w|KDŽU!hUf#tMj+cu/8O0O:b-kw^/za#q/I]X8߿+(v({(1~jt<Dڪ?G[}[1?2%3Pu F(G_bg4p2# _!PV6h2kL(_#1o;[)]ej*wmɗv(,o&D@k rTKUZ`ӚR]?!OCڔ# . cWjQvʇ4` 3u;׆{5%NˁA_DbhPE ֈF faJ(RhTyɛCnlޏ^ܥ!CHC=ܟQ{ۍ@KddlMaYs)[}_.}MO^,tS` K fȏA"j5~6wk {X;j y˘e&1P> ֵ |p? a)0s> P:S% "V^[C˚[+XP$`:;؁EOAeWVrX\:TǼJ4ɉfIQ4IQxңo)]J@U΃&,5?=N^;h8٘?cDhwR H (?=XwD(#k25~ @ZG=q@]y0xXip@|`thPz;C{i8;>mL5>7'?>}O]AFy!Wd8%%Y Op>=@zr=pCEP#oep3q:94vZ_UmT9?[ZXdh͛62p\&Lh6bՖoMUYl݋Zbuok7[v;.|xc-|XWXķ/c fC+7oьaݶ[j-%3l)*)Z A AQAx'@QQ6aHbeFs?ᚸF}n5(5H&B:pO;j+KM8FNtl;ˆEQ>U'<+AZ1h58lǮ8]z{HMxM2-'fxi`e+hJ%zK 3K[Vz2i nz$tхY-qo`/ "m0`٭2\S5mW䟮51>Ju̗x):B8o$ʊI X,5Ob&L0+ZtA\3{l:#TLGHԯҌӒ(Wbσ,[Cdp>L9H>2rX/6⾌BkGCnFI3SJ+-`]-Rw\Χ,!lvmfU VkI#_n1<lWV֋uR;5Et,%9T̷fWT7ڞ fҭh9sT\VMĄkZ0ǖADf \_qٴk=xA3qDomKܦ|qhXlm&h1jXkmaiŧõ'dy dHb`;P2R>,UHuU }jvUUvv)#1M$l ArӤavjOf}8 QgS`џ݆KG3Fj29'.ᄪr+3PςkWBaɠ'gc̖yɽ^|T EoDcVywlZ1Xמzv(k֎,xc|uxLpY@9f .lf^ bltq-ܗ׶a~cv58CB _N͏Ͻ[>D9p.oS}ɧY bb<kUI;{an6b%yOCWM Ӑtkǫ; c*jV,)FǍ٩|ꑾ|.9suWy}:9A;=f'Ŵ ىNOjJSr1?zl[Dę csw ;D=!x􎾚xv/P6BgZ/qfʳIS5,kR?(NJsY@ޅ픏nNXx^=_+2b~x4vEoI7Sk7c-V7,B)YO )W:<e&4%SVAf1Y*{QOץo{q/7XNd&@(8Lu Dfd'i-*£N`9jb E.U)&zLn(r; Qм)x\tvꎪj!G!;ސУ*^IV13:=~u3/nH{Nюb5F9 d#Ymy{DiygurGqѯx!RpU@2ʫ\O"-=~ק}kPv a2NUt{\(1żS:ɦҷā&J~Mt웓 j9Sw$#3 9ǛVLK![(- *AߊP:NM{wekv8)%[D|Au[+jѣD!%yQbyJW<|?@whycDuQ47qARTV%V\qq骈b*+; 3~X_ц()'4ֈL䒶\s!Rsز鷡ypz%ufO2ó퐛jkU'eFKv~> zJgrѸLDdk'VZdCY?A ǚO8AcE\H]RI)EEhjҌWht/*WeOځmUl&QUDknqZuV}TӻKرt9r0Ul ҳ@=$ȱ+6$¹̫ALokYSD9CŧN${An#}j^s [A_%p݉):ɤDQHfOFyގ$#?⒖$A |̡H:([" .c#VngvqrxBy lqhP.'ltĄ~: P̈I.ҫ5'0<.Q UE k_eA i:/7 p¸ڱ̨t}a%JcKy@ľ@ ֲtrs`4s+Z@% AګAUWbF &юoB7و.YEr#6LZTTt6A/1ͩvDeNhL]Ao. F_fr(=jd nv~zЊ7ϡ}1!A5L6s4%rUv{.y/+'k&#Fc b>}契fQNc{VuvX~%N@P(5Ff:^Є+Us|_ɋ;ԝQ073I@ʑY})O[6z ,}sBn?jZ]6{~y0 "?o;HW6יKDufҬP_ҵȸe ٔχG2+0i޾2P9 ~ &|j3Zz&6.h_N6YbCn-,(}*p]r'^%Q2X(m֊ɟhS^d22׹b:*a“/Ov (?@_3qLt_k6O*6Y+39't^S(wt lB;tf?Y,yt? 7O:a;ێ5F #"ߊ(reuv glʜKJoŠFu?\w[lU}1[4ZD&mL27/w#mz/90J(IߝSSܳ~dԉd}83%?5+,bo`}?d8=m@`u~96x;ӤѤ@{@c5`#nVӝssvjsގ[ {.|쥤@O!"f&dlӑ$\7!fs45* S- GJ!uWKm@å-ыE(J)}:tl(pλswss67֒eV-m.i@ AG(g?|?䉝jX^3rۅV'tdmڥ)elݼ |)ݧkoUT4\yҕ^t|LlwAKV);JnFATi5RGEG,=ܥd NUg㝺yf1oiZ8=򮵳u۪/G9f2aDoZAe*F!p2Mt۔sVǭC)n)ڔ]11or>6% {̠UuaD֬;{ÚڣD>M ]NOn/-21g"nQlZ=o*Ry.#y.pZTڥ}/ ze?hWFPea Ңd-4rf1nEL$JvK4ڼ.(׸,W8tR<ؒ ;E92W"V`iB1nlr/?vzΞ-mGD@䲪և~St,?#*5, N]aFs;ŨG# jǬ&r 'Q1'J2ѷ'/}mZiNviNX='njyvQC,"L뒚?'-Ek7Yf)S»C/kɞ|,>>i"]kԭR{7Z:~!4>z|=h'7} , =LKkOѹWz#advX (=<+B^}gy0plar>}b??\\4RF@{(Nv)ByQr'.. cz{>/p%X0 rQ۞-{Pڄ,lK횂d⻷SVmd:h"\#kfط BO4`DI'Na}uv)0$ꠓm-D^ kC|p *M I-g7*o *hd㄃ʘEfr;9F,tG' ";z<1G-U}r%b'EFXKSeqd.F nm8V Q;`;+Bw(KsHi0vq=N>ePSf`*#8pdsP oQqs0;3t(~ԱAZlR/n=Nepkbye+'kPaLKc+}wO7iS]E.V_xs?I[4 [rw !,59|oGDK{W>YFκѧbîKxyG~V{uOzp5 yWrVy[^a K;m/~.2+l֕]+83[Ԅ-\8{z[sWZ hfeÍ5t6"1tnUT! ,235yᛉf0}.F:5*"UL5o ̰::Edx-/ M?¥K^9Y=cI6ml*EEO> 2KROfNu܈l}y29?CMʷy>DWsS֬-)Xpŋx1W"p;!N䚫|nz6Ay/KD؉2JR[xunH`rט8sv*S˛wX=Q]Qb6kKO^ ^Gou4v r{w~A^5 VBYnjP(TkX 0Ӌ\wEA=Q ZflU#rNnuQ:tc^Ϻ"7)EA)ϧ|5& 䗋WͫH" /Պ#ExqF/m;,>dijZl)[u=t^8&jvBN+L#.Κ,cSۋb&totkT%_Z;1?s<\ee~a%R9UW%1.)qJX^45yv1L 3nBʧk),j:I> ),:JVoBEX$2~MK%СbO]_>@ȸr;>U^P2U)Bcz4i[ +5]~wމ!jw'yM ? G<`w_Tx-3vld.r:%F`R_ ɻoe/"1wΎ}|@iXc>oNRAOָh[˃d{Gu"O%W z$s3[ǙUA?e_.oGFSDvpꦕ.]Rax{>2O?q(J ^Gr|eB+~%)W͙TlKS$g0Lf|E?CQ@bBS89)ҐErKAo†<MH܏4 NA46Ff'uׅЊOY}>'yLlt p>`prp}` `s9%IK<+ K3:NODY ¯‰_}gf#z$օ `R[;6hvA ==w 7(8 CDP3nFPAiWj۲YDmviX'HjNY$=n'm< J+/e#!"7ݿ]M>In%$B@-T}@p;kB|W}*ߠ]PJRvn74 RE3Uf7s]%dYYVd jFQ>@PA װW9P@P!J dB=\oV|I|;:ǑeejycҔ4FԪP&?켟 Gb+_S$/ٟe*!!QpjDZLYPL{I^AE1Iz OqbtL:([L;sKJZ|;[#R½{=\JN⌋*m c'1^zכ}9ISգp3 )}^6l?$Hƒd*6i2\z^6@Kϟ[q)PQ.v0^ulYpnAj( &W[u(F <ʹ>rXM̘Ao 7$F#_cq Ǩ}l@Dtd2G?sg;f5&<ٶ*Qu5Sb' OlTB6LRrR JP)4ޣW+2%),9EQTHر0^b%F^TTu'aĉIĈX$f 2x2@/ibY r85Iȓ YU29dt FڤaB*8Q)'Q|x/y%3q1"VׄruaGFY~Tu {,ȘΖNXeEuoGꨦ R "lȄ`I8T_IƉ'2Y} lo_:= ġmW{Hm_X~Z^vqJJT?Oać5|Lq#iyQ(۲VZڄVc>un_Izϙ,֥*F \B)SU+ځdGRؐi6 )C}}6\xx5YΛE<< l aXl\q&Wl`(XK>A[;W=sS2Lj!hWH{?̟w8uC ޯKλrV*!\wו8+tԆT4ej<&2yp$x:6%)qUȫ^5,w&;.7pq<b}dmgJ+ H=*ثӨL"0[\_g|f8ơ⡼Ua8ad7+'cs̭KZu{E`Շ][V1>2qbB,`֜4koM;@jڢ!$4<]B9Xb E㡑Yo `1N]@p)]Xh8|Ǘʢ晥5B"^mAgEij^flUYP-uģ23 HWՅRQ]UFP= RLH̍ st_Yt̰5\[> 4:s&lLUV˛7P.Y*2 jxw]#i3,)ۼgT!dY4eid򜪩IuWociDZg uwA4"H[L:zgBdwyZׂ*gYshpz,e $ ^J]r!'5t ;VՐ卂"!wrF%_,~!>ΔGdaCs'|ڈqpɁd%l'X:va:.[V[?8_>Š]nO>ta[k[6,pOZCrdzK,ϧ&CtݼCUu`3 ssuQra}Z{D*r.S:8$x@7/1fδ*kCxJ鄩T_ X_A\ǞܽN*3'I\jri:hd9!%.^)a g,ou>9Bv{'5עԡk=q[L"zrs"v46tVJh )SgšB-46Zet55"<>ڇ 5آ]{͔9ھ^K 6„Σ # T J;Kɐ^6Q7߰.+Dcxӥp4{/:E%yM˽g{*d Uj)̃늑>|ZڊmYAI*0rf#U$g"z|ẅ=JM'޸-;Nzu,asU975c>Isvv&p&KM41.0+d@N(*m ~[ccFÙ6pf3m`fUmUծd+ ԊeQ3a#&#C,9X6I~RqexDkǀ]#7BB}b?O36yM}XpS ϰkPRELSD>! nJ(񎷉CNP6/'Ğy2!i]IwpCD4w'kZcP# $46C5++LQ/=1eac͒ʑJ#@[0krE%oCQ&AP[2&攲Iծh6ꑒn#ɡ ]n&JK ݸ 7^85K͢ .2FUG{nZ);dFTm_%,n9\H2WV[̅y`M!F+ }&!ps0rc@Z>ܵve['coF/AۮY,a;Vz{:M|/6fYq`Vc?ȈQYKT ,po:E͵R./?S9eDKykrpoϙuR3 #GBF$v ׌ye?ve"}u@=93cНSc['4-,9qk#*9_wSH9st-@x->uĖ4xԔ:`fî$G քڑ d<C3СM{U]ĉŜcX =vR{E|M503JV KjB)+8_v/HF!h ܘƊ"Osu Zݧ_w )i |Sx(.P3Sl'Evl?OZO ] tk\,I2"ўV$Yp4C /^GgT1k)[EPZFfSD1 Snܞ4Ziǘ]t|їe3~ѵ\i$RӘ< $ﺫVd蹲{Hx}Y}(0c3{[nP@QXR-@ 䞉+jڹ};`ͣ/!yR$duP!z"z>&ѷMң?;+s,Ybg΋8͟Ç]*)ٮuD(j= Ê<;coFuhݑ77[g_Qe RJJS6JGpzꓽzH0H/p^0ُ]h:P %di1=FDhiT#;nVY}flrP9?dEcRc5m(i0:wA_8-~f3_r//VKv_6_I:l 5e1xGQ'cd[.FFW8m~ktL&3NJ1/6+Q7~?3?^ꩍCo>Ŧ6TN5;JO(7  mx+!`7RzOjRѣJ_YY׾)#"q}Cl0TZ^Q_ŨE}6ѧg0fWF2j-z{tӥvYgJ8[E}=I٥ xwPN<DV( NXrkj4@cH`vxx'QOUރ> U,zHO^5cwaE b!$4~_|.c.h:n8y/25Y! y-Y `'~rŽudUvl]U`Z S! |~XP^Fvm=yVGԇ㐚{"NŇdsh[4 ̆,x8E71xx2f;ڱMYҳXzV%mZ,ݖ i9W:]x$֤v;u|y\usnKS28xlYtɖys9:c /y@&  @a(9-ZJw*I3>\uh7w[-tºf:vSឹ'KiFFGp4_8NBDXN\Fbz"&,e6H /fi;5Jln;[>^y_=j7ԃ[QSs9H5zkGG} NS]qjb0?\{X-|u:ʿKx%)K1$E== b$"rq#>8r%6ٌҋ;GA;l܈MpX}yz áY1A]᛭tkmHJwcTd*Zy-;a߮Mk1 myhkjY=Ta:ɬqj $\D<7 4Y1E~_Sm#wi|:eH>vqn*շנcfuZ^5Wu9&PɤyY[ӵ`j"^佞;%yXv#^_HJ[$Da0gI-e(lD"7պE;3df1%I0%`!uf&SA7KִrU8pCM3TȎ'ׂ%eHMsL)gJK^bN`++D.2hAnU\>!XBNr]8U~tIl#z;bv6=CJ?D.G; j}OtI[$k^ VMʑy4KR~ rr" @ҽ.\iHV :\07WvZ 9*,mx6ˊH!^X<!J^"a`1BE_əFW75hm<s妆t*'rgUeT9͂Z;|Nb98TAdr@"QJFer̐_tѨcT*K`n%68=UpxvQ4TBZrx-oGog:B_۫e3W"8l8}9+~N;B8 Y*DStq/r(-Ԟ̂f_*:.Fu[/ãr-Ŀl!؋p6:oJDXp ݬ9_ﴆLZbCն$ )i] P( oe7Z!o]=཈YCG'ՖoDv>JPqЎPYq,4p)ߑry5SY֚}ʁ,(ͼXyMQ  $Օ2 4ͿI^rd>w0wd 4Man,0+8ydV䏍2ً;2 1)/# 6h4CRJxKB_nȵne!G손rV" gøD,I/(}pܤIʚ%wKk:Uzhʺh~W#ykhY ݬiâp2ۡe DrV#Ֆ0wBm7>:)&h <otQv$6A֮>ӵhm#YûM<[Ci0ӛev {0bf\¦iAX,, fl+.(ꮦ|U2i1C~/5"خF~XL̙FVt9PZ/\7pU2fB#Ziĥ=j8ˠӑZL/+~}ԍv2@P,80"V qQ]mMxw纥6$΄ircbKAYH|gvl : <`sMjcW b]5k-% X7Q@JS1okWxF`o>PvBq nQDu鱾|x8.Vcw&I˦2nם(b'NV6 AU;`5͘2,ڪ!*Wt)0x-pia[t˱C ȝۦvP#R؁[vZ qwoD1ׅ\UAę/s\FlE/vi>84`` ̊r1?3+2R&]gdܴE9jX"A}n  9w9z<(Qk.M+g Pb /WmŴ#$A9_j`[\$qhK\X"D`yA;WX껸>ndIr|w4j!)_H  !4#ɫ'P$S/Q'tUֈBؒ+xU!j3 4鯘l_jueѥ8keP,"02@/Ov3Y  Z*ۊtjR%>{V`ty# \EƈMΖzEt B)2RT" X'~{LO;uDWnY^}c Mهz)cw-A_P̨ΰ$ T9LTkaA/MT qB 1w_ڣO'{j7".G T".A-)T*Ɍj*zhR mu2iI'TP8mUU2w7SI>cp@ks}%j:Uիi]om|_j[^^0B c`a$'̐̓$ $!9C333B)c"v`B&N$y^x{K)-1Rkb/y)map${\̼m8yi6Z$Y+}~6#e`FCPEfo}!Ӭ5TqK.۝aG;):\gT,ynCc'zGlṷɹvo@D>C$` ӷ\ep򲃸LsdB_6̚^K.2lYkW+DԊĦIP^뭋JH]MM[}>~YDQԒ8"鿾4d;宅 5}Y`]4p`}%$xn'p(]tvx9/ 0Q(щ *t hK"faDŽp*Vb],"XhьcW@,0i f2ʎyuɘBhn4G2!bCwI$D!T2#^W`~4Eq WaCa De,56.4@2r;ĩDk`LAG =|)U0-P/v a d|ğ3ذSu6)D ׫I0 I  l@<Rf c4׭"jvq V)@2,,X 4tD)2Hp*"! ~iRabfD9-T*3HK0"[Ĥ1%Tfh L2$mɈ~d,MY/hD;nxPGbB/,LcL3XHJ(WH z.=}䦯 WX4QƉq1Dz4k\K"}?(S_JtlrQ_]ޏ."͡WːS(Qo1OBnTEZ;OKz6!&ѱG?dIAU~#GE:. 'G5ÖÆ?)F%I9Csdu0xq+.ptݝp5ڄˎN'!u(j_rɽdQ#טIavv^@5ҧFӯ#^(-'A'0.3*nJPq/ Ǘ%;ͼۻ$IQur%׷iIӋi^rz(HI A|yBIo O*>זfYR8r&dPE= ">aBM%Z(LW!K;qqsivRO%(`P0H*w|pdvvOçvN-n6yqtQ@ CT,v{i}z+9|gTp`tzjAMXNʤ ÁW+ "{ ywfϔ% #ejJM-tw*$`ԇ:Q џ޺SLŠt;dH[k_x'G:s-&L?^K٦Zaa :?.VYX| Yk vq]5LqYuAe th;$?^ןР0jm$[w|zr/ۺ~Q߾o7/c;aw+0j X|PRnP56ƵC}EXϱ 1 Ԃ}E'F^<1n[ytkD~B>XqgCO@ $k%gڕuSEm@5s04d|d5$:3!*aA” 42 BvVn릪 ) o(I`;>\:0`G8 s\J'O# R[!2/Q"\x8[yX69PaGA]5Wm9ߤ7*#pӝNc_K`m9ipEJ>_{ˆJL7|FH86S &#m"; X|/Rvh^$bg8 Tf{2"?qy1 hMј ԉ~?}28;cW?(T&$~/Fs#ƿ9A;K D#- VHLrcP4:=u3SγjBCHwӢ0p*sKçd {zUKĥ]/Z/3@ޣ'*$aRXz•Zͯ3dm53Nq%&jL{oL\_Cǔ[.cn~˛vRnWXԇ)oKˮ4lex[vڭDj$11Z> ;}H+ũuN2E,$r3lf"gMn9 @8Gᙃ:n|r?Qq,WMě~T%,!@:TA”I %D(F N0ZGJ9P0S{:E<ǨUg^`oF4w1$1QͽiT, E`ҝUGTR`tKLѧ~h|>iS#dUBD7yTM"W0t 3G|1XJV p/ޚBY*yElU%=7^x" -#PS $ԋ̓ܤQ-I޿~i~(Mai'0:e{8D9D9D$fX"/]Å m-n"kIJp_J>P!=(BԠ ݜe|8YH:H qUR¢KQ_l!ѓ4S?)H;BY$DS|<'1Þ- NP‹HщA#pЦL'y;oݥj !}$č9t'<)pLJ=8J 0[hS"+ X`}PMjwUB?Y+=L2QȥH ;ښ*o2Fmg4$q@Z.T u#O'Y#EVP,K=UP+dAFgQZ7UC\:/^VRmf! O\lײEGa@uXYGjT|*WzYi:1<*ӝR-CZ)tZ5CK chy 9opp0k IE|HESp'>Bc.lZRpb_s%M=DOmTGgXdB!f\̒fA=iǥUT''ghwIzv4aMbZIц`R ӓ?3P1ðFf@#W~m\觻Lu\v3B,팞]Bq1? <;ftBLFVU8A_X,if.1o˒!_~GAݭ Y*v0*\9W{ N^K 奟\1DT|mrs6m">%Uǒ^ӒUqI^󇚈R]\m?5h_m-X6qӵ\cEӪW)WV79gAҦ3EtՈMIY2^}6gmto38KZ?ko?غë ڰyKő\vՖbث2j0x.]pn$~`5Z ם [V֥TgM\lx1xc$&Wh~UϤo39+ZXc4Ay"њvţC8 Mjci:*Ёc]6E/rg R.}]| e a6qU\.?Zk ΓN;~a6-ڙqbX-$0>[fe3` >p:htu43&eY rGiMbj;׷NkXhȳgOG, N1eՙ,ϟ:Ud2]`E%qJ߯Xo=^2z-ڋh'̩weF Jp`7{_=➂Ѡ+z ]L  dA.~7 _Dꁥْ-/O,CoAs^{߯Yz4W[uk")T~[2hs3gNH42"*'J#OqC\ )]#‘)XS%VAwKTJN0C胾h M!Imz! j&Lo$N}?Z!,((7'=]U\JsghmQ m6oE(V&r2'=\Df~MrHEGaEWwEg%IfIcF/jR%Q11sn)Σje%Gd$b)eU[ն-#R5O)"!mB4f6,ecqZZB$!s 쨯Pg+f1c Ֆl塴" Q#Ȝ$z3; ‚TJp[z?*_f gnf~hβ|Ͻ =$Z 6~1r9ڱ؛Ue̐=g Q=ظ]&'2tkw#F-fI+;> *261cZ`V/,lMz0ZsX;eY hKn2%caL-u_fo!E;ƖY[XtrfV"-%.%+p t"lh !p | %0ϏozYGE9,\ H /80{m 8 (M1Rlf묘=^Vsb:6U^-wga<1/u{kի>}?׋M8bW݈ !W֭3bYnu:f3[@lo<4s^$mLk 3tu݁ a3~~ﶻB8z=IٶpwrYzAzXO0DJ[%ϱ9tzGb[[h7j7aI>p({BZ+﫾ƀPA_Ԗn:'Ǐ}Mfdk[Y%ف%X-;;E"҇dZHa u=v޷#&5TvǏ䴻ObMjvI/nO}>-=o. T~/B6 -qQŔ) <ҵ .t7Q ;x @%Am?P rSBPDHH K-A)*JQmMm۶|e 2Iq)tW4' 6aÒ9jwņՍmo"pm7B"#R'( ~sfLɔ*<>c EK4_+nMaCdJ=`)nF>$2 A@jm?xOKx c.^1t\lPuu*=ݧ8˶i*r]5 L1(D*,.+L~88/* #<&5~H @:xsP0Ô+WyBc$#8# zs,ybϧN&pf\p1U_dV X9qq^e~ä{rG,D7<3v]o̦ NRC.4kSW >a3c 8p4{9AZθXG6 = TXKѩӡ(v*jլs@k藞 냴ל ԚRD+F^ޙ PA( p/x;|9?FuDsñA7믹4LxW$ѶPv <+tJNI߱Xf.2vjYFj\᳡P{=VS:Fof֞`YDۺb9wc#${thNLU/ͺ\mhOX=`Qm!bZ$OehlCb0A")Y7LLOm{ZQCi!nlҢiݞ]jԹ2s_ʂ*gu))Q9؃X\'Jс]lAHy2*U41b}!{eD>,,{{Td˜~ڰj`5ԈʽA`z/»#$.Δ%!0HT / GY;%lsgf}Ky @f(uR=H>벧0Pt "* O1=Hh4Xd :nͷTu^Rp\u@,A~)4 y (D{CM_)O?I#+4o ; Sq)\XyYXbTn:[ p>g&i-jtx׬k4; 9$=ЏGi'_CF5DJ_OfyL.OuN>dWhNw Kv:4Q?IC h@\öE-dз3piNF[ /(@agO~Rn:Ũm%'d;ȿi}TY/4Sxg@|"n)-+cY)ӊi 9.MbZEˤӠ.Fg^8(9cZq&;χ]1Vv9cx`mRcT{TCSY&C܀ r^cLGd1T2z ck&4ﲸŇ,:9k\;DuҒ_šNj=.lc>qFp4H%?sr} 6h˽5(eA)h 9z}uN*NZמdߠ7"g8KP첪7iӬ"H ynL[I_OP?S=_Y"&MjYόˌ|Dya޳'pԌR x3md[W`[4SciI7bGҋQugc߻%_#u} 8-[3brEhY>.!0SPczx"cA_Q<a4\ûT~Cp$%(kUC!Q-dkG1Qok7(ve1<ɂҌOCM򦴨4ZR;T{=0ܱY*[enl!<{Nr{ 1B/HJa턼9$v` &^9cFGwѩ0ZN;X ` 7sbsSXH/UCSxsp ,>fP>N HCfU/{),ܛM9ٵ5 &g`6L؏+|h0dcm¤еxk,F4R!էqy4ܿ2kaa;2}sjǙ[~0qʏ3os;Ωrl&v8( /% m(C=KYi"tg!jr&y5ywDg{\|\y܄C%/J csZ]mŜ^dӁQG')) P00aPHb! ywX:ACЀ2U˚=~ , p:׮fԕ@ɭML]8.fs7fQQegwkpW6T=v=ݭ-1yG$'j)xhnIYfȶv6\!\Ul$ccbvr9˒Kme3^e;3*lڜѽn۶3C`3ͺm!j=溸pwh21aT߆͗e"XadY6>) -t+V*\/TC&NDtE^1qkM+3=vĔoٲޔ{}aUI~L(K2p:=UjǮR4.4a-i';=¢w@ P`Ґ줋ɷ:UNU|=ytd@]?]۠0K"ӳdT~d|V͈Xa̷y+Zb/B6b۶͍WI$طG2͆Ycu{hǦY}* \Bic wű7-)XrP*=Bϳ-sTM+/:h7S%HetWsgCWIJ4 ⇷=MAaP!9yk?a\DCȯ6Z()(y=ވ„Hj),Zh5:ى!HGt@~֞+b P,ǝΨa< @dUxde[SQ#ªDU$p\c[$"+Y-4" a~f1tgj=&@_d"y P*$Y a{# A!Je}^*I'sRbp]ӾwciL.7ukm6@Á˦heq0BYNB0\ .E w+kUֹĕj6 в43U<VYWkm ,1hG=boogW1&jUFݹmu75SAy{V 5ו_ /vs )o-K]E5oGD/7 }bєO"jE&09Xmm*ֶ{fa 5`P6lhlJdn_Y0ۀc1 nܙpMMo(鳭#\ {aZ죇+D}ӖQ<QsTkBON^g^Vs6u"ѓ(X;sŅ%N/pBxr+ΥJݬqd{DbUM[8a u%  Uk5v6`fC.e\=,ϜEJE\_͈v+W#[ fFeJW*-(6e.@Av!/ԅroͨ&]KkfھZȗ3iYލNAL8{u93m7;>,N* H"۰m~ZM/~IWE׈j&X\G$dk9J91MQo/V[(>yp^WwuX<4mS'6 au|àaO|I?fE7S ^qaX:#+YpF7wb\g_@\rÙ"lmgfSr]4|vq 0Fy>TS~IѪ3Xz$L+e2toWָL yvjMԪq4f+ <,XV@ޛ{> Z^: ifG(yV~2_?ӿNQAUI}!-xe TVV$s^[N򊏝8Mc$ėGۊaK- g#ʠ fZDʪ ŗ_d\V%4j#+8lY_cêgU.u !5JUZp1]ȃ=5o߶ڼT2vHa%m-L ?BD[w;pa l]@~VX!d 7ZcWFgѭ"xu%JuIcX%e&Rx#Ll\IX-/Ÿ l$^R ,c[UD@p,(3DVX",ԭna z0ȴƱ+&L$.[ 65x\`z{uJߵjY1K{J䵄JH;JlF1g oJzWS ,tYxYYVK1Kx,?f¡,XQH-7 <ꄖg] !$/NU- v`b!"U$[ ;(%VV΢d"BQ\jh|->7m5dk`o#QM13G0{,^/3 #6ck"ia!t$1bNKٔue)ޞ,($FUb׸9L5ül1wVR2K`PPE?ߛJWb6$2~#[Smd7_}8ע20B!j4(krMpgtd=Z;<+/xnPniPV^j_2JjjxeԴa+^ݸq$V֛ /fiDb({oK@Ue0>#deF *OghS6 `Ivpҍ= &ָ=v;yQh/|o6O^17E˼xWܷ"KGXxhi<>bc3Ê5#P;D7 cSp1okUq#[F6E$]:K?wߏ4~McYe{T۳DqQupMJN-FfӐ2IGq Kxi8EXm$Ԯ:c C+ײ%!$c߶"!6 q*JWK'f*!5j ФCJǩT^pLL.`sRd3tvzG-%w/<:οӏp9ZeX3v cq,o+APO0ѭSBp5R;$0>EWu !qׂK;'Q=ۼ\tuƝd\~@ûAV!~y`mwwW1ai*@.c!bj]cm2\5mQcZFIЫQIзxE0'L{)oҋK59֦)aJ.34/,~$wKzkBѓk\ wN-Y5 kd̼L I`+㬳f<}Ֆ7m ^?^mR}'M6_Ƣ3)?9P _Ȕ=L&lZOIg_ |N@=c¶{weiƚ Yfl5Rl1Rb\*7#f;5r0FE LR1V21d$4`ݟK% S?KzVVScnlQ$qT_0sf3)X:drBnp"@SaM5(W34eV`˴^4BSLt ꪋS‰Ǽx5RʦGo=s,Qq&Fݱt٦I8EUv6 ݍovMݯW i%EskrIGG-bًB ?w3{yY: L(Oᇑ!u|#÷z={ @ts bHP :X7;}CHNj^G?pLbBBj5 ٌߠYA>+1{@"'\x_N\-f&Qn%*Ѕ0SSڳ͂ eu- ;5%]~HMˣڄ-񱅸"=>)|KO׶c8AHI]zv2` ߱Fq vx $|a*[Xϩ+tR9w:D/%i>oʧe׍5HO(S= [3lM!% [n {p㜻|[!^*u2:jtZm SiEQ٘Bˊ*Q^5樟!,׵2t1n3Ʀq"eWt'ل~l+? ,⎛gJZ!yyPz.~-^#HW/XVco|ý▕ =2Pl>QEL 612\|2bU2g+E.TӈژccԟQ<~YaǺ&uA {^ {9{sYk>|/ddvldΞ{.o.lD 8'F{WڢN78 Zu{p9u~>{xH1 $lbID |e r Ԅ$p[UA0+f ~e( J :eko"o9<%k5b+{yOh @¾:ȏu?@TJ /ϏU=X4x_ 3b"#YP`l'oVuا^q ~ߛOlxz7H~vxdW5IY"Ɓ5J7ysTOWelT\Ŋx̊ČQ&.V2R 2|ɡeLV\퓄Epݕ#YDN%!_='@w&~^-E*yL`a#\XԿ+\T7 Y@M}6t5:!A"TY ,%su`iL,VwaYx^Cr dE `vтƑA+\Ru:I\Vpȯ&m؁U C]^:d~N')ڠZoQ_l+भ.-.o"<4"{u^1ד4e_G za3gU4rXzNQQJ I^ 7 +0ecz,ul5_=ACF.Wnx^~UylVSZrLW:tC&&(`8MFe| +$6%0+x("WӼΆB}d%F LϤEy눖Fph}e3473eѧ@o YȤu4 D ;-J4/z` ̀~9"qN~XR%u&mktاS˔m [Kb.,B\le$i"SO‰9nqɒ%I͌޽ݭڽuٺn[nUMI[YF@H D AkB"H~ # ?(77?/U#+qn{rS͙[JUv'Q`v{aKuFZ|6oEfX)ր*RrqUWHj*J7nՋ /ԵP (6Z棚O{ )[ti C._]o"ex JKhCfHqEaS̈=ocС#A?=X1Rko^U[l`MUՔO\{U*FqZSLZB_ɷuYaCX(je RՈm 9mKs .2(K[7\xIz_,>Z,̴5+y I?T8=iZ$8뿐s)٘Y xG}u6J҇k`\(z+ ˂N`u1\,颭hdX;O#!!@OűdfZ)H@G<*ZaQWgX0DniL/s=9}Y9OIt&VSֳh7x6&z7X+R4|l:O%sDAmڑF7K2" b/њKWėvZwmFѷe2aB ֭`VZo忚'Ԧϑjᑟݬݛ>(qyRXO;!lK|~S|Sh'$Y5;AWœW'esab/uq o8l%K岽5;4֣%#._Â#Ct_g<=ЖZ#lY̰XwJ ^O*\etSy3J.|x]C<r{_Wts7SN-M? [|{]yjt=WʯV1OJ+$;QW›`[؏Ӫߍ{5R^K1Л$J[3X*ȦQyY %`b<,fiMK I҂zyP,R*tPiOD| ki%'tzA;}G6Sh<a_o -3O7EˎC6uVm(M" >!Di 7zP^*bSO`<A /1w-Z XMx$\hf ؟_RRᆲy*p[sĬX:;^ƠFf-oBe770ލG^0W_&(ZB"t\ms'}Å;/w*LчԓP\A0HNA^19P(ʰT*րdA n}ڬ|ܦ+ 63 *$r:^N1YsROcD;7VAI.JǷ"k^}q3ž.TTg>T;terQC:/dDHiL8蚐T0LNb\Ym>-0'_(A R7aAQ=4P0޸Ki _g}깚IAR9N ?.& IΤ0%2F)eEDTah(j YJZL:b77VVB\T'!&:GU5V82ln{ nVLQa%be(@1Q6Q24ś~IlG w{W.' :󙍯>Q'1]o/;xci7G[12z8ۋԈ I`ˢHuEqYX0](̀9"V@!A,`Ez-5sxA#'k,EEőʢ0A4q|Ծi~bek[KkР–yKfGWbZP*˧͉/#Nh⽮:3%hZ-t%fIݵ@,Hvp%ZlFv#mR3烎`>| RLk'Hl  cFy:)BH$bwq8ûͣ7vad)$"[PUrH,F􇌫k_"y#V!א )5iS$!&{]]_/EA1` qh EguZ Xp䝦46V} {5*be(S P]>2"gjm:Q`Y`]VX }Ζ.idg=n/j|$Lt(Eq7$8@tᐩq3FA3$&RZ&4bjL-.2]i36쇭j˃zb#ѧi˳I, Ky}Jo%N>HdL!!IbB4WކfǜoYۓ$3=g;oʎ -;rxAY8~݃P0=6H Npk858laC|8N7 hξ̹/ĤYˡg/1c(ox7 a~e7\'q:k7w_B虁`ػ wZR$T卾14Nd#m0vTmpq4bk НPluu'?`''\{&|'K/=͞U`=5z = E)x $1 ly)BŴW#"6`N.+'& NF0' +#2 .?/~ ɈȄfr~{Y$+FJT5`)h:BfyycJC=a& f영s0f01{̨70fli2x.lHr3A]Ť#0O&n) ihۜ Q(#S.I}YķY.dAn_QQ{z'Z AF-=%nOLlE60 QB Usw덎.L;zGk9]~ V!!ڲBwK'SĐ)qy4M wuz[@0 Vp v҈Qm)ozڼ5uWxmoX3>-^ͭt0YaBM$ ޽kK{[֭ݬKׂnVD()@I JPJA/"?/h(Iҳރ.8¢LJc RFq6%#QGvq\2;I(wÜhؽ ,bŢ].!>[.P ~uQM(F,YAԡveG/(؄S)FF/N/ܦ~Y&%eɞ~ʧgt~ l,tG[>k?Oc歎~ҝuwZy֫g\Wo$c,G돬v~kL}ھАU˄_#u>d+Dznw'^d5 \L& S#aF'޲ZE$%QeV?I8/];e[iQh0%iL(ъkeЛJVqSPs*Zy_64(˸{ E=$?!:K԰$YxDLZ\Tơ9~dw֬Z5rМuؔs=dڋL,Imzl5Z*"+=L&t2vVEi]Y )GGFtqjS47ɜ 5"ID1M2 _Em$=ʫ̳7?kf-ӟfpdj?C`>Ĕm/$ i:Qɕ[jUmN9V>DNʳ+",ϘPUly[F]q2OFC5^)*~NW˽_}U}uOR Z\s*=W"]j?1^eْX4g_?WCEgE'?k}DR Q$\AO #i4U@ 1]Lzq@5J/j֮fjzgc}MJhZ.[4/"D.~:OA:P3hv*b ŴwAxY1UWC˝ϗ fk6_\N%*mƟ)~Z?os~ AB5xh֯R>9ܺ3tIS`5-PhWv\с C~sۻ1^lz,  m=!9qԚ|%"|Vtn^'"L#I`WabV?6azx*0)s*cl4ޗzN7@M:rg Y{z+ȎO)<5Z"ÚG"&!2^ s )sW0X:ڮkClz4.IMb4\xV}Y>AI#Mk%Nbga@}BN213oմh9( 364S?˿zW*< R$c -7Am2?"QlgǠ2z>؝4G(VeXdz7'f&czr9A1$b,C_~]0Sh4kgגbb\tbuj&rlSQxN|w9cL"jNmiQWb;8-^Y9}J9FU^BER<ꂌc{# ?" x2qhSByL 1<ٵ Q .+AWz9fUHxF}!nV#nᖸinbmpn[2pn[p{7 pbww]-g`ak9ٸ2AHW]ʵ\Fg#o(g||})×R ;v*.8-YV.snY.h +<:ti[>^|(ϧ X"e6 ~5ʕ@P{6)73f2ѮTq:wgnU$=4x%J-((䍉%ƏuIp~U/ǷuvpnG"P.Eq\9/#DQ#E* R8IrtuX Ge CjՔu:tF<~eYh2g9b:f9sj-%۰i֨R$C*WDkjthxM!]驻ss jGCcG ^Sh֒[-@cSOy1';fCqK}檁򂘘YJ NosŦ*Ϙ11~B22zQ,>\=c/r_&=0["2`mo'غ1C'tLjh9 uZ[d6_mNNR*Δu,|*7dcFwV9',Q{);f&1 =Ӓy}xJ6 v٣ay 78 #lwXvF:8AA0 >Wv'w'Y}M^ȳiU'C@۽*i;' -+Df?ĕ]b cɖ4O=$)|$}2WN6&Gܵ'ΘI|1BOUNe9^rDd||ہcr<H,{MS]Mq,%;!ޙj'Ch*', OLȘ44o2,k(wtQ>=,46B-'Q8m|0G3l٢v _)Wo(Dd\GYfyG3!IY2\D)Wq/pC2;2CCZ~IѲeef[ g0k&r!4RkhB {(|Wz+HtECYWH[c0i|xF#C6P_l]3?+ZWڢZ#IIXR ! 1D`!Hwp;8w؞>bibvE9+vEOJ(7%( ͤXKHSAnZExB"6)99{tyjiMoMim[G t_*>!c4q}]grϥjPζAu{AD=- vEP49j?[;ЍE Bke&r87BQIw1=~Жo|\k n%X㲽w}}{nmQ1vȎ_'5ipҁk+ L)0s'&EJVm)*-k&f^,PҧitꞍUt6lSYFVR)DF L~fi;ADU{?,JJ4 J !4'Dm@x蜈cr00cDV\Q]Q0#:8LZlQ|B+M{B%O;%6'Y.2gf޺Fq}E$wG)EȩRV.h>uڥIrF{h4i~/兖D.MHZ,.TFZaVY/Pʇ +LM661^s[V:\޹7 :߲-$PK2XcW-ٛ9U/d֢ IWzY`O$%~!?fu)E*'Gs⮳实_S nIEKl%D5Q_kV3n//&JZ\-p#g[TsUgy"'+hJ+^w)0>rs8Θ9!Vj]uҟ3:Mx:½ƞ?i*rTLK456<5G&0QF5jLP$[hw< E&WAouk:*MSݯԺ\Aڸڒ<緪~/ lT_'kl.,K -ȁtKh_k[>"sDyׂm/uD/yֶ#̞<^lp"Oā[mMyE ˘@3'^ZwݖVT >ߚmhO+F 4B7Zgs1V7:-82Ih!x%R,$/g:&䣓59ٔah@wn7N?6maщYq%a*z1.WqO(*k,Y)ΏXl{EңziwlIbf=Vj.Iy%1f$YL ^eyxw.!!n_g"6Nus Ȇ42s!<R/m+NK<"@Rr.\rFqjUzvǃyyDN2ƻඵkr}ʟoy='fL{/88V~aRhVͶ_۴@2M\qǨk7 ⛑ Y7WdUQ TZCƏlc౲O 2AsD^IP7JPd䌆wHr4.iʱ{Aébq򈳟g<+SZXP\{\+ MeسuZ]u񸟞%m hYrX7!aSapw_0ח\&##WKm$2 D!td08gϑ%H#Gyw 3|ӧd& ȶp艙: E髒3|d[t N5_`C㚆NR{C>2(R1.rj?q"ʋ EMrCGg/Ň8)j|릺VLl:XizKkK ="Zk{WKJ95_ zmמoLꜹ?mr8|n3kG2J@e"^VbfCOqd>}>cAyDΌ3'lgQsSX`oY$퀯5`AX!Eb3^  ws߉FwL}CQWyνɞ%!Y† yPDqHVܛg;{J ɪ$q00%-˻nGTri`cڡQPb?>u#QNA~)bNeOwϒn)p'-YxdP/&qbL5j[KLšF6ډݶ=.yd6nIk@39qQs@)4:\))]=c՚bĦ'LJh?ᶸ?s~ak6@7VeklM?ȵ: !e_nUW9}v:zwmiRLEv}o.\ G6=rRl;;\z )`t׻JXm,jҶbHJZx*KȠjS۵2*M)-Q=JDl5 iuW1Z\H"e چޅ ]nRl=Er>wM]ϯ8j㋛/+߆ٺ{@sx tC”%;Xsnܶ tp ^v=bY;]Y NH`6EU~?٨QH ]U ~d-m^%w̡}i뤳pp7haKkr#U#\*8F xv)W ?On+qluI9kAQ9$LNp&iFxu5V$ΩI梓HCsALjp(nṈkvH P~!-d/(*$*/Ѓlˬ^{Yb|z*l6 Z&Ip'LJYaU6$zZGA5D*ux{16`to{Q`ӑ6%R͈~7JDbFj z 5HfM=W1e%p=F"E%O>Ѷtg0V?03U PH-\sh|zXL8E^,4mMybGg}~*RX[We9tw(]`̧Jy7HBmh CDO) a 3J' (^mlRx(}G,YlEӟ'f|./] 5NK0DT]`-\s6XΆc;\:h}6 0l.u"xfRʣ5բ.+1|:q+=Wz4 f?X{Pt렠Xee]Z~z?7.;٪^#F)t;kk 8RXmAp{W^l7zZ.-oO3̟ Ι3,9δuCKz?b[avf+5osMv^o?dW,&ݮ-;݉{Tϻ[pҦ1w)Zy<9`O@1F/HذVNd?}QƞCc\P2?1j\I!#Z㱳)Xf"+E$`c0Gɍ1.\ <,_ُVQ <6m)ZPr%챢YmvԭFs ڄeW$~gpqC7_˨5}#x,v\5;ɃW)6+#2O`ŶGlNi#1V:L4(Oɺ*d$ (6y*bz({,%cQ'rp iX P~<̈HjE #rvЦM)VEQS!"ms<~H 3iy4JoSJ?d퇎 X~azҧBv~Xvi6}ZƝ ;L Ll F I^ZC*8YO;GSZQPKłܴ^'͗emrƿʽDhhqy֦|}4^s%Fz=V>asaG R?Z#a;~.Ekؚ 읽8ǰ|)u(ְ$rZJ{.s[6ܭAS纕+zKϐ y$OcLE<(oq}O[oNjWJً9bWS)avPbB xhJ5Ef=#&_G#UWiCgDĖ.9T4Mvz7ژSU6ʐk>A" -!02v?GBje,%ٖ 39Ev]hmQUi.-E4V|3PԞO{G}ߦ>Ϸ9dE5lo_q\'fFJ+ġՑc6"O)e1ZGijƠ6l5C 3H$~Xwrz VfD'f /<[!07Qa7| {kim~iREPR18X,TV=IDFDA )=MpJWH `9q@bVR2"$emR< QxorR4 ջӣ=jZQZ-5{Ҏ0QL-eϗAgSx3g5ࣆ7j`>>=ϼ.G5m=V}avz?YgOws2Ɗ rNs"%:b de_[JyZ '\mls, ? ".}ܚ=2F-v^xg`TC?_Im%WGđGE$dԋ 04d H3s7m `,ѡhZ>7Kv |*2zoD݁pgS$y6E8;em5sj[)]P2<OE (C> ]q!]J78Yemͳo.ܜ-ƼIh͓Xpg#~IIϬ_ue'4-0K)F',\ZF TGI7u@r 4[Ft7_\v}5;y=yHON٢~ OiC99=ojGY)q\ kC)x Qj>^onbhMq.OfHè&,(+%G*N'"fq-]x&uO3Z{''Z:b/pt0P"Qqdz'IF*qjfUb=E[r]gab 'LaF:WTX T; dh{WW`<7\FEmڏbN*E237q{D,y,yn8xXנ1ǻ"G2'jE^CZs?."3X />'XϤ_3Yndt?NRFQ,H 6򄁫D% :̊.&q5oYYon&6jrXa"Qͪ##)bп Cu^mSbjO̵iŽ"k:PZGk(ŦY4k{qܬ5 qUXZ9#j⻄Jy1yu%zjygD`RdF,f^p?C(a$FZt53F(cSTy'aN ITE'wܝAj_2o:A7[R[q!iY!SPq2C<)ߢI'a"R|xm SihF* ڬұ@JĠ%&a(k4oS(N\t7@iFY􀦸r*T2InB7y&R[|\,MpH=o_0 t0 **EPb"Y<4BҕM 8؊ ZU:ȡg+KeFLX@*tw=MdyEN|4Jv{(@OH8X?MQ1|K.jT bmec2wZ[r Y%J'jn kxw DMCeL0rtEkqjJPw+WEqHbgE'Ol{,OTmJ2-;`' X,9s C[]Zc$¹(y*wBP,όȍ|`3 r™bU822$"%DUGPj$ 2ۄIb*+RE>DiFDI,)dXRF`Dl.ëu.{MH;9僫$g&cNaȉGXW $$I4Eqfwz]@&dyB,g4A*f 9=c 3Xkt5ťzj{7O"4){ (/`&p"ϱgS8$ [u|b(fjtȢeBĀ1+mUEzR,F!i $֜( 0xM'60>qԩ< 3C9<Ą e+|@տEc"yAybt.+!`ռUC.+D|S;/wA)V ^{yjkV4(҅ IX(UX xA ITP]_TqϛB0ݣ-\Eb(TZw3/ma\(&?|sOW+QW}rBGPHa2(d}Zf^R#$ $AմУb MYjeP@,_8J0)BHjzm 'wB12 L~! nEa^*y2C\ڪ&)TQ PcMlF6 81@$a1mNJv:vw2oLߤG 77Jxiҏ9m+t7WH$? \8w1r_ DNNn9'W|l#40Vfr\X|kꥁ0RJ>.wMN$Jgre5UT ~$Ō;SE]#FwI]8gd؝,՗C5dľL,oS]tfV.D`0Z5(M]?zq8)0~[i7N}]H\PO;q4wT Ilo(&8OoI$u tzR+#<5(PkDc|Cg˪ RRп3TC453^U8w/E)Amխ6|MAm͒IP|@ CD"fPod_L2<3S$FKd&ժc<P7;T@wuBzn5mh5lGQ=)G F[ I6'3&x@Hf ݽwf7]&wl[̵n]n-[Ak "CA_P\AxH-b" ~Gk"K6av.w)ȹ}2|Ȕ;+[3ZRtp;孃Ti?6=P|(63m<̚3eSO_;DQ$>慆!3'cjc1B\nv (1.U}u qXe(C6x9!852ɩ굸M;mɼ,J=OӗvHhţ<`M!4@H!OzB&AY$^zi2oh'V5bev gh@\Q_t_j۸ nAaTr4? S#i|ޘM*cdS8cqyz\W}pppSpGX6 iV}\p'^ݫQ 6p;c 3v)S'aYWjظU+Mz>b0N [7lsC,UJzr[һz{ Ga$9]*#\ù]Xȯ©Z.xlqWƞ<͞JHgڗ ϱ#xwWS糦"w=^ӁݬV/BHjoأbVEʧ\QZxO5[7\%(u= NjJL{^L38oAnCSǀ^ɂk>Zޏl]'K$H5؍8頥TU[EK@gXk!R KnM}:@V 1ǟ@CV:3*LjBb`Ax~/|²T'ſ|hQӞwv?g$[DZ[/,y!udl_K,fKuA[^HDOS_uGS[>%]ʎ.%n..[Zx+#'gl3eBNt%gie21!*DL%vqzZT}V:ssKQ s՗߱Ba~^,;S a1H&=QsRִurmRvk4K {gD):wDQGA\I#=ۋq1ac.K\oY +\&TR8 DWNU?Kc=R'{I%9!bG, Bl" {]vqNI0k0ڗ4S[O%!V,TZꬨ;U>vƃz#J|uJDR { &r:&9% 3+q[y-59aT.Y =sۯ*#L2ۘkuYJU+!\؍C gWn座Om&/$PITz0!LwS5U:@A9 ^7]CL#tKG8O c=ƹ"zת?C6;MVu5)d qTQX5?~yjN`x݌ 1Ihn62!d'1cPE|F6ؼQx/PF|IYo|㘗jR I=<9}`앬8kӂ9 ͭ^c%.t ͝>B V\j>Y1~oG1fÛ oZ={Oֲ'4HiPo` M\Hl 9ce뾦A ]c}C(Mv.3p g'ř0Ǧȵ~m)#tWWO;վvbSHM@XKj&5o'^'%9ΖlK%`+A*B\Hlh_EosL5;1|翌UvAM NS#ςծN>Pk? v4+35F@_vHP"6_HTۄ#R]O5:3 $"AHD>B;&l뼳sz>V噀(Uܜ 8U.6j#`0Or,ҨN^*bLZ_߯էkÔrSpBGj><7m<\G. %+HP$.@rQ-Y|k"n\ܳȸbc1GG#3G01]xThO8%/, !%ȹԒոͥ[~Z/01XJ匦vܣpҜ85{7?Q.FJIVmE٫'g?:BչE^[>$|#tBZf\%b+JWnn9z[jܿrZ)oٓ?AㄲE} z/F1&Y=@* sHoZmHD\>Բ`Z -\mvDRREwPR.E峌i~q8`rl[Ė.Q opatu3YpV00ÌTn7'SU$cVdEh[%yjIݬJ胎F6ge{w+Cd*U;Mx_ *zD֗.ÏBWZnƌjФ˰CIw$_a Iԫq0N,V/8'ʔ\|w6t.&5 LHIĻڔ}q <^@&(6'")@h)q9$yqq,b0Z"F7"T1@\[tb@kc'20 g1/GqgZQf)` "@ A iaEUgR BB䞥YYⰒ91P=S؃ܺ"[2hY+GDB hw(zw7FX1`a辤"`xi D| )jT/́ iMBd Ӕ)&!dV84c0A+%EL3q 2G9V]/(a5Vy2ej4_ىSD>_ijKOj:*VdD0GiяlճXtVT?ѵMw^S ?+y`{f;8 L6(rƹ*GGݓp3Ai)a3Qng1w_ $MyS*6:vlV+r0>ޱ;0}x;1}uFQ;x;3IacVXÇo|y0$qc)`BqP9_KHϽi$1LTG|U|)vfazb1vƎoReiiGwv}IHfc x I6G&rf6ӮeZ#ւp.R?p]\eDH<UUuLvbCJORQ+/Ʉp«H~f+?x]^e7vzJ1\B{,>=u^7o!"I>H3s2vhɉsN/{T.{{՞dBŻtRÍZB%!7rM i5erhA!X4z{ /eJ1 VY.gEr蒬{>Ч mxhf ۬Z10$ۭi> ]]ܳ-[\Ns!3H"Qت#sFUԻ.hs[3LkYsCiѨhfhiwAVM&"|p=SK!|4Rjba9i:3d?LӾIgD۠kܟl`\*hkZ+'heBUxPCPc^Rپ^c`Kg1ء$jt,v<}ȟ*pYDNfwLwnИi~t3$";F4g{7S]?ef~D[ uZu^/:VX_S3VsSX  |g;gX+1ةiN7ocz2L]\J5Xs/7VTl~1\fw sI'{[r5Yçf/A$Np- vG}#rzJ 29rB;(FьkO\[][eX0YA nf['%=vן|m#95ARAM 問Т!xԭTj7 ns=3Sc~:Ɛ0Lr `bF)S$Hed#bcI1TTZ+f o$ۃ e :m{{.Yݗs9C%EVoZ9"P ÔnS2A@$,e"J!.TBXR$4B(GM@R3R k^d0K t>ϺXkRi_+|dv*az9|<>u̚6:aw=۽-6UY%ME~2j wv3ڞr 9Չ,i 9_jˍVeѝU7J_-P:sGKXa^fͯ<+[\Qkօ'.QV Q;>Sj8)%J5쥑O'B`F3WbsZ3+Pe""?'x9oubuO߱g XM|Zb=.nv^2Y{<۶1FKfUYcrμqiy>g5=ggG7.YG/x/шc" @x3AW:R;̺iH("zI8(l'$,?e57D__)?/[>}v ?| SvA~C|y!DW~%xYor¨I~ŗ2JH,ZCLi ı5CZ55 gȉ'BtꟗVCbVreFfuƹMyc4-sUX=Xז8,`RWfݹίd5\UF_ĸ:r4}1jl#Ά\1ź |Q].qZ}F!vtqMFh1N) lCcXV]궵環ȕwl7)\H9Q80D1)]L{'1 Óҿ1ǥ |3v;t4Qjm#9\#jmCd'UWk6|6鼚&>ŇNBN{UAn@'kw7 C/]]pвAV!.lʛu5c1鸍K`s[-CEGݍ;˜.Ơ,uQb?Qty\03-Pc|]QSnQKOy܏ߚՇԜiR8%5N G닶YE-rs²>{DŽ7m<Ek^kN6/}%G]o-<"H#r2"ILFjIzIJ%%OP(lh A!0#m!VpH얤Jt, r_K'Yw{;u5 F[q)v{(TufOH*O=oA mEe xZ1I 1H2*2mD Wp6ԔqzټfUaC|;Cgùn its$1=f6?mb]uqh@xu!c)gf;P O =v-PS#m Y>wCC]FBwnYsGzƅlsXkz\>GnGg\ #6~a 3LްL>ʘwnGy@xf`:;,`iXgp`,`t:IJ?*X}}`Xey`Vl{wffS'DE&߻gVSL/I0[>9f~yDl tm̞=A,eO#,wfNf,xCşD~9gX<7˔ԥz&Pdfs 5/v|np^gZŭxӵ?pMu-<?.[HJH1.'Bƥ4 9SFdKPBc< !`c! V: V%5gVGK""i!j!(ɘm#:!hgvt;rDi V֭P5^Vvٔ^[XͶ^ T-Jppĕa*`1b+r{ 3Xzv'#L*XN8ٍ*tvs R  JT}@"5X%3 hV`a]V k9ߟOt0 zepdQ5$] hǰPhkOLjݶ%A{6dw竎_*p4'8ǏY5QIlJG12۳!5,1yBg}#a :uQ=]cӟw'WtۘܕԲ@7Tc4h|^xoPKpqEҮ(DL:< L)@CBݸE}fig<Yo k~. )Q%ՈRBb .BRtq+NgLĠVxc|uyOqq<مˇeqnIw ⻅|?j~Ӕ;f$-?T8Y2:Zq :/ˌٖ\&9uJ1J*2d,H*J'D4`"vCG0*dM8} LNXɮeֱay}Yd>HИ$^ ONOV X3W2PUkxUa PdiF]ӰtwRMX!X퍌 j*]o0f&\ZHm9!ӦW a 6Bv|x"y-]r/B.7D^KQH z&-Qs=>p &r&fϪa/Զ'x~ŵx"qBimg*D}!)w_P(N=cM뤐|:9'ҥ9T.1b9 lxԽc&v_mAV)s/B|Lf~)0?׹iloثxYxI+0ʃ%|IǺK\c;1]W[dOw\>iOc23ˏ̧1MeBٸYYpSv.B0g2c~!&~,տI ͭ!J)⮇je/'EZ_FqW%?:::z0"rBYk}򀗗rCA"Yd3CiM1XInY yEgٺC $ڞkGd0i]fr^x[8ԳC 1#I1nmdJlYZ ܉ec'c*vkf/$ۣ-I#5,Eמq/cA z>ZYzgɇ®94?b綛rָ+l; T^$q6j)yjyJNɋ*7M|NwpŐK&G. &r>`DH_;84qx2]WCϦ J,>29}9Iz69 9 Gy6ā}'Vuſd^]Ӳk^ jJ,¯9 ˅Fռܫg _0$u5OTaVNK&Z%\Ve?D'qRtn MqG;1R" 1ڮRm\4t(t;lg1vMfۦqY.6xr05Zp "׿Hzk._U@}CY"u 9%2;$zMBJQ}yGE#jvס0Flri;D9D ljwL{>$'ԫ,4WUi- \ΫHpn#25o1{6 _fPɄt V!԰u' e`~9XYDV凜W)nJijBYߛ;HރZ_}WNVw)IRT>єGr9UI'7f{3߆?$pܺ32 f Z;.9}ua[Y?O4Tzy97e'ֲUϟ7LN|L֮G{tg(ʿt6M2B߭e_SKF)VUaU9{zo pMVšKԧ V45S3#Q! ŠdPPBkAiP |Pn eLXP<(٢ZlwVR+Ieok^WH,3,0ɛګaq#Ì(xz5R!4 s/6oN$vftkNb%-?6dKNV;u6>}es |P[Αvvi;v";6  ,< 1:Pj%@3H6i~Zgҍ8ʥGvG~󙯊%[fh!$mB>a>vmNJSO=ǰ3=?Jcg>=;UՄ᱈7sfZ"BM&q |n$e~(1JC bsKc7t܏²&|f"Y!;>*uGqbqc#qeAfrЇNӖэiZ$X-33\rxiV-4u{ V*ƿGKqkC˻ Q0IEY"<Hzr0 ~^@WRsp15`Y\#p>Jf\}:#?`NYYvUQoCW*[#Ǹ!brE65%&ƒ,/hԶZ, xHǒ,\W=Zܔjb_명 1xDlS og”0Pqvyֈ#00@"&2w~0p}_~m88ŒS84AaFGuُ" D5v<=X-rI¬3[p1(5be Z:ϛ%~VƾgHngoLQe-b`7Yc`_eT KjVjDJ@Gz}6cᒻ+uEhcAanuW-(WoF.B_w5|菧cLsunw99vnKXr~tWCJ UT0 jPt.hW|3W*HdsHu@Ɲ'ȔQz6D^IB%u:=M9{aًZ˱ෞaN>c_nW7+ATѰ6,^2gu;i 54v 2ɣ'!ofE.8?DFLv>4B0X{ha*24gEa<<,h֠]BsWD'SPS~vԾ -t5mj*:V3ȜXM`yYl*V|#+]M*GҬYvXil*(x{c8<]*/-:| 4ӁVVdRqYqGTk294 =TGz}Jdeg!5s9ܞYġ J+nPo>ۋleF>+\'s.TR޾Hb.3Y%/{?[EslžaG|4 ~$[ZHYH&HIք9,卢9v.q]=>C*" >S_6)pG{I-䔷8aͨY0d@#Di6m+jwۮ/\ H)z5!ssT=U%2707q)S>$t!QGrb}4EeֽIbsyJ->X++ cĩ(MCcgd!zZe z\B#]xS!B `,\`-!{q6goшؕubwƋ#>ih{X yo%ұ#H)[X.uV84/ c5|sOMNf)=B F4'@.ط&5\NhK~~e'0)\RfX!⭈/dCmO0JN~BW|t5ڒN<9WR4藤RgX)hq^R#f!Bʙ,/Y b|(E-yvv ^n㐶8ռb|w.4̌Z{ܗח^]B $& ~ Wæ]׌.\i `d\%Mz$zLGq=B^ SO{`T$_:)F (Ih )boG7`J>[{dG\g#6M͟ЕmŪh'guO$(Ƀ8 0 8iFf)׳}$i|N7ٓ]-Dž/Y?]e*U᧻jP7WvRUה\ķ㫺/c B /[5̘?8R""t̸w7徾 q#Ur l*˳SZSj㷻*+v˧ژo[7!`<%dkz\@`x(wWwÆ1t̿/w!x dY,2$)-L"0͐5Ζ41ghYCwPa¸~hSDD 1'P2un;8VYDνi^Ѱ9]ݯrZgY-X-*Qp`3.JE`eCs1^p?Y1ow}Q$4KC qcTFz V*\9Wݲ,ͦD;"E9eׯZBvbbUT5iv!a6w=_ǟ;mVT;|C+saZ?7ʣE$Ou&c|U-ZO۔l`KWDzދ ?iPN\D*]V]G>`p w,9n=ZGq4$lD1N?9Wz߉%gKt7LbG۪Egu;]P߆lKwBevuws5J{{Δ{"`p]/k<4s,1+a Zђle j+{b9c:Z^[=V$lz,ltqhxܼΤa00esal|߫$pd~2lG{Ű -p4V%cZ -+4G-2 -nhKjt,6::&phHƥHw%S 1ƙcI˵ZsdX(P,˴DbQbߋIX_L+:/|ӎ7f(:$2Se˭AZ8'h(;q?]/Š_뜴?aM%mq7wj篘x^pŧg7/cJ\~tv)m]_4/%qv2g04ჭ2/kZ.r:UsFQ 6mw۬ܔz-Ɠ)g0.].j&fV;Kێ6vu3߰?,峥 wBCՙFg"`Ew>5BoH2ީPt[O!dV>Po6RԆ\LMo}:SM-5.GXB2Lk2 )Iĕ,aQq*JMļD4?bIb<.'%w mG&pW f48K{}6DvzQI.%O-4I0C$R}!acP 5C-|.Iɂd< VHLi(P"DZ9GZzlV>P%ea["NBջvFnn S!h)R1jav9V+^ku? ])/eqhbf̕U̽/י-a,Qv{ǏsjA#28P.bH4{.%6ٸ`9 `xW]X0]J9BϠj£'iѿC1/N܃7܅pn6Mcnp#n3p"npܺ7- }ӱ4'o@?q߹_I Cn&P 9cz6P Dz^N~ 7znE[qan­^?~, E6׭%ZFqZK0XiB!bLdqUbEgڒtZ[cp$B뀔S0:k ԊnW(rp܂gW;࿧,piEQs8+*4ɦ归%ld7c5IZͶa, o2Wd!5qtRRȵ!cC/ߤ7F;Tf3TɏkItZ*hcOi~Hے8'4La/P<@lp>fSaZ/ BoQ#^SrȗVS*z@ /ׯDJC< -ux '/8@,TdV);80".ŦQ?^N(Z?+,$`Dh᱗Q`^"j1M3mK?ٜ0.)SRsASnZC!ߖ秙k'@C(1PCԙG{&_h~cAÜo 6,m `+F6)fmD+ 6ulZT`UJX3463ofPѦ@Ymk9YNcr؁&y~Y_B 45"`[\'^KZLLe[2vvX"o>=Dْq{4{`LyQSlANY,IHKw{޻Mw6vkmղMbPVF@ I4FTD$T,G@AF|.7hJ-T QN 6JlLv.y1-pe+hfOZs eܣ:C'7hLXY4hq#L5k" k2Zze-|^m7YnW*:p4f{w3H[qvugP-pZ;ЧOev*^-Pt'N@,V&i9..Mw[p^=7pL^,}U@_IX$2Iy<〳HB}vGJtXՃB?&M{Y饸rFUE߹zŕES5hbCuY>&).EC9 X̹ɬU.%Of T4} LQpmx6gf p~264v 6j~?i3/Y;gvkwtO\/Ϸq|<*Ut跧5u#\jEjm{%79i q,J:@jIZϋj7ٜ -pHq`AV+j"xȅA8CGִC =ĘJ1٫D&9T:[VQ [ٞv;+?&iA~ۉoom0=٫}ԆKebr>v;`vjN6QAU9O鮶ٴQ=iiJT.ZU.`mI c1Fd%qc0U.|{pN>jX[t(lg$B=_nH \ۊ*3m{6sK8k*4Q75mlE'{Rz ĺܼ ^=pnI{PdE`ٗ˞l+۽p8 ݵ¿xY%K74ِNLQYoqn*>;C~~BnWz͗\jEO_uۼT0Z*{}2g9k~eS",K?~|"fiROt0V9="jme ['[K)a8+d F_xtwrIAn!@#F+wȓD$ZъÉY.>|ׂ9F|ES҆٠i+aAxh)_&4#>|*_vOCYRg ㍘mœHf}ij‹tTQy{46sTNפo5~»`f֙\gkqE%9uŨKZI&w*AhW/q&iOR)Wk Q6Ҋhtr< |ӎum]2[~9lm},?Sj07Z;JGt##\)NpW&!Pqfn;Iq*gjȑy?`U~WݠVS%Om\((|ifbT2 ms ݔ4>rQ>! @{;浽Q L1/| i% Pb -is f3 Ԙ&{e~o"js b*r7l@d36E.lAS&~ ow%* sOo6[D~s褒O6_rTQbCV NՍZiYNnXZ+Ĝ\c )vl){I u,9:^vC݅շ) $M=ch2C{L_bB?#&#Hdl+vnmgP8/X2XMFG4 (FXѠ1_C~z&`LҸ=qPJ68,QR %\H$P =]6zwc(~IO=m]aqK!yĢ |Uw룍?yY/Ͳ" F0s[Ϗ݈^ya~+pڔۇ:]ok0QW:F)gmϴ")ɿ:5U6ViX1vC b^Yk=:aG,9 Ssł[HюHcK"IB@$3Z lٙ&〵A")Q\Ep' ;1@P\5ӿW5lNIt&7^js(iz+bJ@Pȑ AѮ,_ +Ws>ӁTX  ,~-9:)^0iԬ4f_N-PbNHƝR`|(H@{Cl?P=ᕼ;Uwx‡4׼k:mx/NW%o};;@TPyvZ8JV+. f̱o4/hknC.NPvͷ4ZzBdVZmikȅn M3QXɮ5et6% J1m3f"nh='E?-Ē#Pg k1.Q1u_p7^M U`d/J9JʁX2RôQ%q9mr  RZLMt,CQ vÀ,lѓآ$ak+\/fb]g. >zyukI֭K!$)Hƕa-o43AiDP? #ӚS[SRS ̳Z>ʠ=ˋ,Z@F~]ϙ#}sʁw`n2Aǟki-薻<곸Ep cq]]>l7JmFƢ=ȈA 8pjAQG-f^-XU-bR8MZar\?@j? kYxe|}Hn[Z|a[*2`-vZ ϗ[i)YL"e0w#֥R'"G+.̒^m'4޺|W^!7|H3:ChZRVaLMP6w˔6t/5_p9ldiA#JZ 9'MBDEx*8teq]S73mMFljyZ&luDjr04 ȂX+mn5ٮ80;#j6ȀW'Y%Pm1*$:N HۡW00Z¼WKMɜ%z?|Q2֓l|jL\l$:ZQv'?h5|$ń?bf/->|4)e2WJ|IH&}5XŜkB/!.>3YrtN%Od__hCD63fPqqB?Vm%n% `\ɕ9&cMS|g ZQ?꤂4ԒVZkF J6 ֠uCڽj<,rZ-AhmreaeEJA$Lbw;6?k4.ֆ%mږ2WPUR0@ 5T(BBAes¤ٮB¥Um[u2XfR6URi#e,]e'td`"ѲKcԢQNT}}۽ή9όPi\JZJզ8ՏRk֒MUH$z m-` nJ?̻g<'ֱO El3Fɗ[ȷڞ^A"ffݒ@V/wၽgMsܥow mXxke(Dqk [f Zi ۦçC+45YH-Hy CBx/,qޫg"t4JJ׶4!DB;CՁ #XY/F]-88 B7vbg kqPXwƄ9-08YEKI%S*a'׷Y堮PBupdCBS <y-;`f˲@H1g9Œ&L85$ԫ5IqgeLeG^ @!;From5kpj y sD)PAt Ah7D:UvUu,oWx;ұ0Q\Lv T7 QD Be'¾Vh`{l0?uw/^aFw׋ǾMDIA J +~zwnk۫L YӚӹui8|IիW"ja|{% ͧg9gZ9SKo֨g 8_thNG 5@w|FZ"(Uj{hf1EfV=jz3t~r!D%04Ma%ySj'Q+ݝB1L5ބ,paL&G!m({E7ݲ&]f0r(ۯYN"vKq7žq}a \wךa)[P0R]JLkPw\YĻ%jwq{ 8"nxB~M/9Wg9mKn=ywzb.Dʾڹc-:Z ڦmQ%e &8'/{_ȧKҨ9' ;o>fe}z{̉}+6{ƄXྩ臨[DV=w^53_[Qq/{-ͽ|u\0@ Q (y̚POy7g] ʪ;2iVvɉՙ)͐\hڋ?l;$ x\ 8¿Ф illZw7yw37/nq-ޫ63hs|:|\v T <+TYh"v#+yRQkn2[y]>|tP_`4@穃,W'pk5 Xz?ݬǺ~'/כ##mn{BOU5O_H`8v39"cZ\$1WY v6(l2*Ri.yK=dKY5ތr{JdB9 "!%QQRd[uOBvl?)C򷯯|D {`]~3. QsRzU!~Gt\֣fJ"aOxCr斟&_m}CtNצe>*Z£"1[W eЌ3W?:msu@x_o.А¸>5L9ү9͵"I:ݜ5xU_s+~W], ?lc{j2`|&/g?#be熸OlW|v+]z6W[NWՒo'u҈AN\_w'`yp@h"C"St8ּ{-¨l;\^gy$@TA^p`\&t1ʻ7scGIَ $ֳ]S%.LN(ӿ\Gl@nE{$&Z̋U|j?zd!)/Wn:햦Zƅ89HVy; gؖ>]YpðRJ쪚ûI7}LpIHKʒo,vEWK6?||_{}pޒe+:Iiwh*Kf;{0+)X_l^zg;/IN;t޿7O׬#oEs(w5vKj:I& ԹWw醋F=W"j)UA?P19!3L446,Gj,똀Nw&i"P 7 ?auюM;vKz핸{_mU]yP Whp<6ړv+zա'L'aڌ.3B׮SuZ񻥭66+5_=[FR$+vEzDPiߵd2g>w{4j%}eFv{^'c3 s&a5؉)4POЖ}a.>kl(f. 6Rz񁡵Q!^qJf%,K5Ʒ͚N\ ooAah*X8a*p8.pkp}npa/8[,pN}\ %j^I-N5\U(ݒc$kʍ_JJ1b5kb-RRp|Mv_}j`2jM  oЉ2j .p}(N> +zךEL%r'^(dPb<0nJ\d948CKs39,N30"$p#=r(һ)& D_@BۄT{Py] g}kQRUE#_q(zu~$JnK-Yf}t*k,Jv5,j䫩9QDi04t' /sr0U`kܪlٛO9|h?wKyaؚ5h1o6*ң~%US ҍ{3dS>nءK7L[pÅƩ|*3ٚ eg(=иB>~+\E&vDT}T &eOq3.hyo p+0$ 5+y}UH3C s܂%M1rNyk/i^։[=dN̂!d2-ބcƩsx'  fQ$g;/Yq! B4^Opd!cb[΅;N.Hl-R'8ej|vnLDKnAQmC  4hSOtB ##p? qnc\-[ZH[ p^ rkP%9Ud2f0cIqcnM[^Ύ1 -Lr$XPEY vX%/d7a %uE Hy]DM ;:vF荛hA%)lyf$?DwLLޜ2!з@v*7^4B<- )'&Ý!pPBLN#%8I-4b7!gZ>Y:XKn^D0 (Ɯ(O,򈖋+s(($zM¡@߆w6[r{ P'BSNBhb;t8 0Rq䷾|*d!&[dUSTY(= κDr,"(S3NrG|v \ 17%p0zS3tP&B|po\] O {?UN-[Q%eJǤN:"u JQ$aAtƄK1"QO 9$5# ^LX:F.Kƚ)kqE2J9Dy,"p~Tsccڄ™$AQɎ,% (EA=~ 9zO#CrGy"Oޘ 7UNn]ZTh>IOgQA]( cBzǥMX3K@{@a[݂vMCQ8U'F@❽_ߑY,rQ"Dʊg_j{a}S"a. .gCe sɖhw7}(ġs$&k7_Q s(ce'A (UrA ws<, yPbuoCy 3E2w`LI&'smo3K9G_Ii*dw[y˽އW[{]-x|M-2.;w>|[f~q(qK(3 bݻtwsWwYujmZmjYt`$!@ d|m 7+ I>IR~.V3Ow*n2p,RvW2o({{*u˄?lQ]#V*^:Nb)ũ{n$8^EA!3wvzY bAZ=v r\FR(s)K1K r>J4[Y?%} J쨐eFhCC0w<ʋpק;j"7^tl3Emڝ~0/fƊD;1C-ˇDKFAg%!֜KLM5Wq:qQ7jsYY)J3B&}yX52(ڷCr)&K(D4#$5Hu)Ј*-6{0o3\'r=($@||3f3 Ğp.+ !2"ynJރW @@ Wq,ww,δ\XPRBL>;W,Շol5TH".lb=6mmʁc*q' _MJ?=cә(]֋}[(pXZpT؆Pqɢh@w-d"'3K?@&knd߶(=TH؜M R9"C<$͖ٷ7xuLgp e@@S&".}~iUB B., '8e,$SmP;s%(5)aJCaK}Ǎ=J>fM0 ٔV!B,Nn04hȔ]YN:Ylm{zcpo{&Z$b_pGQ"_0`I!$P\Ѿ&8 W:t'Kd_N=2Ɯ4GL)wqEtBf\&Us+2/MncN fϸ0%UY#!_h)jJ(B4lQTJW'oGQ@`SMIDڂؖ,ܙ d_[4ffFDFE:əCF]́oE0U[mg|Ff г8Wp DYw4?*FL- NB_a (AcW:\ 5'y +PQHa(Elrґ}h0G4(Q +h'Ts'] =aD0mi&b< p>zҐOZ9}\G6|Y#mOOxɳR]* X54!ؼj!w?֨6ߍmZzR RTD=OkrAi՟e.P)KR!ALHRJ+$`G20aջq=<Um&cəf3h9xԧ}qD߭ *ߜQ1ppoP^4ƶ͎ wM}1ҾJeʝʬ&^WL$lQv)o?Q[V/i^zvpޖkXt'˫76`H\5o\uJ{?wZuR2݃<[AijO;SUY :<5"|ռ-NdەwwΪGZ ,J.NxR1`n`[m`ߡ[jݦ?/~\[ho5L8[޿(9C$%w@~F5u<:eSP Ƈ*.I5)p|k'D{?ҡٔ9aKv6V%y .0-?ʔ6у< ꩍ2^2ս]xY'ŖP\I''<Ljqϸn)c>6~SD0u^LL$Էw.*rb<!s8 ?x_>v?=δM,%?z}"0lmŦ0(Ú_|5_:Ypg7"|˪gt筺9R.qEf Zo{KSyn~;P6gk1E{Z5s !@7,0"ر 'KEC8 u@+qx=q?pCj:֧z #n?By|BxyFE_lzeق]e[dKT?dOa6' "/Ә UQ$O}tv ![AҠfc-FY՝ "_Eci %&*>3̪h| o^m!}7uI'.F|at Sp8yͩBJ'Ip+Pmy.^1}RSs;ՎnEdT㑳WQu6ɆXtzKD'\)}qh7\BiUіLwhE'ɳ֡v^ Rur@m_+oa[11EPQR#3L숶t%pm;ۤ-]iG- B{/o>B=,S}N{)0B/_ߋ|ߗގݎ&#-Wi/A}vU(`o k˹wW4tpc,5 G͆F{RMMy@Ѿ\EEJ~+QrLg¡ٰ[p7H#z t6 |1ә 9"Wf}?x7eIW3pK E4(rIrX3D) "je9n3Z% 2 ,W/*:v,S7I^s ieson8ol'oiM5nsO%̕ZF`K-ߏhdr}]l %Rm߇hMM TD3futB[:Q*2{jD`*RVRd;_iQE 5IEmj.fQ5f^5Qh]ԢFԼYElL݁eoiU%<@҃4 DrɫUGE/f~D 廤c/p+Gn`dޜ$w.&k-M1-X;v}QEmj&. FAhm@ّЖy2 S֐ Z X`հz>YmVFb܎~+X$VI?Y kN8CmK6^_ `04L &@@XQn۴ = 6̧b ]Ksϱ][cilUشWϋ[`/*T _/8ٲWd  %0@$BZ .2IgX)Ssnnѿf`pyafȝa{p}Xf yl{ڬuy3d_oq^Fuf n7n/Q^Bld̡2r'|݌I]csdwtJ;'y+yWDInݦvwD'찳}:D(M!V`M+0@@@@sX!;GJjtdٱ:x)Vk^)تz Yp 0$L8 s$YpAE-<$ƹXJbPk.!αٟIc+&@C4@3_fHrIG|{6s#Y\c^B{%eٝ.g3 \Ko6#%i'$#5vNص;} +w ÿbl[~N[,ub\Y,Dfd$ߤio |@$fh ݻ{{ݯmKmݮkd]Vt[DmH#(% d(+P -!%DE H4 ԌIT2P,Z RZ\*B)JԛLsKfoųkԓPAus$!#?{>ayC r*uSYDggV3j8f0TPcJ3fIGk>sGgEqcK8z mv5` uPxZcyт;!M`jh|#p1-r*MoZ p?Cܦ,|m⨊wb/1z>aPH Y%ͻ-+E%Kn^Siٺ&ZܣwmH]"ߏRd-'Jk]̚yoTy'3UfkyOq^`LkW_~VXT42Yfahh* `rƴqf큳 FԝbU~E KMZ:fO p;-m6Z jP$5sFU]SæڹeOԢNI*}|we żoѧB b]Zu*7eB_ӳs&˵nEC߮Ɲ-8,@9;WV[7 w_5)_0J}]H{Gh.璊.89v&/l6gӬGn9o'v(zoӺMϪEDNK k6㓈R"~UIn1h`gemn(޹ jE;Cpi*ԍ]`96+@JNo.wx ;_Yxݕ]kG3i.g mܚbB.d;[R(=Mjxf(n:G~.7M\x!ZYܤ"7gƔ̥ H9׆F_'-&zHv.ǿ]cuXщ*J'ҪJ\OhiƋACϜYbpԙxcweDxКOo3_ D5kkF;8{mGƽk|>7HڵT]fhfP?ܴ7huz{vrdm՛ky7W>?ksPΕb3H*(6[NWN'>\zd3B4ßx] h%(҅sS-A?H3ȱ~ڿ;ɜY?Ke*Ry-+UBa\CWX`^&Zjw+k?q5BަCfmM~!JZ&L9XP.E,#6/jI0s?źiߵ,]Cjz:فnl[ zlC3(jff6]TfZXT4JTh_t-WZ5v3K7[v獃dmUk.5O6£Ű?bm،ZMELk О~6Ɔ\MpH6ԏ-±[B`@9"8ҚOMJ@N #K=RN4!Ah`AVo,On?l*sŶ^[_Ugh([:S4Y\ybY|^q缢y~(ٟ7TH݋U~ f陏ע;u0% 7Nl~Eu',1{!k^3E]\KK.Y_o z,#ǜu~HѝLI tgQGжԞPfnO1 Zu|T^{DgA=1"/> (1[1ʡA {՘3|cMm. C^+$X!Uv]a3 6ݴG-%'nvoCxڡ<#{}Q &zT:5GI,h8{хqUdehAsC/;F /"wK辩$iVH3/iW%ެX)ȣ 0~p$dbϽg3h cׯ7noe rBUS~e:魪2aȄ'u=֤Lwl 7؝P H龎Ot V~/-b'}o#lⵘGHEMR 6ЏM5&qcOq'xnk'&nu< ̨dϻX(/Vq jqbal (L Z95jJ/QY^~Ye ]r3!n49{7.o{g=KMN󇄘Q_M C{jٻֺ9;lb4Z9[~\|o7\B_ڊXVXE+f?{NSO wC/6Ε ?#&ԵqV-]Dcއfas֟ßdzIRPv<,cځAQeɾCBl; 1_{Cnz) W YqvA^D73#Spiyd!7I{xJX^GZl&a[7^͂g1_%~D^q !􀎔r\OJ?hP'[J^ %bR7 >i~0@!NYZ<,'.Ϥ}H| āGa !?^5cL~Xiس 3C\:BX1FK[&iВIthlH(vRFhghsIh>%㋱ T,Z:P|.-E;2dj2tF%300GBv,ly4.B-+K2Q"(n@в 6g/?Y\Oqt|&L>yUVHNrc]|Amؿ< >(_4F ^~9+| C5.u6i-# pZ6eh㍩0;A A#/0 `~@r` q`]00 8S=/tsӅZ{C|=Z*{271~\qKŸ:.S%O- Rw"|O9w]7 L(tO|7v7"E'Al$k)%^"|[Բ~b|Ҟ>% yHC4Rz6k|`C0C<)LE%`U*7un;y!6h!)if P95Pgο6hZM2˿;B:8bX* b,sbJVY/ڲ|K@A-uDZl]2Z͚%4L,9pzA2 p+B-qH~h 9Mf2S?$/8 +En13sPDɔ2TD`dڜ*Br׈ 9;"1WǙ] yO!yR83Kr5ᆙ\ ڨBx Ct[&A 3X"sp@fc_1fcX+V0%Z,=jm+*-RL^:ݥJ=ԥbcx ^ZVEWcSYJ by |IVu2\cSZYGN3KSb)Ci,7eiacɟZ @3oP9X^;X. A)ZZlXSE)!STu5 >C'Y\ ڒlj+3ɖ[=dH) 2cE'˂tH?I&?1mC9z`g1_@0pkw؀lu\r)*z~b={NF.rOrSk֖R>AIԒV HlYD 6YSmnl<\`E(&Sɮ#:S޷Ps`(7:<lC{ͧ W_IrqpWt>'$,k WpMU)e`a:ʢ\y/"i ؄;(t,SMd]&&?D 5٩` R>"lU4|&\ a-`_}[lT50OR W,s3= ?} QW v=߈b\=\H$ uh}V{Ж['x3}/L%<po*KQ" tX 砷d8P{D|Tշw 6uPYmw3+3M H#:~F" Ŭz)HYXd)I.ezL%ðrhl ּ*&fnta˒}<lv0d狈1YIheCf3473e1Fem4Y#Çh"mTK[۳,BA \_m؆n& X[K"$Zfejj/B꾻@;%2"P[^XZuykmJ( N~$I&Qo23#Ex{ovwimں!il-UU2 "# ?R-A@@X @Sp?%F.v+I )wrƃ]NӁSHeBMkȾE;?} :1 ecXY,8[-v! E ]:`lv,W0.eto$Ml\I\ V9s~z|~#u^%Xj֖<8`̣\jZMÍEjg_{?ۀ!)IڕY htUY}>d*O^"q˟nթ{:K%TB[MȦRGǔ\mU~M.zfo:;[؏Ǻ:+4L"f˅%Q= 4ю/}5~QWɞ1P&m'k3!R×Q.8M!La೽#S(}N ,C6| @ş~Ԁke#֩zᙁ#Iq 3 09̂9^=x10`BܮDNWD [["f4ƀ\ݿ" G5 ŗ+%244f'a峐=C]&NRq\ϱ)DnUcspnk 2oZ6 Ώ-<)[l“E$j'eEE{}6Jh:MvE%Qr宽w>!AI[Ω ϕ);rTaMQ1v} 2 MjOI`GYHj~!hF%_"1`=A㱪3oX;k8?< <>dKOăbeg0Zv"iwrgZ{{Uy@hlHf07 o/}5EBϩ4ț] EϻZ8KtCu28j.o C&osol&d>GQQX&8._v2k_(]D*g}ܐܺ;:rkd*}>>_!.5ai yzwH8|j$|;xOdGjj8;K=-O|uZE]ewјi^&cj o%4 Ԡ??fSu?oܭv>iIEvLlyLNv$+4B25€;v!aGQGk="ҴC.'&h,LñF@fbEj>v4.dBe5EwnY )]no?,* l> 9asFZWs?h{A,ڽzd353䟮_<8)6bПQSQͥtΤ]h?v9zg{EACM,̦r@Brf.l8y,J2SxLyt,ʧuO&kt7BhYPjwPu2 <. ,mwܖ k^^bn|Y:Ѵ?hu 5Xta5z{tl%\G_ {:Θ+ q}7}p,\ׇ!B=xE=(+n%'1|=6Bas~v|ZB/o>{(hazcFvei )8m< YtLMps@jy55$s-릚K|54y*Cj hڞeZ (*h=t/X^/.^Oxʚggybi I/2hExUR]AOjbyچ>AsTZTC;h9xNPFh==7%т<=j)8rzs&&M%N~t7s% q^=g)Zj}ofH1 !(H^Q{1= ҹOž|{#CN|;n ЁhԽ} ФM<96&92hUqWS̨]6@Irs,lU jB4s 5Muy,K3:ۦ*MM8l1&x<Q35!֊a^5$q^-+2TXg9uYdE29i=\`s~0[{Dv0 .4"V@Ʃ;^B i B B7TW\aPncS7~AoS%myՋ|<5 /o*9 ?ajR༻L}I~05Sy_6ȝ5{z=F[>"kЍS-oaZ D7DƌaHC @@x@2B> 矱|ՏTi[q8 NSBi- N[V[N)ѧV%>H^DdҞa 9^ LǖĎWaC2~ vk0SF؝Qط۬G ˾,OQ|Hq,yԭ K*3 A% 0A>nE $t #"ٻP,4"ܡAb `dRݾҵ>ي;Jbx,oჽ9<+&d[]z:΂TOU(ib̊ :a\bw;,ꙆQAdO" 0R}3̖_d +vZ2O>,]OYfY..a095 U dpRB#&;a-xȲPEEYLr FKJd= d+ؤu):>ju¿_n5B=隋~ f1sesUt GԳgФ֬nfi5ΖH6Eݞ3y$:_Z8%eçtNu,(}kss%$ u <{glJvnɎȫB^rb]ykfGs)C6]&`-TК[EdJֺޞl&]䯯i6~R19Kjm%{o%؋?`cX 4/_߮gQ߷{2Ѧμ i3v 7Da6CvTFR*A%8O 74tnR!oΪQiFf)r^ӹYGPz )VUU>\- +k} ,+Oiz˜)5gUhv ݸUl `xJ#hfh|"^o*^ϝ}brmӐЍ@+^T/Gk^b\ wv|;kA[di^{ikA`'O@#t!L* b(eߨ+P]4-yα!oaDm?p̶qS,7o.ٽ([31KK ?e~*|oL4>Li?;/3.xS&9 [|[1ߋi|0LO9%NnO7n\xT);fǗMLζoYg6"KS~۳ԕ3}Z#뎞u*it K~*"Hn;(!lOY:Lyۻ5tC1o:e^Ng+slnqw?wόPXoSe&}QkQ i09D (fVf"6;v'SJyG0( ,4u? EoǻU47Y,1EPs`5LJֻ+3Pf$w|}FG j" nj͔vg4d+|wJ[Nu?)4k!6&XKJH^C)_z`{ }GqD78 g?nܙTItϧ뷚sNd^d Zҕa /)}']z]2N! &r?l,eQyhՉu;o.2BnSQJ=V\c_?s lM|+̱sc$C<*׳w G8D/|)7EGGJM`;MVK:ճ}@V!bC75], @Ԩ iqȞ$v". EMu$m PuZ Ir'Z_/b~D3~IKW+^yD$r斺Ucډs*5sW띻LkW]|fqp_~[MA~˾rs_hg1:mO>We]#[Az($f5wَ;#&5bB }2,X1E&L>)/Ƃ4A"(&^9R$rhWAD aMmt(0y"Ɋ(QQ ;)U9t߸|s'CH.w{M`oD-k=G X,pv& }vK6B+Ľ7lYk.k״D^lNUԎ*>uOm:ia#'Ur+}r]g1X 'L3lXgߊ}byCOcj*?w(GO&: ta%Q]D6݃O3H(Bm y*# J‰ B @]0 iq("¤QHczA_@{5D< Vc쒞͸u9Mrz2$:(wclh2gDB368g<`f, \RjuoxnΙl% a4߂4X+ԡ)t^c#@Uwr}X0f,͘Ւo'f΁QQt(!CWHyƳ ǭ[?fZbW`Sn=FG:-*+5.#gb;P4(dG=v2:{$6XZAvvǹ޳nO=ϦCeeS(+YԙuIaβQO1M]rXhDXE9eDUQcz6 :\Uz^n-{-6e<U+4$])T*Ay޷@{ŏpeHCaT9og ?`qB[] LkUtophdPI&&n`vJ(9N kgaV}7w})I}ow4eeG;3 7]һI?Y^f B3nbܣ%LWXDՔ0V)gYTdEt}g)7cU7_KF ts")5ƏЩWm߼^*Fԥf&yc6KUW[iP^rm* &S`*}8?_'שvվY&˝Iݚola}+a炞m;KKn3W(CN$ÅH6AbeXNK (|`ci|~Q72 ͜Y6>rVv4\wczΟ2yLiTۯIu8I[ ,3&X%ݟ9I ^&Fz]FƯc`+4Y>yӄ\9tVOFZԲ;-MZ=h NA(Ǡ/)Cy{AyM\ƕכw"V5s,x^B>=f|cSxGQ6s9EPrRCT߃b8\ʲu9s*~ r0V͈H9u]*Y@c؟`框# aQZ}|(:N{o6fDIÜ(vMTSO5N͟Idϖ~{ϛP*Ug+r+i60ps+`l<.;O`%A-{V30F<\T _e;?pqV);]J6iWZDsª N୷AͲه1rR[2V}aoaƹq΄ބf߫S oZ̙wKdn M%U5U=>nr@آ>|A񛹪NԽ&m CRRwIQ8z yօI*IhYM_kMܔe]qzVG%j`Xя~7t*NHWLq.1颽BD86M/q Zɉ`р9OJOIWZSt(NpL<N% x>fKG HֳÈRz1deL9=Gjm797)/oxCnF͒d33tHNW:dΖ4#/5^҃iۛ 4'i47IW2>gqjA7mp('s^wv#hl ߪƨŐ @\\A*%^0i`&t,jnulpkjĵרү[EyMW&RЦYD1!?Ѩ aVDzR F֬&~B kpGE3Ta9Sj¹-qlD."̼Ghޚ߰QȸN*5}z{ViG(7-.yqT]/> sTOդxȟ)ue?#αx@mECξfq,\ugTdE܈:t~Wֱ1y+jVU=Zh,^0Ԗu_fEՔy\J"v0 y{8korGUzknMf;IHǹs,͒ݥ?kTiMJ䷛e2eϥgz$5xx^,.:qr9p>q~?@f ݻw{-;s-wnɕerrKJ)*aZZ"aE!@RP@`h|>f&3&hC5)3%1;P;-™4oe< ('ho3'a=M7X nV+ }n{#qY,?fft8Ǚ,FȩA4n-|25;1Gm3şk֡f!kfGId6F" 2'a[x7٩H`=Gk?A>UJVZi'!Z>u>8hd;M #ڡэS`cM"3TT.PF ZM}5?c{j/z{Q |mȠ\$Kf ܙg Y揉\=*'rsIǂpTl@|CKz}#`r3PDQłV*Z)eG[(k=kڇ2b [ 5.-e}LᅨSC|Z$t-d<%Mmpn ќ"F}v)6:MN_D(bH_M:˻VgA]yV{t# @{`i3dDXƨB9i`D)kZ 3dEHkikwubUTC^p֒4,0JQ\_N6s" &V1裢_>}Pkb ;hk0RmмkS4S, >DgT֙ZճЛ{r|B ֤ܽ"fk"]"+.4L&JBSe)\jau zw9=SVZ]9Ynq䁋; I약7RDy=P v$Ri+A]}C2bn ƥ޺݂2y$i9l4wlܭn-a,,QDUTkE&)0Ø//4t2 F%ZeTiJ @uk"E*ب 5ɡ{ċlyrTx)r  P./Q`9$5Dޅtϒx,7iajva{]ѱOV@L*Rڨ®sҳWW}@y?(#¡Heʊ0$DDŃ㨟Oo7k^R!q%(c'o}T܏Gvdz˅Ճ7qaPLjLtc]TBUv6|rC|FQMV6VVߒ@,?H2:ZX,_GHeܢ`SC5lbhqVړ V/N{XC%t%6T4Siɏ{?̆8-aRd䷦e`f1\Eá!AW6 81[B0`*$`k0քP>Xe9 7y4l,;johV+_8sZTz >9JtWN%tP5Vsز~ BTJl}vwn HcnGy-\"& fDIPFy,h =Dw{`Tft*VNjnFF,]榼ݕv%HWY6,%Eؑ3RC])5d~k"=a jAN;M5cx[ɚx f?BM̙_&w{[%g.U\K/'8^؊=8!qz厣vB><"lY[LSl_4G+,ۜ%%7i,*0Wr%tX) n'Q"ʏ<*AJ5q9%PUH|VR OmjOqPGWГY7c/#;4g6d].zE2sQ5P$}\u԰mܙ:31pPǗoa(?]'e[_4p~Cp7Ճ`>skK3,x~[[ 6)D=Ct <]Ϻg4)IpMRCgX};4ZCFv@Lh9C+s;utУ[!/A`%.(M تX9jrzAd,mjg="[')Sc ܟ#yoQs Er7Kx(۱M= !zܣ>:C(41L(g N~y )MiW\)驧mbGPC@džΠF(~{>x^W"Vcv,={~eA1i=X6>7h:ao@A.^k= 0u\",t&>LC?@7 8, aHMJXt]sFPT&Pnqtɩ]&vb&=Zn:NHd/x<GI"{HM\F`q@x،;;<^׺c:st3/ 94ݷyh T܉ 5;X|bJ 3%T *5%9U)-Z)%:N5z &^c 3V}r@a\滛G!M#^i:!O6 ,?N$UP߯KuSs.F6 r: gI֥ZVbILF3ghu `pbDq'3{bES%vJx>6t-PS[v?bv#WKwVWc=g*%Ӹf 92IY"{$.SL,B‡㦋O^Viă3j+e UgN@-{Us_橽w<~5_ T*~ Z>w]1m_ (5y ;u8FDiT"b7mCUc6Yʸdkb;M\"%ER?؍31;O7><@io]ssd=z-Fo H,UPvFecJd۞ ~;j? 5?T^gk|s@gwRP'"C vp,f@i@L<簤X=&(dvtXMb6`̤+CǫuD`?kH_K$ O";ռI bj2x=@lňJVM¬@ BrTZ15pl{oA ͆ z:AHTU qoAJeaRVxv])ЧZ\%<B)j-*0љpX5`~R000=5F{~I%а4^>A +yLM( 򄆲rAGuJKrV'Q7jINKR6q)=B.X_xD%T&RH.NX!YcW}:j.p%򉊘iG0 h%Vu)JzZ,XWJ$ R,&k\HL?ޞs4|r.C:/M;fXVl zX㑠 MDaWPwc{ N?b}9{#W3<- YS3ogTsZ+$-$(,G*aTT+i-^+@fi !Lb1 鷺3R>D 4,8f֒i+%TQ*,a@95XEc6#VhX$< =q8. @```{߃H /f2vyG_XVse`nvlegA9^h 7DA`=Hy3Y"TWIj$,V+װQ< lyf9.2Rf_JY$3,lL]g>e&Qt eR餦Fxg)e(9܈W#&7[g4,.bS#/;ycxE?^x~WMxWAxxeW eS I&tif,j]nڡIыwDc>CPt D_ юxCs S}Ly5_vypr+Y72Fr */v, Ӌ}qi\Lq_CmFI_öN` ;ca>rB>-&~^$7- ه)&8-"DnPRZ)(DNǥ>f@ߩ]u9D!E`0>?xh0?0S573eH:e$#mocф׷?|f~^UI*i~ @/ CV#p̛;!ȡ$ooy!֝5Gos*5Ug>Veᆬ3 _fKјp<Wv( ՠeٸs%Zj/d#YwgLۻj{;*Uoh]UyxϏM-kX "(;D4ix ([j82lkxs;\1*; 9#՜NWʴ m0`q/%;p^tT*}LeU,gV;e~qjjOHM%TĒDvBfXpQܲǶcT[^YMniI#*Hs>{ΔeAus0F0 ^i_m+FetC6)*.v3WU(rz G`WIZmu'P;u4$ͫXtoU ZJ2 7gro>=kh>}e25, [ SOl# A9U6 Y*1;qzU>.o}E_2u|tLh0O_DƝeӣ,x+ fQ!n5*㮮?WC֯A\IiΟF^3%VPбe0O}?K7ܦ?d6n_׵fJMѩ6SS#{Q=J4b"JA82+c xsA 1-`Kf`VA'\Ö3q)U< /-Ilf`&Ok5DǨ;YbrXEy;Lzha eۅGoNHo?}J)قH-Omh}/统'7*R8#BTc6r&{m'(7UOp$d@qb]g"QdDF]3;!woh6n71Dp5jTms3 kmj4:|qlu7H݇#CLk5&c+8,tVB7$۽j-$qca\Tzp^9 }-dF (H1 K{!!KDZ+p{%v >VRATƊ2KL6L5^z^֡ !@\~?H/1}?~%!Z浳\.fU[OdnҴGV\ޓjQ݃J5EUFNZ{|+ S3_=DC*.۴HMIO}x;B`RRD{ @[Jj0VIs<9ռ6&9V:Eܜp *30Zۻ*-tM3`L;+4Lm!^)J@6m;uR}Iy$*5T\rz Zq'dL94.D7SX#j>c؀W5>Hͣ{Śi=x-^׭abS o* ɌWYL~{pK'YQZ9\(]I[w\K~S %2蓴ic]/7ͮ_^sH,}k:ܬ9ߜ6o2u-Ut6|p{&ꦧs3u< ma FO8rI3N܄g C+3󡿗\Ӻ!pѸ1L׿~oxH {\}סhb@z~JxilKuM]=;VϽMr_"}/|Y}ϖ!xv83[hvpF޻t8ZGiw.4ήSO0bxLyFw ?RʑG0aF^5sgaqEh|pSաmTg@zum ha;1KRn:aѯJ= FmF2p7cq@K|D;.q7M#lD\tץ U4\Ms/z;L_tM<1Goԝ\wX9Fš'Yn֔XoFNC}ipZfݚ=v'64,1[' V8ܣ?ۏ|k^[9p Gr.qOA-nHT{4_{dpUzSU RFm,ևzXe|a1XƯݘ! \kuC1XP,4ٕk "b5tque Ԁ[pWDk"Rzt(8B,$''dnnJM)FF⓬]lD+: Zg>)a覧቉II)#o࢒X&pXf>,R3##͈B&&g@f;Mc !Uӽ#MbF!uo8M*e ?y/o 4.57~±{1(v:݁es>Q[= N ^&IEUƷAZqy r6fTo!h~{@;{T֫N%`F!Jh>''($X<}L?(}RBꝩY~΄BZ|8 A_#^ (ٽÇ(0<9kn]ߊа@-qbu-r~z@ HaZ/X&RjY t 0(F+,5+Sf" BoEᲊl^tű4K< .6s/D?@.4}.{<)ioZsd!@sx !*KA.^,W-?Pz ZzUXs›񒍫rgL?SX][zCgzlpVMt7IQ&ANbgGɧМ4 %!Qv/*n^zvzɚgƔG?mP[ wNx?i@)iW!q$|{Q7 S1[V@/X_|毪+r:0 OB ̏tD[?;]Xl ǿah -0H f,Wf[9"x%S ٬hc] 2xd뮭Bb#( K]z_+!(rf/Rāwo9ˤnbr)}qrfjhf) .H-ŇW-]8L!,O':,_oR7L i1&r<5fbM| ]M[k_Ty iDE@ NhcP o\&9 ;xP,UwOUz"sg3)XxӲX7ey.*`,gbӒIA^CAZQjD4/Q#hvCD73e͐ KČIeFXZ.7O!7[o#%yqxށ@XH r pp, Ḭ,'̶mG_vqlڕ;8xN2[7 okZsSW\ɶ4\I 8H{u]]bͺn,ee)B-0VhEA4b(, @"TA8G!4sZ;c5nvu`v09@[Gط 1H /7`Ź@;פ Aѵ:hZ"U9QʟvV?&3Ҁ(tH-y3*hMO6Ujr͹f߯޸wD+j5q{8]l@B1+l=ySe |A*!jTu6Kj꡶ MЦhm go5bn}?4sw\Hj V荸xmD*u.UD2XOD(JMxբAk|G%:=rz1cGҷ*游q{=\[xc_ʫW{VGЎV V5QE_g#uN픮HL3_Dq9bżwڅ#۱NC3X31 vv9~gQvi6yo30힆692n@r;-E?\X"* m1'ܕLhDmv]d.iz99F4V}bmf* #Hz"j7]_ Wgv\0f90/0jKzT342HfǷzt2;d0 Wsk;t=+qG 5^ &wbR\n?V[ ܟDq+.ƌ'~~: ;ݐԯ,NN B8j |n^4ZBw d BdjP51)dL?Mf/ a5YXL ^:J&j9~עu/ \R^"-V^rR~.[ƀC.l`1&c6QNy|S?1ckZhF~ITRK^HgXoސ -Gjg/= >;C%a<' VM=msW6psg;No.Z)eͻ4=W7. cd_c>f[\G9Ȼ@gX>ZJ"90p ]W/MY9ґChE:hFNg-M8(;55fE"`K IJ  ^?@uUϟHW-ovkYGJNݤ$Ê:u9?HȳrAݎ:W}48ܞ@;i;_ν@y-l]lw2]iGqG+~;qypު}±@|bq{kvZ|I.+1M֔ie h;4wXo {o-1췱oK)CaĘܐl6da&745ځbQb؋U M( iJ%[,foqauSi.cw<1'Wqh=܍*Ulc 8,Ȩ&8(dG.j=Vi#Kg_Ztǯ1'i^X P7U`b_34ӳ@BZ'|s!4<C檹%=ͣd'^ٹ,?|C][[ieSIdخO@&6ȫ%,9]ˣ]ʚc,ճu>mZmvQc> lh͵Dhaz5zD{q+ȰE*B9mE1p%)ExئaK>-;P,cRּ\b1ߗQmm]{sYz:&c*j&xNǡVq5p?pL);4GZ덼o#_M CdQ.tfL2d^MH91{2!rK_F%}=wq̃Iɓ#VStp=|}Bf6Ѥw7/k|N6&$3i8zdz5F HտC3Hlܶ4½>ߨ!e0:MD j%6hA|uy O"ӡ>50#[}&)&ZoNJËY*Z^ |{RZ>7˃㌧. &9*H }xqnW4ReL1>]{Syf6[B Z9I( /{tQhg︟.X'fPl/ "~5y3W՘턝}dgIP E W<7B|:Q1N41Ql?\&~ҺE`$a҃N6?#,|B?A)pxgzK+<`+JPzѽXOռzⰄN>+WOĤ yC' _a4 ֵdBg9X@`DX< 8 ]kߌ_|Um b>s.vrSq{^l+У"VBCcQ)%л ,)+.}JӒ/XQJupe]4*|s;'v,YP &% T/X/$9?<g_b!H&X 1>o='=6"H%b5,K|,Q?aKPalXX, 7Q=^zB%j%>%E5+FjQ=@{ޣ`4'xi>X y Q-`9;k.^X UC/45jj ksذ&?|"' ŋ0 zcڈnr+zXOq!J\ANVzb&9J6uJ|*T,U.fs>inOޔR"PAC}.*ԩtQj 0]K 0efxh6u1Sg%n;zֹЈ,QMY\0c)\ǟ_,?_F/-q $k8b೅tfۓ8Uop租>7~[V̀5_m4͡9]ʵ"΀e.s 2N_ɰ'Ǹ~$pbj*BTHϪ11\ొs 1ô*Ӽ: 5uLeg0\:'牒N8b3ga/zh(~ 5rϫ45trr:T7]Rt/tCy\8;Ps1˭׀{m+}ԓ].WeAH6?t%Zh'k#cTj]_RLȓY%6d/deܸO>}$P ,ʶM"<)EGTMl,Y9ۘ xpQ{9g΍}[/D%@xJ {a,է6pQX%rE(k멡nUxa*=@n1@[tA%8W~q+wo&(k$y8Vo4@41q9Hub v3;{5Xu3Dm؃Ôx_cc:CucŬQxZ.E NLwL=̘Elj9#[d5fe\كn_KH=VW\qg GXk4i,E+,ْj773!JKa#XZ2>+􂳈L.EfnURv{;P|˿Zpi !QPSG֜3$ Q\QiW'ﵹ~N==ŕMu`f,+>/do^zs؝K;"nfgr$ ~3 {LMP)C~Ϗ-zz뜽ɘoiyth3ܖaaY0q]7ԏ9AHN0^;邜q= 3:;R0!>+uN.=kϿXZ8䤁'gFdsU+#5\,h.r fpēO@aM.bSH:keqԒ(&YuhTZ3foj,V!k87˳μܮ:8HG 缤U^IouN3׎'usIqn9 ࿿o>Jи}rsssi[+Dտ%纾48 *f1Ᏻ~i?[2^:jZEHŧ~'DjYWaGϷTF\Y # 2-TzCA⬱wKz`˔F촗LJJobyaQ zg:D[ܟ*|L~^|yߑ+8Rℤ?Ts? I_%J^΄띎^X`~;l4t "xѲɂl4)6mCyW6)cܣ/vTUUhU]:ߦ<7k5|o#$c.􄟖ML}5yw񤺛Oֲf])k7XIϸsG|'hY`&d/ n_1_ϥ/G'`|K,v;|#e3+ǾN(GɎOq[{4Y't(_(QIvC-OFtS޸OrAΪ6& USO$UL52g2}gI9 m儳%:"G JZ`~A0k:W( %c޾V$;K0Bb'v*tə&FA"ʚ\'"a^vXB e'%>S5dZc-mvȭ;b q-b|з!o=AQ[]LqK<jGT g[QBsBFTj xݠ4&KE']s7ׄw09W *%v+2.iAiMX?9KNffF3kүPѭw qbԎ?~Ic:vŖ}F@9zgX)BW| oBoN*<^μT `VuBʛPQ:l8EBNJȇHhlѐ g9y^ {.0l vWjZ/v1e>`eSli[؜0>2'w,l![\ "+*>zf] u䏝d<`B Q~c!o_x9æCS4P.x )?CvH I !)$.CrH! HHR$`D;2CG Tԡ*(_"Q.4^ywDHZ99*~E:e֠8t_کXC"E@˓RDŽuPs +N`2HcxgQJ7J[HP y )Cn=δ}.F9iKĎ,=idg]Wb۳޼n^ujox dƽ1G4x nt$U|/X #*ʙ%Vɢ=GІNU$d`# b%QU^G\z.F`sdGZq̆(C ضe$h[x1"&4ܠ"T%\fzښrU*ngi~GSDf1)xr4h^܎|!y;/]6y4Qn3kABj9mY8#rl'oA,;)>EJ<.)@UHM?quQ*ƚ~}y^lz ¯D\R:>t}4\1N/=~p;! ܥJMnlFXM;4Gwt6),w\~_u<ʏ>?țzzBݯ2D{͇:ˤw\\876 ƒ{Y?, hR ]~DjHBXP]]o&Zݻi^"ֺ,8Wf#u1F zضeI H%sC`hn,MbIeݬ,0ySQM vkj{ G_&aaӅw dC463nFA£ XӶgoVrmXɱ{@X03F#`$ $'\7MSF,X56lގvŰ -qg,wm/l,s-V#Jr!RNRR&'%IFI 3H5wﻻ{__Y.i3jV- A "B*`_~>#|Bd?,Eݑ jg-ڡ89xbTurȱ,6v 455?U1ݚjw4g㸤tvgԊ]⤾o S2K.rtuwSy7oa|ٵ-O˚hÚ!,BuHq`ƐFݦYn=.jΜgɬϭ1PPUDpiuV rFUwл(4%^9lSw!R5bs'j R1Auyc!"uC;kS7-o;o) T7E0aE>kݘסvBĤ{_{coѹH+>㯘l:S# JE]8#$ɝCf '@(|}lnP`sSI5H/zxnP81_IEi@<>eKJ9PdVMTYnb)wj&V4f i"-r$:!I"PXd[ɸK GOhc9JJTjc;]/&u/G֯鯗Wy/ʮ"_@ƬvE:/Z a3'TL0_z'桿N&#}bYjT҅˩HJ Xϔl_5Ca7cS[*q1NPE56Na*, aة+F9&}]Y4ftuUT;|+s^ns`פ!m;'CZ} ,@[#C˄9H̐L@I:>*$jh$JkHl&F"@ ,kTzV#@]#?ѐ흡>]$&vKyM<ĝlܵ u'Mg{N!k:3s+ gV u f?V[Y1u?@#u:=@!'oh;z>@CްkΜ|ƾ@gurv}OCB[?q=`lrsm*4=\ Pe8@MuztSuYjVv*gLG*gzu754\ʔ\Hg\v^LEV4-LU *jW)vXy[}@J `հx@#&]P)X+0oV{4X'[Ϡ932uF,b3Ln*:#u'OtAԬ6]*ƽDH¤WЂ.e6N /'M-(zʗ~>Ò9N5h~-єn*zO-ytք"I{vC%_UDFr!lK.4-Kn\w-ϮG|х3!EQ*7^ 4U ݫYkU&w.͠d1ך|pݲv"CI2{}+q,?<{F DCcnsTP4}Tw$X#dl²\x-I2āD4r$̬fLEAQ$a~؝h V@U]+Jk/O ^)6=qqFYƈ9dH.j6x \:FE#> 6g]5~:՛p4=/PG?* &B*/-  ~3\ wzNZGU&ԁ[O^0mȣ"XS]N67!꽷e;*h:#<΂|n^}lЬu'@n1T)2b[yz70m6͚ orIG"IG /pxv'xY-M1g(W{lƯz[9D{$΋k"zAݺ]ZzKES;:ehv(KҔeҖ3>h\"v|t PYH+v*{cd~ |s%W L+WUNtMd0#8{{:9l&^@i CWY _;]Υ`=S('"OjXnCf!TvOQ)/B5F_K\'k8 vȗ`0Y9dl:$HYEiv䅀g[\>τF[Stf}B\ TB^ d{x\Uh9)6Za)FyvQEXqehdE;mLk6q*hCSjswmR)!E,?AkQ0R!uܡdbI>AEI&Ɓb Q~rʚ*M6P1؈ #Xl$,6G F?C`$TN\2&Ȏ {@;X݈seg&3lBQ%<]@|/ =Br?j }B|5ϗd;"1X^N0Q(%m*Q>s5#ͬ ^B|%G6!xpf./Y2-0_@h% 'ُS|y̰=P¬zMLɼP5qOR@q HZsp=2Qۧ#Mq!U[t|5aQ͵? nmB n K_%! 骎N&SK+ h^x/d"zE:CȃOUrG{1/YYi /:-̲OοYL>Ph ԱJ? Xa%M?v|,Zd+HsqJ`r8 H4d)&Yه9~/&T.~B6S !F04ӯ*'ȥ$I"ζvS+s~悿 Y҉CvfMx1mca¯&-]kz+PH%؞/?De}p~u.}Rlo'3%K%0Pi}c N͟q 1ldo RN@p [U" MM(KsdpAw-<ߊ ſX}gq Zr04sh(̭IP*kLq\TqLO9dw<3ƐE&Xbb"fQeJaz{S67%\ͳٵhjc3'pjn2>) BO[D!OBUד ۽h.rV?K'Y_Z8> vÿ,\nsPG'pG\m|8$iR=}l8@ 4)i²%ivh1>"2[ld}6L Mv {h+a 'SO7 R}VDV#̳8!D4d4s%?>ⲲOJ_ %7Go=V ~:2w`-F %6gz+UgrMӑA E}꯭-3ü?m;gV!I@:$fv)aV؟o#u#z@b&v_Umv4͢Z`d (f3I^zʷrg4ӑ%dhgMjJʋ[Xr&"V5@b3J걭^mKw_xJIqMh}fO[$j)j͋[$ dg =Pbq.o_aMj0{Mw&cьq" S{^FWT$ y@eg)ys`qD#;h99R'Lk69[~^]Sԥtn/;7*(z5=D@:Q}5,N^M0C>I `AX6 >+%nϪm?m$X%@s1LYY3#iuoS*UZvχm-īm@T >VE hпB) jf*r jq 6;lH sYi'2AH\Z2?\+yNEUxxKvHK+9 Eh~;-N4@BlPU&cI 7"1(̂MhqdOԄD,mǴRXPc2g|#蚈y`gI\~\ cAԠRr }$F1jV  .G[\Ѭ᠚*ZYk:d-Z!Ҿ#ePq@&]X_ff%SYpBQ7Gܱfhe @-fL,@Vm(Owa{:^(k LG5Pu [Vܽ_ە^֞ʸ+{ohq'43x/q>T;M(_{4T54a_DUO\/T.Ft*`_ hxTڡ(rKh/JHxXnϡ78ub>aK%$%=Hڒ{DRFKY8*2wQ{K{CCDD4^UΡwL!G%$Ϛ6RSeNL*Qy/vWO@ۑ Ոɤc;st?NN-2mes{8dM?/lPRLbzh>2Ёhh] u*8dB3#gUP~{y֌vMk$.b"+ _H| F_ 8?cRv=DC( C0z`UY9ͽ Rm Tg8GYJ:ʎ2ChYA`סe_v UX zB sj7bgZJ& T'EFå;t6ZF֍ꝡtUnXVZI@ z>ҹNbWN۝s;{iuM6%O *ɩ\ NȊ~}nb;7NvW_(d#Ͽk^е_ ~֓E@5k_^ '%f2eЫ(ŷ1&Al|*?j7kPSHӞ3{)xvWL#m|Äryk-S>E,"8дd@g!qvg3U1e˄I# U|;c?'_bT'O+7\ m@hL4/6V}geS30 87^hbEfLLN~E]:$yQXL/yV"$O` PyJ'-!wL8"p@n}63֊qx!E%#K]aAV٘w5405LX6kʝm2d LmN[s3FDť먛Ue3&p HÝl [o-o]Fz_fF^b ZńIgO4ʆ s}GdPpNh6onitdH37J([˟ƞl5 3+t;Br4ȷftc˻q(Sg5&{z<\V9&pGxBj߂vP3Iyn6cs<5:ЈbfȍjPY"ؚ6hjN~gJ*M2D@BG"*ȁT,= Ӎ&ޚ;LE_Ufޜ$jȻ?6uFQހˮI <@iXx'ϘeAX=3C7:m;$w8~@C.Yu9WmٚƜwԼB%U$K]p5w$2&X Nڽ~Q 7{3}@TѴIRQ;9b^QkMՃwn'["KxP&8ixc߈HYVv+mU֪n*׺z5qClj3+:nN*h2r巳VG" 4}I:bX#%6 v i >b)ZWg(|X% 5lY$+5({֞5`uۈKg^žUO>wW++ڦT)ftUKy).yd/^eoL-܃`f~6gkioIO= *r{C}=EMGErN;OkXQ[SpE|o6IC|"+X(FLd31cg_ 3!JA9Nq=ʖ܏ ?jw޾v*u8}"-0f|x1'&E9?ՏC=QG44?`xʐ9 ck0Ys;Ϙsڂ}]z#OSd$Z}S#{\ܷpM?%.aUi!o{ eNZ*ƀ0r7VP2ۺNHmY0@Z\ٹ^ͺUE~ȴC*N=YXz[y 2id[YUe)‚FG[)h{,yk[A nSH]fslkMEvn쬯B=\VY/!gewK#U ^zi0vw(j.{PŘiX9mP?plaܿw}@`i oOD z9I"LT^ϭA,?Q *0}D{e~"w_wO=[1r>YWQ̊/k ͦ7/8V!+wsbKP͚"{w FQ4i1rD1Dg q\Cx3y"B=nJ&b[MD{E5濽Wv ~>ro>)_A[}%x:q/}Va-yTb.mQ`ܯcPD嗟Úa& &QB#y)/w: 4tnθ_ ke 6:"b]"%b8̕K&}͐g53t+КZN=81|/TcT[g 4s1X&\zʒأq2H%U^$$) Ba3%fR-񗳌7_*ird*5GWkf]C5͍z2 O%MP B丮{ ";WgӺ4 (P(dT*h+"nR]N%v?CC!w zR;;O!;:{;h#˷^dO3h:ɠijrn X3J#tT32b4cofpx N\sB}H~fONa@5?7@25^5ˣVDk06XŚpMb&:|RISC'#y 1gK,@^u7Wo[Tkqo{M={hk~K%k=oY{gL]Ǘҟ-[;|5hn)V@j*Z/2ȟLܕ%:kBY?/.kDD[ie΋RKa U2%zKVfݶ_PɚeW+MmIoglo؜9ODJm=lwg,1J/*j(y5j3kG!~ nqV=O^bl19kJWh肽_6~wg,u(Dk_@bUR8Ls-AeYU`^)CSJ B%ba;ڛifۛF'XjQ.[{(M] {WR-8*nwU)@T>ޭ ggm̤mAhmF8si>yBݶz#Gq;LvuvN7K' ᖉXG9FI ~ԛ$o TE𳚕FY?>0oO;V黬j⪟[Pf~խ)-zwn9ߎ@Ħ\8e}URRr%=6m# h/QRx8rjN8>Nr PamwC n(} eKh-*WquzKk~ Mdw8p`Onl2w>QwsmO^Cv c|*M{E]9&w}[0y©a+૳E6;c*$\oi"@%

?ݪcbݯͅX4B- ʺǁF h7.Q6k9 !ϩ]j8*27Z8-{<fz[4UnZ:A1ݘeZyӘ8.i΅Or{k5q GrjqZ+ 6t+tQܣճ}l夙oqfC_Oi|OvFT6st&tMt/,n14_H/ wUi'vI3(B=Db{vACtݠM-7O=ؚpWme~ψ.kzyJ{GZTZZ+ ݙ3]‰74z5AnhgA27s =?P1(]=[@xV Ȑ8c :v_DE:w#>DLoo]X8C扬m1r%ElrRif{ 4C^v;dL#)䤸^.IOM8HiI鱈h7J9bE&bku>mMs/$J~Fdo_w5)|6REp>m4qZ0zU)-(>"$ -+Ao7"l".xq`xKQTr`|Ҙ߱B%-Zg{! ]ίKFnv#tJ~ X6h,$Csu{붞Ɠyʚc[7 %<dO<~Ī-OMa~yj>ϺǮԭR^V.K `UɅ=R6)Yw^Ey驈_<=ܯ<Ӄ-,':iv`-:[)d,"ڄcjȍX0?UCZ V:.Y0(`a௃@vL?~' &˛Mcc l|9S{T{_%U ݺkD9L*a⒒vnY\cUbJT51dF^i*+J;4Zv2$ w3BZ9gJ1Ӿ{ۡK  w{n۹:B1 8EjkOPvå79;TN28U &s:U˔ `1mJC d'iwY_+if(ZB B; fO2 dv._~HZ"e֮`yO'G0^/ù7 4eH=]oZL]j}"pCf'@WwiGUW~@ :RD2@@@p?xsxHtmTf`0WZG)bH:D)y17"^yb$y:˵-${\0Y'<ڒSZrSIˉLZшs|:DuV$%O-wBD4$1T{+H Jl x3%s7YK Б^ 6/Yu;RJ.``>겫F,6Tl欒!iәHFRE|(:2?t3yP[&+ qbv#!rgB5ԛGiy|>7<\%46jUPU/Ulip긖C\ja Wk]Č RfɎ*'(Ic)8aۂXF{#|p Uy<>fOC浣#pT/!! Ѐ퀸TkZRhdqrJ|2b9d϶7$EHiԌ.ZD٦z Iz(HYp= PX6@@@p\/{ 9hǂ3A$/_^3D$xUw XU%\zLQHLDs)pWf9al)zڒSHtʚ)RŠᜤޚUF! EFYA{`.bYJm% = h%xe EgaHCQZ#,j\YJ-K7Tvq'~ZcL%1яabN n Y._33<Iس+VE/9i7%4W1?TE!94p)?)YŒBcy!_$5TzeF |'GP첮ES'&1IyP%>%KMHx}r6O!wd,+d]fѼ?SJ29WBمs#L `Z / r8i9 fzU&悞Ioy{ b*XFI\AEbATUL .\ybcaဂΟ֦N0v.1Tן;ߌ)FRBh6C[hVGpŞpqX#,Zj]fs}1ʣ,YfNvꢓ3Нd41d|Ix)؊V(7gywG2Rܾ0#sF3pM1v4oƺZQ$\r "nX{Gmodkk->`B[GZ&/$-ZeFdYILc41|I,@wmw̱ݷmY{[׻Ilg"QAZ ( D  4@ C$ |K :,ٟ^\uv9:;!tsCӜ:b/=Ndqdf 3/-C84b0: ÙtlXwtЕ|.;@"Ujkj # {N䟒D_/`ܟ=^ k:խtH4Kz5糢EuEθ_khk%ȷtI$}).볹,Ou~qϰ-Cד(R5 $aã@I  X U K\t`hw[@UmޛSbm3Zȸ#UMA<6W12eNts>v03Rļsue=Q Ѻ|ؼ1ToÆx IjkV/Bzj\on(x-oCeppi_C tLKAXKm3e%AUk"#\B% ovFNO7-WL]>DY#'yEV!Ka &uoɁai6)R#{]+Z@VC_5c.~Vg j`~ku}wx85;&86[O-}'Bevc\:?޸t 2ܕ7xG=ΗiaQ9ybe[+/^%3A٣ֺa!ڑj0AgIN||Bݨ2P1K}{Q͸&+5o8!kdciiڰ@,kumnM"ZY#*Qxͳ}"#|d)j>g̕n;@L]]@)ZiTRV?.Rsâޜz "ӣm'moTә$E}e싚*CxuG^|; 끮?_ؘcnW+* 3'C|9%@]3< 1ipEgcH_BzMݛ1Ye+PIEow]ݘJퟺ)IOhs/ߑQZ;jXtL3=*?`O|(yg=Q@}g,`tTUr,䶵!CaGUǼK }5fovx͇w>ɃK/j+>9ӗaB5$4iB,X?o桳Qͨ=;8l/eܜ&Z Bޠy*30{rN;?H˲&'1K[?7ߗKL瑦Lc}8;nkA _x[s==V?U#g_#U2Ʈ4sh?AԣGH/3!,댾XS:Ho{eZX`8N{&|r3ح -E_G_z/hl *'NjTsx$HW'TZ()gNt81Ud>9+ib>ˬvm^zS'D HPgKJ RY>Ʌ3[3y!63Қa4wHFΎez4vÞ3g ^*&eoLRĞM7|9)lf6Ϥ2_3V3k?l *_qC;yܬxy0VE X|>"f ={|p*Yج"&`p@jpwp ""&-,|,=eh]/r+^9 60v6nkOj23)7=ԥkNMH_T7An9DGUKJf7T2HLǹ|Ue5 )@4Iyx5m9%wxng뽄-R+,nzmF/vt: &ӛ6 ~m~`%>yB]l5o2[dN7vXMuL H7]N>tDK@7X5cg|ç&iHUFbduktJV.Dg]-Dncb[ g ~3ȵIs_sO\mi g$`LSfgu263N@W 0t;ۚ-3T5P"}<@ıẎsARN 0A?||2>䖶ֺm*w?fv%q5?k u,k ާg'*hl4T} xoV(8$3c Yc;>X@A7K[95m˺uqu5ՙ!m|n\7:;Mэ*U ҵ X:+K k9RU);eΒMb ܳKFQU󕴡1B' yfnrL@@$L@@@@oOIԣ3j=}ZXؑvkӮ[&;nJ /;qdRsnJg[>IʿۃuM{t/HCn&B6NoV:O-''#+ʞSAS_=FpA.$bk Yqغ9ެQmŮZNjI7[ZvdLxWEK|Ubss\ `P0Nr"η.NdSmD[}OoM4DM@زes|h1 [ _l@zo|Rs7C]sN@{1  4 m=a4dE8QGTN^<9q7ޅ:pG< =s e!=ҟ-gùoX# 2{~k|%dD׋m;7vg{ߘ4YUϚOhYIhyjLPB#,Ba\p(͐@1Z5[Tz\u:b3 !2-KGr|bD=ITZ*\CQmiihS;6qxcjy8yfPVC^6;S-HT@ k=A"6oO$.BuRc_q.ƆhqC1K NyKLsFYS/$Wh<՟x.Ëc6dOCF'qڛvvpg3=VV:44#G=gENfÓg8˨ az=H_ه3x!(k .%?I MobLw@5AW݈sqKajx"L8 BI:ɲw3ٕh8dSY&Vvbce63g0;s^evyxt#Oz#@:NllzC<xoڥ8OsޞY@0E{FHZo)ML\[?H>t5#P8{tRU%F 2 !P"jۥىG q<Id@ DQ# oŶh7v Ox$fk>QI^ȝhr3SKJZ؇zԾR%eY<`A -p.>i0Eʨwo͚{[,0,],= z'٫})?O#8TeGpt_[jޝgI3Y[p,a`>|`efzW~6O ,3A,cA@ufLb9X9ɵ<פjKde෌"M# HftTPEEF4Řj@I4 0#Uϰڜhݢs`=v%b5,1`58Rmo4gUCDS~K ǩEqy-< ĈH5`0s7Lc kX1OgpDfEsr1%&]TKPoȷNsEA DUT<֚D!0Jͳ)$œլz!S®[GN?C;hq,hi%\}?)';AQZ#By<2+![Yݩw/1 y2b'CAm6%իbcI|:߿xFv㿳uX- LMkuݢG/ i~S#i-Xr7X@m]r+*JJR ^J)cunYT/\h3KWjvߥ"ښ EC؄W# $ bk[8MvN>f\-(>G/F ^ko'< }j} ?z6Ɔ^-8d wi1۾IJg@\?sGΚ'_N]({|Ae qDFu|X8> V7ܼ9!]8 Göb }ڕV1php?vINH2⿂#7_JG4r9*D[3DJ -b s SHm5M7]VmM%6=Gh뢨QtlF`Z1oxbwpiƶ7Tq3WbµQܭiCA:t{/Dy^TF2`[u80 hcĨsp94߈q֊gF;(bmtug5F^fpǫ-WvD,p /F?,< o 7[qfE[9ßqo;+kX e I\QO35X-:f⍲nGv|;,rD}/$L\7A8vᇼj߷̐8KA\ǶϨL{~^éXl!ՕW4q?|n!|G\†q񰪺{thއQ mz;,֝Pzl\.3=u-D9ҭHR\P4|zQlU`I5~Vݢ(s!Mm9El PzLp&%/t"tu /K$mH-BRC HV+C('YuRB,}/\WЀ[եk9a`s9:UPR̐\I9W_.% Ȩ4嗭o3c٥ePktr'__BNas!R^)G98}I [}=!&G}瘋-ͤ<ۢ8м!`U_5-קw\O {d;;my&ߜnD,,HM%b!=!0|U*?w<(Ly!A1~"cfó$'E`IM7nL b !_F FY#Moy2A&A<'EV9HK`EW?+IQDȃ8 SJS 󮹆04-fa&Ӆ.azٌK89&wͷba7MEC3_B#7-"bS H$aj8ՏKHD7qM? IRCy^pK3tVS6n1\dĿ(#Ή5>,0k ;K'ױͰv}w)B,dƺEWfLKK,~.Bo ۀXREV~r3SzκׯH$dh!I6~@mePCy|osDZEK6`XhnPd0.4>Sr !jeq% і-](X'mp:$?D@Y `Ώ|=_$Y-D/NߩB NyswJUࠟ]RmOzݞQ6q@<;:n8Z47N#c.W~kh9g>*RkQ!VbR,Z0>'-MwduRr:igy.vZ򨂽2ÅT}K [aDhnr\'e7r{x_!*|0꘾3pz`|@rlVAa0C6=!}!ĺ=!1m1n>!&bbCLCeo10M/Hϑ?Y']D3] y`oF )ƒ>z8/2[/Z UqH5 cN,i w {pʽUin~ $`wD^j1O\É#Ǽ:'#rCCKOH@x@@Sq€3o禜|$1=a9"%XzdV, Uڲ- JYB;x:TP%8 cySRd,V1=EK& &8.;Eّ u@MNTk,k1cI +QLUJ5910uuYwpXH0{l4&'aa&XS-T7 "K̿ jSV'(r2J@/Z"wU֛*5 YX uf8X?%5!Dp>xjOrO>i>g9:*0IVXʑ2VtYe:up×LZXmmLQYWq|BR %Kju=fz"ѸjI* b-M]12Ϻv^"igu9!MHM i4lkH@@@Uq3s`؃mts> h*‹!g lG B0&,E p_\ fbJR}Zj'% 'WHXnQ cKtTDZ )5v9DWuw:ˎMpCWhIL 6?AKMxXJp@@v~۩Y {ނmgd~x'e'T{j;_dTH-sgI=` 8 ON]jL.>'F7甾 'TZdp>UQ1u;br5tÝ[o5MFX[%@b)U̳P+ 8(V),KX;˝'9r;vO{ɨ2t&2+v\ QvPADxЎ ON{^%b35F4^Vnw_͜-#sk B۶}sf27h(IZ'SBPL,PB_@lzb0M)Qҽ8nGW%cMdE1\$tu\qG)17SqX#wFfw{5Kn6mmi4l%QgAHD a,%V$($(@B ,  ?~?rjEU!+^bBrkUXԫkWr VUACd?5KB*" U :\UШp/ع>-&7B0݀&p[eKf ]e4D} ԏ>VC8?g]Ͷ+ DTK0 Y Wd:[{pi)bPy~ŭs |]Ys-`]-|C!l: ;v U0ğSe4#ϲ ^"ҷ5m:8%kZr H#jѽp^QV,Y Z f @ 0x-CWALk[i@q]v.:oܨ/$a1p+6a'c)Ya0{(5DVw~Yjpa-,MK7!qAgqRnaѕRkۭbp'L i뤵Ww~0 j<9Df3}kFƍ-5cpq/(}DڏA^9M0 FM oh${ad3C⛋겭*FŮ3[> u3D&#v. q2Tiip _0v4GYͰXp)5*"}y mHv;$ ̺hn6}Si?+6wȟk8Hv#h^|6k>'y҃ #]Xz e}ZvgOgJh_v# )uz5LA¢pDN}Jo04 A)`CM(`Fa%gA `8)bWQ[4S;B"S5.Ƌ4PCOa.$͏[CNdWϳ7Q/ȳ^5Ka6O>[ں=}TbV]]U*ӲܯT?seU=tl~V-_ذ+e7aϕ_({ݘti}p0r% >—?ˎ!$FMw1up:%59"daloaB *a8;5ΝT|Ձ v>l 41ğ5&1L1O'8=N Γ# G0DNfAcxum3_~ 5+6d(g|> "]/ĭ؉fL 9m¾ǪJD^7'i)BvEDSSVaˑ(<`_>=/qvUY 9PaE_Ǝ,L'k P<<‚4+w',AI_ :u-K8 lWrD҄$"QLZJiICl xګ^IsB!4 ڪ SB3yxӱxNSf,>ߊunu4 ~C8fNhd\27Vcar&G;+@LcAU/&^Ai+E&^;֐)w|@sgvpܧ`}9I̱uP7/r?w|,Ȟ?~OCPИs؅۷Hg;Zl}H/z'Q;ӶBվvZ {;Dl(A{1{a)o"o2`My}|g硇07.;vzM9~_>O_;Usk5 nLH /C iT.z1G?u$*F ǂ>F5аCި`|8cݖ-C,T,R`vuffv˦vtުAjӷMgGq7 F<+A| d:@Epzugx7Q"QZ%$1hloY#ʔYRf U{P*pR&[e!;x4R,!olX\)"{-bq1Tj7J#nά͜"_&"kɸHUV9V@LUN-hUr-}z)99 +=/5zredeKg^9Llo!lϟ ^šf!4 FQW]̥Q-9|ƪ)Ku>-NS]u0FR$Qk cb;#GGlĞ,{G=b#Ī;1[1k|ŚjA*ƯGSiXk1b#|cy ԓ4d j4iڴ:{̩md<{2vGH@ ̢ga&J%|J"0"HQMvkJtY1L-j $I>MQEcmvQg8GCC6SכlK#Q- { c"O.\ߥ(V*JB" QIW"?nIBfŏ:$ e)a\P L+XForzDgϥq`iDєydEQdiT%\ejA0-kol7E=0~h3,R hDmZ~~ngXˠOeR.ӐO%:lw@8>#Nl,XMtGq$@΋ f?hNXSe~;WvҌN=H[=S&c%IfȨf,i}fcm $Zx 2z_/0fVz[]uoϱCi1ɿF%vDžIf#R/J$Ƌx =WޫW#s~u⺢zȵ$U Adgۥ=ԦPL;A=2xDQ|I&  F#wE㧅G}p’I+U59qe?0Ca}6\j慠FQCuz+cr^ @W"T*y yȀqNh)J-(U*;ؙ*su2/ IdE4")>>q3޻ݻ{۶4닷ikLڴY#!([KD  >PAH-i!BBI#"nr/reGD1:6gFfzɭ{藧4ifzii5>6c kFbA?9~g!4\ HʽtNbt1W9Ic^6ߎǽn3HSMlGZVoooQ*QްneGo$P4_t.)LYj0 )n/&]}6bOrm5˅嬙=m9kEJ=SޭL%p\ݔOsrk 0otOyCxU6V5 V}W}!ydi38((XWw/\5[ܲ=q s@]5[@l.1Y&=1#Q׶.8EE@Рt#*l.`mIRӄQԖ?anrƇ.1B6;,H(G1,"eEO"r*q0ƅlPG_nKvÎy>Ft'Jr\X7Rv:ba_MT*h4f7ۍ$U`g?d^J BgCVy׏{? \Rjkq=կ>X:6lueB kkXSqo'N)cH+s+=z^ <4[uK=?fκ0%oz*4,:kZv-x#AXE$lǟ,#ޤc7r!`z|ÞeV\8%* Q5 I]Q\i]ƃ_cI~m(» ]/=6 XF--v)AF4D&e jzЋaJ̜`a [O Ү}%`g=Z ngJe;]`a/g:_HЦ޸Y;?lH#;sa&/뒖ͷ\a,_h\W]g'Le+^ų/ 3aFRi: lF_9\N. 6 ks%41:ԼGI8֯ X#*!N<]XLhP*UjvA>lw֣ ss.xwV!ÎaɂTw[ fl?N_ܥU3m X>,8ӑ4N*]mԴe%[Ö93s $%-+ua֘cnPDWkgM6MN5z:6:^CT`vy[nbZ0pMq&4#uroN ]Η$R-t+0l-hSIBM$%&8*=n3 +לEs/IddT;3B92C~Kۆˊ'lX *qF8? G57vsKɣ,"<:Icv~A핏ȋ,zD`37נ]{>/T!+9ƘlCdb\Io-FinQ4ɓ:I0"rAϛvkL{3s,Vi$Eēj2r^j'5_]Zhg$2 <8{PyYoFIu=6?v3mizz>i[8TE \4eߑ\n _tv6Ro^UZO_ol:m"QBQˢZ=V[w]S{FE-wn^_y6H:;j6>Kmc jP:r?(:jq7ry#A aWW['< L16 9h̳d=%B7#8rJ콳Ή&irI%jѬ͡}"pPv4% բ6 clsV0'wbsVH}3-Ye/kdr O%@ ؒ$fE7mzm1mD)!숷9<55E@K5@|Vm]L)߉DIa3cJC5gAjW%S{wCp}y  KgO~ O"k}3:klca/ noڊbEZpKWZ'uo_KkKgf"?M ?c>DJ4F4Eo9eOXhuRWJ(< H[LE2ktI$%(/uwwZ񽧋{{Ԏ,QC&7{j@u2ah% $©*fs6-qЏR==f>SYVP'.T |^3]ڭ\y2}D>j]Aǹƨm^-!?M4Zp͖$Ş #R8Z.Ui h?Ԛ.ޒt[~hv\IX mA1(+>R ;3QϿ&|&G/5πsQmN7IGـ8}ؔc^lb2 ռ2 YS175V.j)%P>|QLU@dQJ{/&(Vi#+|ce씴2oN9um fqF-xGiqޏ רx X4+YO1yܯM9G>dIXVT37U4ha?LOOds) zms`Scpq{M?r7_} j<4T]otDltN/ׇr}UC{F M]0s2[uͣdGՔV^ -Bƅ#2bM<6KYOChtt\,5mTq7ǵ1/lMhO[h n_C9E5;wp!:o5<ީQף7Pa1aϺ,2`!̼!7v ] \wHML_xmͬR)]q,-,bt1]^%ϧ=1/o92GIi3)~l DVmlyN"x(]S\TFJdFȼѭ_lX1rR3F &*^{7˩iET[&ܺ712᪼) Ûh:oϬPJы";,gY -0fUA;qj0 򻝮ǯaҶzrVV%ziZ1YLG(sC$R#)E`u6 F@VgqB詁 $_e)E!Vf .*ʊ*b;^L7YIH9<5sAY. &A,r VlmbdWf-.DžHbbWֽJ{~b*l8[vV=bBWX:q` ^/摤(Z5v…Yq+EV\;|~]*^\(Y(-9b<;V\5C4(`1S0_ Nhr~oj\T4&!ʾ~杊O9?'`Jh|{ @:urDʧi/,n 1 Or$<ǚE %%bYȴ 1ɺ4OCqXQȑ*ߦ Gw~ SEҿ_w@/7_ر~ s]-:/:w}G5C;_]&KޯʣT=iesĀ8\|fJQ%fICqwמ9sbw!虹~zH̠6?_Vg|>?2W 9ʓ|+P'{;[^_1$y #Ոj49 3shZa =#~䒿|wu0cH-hQt*DȜϲ6IvAADf/uM85Fv03MmV諾L[*EPH΁+ߡꖮYP۟kTzh"V/O(<“m4L&cղ[2[&U%PnwwuzV|ý7La;.:,;~&τ27գ`F Tu|QC@ml QB7lU9[Ml^6& _l;[lUGNH4 9[l֫_ϵ{l[k[kڱjƊǜ*zp~P ?(wvn߽^۝tk۲R4bQFBVD``H0@E!!DHJ# z'㉀fGZee 1`ʌEN;i,uf*:ؖ Yj\-ßf*Gl ,=aoÉj|SL_6_rqfqt-rUajiamM{S\Z\Eڐ>?o.g~(^e6Z`vG lv1Z@Ng$k<l0M8|0l)~lXi{Dލ$Roۀ=n <\-M6`!wMi5zYf+v[>"tW/R{DD$]J17`+ MT$yDrmcְ7AɑA ٪bޯɅz,"[ORc#aeƿ نn39))alIK`^%T?.-Ĵ4ru G15fkAŏuĴZ΍FTP{S  hmZ:nƊjju7 -R9(\*ϔiFu[-Q\O3WMޭI C&TՈ{[sV!zQJqcGcɲWX'lla;H&Vg3(͡HE1:V :jIR%6 s-#пc[|cһg=EƷV?4;^y*&lX0fMjޡnJܛۣNe@9Qs,R;*e d%֘|sNTi d~1(6El05粆^UDy,SS뛹i!D(LJ!Xz iw{Pcz#EEAߖ_e/ZwOsà-RIfsۤzw:<&/L]a$<'t&rRN.'Y1nԝ-yAx+2ws+PpķShm9>xq RY㕑{@QI=t"wP4 7 "IYZⴗ(5}Vn|i3rLm͡!AW6) o1%)Ex*7qUaElr".Tc +N32]n+ep.p$IwΤ>dz[)b,!SBC:aJl;`;,`cX5'ڟT/(屒Sʇ[BjܖP܁"aO-bu9HNMBt}L=_R=: iݎ<aCwf(Cʛ1/gY+JCCZ5VIJU湷 y-į)"N^-+|eAng%8Jn1L 0 'W8{j6 kۿ1{ \k@;?_zz(=9]N;qߟ^<}57>-r&AT닜 0\p] == Urڡ.u JE`Wb -][/,bOO'GS,,6~E1$I)u$JlUZ*a"J;i[N:,1cFo[G lUPĦTOT/42m\ "! a"v MbpҞ,ߛK½T)LaK˃W}>4Ϳ|=Z*"3Oؐb x;M>˂y^?ArT?+|]gu7AGm -L}UcR ~XY`3p:2?Ix٧8[<ɂxN CĪ6C/ !ֈin C!=o6D-Bfb!ĸ7CBHҝRo&8*j ZGRIJnf}*LB> ݜe(%} \ es !w(Ru8x{U.9 bNkX?=1!EIq&&&(+&L\\;I![N?R* (E#G悵EA> ]v[Qaw1|ń0nx zȥ|TY7#D!0`+"A[pbE!_W_! ȩD so!!C4@3oV 3r$/۶Nqg&.Uol'M  o03F#wCTl&X,Xr+mu&p-V,jjwv``--/--oӥ.X!`ʷ]ǫM$}Qh&@hf vvwmۮvffڑlт9-dπP "2!$ dH" "kEq>̥֚cY z46jAMZ ljrtOCu$]5 gEP:2,:w͗I ZZV_nB.y|~nkvPW,Ͻ~'\b(W5o;'n:Ej!*B[mJ$Ia//ŖAq/;jĞ97W &)*{n*| wvu {UHYTFp6f58/ʅ <ʹ垰)U:XyzNp:m+xj?/ u`8-^fu;0 [XAs-: ŞcUSZoxH-Y0Y%q*NǓ&ZMz3H GηlSoeb_KUal.;|սnWE(Z9Ɋiʫ F,eg{laj3ّmckqZ`fjb``/vԅP6(sdsfԮߦѝv#=UPrAw13[NA#P`$^Qϱ=ug;n̛ӥ$d7`(\Ǔ0;JIZ:ЪDl>7:R5dF޻>ϪnLoS"%))S/rⶉfT.89S38v=i$%u4 %BʥX}svYGCFpL?t),2 _x>ٍPPuYf()8~A6k!FA$`i7֮?Q7bvp_ʬcN3d^yi» j58Te*2jq/_ꕹV[6Ej֮4/r 4ї;((7GXgcuqرQ'g.7|KhRzc??K&@={(zd_( |Z3. Yq 0e<_v[%{Gl1 kǫ.c5[^bdHtE/R-KZSą.gZ ƥ B_M&}Ǣn&Rl%ì=k4JY)鼀#A47N>* |S)U~0ʗ1M9F_QNyRfF⚎ҞMJhjV[sPDC펳g|6/'J[@dvrhж<-cj Kfj/QFB8ް"?Ma|,Z^i'P"mV IQW8߬.Ev5x*ⰽ&QeGOnǩ".7 I).6.t^*Ҿ:?FȵKrUY u1\Maj<ʌ#D㍜A7BGZǙt+rM;~س#lDjZH1bF ٹ-ߴGӑn*^#>ROi3wٱ8i~19D4?rcRikh} ~{ޟ`c*zI2d N%SJ9x r(%Z3Z+[52lT h.!S'Z؛o?$G0H}"?ns߾[19TꝩՁUetq,ϫ< 91 s=Y0kf^K߼b CPQT}[F 7Jx)5R~~Kw ! *3.aR(P7wFs.϶oLӃ.(?pԯ*d~. Նa4 \?{3%~ӷ FR/^~>ơ+ɿM*=O})9W?4Eǵ{mɷSvx_ /ۢ`읖5# d!jibq"-~ECר.1SHcpY Wj\cߤq$`-aYH ^t;UL#[0J=H.WZlxKRwM<)U~aP h苶 yjqh4cFo+yI(ҎmUsĚzֱ՛icZεk\rgeK;Luj=В{si~Q"+a8dy ,GDŽrk !h]{vJuT<4 h{NNN4 L LjYg-ccZ̘bbdlVJkȭ'p7)[$:ߖdn1N;3ΗrJ}=tĻY\ǟV|x{?Y/q@O!R}܄ U4H%OI5I+u%x֤HNĻ3n1O[A-IĻɆ;ϙ <|PaJ+-X#yK 2 8iP/ E<'8!e[O8IdfL$fȭ`D  ޕF*W!]cM!Rށ[g"Bzɇ[FqJk[j&6L&;N8) ~Gى~WХ.cDY\E4AB}ti kp3<3-sċ2q_@3sH IIHm HC !Yd$ 5 8Ɛ`H;$2S|1(9UKTrϽNc!D]wjc5KL6-FxBIE}15A[{OdW~f@a[Pw\FBb-IDHT'n?@CzI],tSn1_ׄE5O͆#| :H.+ + #H̉u  EK&rj&x1;3Eָ},HW횳/m>O[^ͭ)}LFgK˨iuE㙗X[pfJ̈́mJ-x0L OY<.qxZ^:P̫Hrj]jǿ`e7?hs-_D˺ &~YZd!̃!bؐX`,y2g=MVpҢY1!Xj.=:dvGS:%Su۠j-:\Nxi;#J]ԑ压8he^jѣ |j<ʷ*+*|X/EzH?G^ph$=W+ mS Bb)ӆ|k0Z5|uW7cXnK(FE=FpQI|#~['?>jA߼C^l?یvliuzX8k,_#?[כ-tx͛_;̝j̞;Ȉ?W mٟS8,{ 5Q;\;ȪjjY$h*h#3$K<\"IovVgsƘer`=lsKN{N\`Bi0oi%%Q ݊sSWFj U)(d/5ygo&~r ;k9vHT(}&*>Df"ߏ77GU:p½=(UwZns i⤣#7ݨ'0J3RiQ&Njy<%h=b7:Cl"FW/9?xы4BF]MZ ȁ/U!"J%,$|'7)etEn*ƐU\' .uF=y[WKؒJwf?&Nis%Km}WpSg^c 34LuDVOaMM.X^hhRk5@$:ޱC2{Y-*\T{1Ʌ8Z;Uivߦg☌Źk7N/j 4wd/9WYgׯ@>{ٙVOnb疧P$9Rq/2O\'C} WFZcl!jDL[c>;2J\ sܻ-c=rZzjMq艼3/r=M֯i\ghŚ몙{`efl4y5ZM2A{D@_=;ثƞ1L)qRaB7V3YX€x& u8]jKkd,S&aà 3S\BfcuPQq^ÙsPrl߱W5"k1!-Z"1 n0Ƒ;!n9AF a{FJh؋IݲXRz={\A5T:Z ]"M)9d ,Vk5HWB Zbqu'hy.}K(xVy 򄜫a׬~qO#\IH|,y<7 {r= =4,7Z3D\Τ#Gt,pr~R{cDƾz}D8\RDxO,@#9S@,ghc*9LlvK&^x ̕-KV&CtdӉrsQz 0OM̝o)0uN) |~Z͔ }u6E !Ѷ͑ I{h:Jd>w$#Xce 3<=طIF}ARу2ksoc%ˋ*(Vʭ3Gih)u II{R'Z/rw&cPz CҐd$4d C)!!sH!1tHiDbBCD!06P2ԕX,hWb*:놧IǺTb_/zхUS3ev.y;~8ïޥ`K^WR {*172& .@GԪeL+8$ ID ) M}F*T̗aSfՎ頨gù zo.?rq(W،д/ߝ(xt/!_˽)Fq1\iˡ׶-OQd-䲔mWZ(JnGGY9uBY?=_nk^h  z/>܌וY~۷b} $  7ܲn#MMcn6p+n=s 7ípnM™p~U{/2(ENj |VjՌ'@ r0%*6n- gk^C>ƾ_˗#W)dh8VZYX |aS@UNCUl+GpwUWq"ⶣ YW^۲ţ2w{3/a[_Fzcr-qiGFkɿBy6w0&71Vغt6HegGKd$J3Vd%mɻI~g_frLG€h~ 0ʸFՌvjY"]^yߝ竽r[ ?0qJs3/':fW>Z9hl ֵ`:/G(n)E/ srB_Jf4{zmS@h 3 $& m&S/&c6M ΏmY{szH>#IMůflqo6$v XRndZhsf κͼVQ˝Zy6'~l!S,\cMyCnB1)J9,OICP7S:IC4Wf^%J׎o" A8 H6"LƀX@1 9@sH ^@& = \U,G5G= k]E2T, ^DGL] ;\@ bH9^Fe3ǟ1JMd1u̵ "k-~3׭Ae ZKk~í"DϏ3(A ~?5`BёLmL7M8;MV'鳞zK|(7{(3.I5Yh`/UF5Ol-Fc f[9Ae  Ƌ@0BPjWħZpFxE[Ջμ71qi/%A= (Y +(zOaqNpAir1j9(@WD9sqaXm὘W9 ~t/Րƫj1z9{25~ؾ_!񮰒碟͌ eiEjEL8pʊ/^/R.b3AgWlc7CCB <;4:-US["GUie~뱩YXy({`9I`m75"2X`XJlwz{Y/.SBna-7Mf5A!Yep!~>־z}Rܲ 9FajQ3gcSf#I%yLklS9e ,qI0۴^~Dtږ=Qny<'Xk\W .2<+EPӋw&52 2m/(.ހ-X7oSz?26ey;b/ ٖ=(^Zͬ^,EH_ _|"PXj5!Z&vHxj34k`$ GZm6YrrçڎքY;⁽[G6qH=rv[Gf!"QFt;pYۋtV7=63q;9y!pE`K"RVVɜQ/ij^jG6?),R3EF3nUtrnil8Sh&r}ƿlOve\0 wYmK/e-&$K{쥒tfo!X9;~}dx}{ )ӃcC+`26Q -$w[@8dh }wws崲ʲ֔^XdyeH,BO", 0 eHjI_Y!+  yx;VZQ=k>鲍bʩON#ҚKSevJ\F;ҷZ_ xldu4ĶG -Xٺ-@r6}ш!$Ҩ<Qٸ@9KX j]QPU^o7V5y~@I߬Anv u@"ʯnQ%9,-J4 L%@B9Xݕu{;M9=I$LO$v糁 M[G:oO[O];G DXh!Cb׻ANugsR"km! 41uSS^$$Fジ9E6vS T>jMUh7{ ħIϭ%>'Z;'8wݿ4raݺ=]psAk;O?brC$p*l/v&}k5O݁䊢2u;nV+w'H5"}ƚ&ƞeu*2u -lLܢ&#)FVm#FᔭێfoB>;`d"7 ;ʾXNHՖHEHઆvۏ:$ RΈG@OF l%ͣ;˛]w:u?n5eYҥ@$c@@PIK0ڍY^K*Lxr`օF%kaގ΍XZB@-XсbO܀jqF)Nz e`IX"9<(F/8w"FP b*k/V8D mzÏIh(-^r.6yTv6O']=s!m6ܪJS-lxfwi zFhgH'8;yc*<^QFeV;Ŋ}7Ř6T*N:+dxUAg(/Loܼ#1O̙h& gg%jQgy }(ZtlE{8L05Qh>Kh9HE]NX* p {z2sa뾢C͎ɜI*gLOn }s HX$żXkv [;.{m^etG0/n7HTȱ=^_^/S$LenNGܽ6ݵBG:`$D\"ob@  忩1=sRyl*ujh릾~&xĀ!o|8Go +-K+1Q,K4j昪 (afa"w"z\8?L@@vO=1JBh/%K,u)nNrx9hXwu.8ƵVն V->jd42[=f*tT:)bht 6U+Y࿶ŃQvjLnT 8&F$3AZ9 HDNAvTJo;Lx7e(а."?S C xb[%ќN#"}/nXd9qGvY[ͦv%2\J- ='JƘ9cCȡnɶҒ^YZ pD$2W‚ br;- mCF )H6Ɯ6V\9cLYݗG{͞nOt1=Wd\@Kqjj퇡xpYqFb+flb\ ΌYZL1;fYV-bXWa{㢄}9 N;Ra9^#'?ȨV.^uv% S*oKc+:\¼1 Ǟ HȎPݑǸ\HGX%hSpv)ÐI;jM.x3b'*Vᱭ,~A> s7[1k3ob&fSɑ0 $hirk;P.bPל'\W4D㠃0='ߎ=!4G?Rkwg?ICxF;/fR]pcBM/>܄3FYo ƭ2K\Dy5Zq^^lÁLZ}hu"́/wk1)!2 @|_F vܛ5`[3o|.i,L~o$8L땯X$@hiZ"Rik6^KZc-mv, &aCǔF61q:_ ;?1 /{Muh6,0(!<in5?=tv A!-'5ϔN3OyA|9Z>*]y<%{{mE~\ [Iik{ނ^O8IsHV|3WjkB&t;CMg~o95'e^ !t%4NԁdNrDwڼHBGGVUu$d;3G֊#ߋ7{3{RDt +GqjnoKR)]D&Nz>^\'b|5+Rj|7@ &pm3.D&ICYQK; ݽx۶pטq/]0x!/q %~9z)pK`=r I,>jQ1G_j5 m/B\N^X`W%XڑD/b5#ZX&SbhZ_?0K/7(lcJ$8UP?yzHI36/̗5{K~\<'EP@G:bI^{| SҿoK3lȭeK,8IX&/W{~ƹfzM3EI0e2 FU7B,z@hW:9.֊޳澛F%*#Z)5tFDZ ¶㋻m[ BlU&ݐm~1<&"&A[K"/-6bBl f'<$WPɛڨRTm^(&Hfy[Z 9>k8ěYE֛XS(@`\;=ޥ/NQ-jԶX`Q+jEM\E\EԤSբ)jQqH!TN<o)x]~K;Pfk-v3l#C fԔ㎴#5iCY` a:ny2E >2fC´  ;*΂M<2ij -\DSplƧ=4m i`6$Lԓ@ZrmP2^DeW,Ò:Zl! MSmڏhY2 !A-ps13 E/ |ĸ,X d /mb,>נaLڴ`*wj^{/$ŔP:G F/mU v13&$4y蓵Sv\&Xb1[ DjƛDNq';ӳEiJNr|-8,;w*ceˌNپG;s}0s>-Ĩ֍[R4Ah[ ,U4hv.̂.hVh) jA͠u礰pnϻS?J^n"LjYdTڛã~ Z2I;LxEudP~p*Dy:RXu]qr%dZvs.xg]a"+58btLs ݲ f8˙Iz$żZOuI~&WVIٰbEnc\N68;3V~240efF ޽w{vwۻkvڶKڊ$ն[X@hD" &QAR@0 q_@ n*VS9qG(8K}/ yǴD֓mV 6VlAs8[[(8XɝC5w)[|P˘BSSn5]C%T3Ax!5OYM?f-89r[4YgyL[hS '09oRsh-{]uRZjcFCa Ȥ,hh\6/bО4Ti[mezG #ok` H,t65ݞ$(yKIKp=xj# 7$Ah T첀^x`wZA;B5V:?>ESS28o@e.JW1YQ\ "I}=횓z,% v;Q]v--C*şnڿ{$+mKW]sZ(lQd1ۚq;Ym/3 5ڡکX?/s`gG.8"Zx}Z찍$,7D?cquE(=cOv9ި@t"kjdN}׆zz~ y;mj>{wNӈjK+!LQU8ʗkT (2{*QNvu7 ۄ'#"l[]㥎f*zH./L13y& fH,olڿWRne ܂׏gz[•"V^ ٵOk%-3ƒl5+Q"^KS1|xq!C^J[Rj$,;3毩. i,<38*Yj` eA3hih5>+ox)u6堚 'ϣz]<03tIne+uaDQі鷣AYVL#CFr\M3.(Fm3n%"S/t`[g*m&/G^B6y6"gp,PBkO('bKPhbcxmԮtg\3g rIzF'y{nD˭ګ~kn))H~`3z'0㤺!NPqExQ79Z"k4sg &KScrC0sOب1T:YZ2¹$u4_^Է!uGTF{UvUt?Ɣ L?qBYbE'E͜ E~?7S}qڙznxn>IO)񙩔̟f?&RQ q2b++>kܶ/zdڧ0f7mqs~ϕ5knΟ&D'oGi;H{+V f\OGW6_ q.J](ήay ZΩl%j Nd[ Z71ui=X8i,WbZBC铚Zq\BZ3RXb/o߇ 6K<9'na\ϟǻfXPlW'-Kǘ2,k|Ex1&59bjF!E&k3>s"We"["M8\ܭFs/=;4|/epC#zI#<ԅKbqVQ(d[ڎwuEU=#[Pzz-gm18\tܺrTḓ̇FV*8t(O >eI%GhcA ժXBq̸ʑ.n/k713 Zc1?zr43U}\cS~9|}kuSG`S*41y;/mG !P]# `wRi%ޕf f{``9TudhBJuY|!c52?c ZЋQc?N茌#fXT˩K=Eq|JHS?bE]'lm|帲枈:5i` Ziz8_db_Xx6؎o2 ({) .tw)=`Jv3;IuşDnp ֏% %mVѱ x}HnKǖ[6W;?>2oSMq`X+RZA^W+Â)\?9Hw8SV`*8XX[mXS !kG٧n=ѕ0+&^SJ`0 ճ>˦xCf~' QaH0Q˿-A<٦npc [[Gam;M,С4Z6` !4vԭU} w&V ޷BIdHjcr+ HC^[kԀTVJ{UrͬsU08^+^oclˮ90o6wh9i|8i m-눆ytjgπtisr>BDP0.qoq2iܨ ]F/baȘ#D݀8xPyHG(/F>Q4JnF|~@W2$j L0ɐy\XW&9ҿ#)׻I=fay/'pgA-]̓P^b*5_1^,%zI +C\!$נP9eт\3-$H׋c"t.tNM6Q@Vx3hIcn^ܑ>ʡ{ i= T6䊻=WPTPr2-]lЌw<;&ܭo>pTz y@֯MGѼD*ѭN?jms1SvOûRR-m^2[^!脷TVὁE,h+4)sv;޼u?zx[ <$ӼX`%*He]1r-vբT`%ɝq\,)mݾ{|T%]0CLqfwS'WBKg.rfyXPDɟ#qah;]R>)e*ҋ~)`?rMT22U%[fY>z**@!+$01]T ck/Ć, [UC⮥$YAJA!.xke΀m( 2߆+;Rzf%CQo|ؗ {?#u_֛%#Y/7JR8x9HvSU FewѴGLZ#K!"b6pyϏ'ƚZ0&,iC)*qHi= t {z\/<ʡ6{)`W5AݥtKrG]43-l8}E">eUi[{E}M sb4@kmZZ4.4 =mhm m6@ h_nWs8̡.DVٯ: Z  ڢ8e*Y%{S{^WD@ْFZN6g89SEzx W=V֦ڠ<kb=1 A}eOibL4Q`lD6|n@YR.e ۬8Qc]8C P-xfk#}h5M O1*Y ye fU i= 9OpC4@3_fHrrٶ5H'Ƴ&{%m֝.jߴ o; 5M\S',V-XjnM*pه+:j$v j>; ˖% rKJ |TwQrg(@C{m=ݦie]VeALc," AZ> HA?Xl)AA?s$SWg㢆v˪y\Q)ڪ9xVfz-ʿmݜ{2XiNUX$%[@w`꽧K+mzΞ֍^R9zQ->ڊmf$o R.<Sٺ,zRzfulM[= ]Mkif0P-oK85TFZc.S%bm|DHȦ)w̠ٔ'|^R֢[)9|P_.wX%Odǧ9Zi8aK5(tF&gs^@gHvm4 gZHIpU+TSKVef,X!F4%FxRxx&ֺvӉWwNw^fZ侨<aoVhĿF/~F%El-T5}Ol bvg;.18Ps"i _ܱbPL;uyx 6' G5R߁Fvn.r'2r2Rע]dZ1G*_=W_hos=*ڨڧ,Ӎyy_Uc:ZE;/?u Zb=niEP+1)H#dzv:N+ !nv(^GtRq_U9 C({djfj"8嵅Hn[$jkB[G5ӳpz`OoMu_MZTĝONy֓C[<}qƝATݻE.ӑ6wO'_wX [M%Mkk"R|{Qp#I<ͼVw'3{}:4)cYJJd{a+=&]t#2GX1N) RUˆtV6.أzVvFHgrm z;)?MK־[FV<Պd~fT-)ڟcS,ɥ1njsHGn"!NXQmHϞw; a%ݬ>JY<(؋ݭO0pOKWsACRD s7-#QeW44Ϯsz;Nۘ-`y,#YcHIyy6\=\qi^%%{i-Q=g}4djN1<no2P33~sqm;~Z6"|Zp؝ GZ3|q6)v_ 0J}̝KΤp{WX8B愀+N:)I55Rơũ;@C=؁c Z\ lt)>0a.E=D[#TڠU/j`|5$^q+Z؁gT"+{'? oIYky`pAG|MMC?92xJw{{*2:orGar ݤZGH;<!*<54m 1Z~T-kί"k롱`Y" w氟 aXKϪ@HFTZ-#EL!]x*4}*ɭ,f-v F;*coaEDqBkXMI y+_եA.|3|nUn/K_x&NOg2S@=mXڬ1e璿S7׆R?r "/|-קqId|5X>fz2w[T6R|`[Sئ(,ulqŗhZa 3ָ ^JFK<&E Ji /)o_e߿I[_ kr<1ʱ~f5Z8wQKt2J]c{m _e/-m:X鮀wޤ|0V0pwzm@C^޹Z _n;beeR˵ dUϮ N2R>6ηX4V%(2 ^ 0g\esdtbqA '|S"sFbx2 w@q]e&E ޮ/`+M+THéOkɾO+U(PMU`něv.Uzo tYdž&h*s-Љ1//,AP f.4'p=uH  $$.멪|=u619r"vvv.s >y" H>Tm^ĝ f̧; !ɼR@)bo~ennLiԓf;fe=7]`3Ԣ|(IIUt̺+M c7a>TwIFȽc^<tR'CqᦞZ #q#9Wtv`uJh  9d崽lKY|{Ku|ZcBpoϕr?'9Hv33+"/WsW73)3 CķScxV@KXJjWhL9(j)+g!03l_jH\E0]+q" 6 k"ZyI7`큥P1A31ҭ=-[d]><BɊwN=Q]Շ7ĩSb}ێj+T ˌBsXg Hd/>>YŊ= ]^j>|'SOkc'_w;ivM~ Z,~y5#-y=>k&N]R 188\r2=I'FF<5Z`!t @t/ N4!GGG&ys!AץJ8pLCR4Ks1(6kl,grb-i-'[/*e(e3ݞ[xm*SJh%)BMKO+WC 'dRx>^Ћ 7^"}[: a)$蔛 5GZ"m@FO)gvK¦;|kcd4 s&}XԍB[Mez~+5$=Fj-0 A堪|I=թ:[TV2uo$l& j-;)Tʸ{/HV-!+e; ϗ7}G}9Hڤ5+ !192SX#-G N?l^P'Ru}M0BewGN`eʋxIodi M ⅌[ (zzX-ʙh8b+?C4@3oeXH{˶sc \sX952^%ٷZ /_\`XHfl ?Zs6IXI Ҋ HԤm($^ ܉ͻ,q7mHl n(Ire.-eC-Ate#&i6I {={nwgwg;9ε+WkBeM2mJA[ aO!BDB _ $'@h,ktt7Zj `6tk;MonHOvW(SUScSxsDT xW^ΰ䐏lqAoCEn}c+FcƜȏc#E_5?uBѵyk;j55R>*R+ w6(QqR]'ۣq"5K.%mFrKa n}^bozN2(g\*yhdܽbƩB`S<ʪtB P9n"kwV)]REeY3E ydm}ϟ~ qbuFgbmeſo<aĥ[#:pK >uc{ 0-'l QgVb?;)O~%3p;/{-|l:+jl[$>-I[ɿa%^d(֕w,_쿩29<[ /۸̲X&J?jbf5SW!aq^^4P%ܳ6n s3-bއ\1!iܭ-5ᇵӟK)ܤNya6#>9}؎HyNZ)QkķF3!Lt䇂3"N"bʓ &Hr̕0֎( ۭnY{~(^X{ɿ||F+q_MĎ̎r'P2\.;F*[?Y͙Ǝlk`;IJ%SѫA>B%UxKA oƓzfx9yH:fcv^8ɐmz{Wwweip{[+L63Rա }4%u co!m z [Ԓ-[sg7mlbY E%I𰰪dz^hhxR^jF7RSZIޭ TB; CIdTgP>MXv38'ȽPfne%6s}iDȷ(&cpc, Î:[84[ud$ mX5eQ)fuv~u`P2SqG'5sY|XWyhr*>?fVdXgytnkJy'O߶* >Eme~7%\r#}d2q6TQ_-i$eibR8Xt9~Z+K|wØV-gk_y#f'oJgruׄ6׋ˍyB(4C" 'ˣ1KI?"-gعaypYyl:unrH øAmM`M_]EXD^YZXyݲ7*6.K^x qc7}fML lJn){XZ-u5TIy^q7S=/ŘvUM+>?%D\HrQ_2~ޥ2ʼn.yp5 fq*zgmf4sz)LzB`aP7ΑL+q뻷h:"6=8_22MXC,Cxf|3%y)|lO3f?0V*ɧ EY8:+Y7Wd 7pxwEN[$}U h-]C$}lhq޹D޻yהq8o$) d1gXYK2 +!ڪǰS.}/Wiuϒ߸-'JN$ÞBbڻ0koV׌2˄1$'\Z2/]ORX.c5f/w`3Y:qfY7bo]g&5%Z[&z[*HG7%S2⍶CԣFe FүerfhU (,86ѳLpcgw l(˹唆fss)J'ksx آK2apR2:|a+za$C1O|ӧs<r{f]?`|zvI' um ?Of}(Q}P%yJfkY6r(U¨.EisܿH_Ũ9警MѬngpw(r@^"G5G 5m59D0t2NIчx*0uEɄ17Y୊QNў<,^|R.0C'hJp0^ !j6I?zu^]}S*)xԄ p -pqӀpU`*35"]GY7$RP3Lg%1gR? R^8ZC |UkЪLH!*>Lf@G7_kEL|༃B/8Uxnh/4[Q~]!؎i՚qvj6;F:Y<a۲G(/l&ˎƪeXsŢfm_ T`8!T:Gg0ٍxlz],l:j<N\3:{t#WB„єTFɗ'aʨQ!WD$r,*.$1irrs=HX˻N٦B~xRV4/E|3{ q|q?It=!X&07v[íng7pܲ8up74 􄫃AT$R1D!RKfA]%< /p_$˼nNѓ}H)B3`%K}2 ̩I֢ )e6ѲC`+GNѬXu%$e6}7Ė2Ԫ ZHi{8UIӻutmR ݖ$lEdǘIboˮV7{KlIVqŔ -0+IWpQZ"DRU;RG+ϞqN5l擋8U%A(SDuD~8/ K$?"@NX6B[0?V_ReQқyU.8ۭ:./\v/^Eॠ Q/|fI׉1yUs_7^*_x*eN{tju(*v(N{mL]F` D/M'bJo`$&~0sdR @*'E/e1Z=ȴ@b+ )7s _? ?q%܆Nވ`Ku+?(|Mx7PXg!r uY׉ŷ^.`Xv{ ֣%Qnn2YƁ v,0dqqL`xVFU wTCERN17,MWccՆ}=DY6X`ԽHh@y=012̑cFo AdY㡼1 X I~-Zj=/PɣXN2vUQK3w' {lʎ˜2=e9$ECBmhL_ H`@,CZX!!h(} ڧ:E(z+A 2~ Sh|_q ejU_A@1꟭$:??MS6X]Dz.(u.2ncv)"]tZmNodGۮ7R4H.@`$( #h}Ahf2^3 l[̳XW[PD$[2&& a'v*p͒PYbhfD,E29ä'Dp/Ͷr3KX^?I=tگU &m]/Z6PPaAYpEяBgkʜ/lư8jM,&[+tUFrzUx~n"D);@`#*X*0Y}e{ a4Gi.3hwMռq`< Ft$NKIju?V(WMeldx=izZMNdЧED>UED1١NI@OԣL R'9oFT<1Ū}0[jT1OM)&`@sS363nU$ag7+aAiߖjN[E+yx  ьXL5'mG5MԨKjP4Lz( [Rw{BZvۗZ-_c]j9eڂZ9BbdO$F"$O$~Kh~n[ݚ$knѶUE7HY+ " . H T@+Pb~ ޏ<@Pl6;rh5 x(~,=l%}+XSl Wm[DK)?A1̳ip7E9 =z g: w^@en Q-բ>{G^mlL=Y算DS_5:曩v7Tnb\ ںt17Gkͩ_VS'f6IWnc3G;ZWnCTC.aT xv 7#Hl(DV=TTs{- *S 4'\^]sg9.!SPGg[&ȭ"'C_c: %؉E՘yP'.g"4z+8qPS+er^f 0ʛzʃ+>zmmub:4̖nu͋yM#9 ^Yv7†;/5lgӾ;yaFG̩.Sz ~&. Y@iw~(QvgSY{㻹w{3";K?ahu:XQv*]R}ե||sfͣ_reNJ,:y2a:0WJ' MF-ڛ17ξ FZ,ѥӨᢉ=R`wRgӽs.MZ|*@m._f\!b+X"J,E6FC1*ͮ紴Xs%|t)Iؖ7טacIt <ă=B&q䄉-x6H=E$%K74NHA+=g_nFpp䃿:v7|gʫ>2a?g˥-LY-|U5`sl&^G]d*h]-֔)^d?N-{H(_1w{'z_\N\[-\W[\ Gg'.e3)`7/~}P^FO$l5n<;pne+OdCRêl}FmGmrv*"L<:S# H R/(hV,Vc/vUg ?Xo[XGĐBXWyެϱ*7, aRlIxG< Tb28dP]BjYHſ莻M ȹ 9ymO rت# 6D[P ޱ=S9#qS,.gN1۪lE'mTj<6,>XLH"{)k8꽬WsU@ x*&o$XEj?i*O×?؜.֊&΢Q2{gw^S-/R&&'OX5J&Dx wW%dOBjMCwʸV4nѧJLe3!g}Nkޏ;mcU'r6y vhNsI 8Fǎ"؋̻E<Í|T(}4o+b=/}ūs_?^Pm1C"-5kQąT83Ǧ(oEEڵZ~](_g˹&U=e,+iD2.<חUL~0U&U\loH ZBJj<?2N18;/KF|zXgVAx[Οo$ot$y;1o/A>:׍P(o}D)x[iZHx )_z'_cف~$3l,?ST|D%UF=545J:9ɿ=Ow L^*pTNcIX´؋yE#d㈌X`I" (Hlh\+c}EO eIHII_wI8$)41Ց'oVǃC2Fux"D%̣p8X&NP;sCVØRUߜ 0D8|9RX)dqdȂZT8ȊCiYwL~@ʿV?TE ?{oUd. ~9wJmek"Jpڦ.ߓ]x\T%ݢ o\aږSmDYbLfĠ&Q3(E OQ 5s6 9+?0g÷o%u#eN?ufnG$_7YpʶaNAmqT]6gc}`Z6dhIT*I ԷڍSGIDW6J=[)pRV($RI`vt1 et{swAzb+5^%8TUǪC5|)NN#$>P|i^*tV%AS {?[!Sd.A6n 5.B Q0wEI"1%Gn;o_ P$4q+-b_󳜘]=(L:0囵mwS~㇁~, -]ruW &C>dTGgeZZ&iom-na.UUCߎՑ!'QW###Mj#c7û pEj2 Uǭ1)dˊ㑭YRfdU$H> VN]!r$BsaMƎ(ŏ8RQ$ |$(/൧gLj{'CFmaΛX]x}qY򴶺XL: FD44oE R "!=}]5PBX5%pl.&h;`c]J4; (cYC!u3e۠"$y3tܠyr뾆l_m-~ !cA`{d&i!gxL\ &ԫp3:)6J_'I@hk| ?FO[)vt CUJ\ ~46tS?(=Y2ɱ$~ o%7svX!,<|Չ9O3o{8fuƯ[/;s[u?lJ1.ꕒԧ u9A*|)O9 q,Rj_Pxgh@m hMs @ @s@h@hF>}R!b/IӍE&_lm~Kt"%dW+kOei<\Pə"\X)@DdB. @R@x3ܦV]OWw/j C<ȹN=1$[^G=dm6p7'N_Ŗ$ t0IMs@L+r&,!~+oEw ݞ ߕ{cпm__Ԁ`enOx@z`Ff0l fLs 0>af0f #0fį̀=›zOѵ;p(FMǕYFX99(wi/jTmɔ(t E03yXhS[#bkۑ1GEw#aR 5r^Y;`ύiJIrk+e,TdxR ٝڿ K<"A-uY;da|rD@Srx/,okh<6E91#!-Klf*QI籪s@heP5>G_{[-df3~F7N^h0j('.jΝ;uˉI2Ns~<7/N !<ƐHk}K!  sT{?̨ ?/ 暲/:V#bLHMFV ù $2 k^W; V+⶗@Gw5lR5$"h9*{rln!L,1+L4ʂ4\ddDwn%_ơ@!9O% 7jH"W-S%`~~n]*jIʕ 41} x SbCm VYaٸ :RCӴ-{)P$,QXulNϔ+lՌO3(䈶`9璞CNĉ F }@UC!^=rl _>6ȕKR -(2/m"$nj#ϥ8 &x(,M A]\\<hNZCkԭ`"J=Y:|d3)v.w<-=fKd1`H!"XM<ʂ@rBs(L  vk9z`" 0Db$-mг%oF嘝UeNyhßլ}N+Op+ ^ժx^U[Qz#頺$ XhqHL-}tfWIXR0٩0g EQZWZc5sA C45D^U.0q-<)ݵ<IYdr7m6d0/^ T53Gw+Q'@Gk#bh;݋V{@ִ.cU5xzKo'Y&x8[RxfAHT9bιyVX"Zjܛ ,g0>3g0Ʀ@vPH@ H'@m* C™WhoJaΏMEʵL<믬G] Jߣ?2xii'vFY Ӓ1JYQ΁šK6Ҏj~(,ټم UF$U1\ c-TCՃg᳘Wl*lI%K4ڿ,.DŽVɕ)5_AmnQ6q\jhW8LhO_t'70NQ\6&Gijfuqիm‘/+<׌n@*+!y©}Kl2R+7;ԻաUNMSeTIS&Ǝ])Se\9t׉gTj=e۹rSg^Ӗ-%EowFV@>rfsLgO~|ψQRdF!E[}/YaIۘ/e~s$P9t?)T4d,4AZԪ;܊Xѷ@;ݰ=#5:iFlU$T+>gN,֪dg4-)~& v x-.&5œf볽@+yRz [?qU&P's.^b]0ɛkVг_^*vrFºڌȦ"?m^V GwӿlLoo%q]#ri滚zl/:LH}f߷k$y9jgɛxgQ9^rEܲeFm$E^{Vr}Rh9viXH#}s!nH;'9v5ʱskEx7-_EsFuYz/޿PFs U-{mkC",#&^n^l><۩S_e}TʼNdJ6eIE^c 1h[ג|<Ԍ ͆[JpW񅾿< d+B(]o઺s^3e%μ&w'M#eT\3zLT|n?`5.g^_kGvlQ/P?_Yw N3Vx2/r0q.4лjH*8+/}v兌G59v$Y0, CHﳨ%DzAWeCUg=`:B 0B=*m`Ʒڮhq8'w{; DG_?q{Y] _5Kw<H՟Hۘ.<9qU<{pચvN[i냻LW!X<@ cE5mw:B=-Ɛˌ%^|%/_sn #IaUؑ;V]_4oz@ hUE3IB]+Ǎe4jVBӧLT[ t 3^]E^ѝi"꧓O͆Zn[7>=y_E <`ci'E5z\CYۜ( ZBO#"`>1Ŕg(qИ^##( Ia`)AvgTlKGBAkV n9{@Myb_Hf(xD\ .yNm=0.O$8.UK? Ǟr moCDbWXї~ tZLԓuU>EwbX֙]\Cw\=a`Vdپ-ظ}sgoGsO'N8F°fF!0檂k E]hoh,^ T("UTQ13Pvrkh&רk+6)gulovS@/8QSD^A2wcjBiIf2ɤf{6BaJ/P.HE@O#x 9Ao- pL> w,=#\\OFPP#_Ɉx،"]Eٯƕuf!)q4a.A"2[NvhIپ .Fc|ƞWIR-Uy'd.4" 0ܿ*}DlP〮uO3S T=HT>?٠ ."V'a9wGLszE DIK¦,p8V2WtinBĀ.)_se2ax06 ol s8?g1yrS+oyijŋᆆ#YL0bq4 )ɲEOqeӖ ]'Yk&;9kN ǤUQ\L֜0#5`K52^?MM,I!i %I?4<|z|| 4AUY7#ruj -g=`'(@g% & ^gmp =6Oﶘ!=0f$1CDD5jˌ]jxmV7s^TA1#Hi$LXgja#\sԘ&:o6Zݦʜ~ptq $ &Ui[|C44DoV i/&GwIV+:Y$I88QT},sM/Q4H]${eV3bu%=hGHGx1Tp+c.80Dw8{owݻcRfHvhm ~O<TH@YC%" N}Sz7zh7 еaݭcc@ezj<`&xe-W1y:GG ˔Q ) ]vGŘR7GG闡6:I mP5Wpq95Ki~^^ 3K[j'7O*׎ɨ.-4g3O#ֺB&sS˾X&.f}pU|M_WN_&uaJ(]KE\C&7$a .#c]x*Ҽ -+֬uR? MUI]I!h<ҫh*7J-g! (B042*VP_e쵧X]_W@~*w.EfmAi7u-"/[GԽ3j*(ȺUv$eEu7Y*EfY\yF|[A$y̐x`4ZP{J"!̱tK%.J.đ~W\&:D=wښguD]!KXb-k2!̌)+u>*pYM,v(>q¨7Kݙ+iuު!4@WCEzT~XfJ.?É~eW6h"mJZQfË//t9u:y#e[ӍsIV;뮃=$|[7d $>H͈ #wy`h|<ThSISVZzã1 O(`_A,!wkiYE?QW"͜z,m9lg?:g_,?=_p jU1:ÈIUX ε1oo02dXwot3h2,ͪ2] >7>pAUNpu,# ͫCĆ`:]l hWjLμIwZ1v gDt/JH]l.1t8^;FPT"q8!T%ml80ٻ#{S':O͙!y*;BnCJX~Ɲ#%k5lzzp;bKD{GJIý{ʁArL .f{)zB]q?q "vK%*\mԖ1 /_q`oX z9/_~ֽ:nUNo!r5j=^X?70$x`da(ǥ L!M<iNyY{H\3 ] ω3AA+-|Z|hIlY E(5ϐc5;n2myhfAϲ\6!< Y nǟ.NqUv"G +BZ7qܭ[HB0۸"CY {&3H (;&TB4mU@ '83uVz~UM.k_=x I$)5>yw*ܮMiTq*r"a=ЭZl׉5/d @+$wZ0A x^e>rZ3T/f_9c&{>ԿZ8rW`ߔi/.2K3X\ Mm7X_v>s϶Ha"oZ5EK_6tA vSrS͝6a1AlPRrǛhu`{mBWK~e#K0JWEeQq!jזXdVܩH ꧓f;1o $F LuUF.:(ŝȨT&ˀ~TY:1*=a0|<3Vౄa{.(ykr]0Qu˻-aqi/d!Gd] 9h3]`,_SQr&Sׯ3;s],ziGeU\d.eޏ0^VL>㯀uVLۥ4ՔPS ᭘Q8 Ve]PMF:U,7tcދoZoxy]ci]mkyd {$ (B]% $$ev <)pLdʨ.ܘ=C):h?Bi.ԧ`4*CdV,>H#. bN&H7 zpVG[OG .N)X8KTF!nilf"mG!~А$+R^򳩸{qh/жmN`sg;#ȓ!ӕEA^W2-gK{l[^v\NDƕe"k31ŠnZ8NfU-mͤBo7!|?P;$LED9ǯq`pid6t,gnfrpu_mhgWIF^ UTѦYH873pc6\4/ kEo$^]vzRefSdYJeFUXRFd!0la. I;? ޚ߰qĢ0+մ!*BW|8 >ɴvTOT -vm_Z ErR@^r7;:3v7,oh` hڬh"o4Rf4<pF>x\誰MH!;{~/̕jϹ"]7#7k}V nWvc͹N .߷PgD<aOH3W>'@"F~_a>^Wh_1^b8M[݄Ohlw\78AF&^/ *{#^Ld$qc˹?k:b= BWsrfSC$S lzrR{F.!mտyN!Mד_,lg$c8m<)Inj C_t$wnFm-co`<,Il$3Ffʄ /jHRo|X:![ה!3.olf>dζ+%+cZ"GgÍo J|],͌\nne#'&۲.H8Q_@">|  $aH@A2_wyzᆕ^t>Ɏ+EgxCYFtgt";Tf1e;T D a SFP$Ȧ\+7&Fb/E.V Pqs}6?6顨n^}E1'Ǜݿ}zQ99ѠnʊT;#A0adWmp80pM`5;I\Y! j I%ZsAE1nXPmKR`w·)7pC: mHT[@?[l0:D]E"T?֡nld,ꄊaR:%b]v4ۂ<ޖ?P,;f96QEpŲ]UDDakp&â[833Vg{mLSK& ž{,Kp6C'Z* [ AvEv" /Ajq})P֚TZk F"{l8W^d[7'蹧&]Cg@ !](θGUFuJ&oR?8]$mma6gX#2G^'EL N̿Ɍ^2n ޝcTHv/wC% 8!eU4Ro@.э] o+m+Eڋ/JGqkQlb,VߢgtZ; 6%WS&Ľ9#پ!o5`i*/$h@M%*4Ifg 삪aZ~ba<{3łNDb:ͫFKS/Xl#7&"b)~x4DWB ~qHOtŸٽƑkl1fSX:N{>s(o2T7wjp9h_n6lh%4O] A MCQ`i yi~`3zXʬ8NN.9 @6PEMq*7&%iLrkR5W#U54˾w+iaj=%T1X~m|iGxT{6y"NG;xdKE aesXLvOU4{z/k0X&-G|+^6%ծ5.D`GvKNXn-_/ћv, Y,SO8T:Oq`OۖhYO qa!)،>ȉsalaOGSm|İ,?H`r9Z98fb\anXlt6 ՜Kf'+U]m]#iwH[gv`F:%"}ѦRݵFe;U1Nq,M[M6'vAm%WR9dާYz)c[u]7"DJQPl^ѰoZU;= PVV4c yOӗx1{ț"D"\.X<#_|.gHizP-!Lx>&-L:[01j>7OoZ-C8\/qgӔP#% ^ W?6{.sK{l}u4-s'خY(G<*5-UUʮko8u:?';?vcyf*{a'x%R5PITƋO.cCj-+?u?|CXe; WZYQy5sET)4~v?=! 5,$Ӿm*tC`AN?=տD<.-˩EmMC3E Vi b8-sޖCswu $Eo7Qb8_ѕv)䂛"+v> H¸@+dQACaֹ/H]?0:0&߰ ;T,>oK&MpR{'J^N; |eKg&w~@u )1 I;}TϦ% oިc̔6PÖ˧B~vr+D4iUӓl3/f*hOE$2s#٬\Zv ǡe4-vM S Z~ML3j' ì4?Nbsr[kqZ`LoU( P{y=6yU)`)6=R2`U<@%QUG'r0~ثFny\5( +alCo1У|r"YxB@vH%GqYq\ΈAlZE0UCZLV)|#ى1O~c8<;Jo䢄 #`4=DMCY%+(?u 6+J;.hF|!)˪L, @!U%iiZڐc78;V[Gry<}f^|.$y=\1³HJz30 Rf2fV\Ih;dI3²O\F(K =*yf@%X.X+?P?k`2I?vQV*J]Ce`0t}z~wwaێ\]t;~v>ShZ3ۖeL$AVbEQ^NbՉ eޞFA"s(la*"gxi^g\gwV@iT#=٣N@YuyKoػ;oΊ5|\ 9Q)ekC˨|'e>˸QI\c;(.g& L`HL~jZb[!S\ʺVk;}.xgՄIJ s̉Mg))k4&ʷҪZ~tNlP`$ l[W &>ǫZ >;xaePkREjze_ ?~~kmM7ۡLa4kT2PӐ_5ӻ8:$~$*{ CUl@&KK4 ?CMuVvm3d㳶)QLО!Di{.b&t]+ztgjyV˲:8ɗv[#~#DϻK$?o4Δ%ex"ԮEa/vW݌W=jH BE=HhUxIeueQP[vJɫ^k$xlz /5M?"p&T9$.d1UKA4*Di{:TeJͷ@ޢW>H@ h%>rbx*l]kdC|/C{>ң Qe8.:dg3݋"AĄwf;R=Z\&#oQrk+Cj~BTNΝ}6@^!QMhKa^Pkz\(idߛET7u9ţXg-B^d1P66Df"Fe) nKlC%X%*l%=bNLRܽW.փ|x8Mj-V^.L;GSoNY3DEC^UT l ~Jݣ3Vi[6 GlB@hd QoO §>s!l򒳲ٖ}sﯥlsO_e6w?L)qu df7_xV9xZ۳㫗9 _') 1<(}G}ݾ߻nT֭ڝB-D>_@ ( ^ P@C $G |K6վwm#m>> ;$716vo_Q6 Q~~>7M7pKW/KѴlںa)>9~v:/ɛi푩Ӫ㚸$[usBcңz| Bܶ^GЄ i'nnihaftxI4A'Y>$p4Kv@ZүhWwʗC3X\2:oG} 8$H:WMv,EFx}Գv_^*lĒ S2fH.-An^,.B85ӥz< :1?XE_`Z? .,y  ,GqK.?$8t5)\V>+1^)4:S#󎘽K|K3380(G,wm46Pgy @#Auf-273?CiÜ gPpNϧ{ {1%ߊYBzA2R %B^$0x<{'a";f p`҄! Gs"92\=ߞ*l0&u4zC|&'u{D!3 y'ƧGaTV@2hRz){ǽR9Ϗ4yn2m{3D`=Q;F™=E-TRZ %4=)d[TyUcު!8E 褯I&(>wSڧۥm23+Qs."Lzc? @Ɵ@&usZ\W>amh?bQG~E8 IB?j5T6J fNUdh;8Of(*`L 82OkR-d:4 rµۮFhv%<&A $P s&BOמȋM&*]fM9BuƢ-GzkzATA⢵'T}\ jM[ZLD|^uD xxW?:!mk7qevaMDxl=J51ZQ]j|Y}Oav kU A'S%PU) >LjDXhy#a _.dժNH⧳kɼ%|0]kI.gD!m)ޠh.q""Qf?3*v&;[9Kw ALgVsfvGM?B2 VMY(fb[PEɔ9elNiaRCdIO) p O!IƠMJ}fëam& ZSoԙ>+{aZoXS`o4 @Jh HL7so]D?E7>%P?{^$92M|H"8b`A] 9)DqfV(jBÁDQΑTa9z.+!|D^cZ9Y \97* M#G2Wdde*-C9$6mJOj#'ak^U> #z]6Ylk ,0 Nyɖ${ p/? bOz`U$ `&jr}',s)a+H%=!XdY͚Ni;6ZRdY͓]|ͰF{nwUnV5 R+ԞpwXgF`H'歫 \Qϳ"S@dŧS񼳷4^֘35Gk " F)ryIo$FRzRo/7S}9$EdqC&-o s*iw-|=ƨgK=or7EHqT,'Q+D6IO:Y/y/x\ aY7}3}ֵ>9jU\ࢊNN Zc$qF(," X lqAQd1f𠞚 0Y)G֗J=\Ԕ^FDfΡX&-%Fٳu @hQWawAޢVL\l br?olþ]ҟ/Bפm{1m6kD7}l&>?őϞu؂!lwm(WksK{M{&;78MFG˿o꜌aVPvBA,d~We{vcq1jX &ӜOgTI~~ tܒ+F`=5 I 3Y\ ԧДl=w0`g-Lz(6` zjz΁ ETԁy0eƜH*H X#T|UBTؑD1.}/_"ЉjE 6 "lyѫ@]e>G(2G[92l#-eE,$'SD(?w}}kw͞\׶9f]Mw[Zk6);PzٟXdNOp|$q,F,"p$)s6D;W6ڳT=I_ew盅 v1F(-2p /[m4#  4]i3-f-pwKt/;7a {t-TW0>W $HpU l [)=wu)6 _N^tDy!BYP{5޼f ¸ "ߒy}cq벴H,9Awˮl׹goPӮ(v+-1< ҕ 7XpQyql80ԡxⓗގ8]f g\ ߥold~#h$Hd5$-!s1E9Z>XEYz HKQEsL ƶ}cI,X P-Gg">4=-4iN!{疥^*R$H tKe1"/ve~oF_O55bʱ0QExP!=RC }w.$o?dݛnE@6b8UP%$|:sfy+!PM ҈FYh!2M]YAW'?blT& aц Fv7;y/ͶPz*D ~YPeLXω%Uz^K82RsE/σ|oRkc*wLQqJ(**ATXYLSY#ǭ䁰VSCd>TyV d 6혝9ZJpT_No*&iHH)9!צ϶M>Dpˍ:gc bTBUGU>m+(Um>-U[T(ijXp>uߦ@%Aj=8S +OI?lEuCNWUEPS$B* #[,kob:HMtۀZ^'@'PKTLwi5{*Fʙ, BL E8-,|TRj MY8 &ԨJ{|.8\aEH%AS^ZJ:`k84+6h=p`Tj?g}uYcL(LHе_q _ rzȂ ̑`=Q0P 燚%$#;2[Z>ȏ}Yru,IVӕq^H)"ܠr}O"Ljq^(kRSͼ5%M;Λ<|o+HRn.[kdNݝOBZDM-@ =}S _*վ+&v2J_/?5]?!:B1J2A\>Ep2Ŵ_@goۮ'vwa8bJޟ-hT²hjT|M3f,2( z8 ڍJv> vk7^T źCX95?ӹ1?=cLB6J-q Cna\*dJ;8WZ!,k*Gb*`adDVLew& Uh\ ~ 08daZ.•!i#?21]H# .9fi:o| & 1KZF4D4',I@ѺW=2 /ƐmLǻTF5@I\l4kB4H|Zn^W.z.ubњOm+ 8l?ldhMeQΎMNu ^#',蓦{tJ3.u0BCU' 2zY!XK HY$VxTM5/RjSCUra٠qq繉'909nmzOdrcpy~pkoVVwKj1Msel|zwʭZ ߃C`ݐ6nAHZc5Ojex FD s8*msU=,#X2hm o[>܉ۦ=Po5)V _.UB,hP̿~9>)/}_!+銗з$51ab?T;Mǵe{j\4? o <|KCJps09`n82ж 9ʴ?xS=AͬUzX@ycܟFg+pJ%}0#e4# V&Th#"eA2q f e,Ԛ_)ggJ0'jV0dn畔`9-uH6P*YoRoˁ͔eiKs,63SX%i텋Ml#Ѩ(a NJx-o־ï*M/? H[OrzL5؄f%GkClX$ 0029epn'J凍$wU 3ptk>sěgnE\8>YG[q~Y 9kܹϺ}zdJc|Jj9u+*@eOGގjo|DClHtտNJ g0-D3UAґU[^P;:;"[S o5kϞWϠSFJYɸtl^~eV*J4~<^yn!|cnf?̯?I6cȮ!ʩTDARٻ~s6f·*}_G6'ydoe%LL.c@`";nc5J?K\%;ۈO/'7#sZ%N_5_b-aqihG,w3MȵsF;O:팎g߮^ՉN 'z^ A>Y{omxpv+*)R'W#d3SZ^]`eoqw,{a!Wi0 M]<]bg@|o2ԲI&~ѷuS^U:?w8MesBA-w7ݾ)Us-J?y ͛U8ۢouΓtf[?hӫcCw4-bo􆲝X7@=Y{=zڸ[QO2@r曣meO{ A&fkiJ'7s|*0YSFz'dw5wb7NQixܛ= ۓARߕh{{w|;䯪r*څ|a9R$w/kS[{ !p_C-MGq~*|>M7>]DfLKkҙ/qb8R1yGrѬFɪ zƖǫbݧF΀d9l%Z\m sWLOkxm}vjRmjG;HX[FX?-є3@DmOklU E[OB&`q;5@"&DZ$SDQ7;תsm//ժ9ŽMU#'M fı âjn\~~|ߘIա 8}ǁ}EvyĆ_q$BZ8Qh,*b.TFF屙7t21dSKxS|I&Io)P(5 @ & @2 V:B"|5Y*2Md{LFuUϓ|6kmpWЂ^W~K~aFv hQeG,Σ3꺠 L@[q*bW0їVAm^NVJ4T+/I+$w'LGxK}c1TÄW١Rξ7P*{v*,%uso%9$waf3774ofHXe}smSȑ\Kbtonww[y[=5h(@ p6fAJ!@@ֵ 3 lwǵ[/{L+iw~uo7n^亦7Mc6N3MּZ&W\Z?Y!30>͌B{mmkɶ5fm]eUJtZy2V"H`"HU>@ @ ;NG@pw?xKN3lkW?joZ N#y=UX瘻76OM) ~bVPvׁdqC![]%ۤ5Jް]ff(ӄEiŒU_4.0ٕG!s#VwoJ`Kk$')ԱkpHZr; ||J#Izh`.`v6_ },&LcOz^ں92I<em_љ1dfX96U,l$W FFcn.dvMeikjpZ#6kTsgu0A[SReGUC9"4YE%,Y#z֟AyeV }#&^B'<Vۛ!3~Si^lb&^d–^@Z4틟lY-DxN2i%'$ x/c[m??B<=R/H^ڽڂd#ʅCrA>t9w]r!]+БȇhsO lEÞزs2lpMd-lNv0u(s[>[wWUco^S++]+i1GAvU|vY-Bߜ7SeSM׵j[jieݼOf5&ywHw{Jcsm_ɜڂ=ϠjU,Fvdjx_^J'Ma?]fNlUٵۨSh MJ*\S܈XўN~Rȅ~X⎛zdβG)zl{/8\j/g5.Rj% swt'N5s!L䒥rܖ&8yJef`Ô^oy׎\NJHm^H)=Ić+aJ$,)|n:I޾q sr7P/_fV]Ut?}KN/^úUȼ⮦ŎsY%TWǭ2%8yY\8&:YV 1~rKҜWIS^u2}wd'z!h@=~vړ%m/>{W>a5`0> LR[Y<9Ǹˢj `#;R5%? A2>fWF;3?ֺVpD2 ~Tҭt&JM,mK(>kp.fhifm۶-mb4N >u:nҥK/=KdH'tK'a}_;]I'GZa][vE * ~rL~}P[mxT\;-u5hcW_k ?9_ɩOlӯ*)U56ϐ66O:"S|{}q|J^x=t$vtfZ [FnVO{:mq9o!OĊ->7|1pg@2٦mC}g÷X_c^0痏f(S6D7-EDEodc?_634%uQ'GVQ|KK_R00N B0jG\'jA} ӟ+(Ӝ*'~+54)_k3)3U5Td>/״6~dt\:2\\f<,*b*'D kmLß yjyZQ?fv7AY,h y;@fmg™-i^tnQ˽ІOF<ͻ֬*?N/9.|ԻVm෋:-XDx>4^9r\80{dBh#&KW#Ym7x~N~_@`v` L`jF &`i  \SŹ;0#98n{`CNLxVQXK}{3bfTSpr)M@>/ eU~qk~1}cJƏ=2"K d blB8Z"Y*jB|rF^QgG}}@bI.$`C5@3^U.`lkmsq>&B?ՒlYD܃L05h[D:ԑtzKE%ɲ>w[[]^lZHګL۲lRNJ)K'[(8{rwmW˹-]Ʋ[jZ[:!],II % `C F|%Ϙ_OJ~3jvOoj4ǰf354[lxKa:$bwި02}CNƵz=k+u4>lݠiH rl/Deg|nKL'atZkfU=&|<򃦴 {{:$F s!Y# li ky1jcXkeKBVRU盏RٔRAM@n|Jf7sb;Im~駗׹%-Jjkv}|M < $2Ǚ]_吕X$T剞}g08)^2۬ /"g >hޝ~wP䎕$pȡBH qͶ5~>Ͽ⢭V\c>;Ҹr+Fd QUdhtoЛ`8šk$1^$yGW|G"yأ/7s]v饒LYնJ'U._t嘹H(G8cvdixHZ oG!)ϓ>5cpqot*̭9]~m{MnY]zWpjW+עx d~W-aC~%chvφGdol!rCm`Uo ǒ_-w60+ĞN^P.'o!ccgxt=ʲOIbG==/x]דY/VqOeT܏I$L%23pp$J = ᐇ8o;}\ek 8h6AI¡4J=,dmF'S:YDƪN6ƓE@'U@nâsetov=]~/5t+k cX3Nt:=TEy[m[U.2bcqqW%fҨJƝ]ko5`nuQQbUe>fnVma\qؑ|Ms<|u1NW÷U쭩I*I`iZIhA|og~>M'K7;oe32IԐgKϏ8m*vpzjYܧY*g>iW)_1>J|qAFE5\|bõ .%_G;:)V8>?q; =XW⑝ΝPG}圴qRH/l}!Q]52tXq7Gμz7ǃA'Y z[{ 7 ̶辘 }t!~ WÈzt02Jq wh!Zҹ>w%1<9ӏ$U%щ'\`qZoninW xϜSR*&0E$a­E'1T|4FՆ=V5f#curn֫djIIb04_!oBbmuᗰ2em "i5hztvEFR75@sX SqRO3:P/T *@JIL=pl 埅@z;28Ť~AJ|w N0W,gěue s60tF׾2—/s=>ƪƺI[(Tܖ%GC4X88=wYOM!;ƿG( ,nCCԌ)xl Á?TpvY rmi&o)پF V66I-5:KQ?/OLiyuBQim&jΦPɥ4֛N!;g&X?\ c2f?$*S^tMVpo$@Bkq VrŽbuu,jvkJ$)G {/)SNyc _ 6U Wp4iS]iU\ېEotyE%frМ1٬q.+^sgTOIXe(EV 42Uu,&J] r a 9pBk$ ʵ> (;#F]|҅X@2 dB )^@. Htԗ!/j1 0τ2 ;T bӚ_K-yW)bK1~ႼkIJPzA= ĝ(Rмt$"ѩSd I}$jQ dEe:5ez{ E% ]~ZCI.tH3@Hy3@OMY'6tL/\5lVu 씺qS`!]e cŜ?!9RTS=ls9%{YDY!d9h`P[1 |HOm$rw]K#d3.[).k*1saf{3Kff1شhw՘#b uf;!6|nA4LQ⩌Bٍt1\SR.3"M:`IPa1%H,G@qBOz9Pb(wʼ/Njw^Ś1x3߹dljX:.Y+ԎGlDRa/a)Ⱦ.y?AU{.'KÈk ν  !@l[Y0}L"e5Z^T79u.Ef%q*UjV4rp(rTfhY)Cyb` hH[!2x[`ʂɗWQIU 䅧UІ~\V>lgFX2bYG&OO` Qg@T˞D  [7tTQvn6P{0V[GBTTCWsmA1f*eW+qd١Ȩx쿆;H-|J1:(PnD.=!DgzY[%]p)8lWլnҍ^j Em ڹlߘ׫&u{{*6Tˇ{{Jz#˗F<꺠s o 폔gVBlQG+EFԍ xϼ: 8sd|npZ?mQkqΈl(d􂧀M{IЦ!jk^J,pmNxz0֑-:Ղ9P4 Q5zCΨ[ zuanvB<+㴩9NFΊhR"-Ti.僋GՃfI>)QĈUbr7ը)E.0 Gkz}9樳A >MexdZ%C]`/VYk>IG?0;[GOGџ^ ~59C\M!Y#FkNX5Z>!+))7oYǺ~_;Z`}f1w >i:گ' cW+4kS3=Ŧa։]˳ZݭIݗTMwx?Ap$`R. ÛtVEnIAws1jP7C.bVx/.$@%h({IU{>f95LAd&C<>jd}bmԫ 1~~A4Fң])xkuEOwĭ~.g*C@OB a%ﶆ&аf ZVJ-(4$]Y^}Fćn{ӔaLIXkMi[ǑDR4z/qg>xFa1cipAUO,p<joBߋgͫ:H;a`Sh|/#%l²+=2Af}Zu9PGwgjKYAUq>YfqW.K֪)g|UC1;Tظ#O胿8l^Xh6ωqqt7--<#nE!Jru<,PoֽA7ĈZx,o#41nܬзs 쒣'%f5 x WRei:ݫ7{Haq'hS}3}lE]5f@hgqEp/b|9r i8" =/عL&<̔ӨȱB=zZdBI1VЈoAr1i](7ŇDim^_o V%:>e$GI$2IohZKj'q%1YJ=kk|x06={~E]&]i6I[֙nv\es%ZQʨ:nٴ|R1!I%By(-ro%{yABåé)=.%`UŇŏZ.[7$tKPi=tvS~lE1uƇm؇#Fko=c5Îp>Ҝa+Ic CNxħI -κ^Op$ΌgF ЉƎl|zMÍڱSTr,OL~8ѡ/tB:ɱsg#4b%xW /ʒE[$zSSq[:B76!($7ӊF %}/U(8`p,^`m 4Bd/rI"LwxxmZt Ql ALwskߚ;8~QrlzX(@H BZu V ߽D1e,i9XrU=0Q_9r2(@?$€QpP_4т ޑKկnwEWTUl$Tsao񦙡+K뢕-$#TkZr:.Hv\_QUk!"Q,wUoFŒ< 5!z ID (^kPnUNIz,Ç)Φ!{҃KV( ȣb-(kNS X :JRrjXki V8Y;g.*~i % O{aBoSq߃\G%_ŏ25a pG)>nyg{/WzφG1zvIz{rI:w=[AoGb扟cJ w86퍭' Ig*U:Rh-d[T'iY'g+qdm'Č˹?m>Іl+}9Jua~rnKB/7 ܈WGN?fRCuI+%N{DbP}Gs7#H|JY L\tIɼ 37 @B4=T7͆z#CBAH\GW4R;ߟ\@ \J] fFC-MlCOaqa|_'dO588rY&+% ~4 NL.0#c{'uSYzaV9G!PVUkhhkZs #:rľN^x#fhseb%OҤT)c8/#)V.'`2ᤕxB'%1Gw)+GsR֠G9C/9dYInao r_r`8܈š7bذ-": i۽cPdasZs(ԒiIHiZ-co k4~~U qRޝVrn`UH{HʛrJ{UG_ p5I9])[|S?wY~s 븾k;Ղ\kp.j%.\I.~)Dk {{ XB4#i)\WQ_bx)+r_=eCc'Oq/a\+p8Q  h$Fww+]$YWGo ɆJDɹP7kVTwJ}=m}Aя.7+* si(GVbk`1 pwkWl̤iEGn6!%jn>d]DY(JihfA(}f896 Yl$SC@#^Um'[r ߥ i1"ȁ&ۅ.ݏ 9IObYFdfh 6Mĕb~#XjR mnKbp/|S,_[˖7"nק`F+Ad"ߓ(ikJ$I(8N{kuִZi(k+R(@!B@(V IF(@QAg?H<6 /Xtʵ+_!ovBQбk 3>-Qm!oo9xxewD[f0bwC={{P\~ݷJAe6/j ể~K"Bk5V N[fq:n3]xsF-&a&AT#ݗ,J4=4V~zl$#Zd*h]SEw]dzu97lr:C;E7ܘt s[Q=UB?>H;xGEx$L1$7@ls{yݟ!^d 2]L 훏4chlp r14b{#05f!4u:/آWGU t.ĬfW#a-8,w/Ћ#r&Wh۲@;j4̪5㤻U4w T5\Rh}H;žLK{Ԗ~G8Ɵr@ O"4Pt_D&7oD(!'=\b~E-8݉nY}ZU~"鞆&ny%IEg7LM=}ipc_ɺrp 6̊(;`nn"O twEڨY łKxylҩO5v,Tnt3RFEZUea~Aw9<6IXdhů2"Wx!*%kD~v5\N)htFz:;ɍRϮmH;d^)-py ;UN(-iI~6=:2T1GgMZn-'5ݝ!F#y] P@ /\uq0}ˠ+ 36~UHwUء>eZ#uMN2l^w*xr+u%˗xgpLJ%?67^;|XZ IKG=Z[]D>FidCu./ZmwaZ qB#-7ib R=٬s}Z#9u 'omk-t ..6K3lO 3=1z+lI{7_~r>j%Ly ^IК3sgBMFcsB{^ErmjOk){$;&u=2BGaۘs48uo on~mY'5}/3DQ;/YB?b^8'4✧dž C,\n*NFS-~k׊/q/(+7w',>GO1By)1r^zPC҂9N- W}wtgk !gak155'977l#F7Yfx9d?$9Gcx/*ԧWZVM.8l 4#CT5jeWSbdȗ >zw8FNyo?оSKVab_E8Pٰ.QinWi%" g}i+6wmztyXyvq1Ϲ#8^i._UyLD)K+W2w:dzt8xM3ݦso] Sw9x(X)7oZK0{~u a uNNj )>yɚ(J2?#n|sj:.}Wm>̇8hbWަMh1;=cogm͚"0r nh]wF6^C MrR&Z= j}ALw(K-yvNWc m ҩgC~!bV?ȯy5EE^\Erf_'d$K&&VNk(٬6"o1s !ҡ"'r=?}etGsH0uW;U}Œ'eL3Ȉe JE'ԾX2=E$nl4it)g"3PǍ&mPǕ0N~^ԍw]kh?5EN٣z`y?fMѤ RSt;shΑG:d|wQ\zY,sL&ҙ\ΞP3&~o#W7;f؁;¹2YP8( A`(E<2aP3( ʂRAP~{?]yS#t2t`Ps̵!'&Z0 B.vYB'׬*%L f!éy܇XZطbA߬y Z~-=YkhGBc~5ym)g(Q9Y!]83 R"R ۳Ķ^A؟@͎UC@Tty yzYB5&t,rW8-YQ\A{Pz*Ldj@1c ?,@BzxSPfT. E_MmWfI zo_Gı# î4^ڔlmfZC-Û =v5 9>%y˲KKPś˾-,'tuӅhLǔy-dHC4@3_fHrZ#{/m6+zϚFue[w$i@ /0#3`E-4a 6M&(HI#,59pe ޽k =VY۸oNK-n)%X*KkKX|,im,M?4vvnvӵmul)[U%e!Ҳ $[&ĄATEj@B>$|HgQA1z1<8 MfчndR fza,z>CDqh8gsJS|:ӱ6J_zuڂF6j3JIǔ@xQdRu/r={v3lJKJ*/4˞́b LmA*tL .Y(FDdxq`TF"ko<܂;4fn҄RVL(CXzJ7UlFW;>8qRDW0 lpe[E5JhPnSgn㔷DEKņ7)?DbqnN,l~nHMG+Z"Z s1nmR0NYs|,0{L'f۰8kv DSlzm~[u6sg!)YkR0-IꤽM`Qn9vV$ߑN_0:$OC*Ѩz}ϓVQEo7P~c<&go ̀Jbfcf|wo 0(J5%VTvdaU%_޾)5 jԡP;(j{ΡEh*:+rT_#Nu ʽM{fZlX4*M spm7E^a/-lsNxw6!:Ԟ7Ȇ=!d^%/GdF uyMt&Z!nOU W*=Ӹxي #" "R/uEZ䈼3#U<:b@+ڮ?mo`1Tf)(4FIڿp#_>l!.:d=lxzrMޗ#fqyt?嵧0oIݨ';K/zB yqyBkʁ&qyVE[~2_EgXsҼVx`Um/2V!9q[6A/YZi<^d%-x(>sg'`e"V9uI8/7#bIԿ^.Ii3*qybPN,^ Ifk ^JRs ?/ 2wai9W^{@obj"a=Fuh#|Ip'YlNi@޿ CU`J3nI/Jv _hkzɎ>DWoA`s<7b٣b!&JYݶkhW^NLO & |a8m!AC9S@CV8 R#uB?tuUMx/D(ai"ڇW+Ղ K{j-$k;<ϼc=+'oc\÷r>_U5۽@H+%V)\yKz:d7* bw9r}oH: #x K(#+&VyRG$UH,oDU DƘX$g['Nq:.2)/sv"QKr -|c{NW8uqS:2:0\{R2A*Lu(j IgM={bPv|,2D\ڦ3 ul Lg``13 6H]ycExpm>A cP7~ c Ӹ?kԤB:16Q~f sLM%jnRzjϬ@s1ȋraժcImX;&H~ͿS>0'_ _RұZj UB!"yQk^`1Ebq^)qR4/lZLB\Mh`Z3T(8ˋtRaf楩aw"9voNEI~Er'Q%W%[nws3ěG!u%V=%?w %}F΢f6P[<]BCE_D*h}YVv}Îi&uc{5")CEJ;} B _qqr lO'ǟˎH8<^2QP"4իG @ӈ/d07G{~l!E9 t]no}py.z;6ZKHKe]yEھTo4Y h~R-]Y.#Kboz#8(bL1`\Yi vbǘuj\U_/*tT|e9%/Q}CET:{qָo>f@JUAܾ+iSl ڂ_"2|9&5FkIzxm%uŶS̶ ݻ-{VtƣB.^,.kꮗYLY!kR(uZډY:-{M=tib!٩II#(_;{Vr/qQ/kT0m@2SccT)ZEŜ$!~L~)279 صŐfi^ ֋"J'[$?!2_<My_R-r5`lWH zv@d3P|8܍}gÝ9Ҝ]C9d| l:x*y;__eU2#_6kn![d=ͳZA)T!5qus%\fPXƒFZ1KpYeHvs4@f*y 6qW*T爂{~ h/`'}]bS!AJXZ ӽb5Ny)a6)tR7kCc*ozވQ$S J>l/XZ`XTµR5+ծ]vw:^G@nQ1jXIUU/ՈV D6u(An)]\iȎOlۗʌ皝 ˯юR,=r"IpkOSj6Fk%6fc&=A}dznBMo %w-DMj;6,p6$u~n6hL]פ| 'Y,|<1J[f*Jŵ ]I\HtW5⬔IC)AEQP#m6=H'cmߣXҍFs|Ĺ_zBȴ9ZjU.;h}  .lD!#2AoQQXJt Y@6@ d@dl ށd@dl 12@d& @dN/OמC˲E`-ʬ/t>|g&Mc'v3h+<8> Ga+ƭ Kd{_'fcAZ8;o#֭%=P>[)?<Lଥg`~7P0Bs|GD3\of_@d =,4ԛPUbmzB+^* +>0k8\2ؑ]EU"8>nA0sdTpcr a\)TApeH< ZCVK\И0~L Td'jϤhdvPV,"jհF폙@Uáv{?x^LyMc]c\VZTi!WWtꅔZg٠'VC%$`ȭcj?"r:d䬸" - ];dsP"@' W$,LPNtfI}g?&Nx "ےߩ.t'% `ǙД:3 ќ^<^ $Ox`yęў+7)s7G N,u驳9)X@7SuC3KJ׊\8.J0P~a1(/~Z tP&1ũ`q1Q$u Uͮjbb)B!#]vPS쀶hGEf,p[TTB{B0ﶙ/Ðr 8G7`pxp `p84&dWQ>ix 6(9&A%I4>0h[܄j{8FO68p6@z-؂$i^00RF(T5M ] K=X¢pEn_u'bᘝvttb̀A]=1˗R'V UȯCFT3)?Zgr*9 fs'9&!te룟riOe:@nކ\y A v;| U-'=j,^w[ro|u'"1 [vD~(qyڧy}u\Mvi!Fi#@nqg83DG3V!";\3}ugֽ"IOk9l&r~%SղlŭE3`  @~L28I2f<2Tnd&Cauw`tuA^w !jZ/5T:njt5UeE !'!M3QL8@hf {ݶͳڛ&dmږnĉs*ei0DDXARBD`IP%7w>H\.$QOnBZh:h:Rq5}7/(\llpu 5I0h%+vEWKA l+B4 EKOD0.t& mNE&_XTpA` ‰j M7@όtH~pRYL,[Ł`::f=TB^SQ39d uss_y6Fyյs?Q6SMB.N$ثڭ]/J AupI[[L- 6(loD^y|~QEX,SO %:Tɷ?΂ȥZ>[tN}um!.X了K>&=ZEmlJVa7we&jsk2VRpu]{Rϫr x91f] ߼y_Ndq%V`i5HG\<^1VUGI-|ѵѧ ^G_cZ/._!BR /zs[ |wIzm:+t?]ۿ!)Nٛk0-#o5բçcNYc]떲{09BGvTW:X_'og$y[=&8`?I &QY% L.{ʘ֪oU&d%!"]K[7myEf_.Zޚp.nQ9T춦@2uTv 딦{u;[lLf ܞ}dȺp᷶\fT_^ե:M:`y)\I-L9)\P'؋Ÿxef%E8nUqB9 >17SbS2,6{,1pq CB11c%Z}fOB*܃)2=TQ"ng%Z4qL(do=-Gq͕-o 2$nEG J*{RZ*ʟO>9=ߟ9sj-mVr}6va%~r-oGp6QOntS?sL jv!BpZ)gN`/aC8KǻX}cpS'xk9W&,k$l .X.EXt?j(0}ӄ̎pc{dǧ/ygOi+\I`Q`Ia9-(iXC6V9jiȱ9ZŲeAMrSly]E@S/fL?iS- k M=`c kw`} =|ؤsh~Ln0lv;Bi@qgOw\6CޟK1*s NTi(tϼ.Fm[d Q.Qt;(jmP, gLs2٩bWVZ!˖ v1rԠ}cul~ uj: |ӥuhn+*AfQlXms2iM1-=ypSX #$2Z' qX(1o..t24 8YKQC;+׷됫3vB!(+]77k‹WQ|O4w5َq#$Bև-"y.A,j \ohHƍe}.uN:Ӣ}'1'!Wޓ5`⨱0Wsg?tq%%N)SjOUVrXMīiq^ U\qq2M#}70gC޹Y("mI jȤwf}XKsK̓Q½E|LEe^XݒuKoJlgK^x?UP{_@߬RW[Qd[㈋MdmkU02n3uǮmxvuM{_NzH*+SđJO.h=4&h8#y<,˚X%xkz aTKrܿt&g;9nw+/_8V YW%+@?X-Xj9vؒ#-wS`+(|!MVG,VaHYYJ-DI٥Dڙ`zOp~#fHc_+<=+ }x4CGMivÈR2a> O6 ~?D^Q (4͓@Lp:1?aEo"ޭx J!&=0 `LRڌ?F탊_+ؔΚFLh۟<0G#ZpVa9"DE!D"9c Wy$}zek߱/.;{2n-]D:cĂ\؁$ߔǧto"GK77xC}^l!XVYaZ` :oہYt1ZZ󟃢QrXʾ"L> :DcYy^""Dz7!E"MuŚ툧&xos#mL)_sWؗՍ(Γr/= K(ȥl+ä6}Ja=8Z..$#H@]Zk%MHe^;,5h?=HxD䘏ű Q\ҥN!&0WvBdf-B !dc*!sVB+d쐉j!2Bo;N}ZkV( cH~C%rGņlw)\ _ɾw傝Q}J0ӝBxSﭜ%zC!{p+L!2qaX9lfŋ$!pqg*dwWz%sк_ۿ c$Zy灞 ryX>Y; Eny9Bl!`B! vֲt{q-nb+ "rG:n*9@ˋZ)JcX (ʲWí4_)Rd&h ER>vxNfR&*q-Z;"] Ho1}Qg3#eK!=ag9@b@Pea%JY &j96 /t5Y8"cV$ɸmoU:`qqV3 loeB6'qǡC}:.-݂{^ J$ʓ969B NF ^\sNEׂnk ^Zl<zqXgs%'MIV z+ _W>W!,!4yR2 T߂%*eΜM9/܀N|g[;U/ԞkًPH#Kf[` %<>sC'!û,C{/~l V pŜmfq})f(OPDMXDpWiplnHힱ$y ^>9:ddR)7Zg :ߏĀ>曙^Xw5on63LNCrցj>rQ@őPx}!RG! vOAZ%x,l8 <&A{=[:6OmRX8~Z"U['mlZ5c.#LG4cv6N'o|_q#^*S>7 M&]7u& 2$\N1p`a?vN4*Y\JI_)a+EDPy;uN~ L;=o$ Hs`͛6W6$Ei,i#+<^mEsKum_EOr.؄8_U3X `W&%L+#Be%@>%뎙йtz.4?\΋٦hmJIu&4#h$A Ox'͈*H\3ĺ!y_C.%x͹4N6Ѩ/H:NtzbgyMnH@t.b-fbfc1*f̘s1bVf+Ŭ13jbE-\?\E*@ .}!Zү^M5Fq =rAew(;~ aw,[J_׼Fz+خu&CŒ @T2*fkekzK|U0%#o1&.Ur芢m23p+_pn}#X[NҦP}ˆ Za"G%62, ai|=f /p11+p+ 'AEޠۂt8W[CΚ"Ao._`^ʐoTfnROՃz=y olyZ尯Ĵ@0 DvkUUrV?!ĿB xp DwaZ'J,iXK |~F^+-+L9D 7d*A̠yr^ tyK#"'D"bͷXV_5w|w 620m{Ke\H>76* 4}v@8k(c% $Z6;Xq9ۓ5+%wPO8'ƣ~JEJH,>%@IlS;P&i[lhus.EʊdSBDN!4g lY.b"&ĸXc+bEl\UEbb,+EC5@3^U.3#.m8%Y̍#x ?v\Yŋ.`fF -[IV&I $ &tdvsobp/^pƝwR `|(e宆 EDW[&\>M4IIޕ& 43`PvmwwmK߹ukvZXYݒaHBf"6( @Z!' I D A?2Rb3@5MhJwշb9Wϓ:z ޼Yǚc9uyἆFQNnx41V C#Ԗj^)BAcY\5Pk{up1BLW9mjhHh-5c2fYIvmlU75;nok-wEVMCS* C%7u> 91v-΍3ko*kP7s&ԃ!NQ߈[.*&ڥ$D=L5#yff$/ 3 OdJV\Uӽjf`j">z֮dzoߎz" M+-|+ȮhXȗswsVc۰!F0 F\U`cS\¹n=d$]7|8,{hty CTo0HmEo٣Cf+ ]P4.6RGtL"G3Ηxy7%fp[Qjo=YIz-y+LZ6oȌf GL.vENfg1S <5EЕɪb*vmh;N5IxdӣxX'GHtR|!p4af8-A]O!i}~˘(?#FڬO-l ~;9ӷ6v*jAw7.64j|pc4||1 Ϡe)ɖAw Cj4?T;\ܟ[BٶlK'eU.n&sCGȐV@w?}%+wPLѧaK3ysyo1 ˁ3|{y[ZgaVfdWRה҃96jT%S=t^{>IǟOA0viPS =b,exlvf;Q#J&,4LgL'%x q,_XuA3tf9qMU?)9}-5$.u^Җq)U߯^C{:~epsODTbD1;~[-TM/%SXBQ S>~- 5^zUlx3Ţ.vyОZ|n|Ł|"5AטqKю,G'2/7Q7^E6/KG^$ Tyb6/*9yatFHNŎAC/m7N=EFHX/"} <ScP!iXN,:XRZt 9+EZbVVwe ǘ*3KO59OxkZyN?BXa~1Բ CQ!y='8аXY r(!ZNrtV&oBpdX$}hdJk>!@sClz;m~PKļy1 {MQC8Cx|/Ƥ;C+tA#+qޱr\xcΫ=0eNx[~c|ddɔ(ߏVlg|FZgk>0~"K`n}ɒ>=پK7Zp9xebFԬt8&窰rZZ%JGؿ9K\ywg ěX9hK<ʹ:=Vo<m~m(Q`d6lL75oj1 eKɨyTWdJh IXLi! ;)k. 6#̾w}Cw<˘bČ;=ީ0wS<3^Q@pET 9pI@b J9*LJ:VeA(fLeYY&rɒHIp6(%*DJR0OV,byͭw_Fz+b=޹f(سoPo˯cpж#mDxVo^Nn#@S*o>0O.,yĖ}ѐ&ޤYtMĴd9䤠L rg͔򝛏N"*@ߧM$T_r 7I%&>6+c{]IqЋm.?:qp2HODu=2"-Sc9G s(2мzdI xkH|n0m -vP.+:C7pJJ ꘻;9xVJ[P`8X3PIwaB@{v)f$ܩ,J-8&7 RM☩Zs ĎQ|(R"%TBŗlk'l'aCC>E3]VlZ@oq, fq0QwfN(RփAR0(aMLLrr3%d)%4D=h+xu/k/mbx^821 5?-P]*:kD{*(tx ,A_EK]Bh%A2~k*=Wxhb(G"3; ;"VbW#5ַ5O_EvQO @id&v%(N3 upx/Eۊ>r؞W԰tWTH$ A`7w%VwF%.DnP&֔3lGT3v rז4]Fejɉ0&R)e:SIVi+TZiN2ATa%j6xð2MKsye |L0i3ygNm^ׄp;yp, N-roL؜h_tbĨ9R֫@Xh.&ZPJPeY,oFfp͍q$ zykD qƊd ʬ109 }t@?x(!ęeX7S`&01L s 00, ]_`CՃ᜖S5]k j*kx?Mv&@BNősTdmpGȿ3MM!4PAv]eN ~m_"!N#Ms,.`j9l_X /]YEsq)DiVY,'VH2bba*'XKeCPBq*y´0 9G)J9x!"Ԯ[V7! i:8+lYTJgjX%IDCq? ah7 r:W!s.C4@m' f!c̭'7yӌډ՞63ZGO]vQc(Rbz:IuL7{;m8nT!_G>!]?i 79Yd&ORlpxnt< ;]MM A{]A7ڰCU/\mzV>]XaEO1;HnCG`cXKf\Eֆ,xo 3vxsi0"CS%Q=-@7].jHeq5=3HPw]Wo/+rlTBQ5|mѪUxZcr]}!W1>zt453%`1/6atRRSsgޓri^P k;]! >E 敂 qݽmN]*yeNj~}QP'xo)R%g͸c{B8[6(󈆻"d:O>&%e-8BLWb; -%l c(&ežx03s~>є҃[Qvw0DZKhAtc=r&wO_b|00քk^}RҼ& ɂ]X,k q.*E!8/\SkwX죉j3@#FN-ZO2ẘT<(u(|f?JC-T[߅'kj>nrOYޭ\;健])Q ( !"^(-|GNH $2z Kc0I8;IoC0!H&~-({O@IubK#kAU#j1^c 6:Kh<RtyEvFPIߗI9bxDC@o9.q[Tٹ^T$w!oTz"ڇ0*^xoSԞz$zs3f G gӿTTT%U66l_vXٮ.v&ņp‹![IE2U7yrd z5ƉjsZ hކKZt~y; F3m)J8hL;| xRkzuˑsZm۬vYD|{6Ll^mΉ˄pE.Mљ5ʧr@_3 t^0ICAlHe(gD9h}zs~&)Jm2zXzWPI5-́dOOYh0i(ckS,Ѥp(ww2u9[7X}Hdh"X0KEVvU(0 RˎxbXA]-MQOiVF§_{d(Ul;o|# GaV` x\šJϷ#EOȠLod($5ew%SrWHk,QfOEqւXdPk~(cn"b|匰VG Ǎ38q*]G/_:E-h~3 PiBW %\=yg:jӆvl_Bw,I~{)"._X:#b]#zVka47LIq#7;9DDfFzjıf3`қ2c&G;q#-1w0 ^)ʤd|Q2 a1%ҔB徉2×3ϹFF~.advtcvukPbN`Kb&D\,N+ !Ȗb)j݅o?=O;fzcW%Hi$ yfxEQ,$4ڿG`g9cgf$X 2{HᎬ ,BȺee>Yǔb Ȥaf'$nikȔtT_E:k05r::2G1KL )Qu3X^%R$^K93=?2łsÎI; 8 =k֍ycKVS9qVBǴKAL%HQi3PE+Suz?H=~l̝)Kh,1P&v$*ْ߳51zkJќ]8:gWo>g(XaNWW<]Bu G .eɕAXk.=fdL6NJj؏YWĜ1=V-(=/(3(?q@` ; Mؼ^(X{ 8Q^45h.ZA-hhɦ-]Ђfނ-hShACw"r<=вBYu*M{"tf:PFT RK$t0Qy~7?: ۩~.||8M,Yf 'NBQY-O` laB3r^@ }X `-9ʖ`Q/ҥ4/(4Ḭ `B r2 @ uk'hqaV'1{SU#%")?fԉAР6^=U>j;H`O&Z 5Sr`S%yE:fE.+jگ.Nؿ`d{D2rިL"G"춎ƅ]s&</u#*eRdB_pdY &]EjM+EYE-ԴZV^ԢvԬ[EXԊvj-΢-j@wҭw9̴ >T73Ԣ4U^$MR5YFǑ]{sOV!t>.#4nے O۵<񶑖arZ XѼ}uwjEWj k]Jnw k[ -[V[.v+0fԴ-[E#x"xgj:u^&F]Ai]` 7jy7P#fwC4@3_fX9eޚ\sYc^C.]-b.g3 Ոɏ/-͛KYۄ,e[G`'*އI?wTx;e۳ix@xt(i%<ȖIֲ%Kƻ,K)(?vv߷}ֵݭvkvvHj􏍀u0E!@"|ID@xc D|O_~sZ=vxr{\بo9Y엎j8%. fA-!2h) DUFH)2$,hXVAvF2Ch멹{&U=_K;\(#yWX+Y4-{B ֠ZW.(-i$ΓHKQ(m`JKdgG19>wE=#e&t&"NͶ5 e9S/["5"nCACrw]'0LᬟmZЖ鮧*4vzv<-4u:DYy3-?[Ιً~xQ˿~Ƿ~ؚצol kD5ë$ROYŜ[uQM=|iKUȧIإeYoZƽIN@w6qdԼPE9-KU^$•`y[*܊J}DcxnN$(Bn}w<yWnmQ6nuHj˔%RZ1g~lG8Eɢd^J,O~ӑ@v#ofBP˗qS`]{t\h62+(h[[ ˎlcUNxWhNyAӭ,^Mt "H(l%z >JAr ѓm_K]D6L g1o;<&w$uU,,EL"JdVQ}4aꪩR\T3|QVe3AĈ. ?IJҼ뢤W8tVt3QC8.ֶvEFc\f)&.1``+13 ZZ9_jI8Ol:vgl|\Đ<LtMj/;͠W0cg':Sȓ>~̻[K̩҂-4~DDM)Ň3zsy YRswPP_Y`KY0n3na#1wiE?2,z0ge((OtzE7rJ&6c"ĜIw)9epIC 1,fr c' geY:}ָ_.h}ݱS`}s  K7+Z@Hzcm Nlwtm?6 3'ԋXb/ƃR( .Ǻ\*ȴmF?1~[=$a)ASr8iQ'R:)̶VIߨtE=9E6?KSNƚ *\KV`9G-˸f¯e[{(iiu8ǥ:k‹I>Uk;n,]+9Ȑ ,\ĭEs)ߔż9wQ:'Sʺ>gt2WB]0d_Ĝf!99[ɱ(OWjGO зs&y.sSD춚*d.d:r"92~EUԺ__C1AK$*׮JyډܳRXN7'%0<|Wv~V8tkhTuD޽.?kN;Ǯ7nB+OF!YD BΨDQFw"dB%b*@;y#wPD\ܚ)m2d Wy`Qr wW}vBZF|>fL)I.TOjœќ{v-\HIyN iX2 ,3 }CkQR0i, M2ھtҀ0ՑA>-ds@y@;ZB+,E`12Z lɹ2*\h61 tK^f К ،i<:II.c/aV5eh4fh 5#A(]ugh[l;eeT4w \E{E-zrC /L1fk`(8M$ImTJ*.̡Za05yvKܒLn`HmDb+*ǵA_nB/u xoFŕeG W/K!/v3wt/f/?Υ5|ߺ&a;;YgL'/WGmkD<lME,?Md`"JR8 ^+u&@ t>$ fv x j>3?rVSʍܧcGwsBϭiR/zxyleڄWdJ̲$f0^/F IIu!H{TJ.?]:' #N{/4ӗg]kx"S?Vߙ <`e.d6@3+Zjʖv~EQC 'cJֻlߑ ^غ_[`l\z`EVm:/Z(+ɮZ El֊׶E+i%Eb3E3:8HaZhE2[ sb-UޕV6y奭S+a$ !`$wO+7WoӟS)7іjJi)UҎbiV':w_,:ZJ7dޮ*On 1s [V~Ksl  E 4pP̗~~rF}nUzrFrKϷD9]Hߊ03UeP!8!~X'kq0 PY{Z / ,5:(S0EW)5iJsJf@$ɱ ]߯j>DW+Q`1B ȃAFR ~"@ć8zi9>feSFfzul3d31Mҩ*GsUk%@0,|xiϸ,WJ)Cߐ{4{1^Y0Hb?2pzb4 Y9!ONGUMg\ 6t@OǥOBћRD_  ǭkhzcn HЊ% I3Yr%+Řy1QlD2\%PߞBb^:, @cT!KUFL)Q\Sb &{TNByن(E(%%"x P[)?Q@*rLԆךMmTHgA$Vf=q/!ÙYGnRs;s+JGHql| t}7KGw ZI1MVagrIӔ䄦 #&y#y YWs>+ۡbİF3 η5iۚDulIlW͸+ f6+W &sbb`ŁL0 Ꭹ,Q#JMt!']W2$L^##6u gCt@=Z5  p|w488<Ѓ48G( G9ّ܇azg`\(bh54aV=^pz7mϑbxx#( kt ȾZ(M=sw:QG~RxJeU|R•;~EЕ4Ƞw~88G[zɜs{ܢ c-!o&;,Ỵ⯏JTrvۺ&Wo N}ynZגL^<&`ͥ3z :R 7 93.+17 aǝ,ִeQf7x>v>H ( %#ZZ}j%R>J&$z0#C r`eĊ_lAvE5CҬ2 ےJ`B4[~g @7WwsxrCW>.V qɤtr|; C5@3^U.`llwcpn1ɱ?mWU<<Q=vq34#pg`~kG$&䤉Ƭ%i5h"&I eT¨!{;-/.sN1[u@m@|삣(?6U&O zJ$@hf ݽ{unkkI{vvYɚ$5(:k$BK( @ @ 7?DB-4tZO(na{IpGlϯnvUjvtʕmgοG Voꆹ-v>QDFy>a Zи AtzRj7fg12!eФ]PE:[*o?5VX~qJA\9MݷR9p(!cdck:9Ć҈XQ-WQk"uQ@J]uECF 눖Ei|>q5AlT(^>шN參8|csEK15sL./Q`uRMVMus9k1[΍1BZs^vV`m5m߰/ s8@/X]J:uubZ\n ಉ틠i+-tN0jCp g܈J$V,0Ņr*g_X"fXu+߆MN-=n;B,ij_:xw0a˶"R9C1)Nvس>=b ]=-v*j9fh4ȳ>CHVAլ~ί3/^jZ^׽bΚiӶ0zĆeUO>6>G-n{ ^hw>Q['e;ܟm^"x6'wy%gLF+YtK͜Lk oA9_-e[7Y"KHJ {adk=q SF\5~;XaiwAUo2a[spR~wƺF7GQ9S1Yf<(r;V\l;VN] ax61hiuZ#uSuT~ 2寚nO]1#|UޭIUQR(zu=K@ps,!&޴:; kr3ێhg]Ƭk4j"ģܬNu,x$*eMo<9:t{;EbSj[%v({8So:+!=GB2Zl/wytL.f9" 2XEΜ.6YaG~QaC*pYb{RwIg/|e{Y{#rnQ}Ň%c .FhF!AK` Abye_5Ɏ:cIdǫk`X-S{bJ}6I3}cQ7ķBF7O./-Fّ`ҸJy yPټbUdC՛q'#AeU+=AXWRmlN|Epw+w%]r뵲qZvL,v:gYXF0Vf)4r2M/_r3˨m0yM9\90x(0=1cVkKdSIWR(~"i\_<;E!%-uh}?L.Vʈ 6 h< BAt~i+fv鵇ʡx r`O=fq^8玹_sܔur{e卂)+ܔ#ufcC>f)%͎P7I/ WSF*j|Lk{i>!ώRٲ 4'N&EBJ$9X "nobku \X%{u+hD|ލmIt کȴT_ԉeu©:_\*C>woR#Qxhwwm۳SƁ&)JI)#e _ObpI_PtIE'͸^vص{wfπ?O8=ONq,eL 9^c[(%k1 "<Nj:4L$䢳 WA_(w+;V } E(TNGC2䲬sg+|uLq^ tpriI|s(m.| JB&AT;PUTX!}e>I sU(Q.xЋTj34K\]<2*(2Ѝ= ,cPpY`ApQv#.iT8]G O-HYÝo/)#@YH# 4IR̜x.0tW970~z!Jܺ(B{eQ67t3Z;I lxbԢ$p"wDOQMt@~89us]6_12!5cS)Pn ؃C@{E_Wh*9? wab¼9Di+kiWzH%qVfcR:9A7_dhۍ8W.c2b_KndM^3 tsBh1ą\Y !\\W,duC fY0~+Q@]7{z!%V_Ox\Y]yZWK4hstACr_=͈,k#ij#0iD7](XDj=- d<)ńoa\ z39JoJdks4/>@h ls@NYr;m5aK%{ъk-mャ۽{U84sZ۵YVPMkte7ó%02@Ffww]56mz6flc0()PH *J_(AAY X@ Q?:E954 U{d4I]Z$ $0 rؖvt$V+i !ɩ"ՁޟH}XZ -nNTj"B&fr5 1i-'tfLxBb)h y&^I_^ɨèݐ6bQuA 8Ft:f'o"ۇDUwn4(O6[uvs} ٗuսWլij+xSU^aUq*R uqiQ DpW\*)l ڛ؛ژ]w@}ߎs;m#Yl/w(:/0yȾu?T>RW$>t{|!pFzyR˟rlىyx+~VڟJbZ8w9om%qSE¸&(l&)a Ȁ[C߃MPN_qŸl%A[Qr-msvߒާFG0NhTFq+^eh[Wz-^nĢuާgx[ge :D]e[xɦqtt1£-gW1߆enʔ6dC%tAb* mOagYcaTM~Ufl3pHgE8lq2N=>3ykCᯓj11Wĸeܭi#U2;LX+'^_GZvg?| EЛάuݎf ;Hg Zh ϩdKGW l,$w6jт,&^Eɿ~9V|ꨡwo[sYac]WjSLwv=Ǣ}7ʵcc\ԟܭܫN۱ALNgYc$L> C6z]luj["/ݺy_w `̌X{!u3߲XC[ߕrLYt6"U xU/+|Fj!N:5lWΪh'NlU>,Q: rz52kQ R];odypCYdɺ` faF:hYP-*'ڒr@I[ϕ(6w0嬸[A]>OP,7xCl8J"48?jx)>#q-F3ݣ4{y{2ZI*U3dҎn2n`n+3 :ޱ\UUVEhE.rU8NãQ W:S:gwerY3E4~USrlL/Qm0\*w\( oy埼(_hu9OÓEp;_I! 41kImel{vXwJb$#҉<_{Mr: ,xwSz>X;Gםp(LR->]Vw*_2Z?[0?ʇ-g{SQechfKrRUy4)yeWQ!WTK%G8Uv V.gcA`YSmM)Ⱦ7Tf1. Kv>T虓ӂryI86p:Z̮?`V5tq-?P t :f/ Rx'%1 `fٟכĥƷ/p=jw yp$9D}T C>*%㊇T(H ,yC6 "Ig{Ⱄ'a{!)~"F/$A#!P] ¼z< K7Wgt%ϋpc|IKWk$0_H1/tG(8|}LhKA4Y |:'єK" =/`!2V3>д@# Rf`}=x؈àaAş0]㱦H1(7ߺIrJFVy.?To$ xP" fV}\Ijm*#Tk1>T[Ϗz@UcP@JtD=٨KsG{HK/t[_GŜS*ܧC7|-JiRPϖu*oUR"%͟2ZDM]+yrwe;$pYkaEsj<=r _$ܳgAyNZ6Eã>;&Cn{=~jʒ?GgD#lKIkAiq*OrO}r֬ O15'=\ *m?puh~6~ܳ0ۀMYڦRX4Sw)Y|It=Y%pR^^t3!VVqӅ4d\cW uVUecR"P˜R)]X" 2;׎ԖcQHA&!yBVS -W2K/ /h1-UVT6š?$0 xTDz5* @ڻR6C=lҘ/ BSIGYq:q3d0gΜƗ6UOݐ߻$}8άDhFHb|MVC:F{N4زAR*UXBNM֢W̥ < q{@-3#0c+GM=ӁSijq'S MKlL/ҕ闪7D١LVsފHCz?; .x*.DwO[_]dhႭh :YeW )FXjY+FDh_(^W95bBw7bE؜rLh@ACRKDFв y/(JP]fV_I߲ fr6#{ao`z<^A;X\ɶYW{?S_50ŀ(Nj=SgYWo8a<{N2yf0>|4x/T=Hc tRW.0{pn#M]p7pnVnpKn[օbnۘeC::ʘpA) I:ws3i2O%a̦l~'9b6RO+bNAƂaL7܇pC{ %92򻆿g=m J6֖DǦn9_;,JI:AKw5!l0#z'c[2H\t8*x ?{m!uԩAsi|H`(]r(v( YDlS uٝؐ:qߵ8j 8 72&n(p켛řɶ̵9f4r@Di۬z e,dgIVT2lK46(-1|#xPcs$rp Uths0$c;cgz3uG29$77pur;:\ʸ. ?G rĘ?5b+X]]D ڥ_bZL[S{ZuRK}ս3I\`yoi/J?ȴw~jɺoz{fgP%hr$,nvIu}7Oy ܾn8܀ pRYS8 Fr-"*U&vnkHi#yvAc؎&a4n':v9q"ct)4DY G5$)isf&mS[$RFj9!"[K`E I1e[@|&t gwc~FfyQW8#v! L{ 6ΧZѠ295BC{#.T33j"<sA<⇂@Flp"(3ؐc\6fX*N!Mkv.d/#*!@tcVfU~ u4%ĕ4\Sn+h4iFXlf1/ ҠD:ɾ@V`{3A<xmW>L%I#r8Qڣ -Ck ,x-E;Qeoέݮc%ptߦqg_q?8ƝuTO6̳ؐٳ0dwfS?GaY+Hps?} XaNg.ARQdyjvя:wJع3a`nJS pndt<̖*'j5c&cGd,Ʈ^׉a!4EXGŶYf&DAsuLe= ׌0 L/eX5^D ]wTfO o>GȦtH3ԣ+_lTKgj{0D~rHCkZD-=~M):USϨ!142i {R3FQߢ[S?[O#4 L1FYn+<qɒM;H NbӔg H6'ǰpkW٬Ӥ|bѳo HC4@#oe<>K'S$6$6PkbhwP-w_+P<Ǟi*&zh  5L,1 x֢' i8VWw-m^+~K)WN&5j k UGćV;ʧv!lw$->h& fꀡS5"q"Ƭ-)J _ĮUl® V-5DۜI%mCO-t3qO*v8ő'mVۇ7<}KE8Y_eCהAbb}mr;k|^qqˬfõdm̥ "ҋ5GsU:)9p MQw+Ub-uKJ[ i-+ ָZT%VnxP?kBY&|Bv$͘! ^L-jD5V|}*+ũ) w3:x8sSJ]&?$hơ5Nv!R 8'H)߅8xz5Y:\=6UQz"byktңG{*FlYځfM̎…Fލ!.K(}_kaL"dz\x4-TYwĴ[V0VxoOjC߳RA=ٿҭn2 " jso),$1 L;5Fj^Ħ|DI~Z^/Q!G+37\eL p!!dWGT$P*fQg_׸Fa=ItJ7"-j<ͭZOwյj٢Z"[Q5 ۛcK| |=_OeRk.Im `:cE1tj{ZuZEZRXɍ;e~aak㻶]nmW}Y \N)qEi%*ɒXfb;Ds :"R[#`Y}sab<*ڄW_ՓA]W27zk;^dˇ`lmR(;'t@/ Ѷrd6wlI|g mnCH1m,]#f}DRemy0"p+-xh7L,#4XZқ5.]64$lzX(#KY\2GQ i7=DHAc~/;=ιFZe1RL$;Z2/ւ/lFKj.`\XPmU#P2^0ȅMUAwoܕaͽ^XWQ&Q^|ape5+Tt Zgpt)IOND]Wh&s_e7zއMgQ:oelj3u-3Oԧs ГI߉ؼ%6Otobώ~K)`IȾת[p6sX)1V[nw0<$r1+,^墤ݏ C@ ?Ҡ!Vqy΁Z%oAʤ35}pmiuS4=L3ARv7h\5v{F`f5ٮc$M#=e7į92mnϑj3()mMW`ٿ3G6y&2?kTnm(]tA]ME? W1V `%nFc[p~3PUQBSެ$A$ۋ9q[yCrvj[9\ߐYSLyr *in+rzjȨ\6ٰ6EΝ9BAhwh+}CrJnsuv~F>rQ^"MMlT5*_Rq;+voL,t̜B1^ba -kōR뚚ԗ5ނL#}>ІNO!u'uTr f9QXN߇[ss;lSBn9x^2~t \_(_3ޢ֧m?3) u+O}c€)KƏ3NP+4O͗I{R(vw6?|U ւ?sR^~R;.Ay&TedKC=k aua\PQv'3IژmpnJ%Q 癢KȸjW2Cy)*1=kwr`sZ>u0-4b+ j~z52@B|0s#z2̀^d%숵676kl>F$T,ESBQڮZ"e\Y)z4~8nO}'3T刞M-HsHB2P %;t"?_m#&$ $nl*~Ñ>3g~\yx'AhP#5b&r /094&NB< V 5b_4J¢pش75Cw*mLf!1}C?E· S Jbc̼G6;XlDFkRf)"8MET!|m 9aeNRL5WM *@aiu  ۶2_@mJ qn#U%X7l@Ix$`}@䀘 H8B l $bj9 .՚±#]kSxu_(RLc*덗-Zb8P`(BnϹ$Mr2?/|5lX۲g'+JÛCK_+4Hl2Ic@L<y"~W Tdb]NEG%\M01 ;fD9ä ;X֗M/u9@uIj;:hL'H9n|tf ~TNO{Gnf3DQ-QDzD$~5U$iK՜?Თ3/QmhHd^BϔCKH\zp3K >$lֱNSۏGsDR1* -txURxs֧ 0Nk+ &ݖL=^U+GK`BY\uˣ,X`frv h %h]uC+Qik.sot("s*.3[.& pjJA1U;A_heD_Z!ۖh/!`gjbE)'mTAtp.bdaWw^7KEE|hw0C8Y|7=*ԏ/}>~9I, }gm??~]ybV?m:3 _3q̎ƼRbzK^Oa-I/ȉT8M+>pfS ]$~lU#.\U8cU<{DW2$$e+.`H*(YU!Qo&8ErK$.?Ӹoea06ZYZ Ϲ&KQdy[?d7uWkЍٿ+ʠ7~">ў<΍b$['}~+u&Ԙ9$yVry7ڃ!fl9GU;lGxrN8zP/_v T_OxQ3e~ڟi>S짎(?Qb k6sfhx{kZ-Ҽ,'b~ɰS:)vM!' P;uGؠv\ǝ՞TSg+BL)eOTgɀ,Y*pB@` |>O #̜[#z<%E Op1$NJ|x[ձ]uU DɠR߮:u*}_6/C1|Ѧ98(зj=mIdS)-Icl-i?8ї#7@u/Ү6_^#ַQ)v; ΊtY?5r;|5hfn巹2mw2X嶤[!DlHAAEԃ IH0|AɪHdk({(I+re.A;H#䜢fY,JICRQڝAꇥfWk4K~ؕB aOPX0&)*+|>TQHjZj&xܫr?Kdpʽ3}e ӡ,`t;܀av{Ɇ~*K"+$ϩXLbV1 fQx_T*Mx{ߟI?.Ul,e3!2 KĤ 0=s~k/ϿX,p+O/Uy1H?EQJ 0RD1y# 7z5(Lebc+˘-aq0V_,2#-;yNH'# Б1j(:*?HgT DE A<57dTXEe3!  6cI /)n'a0/y pg^}$DjxiX[~*X&_pf oer`fA3f MIxi cbT^,ŏbS~_M`_?9L!7pgO%/(p/U";x1oR4M {hyZE\*;Ӣtv|ve2l5)*<,g':nF/oÔ)P+xXe&nsd_XZ?+'A|kH7ק0Ȣi~ss(-j0rbxBeyen[#j _y])_'r?='շA޹{ˤĿoH6&SW*GFF͟?}U՗פ'r9U+a@ yܓfd`57450` Z'ptFSd$KIzQ_3m]>'Qv7osG5)QMFmZ/6L1nr!Xd?lA>?c)Wg"rɇ Vk2\ (hNuƳ^Y#}19S>&M!-AP8ok}\"bp"U}@0 Qj.,x翁{$u@IJP|$4a\Aq9f q"0?w[?4?ɠ>jchsƥB q C'y|}Ԁ;y{ s=.%J>P oq!58;p_02t!ۍ;t(r;'zXaS~s̯;?;$ T4` < _c)*<ЙQkw2Lͭp2xC}qf O!3хf m I~|s11 S{[i3e|Q<(˾po9l=E/0i|Q!(@r|oABgD.*ܲ`(. p:\x;1\*?bT)O:)O l>],cb g&gHPQ!w _]ycW_T;+Wj ꢿ?RVaa%K ZgJ7" b2e8LpMysOT]@_;_wO_c~3'*ĈS.#=4c(ҽ%oy1Aoxt*Q%H@(vUaI("Qi<0C@NbϦ(VAB{M#so . ]!Zw%zE? K/|֥SR#ef]*EH4 (zBш$ FH{Qd W6pzrL/h ݸ p +dkbЄs:;.B% V$t!7Pt. BGѰ9+]D gǫaW1*u,WEzAxo[~0,ҘVcw? &(.zݜB4l=SXgTdZE7adC"a=Vv\ԭ!mlS6,67ĭ]_JelCk++W$W,km|;)ΓMRڴچv;;Ӟn|Ǯs7-jUl[Dpm9ɰ1Sk=A<۩(vhTR阩6d_Y0omAIA@VAGJ% "Of[h=KC9t$3 EtC˛KCg8R GTQ)q%B)ѤZl4~ pT=*b:W0 Xpnpq;ᑂ(omZW2<#QG=gt I`PՃv&'[MǮw{z-mk1[ڋ!=[ynKKݨnXQt1]/ ܒ4ط8\d'-|eˣQyqꦼM˳%ni;9I٬N@"]:oD[rdTdQnw% 5Hd},Xly=se-LMa[=oЌTl T6n1tx^vw;~lc)U]ui5zV9ihi c1R#K*~ZŗjX4:cV|6|87ލmdWn+k[fch\ltԽ5I+lxXO⦭+%yvX]c T-C]#Ӻm#pin04Z[܍"\U0FB}wlÜcx'-fUںV.֋YeଓS9㝊*} U넞Z[;W,~M_Ҙc:U…:2\Bioo,8X2GsϮ\FԺ96YUR !BKT*He*|JRU\\([ig7RK: &M3 E *rxeν&Ċ2=*_tEHHtl{ZR6IQ~9=%iN6MO[LD4ϔnRYUzThrrKBuX ѻNG@ݏc۲ԫnl`c>ӯ/5m|Dxƞխ Ma͛ɫu­U.ÞKO]ֶ!s}nH[i1z4V/M=I=-e[S3/T;PPы76̄+QKf vȘȓd jz,$=ݐ&"wX=W3&W46g-eOI̚ݎpU\џȚȹ'th|L3έ;o-p]9rn4LAWVRZՓQ(o;\{ I_)Ϗoj R- ӥcMpH/! C0 fi pb7e^5[ը9z0tMK}g6`ٱmm)Xv&~9wE-&Xw!s p+a~Up.0<1rGET_/X|ef?4 sj2|y>ў>`\ py=EZmndn>V讽={ES eú !>EԥPZ#}}Y2l2~4} LМ\esڳ?5f߳%ֶ)a즮u!pM֚pvӯ ҡvf&q({`.0ei/Ǒ:)ٚ`'zXP >uȶyRYwQ7DsK&6^D2iZ4aTfLoK1ǔ$C$rI3y'vj2ne͑ڪ dj ̉]ͅ9>.9G]w*:jr Zz&qvM[h$F')W/ܲUAqG34WIMn8 Z̷Jqm:Rz e*iSḪe{N&BʠmVx(xQnvJQ7TfFF6]A؏\v K:.W9r͕W~m\. K0qgAv+\}Z68h|pvLEHuN+MſHDٺtXy}S-] 8K-3Rnv^cb=J u^spzTO#=]nXܜjm7 AW ޖQT+,b%_ع\xe3ZPlrGy3CKЭrL8e/S?qXe\ d;1zFg?iꁜ,x.`,hC lTDc^ Omq [p]:ll.B?S@hmmzLz~5Tz_hv(CË*jX 2z`@'6ַ:jY*O+~PlkJ%Z'l%%[֔-Չɘz)>X! It,2Vy6M-cH6U*!)eDТG-CJM5Ӣ4 !hve8vziJ%+AjInڤv4 a9BF*fmsE)gzGcu]|̌lw *U[xMB -Ejhvɫ{3F^_ĚM%椐揄9K؆<sWrgu{t*Ы|}r P+p++jyѥoQ тҕQ;Ol:=_a3Q(. [+`f0zWmAj?K;yBfVS%kWt5<#:Kc:قSZ9YM&; 4$ǟGET]H$"ytב%% P1&H%|!~iőϑ'MO Mn3D iBCrʢ @8̿#+upZSo(6Y[3Җgv=?7o<۵&x vcйTm 3S7,?]Oܳ`*ú%se!ar|*Cat+SԂ B{gofemidSAbad8KX 0Ԣr͹p\JU.~o|y3W8.Pj^Uv8E/RЈU؆D9TO閆9tT+tTDYrLzfG*zPNT*/OcZ)=$S+!7fO9EKdj>ًF J'9X)1^^F1?  "V\Ϋm@ 2KThI""DCc8_4:0G튉q_~(@} uv˗ۚ𤋮}{}f5.UO6MݜO*YƢtP|jJ#*^.Yx/D/ce1nDUkWn@Iz{b1GGgݧ}??aSaG-\lS#ԔYğux@OƏO@ɟt}t7kIEЊyĖL-[JFmZ$ m+˨2SbtE)Kq~S&kƤK%DXcTɷQ6NMRgh Lb4XkqABVЫd )hseBзKPH $VezXZAG^ v]`:pWCCp_w()zAc;ZW^ v=ۻ[Z*,_@C'$}py-\Y-ٝf-ÔTZ ZW\JgŁh^ՐR]^UE74LՔdvjj:^b椸_'yZx]޵(/vR('ӥ}#Yn[J?x !(x"<qkGQN[ "9>[Sq1&tϠan"ar@4Z4t1Me.N YvGL\ƥfԒ֙ Z=(tҬ@}pbXhQ+s}+h-:+i1>[-K^F}tzMh)~ٯA{[;wsf~&z϶hQuC7kl#>Ol=S;Sq+mE?pP;21ׇ9/}/tÞI'[xåg?Xuv̫ͷ{gVgޝa3,RP?s E BڞԦ\Q2!e2 $$*Z-%Zk Kģ8Ww p IÈ.#(p9"^?|+rNG5Xm%W:Sj&|A%GJpXbWX_MZ*_ŮlϵlEP3p{ez23uRx~~x]+[xzꋗAcnCq=h:mic@*ucJn^1gا9s4}؏oՏ,\Ao[9=SAUZrOTUֽS~lۄWhrd(+zz-GpMC.XI"N(/w;8^9>ܐo %YzPb9tI6.Rx0cB.ue*e ѯ-(6Bqe€x&Bƴ5CiB5|jS"{"Y:'s+M62}(f'Rn1q pq2w>^RϽk}i۾;wfw5:,?$ngS潙YO}?:廢qq]4^1uش\Ϸ[*첺^rXԓm ΎU?[,TYv_Vy.kGqִޒCݺ*K" vr:a|[2Όsdz M])88_/)e@5ɶc-=[{j]%. WF=Ֆes3:>L,Ξrm=*эJ}#$M5.cP2Rϫ@=rbݺC-KVPD_r%^,ƸIid yev1C|Q*$>ƘkTR8w7(ڈֵIB7}=(rt<<X_>0I_2kҠ7!Kc(\UJ(?翛5Xsz@~:y/SXll_黫Unzw_S o烗f919.Gܗzh޽#߽S+o~нoԌsu:ڦrDZkܝZ{(5%̺ݺ.w+yv cOQR^FBD;LA9@<h" ,q N+(g6ͷ٦"S P2w;720AȮa@A1r؉H ^ux}Mc4 XDyv9B 'y>EIW q:PV_\ T=M%-s63v͛5DkIt_/EmN^~޺ҿgߎv/v]Ob+ucPju]@[\6fҶ.,`N6yo}ܥYC\KU5ծmۨ쬬Kgfwqcv|5y Q vu,rU<Fg!" cAtPpA3Mx}fpMYkÚÃ&CyJb)]Q2_M`QiP M26\W}1? F}{*ZDXEݐMK^@' a%ѳS$p|x!WW zHߏ(8LE0\Ih0'PF1q8'id0l^^)]Ny:bԖk),'<.KzMG'u!S&P<_]kNޑG¨(L{iNP\T"b=7lj>c{bL6& f *bnZ3o~"[:n{-wuti~ThiU}EOWDו$ Qy+$߸"}:b|$y, Aİ|~€Cb8<=?8TboH# H5]CIe7W!Pcg&bSމ \>j459yGiP7x2pt}1q|ZUM! KL7[yT AYKsh}ylkVpUOj5~Χ /ךס]5Y6^LʎGUy5<~v 'k~i``YDXSfg<ҨrQf'Yr|NfI`% UC5d2]@Dpp(Hީӂp#,.FR*%0F%d໚yϗ@jLO` LëQq$?] >qbvEnj|dpW/U<~1wZ;Rj/hZxvWOOgWmU_Ҕ?hd]E\v|L,Xvϴ3g]qg.p mwfe}j4:rаɜI*il81&wjcPlire~OUo"-Ue5#KBw±궣j~E] E[Ye1L o?qevXtϔ/ea0ӵjmnR[{I셜(lDgCLFK]XʬjG+#c9i}1ƅ.*Kݼ$PvAV&zܺߨM-mS1T]UD=p~'l& %,}UҲw j-p$HXesa#q\BR8?Kw"|X\F{?7A[`Џ}8xB{s‚BfB&j`8i @PJO LHJo(#\"N;p!6ǿh~EQXM0x PC3VISE?T)+DŽֈÖ r G (&D&݄NSO]~Ŕ'&o*̋2½awB,m+d{qЙ }~:ǁ|VVw...BN500OsfE/ ^­·BB&0OUl!nM)cJv\?;O?~ekA&>YߵM"&?U,59 ch3,I}L jTy*LFΗr G)kWXV^(a4uOs,g=nJ6usa%mR(1R}=3*Y,ᩂRiNĞ 8e{Gwc$RH/$'׭d cq5xYG$bfe dY`?40W p r0MIw c?3# nšB`BxBy|n p𞀢p0D S} a0H6?>CBs][x&'Y'(*R'|Ono\R?=kFT#y{-9#&k1}4o2Q?$pV+hf>C<\WZfpÉA{:0Vz ` NiIW lٸG'5CA!  A a !!a!a!A Ȝp` Ћ Б0p0 0@ЮkdYJ *Yt.Z扷74v5߭d%1'7[$7lLYffIȳ5q #V~dp@@@#AAAALx0|p~zЁv|x {{@|Orƒt @J}0z}P`L?@D=0?AA>0@Ed%cV ! w/<Ć!qC:0"OB1<SY Ab=#`a 'xL\$%|7Ⱦy_0YJXojPA?X?#Awl}dt]V ̮t mT, (U-])6(s]2% r %Cs|=KLݲ LћU?r~>S 7_Z-``hjr0jl I0st<=fOtȏeg( /%ZK 7Ơ/, $]PhR& }ޢ' #ou`;W -"4 M'%xOyS*M_8)_OI٣q9аҬрΑ4}44O4 4:44p4(4:C iA1٢y oiiijCzKZ}3FGaW-ͼoEM@79^KVC^Np(2 uCQd;ͅuS^g|ag17nnAA{e@fpij0apfhpifPk@fcbpiPhefgl?>8@qNa7E,MLDY<6¸XFHNg :cnLF^9{?NJA_FW0>؄ܙR.YYY/6ĂXY_bbōH<p(I t1jC N l  & PP =S~lF`kwf @7`@~VQ]ރPAy[[cA~Х*5zܢ,ld :rfTPsEo#~Q-cDԗV2)i<.O[Eq hW>̒Y"$Ҏ_1-y`UXH#<;Px)An'3/Ռb)F/ ac;53gs0xcuqK0=<MFuj\up|ʺ!(oRA,X| &]:%?at|{$q$Q|hW jB+%ʛ} %0,#ÄߩpXGȧ+()U_p@tX~N'x[7X ڱKJ"b8zOs7V Bԏ}FTq/~W]7S_fxY<7+=nyyŷء1_>Nk饗^ jl f͙S]fAW_V?v,Kےʫ:eysmsG>AgD6"]OUe,y'm0jH|}Tȋim%vXfXG''4:S!G2 YޛJ{k;NBw=Dy#)vݧGVܸ & FJMuF:Lk\P{H-ܿBˆH¨Mѐ[L]zuaJbC(l K{z^gyf&{PVCByHgٵee;:N)Hqjj*j|T7<M*gͪ˽bkvNoΡCsL=s'͐>ծ{:,y#,^W'5byĿ+}I& õfⷱ]n\Wt?txB:)Ft ,>NX][/0p0sAapKU:~YJIZjM߷.ns!P2ڎy\ӳ0*_=8GG,QOαcöo/ .>#rq@,^,c؉IJ7q(tKiyGDтf8=Ƌ-?Ό| 59ƕ" t0ҭ6w.G~g!Aji4_zy^b0)+euܟ[SI7N$q<+~ EXW4ݙX9* =" @kV+Zi۶Ӏ8/"jw3_6TDTn+DP7 Ф.A~N HΪh̗ʕTjK䯵jv2_`ΣLhj%cOH߭􎏜ٌ#>q>orϊ~udIp+#P7ϰ~c@[߽YeåѿOi|үVw7Պuuߗ ޘG~w.CߵjM˼C=CfB'o|͇].oJAKe#RWވ7i:xYz/k__vC9; gwkd•rMyYcneO q ۯ:kym|h.fܠ[~^cT; {>d՘7k3A&)[s_ R,S;ݰ8S>o _̿?A[\Oe'+o7*}{hQ l? qMr.s 3Xױ'7?|H 62WcIQJ3'ߛ>r;y|#_<3wN}=xϜXo^_9غ7׽Oucӧiúy3޽dfL|6v૯Cw:0y@g@"C ֖aBKG0JPyi o-5&;k7=7;#ˑNgfn(JbR I'{^-I4Fy&=5&_+zMiKyd;8w @KM3}kt@gˈ<2)W,ZC7/pq֒Y!)I (f|q޽?Ձ{ζ~Gk7_qOֲkZw}߹%ӂ5?kH '[;g78BI%sCCF dmjbYwi$຤D2hoa?XCJi7gN6Us|B@^3 aM;uRRǴʿB9 Ǘ6lS'`x~/>N>up,rH:5KX[; sIáhPA{n}KE=HY!JnEi5I.:-_֥|VTlح%&M.^ݝYct-6o{aV693/7O;M+% YʫdD$Z4zmLHr|@N$m+Hg>.}3P!_'ux)D"kl&v'O.)e$o "N4a!q'2R+# ৢCVUZSLḇlEBM萩  |';7\G}5ž 1o|:J(g@\&kWtw=[)R44:w\i#Zi}RЉaHoķUR]\gДF2J6ӵSQ "v';VjB =]K\sk}k2`ˍGJX 瀞Ers9XkA h fG$JcF1 ߎqe|wfV@eyXA9G R6- b̷ UsݶJ{ 4\G2T(!A>m+ę}+XҊi8U0?ڰSx Ǝն,3)A=OX($ Z$/.ĵIT:D*ayozeWz\`?cRa υ|Dl67? s::P>@7\ܚ롳R™OU?K;YO[ރv/0Ul-Uqs44V$EM@ '繽Ҍ"X LA`2C] 7%VPs?hk? FLuDwl񊂜@b[ϑ>~Mrug mUQ6gc_ "YL*CPˣH"ɸ?f}Lm]7"fFכk qa=[_$Z⹪ܦ%aٯ{lv7 $uhbDM8)}YɉL#iL9 [3#C[D*=+K?X)vye~u?>HjpOWb)`T|(SaDc\>xOCJie ^R|{qtT9qiMBGC3#i7|^ur4mҬp>=?7 /+erXWuS1W-Zckb`O1ה)&ت5s<_]Y[&~?FcFjYG44щyGkP%@W~#9+x6ٜzәkKv9hUw2ܻ.ͫ)]tB4}vaT+-ұ_u7c/gjȫ/2r5MG?GkU鴚AO?s$\ T *7j퐱D!;HP)[Nf1%>Ԑlb} %%t JPLbg8gsrW7 DITOYHJ-/S_ҷ$>TO4y/܃5/C6m8,c2%e(?Z?KMq*{SBB/hǿi-C7F &xTC;hD""#75l} 6mN0] ^Tm<ø'͇jE 1F< 3R3O9cGTc0 +k䦁+} lx>)֞s}ƵbBokYF1f*`zN;9EUᇒx9aeB~*a&A\,ZI糘4:,(X{rk8QuO\%NPPeթaQTbGyVAS&j{h>PgtlqJJw\. }&Z=x_Qi!Ub|twtzψEbpICx"*Ld)ψvi8*R/-m0 f;*=$UaP܌y~VvՋh0o DK|jk.p8(#x%~*fy[#xt .Fē+e|L9Y//.K>F!+[w%ߐg`2??shJ։Sa'xaPg`Ѷ;33@~+ ~_k pߪF= 3׬QhUnJKmL^nTJ䩤~#ʤO 1]*0ev{_uij|͎Bq0?rSQV@|U~q7vB g0;VB34I>I jF[L>`ػ;vqƉ[as+U HW@rp&\ >dEtLWs.j0>^Hь%ׯ.ueO-DI.uE}E@x3ƌh_M*E~BJ Cl|nUj r,E[D?Ÿ ʉ 4}׿$;*G}ra( pA֫^vr\ŽzTT }$1~>5 FJn&5TvlXJ4=t )Lg]{sh, n=dlT7OgyBKTrEϿFoEH _H[}^Tp hwtƍcbeeNv?SYi2/֠voyW@?+ ܽ7ӡ @l.'xmr `,%ߌA '1 ZGbDE,}l q24jQB8ۢD'|x\ YT .z#CHPXw\q.yi'XN2B. %&2,V8±b, U#7|?uJXMy\Vdg&ǃ ۵[7l7nW*ɗ[2OLPJu^"+[ .r|F O*fg+>)f7tQ-v2B}u~w_:_>AdCg2P-4俪}nQ|ܸ#{q*T.K)owoFftCCaQ}~{co%}K]'/@!xuޯ΍wEX7"dch W%΄%]&-7~a} :cBZӅ 7H%#ZDKs% Y[$ڂ{m0D Z0{ IVa[8wu0M; 7/~/-xO8,}, u0]*CFjc?a @T /;LP|pd0i6m&nyާgM5d'bjnn1=5T+Yqb-3]Z1I I >ȂM=i4erDf W_Go_!Ͻ(2 ֈ3eF+?M w , 5A&,.@\шt^ ސ^v#jKK퇕oBb; 똍}F$ W]~0\2;!ONG5}/^JIatÛWA&*۲5o#k=eP|/jis՟9b?x. (!Qp1 5n}C`ie$`#5+#Ejŏ13^djSeL};Glm|HF줍gE I{ ʅcFJ>L5˽J>n7N+i7# j_?!۸>@>]!B'gX5@78p]Eb8]b SN4}JEvdώll(zIUP3sNd.< "qnHMFDjTPp}ܿ)¥ˆ@^`CDyxF8.Xa): C^8Nx 9U\x]~WƒŸaRsym4Cd@^FRv)wiЗ$h#,1e^upm?oH-sB{b;*'kmO3a=&q1^^${nMrrk39Xq;A8@hF vmmG mnw{rl# qRd+`o ;041zΞ:N{בgw[f٥c}~\SC]Q4ulwW?[ѡZbp@;6 "J+R91ws?_zݳS_У.xԵ] Vz244 t>z&;tJ"* *nD]:VoZA~]x|Њ ւ?Ǵ 7jw ]".0l0- o:z>Z;-I`%7tJx/ScOs -J=ȋ T@W%3ǐKϮ*P xA':9X;w<>h;\/RB!Kmkzko0dIQ1h},$>J}|`],0uaţhNh.r tSw 6.uO@Qy?w}kijcuy57DDkvGJO73d&˷.S/m,\8٤niS$< 3,s7ߟ>pTunoF;BBO@6{? {@ٿvP,Aej;m=փ\i&63gAߟN[M]#39^r!Gc;@Bp9z6T$婠{sAD-z<·kv\X{![“b'ji"3oӡn,!,"> |-k=g7m#bGڧ֒Ӳ]دQ'5SW@1TTЉЇz8A9~e.TFەZu{?=1}cTjD&bgVKu2d6s!w᢯jNX %d߱83 gېI,d_wdZH|Dwn76]@tbBy{Ϊ5J[2=naj uUGjw;ݫJKJ0yOr~!1!=rJ(m֎Ns`RdR/%2S!xnD*\ .;~i$9N}@o,R%Z%wmhB/܇5Qv%<RYr(XFdUQlq/2mehqiAvr|}pHsq.Pcx)PE} P ?:{֣^ש(xYrU놀8w|_%0 p7{5-}`eרڣ:h{E1b,#DSK3Co]MWվvP:|aY>ҘUg͢46pr>Eh NmFHܡcT:kc,׮Q)Dʣr>УQ~pyIgoR)Mo[l3wU1^V8J%岲^UO_Zo&**Z#M6SrjnP%T#0&J5?j 2zȌe b<]{ɢ"f'Іhq)sz=oZQ|Q5^N Wڜ8,W+JOWa¾Mu2UJͻ/Iq^ CX{|ٯ0J۰q;d.w5s'Y8%o`ېɄv?F_CAS;j" O~tp{g- 36zLiNWg%~,f[$=[D]tX$&A`-I(qk_Pt` x[P]傩ny{:\b3E@GiZGhr+w"ۺjg ]iŽ:'"<*MM9Ru>rqdB8Xy-˝=i$de+$ ;p4WDܗ ̹^˷c?A?У+̛9+MaY B t?JhUjNtރ-2G1p. o󻣵i[n&O5Sߗ! c˲A-Fzʇ*tˢTA5]R)[;Ey8SE#HW[FLZn#"UPr!ՐjemGN O~C;ECV#ځa%Ew%G6a[|P/g26Rnf394VfR\-Q)掍5Lއi-?MxC=ᲣXfa1a=x@SWOsխj Tٮ:.〙-}6gM>`(ndm9R(= OJBaxh#GOMqϙaw83Xx yǨ?4gqX%Iuo0i/ܣIk,Gv~20.=n"bWfLcw}3Ct3KtۿN kw˯קߢ:K%\)l  FЍXr8f53Y4W I<<wao368ߺb׬DUZqH hLo=ewW;2~J.nj#FnR%i q yF @ %,ɠIӜ4JўhEwN2arTOɁ1 bE"14^B]S1]ě"75#%9ZrN Oxk3fnӕ(!r]Tj7y)CkHT8zA9 g+yKlCk6Iѳ8J.?25|<2VZi )rJzj9fS ~$I TEwt`>}g)z׺?~2ͦbY\HP^3z,:y~/!i-'8;kT%?sU-_ o#d_@I.Qa_Mξ7eB[Yf/uPlG IfczƔ[y{:ni@PL!>gJ6J\E^g01-V'}E΃eN/me| g,9g1&U-w$^݊1quyzNJXG-.4[獄xipW-&=5ƎY @d5LY͔,T*F3!,\)uobɲ 7cP6*[l( ɾ{3B@0ȃL Og~A# >S &LqR5O>UgCOn +2qtΕt:Q6PC3?Qaf@2 `p}cU\=.}!}"魆BTc UoךВa6`͊sr99ORf0&hBL:cՁAwP padhۣ} a4'eF!MΕ H2DW /[g{@qèSiĕnڡ= 꼒Ƚ_O|xؼ8!T誄B1Af̆D8ߌ^q1dB0 Դp^VI=tG`H<-r[G@gKq1sݖ-q!3.+%[1}KR'e- pS"fۈsPN+._iK<)yfľLܒL%fgy7Y `mꈚ{Z1y:PJ%VB\٨øXԨ)s[=.xVB-D[F6outO y?aPԀGWVAĂ d^+0PM-o& wsQ BC(5X=,@X(1!rd7 ) <) ܪDI9bs CTa΄_cҧo˴Hqٚڷ%Ŝl| {hfژAP@\滒U-knij\o0pM7RF^!Vbg  PjM3sf2:)s Qx˚*A/Ӓ#0uv/¦bp _{N*-FU.alvĊ2 2KpO{ёx2I9;⥙r;J!`dEQw'iO"CПX$$H Ɔvz@KJ %i|SL̈́/$@[LV!");=JRMNy<:ÎbOJcJzZsc S!hW ? )lQN&zl}=.rCI*2=RyΕIQqZ4n ?,\ft6´U! ˽ ɨ'~m!T:&ة-6m2P0A,/8v)#w]>IBY?h@#shh(]Cg!"D1Au7pþĈ8BD0qo=(0Sf{sGq+ @UJ-m;L"Iζ-%ORYM.NWL&WUdܘR$gIfXOS"7 luLH30.M c-j'-n=l1 :DV4F(`R%̡e=εBNxﺱ±hb8""%jMk_>F+ӏ`$[GD1@lh^ l%T, bYK,ZM_5sݍvCkl|9_x2/Ϡ?KgtL`C3Ǣ0.A2̋c r/GT8r_0 AoJ$}(SYD\s7|Lߢ>fw_!_:|s#:=nqq#>{2B[ˠApfGB9{G:|Q}m_4 أ+䅚aҢdh0 Z]M}!ѠZzCPl)|ҹ1  qϋ 1pB`Ggh%< C R KO!HX  oz !U.@h ;vOp`yUL9@0Dcm}D h5fuԁ`EwO Eᾤ]p/ HBw` 8X:h"İ\$>- R[*}0k3I ϿT,(mcTm;pF6 ra',AY[Tۜ'⚛X63Q4[wI0$8IuPP}!Z){R"b@B6Ibp{' PQ\YD*Xڃ8ChnTP9` 6gmDC9HJ> iq8c#c?_:,DiiEʿq{0P%qLD%Q%il*M+ߋ86lX67.Uj1SX76uH$5pʉtiu1BƁ.[͑ k>uSqGnqrNN5S K're|" |QvQ٨{xd !60O4laPޤk;mJfۡ9m A2t'Fl7}> KXhj]I3ƛa\\h7Z(2.:){Iޮ ފ 놪%mU6jzO&k[zsY!m\iFEn!lE}MEwZ \KX<X\D!vOG 5~&(m,G0p:hC.4X #:N9|rdub\+4ʙT #.@5*3j/8ćĿl/*o8[l(@[)0u)+ؕ!v5ʠQ6 ~ GlTv;521$u΢ǫA4ЫXU2t=8֤caT~a^}pP'ܯjUyBi]ׁTt8j ?D~g? ]~d8Qn]14rOA%B4y+jUܢhZťV~?(#+8Nk ;I<^ ߵU=t='Q/4l/Rҷ?兇)-]Xi,*Gn9\O)(tR/k"V'|j$2H}b6s8 Oz|+eAêvuCZ 1lz ܲ,<"§id'0 |`H˫Q%pln"Tu+wvF9UOm**0~VF ~#]zhvRܠdl`WMyB :ڪQX^_E)Ra$K5NHw,IxAqL{ąma@͛hQn ϫ%Ojld`k\|+$ct2!rO0"*iixF5Y;haO?=Ұ~iJ4.BRd1vv̸7v&smLʻ㨁ڏWe xzHVgQBo7gGtP v'5m.ԗX6oD?^ ? sJzzD+U!c+na"+EzX L?[w$ߗZ#wlp,Qݦ5-gh-Ap>U6$NOhu&`8JB[g7*S"MBD1npst\!C(Obz<[,d 'vpS¸]n܋O\8۩Z H(]PPre@ĭ`Qڰ7`b0Ӝ8z:yr/{ӚWyA[8l*t"\0 wMngnԛT7[/+}͸zj_A r4^1i)֛uP;LD<.kR.޾'~'bjwEdNnd2s^:МD7t% fZܺV쎫`͕IxeQ$(N\(֚ TF5kЁ3WBʪ9:Ad:V5;IgFx3dvQ ]ݵ(z^q>CbFbC䦨_7T"m܍*(d;*|I8 %,)-/ Fɡ-{!<1ÔfGOM˳km$X2ȌdV9?kk'8e8zNq,DrdBZD6ϭ^9Lez$+;5-jUf7 mhWφuv6]\ecz_[zp|sAoIkhJy+([?ީ̃Kt~AN8[r@zկ9UfCN1M;{ i6о%L } %=)"B:G!e= JҸEi[20tnEeЎG.s.sq! ;IN> coSs4ɤP՛lF{sdlӤ2NuzhSM$y#h a/fotں,ipE葞eVLnlz/,z5..s%6 wz sQaU,kQutd:?+3ُskȚ֡JsA2%z*u} jDBIC=SqH1nd[dDnZzl'G6䰰]XM];mE"I@ *&]&2uCb4ґ-X7ȴD+)ĸ-<7Ov֠B,l.q}S)w _-e0Nܼ;l9ԢD~ʀ(<"7IPw:o](Zyζ ڱ. 7"~ژPsJt zdm&ڨwqHUv}(ac*YHx4aݭ80nnt=dъ]rv̪m2\!TɯW/y5f07Ms ctޙbd`s܆K@'eyһGWfvc> d,֚YkM+=D +PԐ虒Y`tD]|qz#K2UM~x";ۏ.acAmQpt}ʹsk>W/iE ^/ 7?y0C?_]_T~l):AZmp,%@1tl^˖[h=`YτƮl֑:>{,.M!KeV{f@S iOv2,Epx0: Dhf0Eao6}r='(iB}1q! 4aKV`v|CՇo*{K$#v^ fДe+g+bpvQ.uօR8z[Yf!&8ҽ-{#M7Cm oHXcێp߶{9dm $!N fpOԮeewCH!-ZQ,Nuc ^y9Y1{9_񾀬|oda|p?v׿w#ȧS}~#|< w]3/}O>>tȾþů/˕}A_3vG}0>а;+~|Nݥ9Nv}^_uLLݰD&%<#Ȭ/O17gI[fY%p NtOG.o) iL/>VGޭL*?Jʲ7ue=&6uN|GRho1ʹ}Z_=FxAmG=y{A@un_tj,؏<>+Tt {Nl^L5V{Shoӻ;oQwQkb2h f}T^OO#ד˃F=~4S}4sf=%M9%~T ]g^ܴCyCa4۰F9ƶ]z4&5dgr3%(UA{EPdTVw=%j /ߗGP3 :yi*HyWޜi$Vy7[uIK?(j"K= 뢀{}j^x>xXo蜘V58KM*W'*ͺ+> >E_Qsʯ;@ {$[.3{5 JQ~SrJ_3{L_d(N{36{3__ʁ-c!2%/bQyj_{xna|ʹt\c!>{񜍽n*o{̆6oFPŧ=M/oP_kV`e #3R {JNֽ.rwYJL_r2| Iv=ל^p؜l>D*sԘo{yӴeOfקɟ :k|9"7|sǷ;AO[I}o/󑚜V*҇7֕7D,Z &>e\-x6IGi777 jmSE%_{#xb7'漙r^o<_gg_^K Jc ^PȼWV /sb=f>5%nrW )|PHHD'| P*+)< ɂd>VEJw33ƿgmL8Ϸ~':kΣ!<(߫ۈ%͋O_`RoM_%{rW5fN {%syˏv$_1P%O,{! ̥RI X쫄 ٳlf%\0cTC;6Q /G 4 [(ln4W#!6KvZ^nDZZXwsXXw63{6XR0M#>|@d v9o-qyx,0S!%3@P'rN= $@K ; Ȭ#Q3Q+c*T`5@II :T @ޗT ~<-OEN >L^g1n},n߉IT<j؇..r@!%|N>B߽/M # ԃ%0^`ـ~B=ptdwu<nѮ>O_{sN]4nxhE*յ-gՕekTZˁ@aہ2e]P&3C{#rQ+.'^Qg" =7g,hKԛ*\!՞G[zR_{c[Ǒ`r!dIυ l!z΢' ͨL,Ѕk G(LF*0m.W 6"э#4~ѩ DyHG텼*}ow%6 Fl I ] L{O_%gP߈O)I'F#O#ɽpES#z [G`=#$T@oFfdB N&R{%mCz*BA Gp '<8=QZ =R6͚I{U6-L!x]yz떡J&HoAx'jY >oHzZCi⥿yEN U/Vؒ?/VOTk=s֠EwfeA= KZzKp,*T#^~ `7&A6k]}==sGzlko[[W{`S)47(l^is F7RT>\T'_Z|&Wv->(}R@"M_]};hN`Ƶl``%y{^$(pȤ=gg/xE/I{ hUJFۧ'7[HNJF\8lт2 nH4oze ^Pr&dx gt`lo{klAh%_>7\nz5Zt7)[lA{V8dzۗKԆz(p)ګ5džv%_L'iKp 8}&pYPS7No>mH A? 㴜G}m$ *v*/7~R2yH2UvA `SPiyy{{ѵpoOzU;ԘG3!=N ~^ )̤ʂNwF̂-R_KWfc0noʖְyIz >NʁbbqgpnaAK(k<зwwSJAX3Fas@羞gU hZPSIpZ{Qzz9$870$ RZݿ~ W+E(:ϖ{ Wᕇ2  &*(xZjm;AEvI@RLIʻkpȬ`9e9xy>aaz''\xɻn@zyr%W\z D֞\U1\jzAxL9O^z'g,F:2z\SKph<2 . A?_հO+.&tI*mILtKFH!ѻNE@3 &O@zBO@f}kT0MO f'vD$N׉PBɇ/Xfqs2%N$|HS+9CXɇ!#Bd,=#"|!DQ)C+!2PM|PH1T4? <m c2:IUN+IYb [z>$2yvdib#?ɺ#?_q2~hKM0C4/iC1.r . 9O2ܓ, r 258TrAmCII3*(k%ACt B҇Fsd]^y_դOPL,!$P! CC)Mjl1=1W}nlK8iPȀI~:%|!rIDuh"C/Dn!|I:\d"ϛL^T+uṞF)M_ -xsNAF˭)!cYA_:gBocRKs ꒋckkxq(ICq-pApC1pA p*RrIUrS Lt=󿿎16-o-}Di{"|r}HEas}X'Ep\uy-f؂-llllllllqGO9eh̊)f/_e')Oh}y^SK'AsAgH#*/?qF\|7Icgs|~4: _,r8><9(wCGO9}qbǑsp8wr 8srr_w\;?\9n9/Ͽ97wrq\s~;?缼N.Trtpޟ|'獲 8pG*7.)Q[᥷8@̍4ƑTo`3J)0 хvD?#I?[;.HsJ@vܑ Fzkqk}\ν5Hk}^ξ5g0̙Fo̙Tfo(R.-`qug+,@N}[@v΢jӅt:cI{4cy<`9ix>1hx=4KJo 'TѓFlߩ4csDƥ N1iTo4`Ѫ7M7FjpFo荵Fpzcif1kZ Fiok\,#?[cׂq^F"F(NW8!HNt#t\FƸӍӍqN7N75nnk88qq#ttF\鍸Ӎq3Zzψt@8aFp!P{B. A|SKW zV%D~ꯨ{V:DQr8%?ީMm)~G}ٲWE,|WyHtZ-~ y*;U^enBEd2 Ӛۑ$jLDlkYp: >ry0eKo0;:N|4 M: ~1IQgwRO'[ߎn'Xx'=a4oaqp CǍ)R {A.u^}uaƝ;J0{J.4%mh- -/”uFʄvaFs{Qh %+xaFGyat׫[ K,{ڇa9YRG=v`߽__or~]_ h|X~;tİv}; cȻ`Azolk 4g2nM &Jа6kC+,>ΝY8&q l~{nh;o ANdd?ƞ=!ϟۃ@`r|%$؏2ٽW9p厔03X9&WLNg76xO (2 zLfSSL(iQPf'6 nMKӈ 11?iRlZF3>*#ꇌ3NAiʹQfzst= GZOʹSpm  Ln&m7ad(] \^HU |Ea aBOcWi)((s9V95 4t?Gaݩ^~23mw2<h acn˔+w(E3LL,iQ+RS]99NSqu2x<~r !G0I~Yy7T)9SGBw@H'uCLvlxhHSA%"F^Jɗ⟩LҲgD3gG]'kgL*^0:! ,E״0&lyP>C`Oj^*N t%Vck"Z}嚭im_Zܺ_B{dױ#y<++/,aVE Z^Xm `0ѠgmgLR恜,'6q6M> D(3"Eb!!2˙ZXwWp>ech/C|]OR0Wϋu^NjY2ޑfrdKWSK_Z>Ŭ^) ߶b޼U(.}k X$_?oOeditd#W K6ȰggjADZvj>B9mABTע?2EML#FR坮v9XyBIjT^}gN=ʅ[W"WҎJPN5.,sFўΦBr&"@3㕢0qgy~Cp$3[ Qr0 ^Ȍ_WwAW)-&Gm,[$~@ltR#O'uAKz|sQ<*S֝j@&FqRhwN=t)WLɰju'ŵ\ED~fMPg\Ee`zJJG'6l< pJ]Ik+60Z#"NTnN/H >O,S`={lh_ѤY6Sy۴Oȕo\sH"?u|`8l5m9GIiȄ%(k-6G)^6IٌڲU+9 蚀nΤDlQH[>IR|vO0~4(\.@RkF^?9#Ǵi%BO%&@]v!Xss7+ڃIum.''m nVNݬ5{0xUQ'~,yZ|1+GmVg}،$"%ܜ;mjxɊ p"? q )?a!_9 sn@`z .,[F/ |m)ۂ^抵׳2T67 /-O j6(~Yvw-9y45s cĶeNCQ,(DAח%]qVtA~%WOn_+-:7-#A;j`E,µq?ʹi?f 7jR $^Ǭs3R,{| SZ{Rw9q7([mXU(!RoS:ӞsZ0lK#ޭM87dz^ACLDYoQuD3lPW@zwb65AWçJky{8y:L>@(9?*4R^Ҵ+,ZvavrUtc/?,o ?;ELX )-Xn-$R 4[ R(νGP7cVJ9~ SуI权eAY+y7U0rܟ:[iܗk)yok[w{[|sx\mjW #sE`n'ڑM.xhJXhn6"XI`Y틿v{ T{]_+43!proDm/B^{<E= kBCϦ (z 0ڲ}0{9G9Lc>z&'0c}܆Iu43I6z~9VV [ c  zʈ[<`Мc2?{o˭‚/ݟޔ'ELe-,6nZ)Yq[F-ϩ9V7f?jwq6ĻL]7-6hSlv6yl^1wFy7Atg%Іzalsl#!cKG<,Lﮝ oLHxg,7= 0.Ϡ-O"9K >͚[(#*w;-> }{U=6Rp)H#l;0-?&w;;PsV9oIg']P>8݀Q dGGlV.e\ѡDs KhDZ4+ܭ椊„m@(u23zvxزWM]Uml_rV",X:Ql SJ]  1 诇\CGN!ʑp7O[bOgzڍg7t 1+B3rܭ"(>d3|HF(Ӹg D>1{mݼHh `muʝyFwL2)nLSk᬴H2BZF VcǎxhhԿhus.a6JLzFd+x3Y k/}sbܹfa8iFv3Uہ@ihÜ[K,JriP, rހ ś+eiIw Vdu;[su1(,{UVKYe^@].m_0QD3gJ@X-^z {^Lޠ(gc9GA/sMd`FۏeP;&ԥͯC5@tcf h`w`r0^yODt4&,Um !:gZ[(gKV39dB/!ݡACLC23>B; r1Pi5) )@q.!Ha!+,MF<$rlCdR#<@!tQ|L̐PHqay袞9&X\k 6PDƧ-I!;vȐjBʉHWh 1:>J|>0rCF1bISH8D%GR{Y͙vE8tD!9-2e˔Հ#Tχ>)X>h[A:![Ҩh)0YBdNBUȱ^տ%w[[өTr&PwiprأlLH&E)ɬ+G9r䵛3Mbx87bjyiJ'fpض%w:sM.Df ? 3yt72#. ʒ)@Z-S׷Lrc1gd5撻,t]4abckNI^Iw [.Mhuܺ#a*P!bMwKg^mVbv{M>m$_%W?6Έ eg;葌ʕRߥp&N;х< (,qW * LA`08޺""7]2@2OAU -''%q䭟 g" 8,;HK1 )e54rgHF ttCc$SK(LEkW%3v0RBdySQ=BdBx-GcaPy IB"1Bᘁ]5ZĤ/'8h<{:(s=J-e浕뛭qhtZNH.?3[]"| {7ogf9_hks$0v%|k~8 N }`?OSsf~-׺AwC)gn< K%ۅ:Nͥ+SV[ \]3jAt av Rv}᠙wlΕ槄SMƕIViऍ̃GR9$AO䐳Ck/ԔFp~#H$w ggܵi1'j-<%$BĮ<<UӆJ,#TP ߈9$B.$<&qU⨀S!"ҰǴ,@w] 4".Lb_ ^]݄`` ^rD:SH$% Л-ϟHkvjY+d#u":'p:3L9&Ǹ^Zܓ9y\hO=%B JڢI;@80-tx܀<2wމG3N]kQj *PFC2ݥ8$ft棞jfEr?6sUFWXdK>e,k%pps!=-R̸R((@_#Pҏcc"yīa8:꿇5<Y+a͟PzQ"km8jSkrv>{#j\t#Ĥun{JO2%!r i 2DxOm8R'<È550'WZ qûoj;::omt)UgRK)>%ƁfPE ax3,Cr6=,=rCo Np+'R:'ژVV؈do¿E󋆭P`4Ջdpq\Xo^3ψ tT i`b&(,pҽF3T+Re5: +º&*QrCM͞a_ r 1NQ8"jؾnD=P6Bmz("wyL#P+FLnOOB ; *(u7K5C(㙘UƮ8ʸ+ &uyq搓|Lmz\ ڌ2^V]nr t{:O?nSQAW-![ \Y߻x~Х2^c`Ɩ*dhP檽 zh{2L]x" XHٗqDJ4c4˶. I#n"[*`zŽEf+.m(MGYWX% usgHiaќѼו+[1낙|-W\%LmbPđY3㊃P=2c0W u ,V#ɺjP!2倣ZiBID%-< [sk1PQjxb(/ xk:Ysr֦WLfp-{G|R^r `עi\kƂF:~@"zfB{M r҅Ŭ$ŀuHTBSI< `RV 9PQuAAj;1Ş݄4[8.ē?P"} ^S Cw.)C{g;Qv:EsodU%*OĿq@OS͔Q+y~^`/|ֽ2 %ぱY"UD$e\}G_ *J\tJ_瘽Wן::"n=KIPՉk_wܡnhnRmPP |%oDޕ/ĸBۗn]gApІ ?w\ Z+ssj{/#$`!;1љ=ؾ윮&Bra׽ɜ6`DgX K&vO߄cZ*J !54ɂlpa(@NNls)@ad_u5Q~| Avs`Ÿթgx7 Vg!#38S)(*c5ն_( 8tL/l[sgP@=/ϯZM&'LXr[:@ pQ 蕂IqN89bWc=L`x2s[hU2kdj3 =c<ȴW#"+, d]jXӺ 1V"ՔR X[@-s7"']ݦYhp%@n|o"dMQ_lZYk bh4gb{ؼT BIy:;Zt sY `H>$ː k ѫ`(\#wJ<۸{Y{rPM.BqV!j?tW/%I] >dV&В$!RάYzӱPTh/{'eYlRe؉t9]~(񥹨HEL)1U@1#3;!|S@N~u{$XkĪggbEWaVİT2F z s:9:!ۣղ`;|m5i1H6~ʬnAgY,ח:G\A'kU.qm~<3>"K<C ΖMX9KL2[bFoa6M&G9┮OrLJ NJfjqqx;}%bIArDEjϵN\VFSqe:v!)'M^d.`k)I8HMbyGV"!ӧoD_2xzNn6@X>԰~& xpFĮ`R#Xʁj@c[_^2*[vA  [3ܱ!0u&q Sv bg6m9x@Vp!V)WZ1iahP𙍧t~0h(ʃA,OaQ3DL鲷ц74Xݭ9ѫ4+;w[7W+CfָB  pcjU7];z+Տp]dm$JRPGcp@1X`YJZOrNqo UUKQS %REpL[l@~@"K*otr!G{ ՠϸ!|,MXKA$ߤ L-> I]BƖP9i=U}[)*XmMɛf1nΥ1%y%\i?kQ3BШ\_[%SG5kxm+E=s%744fߨ(-u8 f8S [घ$u#DWfg31_e)v@86s$i 1Mh ߜF6<ޔ#(YdЈAB8NLhs(N(b1` 3gWs iVYHB^I4F]qb.#!Si(T `)VJKf(B¤NW;be5 Bt7*$לġiTJ%"Y&a=ia7K-swb054h!udAɡ"`zYU4!, 2μazbvR78 =rg#cAD$S`@FR&*ⴟ<"pCaW:@=(P> Z ,$܉c4{$R3!7M^HQ~f8^B(:bQ 8bͶ.qbBU,8};Q(@OxT*<ɓS^uZPʳ-Ү:?mTZ $p>G9e RBzAMs,S5U@Un78`2])%>aÄ}SjhA]!4vEU7Xɀ;4_\zLS(ܜIm`lgw@ٹ4/8G:!ڴaYxqۺ!'+~݊nEL4tB˾f b;Ο3l?aτQklYMps({rsE#D7)=ȠJӃ3QxX<\rD; JCs ~ s( !H| 'rnGeX35D.膛'M,ݾjAGkXMHDo OT=sR_:']`&(߯Pq #S$0v_KBQ/nL| 5MJoKL׸߃Z69X8ūS|9_^n!i 0;ls#D,eY4Ž{ ڊݪb"O^gHq乢 &# xZ-1ƃèj+ ٖdځ#5chTQv a]? |MVKF!єsC~ i5 RjD~lOOCi;bUA3s Y5+f ڑlb^vj^^YXA9`CZx5cGZwytakkѸ'֍'zMG Ӟ6H`I1\.BPɛ4'$M9F[9\_6r4D^#jQеR1aR|'n)x=HK+a]nZJJSaQǂMЎu^΍ ن<"⤯ǟ3%& ]A97RW5!(0x=)!Z7@<`6yjx!'!mzEsLPzȯ)`@:5Șvb 6\)Av~"tvdJ=AC7B~jws %&Qf">g_ D`kP@RA3STrhH@C_%!f`"v6 j7˥`>ɠ/b +.elZgg?+Caݰ60/6],9T~vjFF٬@o"@Y Hr +w\CIIV  RctT:A@^//>|ƏShlO07QYS B YӍ>^^ ţ8 =@z K2Q;(U1eK`0x"Cddz`DMYJ@f,φOjĺ.(jL+ Uu95!DCS}JB8tER_Wisv$NX&+oF0HFHKEM$N.ӌk܈ΨWSu 2π)TT)a"ᝨ)BU)TR/;S9ttza-9-Տjtdf "8/ܳ"QiFbZDΛm3cijCD`Oo53d-#E#0d-;%gfM=,zy5-2Ja}8J$dq )SrLvd)Ph6}e U#0婕#ovO棰e"%dZU¸/f:b &;&K~JF/webTڴC` ~JHyZ]R1G*fPn2|WH.Zd3=tgb [L,Pv]`g/l@ܑғkD>E,ر&S#K-4u<,;1qpt9,d;rF6ptUe`4dcBs[~"BddmvˤDgBy ׉v)o1w)XmTV]O(t ?`D,:#dUy'1MhǝFE^Sn%};{9h\C+D|;fF мċ(b喢?~za:|)釻df )'qcT3XxER"o-ImyPO IܝHwu,/ہ&RfpO@N bX@f90)'sf%RQ^\mr%",JqC_:I@5 K1 1,x@#<6+85y1>WEXljz3 G&Z?-x`kh&OgP|'^ o6#f\f!hf=يH0ʜUyD ['8\̝gM:G8DrCVW2yB=f]pJq60}x' w!Rܩ&yς;o[){mãr$&NA>B5oyu|jo)M~ &zjlg;$LQGNX Vߥʻp\3JgvHo|H% [w{"jDeVsnxsЖ&,ە>!cjPN™X&%;Hz6Y)v]̈́/5ݺ͛G,U B !0ͺrCZDzHϜ)&SL|X*ah}|hKDY7xe/I0T'H+NZ3cN/ZP"= Ncn%Q>"Oq;#7F 'vO'<o6 Ug;%ТLUm;žXXM,2 fJQ!GPPǣ7?DW\teK R٧ çM)Z `;$t%Ϭw09ۿ:XOpB2p:Lv{i .c! NU̎py3e/-Lune[#sIsUccZ~T-I+nѧ`R ӓ|!!EOxs,:mk}蓰T#.[.o1 &%I57I$Ő*Jh0;D2v󫔏tTw6yA #;۽8.[&'&N3& .l`g_zZ>Nw} *"EeSbGƟJwNu:/8+',v`Bge+6 9R1&O7zcgy-4H/ʿY9~/{?Ft,ڱ y"%w0 ;n6 &'#ɐYoFnsgia"&/xV݉&ޚtaB&= K3n"m&)J 'h4 )$^biAơ휕!PDj t"q\B5# hV[BE5]Dr:W 鉍VV"+yDT`C(0o^ JUzd4 \ϐPK ;^%u7f2gi,!4YIk_̐I gx6x$RMGQ˕{tפ%މ}]Ü#94eZtf'Mkƍ^:4o-.vt|-/N c[EXWُ5]uܷRȗKxg> j !g3qJ.}EPc9ʆlfAQRlQW4 G팚\Q2AU}wtZǧ,DFeh'+ʋfo!SIW E:5_zTu&uِF47*TYEWbAK] bRYܤ8EW\f1bH u˫Ӿl)+eIJ!ꥩfͲ&ֳI2q7ggT&WJ #OsŜԤMk F[qGUMlG"c՞td-*{,g6TG@t3(Juyio:-j^ZA=e*'Sc O-Pޓ֜eBT4zfJx#U<'c^'4"_`̥o(w0̤}GIcxAපZrb/OQXasAǩ%^S@MxGjTٍrj$2B0 W-P xY[ |D\fe״NNfPQw嫺V:L-"Hr`4MR@Wunot^)LɺaG`u-hp IV\h'{rLIP=Q~lkq*AVVt Tg%;8(g{3Do\oa{@ kkYNr]bvmn= F3d/wTr cݛ9f|D.) {Wp#*OqZf-˛eYy@ v4RE\ܱ;aQ4 o΂U< ˼Aǥ`C&$^K5CwW{R7VBKv5~ R:ǗMuGltD'2m29*e;cy܉c\9] Y}{[tlaA-0#9Jp-! AĮ1 Da@r u`G<&b>OG1DKq1RMiP&hZZuaMH(tFbڃIaYg-]|yOhȱb|j־5XntV)-KrN`1u`$3=-!o3zImn3z7M ͺ4cWTS sKꨮ @EZ]8+ќ[9~϶hmږ67[gcl$"[lbVڈ,BBHb""m KX\Wšn0`NҔq`W6@CiPiGlvY Nň?&+:ЂTB9f;vg(gs PbGc@Ϯ֞ GU05֖|h̦v9D˂L8m|4UsA!b0[ҰŮA"Ɂ2VM_V8>eǢ$D řRqC|8,r:r8Ӧā@WkRv&pys5:ȢG;wƤx1OIpmHIw>XϠI.S̚gųaFx>95WnpL{pH0ڔFۉvF;)N_QƉu8yG8N(Ft}dCh8:Bgf̂IE>96`Yl1m EvEˎ稆paW.1\vXVuPnX>>|XʑC)=s5|4J#:QD@~nk]3H+2H Ret!h7Tx'焺qI ƋG|XqF!#^ evtjM=ج;Aߔ.6&N VkGz{è8fA@ϑ"Wx qpW2) a!LXL$#\vx̳&Gdj ̎_fCh{_J d+ &aqlcA(FM-jK0R5| niI ya!iAHq)tfW-҈Ƞ`hFXhNٍ]̬˽!4DEE)k[/a F xk0hvQTTh-1BFvơB@0!*z'iѬzf[ hYAGkdj5=Z7|A=|c(@/5+?/fwTsڣAn>G;_`( q:G6 ]k[В2Ȯ$5zöz ̺XN8fسУj0*2i˽7v$ _`5H+Q?EIa'ǵRYmTP yݴq8MmT-KՔHz.ܮ;Ճ7 W0T`Zߣ"U8? y螧yJ54^/zP*zkK(Wȴ=.d-?]Ftq2i3WmVP Ӵa8?쌗3ӆÕѐ Ɛ[9΄@":9R`ؙ-@rkP@ZlPl[v#P󛸧 1x:yұFK7E5dkLH3Kᆿ+4\OP"2+fzp;b<&. z h}9+^X:V'YJ եM']4L"p*{49qek:f OGeg^ae5[5-ߵ;qO!>na+_Z*;/)lLADvr}^ūެ&W>ZD#A:Nkv@ t"ڡA, (=H3ۢ]dq-1mxH=m#P@2,1HpckDTl)Zy niUIѠ4ߑ;%B@2J3$RtcY̬xc^suB2~p[Iw*bՋz170wixO*8iFV-dN%$7!JPদ‰IAb'< {(6&}[>5vǿP>/:l3.ΈlBp mʩO}K)\SwLu 5뼧9L" (v+SqHz*'ӷ7;6ψ m!z\yֹN!O:~maASܰ։2%NoD&1n:f$2?Eka7fMG·95t-H 36ښ?ㅷ#xM;Rʣj}0/Hi"VB6C%XakaLny!S)k)\@LYJraf WTBBϱ׈VCtfrO cyL,j8C2+MO?%-5!yzDs":D&VaF^S .4QޖiLYӪ8t+W΀&8:={Y`(F#C&z;x6Zoh?ȋ kh|{˜̤T_-V 2Ml/9"iĴ┫Fdt$ܠu x Ύ%mV) n+ƳZCgf#+0-ůZC{OE|_AP=oNMIs-=9򅬆:ҿ:qUp&G]>e]bKCFs ݕE6ll#)8h'vleA1~[XFME|ZD.ꋩa~aϨޔ<5w҃= N 6\0~,q q? "A)5 "\ax*%RauLoX ? q.ȇ*ԸRF/REs*GspP~J0X""=S\ &NzkKd`eS&nZεx">Mq߮Yځu=i9]4;c$-&LB wgD-_C覫pMY]Z]׶gr<^'$=w \?7 #+ NseM:67(0dZ3c{ _:2l18Qwj/ssb+6i}7O6S?I ^K~l o7>{rݣG<2wJpObC1!7F xf$#`.Ut(r7Cex܌y@!vV~}=->xҏq[M9]&"K۳(%1Z%)9eAz1If19Hք.ްp({}ɉʅ >ĸqΌSz+gDg e} bJV꫚),2&O&w U2$fn{Uk_F?lL"4 xB~PQ1{}Y݂Lk1OFJ ?i?8Uk䷶Dq ?wa[kRl A_Y}^| W"4D4qRvs6{v_loom[z[n=}N`,q}*~yoC2':?k:gZ/`[@ZZ @FX[Cm]Zkbx/?-J6] S\-~XBU| 5)K԰-|iF#h^~m=+哹,NHvc]f:2Fw6cܵqdF6`LGvPֽUfFE{'1j%5;dLj22M-+?vӳNꤔkj&wY9KswB*Pue^WdyCJ:rF& p05owSeG{>_v疸-Nu55bהƾZ{[c }Z¡g|tYtGnK9-&+dz&f% E;Ja>HJ㫖|D$)u UZO[*^.5jCI7KIQߟ̆F没zWƦq~L,)n(}^veKʋ.Uq:L=o ux{V VիXev1VrooϪ:rGe:@IL d-2kAȓ۳oOEqe؛Yy!N="@dYYeze sd F k@pQ2ZI!li!L3,"GQ0c {Kdb @d"y.gPl]a2P>"d!3Y.WzJӧML"bP!݌aU"N]e$^Fû)1bhv fu\ @EuU2΍"Ze ^wjojRq]iSWa1_}jb\CU,T"IMTք϶iEa]dƐ -/ZKtGQ؛"+5e ]smM Q忡F;L6SCj}8ƾ"r),̭ łDNj LI}!?|9hnV{={Hx:'-MQ1oU4IEC\/W$@rt]tR} Di"Ap+@CGBeT %C]29"pt_䡗_'2X<. t9y;aԁ? 0`QLJӡG0S#:KՎc) cB=;hsfM96dDVgaT\adtEOO :U8r}1èZm"iOH)d:{ɚm%8Tl3 '5R lTXh{5HR[Sfw髱9Kb ,|P :ǚ']IY5N坹"yzRTOCVh6sD&EnAST8R1ޚ))Y%1TSEPu0>úϚlTRBwTQ.7ѓQpL蛠!ևGJY`Y$ovA=eY 4`%vB7+4k;D羭tjM0U2F3 ;(V(r5@_GW 6!oN=Y wbJڣ'85=d4<ۣ7;':=QPMDC@!k'k|w+?(:jA,>6} s 9Rt;eVhR?Z>2TkdO~a|;|Oj%퐩p* PT"@ ʆ|' V @Yd K鿼z?Q|􅇅 ف6' =(~/V 8pClh>T˔ZN鲊jd>JhQQRC J '^!ћ6a8pD)׃&* SPݥfp8ecxfU;#V"WBjnP璩c6A2xїt|ZMYɠa}C޼'>[r6zj^J@M]m oU9B-) ?D(~S& (% ov9=}7S(W*&OymMl_:ʯͶ0 :=ګ:G߭:ڸ tS6 ߯'h*opۧr=C%a1Ye(;vn* _ t\6 F~H3o)W+yGq#+6Ke Ldɼ.=Z %kj{b$L.$~ h[/__܉00v3m}B'kO>Z5,=IޔI Ĥoa`'D2(),fh |e!tUKYc'ٝz9m%Cd" ׎b%ϕ$: U+zP{ ?Ɨ͢ZaiCXY]83G#FJ{%w3XٗuǛ+:fC )w2knj*m>&~HZޡok+qIqׁ_e΁)uI( Ֆ!YMrrrs8JH R%%6Ȣ/]ΡeL؟8"6@CqhQZ2E WW/PV"$T1`d6A?]N9ғr:b=hHr(53p/|zw㊊̣[z:.i%3?b#nQ;" .851a-_E63#1&䵓4×|PIo0x W--=c/+`N)a$7 ;no_@h 3}yVO|uUw{ҵՐmB0h4ˌX*KW$Hvs8# r3j}D4Lc/Iߎc_۰Խ|VÎ,NgQG߼zuZ?[I$z{\hIycO۝gSQd}+GW gQc)ӓ<6B!]p `>>hE^]B-6-vª83g|.^89&O>G%T:H V%hi갫 1ܑ*=t\,$`S8AR}5޵F5 ;M=&2Rt4z |U[xV^!ɍ3(\R.Sc-PTUۉc$@|y0."R,Y.ٻbpf? oF/2H[=Ӝ%iu,U/}_ }6řwFq rKbs_Wj#cED֑jiAK]2isQg1'PK2x tFXfIxĨD~Ho)#o/Z+syPGld+]t2`fmZBy m,#̵[Rjgu./.tD,\J2ǿ)U/XC kTc_2 [V;t:p8EHa ZO9~Ni_$)'+$lkcML0OKc ^z2ڍ'lO mU^p('_5~)eA>7c[Uk+$zQ)% 共e9ϯNBX 4*k S^\WFvtNW yt /-41- ]8/"ۍS$IQIDHԧ)G /~/ϷF쫗 0B㶫G-V{E%Y)Cz_0Udb)}ȑUE>oj&15Sc#Z±X἗ ^)^¡|t~sXeѽkKp|Q4z?Z-<}K243&^fv*'=f h3e{ $ tyg>rʩȑ6賀&!g /_ЈrU>9 poőZrK\ .U>?rK- F#[7BϨZ#T$ԁ~~Pz,+6'AK!750H72&]%7(-u"RdX1I$gSZӱNŗ[X|yޚo&M@ ErZcqTh(d_ρF-3+j'k3-CR5Q u`OjݭyklϝxUh=bg%#%H4:JNy(jܯwvg\h6߶2 |c{npyQ٩lBӋƅQMw0h~2kUnxf4䎲ُEM鐡ye՝^e`z&HKJjS|r9@WxgKOZ=pOd X( sȳujLYC f4f9mqWFQ"͏ £jqPZ~0DX{2DXuyxm3堩,iOBҔr)[9(Y?_^p*>M:XQ#:Y!_j+%W:!ԇ 梽,cg9M zB>%ҥFFuYP9vIWGjTsQtC,wVvThGӭn~dvni]5nBYT9%З/T+DA>kZjMzDa؟$J$ YWFv[/iY1I/H ^}qÉ'Xjq :,CH+<9#";@:.0{Ҙ׊lDKZa7 4uqE ]D )rU-;;saYPFKVqpP,o!f.-])pq$8M8j8eQgϾՆKhY!v=ZCo9Vi["M47!ǝwacKPw-;A+m~J*tA1=p!|k^V%$$0>x y:3ʢtFvGWU7^ 㢳Wi}Gx nOG6׊ Zb#ֳTzCnG ] 8 &~NĮѻ*㩶du53̏#sZFMۏLuS_ nX/Ekc񀥧ŧNك~mOefeN| ED=^jYo|>DjGyȐ)RMT9ݪϜЬkiF,:xFE}> v_Z|(_<[w`2Olu&Pf04cXr,BÆb]\TO#;EFb$ۇhR钕oWr2ՕKZaˮkzV5|Y>˜9$HY }֢-+a[f!H s49M'voͬ[CP^g7FxJ)ȝr= fn5 8+Ү51bX\ܲr OQo_ŒSR P2 f2Mt^Kaș2,_5æNN5V]1xϰl';clŹ?)y=]E0":P%wfgbgΜ7sD}P2xD;#Ϗl^nLvpxC=KEou}q#z#Lt.I ~~ P P'%*`^Fn`yl%xQJ;?;/yDMLJNNO ʌ( *n c~#(=s8bʰ[P'$|l7롾{usrTGmNڍȿSPzZMհKI h lj蟭xJ\`=,`w;\V0_ :W)))t@Wl6vN@ϲ.^QfC=uֲ͢e}bŮPF<1_z_hׇ<\kHr>Z^Nh7]wԑm2 Ƕuibo2_~;rh;EsO>"Tpa}]7s$FoAwk "d3 ZUCd?uw7܈y; 2Gb e-rڠIkbXZҵU $R{յ+y'oi"IR5@QZօS= 0{} <7U#)k UI٨*dPe4)(nQ)&L~iNoG(~oa=[ kGbkdVe'R R`v7ʚy)(p10xKSGN.cEqhV"L EͨQ`12A؇^ZI7u^;3~l‡F7ۤ|A7lǺ4.@i DhGkaR|֠ɫAw?rwT~wt! !Ǡ׀7p{e~*[DF8[^ `;$(Li"]$bz˘%.b4R? 椵7d>w0B0` `T csGi:xsJFc%.~v0'rliMmHF*z)^x:KO5~*ӑatlK?FѴaYg Q>i]^~J]AVRHT,rr{y׃\SiYqk2@ @'`ݪFi:S W@yp" C\V?7j9S8Zl`҅ FN{6M'*[#@PԤ3%j؆pj( 0}qW&qEZn}k [ тQzשѾ`&tٖBfvZ~t#6wJVLD㙝<4b&(d,H@fŲdq)i[UU_F j "FK?ԕ٥G5r&j쮪"mGoK}rF:t^>nl2o4߀;*/w+ F2Hnbgܸ'y9 C^uk94jӜ8^$f# n#]%mk;!7:λFBz~@k>7ݽ"GuՑ<؅VeW귄ꢧĎv,o?E9u @\7wi$ '- 76[ AIS0'ȉD)wݪ2QSA@A9$2pnXnJhK|E*#}@F3ޚdkc3K=Y&$]rA=@f3W%tdl~Ԙc9w\zMQؕX ²Rhضc x Ϝ-.!]><2l`lpQ2V6}KLf4\]/d&ѲMLmfG ٺؒZD!5 3#ޒ\;I:*^/j@|VC'jdj"&Î01_okmE!HKAAa(ykVd'oh!D/LyidLF :7,LMĀ忍D%~ Gppj}>IvN Qk\^,,o;f|SZtoc>|vEl\7]#躄Y`jJc Wհ4.?t`U[2GCNPhL{<9F3/o?צ -D puWG)Ick86}CߦL'NhM/b}\~{?(l=w>0E% 6Iz$:J?r86Aux %t`-H(V5D M2A/jyn遠>.)Vvd*gZyWj7@y1;G 냘 V.BԼ)sz5kO=%V)%̪ak/:HR4NVEquh&&>ѽގKiJgTe[e?r:燋h:,o@gzu. TkMbJd>< ŋOR 93Xt: d>V~QMiU{هSO ĀU9d {59PٷAb39H&1t []$?`[w)Qk3v&jeȚX^ũltSJ>R1~I'nq 7-"E?$Ud)ewSOgYe hi/86׸7|C-yKE^n<ҋ{?W!soHBjTP5'>L^Z8۬) `ފcsSmnA/aP ΃κSd!Ū3Ӵe0ϩ9c\Jަ蝥٫;JT.gu-ÎR쟛Q ހ :35JbrNLTm%1pOEBx:ɢa=Prs`Ba(MX<^ՊXbGs%Vax[cn`Ɨ@xQA iī݅1d7~Z}ɨ!94:R 5$`8,l^P7^,P?qӰX"|Ld*W/x1-B r'ԢSA. ۜ^-.%ۨ$ӯldQrKH*$\ʠ|1^8]H;>Q;!%4V/'ZJ:6LdEn!&P؟1)-FMRzRLpZCT=??*@\--9bYO) Ǯ(UØh^^Ͳ(#4( _ GmuwH)2].J~̒w96jlk?!M7 11T]b9(!q1Nޜ E* ۍ.-R.q-]hgc!8v>\&)iSFOldk=-HBoGFIL &d XJC<eu׍o.DY(ZΕ<ԟL .qlQD\$t1lhPV%Q1Bl 0l@LQy# mLuC= xjlnQ=7{RR8 g8^7Ln mYs&HۋO% K"Oy1NjG6cMBv)Z|NA[fQ.,p4MKaOzQuMIMOkp{J%Tt=gFD{0nxU #fS&L>Tz$ >u8׃{zX>[cxF T$fVճ !U̅qMK7w7fފ RGT,oSq܏Χ ȋFaK d-|`Kf0IF+<GvsXeDZ# 6parmffh+̈́9:=_q!fVe|Nwl'[N3:k_iHZi\.4 t&F`rVoxjǻi]^v(͚ B2KwƭV.5+kU9a(?RFgRDs\28%b!ຠ}b,dUW;XJ4`>A8 uWn͡mRBD/%FImnoXIݛn4wDRXzG{E[ye^tGQ _2%C֜%́e=O.6F5N;Mob)uֹ˶r =h9i+jV3(1 N%Vs$enK2-195J3\-1v ,jvbm`w[aqd*s9:uTIא%acO.N0a Xm-KbnN9PA2]8{&F^B{ry3'5X!} E˶syvꮜloһz>;@t:[VEARWͰQa:]yW= ̰plJKGn"]Ul%"rL͒[0 Hz,='c︱_]p4#@xl~;k2v $LР' -/0K$ΝL S'nIXuIh5ea0;L@CLX')d2eafRl'³ŕ=]`јpK.ښddIڏ&ju&Razp ɬvFщ?@ӊY`<ΒX{_Ea ;82lxĄG%XXLI`HHv HLwԨ༗CcF*K:&LFoZ<;I% ]tXR$6f$Fm!Z㙈6Xq:(! uIˣtq#u<_c漘[RBG#K%$gi"!emTYODЈ:;BR fTyùBK.Eq2˧S>:I4NxArKNL5\w{қj}[a]RH/;2I}":%r \KvknyY N\^N^N_' ām~1<7.hUje$y4mcvsׇ̯Z`wP0E?#Wږ@ށ ~dE x>qОu.!H8op@QEYaJ(z]=3nٓV=;He:)Ps>G%Q)d6Az^4 `@N\ϯ,)EőXV4Tpgn #8vP̄)%AE' (y+$K)gͿ| hr-9PRʁvs> )|5ԥfB5ڕR AW!+?YuJaG\ 87 &SDREŊ,(ZN QHSVSS)))(\W} 2ךlce_hrN[`cl5S9oMizĹ&.F>2' ~.S4h֢nHy6)))(4PJ*tyhdR@m(Qj fxkUOQ\ܲYu24=: c2`}HT[;f4/axn]U䶶?\֩s ^\{c_#j hߖ[_Z;{٧48]Cĭ'9? 38!d~]fXK6h#ט@c2JnTbg9I!c!՟RSq\̈́ɑ8]iҭziQ=H_=gm>kj0뎼S(sJ^4U^LxKQw+Z]SF]FEZz]:< 5$;']._t)3ݓNN+3y*'|ˋ]gW:k]dH-'_|ƹH8x"hblj?zݵxu5QRi0'RsF3WE?!z^[Iu+z`QŎIȧi3 pt LC y*qd@ٯ҈uA'e4k=V .S"kG/a i?pǢͲ1LHڻы!_ɎP$my-S4hi3Hhb͆dcEĐ0ΣÙX;HK@n,X/haapJZ ɮ):!JN$kҨ (ޖvj4D!y[^/C:Ra12pNhZ}d.ILL } z$z3zpM댽f)p_8A{&VO&\u!iUn_f PO狠;8Jr>I}5ΜԓoUsfU޺ :2jR~5 \Hd/ y7b-G s*b6s^^ XdsQ:0j&})xc zLmF3F8鬳ۙGs1ؙ3Ȧ62ȫAyG{m(t0u}zrԒbRLe %rmlhf[8pJ[`:wd&98D]kM"J!-v6b d5~\^*̲cr[NWc)\ۆcK`8KՂN%iH8=֒A|WY+Mo\%^*v{b9Bm0;ӟ!Ur–Bu- _ & jy٤ZNZ rĊF_U@'_tKeܐ ےt.Lj o!ψ ? ֭պA,SJiΗBdl95Ry毿o%XqU@j/ pz3r;b(z,2tAo)JcfpNvRBڻ"u]@D~*4OH\eS信?53(Hu,FSD pdP1*q7-6:vpʸ:ԃ(n F7)TZM[a3<tҒVLP4cUω1bZ(u ۝]-dkt}{XxK`/跴TN¬,`@N1yئ&sɒx*IwNC8TeIIHy<;Bznqz/u焞9Pb /냼gXa{Jf󾓐?kP52H@$G׺3R?CCƂL.D؇'7g/;qUtOcJ@{ -4BvA I%, z4dSTmv* DJTJR~qfmu*ϓ4ײS@7eü }CtGȇ:;ӯ:`ه'Ad?;;x瘅 ?zWT9 i*bԄwbTo[bu17@RI|Td3A=T_>NߏzL?:yLh]Ä]ӷT4]wU::KE%/}{I"xt|JS6>돫f=}@o oAoj7 Kv* ׂ w Ŀf~_#kהlGF;$'T8?|Ƞ;T&EP:-F MFWPx t)p:֤t/sChG>8^O|%WiPzT:X8ez4ٚR Ī[2쪢|j``g0`;ƥ/PӉC Eu2+UJVshCjc$-(Uj UVR~l{6~x~nF kwWRv~a1}Ta PU{-1#{Y僎ѽTwpLÎO^8R`ChL%\>[}#< #׋efFxP8УW !0&  hG$h zV#ƆhΟ1Wp |0.ȠmMMk90ǥQ,a EH>4bkQ֧#QCOX?PJRZ{I2ԩl7h=@5(Hx*`p FpgCGE%@)x՝Sag6{,Xv@vx(z$ ޕdI~l<ʸ#2 ;߯E~>1;6v֔a;敃Yu$'St -k^"MӖ Yɚ.JI7[ @TQ`!wG#MlqżԸ "%5Y%,k0v]\Z:3)a/O!( .`LƋ_2;lrF2.vK,>ZilƳ}oJܒ;Dij6&I$8 N  9,|kV*Gj;UIEл~TР׀Вwvm/,vc,PS~(tɛy}\S ICl[7ܨ"E! .z G ?vfϲf2yQ=O|MI\\<8 Hx9<|`䯗octtDK>Y rkRx`_ƥ7r *gֽ@k>>c d %s)73㢁pҙjWa)1>MW+uUU M9ho 9}L +ZzA}SYd!ps 5.-VE1W4s׭鮸w *e=meT݊H'3rQdM/խu}v@)թ wXݚKv1G}N |Z++8.0K"ab{I1 w.Q3wCЯLpӕʇ[ZtXe0Ҍ}CpeRO%vkRZ"c%cx;>w35<:r LI@qJduvC,hX#l9{ Xy )Veۺ(c[d3g|&!CN l|_OnOA}v1lvxK7Mt#>)S*f<nBfٖ.kUO/,ޘ ih1q*`q9A{@^ҷ~a\9_A'}4bǟ]*2$y7`$EO}D[ɖhl:[h훉ɻ_~fxddZ_Ù~{IJ6՜2hMvW#v|$Z9٘ם'6o%x $\uqfݲU,vr{7>0#_kh26[w6{F-VwWizܺ7Gl/Bwl:2T~M;_{kFu 4}-y:7הrUɳ]4@pgԧ _qZ"sݨy_)Y񌅿c6[gp&k)R?DJx 2^ܰ Xnw)خn $S}g=) [xi'k - SѴPTQ$a_9fTpܐV~5- ەע xlx*tՏF[&Ejy$ݰؔy>9s7xCVM S_OVހmqsG(h&lnRGEFz+2Una1G25h3[@ʑ]oPHsdHwfyX&Gك8v$Dn΢z^;cZi'|VqEo7|{uw|6{7Bwv?OBة;Y92]gHûkF4 O#bfID 6'H"%7i[h<3-9'ŸP9/ah>?Y)຅3֋o3/Ue[W3xaH>3ґR,H!~JzYC{+GQ/( DzǼC| CoQr74iӺ%f#e=MdMsiԗ5Bn֏{q>ZO1akq&`.e/4Ԋ{~R:ZՏwz8 Ǟ]s>GLW$q(eE8{ ua9ޞt Q׾UK^Siٷ3 N2j:3&4]8XԾ>D>$K`> 6$Yr +#"Rg83ߙJ{½1be¶W3Ӥl{%"n885dV^d!iƤOy-xB x QF9 Thؾy_1JarTRrdےvNR; >щ'L?d dÏ#TDB~f$b'ޢp(NvpE''!`Fj >%i'033/H^§X$ t*b?`!E?Hsr@TPqcjm й7Fs^<: [ٛ>lȗXT?;0|W|Oƾ%_,>|,4|R|˸ræ.+W yM[s(,e="ՐK$*0 6,䊬P4RG B+Mx[GNttobXN]ƆS,3ڨ?eܞj?oʪTjv;8!m͒W1T>utrzo;\[bتCIc+!0x։nר_ʊ1!Jukť=-P35-Ep+uOl/$Vvz2V^X V̡ y591:tTi(Ǐ*mxY op8 b^(EEt`.Y$۳ n%>af@$ \'d,dNlG2ň((ޢr)EIhv-GiR;1L;X kbN!jaS"h7~q}U?UïM.==hTĂӿX5 mQiy}xɧGm#`?b97Un‹EoNw05 _rJ'tQa\4,f,uf9oI/2\X * Aؙ"1du2 cd#Ub?!ܙe5HKCP򆣳$r~?eţ-[,Ui6V*@C#vt6}U ȍ/a " ƅ†"/J8""Kv l ؠ-9ӒP 5N?X`YujR?IAeejJfT,;Ro(RWq:z:@xs{0vvpk!iI'G8qe&uعs9e4ث:&s }2i7>Mk~^n@*p"Է3G}kEsZ٠7i')|m=Hw3A{1lxx@62m V}q+o-G$j ղ#dۥPeE$:z%2ڝ0ښay?WC|:qX$ck27f^RQ{e$5n"hWmXh]Y{0#,LHC&"=^48"wߑKI/3ȶ,ABd&7Furyl,ƩFQFc#9ooou2?!WX-ǹZ pɞc4 Ұ]BK#n _$o쥙 /exK1 %.u/4⿒<7a`mo!A q#ϚNkB֎Ftf,I}e Q9us =ͱwH+ G~4}I]jhPz4෿GvǒwOk0os].)BpAˆ$}8iW|u52Z ̕@R+R{ ]A!V[wz=ɽnW# UK~7p-I4]`=Ɍ-zG3Yh:U5(M%}! #2սG~u Y:'8[-' A;0Ĉ2T@l(¿!E@LITCrVã>f+pXpxLƽ \/{M>6hGƸ'7.7Ado4Hd3VKI;,Gfxt&Zs%<#1TDx^h DSM$EwVl3^5̆qѻQvSq _`h&IZN\fE/>|>~CoŷI&lnA_1ve4`ꐒ[i57K<9޿틸omf Am \ތFWTS-8*@$ȷTx264;CQ"wb1&Kƃ{_J/*p66 y+f,$F7uwf/s|08 J>;`Enq4HϮSA{D󹊞ֳaow RӬ[5IgĐtYÿ3?41^L1&kKϹmyd]wYk!Xiu##[ȗP|dHZh6K}ȱln X hgDncUD:˗M  ⮹G:Kp#&P}Q*1g0:-a&h18m5@9ߧ he"nd3z[LoL/mޕoocaDYb7,ilPzG 9b=}bٖ 6LsB}:7FoK6*]t)Ў>殊TĔ-n>ʡ_t=3'u'd+wC;$| +W{ڵoI֍cdEӷN=,Cs\K[$3 42a;p(G8UG$Ƭ`]Sz4_9%/##& ^H0X&s8v n^F]2vt/lj 7vʗT^Ĉ=XS:S!Qps-8g1`BpY:&zY[pXu5MlR׆¶ҖۗJCt:H?rv>ۤ)u@V48lGP ~ SD D{~jrBt͕%3_h\,VC~לt{tāpzv3-uy[PM\HhI=^IE0WYjK!V4Nm`G^?#;BNL< ::0osCmW9n$G'ZhU ?Y0c̓tZ[x!0#oBe+6}҆njD)ߠ'hz{p- J2恟D"չ,Y \0SǵɵH0zS A$% .UBsv|jjz)nNዕCc iPv4f2ә*8y ߱FL`x`BngRH\L!߄&4Y'򆞃 Wsx Y`OT 1~ŠcW8|K}`QHz' Hj3a$yF X CR@T{s?ȥ'clhg'"/" 7c}{CլuV'a 8oy1D=V^!éEW;@B2}h8f$ ?-z⊤43z!:# WSΰbJÏ{_1ЏzGBøp_aH u W$pDxl/hlaDګPx RMN fE0D6D@wy"Dx)Kq=TuGORx4GcFvHH] #]A^-b([u܋V]uxdb-CI5{ <\iƩ(͔˾\5Õs׃<|a1F.Yok;۷}^wPKEJ$#~yڱqc xss#l2cR-B"X5~`ltLed'N\lXݘb-bd`͚3;XǮh")M$0 )b[-`jC"OޯNn@^NRK]mÓ۫8/ZRWGnA+p6@3*DQ{(xCp:FJeG -H הƺ;ݪ_?ݪ/b1d<UbiEl#%f_VؑM6g:bQuzwEDkuP"Fȱ@@}}|H_/&'5,VK ;<”5:L"/˺Y'Y|#/՚lOC27B1=tbul@[;gw9~CYx|\nֺ~! bT!z(N pg vf3?oٟs;Bw' FҀDJ|7"L[NBΊ myN5 ]ΞRs(JAK,&0r G SӁ`C'G'`F NOki&7*(2Ђ6=a=k3,tA18Ϡ0#ȅ&aנk_L>dDm =~CGFd( 3Fz2I+v5+zB}7 (ǵ-S4aаbuDru %Bax0 6)p oeB́7}: 6`+ Q ( @*oo޴n*t :eB]pR?>=%xRA|$[_ ">$Q:<m$(LxU/B^T˹ةSMy A_H/La4V)TXv椂Cƒ6 KbHXˬLI[9VPMu^Ow%FGeu'^7P@1w/oB&0[l%+ },fPMfk6ԛ>[> hJ«Ud2ً'OZ6ىC}Y hnQX쮦V#+݇FKZZ.moUV|ILiD]!ͪ]/0s0'CaߴcX{.V{MYiw, N\/b=o)\Rml&W ߱D$Meb`x=] o֛yitˇѻOvjhYի9b1@IR3ܲhVFtKKn:E UN5ڶ֍!iL`1 V+չqB4ŘdݾÁ_̘._&vc`ET`Dr^^~izM>m(ehjc3--O%Lxhe7:YUo}*;,Xd~)>Sh{# |S\պVا, _P3_{r\Z^ |\Kpj_+PνW/mVߙs!XLjz.rNvv֗l;>xThtmMGIV9]d*eX=?U7h$ͩȆ)z_|qgav9 yxA5J+yʎؙ[܅Α +u*~.BUOֺ-R^X˲;^;wD1o_oKhEI\ ^BqCY2]t6){tbzbZIia(y \eGlV$cJf|nt뜸W.VX4#%8%N4nQMz.VN I]Ey9N_,a[8u u͛;}u=cfm]ѻz,2bnXm[{jO u}i/6QH jmղui ûwcD[ߦUɠk~@:=:m Mohҁ4@srΌЙbL6&JJgIXecidqVK8o0! ӶysAߢ@':SttlY귊ǘm8"C!73=-ݝ@;dZ7ڽ 2+xL5.lA=S5\^rUAV޶\՘ 9uغ:s |qVYg3sE'vZ Eڸ녋=0ȇ^kn/YBFkLMW*5'6O!#Wdin.\/.L붯OJQjhB'3` l]7[OZ]X:-W[Nw3؋+[q~WPͽRiû(/u?kYZ\qb,^ljui;] ~0݄`:88foFǙF,R)u-$Mbhԥ=O5]%k,4)6ŀ/ =N?,mqb,"e5]9b[Z C&lEd7n MYט&\y:Di k(n ,.X3V9YiߊUű:]]*%}G0|d۷E#pa/ 6 #D#r+@œCO{ hoD(V95+p!hIr# @>`VۼMf`!Ҁ5Fٹ:%\l YU:gKTvK7ѣM]?J)/i1&5nbpIs c섇T8y/"O윗^J0bU]|$o/L'CIß>eLMrV?4Tb$rCMeWZ"SN Q*Xa|⸺8* 4njK7@T/x DIxzsĎ[HZu-$ k`+ K4MiEt~9Y;Mi\skT/V^VJn٤ߋGS[㘳9OnuC`T${+불X=V -!y>ֽUӧn ؋Q;!ɩ4*6 ⿇k (|@'ExBZ1g8[E=;=w8S[ݺ紱R%[>1^Yd V^Gpz:@ȊhG+P919ly9߈q܃u˰ LLloO_4DX') ܔ縌‘YsuƠsPF 7IH,0F]5] _SL>"Og:+ 7ƈOЊ|'XֶY<><0#M*J>cw/2 msdw"ԲF|Dr1#tf[Z 3Qiq eo-os蹛,~ur8 _Wu%;i}) {*2~cZD[g W՟H{ UgPJg˙Og2.-^k*wwu7hy}vUr@me/C깾-`OobIkf3gW3#byivadT!c_z׆+vE=liN )}@7L>0Z[ z @,vB^>*Δ[Sa).dwCU[Y^{DZvGHn[Q`w;3)c57v">^!&f璟,yk|+yu;yg]W[p{70U|XFdv8wvpn%li-aCa"ô3_MKez=̩k&V hD;GH,_ߚ(3BYM:ȟ&?񷼴'rEDDP }x17ޡD/vxwm ݃'7exB| D/e! ֓ۡ7+YiH:8.DgshԆ%9xGŏRFzeNU\ՙO zz0{މ*Hq CI!W9 I pǡHΞt 6b~hPa՗"j?BLx"P&,7g&7.HQ/6x}6$]M~ w '| q:␺T;#_q>9(x.V ˆ=)<8cXƸd\|}>dn҃PdcR߀A|~F!#~MQ؈}E'5U%e;>_z\3x3eycY*W(춽6W5+YA__׸wG[:_a{N ά.O8`CW8`3ɻf&1Htrt7Ѥv#ӺzF3Qa))'݋QI}V?w1 Bv͂gĈG%RNDz,؊fa'~}\e=95D=Zͤ;BJNMJBA'lʃ"پ7PFTP!qv4;E0X[TXu9}oKEal`ӾN[tBs+WO<"C(NOȠd+EXzb Fͷ-@iQ: NU x.czOӄF=q ]p:y E*#<}B7b`S$T^B}oReQJ ~S#d&~/q֖D |xmDDOLC"CWYjƸ AiN%lց I|'=vk l F=4\NDTh{#a6ӱ1$,Ma4 d)zm\*nl3vq/`7њ͆B&>Zn?gAMsKF0ZֆA֥Km`tCk\ko{$AZ-&B-UpU~%M9Jo@F a #4JbնAEƤʛt}W-Z$X [6OKZOܞTV勏xݒ\IL.w5ZZ;t%b{q߾؞Rܢ֖Gr[X'HĹ.U.niA;5)^M]jYV:]˽42tgC3Ќa@R3ş3f֌{Ú6l'tWT< &іyC4`Zن݇tѸ.>X"\b3Q71KƚX]}WGT&嶙ݼv13𥗊/qTޫqճR߈2X+^g~1~5lEh}F7],Μe@ϹўRxӋ d7qۭBoSmGk0W[^L*j]}p.3YݯF-<>ӽ*CtK L@^M6%',,6DZ9!EeVmXfr|va# z~EXGf׺-CmoH뺋2^;\Ccgd_tO]dۛ3L]t-{K^!4z_urdPp dǯ?o\̎q3 E^=)îGn -Eũ)V0˵Y!eHX7y )b8%u- NbѢMR}Q:G `h@Bh}wة|1KWIJG̟UO ϮvT8[[?-.{Vb/^h&7ٻ-Ө8,zߟ\mS0VS6jY]ϝyE?DLهAeplZKy BoBꆕ~m#R?D*ro׿zZ_Fwo}ޮny/z,zqq-/?|=?[O{`z̙O_~v!Anʑ(:5l;/5=#h^VAwuBos_$P{o[ .StbmG0żM Wa `ߺ+Or.|D8;D}7nܓ?u^A'N{dC6mԸ|s?=oNQCl:;޶sqA/=~wM7i>{NwGOV/h??f.羧0׋F"E97,=\bTKPQ-U* u#j$ (*~KktH̋|jϊlqd,`ě^k aMV}J X #nͰb_F#Lq ɺLǼj z8_k?Mٸ=I/E.nnO~ޞ}aӋp`~HA^rƣiRu ZUiDEM4xkxQj&]}K3T5ɡ$K`UESO"IKr5e@6܂TE>;qD}MU6QUKV)oЃ>\%#;uGBgA67 1()7!4xf%@1`w4q:֢h}{J izX*x=$`C/y+F u3VN %HRrqsRD/Rxyw^矆S᧧x3GCc0yZc;qǫGE?n {*9<=r$)\-&)M I _H7";MOR |d" j J@g>יH ?gO3=X{ȗ\O ղ|i#K^Ĩw*_?R2p*㹢;|2yчoMḨj“>A. YS]GԞM}}V< UOn<HM  ϗZOq_n꫻GaL]}\lcveQ)mv!`cR]$T;m|9q6 lx z$%VWPԂ6aޮ-sf v9&TW6$ Α2RUE["Ұx~aנjFLV"?5ČM`|8t0%JRl_;[./ơEGvPb!zn {3L8rX{ͧÑ) h#J{6gA*鑤$&;I cKn7^9+hr(M+˜ng((Th4qԏ&7gSNw!`:FYH̶/;ϦxzTTS?ՒMVEtW6uw`3B;ނ].^ߩcQC wClj0Qc~Ũ !vف8U[3^PQM?0$ Zٕo~~ ̫ U5.'gw Zç+L8VϘ^;?ҿިSI$Ru!Jqmpʆr`n`\ / 336_/m1xå+o`0dcf8/5}k &'>Ƕ.aeJ_x6ն_'0&6a1ÓⴿK`0l`0 ?y2͓?RZ_W 0` `0oP2s"`0l`0 ?a7̘2+<1{?HO2ج>p.WTg"w ynaE`ZC$!bp%QU=S mIy&3}UQRчw]Xg>G;U:cg"kiNgdTbEX D-$TYh)tl 0+TAqZxo}3NOF^qﺧqv)깂 {ZJ _!✅a#sL/S܌@ %QiCkug8׮c:gTԡi+RpKq͟t YI\p8 xZ!R!mT-$ZqB 0-, ,0ŏ H*nYV1 0+ARY \,MkQ=YKbBQ *1VBVOVP\FB]/SS®- 5}?>~+ bEgY T.M%Mf]jz3r~7cg*1Γ! j^]f]1γ{TWWv  ajkYiY=*U1++>!kn[ ^Z aeavZGͲVŢS%reƥQObʦKeeIݏ ;GnzLbTTzB!=B{@ ɾ#'Dg̜#}3F,^gme4c/Ee\P7ǢQQD\΢şS(@_!pY9anZH Ek'WjYK `Q|0=Y"+ѳn`5y} &^D݆حػ*@U> .kהY١aNBy?ԏnvh'')Z W}` |? '#1}QJxXhGy_kmػgb@x|V|t to!B*g9K,4H0|^(׉-/3:8ppan-cZ6kl$$k$ѫd/},ƷB4>-7l+S\{_1_ >3Cz#0,{c'B 𨼪7| $H*I"2nښ0!ei$,r4h`ֺM?ҏ0U-Dvuȸ=k-D~ 2v־l̻Q}, d{RVQ`:2[2~B2vS],Iuș-ɺFJȗ47? U(|xHR((QW"dɹ%7ː$kBɧ\ȍ+ל$E߸2$48?&bf$ W%Ii tH _ ˅aV8-Rd+sӂ}L&qI,|,Z^6&|lnHF)~&#n,iWCc^=9T>05ws.qUl3'y u D$ϷJ zEq.;w5/{+`ʺ$X&œAKj /H@NJEoώ2۽.'Y{ζ~q2u> ,X*Cee,"Ų-'LpcЙ5I3z >(yo269F'%]icw9?m%I:FzghzdL&sz,rNV13/L$z+ROv=%6˩5M s] $'P%dD4[i$٦,]?o{3QU͢IN6f@ծ aWNP=-fI0/?;;8u6{b<)v z;",I5QRH7]V %} gM'(ťrft'`HUo3$thMWU&^H`~^:$UIw:OX:dv %0;՛Vh~HCa̵>iwlhpkXx6c,ٔ:-F\r{A(jyBs-;:Ne( Ϳ\l[ ˁHykB8nOs6ub=cVQsLR3S10 / .WKTim5MD nuuI-@<d`BAWg>G}?_xJ싇I6.짾q[7Ox/6mݿ6ݸ}w}W1;z]'/yolٽ}cG^u#/osմXM _C1z._)?#C/XQ ]˟;譿O|{/'QY3m?1̴]?c}S>{0.zoouJTQ0eNU%Y%[RV{f̪S > gqߩ4XZU"YpbA i*,@jf|Q(Mbu%l5A".X5_2j{187ja1jE;Nّжzi.<]dVftG,2:n9"cEJ˦@2IUP:$@Zl:T<,ncnz"ݮM܏i/ @.l&T-ɑh` 3h˼&xZ} H\hI6*'b,‡D}YYxFuXn%s4cM!CYpFgu0+!ȍESgˢԲua*4pMHM j:0 eVHIswtӲ66:bR11?eyP[[TT#ACf^~,ɖj"H̺%21]%CT=F=+2+`;ʛKe Z(v? %;QR:fXh1)hD<ЕY}@PB0eQEqZCa RELdRBnَp01EM6 ΈzKIi{ ~D:K!5+ALЪ; c!Z0*Iq>C9%+)&N_eb'0ekegMiM]>l]!AV!2Iֹ6tٯPTIŔV$Bwc/hݪzca({GPFhB+<4O4O XG sWZ EO#ҺRPV!%FI2 e cU^:$#@v282G5 14(WuLK?91?Zmx*0?MIg+CyeHg2NvmCuCC*'Θt qSmQHP؃KrL3.ӑWP(w[3rV4^S@_KmPёaX 8rYDw5dy#LNDu"ǯs7o< C^&j,+Zq(٩k˄YfLnR' z24.m$4մc2*|ݶQ #}ID ,].1YtUk5эaq`a8X* ~FPqBA+Z efKԚ:à.pOqLCʋ"H!KԜc' T U۷B pK`0mBѧa@6"T91a!YЖ&1.OFfAI!MX.ې*/<4ć },+8eHYCXV^! XqAm,Ux1C4C{4ڊ3m9Zf"UT0I< 4̕drcCАzVUɑ,A[ d m7Uf5r_ه(# :LR;.'JE/ PjWqi4ߊG^EHN_L]XlKkb$ l bнM 8lam x!0;y[#Ψut;Y ;2;QSHY;\ ܃p>S/WriJ4Qr]eYd s `u*ɭ N 00@C wb"BP o(wKiCcn%C:rA4Y3&xw䯹8wǔ`Ʋ4T & ]{c#zQarmQK>Opêx*g&99^hM? mo4qj>D* aP @sA{%ތXv[~*s2k, 0!h%EPlp85ʩ=uN[O(R% DrTȪўYw$b q|sꗃb|Xx4]6 TJ,2i}um}m X(ö_2qw"ǤcW)ȭWsF &Up| ^&`gb bqmڜ;&w)j[De.|'jKt0; Hp./x |w^n6VENXac3R͡Eior.IʉXh&wUEʹ 2ozZ,Jd24n8F+Ҍ7`ǠQBS4 ⣆ ',R^ lE6 >c lRTy.:d㒙S0Zx6v*e3qNpRto5 o a{Jel'k ]E{LƆҏԾv6DsֻQz %(R]8b-z/YX辰0,|\ u!n]ojrbX`v_CC,EeDW\BպT4ȱK5PWJfn?Qm\8 4:GޮKqm1]V UqO Oǡt轆VGnNJZ3oxFSt?`.J8և4QLa=HNM0{2^Ġ"@028Y YGa fXޛʭӊFqE/ ~G+4I/EJ"o$ а6;K O*ŘA#J}9i;ʢx.{9)" QZwO"_=9mH\vC֩$2; ">;;yTbދ**z=enҭफ़촢%zYu]ȳ9(&8,XEN.JJS.cY+bvWDkز>B .D/:CJ^'L< &Dp5BD&yqqJ65y\q&-$SK#}Fkа8ڂu׍:;p1Ƈf 3UŢA<6hR)1.S&JJu$UjN91EcYDZ!mvAЌly-n8N -3Bl_q2@uy‡x^f{ 7&Ue7)= gE%4_{S&#(XIM Z4rHkx!cfQ0tXz v~vua"GH8Ǚ9+5] |ő:+,)l_ܐ"U4{ks/5+zaPT&mgQ+pT ߘ7 wg',#!C6=WMfo~$9֒luJR|AR!$49r($1)=X r:XIdU[XNЉ`\3FG0fU$l丹Ht x$1e2R %0Re8# |¤ EJ~P*/;*g$jd8pv"h/p9wdI ˧ZU8{,}fsJ?rpZM͝䐸Fk1%Q`)Z殶Z[XiX=>X#SP]/4~=g s=oĨL$Qxx*F۽JE6 w2dh}+; MޝT9%#(jEu܎'Xگ9I 8$NVQ$Ski‚pc"7oJx)vddNXY,,{]m2MC 䀜fxW~k ȱVh9qkB\(/8E%L˖ IfLtIĂ qFkt*8E^%\BP۝pa.}@R.^ x &[D<Ѫ9)&hѤHvhec}E\)rtR߁ta!&ov7T`TbAȵZb2!(zC'(<4艡mԠzyiɺE¡'άl TZ/-р"sKzRHe ^ ^ F)%إܔpFL!45S, 93&3& ;gK#h8t:f䠩:'1Q De *v(TVN3)ѰLu)\Q,Ki4 հY.D^V_ڱbLIKQD#!abX>u6 5}2X7Bq=N@A!AUzl4Ax'kI@3-WOߋ!qgs9m`*l >ÃAzӂB[b3M[pA|rL,X`Er) PfC Ng0ɏຒ!>Q:~xXWT a7)"2)։ok3 ̀;'P/ôFǖD| lzѤ|_ BD*Fe 13) {r%:͒#QT U81{uR׵hZ j:|&$K?|ЍGgGcU 5MCY"wa3Uen@;"^,d‹D4('>EIO~J %"(}#Dइ*F9(ŤК-bIdch#$&ʲp=+a=`C)єQ2`A!Nn(ذ,1>UNB{ Pdp>`<ߺ FhR2XKL6AÂk#;5Y,ƿ-(C$mnüvzeV݋6" H]N_q9njrPVPR"1h6htk+ȏXp>'g?c{*|H^$ qFtP d溡gf2dK p%+YoY}mb` ,2hDS˱z4QB5 [(~e& z(VuEC >:4$q-E yPX)ɁN 0(w Oy3fqp0,ix-0N:`l.̛W,P\4.Q4O=bNZvGZZ@*Gы9¤ץ8ռK/?OuҢz x!9a,'QRaޠ6';UDx{_ܷOٽwF+']Y.yhol}eӟSq_{e5 y'/y7m{M9 s.n%&ӧv߆nkO;uj:>aʻwM{r^,hdu+}{N𲉻nX𿘿79>E%2ڄv8'NuJcubֵwz=MW?>ninG[v kd{CgX~tX^ԄIBG @^ڷg#u:\ru*mCeA/LQ폜n:69`m_}u _vUg~ Ti㎻N'O3::ݼ3=ܧ!4O}{_OΎ=z]̠5l{l1F]?oCu8.*>G΃,)IGx+3MEw{1g=y/y~l5,orugipÜNg28[؋[/PJdp'">8C,l_N5G}|F'4;9vMEOJ'dOp?9Gɾ_zۍ_{;KN"s/ Em!:1LI½'voq5^v[nmw=Emc8Er=ShB06s7"NlԆ^Cy&I31ܥK~nSЈ)Bsئ#;d[6ou8oͶxt my瘏46/|xuD ^#)~4-ex;4 TCr&}SO]L<5zzM]/H^9jx+pI^Ofs7X۲o<h~a8ЂO?F+Ms=iτS]4{?3aM H (`LY>u?& & Q}FCjj>xk_n5yp".m}w>,&5.u5ms_}wܝC)[b՗Vsx5PrN&8Gx