Some more ideas for the PBIDE...
Posted: Sun Dec 27, 2015 12:23 pm
PureBasic is a great package and is nearly perfect. So I don't think, there is no need for big enhancements or changes, but there's still space for doing some small improvements here and there (for the next xmas present)...
...otherwise, someone should tell Google that PureBasic would be the best platform to get more great apps for android
Here's are some points to be discussed if useful or not...
* Shortcuts in the dialogs, e.g. Alt+A to activate the replace all button in the "Find" dialog
* Auto complete for labels, e.g. CatchImage(0,?abc...)
* Advanced auto complete for functions to remove brackets when not needed, e.g GadgetW|(0) should not get GadgetWidth(|(0)
* Allow to undo unwanted editor changes in strings, e.g. edit a.s="...from A to B, step by step" to get a.s="I..."+Str(i)+"...from A to B, step by step"
* Better search (and replace) to differ between pointer and multiplication, e.g. find "c" doesn't find anything in "a=b*c" (whole word only)
* Debug output may show it's originating source line when hovered or allows to jump to the position in the source text
* Constant viewer may get some more options, e.g. full text filter, hex or decimal output format or even a search for values
* User defined editor status line to show some specific infomration, e.g. procedure/macro name around the cursor position
* Maybe some optimization could be done to work with multiple versions of PB, e.g. single help file path
* Some (optimized) additional functions would be welcome, e.g. integer (abs, min, max etc.) and string functions
* Eventually some few libraries (printing, PDF etc.) could be supported by Fantaisie Software, I would pay (!) for such enhancements
* Eliminating some (small) quirks, e.g Save As... and then "Escape" activates the debug, not the editor window
And best wishes to all...
...otherwise, someone should tell Google that PureBasic would be the best platform to get more great apps for android

Here's are some points to be discussed if useful or not...
* Shortcuts in the dialogs, e.g. Alt+A to activate the replace all button in the "Find" dialog
* Auto complete for labels, e.g. CatchImage(0,?abc...)
* Advanced auto complete for functions to remove brackets when not needed, e.g GadgetW|(0) should not get GadgetWidth(|(0)
* Allow to undo unwanted editor changes in strings, e.g. edit a.s="...from A to B, step by step" to get a.s="I..."+Str(i)+"...from A to B, step by step"
* Better search (and replace) to differ between pointer and multiplication, e.g. find "c" doesn't find anything in "a=b*c" (whole word only)
* Debug output may show it's originating source line when hovered or allows to jump to the position in the source text
* Constant viewer may get some more options, e.g. full text filter, hex or decimal output format or even a search for values
* User defined editor status line to show some specific infomration, e.g. procedure/macro name around the cursor position
* Maybe some optimization could be done to work with multiple versions of PB, e.g. single help file path
* Some (optimized) additional functions would be welcome, e.g. integer (abs, min, max etc.) and string functions
* Eventually some few libraries (printing, PDF etc.) could be supported by Fantaisie Software, I would pay (!) for such enhancements
* Eliminating some (small) quirks, e.g Save As... and then "Escape" activates the debug, not the editor window
And best wishes to all...
Code: Select all
; Define
DataSection
Data.s "BRShXhS=W2=ZBK=NBK=NB[CcB[CcB[CcBRcABRcA","`e0T#:$+)GtzT;r7_BqRhFo4n_fu{rUMyX;v`e0T","XM=LXM=LXKOAXKOAXKOAXFd#XFd#","X'=Lv&<ld>OYXMP'i=P6j}PrldWBn^^XjfcmW{d6"
Data.s "BsSTXJS*VX>6BQ>*BQ>*BfD0BfD0BfD0B5c=B5c=","_:2E#\&))lt]SOqo^6q1f}nsm)fqyrU{w_=5_X23","WM>YWM>YWWP%WWP%WWP%W8dEW8dE","Wf=wtk=>cXOlX.P9hIPGj$P}kaW;mU^<i?csW.d:"
Data.s "C:S@X-RsV$>nBW>bBW>bBrDYBrDYBrDYAtc:Atc:","]j46$#(&*6tARcqL]+pkeYnXkOfmwrVNug>O^L3m","VM?fVM?fVdPeVdPeVdPeV+dhV+dh","WK>GsV=kbsP$WjPKgUPYi&Q-j^W4lM]{gscyV=d?"
Data.s "C\S-WjRaUJ?JB^??B^??C#E&C#E&C#E&AWc7AWc7","\@6'$E)}*[t%Qwq)[zpJd6n=itfjurV|so?i]?5M","UM@sUM@sUqQJUqQJUqQJTxe/Txe/","W0>sr@>=b2P8WKP]fbPjh(Q9i[W-kE]`fMd$ULdD"
Data.s "D#RtWMRNTq@'Bd?wBd?wC/EOC/EOC/EOA;c4A;c4","Zp7t$g+z+%sdQ0paZop)bmm}h?ffsrWOqwA(\37,","TNB&TNB&U#R.U#R.U#R.SkeRSkeR","Vp?Cq+>jaMPKW-PoenP|g*QDhYW&j=]De&d*TZdI"
Data.s "DDR`W/R<T<@^Bk@TBk@TC;EwC;EwC;Ew@yc1@yc1","YE9e%--w+KsGPDp>YdocaJmbfefcqrW}p$BB['8g","SNC3SNC3T0RnT0RnT0RnR^etR^et","VT?nop?<`hP^ViQ&d{Q3f-QPgVVzi5])cZd0SidN"
Data.s "DfRMVmR*ScA;BqA1BqA1CGFECGFECGFE@]c.@]c.","Wv;V%O/t+ps+OXovXXoB`&mGe/f_orXPn,C\Yu:F","RND@RND@S<SSS<SSS<SSQPf<QPf<","V9@?n[?j`'PrVJQ8d,QDe/Q[fSVsh,\hb4d6RxdS"
Data.s "E-R9VOQrS.ArBxAiBxAiCSFmCSFmCSFm@@c+@@c+","VK=G%q1q,:rjNmoSWMn|^^m+cUf[mrY#l4DvXi<&","QNENQNENRIT7RIT7RIT7PCf^PCf^","Uy@jmE@<_BQ*V+QJc9QVd1QgeQVlg$\M`hd<R,dX"
Data.s "EOR%V2Q`RUBOC#BFC#BFC_G;C_G;C_G;@$c(@$c(","T{?9&83n,_rNN&o0VBn[]:lka{fXkrYQj<F6W]=`","POF[POF[QVTwQVTwQVTwO6g&O6g&","U^A:l0@i^]Q>UhQ\bEQhc3QrdNVeew\1_AdBQ:d]"
Data.s "EpQmUoQNQ{C+C*B}C*B}CkGcCkGcCkGc?bc%?bc%","SQA*&Z5k-)r2M:nhU6n:[rlP`EfTirZ$hDGPVP?@","OOGhOOGhPcU\PcU\PcU\N(gHN(gH","UCAfjuA;]wQQUIQnaQQyb5Q}cKV^do[p]vdHPIdb"
Data.s "F7QYURQ;QGCcC0CZC0CZCwH1CwH1CwH1?Fb}?Fb}","R&Bv&{7h-OqpLNnET+mtZNl5^kfQgrZRfLHjUD@z","NOHvNOHvOpV@OpV@OpV@LvgkLvgk","U'B6i`Ah]7QdU*R%`^R0a8R.bIVWcg[U\OdNOXdg"
Data.s "FYQEU4Q)PmD?C7D7C7D7D(HYD(HYD(HY?)by?)by","PVDg'B9f-tqTKbn#R{mTY+ku]5fMer[%dTJ)T8BZ","MPJ(MPJ(N|W%N|W%N|W%Kih2Kih2","TgBahJB;\QQxTgR8_jRA`:R9aFVPb^[9[(dTNfdk"
Data.s "F{Q2TrPrP9DwC=DoC=DoD4I'D4I'D4I'>hbv>hbv","O,FY'd;c.>q8Jvm[Qom3WbkZ[[fIcr[Sb\KCS+D9","LPK5LPK5N.WeN.WeN.WeJ[hUJ[hU","TLC2g5Bh[lR0THRJ^wRS_<RE`CVIaVZyY]dZMudp"
Data.s "GAPyTTP_O_ESCDELCDELD@IOD@IOD@IO>Kbs>Kbs","M\HJ(+=`.cpwJ0m8PdlmV?k>Z&fFar\&`dL]QzEt","KPLCKPLCM;XIM;XIM;XIINhwINhw","T1C]ezC:[,RCT)R\^(Re^>RP_AVB`NZ]X6d`M)du"
Data.s "GcPeT7PMO+F0CJF)CJF)DLIxDLIxDLIx>/bp>/bp","L1J;(L?]/.pZIDlpOYlLTvk#XKfB_r\T^lMwPnGS","JPMPJPMPLHY.LHY.LHY.HAi?HAi?","SpD-deCgZFRWSeRn]5Rv]AR\^>V;_FZBVjdfL8dz"
Data.s "H*PRStP;NQFgCQFaCQFaDXJEDXJEDXJE=mbm=mbm","JbL,(mAZ/Sp>HXlMNMl+SSjcVqf?]r]'\tO6OaI3","IQN]IQN]KUYnKUYnKUYnG3iaG3ia","SUDYcOD9YaRjSGS%\AS-\CRg];V4^>Z&UDdlKFe$"
Data.s "HLP>SWP)MxGDCWG>CWG>DdJnDdJnDdJn=Qbj=Qbj","I7My)4CW/xo}Gll*MBkeR/jHU<f;[s]UZ|PQNUJm","HQOkHQOkJbZSJbZSJbZSF&j)F&j)","S:E)b:DgX|S#S(S7[NS?[ERs\9V-]6YfSxdrJUe)"
Data.s "HmP*S9OqMDG{C]GuC]GuDpK<DpK<DpK<=4bg=4bg","GgOj)VET0BoaG%kbL7kDPfj-Saf7Ys^(Y)QkMILL","GQPxGQPxIn[7In[7In[7DtjLDtjL","RzETa$E9X;S6RdSIZZSPZGS#[6V&\-YJRQdxIde."
Data.s "I4OrRwO_LjHXCdHRCdHRD|KdD|KdD|Kd<sbd<sbd","F=Q[)xGQ0goEF9k?K+k#OCimR,f4Ws^VW1S*L<N,","FRR*FRR*H{[wH{[wH{[wCfjnCfjn","R_F%_jEfWVSIRFS[YfSbYIS.Z3Uz[%Y.Q+e#Hre3"
Data.s "IVO^RYOML6I4CjI/CjI/E-L2E-L2E-L2<Vba<Vba","DmSL*>IN12o(EMjwI{j]MziRPQf0Us_)U9TDK0Of","ERS7ERS7H-\\H-\\H-\\BYk6BYk6","RCFP^TF8VpS]R'SmXsSsXLS:Y0UsYxXnO_e)H&e8"
Data.s "IxOJR<O:K\IlCqIgCqIgE9LZE9LZE9LZ<:b^<:b^","CBU>*`KK1WngDbjTHpj<LWi6Nwf-Ss_WSAU^J$QF","DRTEDRTEG:]@G:]@G:]@ALkXALkX","R(F{]?FeV0SpQcT$X$T*WNSEX.UlXpXRN8e/G5e="
Data.s "J>O7QyO(K(JHCwJDCwJDEEM(EEM(EEM(;xb[;xb[","AsW/+'MH1|nKCvj1GdivK3hvMBf)Qs`*QIVxHrS%","CRURCRURFG^%FG^%FG^%@>k{@>k{","QhGL\)G7UKT(QDT6W1T<VPSQW+UeWhX7Lme5FDeB"
Data.s "J`O#Q\NqJNK%D#J|D#J|EQMPEQMPEQMP;\bW;\bW","@HX{+IOF2Fn/C/ijFYiVIkh[Kgf%Os`XOQX7GfT`","BSV_BSV_ES^eES^eES^e?1lB?1lB","QMGwZoGeTeT<Q&TIV=TMURS\V(U^V_WvKFe;EReF"
Data.s "K'NjQ>N^IuK\D)KYD)KYE]MyE]MyE]My;?bT;?bT",">xZl+jQC2lmmBCiGENi5HGh@J2e}Msa+MYYQFZV?","ASWmASWmD`_ID`_ID`_I>$le>$le","Q1HGYYH7T%TOPbT[UJT_TUShU&UWUWW[IzeADaeK"
Data.s "KINWP|NLI@L9D0L6D0L6EiNFEiNFEiNF;#bQ;#bQ","=N\^,1S@36mQAWi$DBhoG$h%HXeyKsaYKaZlEMWz","@SXz@SXzCm`.Cm`.Cm`.<qm,<qm,","PqHsXDHdS@TcPCTmTVTqSWSsT#UPTOW?HTeGCpeP"
Data.s "KjNCP^N:HgLpD6LmD6LmEuNoEuNoEuNo:abN:abN","<#^O,SU=3[m5@kh\C7hNE[geF}evIsb,Ii\+DAYY","?TZ,?TZ,Bz`nBz`nBz`n;dmO;dmO","PVICW.I6RZTvP%U$SbU'RYT#R{UISGW#G-eMC#eU"
Data.s "L1N/PAN'H2MMD=MJD=MJF&O<F&O<F&O<:EbK:EbK",":S`@,uW:4%lt@%h9B,h-D8gIEHerGsbZGq]EC5[9",">T[:>T[:B,aRB,aRB,aR:Wmq:Wmq","P;InUtIcQuU.OaU6RoU9Q[T/QyUBR?VcEaeSB2eZ"
Data.s "LSMwP#MpGYN)DCN'DCN'F2OeF2OeF2Oe:(bH:(bH","9)b1-<Y74JlX?9gq@{ggBog.CmenEsc-Ey^_B(\s","=T\G=T\GA8b7A8b7A8b79In99In9","O{J?T^J6Q4UBOBUHQ{UJP]T:PvU;Q6VGD;eYAAe_"
Data.s "LuMcOaM^G$NaDJN_DJN_F>P2F>P2F>P29gbE9gbE","7Yd#-][44pl;>MgN?pgFALfnB8ekCsc[D&_y@w^S","<T]T<T]T@Ebw@Ebw@Ebw8<n[8<n[","O_JjSIJcPOUUO#UZQ-U\O`TFOsU4P.V,Boe_@Ped"
Data.s "M;MOOCMKFKO=DPO<DPO<FJP[FJP[FJP[9JbB9JbB","6.eo.$]15:kz=ag+>eg%@(fS@^egAsd.B.a8?k`2",";U^b;U^b?Rc[?Rc[?Rc[7/o#7/o#","ODK:R3K5OjUhN`UlP9UnNbTQNqU-O&UkAHee?^ei"
Data.s "M]M<O&M9EqOuDWOtDWOtFVQ(FVQ(FVQ(9.b?9.b?","4_g`.F_.5_k^<ufc=Yf_>`f8?(ed?sd\@6bR>^am",":U_o:U_o>_d@>_d@>_d@5|oE5|oE","O)KfPyKbO)U|NAV#OFV$MdT]MnU&MyUP?}ek>men"
Data.s "N$M(NcM'E=PQD]PQD]PQFbQQFbQQFbQQ8lb<8lb<","34iQ.ha+6)kB<.f@<Nf>=<ex=Ne`=se/>>cl=RcL","9U`|9U`|=le%=le%=le%4ooh4ooh","NiL6OcL4NDV4M}V5NRV6LfThLkTzLqU4>Veq=|es"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","1ekC//c)6Ok&;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex","NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","1ekC//c)6Ok&;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","1zk5/Oc16Xjw;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","24k'/oc96ajn;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","2Jjt05cB6jjd;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","2_jf0UcJ6sj[;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","2ujX0ucR6|jQ;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","3/jJ1;c[7*jH;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","3Dj<1[cc73j>;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","3Zj.1|ck7=j5;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","3oi{2Act7Fj,;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","4*im2ac|7Oi};Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","4?i_3'd)7Xit;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","4TiQ3Gd27aij;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","4jiC3gd:7jia;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","5$i54-dB7siW;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","5:i'4MdK7|iN;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","5Oht4ndS8+iE;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","5dhf53d[84i;;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","5zhX5Sdd8=i2;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","64hJ5tdl8Fi(;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","6Jh<69dt8Ohz;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","6_h.6Yd}8Xhp;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","6tg{6ze*8ahg;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","7/gm7?e28jh];Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","7Dg_7`e;8thT;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","7ZgQ8%eC8}hK;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","7ogC8EeK9+hA;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","8)g58feT94h8;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","8?g'9+e\9=h.;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","8Tft9Ked9Fh%;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","8jff9lem9Ogv;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","9$fX:1eu9Xgm;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","9:fJ:Rf#9bgd;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex","NFLpNFLpDdQ.DdQ.DdQ.FnQzFnQzFnQz8Pb98Pb9","9:fJ:Rf#9bgd;Cey;Cey;te];te];te]<Fe,<Fe,","8Vb/8Vb/<yee<yee<yee3bp03bp0","NNLbNNLbM_VHM_VHM_VHKiTtKiTtKiTt=0ex=0ex"
Data.s "O-L@O-L@EJPVEJPVEJPVGSQGGSQGGSQG90a\90a\","9zem;4eG:Gg(<$eB<$eB<Te&<Te&<Te&=%dQ=%dQ","97aS97aS=Xe/=Xe/=Xe/4>oR4>oR","O5L2O5L2NCUrNCUrNCUrLMTCLMTCLMTC=jeB=jeB"
Data.s "OoKkOoKkF0P#F0P#F0P#H9PpH9PpH9Pp9la%9la%",":`e5;qdl;-fG<`df<`df=4dK=4dK=4dK=`cv=`cv","9s`w9s`w>8dT>8dT>8dT4vnt4vnt","OwK]OwK]O'UBO'UBO'UBM2SmM2SmM2Sm>Jdg>Jdg"
Data.s "PWK<PWK<FqOKFqOKFqOKHzP>HzP>HzP>:M`I:M`I",";FdY<Sd5;nef=Ad/=Ad/=pco=pco=pco>@c@>@c@",":T`@:T`@>scz>scz>scz5Rn;5Rn;","P_K.P_K.OgTmOgTmOgTmMrS=MrS=MrS=?*d2?*d2"
Data.s "Q>JgQ>JgGWNsGWNsGWNsI`OgI`OgI`Og;._m;._m","<,c|=5cZ<Te+=}cT=}cT>Pc9>Pc9>Pc9>{be>{be",";5_d;5_d?ScD?ScD?ScD6/m]6/m]","QFJYQFJYPKT=PKT=PKT=NWRgNWRgNWRg?dcW?dcW"
Data.s "R%J7R%J7H=N@H=N@H=N@JFO5JFO5JFO5;j_6;j_6","<mcD=sc#=:dJ>^bx>^bx?0b^?0b^?0b^?[b/?[b/",";q_-;q_-@2bi@2bi@2bi6gm%6gm%","R.J)R.J)Q/ShQ/ShQ/ShO<R6O<R6O<R6@Db}@Db}"
Data.s "RhIcRhIcI$MhI$MhI$MhK,N^K,N^K,N^<K^Z<K^Z","=Rbh>UbH={ci??bA??bA?lb'?lb'?lb'@;aT@;aT","<R^Q<R^Q@mb4@mb4@mb47ClG7ClG","RpIURpIUQoS8QoS8QoS8O|QaO|QaO|QaA$bGA$bG"
Data.s "SOI3SOI3IeM6IeM6IeM6KmN+KmN+KmN+=,^#=,^#",">8b0?7am>ac-?|ae?|ae@LaL@LaL@LaL@v`z@v`z","=3]u=3]uAMaYAMaYAMaY7{ki7{ki","SWI%SWI%RSRcRSRcRSRcP`Q0P`Q0P`Q0A_alA_al"
Data.s "T7H^T7H^JKL^JKL^JKL^LSMTLSMTLSMT=h]G=h]G",">yaT?ta6?GbM@]a/@]a/A-`qA-`qA-`qAV`DAV`D","=o]>=o]>B-a#B-a#B-a#8Xk08Xk0","T?HPT?HPS7R3S7R3S7R3QEPZQEPZQEPZB>a7B>a7"
Data.s "TyH/TyH/K1L+K1L+K1L+M8L}M8L}M8L}>I\k>I\k","?_`w@V`[@,alA>`SA>`SAh`:Ah`:Ah`:B6_iB6_i",">P\b>P\bBh`IBh`IBh`I94jR94jR","U&G|U&G|SwQ^SwQ^SwQ^R*P*R*P*R*P*By`\By`\"
Data.s "U`GZU`GZKrKSKrKSKrKSMyLKMyLKMyLK?*\4?*\4","@E`?A9`$@ma0Az_wAz_wBH__BH__BH__Bq_3Bq_3","?1\+?1\+CG_nCG_nCG_n9liu9liu","UiGLUiGLT[Q.T[Q.T[Q.RjOTRjOTRjOTCY`'CY`'"
Data.s "VHG*VHG*LYJ{LYJ{LYJ{N_KtN_KtN_Kt?f[X?f[X","A*_cAv_IAS`OB[_AB[_AC)_(C)_(C)_(CQ^XCQ^X","?m[O?m[OD'_8D'_8D'_8:Hi<:Hi<","VPFwVPFwU?PXU?PXU?PXSOO#SOO#SOO#D8_LD8_L"
Data.s "W/FVW/FVM?JHM?JHM?JHOEKBOEKBOEKB@GZ|@GZ|","Ak_+BX^nB9_oC<^eC<^eCd^MCd^MCd^MD1]}D1]}","@NZs@NZsDb^^Db^^Db^^;%h^;%h^","W7FHW7FHV$P(V$P(V$P(T4NNT4NNT4NNDs^qDs^q"
Data.s "WqF&WqF&N%IqN%IqN%IqP+JjP+JjP+JjA(ZEA(ZE","BQ^NC:^7Bz_3Cy^.Cy^.DD]rDD]rDD]rDl]HDl]H","A/Z<A/Z<EB^(EB^(EB^(;]h%;]h%","WzEsWzEsVcOSVcOSVcOSTsMxTsMxTsMxES^<ES^<"
Data.s "XYEQXYEQNfI>NfI>NfI>PlJ8PlJ8PlJ8AdYiAdYi","C7]rCx]\C`^RDZ]RDZ]RE%];E%];E%];EL\mEL\m","AkY`AkY`E|]ME|]ME|]M<9gH<9gH","XaECXaECWGO#WGO#WGO#UXMGUXMGUXMGF3]aF3]a"
Data.s "Y@D}Y@D}OLHfOLHfOLHfQRIaQRIaQRIaBEY2BEY2","Cx]:DZ]%DF]qE;\wE;\wE`\`E`\`E`\`F,\7F,\7","BLY)BLY)F\\sF\\sF\\s<qfj<qfj","YIDoYIDoX,NNX,NNX,NNV=LrV=LrV=LrFm],Fm],"
Data.s "Z(DMZ(DMP3H3P3H3P3H3R8I/R8I/R8I/C&XVC&XV","D^\^E<\JE,]6Ew\@Ew\@FA\*FA\*FA\*Fg[\Fg[\","C-XMC-XMG<\=G<\=G<\==Nf1=Nf1","Z0D?Z0D?XkMyXkMyXkMyV}LAV}LAV}LAGM\QGM\Q"
Data.s "ZjCxZjCxPtG[PtG[PtG[RxHXRxHXRxHXCbWzCbWz","EC\&Ey[oEl\UFX[dFX[dF|[NF|[NF|[NGG[&GG[&","CiWqCiWqGw[bGw[bGw[b>*eS>*eS","ZrCjZrCjYOMIYOMIYOMIWbKkWbKkWbKkH-[vH-[v"
Data.s "[QCI[QCIQZG(QZG(QZG(S^H&S^H&S^H&DCWCDCWC","F)[IF[[8FR[tG9[.G9[.G\ZsG\ZsG\ZsH'ZKH'ZK","DJW:DJW:HW[-HW[-HW[->bdu>bdu","[ZC;[ZC;Z4LtZ4LtZ4LtXGK;XGK;XGK;Hg[AHg[A"
Data.s "\9Bt\9BtR@FPR@FPR@FPTDGOTDGOTDGOE$VgE$Vg","FjZmG>Z]G8[8GuZRGuZRH=Z<H=Z<H=Z<HbYpHbYp","E+V^E+V^I6ZRI6ZRI6ZR?>d=?>d=","\ABf\ABfZsLDZsLDZsLDY,JeY,JeY,JeIGZfIGZf"
Data.s "\{BD\{BDS&EyS&EyS&EyU*FwU*FwU*FwE`V0E`V0","GPZ5G{Z&GyZXHWYvHWYvHxYaHxYaHxYaIBY;IBY;","EgV'EgV'IqYwIqYwIqYw?vc_?vc_","])B6])B6[WKo[WKo[WKoYkJ4YkJ4YkJ4J'Z1J'Z1"
Data.s "]bAp]bApSgEFSgEFSgEFUkFEUkFEUkFEFAUTFAUT","H6YXH]YKH_YwI8Y?I8Y?IXY+IXY+IXY+I}X`I}X`","FHUKFHUKJQYBJQYBJQYB@Sc&@Sc&","]kAb]kAb\<K?\<K?\<K?ZPI_ZPI_ZPI_JbYVJbYV"
Data.s "^JA@^JA@TNDnTNDnTNDnVQEnVQEnVQEnF}TxF}Tx","HvX|I?XpIEY;ItXdItXdJ9XOJ9XOJ9XOJ]X*J]X*","G)ToG)ToK1XgK1XgK1XgA/bHA/bH","^RA2^RA2\{Ji\{Ji\{Ji[5I.[5I.[5I.KAX{KAX{"
Data.s "_1@k_1@kU4D;U4D;U4D;W7E<W7E<W7E<G^TAG^TA","I\XDI}X9J+XZJUX-JUX-JtWtJtWtJtWtK=WOK=WO","GeT8GeT8KkX1KkX1KkX1AgakAgak","_:@]_:@]]_J9]_J9]_J9[uHX[uHX[uHXK|XFK|XF"
Data.s "_t@<_t@<UuCcUuCcUuCcWxDeWxDeWxDeH?SeH?Se","JBWhJ_W^JlWzK6WQK6WQKUW>KUW>KUW>KxVtKxVt","HFS\HFS\LKWWLKWWLKWWBDa2BDa2","_|@._|@.^DId^DId^DId\ZH(\ZH(\ZH(L\WkL\Wk"
Data.s "`[?g`[?gV[C0V[C0V[C0X]D3X]D3X]D3H{S.H{S.","K(W0KAW'KQW>KrVvKrVvL5VbL5VbL5VbLXV>LXV>","I'S%I'S%M+V|M+V|M+V|B{`TB{`T","`d?Y`d?Y_(I4_(I4_(I4]?GR]?GR]?GRM;W6M;W6"
Data.s "aB?7aB?7WABYWABYWABYYCC[YCC[YCC[I\RRI\RR","KiVSL#VLL7V]LTV?LTV?LpV,LpV,LpV,M8UdM8Ud","IcRIIcRIMfVFMfVFMfVFCX_vCX_v","aK?)aK?)_gH__gH__gH_^#F|^#F|^#F|MvV[MvV["
Data.s "b*>cb*>cX(B&X(B&X(B&Z)C)Z)C)Z)C)J=QvJ=Qv","LNUwL`UqLxU|M5UcM5UcMQUPMQUPMQUPMsU.MsU.","JDQmJDQmNFUlNFUlNFUlD4_=D4_=","b2>Ub2>U`LH/`LH/`LH/^cFL^cFL^cFLNVV%NVV%"
Data.s "bl>3bl>3XiANXiANXiANZjBRZjBRZjBRJyQ?JyQ?","M4U?MCU:M^UAMqU,MqU,N1TuN1TuN1TuNSTSNSTS","K%Q6K%Q6O%U6O%U6O%U6Dl^`Dl^`","bu>%bu>%a0GZa0GZa0GZ_HEv_HEv_HEvO6UKO6UK"
Data.s "cS=^cS=^YO@vYO@vYO@v[PA{[PA{[PA{KZPcKZPc","MuTbN%T_NDT`NRTQNRTQNlT?NlT?NlT?O3SxO3Sx","KaPZKaPZO`T[O`T[O`T[EI^'EI^'","c\=Pc\=PaoG*aoG*aoG*`-EE`-EE`-EEOpTpOpTp"
Data.s "d;=/d;=/Z5@CZ5@CZ5@C\6AI\6AI\6AIL;P,L;P,","N[T+NbT(O*T$O3SuO3SuOMScOMScOMScOnSBOnSB","LBP#LBP#P@T&P@T&P@T&F%]IF%]I","dD<|dD<|bTFUbTFUbTFU`mDp`mDp`mDpPPT;PPT;"
Data.s "d}<Zd}<ZZv?kZv?kZv?k\w@r\w@r\w@rLwOPLwOP","OASNODSMOkSCOoS>OoS>P-S-P-S-P-S-PNRgPNRg","M#OGM#OGP{SKP{SKP{SKF]\kF]\k","e+<Le+<Lc8F%c8F%c8F%aRD?aRD?aRD?Q0S`Q0S`"
Data.s "ee<+ee<+[]?9[]?9[]?9]]@@]]@@]]@@MXNtMXNt","P'RrP'RrPQRcPQRcPQRcPiRRPiRRPiRRQ.R2Q.R2","M_NlM_NlQ[RqQ[RqQ[RqG:\3G:\3","en;xen;xcxEPcxEPcxEPb7Cjb7Cjb7CjQkS+QkS+","ee<+ee<+[]?9[]?9[]?9]]@@]]@@]]@@MXNtMXNt","P'RrP'RrPQRcPQRcPQRcPiRRPiRRPiRRQ.R2Q.R2","M_NlM_NlQ[RqQ[RqQ[RqG:\3G:\3","en;xen;xcxEPcxEPcxEPb7Cjb7Cjb7CjQkS+QkS+"
Data.s "e?;|e?;|[h?{[h?{[h?{]8@*]8@*]8@*N?O$N?O$","PmR/PmR/PVRdPVRdPVRdQ_Q{Q_Q{Q_Q{PuQaPuQa","NENvNENvR)Q}R)Q}R)Q}Gh[{Gh[{","ew;uew;uc2Eic2Eic2EibbCvbbCvbbCvQURWQURW"
Data.s "dt;sdt;s[s@c[s@c[s@c\n?o\n?o\n?oO'O/O'O/","QYQHQYQHP\ReP\ReP\ReRUQIRUQIRUQIPbQ5PbQ5","O,O&O,O&RRQ.RRQ.RRQ.H<[hH<[h","f%;rf%;rbHF'bHF'bHF'c3D'c3D'c3D'Q@R)Q@R)"
Data.s "dN;jdN;j\#AK\#AK\#AK\I?Y\I?Y\I?YOjO:OjO:","REP`REP`PaRfPaRfPaRfSKPrSKPrSKPrPNPdPNPd","OmO1OmO1R{P:R{P:R{P:Hk[VHk[V","f.;of.;oa^F@a^F@a^F@c^D3c^D3c^D3Q*QVQ*QV"
Data.s "d);`d);`\/B3\/B3\/B3\%?C\%?C\%?CPROFPROF","S1OyS1OyPgRgPgRgPgRgTAP@TAP@TAP@P;P8P;P8","PTO<PTO<SIOGSIOGSIOGI?[CI?[C","f8;lf8;l`tFY`tFY`tFYd/D@d/D@d/D@PpQ'PpQ'"
Data.s "c^;Wc^;W\:Bv\:Bv\:Bv[[?-[[?-[[?-Q:OQQ:OQ","SwO6SwO6PmRhPmRhPmRhU7OiU7OiU7OiP'OgP'Og","Q:OGQ:OGSrNSSrNSSrNSIn[1In[1","fA;ifA;i`/Fr`/Fr`/Frd[DLd[DLd[DLPZPTPZPT"
Data.s "c8;Nc8;N\EC]\EC]\EC][6>r[6>r[6>rQ|O\Q|O\","TcNOTcNOPrRiPrRiPrRiV-O7V-O7V-O7OoO;OoO;","Q|ORQ|ORT@M_T@M_T@M_JBZyJBZy","fJ;ffJ;f_EG0_EG0_EG0e+DXe+DXe+DXPEP&PEP&"
Data.s "bm;Ebm;E\PDE\PDE\PDEZl>]Zl>]Zl>]RdOgRdOg","UOMgUOMgPxRjPxRjPxRjW#N`W#N`W#N`O[NjO[Nj","RbO]RbO]TiLlTiLlTiLlJqZgJqZg","fS;cfS;c^[GJ^[GJ^[GJeWDdeWDdeWDdP/ORP/OR"
Data.s "]$9y]$9y^8N_^8N_^8N_U1;<U1;<U1;<]#QO]#QO","`ECS`ECSQlRxQlRxQlRxcMF}cMF}cMF}L[H$L[H$","\iQ@\iQ@[*@b[*@b[*@bR+WtR+Wt","gz;9gz;9S|K>S|K>S|K>l=FZl=FZl=FZLnHGLnHG"
Data.s "ZS9AZS9A^{S(^{S(^{S(Rf9oRf9oRf9oaGR7aGR7","e'?0e'?0R2S#R2S#R2S#hlCbhlCbhlCbKAE-KAE-","a+R&a+R&]j;Q]j;Q]j;QU4V`U4V`","hW;'hW;'OILzOILzOILzo2GHo2GHo2GHKHEBKHEB"
Data.s "Z-98Z-98_,Sk_,Sk_,SkRA9YRA9YRA9Yb/RCb/RC","em>Hem>HR8S$R8S$R8S$ibC0ibC0ibC0K.D\K.D\","amR1amR1^8:]^8:]^8:]UcVNUcVN","h`;$h`;$N_M8N_M8N_M8o^GUo^GUo^GUK3DoK3Do"
Data.s "Yc9.Yc9._7TS_7TS_7TSQx9CQx9CQx9CbrRNbrRN","fY=afY=aR>S%R>S%R>S%jXBYjXBYjXBYJuD0JuD0","bSR<bSR<^a9j^a9j^a9jV7V;V7V;","hj:|hj:|MuMQMuMQMuMQp/Gap/Gap/GaJxD@JxD@"
Data.s "Y=9%Y=9%_BU;_BU;_BU;QS9-QS9-QS9-cZRYcZRY","gE<ygE<yRCS&RCS&RCS&kNB'kNB'kNB'JbC_JbC_","c:RGc:RG_/8v_/8v_/8vVfV)VfV)","hs:yhs:yM0MjM0MjM0MjpZGmpZGmpZGmJcCmJcCm"
Data.s "Xr8wXr8w_MV#_MV#_MV#Q.8rQ.8rQ.8rdBRddBRd","h1<7h1<7RIS'RIS'RIS'lDAPlDAPlDAPJNC3JNC3","c{RRc{RR_X8'_X8'_X8'W:UqW:Uq","h|:vh|:vLFN(LFN(LFN(q+Gyq+Gyq+GyJMC?JMC?"
Data.s "XM8nXM8n_YVf_YVf_YVfPe8]Pe8]Pe8]e*Rpe*Rp","hx;Phx;PROS(ROS(ROS(m;@zm;@zm;@zJ;BcJ;Bc","dbR]dbR]`&74`&74`&74WiU_WiU_","i+:ti+:tK\NBK\NBK\NBqWH+qWH+qWH+J8BlJ8Bl","XM8nXM8n_YVf_YVf_YVfPe8]Pe8]Pe8]e*Rpe*Rp","hx;Phx;PROS(ROS(ROS(m;@zm;@zm;@zJ;BcJ;Bc","dbR]dbR]`&74`&74`&74WiU_WiU_","i+:ti+:tK\NBK\NBK\NBqWH+qWH+qWH+J8BlJ8Bl"
Data.s "WI96WD8l^tUz^^VE^[VKOn9qOo9qOo9qczS:czS:","h%;igj;cQrS4R-SFR;SQl=AylIAjl\AQJWBfJ=Bd","d3R3d3R3_q7G_q7G_q7GWqU{WqU{","i7;$hp;&L,NSL=NjLKN|qEHvqWHhqhHZKPBxJyC<"
Data.s "VE9ZV;8k^4U3]dV$]^V0Nw;+Nz;+Nz;+boS_boS_","g.<'f];wQ;SAQgSdR'S{k@BykWB[l#B)JtBjJ?Be","c`Qdc`Qd_b7[_b7[_b7[WyV=WyV=","iD;/hZ;4LWNeLzO8M:O\q4IfqWIJqzI.LiC)K_Ch"
Data.s "UA9}U28j]OTG\jU_\aUpN%<@N*<@N*<@adT*adT*","f7<@eP<0P_SNQET(QnTIjCCxjeCKkDB[K6BnJABg","c2Q;c2Q;_S7n_S7n_S7nX&VZX&VZ","iQ;;hD;BM'NvM\OaN)P;p}JWqWJ,r1I]N'C6LED9"
Data.s "T>:FT)8h\jS\[pU>[cUUM.=UM5=UM5=U`YTO`YTO","e@<ZdC<DP'SZQ$TFQ[TsiFDxitD<jfC3KSBqJDBh","b_Plb_Pl_D8'_D8'_D8'X.VwX.Vw","i^;Fh.;OMRO-N=P/NtPvplKGqWJjrCJ1O@CBM+De"
Data.s "S::jR{8g\*RpZvTyZfU:L7>jL?>jL?>j_NTu_NTu","dI<sc6<XOKSgP]TeQGUBhHEwi'E,j,CeKpBuJFBj","b0PBb0PB_48:_48:_48:X6W9X6W9","ik;Rgs;]M}O>NzPWOcQUpZL7qWKLrTJ`PYCNMmE5"
Data.s "R6;2Qr8f[ER)Y|TXYiTzK@@$KJ@$KJ@$^CU?^CU?","cQ=1b(<lNoStP<U(Q3UkgKFwh5ExiND=L2ByJHBk","a]Ota]Ot_%8N_%8N_%8NX>WVX>WV","ix;]g];kNMOPO\Q%PRR5pIM(qWL.rfK5QrC[NSEa"
Data.s "Q3;VPi8dZ`Q=Y'T7XkT`JIA9JUA9JUA9]8Ud]8Ud","bZ=J`v=%N8T&OuUGPzV:fNGvgDFhhoDpLOB}JJBm","a/OJa/OJ^q8a^q8a^q8aXFWsXFWs","j);hgG;xNxOaP=QNQARop8MsqWLlrxKdS0CgO9F2"
Data.s "P/;zO`8cY{PRX-SrWnTEIRBNI`BNI`BN\.V/\.V/","ac=d_i=9M[T2OTUePgVdeQHvfRGYh6EGLlC%JMBn","`\N|`\N|^b8u^b8u^b8uXNX5XNX5","j6;tg2<+OHOsPzQwR1SOp&NcqXMNs/L8TICtOzF^"
Data.s "O+<BNW8bY;OfW2SQVqT*H[CcHkCcHkCc[#VT[#VT","`l=}^\=LM$T?O3V)PSW2dSIue`HIgWEzM.C)JOBo","`.NR`.NR^S9.^S9.^S9.XVXRXVXR","jC<$fw<9OsP)Q\RDR{T/opOTqXN0s@LgUbD%P`G/"
Data.s "N(<fMN8`XVNzV8S1UsSjGdDxGuDxGuDxYsVzYsVz","_u>;]O=`LHTLNlVGP?W\cVJudoI:fyFQMKC-JQBq","_ZN(_ZN(^C9A^C9A^C9AX^XoX^Xo","jP<0fa<FPCP;R=RmSjTio^PDqXNnsRM;V{D1QGGZ"
Data.s "M$=/LE8_WqN4U>RkTvSOFmF2G%F2G%F2XhWDXhWD","^}>T\A=tKkTXNKVfP+X*bYKtc}J*f?G)MhC0JSBr","_,MZ_,MZ^49U^49U^49UXgY1XgY1","j]<;fK<TPnPLRzS;TYUIoMQ4qXOPsdMkX9D>R-H+"
Data.s "K{=RK<8^W1MHTDRJSyS4EvGGF0GGF0GGW]WiW]Wi","^+>n[4>-K4TeN)W)OsXTa\Ltc0JveaG\N*C4JVBt","^YM0^YM0^%9h^%9h^%9hXoYNXoYN","jj<Ff5<bQ>P^S\SdUIV(o<R%qXP2svN?YRDJRnHW"
Data.s "Jx=vJ38\VLL\SJR*R{RuE$H\E;H\E;H\VRX4VRX4","]4?,Z'>AJXTrMcWHO_Y#`^Msb?Kfe'H3NGC8JXBu","^+La^+La]q9|]q9|]q9|XwYkXwYk","jv<Rez<oQiPoT=T1V8Vco*RpqXPpt,NnZkDVSTI("
Data.s "It>?I*8[UgKpRPQdR#RZD-IqDEIqDEIqUGXYUGXY","\=?EXu>UI|U$MAWfOKYL_aNsaMLWdIHfNdC<JZBw","]WL8]WL8]a:4]a:4]a:4Y$Z-Y$Z-","k(<]ed<}R9Q&TzTZW'WBntS`qXQRt>OB\)DcT;IS"
Data.s "Hp>bG|8ZU'K*QVQDQ&R?C6K+CPK+CPK+T<Y$T<Y$","[F?^Wh>iIDU0L{X*O7Yv^dOr`[MGcjI=O&C?J\Bx","])Ki])Ki]R:H]R:H]R:HY,ZJY,ZJ","k5<ieN=0RdQ7U\U(WqW}nbTQqXR4tPOq]BDoT|J$"
Data.s "Gm?+Ft8YTBJ>P\Q#P)R$B@L@B[L@B[L@S2YIS2YI","ZO?xV[>}HhU=LZXHO$ZE]gPr_jN8c1IpOCCCJ_Bz","\VK@\VK@]C:\]C:\]C:\Y4ZgY4Zg","kB<te9=>S4QIV>UQXaX]nQUAqYRrtbPF^[D|UbJP"
Data.s "Fi?OEk8WS]IROaP]O+QdAIMTAfMTAfMTR'YnR'Yn","YW@6UM?5H1UJL8XfNkZn\iQr^xO)bRJHO`CGJaB{","\(Jq\(Jq]4:o]4:o]4:oY<[)Y<[)","kO=$e#=KS_Q[VzUyYPY<n@V1qYSTtsPu_sE-VHJ|"
Data.s "Ee?rDb8VRxHgNgP=N.QI@RNi@qNi@qNiPwZ9PwZ9","X`@OT@?IGTUVKrY*NW[=[lRq^+OtatJzO}CJJcB|","[UJG[UJG]%;(]%;(]%;(YD[FYD[F","k\=0dh=YT/QlW\VGZ?Ywn.V}qYT6u*QIa1E9W.KM"
Data.s "Da@;CY8UR8G{MmOwM1Q.?[P#?{P#?{P#OlZ^OlZ^","Wi@hS3?]FxUcKPYHNC[fZoSq]9Pea:KRP?CNJeC#","[&Iy[&Iy\p;;\p;;\p;;YL[cYL[c","ki=;dR=gTZR#X>Vp[.ZVmxWmqYTsu<QxbJEFWpKx"
Data.s "C^@_BP8SQSG4LsOWL3Po>dQ8?+Q8?+Q8Na[)Na[)","VrA'R&?qFAUpK/YgN0\5YrTp\HQU`\L)P\CRJhC$","ZSIOZSIO\a;O\a;O\a;OYT\%YT\%","ku=Gd<=tU*R4XzW>[y[6mfX]qYUVuNRLccERXVLI"
Data.s "BZA'AG8RPnFHKyO6K6PT=mRM>6RM>6RMMV[NMV[N","U{A@Pt@*EeU}JhZ*Mw\_XtUp[VRF_}L\PyCVJjC&","Z%I%Z%I%\R;b\R;b\R;bY\\BY\\B","l'=Rd&>'UURFY\Wf\h[pmUYNqYV8u_R{d|E^Y<Lu"
Data.s "AVAK@>8QP.E]K$NpJ9P9<vSb=ASb=ASbLK[sLK[s","U(AYOf@>E-V.JGZIMc]-WwVoZdS6_DM4Q;CYJlC'","YRHWYRHW\C;v\C;v\C;vYe\_Ye\_","l4=]ck>5V%RWZ>X4]W\PmDZ>qYVuuqSPf:EkY}MF"
Data.s "@SAo?58OOIDqJ*NPI;Oy<$Tw<KTw<KTwK@\>K@\>","T1ArNY@RDQV;J%ZgMO]WVzWoYsT'^eMfQXC]JnC)","Y#H-Y#H-\3<.\3<.\3<.Ym\|Ym\|","lA=icU>BVPRiZzX]^F]/m2[.qYWXv(T$gSEwZdMq"
Data.s "?OB7>,8NNdD*I0N/H>O^;-V1;VV1;VV1J6\cJ6\c","S:B1ML@fCuVHI_[+M<^&U}XnY&Tr^,N>QuCaJqC*","XPG_XPG_\$<B\$<B\$<BYu]>Yu]>","lN=tc@>PV{Rz[\Y+_6]jl|[zqZX:v:TShlF)[JNB"
Data.s ">KB[=#8MN$C?H5MjGAOC:6WF:aWF:aWFI+].I+].","RCBJL?@yC=VTI>[IM(^OU$YnX4Uc]MNpR7CdJsC+","W}G5W}G5[p<V[p<V[p<VY}][Y}][","l[>%c*>^WKS1\>YS`%^Jlj\jqZXwvKU'j*F5\0Nn"
Data.s "=HC$;u8KM?BSG;MIFCO)9?X[9lX[9lX[G{]SG{]S","QLBcK2A2BaVaHw[hLo^yT'ZmWCVS\oOHRTChJuC-","WOFfWOFf[a<i[a<i[a<iZ*]xZ*]x","lg>0bo>kWvSB\zY|`o_)lY]ZqZYZv]UVkCFA\qO?"
Data.s "<DCG:l8JLZAgFAM(EFNi8HYp8wYp8wYpFp]xFp]x","PTB|J$AFB*VnHV\+L[_GS*[mVQWD\5O{RqClJwC.","V|F=V|F=[R<}[R<}[R<}Z2^:Z2^:","lt>;bY>yXFST]\ZJa^_dlH^KqZZ<voV+l\FN]WOk"
Data.s ";@Ck9c8IKu@{EGLcDINN7Q[*8&[*8&[*Ee^CEe^C","O]C;HrAZANV{H4\JLH_qR-\lU_X4[WPRS3CpJzC0","VMEnVMEn[B=5[B=5[B=5Z:^WZ:^W","m&>GbC?,XqSe^>ZsbN`Cl6_;qZZyw&VZmuFZ^>P;"
Data.s ":=D48Z8GK5@5DMLBCKN36Z\?71\?71\?DZ^hDZ^h","NfCTGeAn@qW,Gn\hL4`@Q/]lTnY%ZxQ*SPCsJ|C1","UzEDUzED[3=I[3=I[3=IZB^tZB^t","m3>Rb-?9YASw^z[@c=a#l%`+qZ[\w7W.o3Ff_$Pg"
Data.s "99DW7Q8FJP?ICSK}BNMs5c]T6<]T6<]TCO_3CO_3","MoCmFXB'@:W9GL],K{`iP2^kS|YpZ?Q\SmCwK#C3","ULDvULDv[$=\[$=\[$=\ZJ_6ZJ_6","m@>^ar?GYlT-_\[id,a]kn`wqZ\>wIW]pLFs_eQ8"
Data.s "85D{6H8EIk>]BYK\AQMX4l^i5G^i5G^iBD_XBD_X","LxD+EKB;?^WFG+]JKga8O5_kS/ZaY`R4T/C{K%C4","TyDLTyDLZp=pZp=pZp=pZR_SZR_S","mM>ia\?UZ<T?`>\7dvb=k]agqZ\{w[X1qeG$`KQd"
Data.s "72ED5@8DI+=rA_K<@TM>3v`#4R`#4R`#A:`#A:`#","L&DED>BO?'WSFe]iKTabN8`kR>[RY'RgTLD$K(C6","TKD#TKD#Za>)Za>)Za>)Z[_pZ[_p","mZ>uaG?cZhTQ`{\`efbxkLbXq[]^wmXas#G1a2R5"
EndDataSection
#M=146 : #N=#M<<2+3
CompilerIf #PB_Compiler_Unicode
ImportC ""
ToAscii.i(*str_b, wchar$, nBytesToWr.i) As "_wcstombs"
EndImport
CompilerEndIf
Global Dim s.s(#N)
For i=0 To #N
Read.s s(i)
CompilerIf #PB_Compiler_Unicode
ToAscii(@s(i),s(i),Len(s(i)))
CompilerEndIf
Next i
; EndDefine
Macro Code(n)
(((n>>8)&$FF-35)+91*(n&$FF-35))
EndMacro
Procedure do(n)
Protected *m,z
Protected p1,p2,p3,p4,p5,p6
*m=@s(n)
p1=Code(PeekW(*m))
p2=Code(PeekW(*m+2))
MovePathCursor(p1,p2)
For z=1 To (Len(s(n))-4)/12
p1=Code(PeekW(*m+4))
p2=Code(PeekW(*m+6))
p3=Code(PeekW(*m+8))
p4=Code(PeekW(*m+10))
p5=Code(PeekW(*m+12))
p6=Code(PeekW(*m+14))
AddPathCurve(p1,p2,p3,p4,p5,p6)
*m+12
Next z
VectorSourceColor($FF0000A0)
StrokePath(99,#PB_Path_RoundEnd|#PB_Path_RoundCorner)
EndProcedure
OpenWindow(0,0,0,800,720,"Birdwatch",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CanvasGadget(0,0,0,800,720)
Repeat
k=i%(#M<<2)
If k>(#M<<1) : k=(#M<<2)-k : EndIf
k-(#M>>1)
If k<0 : k=0 : ElseIf k>#M : k=#M : EndIf
StartVectorDrawing(CanvasVectorOutput(0))
VectorSourceColor(RGBA(255,255,255,255))
FillVectorOutput()
ResetPath()
ScaleCoordinates(0.10,0.10)
TranslateCoordinates(-500,-500)
For j=0 To 3
Do(k<<2+j)
Next j
StopVectorDrawing()
i+1
Until WindowEvent()=#PB_Event_CloseWindow