Rev. | 20 |
---|---|
Tamanho | 1,577,580 bytes |
Hora | 2008-09-27 18:20:45 |
Autor | heavy_baby |
Mensagem de Log | move |
<?xml version="1.0"?>
<RBProject version="5.5.5">
<block type="Project" ID="0">
<ProjectSavedInVers>5.5</ProjectSavedInVers>
<ProjMgrUser></ProjMgrUser>
<ProjMgrServer>localhost:7325</ProjMgrServer>
<MajorVersion>0</MajorVersion>
<MinorVersion>0</MinorVersion>
<SubVersion>0</SubVersion>
<Release>3</Release>
<NonRelease></NonRelease>
<Region>0</Region>
<ShortVersion></ShortVersion>
<LongVersion></LongVersion>
<InfoVersion>0.7.9</InfoVersion>
<DefaultViewID>0</DefaultViewID>
<ProjectType>0</ProjectType>
<DefaultLanguage>1</DefaultLanguage>
<CurrentLanguage>1</CurrentLanguage>
<DefaultEncoding>134217984</DefaultEncoding>
<BuildFlags>24</BuildFlags>
<BuildCarbonExecutableFormat>1</BuildCarbonExecutableFormat>
<Icon>
<Element>
<ItemType>1769222962</ItemType>
<ItemData><Hex bytes="65536">0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ADDE1800ADDE1800ADDE1800ADDE1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094D6000094D6000094D600008CD6000094D600008CD6000084CE000084CE00008CD600008CD600008CD600008CD600008CCE000084CE000084CE00008CCE00007BCE00007BCE00008CD6000084D6000094D6000094D60000A5D60000ADDE1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CD600008CD600008CD600008CCE00008CCE000084CE00008CCE00008CD600008CD6000084CE00008CD600008CD6000084CE000084CE00008CCE000094D6000094D600008CCE00008CCE00008CCE00008CCE00008CD6000084CE000073C600007BCE00008CCE00008CCE00008CCE000084CE00007BCE000084CE000084CE000084CE00007BCE00006BC60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CD600008CD6000084CE000084CE00008CCE000084CE00008CCE000084CE000084CE000084CE00008CCE00008CD600008CCE000084CE00007BCE000084CE000084CE000084CE000084CE00008CCE00008CD6000084CE000084CE000084CE000084CE00008CCE00008CD600007BCE000073C6000084CE00008CD600008CD6000084CE000084CE00007BCE000084CE000084CE000073CE00006BC600006BC600006BC6000073C6000073C600006BC6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CCE000084CE000084CE000084CE000084CE000084CE000084CE000084CE00008CCE00008CCE00008CCE000084CE000084CE000084CE00008CCE000084CE00007BCE00007BCE000084CE00008CD6000094D600008CD6000084CE000094D600008CD600008CD600008CCE00008CD600008CD6000084CE000084CE00007BCE000084CE00008CD600008CD600008CD6000084CE00007BCE00007BCE000084CE00007BCE000073C6000073C6000073C600007BCE00007BCE00006BC600006BC6000073C600006BC600007BCE00006BC600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CCE000084CE000084CE000084CE000084CE000084CE00008CCE000084CE000084CE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE000084CE00008CCE00008CCE00007BCE000073C6000084CE00008CD6000094D6000094D6000094D6000094D6000094D600008CD6000094D6000094D6000094D600008CD6000084CE000084CE000084CE00008CCE00008CD600008CCE00008CCE000084CE000084CE000084CE00007BCE000073C6000073C6000073CE00007BCE00007BCE000073C6000073C6000073C6000073C600006BC600006BC6000063BD000063BD00006BCE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084CE000084CE000084CE000084CE000084CE000084CE00008CCE00008CCE000084CE000084CE00007BCE000084CE00008CCE00008CCE00008CCE00008CCE000084CE000084CE000084CE00008CCE00008CD600008CCE00007BCE000084CE00008CCE000094D6000094D6000094D6000094D6000094D600008CD6000084CE00008CD600008CD600008CD600008CCE000084CE000084CE00008CD600008CD600008CD600008CCE00008CCE000084CE000084CE00007BCE000073C6000073C6000073C600007BC6000073C6000073C6000073C6000073C6000073C600006BC600006BC600006BBD000063BD000063BD000063BD000063B5000063BD000063B500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084CE000084CE000084CE000084CE000084CE000084CE00008CCE00008CCE00008CCE00008CCE00008CCE000084CE000084CE000084CE000084CE00008CCE00008CCE00008CCE000084CE000084CE000084CE00008CCE00008CCE00008CCE00007BCE000084CE00008CCE000094D6000094D600008CD600008CD6000094D600008CD600008CCE000084CE000084CE00008CCE00008CCE00008CCE00008CD600008CD600008CD600008CD6000084CE000084CE000084CE000084CE000084CE000084CE00007BC6000073C600007BC6000073C6000073C600007BC600007BC600007BC6000073C600006BC600006BBD00006BBD00006BC6000063BD000063BD000063BD000063B5000063BD000063BD000063BD000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CCE000084CE000084CE000084CE000084CE000084CE000084CE000084CE00008CCE000084CE000084CE000084CE000084CE000084CE000084CE000084CE000084CE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE00008CD600008CD600008CCE000084CE000084CE00008CCE00008CD6000094D6000094D6000084CE00008CCE00008CCE00008CCE000084CE000084CE00008CD600008CD600008CD600008CD600008CCE000084CE00008CCE00008CCE000084CE000084CE000084CE000084CE000084CE000084CE00007BCE00007BC600007BCE00007BCE00007BCE00007BCE00007BCE00007BCE000073C6000073C600006BC6000073C600006BC6000063BD000063BD000063B5000063B5000063BD000063BD00005AB500005AB500005AAD00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084CE00007BCE00007BC6000084CE000084CE000084CE000084CE000084CE000084CE000084CE00008CCE000084CE000084CE000084CE000084CE000084CE000084CE00007BCE000084CE00008CCE00008CCE00008CCE000084CE00008CCE00008CD6000094D600008CD600008CCE00008CCE00008CCE00008CD6000094D6000094D600008CD6000084CE000084CE00008CCE000084CE00007BCE000084CE00008CCE00008CD600008CCE000084CE000084CE000084CE00008CCE00008CCE000084CE000084CE000084CE000084CE00008CCE000094D600007BCE00007BCE000084CE00007BCE00007BCE00007BCE00007BC600007BC6000073C6000073C6000073C6000073C600006BC6000063BD000063BD000063BD000063BD000063BD000063BD00005AB500005AAD000052AD000052AD0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CD600007BCE00007BCE000073C600007BC600007BCE000084CE000084CE000084CE00007BCE000084CE000084CE00008CCE00008CCE00008CCE00008CCE00008CCE000084CE000084CE000084CE00008CCE00008CCE00008CCE00008CCE00008CCE00008CD600008CD6000094D6000094D600008CD600008CCE00008CCE00008CD600008CCE00008CCE00008CCE000084CE00008CCE00008CCE000084CE00007BCE000084CE000084CE000084CE000084CE00007BCE00007BCE00008CCE00008CD600008CCE000084CE00008CCE00008CCE000084CE00007BCE00007BCE00007BCE000084CE000084CE000084CE000084CE000084CE00007BCE000073C6000073C6000073C6000073C6000073C600006BC600006BBD00006BBD00006BBD00006BC6000073C600006BBD00005AB500005AAD000052A5000052A50000529C000052A50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008CCE00007BC600007BC600007BC600007BCE000084CE000084CE000084CE00007BCE00007BCE00007BCE000084CE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE000084CE000084CE00008CCE00008CCE00008CCE000084CE000084CE00008CD6000094D6000094D6000094D600008CCE00008CCE00008CCE00008CCE00008CCE000084CE000084CE000084CE000084CE000084CE000084CE00008CCE00008CCE000084CE000084CE000084CE000084CE000084CE00008CCE000094D600008CD600008CCE00008CCE00008CCE000084CE000073C6000073C6000084CE000084CE000084CE00007BCE00007BCE00007BCE000084CE000073C6000073C6000073C600007BC600007BC6000073C600006BC600006BC6000073C600006BC6000073C6000063BD00005AAD00005AAD000052A5000052A5000052A500004A9C000042940000398C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073C6000073C6000073C6000073C600007BCE000084CE000084CE000084CE00009CD608009CD621009CD631009CD629009CD629009CD629009CD6210094CE10008CCE100084CE000084CE000084CE00008CCE00008CCE00008CCE00008CCE000084CE00007BCE000084CE000084CE000084CE00008CCE000084CE000084CE000084CE000084CE00008CD6000084CE000084CE000084CE00008CCE000084CE000084CE000084CE000084CE000094D6000094D6000094D6000094D600008CCE00008CCE000094D6000094D600008CD6000084CE000084CE000084CE000084CE00007BCE00007BCE000084CE00008CCE000084CE00007BCE000073C6000084CE00007BCE000073C6000073C600007BC600007BCE00007BC6000073C6000063BD00006BBD000073C600006BBD000063BD00005AB500005AB500005AAD000052A5000052A5000052A500004A9C0000398C000039840000398C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073C6000073C6000073C600007BC600007BC6000094CE21008CCE29007BC6210073C6080073C6080073C6080073C6080073C6080073C6080073C6080073C6100073C6100073C6100073C6100073C6080073C610007BC6000084CE000084CE000084CE00007BCE000084CE000084CE00007BCE000084CE000084CE00007BCE000084CE00008CCE00008CCE00008CCE00008CCE000094D600008CD6000084CE000084CE00008CCE00008CD6000094D6000094D6000094D6000094D600008CCE00008CCE000094D600008CD600008CCE000084CE00008CCE00008CCE000084CE000084CE000084CE00008CD600008CCE000084CE00007BCE00007BCE000084CE00007BC600006BC600006BC6000073C600007BC6000073C6000063BD000063B5000063BD00006BBD000063BD000063BD00005AB500005AAD00005AAD000052AD000052A5000052A500004A9C0000398C0000398C0000428C0000399C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084CE000073C6000073C6000073C6000073C618006BBD080073BD080073C6080073C6080073C608007BC621008CCE39009CD65200B5DE7300B5DE7B00B5DE7300B5DE7B00A5D6520094D6420084CE21007BC6100073C6100073C6100073C6100073C6100073C610007BC6080084CE000084CE000084CE000084CE000084CE000084CE00008CCE00008CD600008CD600008CCE00008CD600008CD600008CD600008CCE00008CCE00008CCE00008CD600008CD600008CCE00008CCE000094D600008CCE000084CE00008CCE00008CD600008CCE000084CE00008CCE00008CCE000084CE000084CE000084CE000084CE000084CE000084CE00007BCE00007BCE00007BC6000073C6000073C6000073C6000073C6000073C600006BBD000063B5000063B5000063BD00006BBD000063BD00005AB500005AB500005AAD00005AAD000052AD000052AD000052A500004A94000042940000429400004A9C0000429400003984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD08006BC600006BC600006BBD08006BBD08006BBD08006BBD080084C62100B5DE7300D6EFB500EFF7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7F7D600C6E7940094D631007BC6100073C608007BC610007BC610007BC6100084CE08008CCE00008CCE00008CCE00008CD6000094D600008CD6000084CE000084CE000084CE00008CCE00008CCE00008CCE00008CD6000094D600008CD600008CCE00008CCE00008CCE000084CE000084CE00008CCE00008CD600008CCE00008CCE000084CE000084CE00008CCE000084CE000084CE000084CE00007BCE000084CE000084CE00007BC600007BC6000073C6000073C6000073C600007BC6000073C6000073BD00006BBD000063BD00006BBD00006BC6000063BD00005AB500005AB500005AB5000052B5000052AD000052AD000052A500004A9C00004A9400004A9400004A9C0000398C0000397B0000317B0000317300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BC600006BBD08006BBD08006BBD08006BBD1000A5D65A00E7F7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700FFFFF700FFFFF700FFFFFF00CEEF9C0094D629007BC610007BC610007BC610007BC6100084CE08008CCE000094D600008CD600008CCE000084CE000084CE00008CCE00008CCE00008CCE00008CCE00008CD600008CD600008CD600008CCE00008CCE000084CE000084CE00008CCE000094D6000094D600008CD600008CCE00008CCE00008CCE00008CCE00008CCE000084CE00007BCE000084CE000084CE000084CE00007BC600007BC6000073C600007BC600007BC600007BC600007BC6000073C600006BBD00006BBD000073C600006BBD000063B500005AB500005AB500005AB5000063B500005AB5000052AD000052A500004A9C00004A9C00004A9400004294000039840000317B000031730000296B000031730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD08006BBD08006BBD08006BBD08009CD65A00EFF7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700FFFFFF00E7F7CE00B5DE630084CE21007BC610007BC610007BC6100084CE080094CE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE00008CCE000084CE00007BCE000084CE00008CD6000094D6000094D600008CCE00008CCE00008CCE00008CCE000094D6000084CE00007BCE000084CE00008CCE00008CCE000084CE000084CE00007BCE000084CE00007BC600007BC600007BC6000073C6000073C600006BBD00006BBD00006BBD00006BBD00005AB500005AB500005AB500005AB5000063BD00005AB5000052AD000052A5000052A500004A9C00004294000042940000398C0000397B0000317B000031730000296300002963000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD08006BBD08006BBD08007BC62100E7F7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700FFFFF700FFFFF700FFFFFF00F7FFEF00CEE78C008CCE21007BC610007BCE10007BCE10008CCE08008CCE00008CCE000094CE00008CCE00008CCE00008CCE000094CE000094CE00008CCE00008CCE00008CCE00008CCE000094D6000094D6000094D600008CCE00008CCE00008CCE00008CCE00008CCE00008CCE000084CE000084CE00008CCE00008CD600008CCE000084CE000084CE000084CE00007BCE00007BC600007BC6000073C6000073C6000073C6000073C6000073C6000073C600006BBD000063B500005AB500005AB5000063B5000063B500005AB5000052AD000052A5000052A500004A9C00004A940000428C0000398C000039840000397B00003173000029630000215A0000295A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD08006BBD08006BBD08008CCE4200F7FFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700FFFFF700FFFFF700FFFFFF00FFFFFF00F7FFE700BDDE63008CCE18007BCE10007BCE100084CE100094CE080094CE00009CD60000A5D600009CD6000094D600009CD6000094D6000094D6000094D6000094D600009CD6000094D6000094D600008CCE00008CCE00008CD600008CCE00008CCE000084CE000084CE000084CE00008CCE00008CCE000084CE000084CE000084CE00007BC600007BC600007BC6000073C6000073BD00006BBD000073BD000073C6000073BD000073BD00006BBD00005AB500005AB500005AB5000063B500005AB5000052AD000052A5000052A5000052A500004AA500004A940000428C0000398C000031840000397B000031730000296B0000295A0000295A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD10006BBD08008CCE4200FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700F7FFF700FFFFFF00FFFFFF00FFFFF700DEEFB500B5DE520084CE18007BCE10007BCE100094D61000A5D60800ADD60800A5D608009CD600009CD600009CD600009CD600009CD600009CD600009CD6000094D6000094CE000094CE000094D6000094D600008CD600008CD600008CCE00008CCE00008CCE00008CCE000084CE000084CE00007BC600007BC600007BC600007BC600007BC6000073C6000073C600006BBD00006BBD000073C6000073C6000073C600006BBD00005AB500005AAD00005AB500005AB500005AB5000052AD000052A5000052AD000052B5000052A500004A9C00004A940000428C000039840000317B000031730000296B00002963000029630000215A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063BD08006BBD08007BC62100F7FFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFE700CEEF8C009CD631007BCE10007BCE10008CCE1800A5D610009CD608009CD608009CD608009CD600009CD600009CD600009CD6000094D6000094CE000094CE000094CE000094D6000094D600008CCE00008CCE00008CCE00008CCE00008CCE000084CE000084CE000084CE00007BC600007BC600007BC600007BC6000073C6000073C6000073BD000073BD00006BBD00006BBD000073C600006BC6000063B500005AB500005AB500005AB500005AB5000052AD000052A5000052AD000052B5000052B500004AAD00004A9C00004A9C000042940000398C0000397B000031730000317300003173000029630000295A00002163000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD080063BD08006BBD0800E7F7D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700DEEFB500ADDE520084CE18007BCE100084CE1000A5D61800A5D61800A5D61000A5D610009CD608009CD608009CD600009CD6000094D6000094D6000094CE000094D6000094D600008CCE00008CCE00008CCE000084CE000084CE000084CE000084CE00007BC600007BC600007BC600007BC6000073C6000073C6000073BD000073C600007BC6000073C600006BBD00006BBD000063B500005AAD00005AB5000063B500005AB500005AB5000052AD000052AD000052AD000052B5000052B5000052A500004A9C00004A940000428C0000398C0000397B0000317B0000397B000031730000296B0000215A0000215A0000215A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063BD080063BD0800ADDE7300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700EFF7BD00EFEF9400EFEF7300FFFFE700FFFFC600EFEF7B00EFEF7300EFF79C00F7F7BD00F7FFDE00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7F7CE00C6E77B008CCE21007BCE10007BCE10009CD61800A5D61800A5D618009CD61000A5D608009CD600009CD6000094CE000094CE000094CE000094D6000094D600008CCE00008CCE000084CE000084CE000084CE000084CE000084C600007BC600007BC600007BC600007BC6000073C6000073BD000073C600007BC600007BC6000073C600006BBD00006BBD00005AB500005AB500005AB500005AB500005AB5000063B500005AB5000052AD000052AD000052AD000052AD000052A500004A94000042940000428C0000398C0000397B0000317B0000317B00003173000029630000215A0000215A0000215A0000215A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063BD08006BBD1000F7FFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700EFF7AD00E7EF4A00E7E72900E7E71800E7E71000EFEF6300FFFFF700EFEF3900EFE71000E7E71000EFE72100EFEF4200EFEF7300F7F7BD00FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7E700D6EF9C009CD639007BCE10007BCE10009CD61800A5D61800A5D61800A5D610009CD610009CD6080094CE000094CE000094CE000094CE00008CCE000084CE000084CE000084CE000084CE000084CE000084CE00007BCE00007BCE00007BC600007BC6000073C6000073C6000073C6000073C600007BC600007BC6000073C600006BBD00006BBD000063B500005AB5000063B5000063B5000063B5000063B500005AB5000052AD000052AD000052AD000052A500004A9C00004A9400004A9400004294000039840000397B0000397B0000397B000031730000295A0000215A0000215A0000215A000021520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063BD080063BD0800A5D66B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFE700E7EF5A00E7E72100E7E71800E7E71800E7E71000E7E71000EFE70800F7FFCE00FFF7AD00EFE72100EFE70800EFE70800EFE70800EFE71000EFE71800EFEF3900EFF78C00F7FFDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFEF00DEEFAD00B5DE5A0084CE18007BCE10009CD61800A5D61800A5D618009CD610009CD610009CD608009CD6000094D6000094CE00008CCE000084CE000084CE00008CCE000084CE000084CE00007BCE00007BCE00007BC600007BC600007BC600007BC6000073C6000073C6000073BD000073BD000073C600006BBD00006BBD000063B500006BBD000063BD000063BD000063BD000063B500005AB500005AB5000052AD000052AD000052A5000052A500004A9C00004A9400004A940000429400003984000039840000397B0000317B0000316B0000296300002963000029630000215A0000184A0000185200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B5080063BD0800F7FFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFD600E7E74200E7E71000E7E71800EFE72100EFE72100EFE71800EFE71000EFE71000F7EF3100FFFFE700EFEF4200F7E71000EFE71000EFE70800F7E70800EFE70800F7E70800F7E71000EFEF3900F7F7A500FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700DEF7BD00B5DE6B0084CE18007BC6100094D61800A5D62100A5D618009CD618009CD610009CD608009CD6000094CE000094CE00008CCE00008CCE00008CCE00008CCE000084CE000084CE00007BC600007BC600007BC600007BC6000073C6000073C6000073C6000073BD000073BD00006BBD00006BBD000063BD000063B5000063BD000063BD00006BBD00006BBD00005AB500005AB500005AB5000052AD000052A5000052A5000052A500004A9C00004A9400004A94000042940000398C00003984000039840000397B0000397B000031730000316B000029630000215A000021520000184A00002152000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063BD080084C63100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFE700E7E74A00E7E71000E7E71000E7E71800EFE72100EFE72100EFE72100EFE71800EFE71800F7E70800F7F7B500FFFFDE00F7EF3100F7E71000F7E70800F7E70800F7E70800F7E70800F7E70800F7E70800F7E72100F7F77B00FFFFDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7F7C600BDDE6B0084CE18007BC6100094D62100A5D62900A5D618009CD618009CD6100094CE080094CE080094D6000094CE00008CCE00008CCE000084CE000084CE00007BC6000073C600007BC600007BC6000073C6000073C6000073C6000073BD000073BD000073BD00006BBD00006BBD000063BD000063BD000063BD000063BD000063B5000063B500005AB500005AAD000052AD000052A5000052A5000052AD000052AD00004AA500004A9400004A940000428C0000428C0000428C00003984000039840000428C000039840000317B000029630000215200002152000021520000184A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B5100063B50800BDDE9400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7EF7300DEE71000E7E71000E7E71000EFE71800EFE72100EFE72900EFE72100EFE72100EFE71800EFE71000F7EF3100FFFFEF00F7EF6300F7E71000F7E70800F7E70800F7E70800F7E70800F7E70800F7E70800F7E70000F7EF3100F7EF6B00FFFFCE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7F7C600BDDE6B0084CE18007BC6100094CE1800A5D62100A5D621009CD618009CD610009CCE080094CE08008CCE00008CCE00008CCE000084CE00007BC6000073BD000073C6000073C6000073C6000073C600006BBD000073BD000073BD00006BBD00006BBD00006BBD00006BBD000063BD00006BBD000063BD000063BD000063B500005AB500005AB500005AAD000052AD000052AD000052AD000052AD000052AD00004A9C00004A9400004A9C00004A9C00004294000039840000397B0000398C0000398C0000398C000039840000296300002152000021520000184A000018420000184200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B5080063B50800EFF7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEE72100E7DE0800E7E71000EFE71800EFE71800EFE72100F7E72900F7E72100F7E72100F7E71800F7E71800F7E70800F7F7B500FFFFDE00F7EF3900F7E71000F7E71000F7E70800F7E70800F7E70800F7E70800F7E70000F7E71800F7EF3100F7F7BD00FFFFD600F7F7BD00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7F7CE00BDDE730084CE21007BC6100094CE2100A5D62900A5D621009CD618009CD6100094CE08008CCE00008CCE00008CCE00007BC6000073BD00006BBD000073BD000073C6000073C6000073BD000073C6000073C6000073C600006BBD00006BBD00006BBD00006BBD00006BBD00006BBD000063BD000063B5000063B5000063B500005AB500005AB500005AAD000052AD000052AD000052AD000052A500004A9C00004A9C00004AA500004A9C00004294000039840000397B0000398400004294000042940000397B000029630000215A000021520000184A000018420000184200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B508006BBD1800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFEF00FFFFFF00FFFFDE00E7E71800E7E70800EFE71000EFE71800F7E71800F7E72100F7E72100F7E72100F7E72100F7E71800F7E71000F7E72100FFFFE700F7EF6300F7E71000F7E71000F7E71000F7E70800F7E70800F7E70000FFE70000F7E70800F7E72100FFFFC600FFFFBD00F7EF6B00F7F78400FFFFDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7F7CE00BDDE7B0084CE21007BC610009CD62100A5D629009CD621009CD6180094CE10008CCE00008CCE000084C6000073C6000073BD000073C600007BC6000073C6000073BD000073BD000073C600007BC6000073C600006BC600006BBD00006BBD000063BD000063BD000063BD000063B500005AB5000063B500005AB500005AB500005AB5000052AD000052AD000052AD000052A50000529C00004A9C00004A9C00004AA500004A9C0000428C0000398400003984000039840000428C00003984000031730000215A00002152000021520000184A00001842000018420000184A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B5080084C63900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7C600E7E73100FFFFEF00FFFFCE00E7E71000EFE71000EFE71800EFE72100F7E71800F7E71800F7E71800F7E71800F7E71800F7E71800F7E70800F7F7A500FFFFBD00F7EF3100F7E71000F7E71000F7E70800FFE70000FFE70000FFE70000FFE70000F7EF2900F7F7AD00FFFFD600F7F77B00F7EF2900F7EF3900FFF7B500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7F7CE00BDDE730084C6210073C610009CD629009CD6210094CE180094CE100094CE08008CCE080084CE000084CE00007BC6000084CE000084CE00007BC6000073C600006BC600007BCE00007BC6000073C600006BBD00006BBD000063BD000063B5000063BD00006BBD000063B5000063B500005AB5000063B500005AB5000052AD000052AD000052AD000052AD000052A500004A9C00004A9C00004AA500004AA500004A9C00004A940000398C00003984000039840000317B00003173000029630000215A00002152000021520000214A0000184A0000183900001839000010390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B50800A5D66B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7EF8400DEDE0800EFE71800FFFFEF00F7F7A500EFE71800EFE71000F7E71800F7E71800F7E71800F7E72100F7E71800F7E71800F7E71000F7E71000F7E71800FFFFDE00F7EF4A00FFE70800FFE70800FFE70800FFE70800FFE70000FFE70000FFE70000F7EF2100F7F77B00FFFFD600F7EF6B00F7EF3100F7E71800F7EF2900FFF7B500FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7EFC600B5DE63007BC618007BC610009CCE29009CD6210094CE180094CE100094CE10008CCE000084CE00007BC600007BC600007BC600007BC6000073C6000073C6000073C600007BC600006BC6000063BD000063BD000063BD000063B5000063BD00006BBD000063B5000063BD000063BD000063B500005AB5000052AD000052AD000052AD00004AAD000052A500004A9C00004A9C00004AA5000052A5000052AD00004A9C0000398400003984000039840000317B0000316B000029630000215A00002152000021520000184A0000184200001831000010390000184A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD1000BDDE9400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFE700E7E74A00DEDE0800E7DE0000EFE73100FFFFEF00F7F7BD00EFEF4200F7E71800F7E71000F7E71800F7E71800F7E71800F7E71000F7E71000FFE71000FFE70800F7F77B00FFF7AD00F7EF2100FFE70800FFE70800FFE70000FFE70000FFE70000FFE70000FFEF1800F7EF4A00FFFFDE00F7EF5200F7EF1800F7EF3100FFE71000F7EF2900FFF79C00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700DEEFBD00ADD6520073C6100073C610009CD631009CCE210094CE100094CE10008CCE080084C600007BC600007BC600007BC600007BC6000073C6000073C6000073C600006BC600006BBD000063BD00006BBD000063BD000063B5000063BD000063B5000063BD000063BD00006BBD000063B5000063B5000052AD000052AD000052AD000052AD00004A9C00004A9C00004A9C00004AA5000052A5000052AD00004A9C0000398C0000397B00003984000031730000296B000029630000215A00002152000021520000184A000018390000103900001842000018420000214A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD1800D6E7BD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7D600DEE72900E7DE0800E7DE0800EFDE0800EFEF4A00FFFFF700F7F7C600F7EF4200F7E71800F7E71800F7E71000F7E71000F7E71000F7E71000FFE70800FFE70800FFE70800FFFFCE00FFEF4200FFE70000FFE70800FFE70800FFE70800FFE70000FFE70000FFE71000F7EF2900FFFFD600F7EF6300F7E71800F7EF5200F7E72100FFE71000F7EF3100F7F78C00FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFEF00D6EFB5009CD64A0073BD08007BC618009CD6290094CE180094CE18008CCE100084C608007BC600007BC600007BC600007BC6000073C6000073C600006BBD00006BBD00006BBD00006BBD00006BBD000063BD000063BD000063BD00005AB500005AB500005AB500005AB500005AB500005AB5000052AD000052AD000052AD00004AA500004A9C00004A9C00004A9C00004A9C00004A9C00004AA500004A9400003984000039840000317B000031730000296B000029630000215A00002152000021520000184200001839000018420000184A0000214A000021520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BB51000E7EFD600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7B500DEDE1800E7DE0800E7DE0800EFDE0000EFDE0000F7EF4A00FFFFF700F7F7A500F7E73100F7E71800F7E71000F7E71000F7E71000FFE71000FFE70800FFE70800FFE70000FFEF6B00FFF77B00FFEF1800FFE70800FFE70800FFE70800FFE70800FFE70800FFE71000F7E72100FFF7BD00FFF7A500F7EF2900F7EF4A00F7EF3900F7E71800F7E71800F7EF2100F7F78400FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFEF00D6EFAD0094CE42006BBD080084C6180094CE210094CE21008CCE100084C6100084C600007BC600007BC600007BC6000073C600006BBD00006BBD00006BBD00006BBD00006BBD00006BBD000063BD00005AB500005AB500005AB500005AB5000052AD000052A5000052AD000052AD000052AD000052AD000052A5000052A5000052A500004AA500004A9C00004A9C00004A9C00004A940000428C00003984000039840000397B0000296B0000296B000029630000215A000021520000184A0000184200001842000018420000184200001842000018390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BB51000E7F7D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFEF9C00E7DE1000E7DE0800EFDE0800EFDE0800EFDE0000EFE70000F7EF5200FFFFF700F7F78C00F7EF4200F7E71000FFE70800FFE70800FFE70800FFE70800FFE70000FFE70000FFE70000FFF79400FFEF3900FFE70800FFE71000FFE71000FFE71000FFE70800F7E71800F7E72100FFF7A500FFF7BD00F7EF4200F7EF4200F7EF5200F7EF2900F7E72100F7E72100F7EF2900F7F78400FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFE700C6E794008CC631006BBD08008CCE210094CE29008CCE18008CCE100084C608007BC600007BC6000073C600006BBD00006BBD00006BBD00006BBD00006BBD000063BD000063B500005AB500005AB500005AB500005AB5000052AD000052A5000052A500004AAD000052A5000052A5000052A5000052A500004AA500004AA500004AA500004A9C00004A94000042940000428C000039840000428C000039840000317B0000296B00002963000029630000215A0000215200001842000018420000184A000018420000184200001839000018310000183900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BB51000EFF7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFEF8C00E7DE1000EFDE1000EFDE1000EFDE0800EFDE0800F7E70800F7E70000F7F7A500FFFFFF00F7F78C00F7EF2100FFE70800FFE70800FFE70800FFE70800FFE70000FFE70800FFE70800F7EF5A00F7EF4A00FFEF1800FFEF1800FFE71800FFE71800FFEF1800F7EF1800F7E72900F7F77B00FFFFE700F7F7AD00F7EF6300F7EF5A00F7EF3900F7EF2900F7EF2900F7E72100F7EF3100F7EF7B00FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7E700BDDE84007BBD21006BBD100094CE310094CE21008CCE100084C608007BC600007BC6000073C600006BBD00006BBD00006BBD000063BD00006BBD000063BD000063B500005AB500005AB500005AB500005AB5000052AD000052A5000052A5000052AD00004AAD000052A5000052A500004AA500004AA500004A9C00004A9400004A94000042940000428C0000398C000039840000398C00003984000031730000296B00002963000029630000215A000021520000184A000018420000184A000018420000183900001839000018310000183100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BB51000EFF7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700EFEF7300E7DE1800EFE71000EFE71000EFE71000EFDE0800F7DE0800F7E70800F7E70000F7F7A500FFFFF700F7EF6B00FFE71000FFE70000FFE70000FFE70800FFE70800FFE70800FFE71000FFE70800F7EF6B00FFEF3900FFEF1800F7EF2900F7EF2900F7EF2100F7EF2900F7EF3900F7EF6300FFFFD600F7F7A500F7EF6B00F7EF7300F7EF4A00F7EF3100F7EF3900F7E73100F7E72900F7E72900F7EF7300FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7F7D600ADD66B006BB5100073BD180094CE29008CC6180084C6100084C608007BC6000073BD000073BD00006BBD000063BD000063BD000063BD00005AB500005AB5000063B5000063B500005AB500005AB5000052AD000052AD00004AAD00004AAD00004AAD00004AA500004AA500004AA500004A9C00004A9C00004A9400004A9400004A94000042940000398C000039840000398400003984000031730000296B0000296B0000296B0000296B0000215A0000184A0000184200001842000018390000183900001839000018310000183100001831000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BB51000EFF7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7EF6B00EFDE1000EFE71000EFE71000F7DE0800F7E70800F7DE0800F7E70000F7E70000F7E70000F7F79C00FFFFD600F7EF4A00FFE70800FFE70800FFE70800FFE71000FFE71000FFE71000FFE71000F7EF4A00F7EF3900FFEF2900FFEF3900F7EF3900F7EF3900F7EF3100F7EF5200F7EF5200FFF7C600FFF7BD00F7EF7B00F7F78400F7EF5A00F7EF4200F7EF4200F7E73900F7E73100F7E72100F7E72100F7EF8C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFC60094CE4A0063B5080084C621008CCE210084C6180084C610007BC6080073BD000073BD00006BBD00006BBD000063BD00005AB500005AB500005AB500005AB500005AB500005AB5000052AD00004AAD000052AD000052AD00004AAD00004AA500004AA500004AA500004A9C00004A9C00004A9400004A9400004A9400004294000042940000398C000039840000397B0000317B0000296B000029630000296B000031730000317B000029630000184A00001842000018420000183900001831000018310000183100001831000018390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B51000EFF7DE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFEF00EFEF6B00EFDE1800EFDE1000EFDE1000F7E71000F7E71000F7DE0800F7E70800F7E70800F7E70000FFE70000F7F7B500FFFFCE00F7EF3100FFE71000FFE71000FFE71800FFE72100FFE72100FFEF2100F7EF2900F7EF3900F7EF4200FFEF4200F7EF4200F7EF4200F7EF3900F7EF5A00F7EF4A00F7F7AD00FFFFCE00F7F79C00F7F79400F7EF6B00F7EF4A00F7EF4A00F7EF4A00F7EF3900F7E73100F7E71800F7E74200FFFFD600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFF700CEE7A50084C6310063B510008CC629008CCE210084C618007BC6100073BD00006BBD000073BD00006BBD00006BBD000063B500005AB500005AB500005AB500005AB5000052AD00004AAD00004AAD000052AD000052AD00004AA500004AA500004AA500004A9C00004A9C00004A9C00004A94000042940000428C0000428C0000428C0000398C000039840000317B0000317B0000296B000029630000296300003173000031730000295A0000184A0000184200001842000018390000183900001831000018310000102900001029000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BB51800DEEFD600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFEF00EFEF6B00EFDE1000EFDE1000F7DE0800F7E71000F7E71000F7E70800F7E70800F7E70000FFE70000FFE70000F7EF4200FFFFE700FFF7B500F7E72100FFE71800FFE72100FFEF2100F7EF2900F7EF3100F7EF3100F7EF3100F7EF3900F7EF4200F7EF4A00F7EF5200F7EF5200F7EF6300F7EF5200F7F78C00FFFFCE00F7F7A500F7F79400F7EF7300F7EF5200F7EF5200F7EF5200F7EF4A00F7E73900F7E72100EFE74200F7F7CE00FFFFEF00FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7E700BDDE840073BD21006BB518008CCE29008CC6210084C610007BBD080073BD000073BD00006BBD000063BD000063B500005AB500005AB500005AB500005AB5000052AD00004AAD00004AA500004AA500004AA500004AA500004A9C00004A9C00004AA500004A9C00004A9C000042940000428C0000428C0000428C00003984000039840000317B0000317B0000317B0000296B000029630000296300002963000029630000214A000018420000184200001842000018390000183900001831000010310000102900001029000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006BBD2100D6E7C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFEF00E7EF6B00EFDE1000EFDE0800F7DE0800F7E70800F7E70800F7E70800F7E70800FFE70000FFE70800FFE70000F7E70800F7EF4200FFFFDE00F7EF7B00F7E72900F7E72900F7EF3100F7EF3100F7EF3900F7EF4200F7EF4A00F7EF4A00F7EF5200F7EF5A00F7EF6300F7EF6300F7EF7300F7EF6B00F7EF7B00FFF7BD00FFF7BD00F7F7A500F7EF7B00F7EF5A00F7EF5A00F7EF5200F7EF4A00F7E73900F7E72100EFE75A00F7F7DE00F7EF9400EFEF8C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7DE00B5D67B0063AD080084C6290094CE310084C621007BBD08007BBD000073BD00006BBD000063BD000063B500005AB5000052AD000052B5000052B500004AAD00004AA500004AA500004AA500004AA500004AA500004A9C00004AA500004AA500004AA500004A9C000042940000428C0000428C0000398C0000428C000039840000317300003173000031730000296B0000295A00002963000029630000215A000018420000184200001842000018420000183100001831000018310000102900001029000018290000102900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073BD2100C6E7AD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7E76B00E7DE0800EFDE0000F7DE0800F7DE0800F7E70800F7E70800FFE70000FFE70000FFE70800F7E70800F7E70800F7E70800F7EF6B00FFFFCE00F7EF5A00F7EF3100F7EF3900F7EF4200F7EF4200F7EF4A00F7EF5A00F7EF5A00F7EF6300F7EF6B00F7EF6B00F7EF7300F7EF7300F7EF7300F7EF7300F7F7B500FFF7BD00F7F7AD00F7F78C00F7EF6300F7EF6300F7EF6300F7EF5A00EFEF4200EFE72900EFEF7B00F7F7E700EFE75200EFE72900F7F7C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFCE008CC6420063AD08008CC6310084C621007BBD10007BC6080073BD00006BBD00006BBD000063BD00005AB5000052AD000052AD00004AAD00004AA500004AA500004AA500004AA500004AA500004A9C00004AA500004AA500004AAD00004AAD00004AA5000042940000428C000042940000428C0000398C000039840000317B0000316B0000296B000029630000215A0000296300002963000029630000214A0000184A00001842000018390000102900001029000010290000102900001029000010290000183100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000073BD2100BDDE9400F7FFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF7B00E7D60000EFD60000EFDE0000F7DE0000F7DE0000F7DE0000FFE70000FFE70800FFE70800F7E71000F7E71000F7E71000F7E71800F7F79C00FFF7BD00F7EF6B00F7EF4200F7EF4A00F7EF5A00F7EF5A00F7EF6300F7EF6B00F7EF7300F7EF7300F7EF7300F7EF7B00F7EF7B00F7F78400F7EF7B00FFF7B500FFF7CE00F7F7B500F7F79C00F7EF7300F7EF7B00F7EF7300F7EF6300EFE74A00EFE73900F7EF9C00F7F7C600EFE73100EFDE1000EFE75200FFF7DE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFF700C6E79C006BB518006BB5180084C621007BBD10007BBD100073BD080073BD00006BBD000063BD000052B5000052AD00004AAD000052AD00004AA500004AA500004AA500004AA500004A9C00004AA500004A9C00004A9C00004AA500004AA500004AA50000428C0000398C0000398400003984000039840000317B000031730000316B00002963000029630000215A0000295A0000296300002963000021520000184A0000184200001839000010290000102900001831000018310000102900001021000010290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AAD08009CCE6B00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF9400DED60000E7D60000E7D60000EFDE0000F7DE0000F7DE0000F7DE0000F7E70800FFE70800F7E71000F7E71800F7E71800F7E72100F7E73100F7F7AD00F7F7A500F7EF5A00F7EF5200F7EF5A00F7EF6300F7EF6B00F7EF6B00F7EF7B00F7EF7B00F7EF7B00F7EF8400F7EF7B00F7F79400F7EF7B00F7F7AD00FFF7D600F7F7BD00F7F7A500F7F78400F7EF7B00F7EF7B00F7EF6B00EFE74A00EFE75200F7F7BD00EFEFA500EFDE1800EFDE1800EFDE2100EFEF6B00FFFFE700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7E700ADD673005AA508007BBD21007BBD180073BD100073BD080073BD00006BBD00006BBD00005AB5000052A500004AAD00004AAD00004AA500004AA500004AA500004AA500004AA500004A9C000042940000429400004A9C00004A9C000042940000397B0000397B00003984000039840000397B000031730000296B0000296B0000296300002963000021630000215A00002163000021630000215A0000184A0000184200001839000010310000102900001831000018290000102100001021000010210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AAD08008CC64A00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFF7DE00DED61000DED60000E7D60000EFD60000F7DE0000F7DE0000F7DE0000F7DE0000F7E71000F7E71000F7E71800F7E72900F7E73100F7E73100F7EF6B00FFF7C600F7F79C00F7EF6300F7EF6300F7EF6B00F7EF6B00F7EF7300F7EF8400F7EF8400F7EF8400F7EF8400F7EF8400F7F79400F7EF8400F7F7AD00FFFFD600F7F7BD00F7F7AD00F7F79400F7EF8400F7EF8400EFEF7300EFE75A00EFEF7300F7F7BD00EFEF7300EFDE2100EFDE2100EFDE1800EFDE3100EFEF8C00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFCE0084BD420063AD10007BBD210073BD10006BB5080063B500005AAD00005AAD000052AD000052AD00004AAD00004AA500004AA500004A9C00004A9C00004AA500004A94000042940000428C0000428C000042940000398C0000397B0000397B0000398400003984000039840000317B000031730000316B0000296300002963000029630000215A0000184A000021520000215A00001852000018420000184200001839000010310000102900001029000010290000102100001021000010210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AAD080073B52900F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700EFE76300E7D60000E7D60000EFD60000F7DE0000F7DE0000F7DE0000F7E70800F7E71800F7E72100F7E72900F7EF3900F7EF4200F7EF3900F7F78C00FFFFCE00F7F79400F7EF6B00F7EF7300F7EF7300F7EF7B00F7EF8400F7F78C00F7F78C00F7EF8C00F7EF8400F7F79400F7F79400F7F7AD00FFFFDE00FFF7D600F7F7B500F7F79C00F7EF8C00F7EF8C00F7EF7B00EFEF6300EFEF9400F7F7B500EFE75200EFDE3100EFDE2900EFDE2100EFDE2900EFE74A00F7F7BD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFF700C6DE9C0063AD100073B521007BBD18006BB510005AAD00005AA5000052A5000052AD000052AD000052AD000052A5000052A500004A9C00004A9C00004A9C000042940000398C000039840000428C0000428C0000397B0000397B000039840000398400003984000039840000317B0000316B0000316B00002963000029630000215200001842000018420000184A0000184A0000184A000018390000183900001839000018310000102900001029000010290000102900001829000010210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063AD1000F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFE700F7F7E700F7FFF700F7FFEF00EFE74A00EFD60000EFD60000F7DE0000F7DE0000F7DE1000F7E71800F7E72100F7E73100F7E73900F7EF4200F7EF5200F7EF5200F7F7A500FFFFDE00F7F79400F7EF7300F7EF7B00F7EF8C00F7F78C00F7F79400F7F79400F7F79400F7F78C00F7F79400F7F79C00F7F7A500FFFFDE00FFFFD600F7F7B500F7F7A500F7EF9400F7EF8C00F7EF8400EFEF6B00F7EF9400EFEF9400EFE74200E7DE3900E7DE3100E7DE3100EFDE3900EFE74200EFEF7B00FFFFDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7DE009CCE63005AA508007BBD29006BB5100063A500005AA500005AAD000052AD000052A5000052A5000052A5000052A500004A9C00004A9C00004A9C00004294000039840000398C000042940000428C00003984000039840000398400003984000039840000317B000031730000296B0000296B000029630000295A00001852000010420000184200001842000018420000184200001839000018390000183100001029000010210000102900001831000018290000102100001021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AAD0800EFEFDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFE700E7DE3900EFDE2100F7F7BD00F7FFF700F7FFE700EFE73100EFDE0000F7DE0000F7DE0800F7E71800F7E72100F7E73100F7E73900F7EF4A00F7EF5A00F7EF6300F7EF7300FFF7C600FFFFCE00F7F79400F7EF8400F7EF8C00F7F79400F7F79400F7F79C00F7F79C00F7F79400F7F79C00F7F7A500F7F7AD00FFF7D600FFFFD600F7F7C600F7F7AD00F7EF9400F7EF9400F7EF8C00EFEF7B00EFEF7300EFE76B00EFE74A00EFDE4200EFE74200E7E74A00E7E75200EFE75200EFE75A00EFEF9400FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6E7BD006BAD210073B5210073B5210063AD08005AAD00005AAD00005AAD000052A500004A9C000052A5000052AD000052A500004A9C000042940000398C000039840000428C000042940000398C0000398400003984000039840000317B0000316B0000296B0000296B0000296B00002963000029630000215A000021520000184A0000184A00001842000018420000184200001842000021420000183100001021000010210000182900001029000010210000101800001021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AA51000CEE7B500F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700E7E76300E7D60000EFD60000EFDE1800F7F7C600FFFFF700F7F7D600EFDE2100EFDE0800F7DE1000F7E71800F7E73100F7EF4200F7EF5A00F7EF6300F7EF6B00F7EF7300F7F79400FFFFD600FFF7BD00F7EF8C00F7F78C00F7F79400F7F79C00F7F79C00F7F79C00F7F79C00F7F79C00F7F7B500F7F7B500FFF7CE00FFFFDE00F7F7CE00F7F7B500F7F79C00F7EF9400EFEF9400EFEF8400EFEF7300EFE76300E7E75A00E7E75A00EFE76300EFE76300EFE76300EFE75A00E7E75200E7E76300F7F7BD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFEF00ADD68400529C08007BBD31006BAD100063AD08005AAD00005AA50000529C00004A9C000052A5000052AD000052A500004A940000428C000039840000398C0000428C00003984000039840000317B0000317B0000317B000031730000296B0000296B0000296B0000296B00002963000029630000215A000021520000184A00001842000018420000184200001842000018420000214A0000183100001021000010290000182900001021000008180000101800001021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AA51000A5CE7B00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFEF8C00E7D60800EFD60000EFD60000F7D60000EFE73100F7F7C600FFFFF700F7F7A500EFE72100EFE71800F7E72900F7E74200F7EF5A00F7EF6300F7EF6B00F7EF7300F7EF8400F7F7A500FFFFDE00FFF7C600F7F79C00F7F79C00F7F7A500F7F79C00F7F79C00F7F7A500F7F7A500F7F7B500F7F7AD00F7F7C600FFFFE700F7F7D600F7F7B500F7F7A500F7EF9400EFEF9400EFEF8400EFEF7300EFE76B00EFE76B00EFE77B00EFE77B00E7E77300EFE76300EFE76300E7E76300E7E75200EFE77300FFF7DE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFCE007BB5390063AD180073B5210063AD08005AA50000529C00004A9400004A9C000052A500004A9C00004A940000428C0000398C0000398C0000398C0000398400003984000039840000317300003173000031730000296B000029630000296B0000296B0000296B000029630000295A00001852000018420000184200001842000018420000103900001839000018390000183900001831000010290000183100001029000010180000101800001021000018290000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B510007BBD3900F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7B500E7D61000EFD60000F7DE0000F7DE0000F7DE0800EFDE0800EFE74A00F7F7D600F7F7EF00EFEF6B00EFE73100EFE74200F7E75200F7EF6300F7EF6B00F7EF7B00F7EF7B00F7F79400F7F7BD00FFFFDE00F7F7B500F7F79C00F7F7A500F7F7A500F7F7A500F7F7AD00F7F7AD00F7F7BD00F7F7AD00F7F7BD00FFFFE700F7F7D600F7F7B500F7F7A500F7F79C00EFEF9C00EFEF9400EFEF8400EFEF7B00EFEF8400EFEF8C00EFE78C00E7E77B00E7E77B00E7E77300E7E76B00E7E75A00E7E75200EFEF9400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700BDDE9C005AA5100073B529006BAD10005AA50000529C0000529C00004A9400004A9C00004A940000398C00003984000039840000398400003984000039840000397B0000317B00003173000031730000316B000029630000215A0000215A000029630000296B0000296B0000215A00001842000010390000103900001842000018390000183900001031000010310000103100001029000018310000183100001021000010180000102100001829000018290000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052A5000063AD1800F7F7EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFDE00E7DE2900EFD60000F7DE0000F7DE0800EFDE0800EFDE1000EFDE1000EFDE1000EFE75A00F7F7D600F7F7A500EFE74A00EFE74A00EFEF6300F7EF6B00F7EF7B00F7EF8400F7EF8C00F7F79C00FFF7CE00FFFFDE00F7F7AD00F7F7A500F7F7A500F7F7AD00F7F7B500F7F7AD00F7F7BD00F7F7B500F7F7C600FFFFE700FFFFDE00F7F7C600F7F7B500EFEFAD00EFEFA500EFEF9400EFEF8C00EFEF9400EFEF9400EFEF9400EFEF9400EFEF8C00EFEF7B00EFE77B00E7E77300E7E76300E7DE5200E7DE5A00EFEFB500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7F7DE0084BD4A0063A510006BAD1800529C0000529400004A9400004A9400004A9400004A940000428C000039840000317B00003984000039840000317B000031730000317300003173000031730000316B000029630000215A0000215A000029630000296B0000296B0000215A000018420000184200001842000018420000184200001839000018390000183100001839000018310000183100001829000010210000102100001829000018310000182900000810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005AA50800E7EFD600FFF7FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFEF00E7E75A00EFD60000EFD60000EFDE0800EFDE1000EFDE1000EFDE1800EFE72100EFDE2900EFE72900EFEF7B00F7F7B500EFEF6B00EFE75A00F7EF6B00F7EF7B00F7EF8400F7EF8C00F7F79C00F7F7AD00FFFFD600FFFFDE00F7F7B500F7F7AD00F7F7AD00F7F7B500F7F7B500F7F7BD00F7F7C600F7F7CE00FFFFDE00FFFFDE00F7F7CE00F7F7BD00EFF7AD00EFEFA500EFEFA500EFEFA500EFEFA500EFEFA500EFEF9C00EFEF9400EFEF8C00EFE78400E7E77B00E7E77300E7E76B00E7DE5A00E7DE5200DEDE6B00F7F7D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700C6DEA5005AA510006BAD2100529C08004A8C0000428C0000428C00004A8C0000428C000039840000397B0000397B000039840000317B0000317300003173000031730000316B0000296B0000215A0000215A0000215A00002963000029630000296B000029630000215A0000184A000018420000184A0000184200001839000018390000103100001839000018390000183900001831000010290000182900002139000021390000183100001021000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052A51000B5D69400F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFEF9400EFD60800EFD60000EFDE0800EFDE1000EFDE1800EFE72100EFE72900EFE73100EFE73100EFE74200EFE74A00F7EF8400F7EF7300F7EF6B00F7EF7B00F7EF8C00F7EF9400F7EF9400F7F79C00F7F7B500FFFFE700F7F7CE00F7F7AD00F7F7AD00F7F7B500F7F7B500F7F7C600F7F7C600F7F7CE00F7FFDE00FFFFE700F7F7D600F7F7BD00EFEFAD00EFEFAD00EFEFAD00EFEFAD00EFEFAD00EFEFAD00EFEFA500EFEFA500EFEF9C00EFE78C00E7E78C00E7E78400E7E77300DEDE5A00D6D64200D6CE3100DEDE7300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7F7DE008CBD4A005A9C10005A9C10004A8C0000428C0000398400003984000039840000317300003173000039840000397B000031730000317300003173000031730000296B000029630000215A0000295A00002963000029630000215A0000215A0000296300002152000018420000184A000018420000184200001031000010310000103100001831000018310000183100001831000010290000183900002142000029420000213100001021000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063B5100084BD4200F7F7EF00FFF7FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7CE00E7D61800E7D60800EFD60800EFDE1000EFDE1800EFDE2100EFDE2900EFE73100EFE73900EFE74A00EFE75200EFEF6300EFEF6B00EFEF7300F7EF7B00F7EF8400F7EF8C00F7EF9400F7F79400F7F7A500F7F7D600FFFFE700F7F7BD00F7F7AD00F7F7B500F7F7BD00F7F7C600F7F7CE00F7F7CE00F7FFDE00FFFFE700F7F7D600F7F7BD00EFEFAD00EFEFAD00EFEFB500EFEFAD00EFEFAD00EFEFAD00EFEFAD00EFEFAD00EFEFA500EFEF9C00E7E79400E7E78400DEDE6B00D6D64A00D6D63900CECE2900D6D64200EFF7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700C6DEA5005AA51000639C10004A940800428C00004284000039840000397B0000397B0000397B0000397B0000397B000031730000316B0000316B0000316B000029630000295A000021630000296300002963000021520000184A00002152000021520000184200001039000018420000184200001839000010310000103100001031000018310000183100001831000018290000182900001839000021390000294200002131000010180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000529C08005AA51000EFF7EF00FFF7FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFE700E7DE3900EFD60800EFD60800EFD61000EFDE1800EFDE2100EFDE2900EFE73100EFE74200EFE75200EFEF6300EFEF6B00EFEF7B00EFEF7B00EFEF7B00F7EF8C00F7EF9400F7EF9400F7EF9C00F7F7A500F7F7B500FFFFE700FFFFDE00F7F7C600F7F7BD00F7F7BD00F7F7C600F7F7CE00F7F7CE00F7FFDE00FFFFEF00F7FFDE00F7F7BD00EFEFB500EFEFB500EFF7B500EFEFBD00EFEFB500EFEFB500EFEFB500EFEFAD00EFEFA500E7E79C00E7E79400DEE78400DEDE6300D6D64A00CECE3900D6CE4200DEDE8400EFEFD600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7F7DE0084B54200529C08005294080042840000398400003984000039840000397B0000398400003984000039840000316B0000295A0000295A000029630000215A0000295A0000295A000029630000295A000021520000184A0000184A00001842000010390000103100001839000018420000183900001031000010290000183100001831000018310000183100001831000018310000213900002942000029420000182100000810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000529C1000CEE7BD00F7F7F700FFF7FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFEF8400EFD61000EFD60800EFD61000EFDE1800EFDE2100EFDE2900EFE73900EFE74200EFE75A00EFEF6300EFEF6B00EFEF7B00EFEF8C00EFEF8C00F7EF8C00F7EF9400F7F79C00F7F7A500F7F7AD00F7F7AD00F7F7CE00FFFFEF00F7F7DE00F7F7C600F7F7C600F7F7CE00F7F7D600F7F7D600F7FFDE00FFFFF700F7FFE700F7F7C600EFEFB500EFF7BD00EFF7BD00EFF7BD00EFF7BD00EFEFB500EFEFAD00EFEFAD00EFEFAD00EFEFA500E7E79400DEDE7B00D6D66300D6D65200D6DE7300E7EFC600F7F7E700F7F7DE00F7F7DE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFF700BDD69C005A9C18005A9C100042840000397B0000397B0000397B000039840000428C00003984000042840000316B0000214A00002152000029630000296300002152000021520000215200002152000021520000184A0000184A000018420000103900001839000018420000183900001831000010290000102100001029000010290000183100001831000021310000213900002942000021390000182100000810000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004A8C100094C66300EFF7EF00F7F7F700FFF7FF00FFFFFF00FFFFFF00FFFFFF00F7F7B500EFDE2900EFDE1000EFDE1000EFDE1800EFDE2100EFDE2900EFDE3900EFE74200EFE75200EFE76300EFEF7300EFEF7B00EFEF8400F7EF8C00F7EF9400F7EF9C00F7F79C00F7F7A500F7F7AD00F7F7AD00F7F7B500F7FFDE00FFFFEF00FFFFDE00F7F7CE00F7F7CE00F7F7D600F7F7D600F7F7DE00FFFFF700FFFFEF00EFF7C600EFEFB500EFEFBD00EFF7C600EFF7BD00EFF7BD00EFEFBD00EFEFBD00EFEFB500EFEFAD00E7EFA500E7E79400DEDE7B00DEDE7B00E7EFB500F7F7EF00F7F7EF00E7EFB500D6D65A00D6D66300F7FFEF00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFD60084B54200529C0800428C080042840000397B0000397B0000397B00003984000039840000317300002152000018420000214A000029630000215A0000184A0000184A0000184A0000184A0000184A000018420000184200001842000018420000214A00002152000018420000183100001031000010290000102900001831000018290000213100002131000021310000183100001821000008180000081000001018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000397308006BAD2100EFEFEF00F7F7F700FFF7FF00FFFFFF00FFFFFF00FFFFFF00FFFFEF00EFE75A00EFDE1000EFDE1000EFDE1800EFDE2100EFDE2900EFDE3100EFE73900EFE75200EFE76300EFEF7300EFEF7B00EFEF8400EFEF8C00F7EF9400F7F79C00F7EFA500F7EFA500F7F7AD00F7F7B500F7F7B500F7F7BD00F7FFDE00FFFFEF00F7F7DE00F7F7CE00F7F7D600F7F7D600FFFFEF00FFFFFF00FFFFEF00EFF7CE00EFEFBD00F7F7CE00EFF7C600EFF7C600EFF7BD00EFEFB500EFEFBD00EFEFB500EFEFAD00E7E79C00E7E79400EFEFB500F7F7DE00F7F7DE00EFEFC600D6D66B00CECE4200CECE3100CECE4A00EFEFBD00EFF7D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7EF00B5D68C005A9C100052940800398400003973000031730000317300003973000031730000295A0000214A0000184A000021520000295A000018520000184A0000184A000018520000184A0000184A0000184200001842000018420000184A0000215A00002963000029520000183900001831000018310000183100001831000018290000183100001821000018290000182900001021000010180000101800001018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000316B0000529C0800DEE7D600F7F7F700F7F7F700FFF7FF00FFFFFF00FFFFFF00FFFFFF00EFEF9C00EFDE1800E7D61000EFDE1800EFDE2100EFDE2900EFDE3100E7E74200E7E74A00EFE75A00EFE76B00EFEF7300EFEF7B00EFEF8C00EFEF9C00EFF7A500F7EFA500F7F7AD00F7F7B500F7F7BD00F7F7BD00F7F7C600F7F7D600FFFFE700FFFFEF00F7F7DE00F7F7D600F7F7D600FFFFEF00FFFFFF00FFFFEF00F7F7D600F7F7DE00F7FFE700EFEFC600EFEFC600EFEFBD00EFEFBD00EFEFBD00EFEFBD00EFF7CE00FFFFFF00FFFFFF00FFFFF700F7F7DE00E7E7A500DEDE7300D6D66300CED65200CECE4200CECE4200DEDE7B00E7E79C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFCE007BAD390052940800397B0000397300003173000031730000316B0000316B0000296B0000295A00002152000021520000215A000021520000184A00001852000018520000184A0000184A0000184A0000184A000018420000184A000021520000215A0000295200001839000018310000183100001829000018310000183100001829000010210000182100001829000018210000101000000810000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004273080042730800A5C67B00EFF7EF00F7F7F700FFF7FF00FFFFFF00FFFFFF00FFFFFF00F7F7D600E7DE3900E7D61800E7DE1800E7DE2100EFDE2900EFDE3100EFE73900E7E74A00EFE75A00EFE76300EFEF7300EFEF8400EFEF9400F7EF9C00EFEFA500F7EFA500F7F7AD00F7F7B500F7F7B500F7F7BD00F7F7C600F7F7C600F7F7DE00FFFFE700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700F7FFEF00FFFFFF00F7F7E700EFEFB500EFEFC600EFEFC600EFEFC600EFF7D600FFFFEF00FFFFFF00FFFFFF00F7FFEF00EFF7CE00E7E79400DEE79400DEDE8C00DEDE7B00D6DE6B00D6D65A00D6CE4A00D6D65200DEDE7300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7E700A5CE7B00529410004A8C080039730000316B0000316B0000316B0000316B000029630000215A000021520000215A0000215A0000215200001852000021520000184A000018520000184A0000184A00001842000018420000184A0000214A0000214A000021390000183100001831000018310000183100001831000018290000102900001021000010210000182100001021000008100000081000000810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000295200004273080063A52100EFEFE700F7F7F700F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFF700EFEF8C00E7D62100E7D61800E7DE2100E7DE2900E7DE2900E7DE3900E7DE4200E7E75200EFE76300EFE76B00EFEF7B00EFEF8C00EFEF9400EFEF9400EFEF9C00EFEFAD00EFEFAD00EFF7B500F7F7BD00F7F7BD00F7F7C600F7F7CE00F7F7D600F7F7E700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7E700E7EFB500EFEFC600F7F7D600FFFFEF00FFFFFF00FFFFFF00F7F7DE00EFEFBD00E7EFB500E7EFAD00E7E7A500E7E79C00DEE79400DEDE8400DEDE7B00D6DE6B00D6D65A00D6D65200D6D66300EFEFC600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700D6E7BD006BA529004A8C080039730000316B0000316B0000316B0000316B000029630000215A000021520000215A0000215A0000215200001852000021520000214A000018520000184A0000184A00001842000018420000184A0000214A0000214A0000213900001831000018310000183100001831000018310000182900001021000010210000102100001821000010210000081000000810000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029520000529C0800DEE7CE00F7F7F700F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFF700EFEF8C00E7D62100E7D61800E7DE2100E7DE2900E7DE2900E7DE3900E7DE4200E7E75200EFE76300EFE76B00EFEF7B00EFEF8C00EFEF8C00EFEF9400EFEF9C00EFEFAD00EFEFAD00EFF7B500F7F7BD00F7F7BD00F7F7C600F7F7CE00F7F7D600F7F7E700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7E700E7EFB500EFEFC600F7F7D600FFFFEF00FFFFFF00FFFFFF00F7F7DE00EFEFBD00E7EFB500E7EFAD00E7E7A500E7E79C00DEE78C00DEDE8400DEDE7B00D6DE6B00D6D65A00D6D65200D6D66300EFEFBD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7F7DE008CB552004A940800397B000039730000316B0000316B000029630000215200002152000021520000215A0000215A00002152000021520000214A000021520000184A0000184200001839000018390000183900001839000018390000102900001021000010290000183100001839000018310000182900001829000018290000102100001821000018210000102100001010000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000316308004A8408009CC67300EFF7EF00F7F7F700F7F7F700FFF7FF00FFFFFF00FFFFFF00F7F7DE00E7DE4A00DED61800E7D61800DED61800E7D61800E7D62100E7D62900E7DE3100E7DE3900E7DE4A00E7E75200E7E76300E7E76B00E7E77300EFE78400EFEF8C00EFEF8C00EFEF9C00EFEFA500EFEFB500EFEFBD00EFF7C600F7F7DE00FFFFEF00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFEF00EFF7C600EFEFBD00EFEFBD00EFEFB500E7EFAD00E7EFA500E7E79C00E7E79400DEDE8C00DEDE7B00DEDE7300D6D66300D6D65A00D6D65A00D6DE7B00F7FFE700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7F700BDD69C005A9C180042840000317300003163000029630000295A0000215A000021520000215A0000295A00002152000021520000214A000021520000214A00001842000018390000183900001839000021420000214200001839000018390000183100001831000018390000183100001831000018290000182900001021000010210000182900001829000010210000101800001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000316308005A9C1800E7EFDE00F7F7F700F7F7F700F7F7F700FFF7FF00FFFFFF00FFFFFF00E7E79400D6CE1000DECE0800DECE1000DECE1000DECE1800DED61800DED62100E7DE3900E7DE4200E7DE4A00E7E75A00E7E76B00E7E77B00EFEF9400EFEFAD00F7F7CE00F7FFDE00FFFFEF00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700EFF7CE00EFEFBD00EFEFBD00EFEFBD00EFEFB500E7EFB500E7EFA500E7E79C00E7E79C00DEE78C00DEDE8400DEDE7B00D6D66B00D6D65A00D6D65A00D6D65A00E7EFA500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFCE007BAD39004A8C080029630000295A0000295A0000295A0000295A0000295A0000295A0000214A000021520000215200002152000021520000215200002142000018390000214200002142000021420000213900001839000018390000183900001839000018310000183100001829000018290000182900001821000010210000182100001829000010210000101800001018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000298400004A940800C6D6B500F7F7F700F7F7F700F7F7F700FFF7FF00FFFFFF00FFFFFF00F7F7DE00D6D63100D6C60800DECE1800DED63100E7DE5200E7E76300E7E78400EFEFA500EFF7BD00F7F7C600F7F7CE00F7F7DE00FFFFE700FFFFEF00FFFFF700FFFFF700FFFFEF00FFFFE700F7F7DE00F7F7DE00F7F7D600F7F7D600F7F7D600F7F7E700F7F7EF00F7FFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFEF00EFEFCE00EFEFC600EFEFC600EFEFBD00EFEFBD00EFEFB500EFEFAD00E7E7A500E7E7A500E7E79C00E7E79400DEE78C00DEDE7B00D6DE7300D6D66300D6D66300CED64A00D6DE7300FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7E700A5CE8400529408003973000029630000295A0000295A000031630000295A0000215A0000214A000029520000295A0000295A0000295A0000214A0000183900001839000021420000214A00002142000018390000183900002139000018310000183100001829000018290000213100002139000021310000182900001821000018210000102100001018000010100000101800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000427308007BAD4200E7EFE700F7F7F700F7F7F700F7F7F700FFFFFF00FFFFFF00FFFFF700F7F7E700EFF7DE00EFF7DE00EFF7E700F7F7EF00F7FFF700F7FFF700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFF700F7FFE700F7FFEF00F7F7CE00EFEFBD00EFEFBD00EFEFB500EFEFAD00EFEFA500EFEFB500EFF7C600EFF7D600F7F7D600EFF7CE00EFF7D600FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700F7F7DE00EFEFCE00EFEFC600EFEFC600EFEFC600EFEFBD00E7EFB500E7EFAD00E7E7A500E7E79C00E7E79400DEE78C00DEE78400DEDE7B00D6DE6B00D6D66300D6D65A00CECE4A00D6D65200E7EFAD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFF700C6DEAD005A941800427B000031630000296300002963000031630000295A000029520000215200002952000029630000295A00002963000029520000214200002142000021420000214200001839000018390000213900001839000018310000183100001829000018310000213100002139000018310000182900001829000018290000101800001018000010180000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000317B000052940800D6E7CE00F7F7F700F7F7F700F7F7F700FFF7FF00FFFFFF00FFFFFF00FFFFF700F7F7E700EFF7DE00EFF7E700EFF7E700EFF7E700EFF7E700F7F7E700F7F7EF00F7F7EF00FFFFF700F7F7EF00F7F7D600EFF7C600EFF7C600F7F7D600F7F7D600EFEFC600EFEFAD00EFEFB500EFF7BD00EFF7C600EFF7CE00EFF7D600EFF7CE00F7F7D600FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFEF00F7F7E700F7FFEF00F7F7E700F7F7D600EFEFBD00E7EFBD00E7EFB500E7EFAD00E7E79C00DEE78C00DEDE8C00DEDE8400DEDE7B00D6DE7300D6D66300CECE5200CECE4A00C6C64200C6C63900D6DE6B00FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFCE0084AD4A004A8C0800316B00003163000029630000295A0000295A0000214A000029520000295A00002963000029630000316300002952000021420000214A00002142000021420000214200002139000021420000214200002139000018310000183100001829000018290000183100001829000018290000293900002131000018210000102100001018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000427B08009CBD7300EFEFE700F7F7F700F7F7F700F7F7F700FFFFFF00FFFFFF00FFFFFF00F7F7EF00EFF7DE00EFF7DE00EFF7E700EFF7E700EFEFCE00EFEFC600EFEFB500EFEF9C00E7E77B00E7E77300E7E78400E7E79400EFEFA500EFEFAD00EFEFB500EFEFB500EFEFB500EFEFBD00F7F7C600EFF7C600EFF7CE00EFF7CE00EFF7CE00EFF7CE00FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFEF00F7FFEF00F7FFEF00F7FFEF00F7F7E700F7F7D600EFEFC600E7EFAD00E7E79C00DEE78C00D6DE7B00D6DE7300D6D66B00D6D66B00D6D65A00CECE4A00CEC64200BDBD2900B5B52100BDC63100E7EFBD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7E700ADCE8400528C1000397300003163000029630000295A0000295A0000214A00002952000029520000214A000029520000214A00002139000021390000214200002142000021390000213900002139000021420000214200002139000018310000182900001829000018290000182900001821000021310000294200002131000010210000101800001021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000315A000052941000DEE7D600EFEFEF00F7F7F700F7F7F700F7F7F700FFF7FF00FFFFFF00FFFFFF00E7EF9C00DED64200D6D62900D6CE2100D6D62900DEDE5A00DEDE6300DEDE5A00E7E76B00E7E77B00E7E78C00E7EF9C00EFEFA500EFEFAD00EFEFB500EFEFB500EFEFBD00EFEFC600EFEFC600EFF7C600EFF7CE00EFF7CE00EFF7CE00EFF7CE00F7FFEF00FFFFFF00FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700F7F7E700F7FFE700F7FFEF00FFFFEF00FFFFEF00F7F7DE00EFEFBD00E7E79C00DEDE7B00D6D66B00D6D66300CED65A00CECE5200CECE4A00C6CE4200BDBD2900ADAD1800A5AD1800C6CE6B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFF700CEDEB500639C2100427B00003163000029630000295A00002952000029520000294A000029520000214A000018390000183100001829000021390000214200002139000021390000183900002139000021420000214200002942000021390000183100001829000018290000182900001829000021310000293900001821000010180000101800001018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004A840800A5C68C00EFEFEF00F7F7F700F7F7F700F7F7F700FFF7FF00FFFFFF00FFFFF700D6DE7300C6C61800CEC61000CECE2100D6D63100DED64200DEDE5200DEDE6300E7E77300E7E77B00E7E78C00E7EF9400EFEFA500EFEFAD00EFEFB500EFEFBD00EFEFBD00EFEFBD00EFEFC600EFF7C600EFF7C600EFF7CE00EFF7CE00EFF7C600F7F7DE00FFFFEF00FFFFEF00F7F7E700F7FFEF00FFFFFF00F7F7E700EFEFC600EFF7CE00EFEFBD00E7EFB500EFEFB500EFEFC600EFF7D600F7F7DE00F7FFE700F7F7E700EFF7CE00E7E7A500D6D67300CED65A00CECE5200CECE5200CECE4A00C6C63100B5B52100ADAD1000B5BD3900EFF7DE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6E7C60084AD4A004A8C0800316300003163000029520000294A0000294A00002952000029520000214A000021390000183100001839000021420000214200002139000021390000183100001839000021420000294A0000314A00002942000018310000182900001829000018290000182900001829000018290000102100001018000010210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000395A08005A9C2100DEE7D600EFEFEF00F7F7F700F7F7F700F7F7F700F7F7F700FFFFFF00EFEFCE00CECE3900CECE2100D6CE2900D6D63900DEDE4200DEDE5200DEDE6300E7DE7300E7E77300E7E78400EFE79400EFEF9C00EFEFAD00EFEFAD00EFEFB500EFEFBD00EFEFC600EFF7C600EFF7C600EFF7C600EFF7C600EFF7C600EFEFC600F7F7D600F7FFEF00FFFFEF00F7F7DE00F7F7E700FFFFFF00F7FFE700EFEFB500EFEFB500EFEFB500E7EFB500E7EFAD00E7E7A500E7EFA500E7E7A500E7EFA500EFEFBD00F7F7D600F7F7E700F7F7DE00EFF7D600DEE79400CECE4A00CECE5200C6CE3900C6C63100B5B52100B5B52100D6DE8C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFDE00ADCE8C00528C0800396B0000315A000029520000294A000029520000295200002952000021420000213900002139000021420000214200002142000021390000213900001839000021390000294A0000395A0000395A00002942000018310000182900001829000018290000182900001821000018210000102100001021000010210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000395A08004A8C0800A5C69400EFEFEF00EFEFEF00F7F7F700F7F7F700F7F7F700FFF7FF00FFFFFF00E7E79C00CECE3100D6CE3100D6D63900D6D64200DEDE5200DEDE5200DEDE6B00E7E77B00E7E78400E7E79400EFEF9C00EFEFA500EFEFAD00EFEFAD00EFEFB500EFEFC600EFEFC600EFEFC600EFEFC600EFF7C600EFF7C600EFEFBD00F7F7D600F7FFE700FFFFEF00F7F7E700F7F7E700FFFFFF00F7F7E700E7EFB500EFEFB500E7EFB500E7EFAD00E7EFAD00E7E7A500E7E7A500E7E7A500E7E79C00E7E79C00DEE79C00DEE79400E7E79400EFEFC600F7F7E700F7FFEF00F7F7E700E7EFC600DEDE9400C6CE4A00B5BD2100C6CE5A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7EF00CEDEB5005A941800397300002952000029520000295200002952000029520000294A0000294200002142000021420000214200002142000021420000213900002139000021310000183100002942000031520000314A0000213100001829000010210000102100001821000018210000102100001821000010210000102100001018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000395A080063942900DEDED600EFEFEF00EFEFEF00F7F7F700F7F7F700F7F7F700FFFFFF00F7F7E700D6D66300CECE3100D6CE3900D6D64200DEDE4A00DEDE5200DEDE6300DEE77300E7E78400E7E78C00E7EF9400EFEFA500EFEFAD00EFEFAD00EFEFB500EFEFBD00EFEFBD00EFEFBD00EFEFBD00EFEFC600EFEFC600EFEFC600F7F7D600F7FFEF00F7FFEF00F7F7DE00F7F7DE00FFFFEF00F7F7DE00E7EFB500E7EFB500E7EFAD00E7EFAD00E7E7A500E7E7A500E7E79C00E7E79400E7E79400DEE79400DEE79400DEE78C00DEDE7B00DEDE6B00D6D67300DEDE8400DEE79400F7F7DE00F7FFEF00F7F7E700D6DEA500DEDE9400F7F7DE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700D6E7C6007BAD4A00427B080031520000295200002952000029520000294A0000294A000021420000214200002142000029420000294200002139000018310000183100001831000018310000213100002131000018290000182900001021000010180000102100001021000010210000102100001021000018210000102100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000315208004A840800ADC69400E7E7E700EFEFEF00F7EFF700F7F7F700F7F7F700FFF7F700FFFFFF00E7E7AD00CECE4200CECE3100D6D63900D6D64A00DEDE5A00DEDE6300DEE77300E7E77B00E7E78C00E7E79400E7EF9C00E7EFA500EFEFAD00EFEFB500EFEFBD00EFEFBD00EFEFBD00EFEFBD00EFEFC600EFEFC600EFEFBD00EFF7CE00F7FFE700F7F7DE00EFEFBD00F7F7CE00F7F7E700EFF7CE00E7EFAD00E7EFAD00E7EFA500E7E7A500E7E79C00E7E79400E7E78C00E7E78400DEE78C00DEE79400DEE79400DEE78C00DEDE7B00DEDE7B00D6D66B00CED65200CECE4A00C6C63100C6CE4A00DEE79C00E7EFBD00DEE7B500EFF7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6E7C6009CBD6B004A840800315A0000294A0000294A0000294A0000294A0000294A00002942000021390000213900002139000021390000183100001829000018290000183100001831000018290000102100001021000010210000101800001021000010210000182100001021000010210000182100001018000010180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000315208005A942100D6DECE00EFEFEF00EFEFEF00F7F7F700F7F7F700F7F7F700FFFFFF00F7F7EF00D6DE8400CECE3900D6CE3900D6D64A00D6D65A00DEDE6B00DEDE7300DEDE7B00DEE78400E7E79400E7E79400E7E7A500E7EFAD00EFEFAD00EFEFB500EFEFBD00EFEFBD00EFEFBD00EFEFBD00EFEFBD00EFEFBD00EFF7C600F7F7E700F7F7DE00EFEFB500EFF7C600F7F7DE00F7F7D600EFEFB500E7EFA500E7EF9C00E7E7A500E7E79C00E7E79400E7E78C00DEDE8400DEE78400DEE78C00DEDE8C00DEDE8C00DEDE7B00DEDE7300D6D66B00D6D65A00D6D65A00C6CE3900BDBD2900B5BD2100B5B52100BDB52900D6DE7B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFD600C6D6AD004A84080039630000294A0000294A0000294A0000294A0000294200002142000021390000213900002139000021390000182900001829000018290000183100001831000018290000102100001821000010210000102100001821000018210000102100001021000018210000102100001018000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000294200004A7B0800ADC69400E7E7E700EFEFEF00EFEFEF00F7F7F700F7F7F700F7F7F700FFFFFF00EFF7D600CECE5200CECE3900D6CE4A00D6D65200D6D66300DEDE6B00DEDE6B00DEDE7B00E7E78C00E7E78C00E7E79C00E7EFA500E7EFAD00EFEFAD00EFEFB500E7EFB500E7EFAD00E7EFB500EFEFBD00EFEFBD00EFEFBD00F7F7E700F7F7DE00E7EFAD00EFEFBD00F7F7D600F7F7DE00EFEFBD00E7E79C00E7EF9C00E7E79C00E7E79C00E7E79C00DEE78C00DEDE8400DEDE8400DEDE8400DEDE7B00DEDE7B00DEDE7B00D6DE6B00D6DE6B00D6D66300D6D65A00CECE4200C6C63100BDBD2900B5B51800B5AD1800C6C63900F7F7DE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7E700CEDEB50073A53100426B0000294A0000294A0000294A0000294A000021420000214200002139000021390000213900002131000018290000182900001829000018310000182900001821000018210000182100001829000018210000182100001821000010210000102100001021000010180000101800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000294200005A941800CED6C600EFEFEF00EFEFEF00EFEFEF00F7F7F700F7F7F700F7F7F700FFFFFF00DEE79C00CECE4200CECE4200D6D64A00D6D65200DED66300DEDE6B00DEDE7300DEDE7B00DEE78400E7E78C00E7E79400E7E79400E7EFAD00E7E7A500E7E79C00E7E7A500E7EFAD00EFEFB500EFEFBD00EFEFB500F7F7DE00F7F7D600E7EFA500E7EFB500EFF7CE00F7F7DE00EFEFBD00E7E79C00E7EF9C00E7E79C00E7E79C00DEE79400DEE79400DEE78400DEDE7B00DEDE7300DEDE7300D6DE7300DEDE7300DEDE7300D6D66300D6D65A00D6D65A00CECE4200CECE3900C6C63100BDBD2100B5B51800B5BD2900DEDE9C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7F700CEDEBD0084AD520042730800294A0000294A000029420000214200002139000021390000213900002139000021390000183100001829000018290000183100001831000018290000182100001829000018290000182100001821000010210000101800001018000010180000101800001018000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029390000293900009CBD7B00E7E7DE00EFEFEF00EFEFEF00F7F7F700F7F7F700F7F7F700FFFFFF00F7F7E700D6D66B00CECE4200CECE4200D6CE5200D6D65A00D6DE6300DEDE6B00DEDE7300DEE77B00DEDE7B00E7E78C00EFEFC600E7EFAD00DEE78C00E7E79400E7E79C00E7EFA500EFEFAD00EFEFAD00EFEFB500F7F7E700F7F7D600E7E7A500E7EFAD00EFEFBD00F7F7DE00EFF7CE00E7EFA500E7E79C00E7E79400E7E79400DEE79400DEE79400DEDE8400DEDE7300D6DE6B00D6D66B00D6D66300D6D66300D6D65A00D6D66300CED65A00CED65200CECE4A00CECE4200CEC63100C6C62900BDB51800B5B51800CED66B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEDEBD009CBD7B00427B0000294A0000294A000029420000213900002139000021390000213900002139000018310000183100001831000018290000183100001829000018210000182100001821000010210000102100001018000010180000101800001018000010180000101800001018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000293900004A8C1000BDCEB500EFEFEF00EFEFEF00EFEFEF00EFEFF700F7F7F700F7F7F700FFFFFF00EFEFC600CECE4A00CECE4200CECE4A00CECE5A00D6D65A00D6DE6300DEDE6B00DEDE6B00DEDE8400EFEFC600EFEFCE00DEE78C00DEDE7B00DEE78C00E7E79400E7EF9C00E7EFA500E7EFA500EFEFAD00F7F7DE00F7F7D600E7EFA500E7EFA500E7EFB500EFF7CE00EFEFC600E7EFA500DEE79400DEE79400DEE78C00DEE78C00DEE78C00DEDE8400DEDE7B00D6D66B00D6D65A00CED65A00D6D65200D6D65200D6D65200D6D64A00D6D64A00CECE4200CECE3900C6C63100C6C62900C6BD1800BDB51800C6CE4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6E7CE00BDD6A5004A7B08003152000029420000213900002139000029420000213900002139000018310000183100001829000018290000182900001829000018210000102100001021000010210000102100001018000010210000102100001018000010180000101800001018000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001821000039520800739C4200D6DED600EFEFEF00EFEFEF00EFEFEF00F7F7EF00F7F7F700F7F7F700F7F7F700DEDE9400CECE4A00CECE4200CECE5200D6D65A00D6D66300D6D65A00DEDE6B00E7EFC600EFF7EF00DEDE9400D6D66B00DEDE7B00DEE78400E7E79400E7EF9C00E7EF9C00E7EF9C00E7EFAD00F7F7DE00EFF7CE00E7E7A500E7E7A500E7EFAD00EFEFBD00EFEFC600EFEFBD00DEE78C00DEE78C00DEE78C00DEE78400DEE78400DEDE8400DEDE7B00DEDE6B00D6D65A00CED65200CECE4A00CECE4A00D6CE4A00D6CE4200CECE4200CECE3900CECE3100CECE2900C6BD2900C6BD1800C6BD1800C6C63900EFF7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEE7D600BDD6AD005A8C18003963000021420000213900002139000021390000213900001831000018310000183100001829000018290000182100001829000018210000102100001021000010210000101800001018000010180000101800001018000010180000101800001018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018210000427B0800A5BD8C00E7E7E700E7E7E700EFEFEF00EFEFEF00F7F7EF00F7F7F700F7F7F700F7F7E700D6D67300C6C64A00CECE4A00D6CE4A00CECE4A00CECE4A00DEE7B500EFEFE700E7E7BD00D6D66B00D6D65A00DEDE7300DEE78400E7E78C00E7E79C00E7E79C00E7E79C00E7EFAD00F7F7DE00EFF7CE00E7E79C00E7E79C00E7E7A500E7EFB500EFEFBD00E7EFAD00DEE79400DEE78C00DEE78400DEE78400DEDE8400DEDE8400DEDE7B00D6DE7300D6D66300D6D65200CECE4200CECE4200CECE4200CECE3100CECE3100CECE3100CEC63100CEC62900CEC62100C6BD1800C6BD1800C6C62900DEE7A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFDE00BDD6AD007BA54200396300002139000021390000213900002139000021310000182900001829000018290000182900001829000018210000102100001821000018210000102100001018000010180000101800001018000008100000101800001018000010180000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001821000029390000528C1800C6D6BD00E7E7E700EFE7EF00EFEFEF00EFEFEF00F7F7EF00F7F7F700FFF7FF00E7EFCE00CECE5A00C6C64200CECE3900C6C63100D6DE9400E7EFD600EFEFE700D6DE8400CECE4A00D6D65A00D6DE7300DEDE7B00DEE78C00E7E79400E7E79C00E7E79C00E7EFAD00F7F7DE00EFF7C600E7E79400E7E79400E7E79400E7E7A500E7EFB500E7EFAD00E7E79C00DEDE8400DEE78400DEDE7B00DEDE7B00DEDE7B00DEDE7300DEDE7300D6D66300D6D65200CECE4A00C6C64200CECE3900CEC63100CEC63100C6C62900C6C63100C6C62900C6BD2100CEBD1800C6BD1800C6C62100D6DE8400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFF7EF00BDD6AD008CAD5A00426B00002139000021310000213100002131000018310000182900001821000018210000182100001821000010210000101800001821000021310000182100001018000010180000101000000810000010100000101800000810000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018210000426308008CAD6300DEDED600E7E7E700EFE7EF00EFEFEF00EFEFEF00F7F7EF00F7F7F700F7F7EF00DEDE9C00C6C64200B5B52100CECE7300E7E7CE00E7EFDE00DEE7BD00CECE5200CEC64200D6D65200D6DE6B00DEDE7B00DEE77B00E7E78400E7E79400E7E79400E7EFAD00F7F7E700EFEFC600DEE78400E7E78C00DEE78C00E7E79400E7E79C00E7E7A500E7E7A500DEE78C00DEDE7B00DEDE7300DEDE7300DEDE7300DEDE7300DEDE6B00D6DE6300D6D65A00CECE4200C6C63100C6C63900CECE3100C6C63100C6BD2100BDBD2100BDBD2100C6BD2100C6BD1800C6BD1000C6BD1800D6D66300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7F700BDD6AD00A5BD8400426B0000213100001831000018310000183100001829000018210000102100001821000018290000102100001021000010210000101800001821000010180000081000000810000008100000081000000810000008100000081000000810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018210000427B0800ADBD9400E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00F7F7EF00F7F7F700EFEFDE00C6CE6300C6C64200D6DEA500DEE7D600E7EFDE00D6D67B00C6C63900CECE4200D6D65200D6D66300DEDE7300DEDE7B00DEE77B00E7E78400DEE78400E7EFA500F7F7E700EFEFBD00DEE77B00E7E78400DEE78400DEE78C00E7E79400E7E79400DEE79400DEE78C00DEDE7B00DEDE7B00DEDE7300D6DE6B00DEDE6300DEDE6300D6D65A00D6D65200CED64200C6CE3100C6C63100CED65A00C6CE4200BDBD1800BDB51800BDB51800BDB51800C6BD1800C6BD1800C6BD1000CECE4A00FFFFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFF700C6D6B500B5CEA5004273000021390000183100001829000018290000182100001021000010180000102100001821000010180000101800001018000010180000101800000810000008100000081000000810000008100000081000000810000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001018000029310800528C1800C6CEB500E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00F7F7F700F7F7F700DEE7AD00DEE7BD00DEE7CE00DEE7CE00DEE7CE00C6C65200C6BD3100CECE4200D6D65200D6D65A00DEDE6B00DEDE6B00DEDE7300DEDE7300DEDE7300E7E79C00F7F7E700EFEFB500DEDE7300DEDE8400DEE78400DEDE7B00DEDE7B00DEDE7B00DEE78400DEE78400DEDE6B00DEDE6B00DEDE6B00D6DE6300D6DE6300D6DE6300D6D65A00D6D65A00D6D64A00CECE3900C6C63100C6C63100C6CE4200CED66300B5B51800B5AD1000B5AD1000B5B51000BDB51000BDBD1000C6CE3900F7F7DE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEDEBD00B5CEA5004A73080029420000183100001829000018290000182100001021000010180000102100001021000010180000101800000810000010100000081000000810000008100000081000000810000008080000081000000810000008080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010180000395A08007BA54A00D6D6CE00E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00F7F7F700F7F7F700EFEFE700DEE7CE00DEE7D600CECE7300C6BD3100C6C63100CECE4200D6D64A00D6D65200DED65A00DED66300DEDE6300DEDE6300DEDE6300E7E79400F7F7E700E7EFA500D6DE6B00DEDE7B00DEDE7B00DEDE7B00DEDE7300DEDE7300DEDE7B00DEDE7B00DEDE6B00DEDE6300DEDE6300D6DE6300D6D65A00D6D65A00D6D65200D6D65200D6D65200CECE4200C6C63100C6BD2100C6BD2100C6CE4200CED67300B5B51800ADAD0800A5A50800B5AD0800B5B51000BDBD2900EFEFBD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEDEC600ADC69C00527B1000314A0000182900001829000018290000182100001021000010180000102100001021000010100000081000000810000008100000081000000810000008100000081000000810000008080000080800000808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101800004A73080094B57300DEDEDE00E7E7E700E7E7E700EFE7EF00EFEFEF00EFEFEF00F7F7F700F7F7F700E7EFE700DEE7D600BDC64A00BDB52900C6BD3100CECE4200D6CE4A00D6D65200D6D65200D6D65A00DED65A00DEDE6300D6D65A00E7E79400F7F7EF00E7E79C00D6D65A00D6DE6B00DEDE7300DEDE6B00DEDE6B00DEDE6B00DEDE7300DEDE7300D6DE6B00DEDE6300D6DE6300D6D65A00D6D65A00D6D65200D6D64A00D6D64A00D6D64200D6D63900CECE3100C6BD2100C6BD2100BDB51800C6CE3900D6D68400B5AD1000A5A500009C9C08009C9C0800ADB52100DEE7AD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6DECE00B5C69C006B9431003152000018290000182100001829000010210000102100001018000010180000101800000810000008080000080800000810000008100000080800000008000008100000080800000008000008080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018290000212900004A840800B5C69C00E7DEE700E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00F7F7F700F7F7F700DEE7BD00BDBD3900BDB52100C6BD3100CEC63900CECE4200CECE4A00D6CE4A00D6D65200D6D65200D6D65A00D6D65200DEDE8C00F7F7EF00DEE79C00D6D65200D6D66300DEDE6300DEDE6300D6DE6300D6DE6300D6DE6300D6DE6B00D6D66300D6D65200D6D65200D6D65200D6D65200D6D64A00D6D64A00D6D64200D6D63900D6D63900CECE3100C6C62100C6C62100BDB51000BDB51000BDBD3900D6DE9400ADAD18008C9400008C9408009CAD1800D6DE9C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEE7D600ADC69C00739C4A00395A00002131000018290000182100001021000010180000101800000810000008100000081000000808000008080000080800000008000000000000000000000008000000080000080800000808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000314A08005A8C2900C6CEBD00E7DEE700E7E7E700E7E7E700EFE7EF00EFEFEF00EFEFEF00F7F7F700EFEFE700CECE6B00BDBD2900C6BD2900CEC63100CEC63900CEC64200CECE4200CECE4200CECE4A00D6D64A00CECE4200DEDE8400F7F7E700DEDE8C00CECE4200D6D65200D6D66300D6D65A00D6D65A00D6D65A00D6D65200D6D66300D6D65A00D6D65200D6D65200D6D64A00D6D64A00D6D64A00D6D64200D6CE3900D6CE3900D6CE3900D6CE2900CEC62100CEC62100BDB51000B5B51000B5B51000B5BD2900CEDE9400ADB52900738C0000849C1800C6D68C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEE7D600B5C6A5008CAD6300395A00002131000018210000102100001018000010180000081000000810000008100000081000000000000000080000000800000000000000000000000800000008000000080000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081000004263080084A55200D6D6CE00E7DEE700E7E7E700E7E7E700EFE7EF00EFEFEF00EFEFEF00F7F7F700E7EFCE00CECE5A00C6BD3100CEC63100CEC63100CEC63100CEC63100CECE4200CECE4200D6CE4200CECE3900DEDE8C00F7F7DE00DEDE7300CECE3900CECE4200D6D65200D6D65A00D6D65200D6D64A00D6D65200D6D65200D6D65A00D6D65200D6D64A00D6D64A00D6D64200D6D64200D6D64200D6CE4200D6CE3100D6CE3100CECE2900CEC62100CEC62100BDB51800BDB51000B5AD0800ADAD0800ADB52900CED69C00A5B5390084941000BDCE7B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEE7DE00ADC69C008CA56300395A0000213100001021000010180000101000000810000008100000081000000810000008100000000800000000000000000000000800000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010180000101800004A73080094AD7300DEDEDE00DEDEDE00E7E7E700E7E7E700EFE7EF00EFEFEF00EFEFEF00F7EFEF00DEE7B500CECE5A00C6C63900C6C63100C6C63100C6C63100C6C63900CECE3900CECE3900CEC63100DEDE8400EFEFBD00D6D65200CEC63100CECE3900D6CE4200D6D64A00D6D64A00D6CE4200D6D65200D6D65200D6D64A00CED64A00D6D64200D6D64200D6D64200D6D63900D6CE3900D6D64A00CECE2900CECE2900CECE2900CEC62100CEC62100C6BD1000BDB50800B5AD0800A5AD10009CA508009CA51800C6CE7300B5C66300BDCE7B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFE700ADC6A5008CAD6B00395A000021390000101800001018000008100000081000000810000008100000081000000008000000080000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008080000212908004A7B0800ADBD9400DEDEDE00DEDEDE00E7E7E700E7E7E700EFEFE700EFEFEF00EFEFEF00F7F7EF00DEE7B500CECE5200C6BD2900C6C62900C6C62900CEC63100CEC63100CEC63100C6C62900D6DE7B00E7EFBD00CECE5200C6C62900CEC63100CECE3900CECE3900CECE4200CECE3900CECE4A00CED64A00CECE3900D6CE4200CECE3900D6CE3900D6CE3900D6CE3100D6CE2900D6CE3900D6D65A00D6CE1800CEC61800CEC61800CEC61800CEBD1000BDB50800ADAD0800A5AD10009CA510008C9C10008C9C1800C6CE7300E7E7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFDE00B5C6A500ADBD9C00395A000029310000101800001018000008100000081000000810000008080000080800000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081000002939080052841800B5C6AD00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700EFEFEF00EFEFEF00F7EFEF00DEE7AD00C6C64200C6BD2100C6BD2900C6C62900CEC62900C6C62900C6BD2100D6DE8400E7EFC600CEC64200BDBD2100C6BD2900C6C62900CECE3100CECE3900CECE3100CECE3100CECE4A00CED65200CECE3100CECE3100CECE2900CECE2900D6CE2900CECE2100D6CE3100D6D66300CEC63100CEC61800CEC61800CEBD1800C6BD1800B5B51800A5AD100094A5100094A510008C9C10007B8C08007B941800DEE7AD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFE700B5C6A500A5BD9400395A0000293900001018000010180000081000000810000008080000080800000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008100000314A080063943100C6CEBD00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00DEDEA500C6C64A00C6BD2900C6BD2100C6BD2100C6BD2100BDBD1800D6DE8400EFEFC600C6C63900B5B51800BDBD2100C6BD2100C6C62900CEC62900CEC62900CEC62100CECE4200CECE5A00C6C62100C6C62100CEC62100CECE2100CECE2100CEC61800CEC61800CEC62900CED66300C6BD0800C6BD1000C6BD1000BDBD1800B5B51800A5AD18009CA5100094A510008C9C10007B94100084942100C6D69C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFE700ADBDA500A5BD9400395A000029390000101800000810000008100000080800000008000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008080000425A08007B9C4A00CECEC600DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00DEDE9C00C6C64200C6BD2100BDBD2100BDBD2100BDB51000D6D67B00E7E7BD00BDBD2900ADAD1000B5B51800BDB51800C6BD2100C6C62900CEC62100C6C61800CECE4200CED66300C6BD1800C6BD1800CEBD1800CEC61800CEC61800CEC61800CEC61000C6BD1800CECE4A00CECE4A00BDBD1000BDBD1800B5BD1800ADB51800B5B51000A5AD1000949C1000849410007B9410008C9C2900D6E7B500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFE700ADBD9C009CB58C00395200002939000010180000080800000808000000080000000800000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008100000426B0800849C5A00D6D6D600DEDEDE00DEDEDE00E7DEE700E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00DEDEA500C6C63900BDB51800BDB51800BDB51800CED67B00D6DE9C00B5B52100A5A50800B5AD1000B5B51800BDBD1800C6BD1800C6BD1800C6BD1800CEC62900CED65A00C6C63100C6BD1000C6BD1000CEC61000CEC61000CEC61000C6BD1000C6BD1000C6C62900D6D67B00BDBD1800BDBD2100B5BD1800ADB51800B5B51800A5AD1000949C10007B9410007B94100094A53100DEEFC600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFE700ADBD9C00A5B58C00395200002939000010180000080800000808000000080000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101800004273080094AD7300D6D6DE00DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00DEDEAD00C6C64200BDAD1000BDB51800CED68C00D6DE9400ADAD1800949C0000A5A50800B5AD1000BDB51000C6BD1000C6BD1800CEBD1000C6BD1000CECE4A00CED66300BDB50800BDB51000C6BD1000CEBD1000C6BD1000C6BD1000BDBD1000BDBD1800BDC63100C6CE5A00BDC64200ADB51800ADB51800ADB518009CAD10008CA51000738C1000738C10009CB54200EFF7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFE7009CB5940094AD7B0039520000293100000810000008080000000800000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182100004A7308009CAD8400D6D6D600DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7EFEF00EFEFEF00EFEFEF00DEDEAD00BDBD3900B5AD1800C6CE7B00DEDEB500ADAD29008C9400009C9C0800ADAD0800B5B51000C6BD1000C6BD1000C6BD1000C6B50800C6C63900CED67300BDB50800BDB50800BDB51000BDBD1000BDBD1000BDBD1800B5B51800B5B51000B5BD2100CED67300BDCE4A00A5B51000ADB51800A5B518009CAD18008CA518007B941000738C1800ADBD6300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEE7DE009CAD94007B945A00314A000021290000081000000808000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212900004A7B1000ADBD9400D6D6D600DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700EFEFEF00F7F7F700E7E7C600C6CE6B00CED69400D6DEA500ADAD21008C8C0000949C0800A5A50800ADAD0800BDB50800C6BD0800C6B50800C6AD0800BDBD2100CECE5200BDBD2900ADAD0800ADB50800B5B51000BDBD1000B5B51800B5B51000ADB51000ADB52100C6CE5A00BDC64A00ADBD2900A5AD1800A5AD180094A5180094A51800849C18008C9C2100C6D69400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEE7D6009CAD94006B8C420031420000182100000810000000080000000800000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021310800527B1800ADBD9C00D6D6D600DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700EFEFEF00EFEFEF00E7E7CE00DEE7CE00CED69C009CA521007B8400008C9400009C9C0800ADA50800B5B50800BDB50800BDB50800BDAD0800B5B51000C6CE5200C6CE63009CA50000A5AD1000ADB51000B5BD1000B5BD1800B5B51800ADB51800A5B51800A5B52100B5BD3900D6DE94009CAD18009CAD180094AD18008CA51800849C18009CAD4200E7EFCE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEE7D6009CAD8C005A7B31002942000010210000080800000808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029390800527B1800ADBD9C00D6D6D600DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700EFEFEF00EFEFEF00EFEFEF00E7E7CE00A5AD42007B840000848C00008C9C08009CA50800ADAD0800B5B50800B5AD1000B5AD1000ADAD0800BDBD3900CED67B009CA510009CA50800A5AD1000ADB51800ADB51800ADB51800A5AD1800A5AD18009CA51800A5AD2100C6CE6B00B5C65A008CA518008CA518008CA518008CA52100BDC66B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6DED6009CAD8C004A6B180029390000101800000808000008080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003139080052842100ADBDA500D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700EFEFE700EFEFEF00F7EFF700CED6AD009CAD390084941000848C08008C940800A5A51000ADAD1000ADAD1000A5A510009CA50800ADB51800C6CE5A00B5B53900949C080094A51000A5AD1800ADB51800ADAD1800A5AD18009CA5180094A5180094A51800A5B53900D6DEAD0094AD31007B9C18008CA518009CB53900D6E7B500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFF700C6CEC60094A5840039520800293100000810000008080000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000314208005A842900B5BDA500D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700EFE7EF00EFEFEF00EFEFEF00DEDEC600B5BD63008C9C18007B8C080094A51000A5AD1000A5A510009CA51000949C0800949C0800B5BD4A00C6CE73008494080094A510009CAD1800A5AD1800A5AD18009CAD18008CA518008CA518008CA518008C9C2100ADBD5200CECE9C007B941800849C2100BDCE7300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7F700BDC6B500849C6B003142000018210000080800000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000314208005A842900B5C6AD00D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700E7E7E700EFEFEF00EFEFE700CED69C00A5AD4200949C1800949C100094A510008C9C10008C9C1000849408009CAD3100C6CE73008C9C1800849C100094A510009CA518009CAD180094A518008CA51800849C1800849C18007B941800849C2900BDC67B00ADBD63009CB54A00E7EFD600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7FFF700EFEFE700ADBDA5006B8C4A00293900001018000008080000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000293908005A7B2900B5BDA500D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700E7E7E700EFEFEF00E7E7DE00C6CE8C00A5B53900949C180084941000849410007B8C080084941800ADB55200A5AD3900738C08008C9C180094A5180094A5180094A518008C9C1800849C18008494180073941800738C18008C9C3100D6DEBD00DEE7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7F700F7F7F700F7F7F700F7F7F700DEDEDE00A5AD94004A6318002131000008080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029310800527B1800A5B59400D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00E7DEE700E7E7E700E7E7E700E7E7E700E7E7E700E7EFEF00DEE7D600BDC684009CA53900849C2100738C1000637B08008C9C4200B5BD7B006B84080084941800849C18008C9C18008C9C1800849C2100849418007B9418006B8410007384180094A54200EFEFE700FFFFFF00F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700CED6C600849C7300314200001821000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182100004A73100094AD8400D6D6D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700DEE7CE00C6CE9400A5B55A007B94310084943900ADB56B007B942100738410007B94180084941800849421008C9421008494210084942100849C3100B5C68400F7F7EF00F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700EFEFEF00B5BDAD00637B39002939000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018180000426B10008CA57300D6D6D600D6CED600D6D6D600D6D6D600D6D6D600DED6D600DEDEDE00DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7E700E7E7E700DEDED600CED6B500BDC69C00BDC69C00B5BD840094A5420094A5420094A539009CAD4A00A5B55200B5C67B00BDC68400DEE7CE00F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700EFEFEF00EFEFEF00EFEFEF00EFEFEF00DEDED60094A58400394A1000182900000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000426308007B945A00D6D6D600CECECE00CECECE00D6CED600D6D6D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDEDE00E7E7E700E7E7E700E7E7DE00E7E7DE00E7E7E700DEE7DE00D6DEC600D6DECE00D6DEBD00DEDECE00E7E7DE00E7EFE700E7EFE700EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00E7E7E700BDC6B500637B420029390800101800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080800003952080063844200CECECE00D6CED600CECECE00CECECE00CECECE00D6CED600D6D6D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDEDE00E7DEE700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700EFE7EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00E7E7E700E7E7E700EFE7EF00E7E7E700EFE7EF00E7E7E700E7E7E700E7E7E700E7E7E700D6D6CE008C9C7B00394A08001821000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003142080052732100B5BDAD00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6CED600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00E7DEE700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700DEDEDE00DEDEDE00DEDEDE00DEDEDE00B5B5AD00526B31002931080008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182100004A6B1000849C7300D6D6D600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6CED600D6CED600D6D6D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00D6D6D600C6C6C60073845A003139080010180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008100000395208005A733900CECECE00CECECE00CECECE00C6C6C600CEC6CE00CEC6CE00CECECE00CECECE00CECECE00CECECE00CECECE00D6CED600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600C6C6C6008C947B00394A100018210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031390800425A18009CA59400D6D6D600CECECE00CECECE00C6C6C600C6C6C600C6C6C600C6C6C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6CED600D6CED600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00C6C6C600949C84004A5A21002129080000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000181800003952080052633100BDBDB500CECED600CECECE00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CEC6CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00C6C6C600C6C6C600949C8C004A632900293108000808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029310000395208006B7B5A00BDBDBD00CECECE00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600BDBDBD008C8C84004A5A2900293110000808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810000031390800394A080063735200ADB5AD00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6BDC600C6BDC600C6BDC600C6BDC600C6BDC600C6C6C600C6BDC600C6BDC600C6BDC600C6BDC600BDBDBD00BDBDBD00ADADAD006B735A004252180029310800081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000003139080031420800525A39008C8C8400B5B5AD00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600BDBDBD00BDBDBD00BDBDBD00BDBDBD00BDBDBD00BDBDBD00BDBDBD00B5B5B500A5A5A5007B7B7B00525A3900424A180029391000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080800002931080031420800313910004A5242007B847B009C9C9400ADADAD00B5B5B500B5B5B500B5B5B500B5B5B500B5B5B500B5B5B500A5A5A5009C9C9C0084847B006B736B005A63520042522100394218002129080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000002931080021310000293108002931180039423100525A4A00525A4A005A6352005A5A520052524A00424A39003139290039421800394A180031391000182108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010180000101800001018000010180000101000001010000008080000101000001010000008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Hex></ItemData>
</Element>
<Element>
<ItemType>1768698674</ItemType>
<ItemData><Hex bytes="4096">000000000000000000000000000000000000000000000000000000000000000000000000008CD600008CD600008CD600008CD600008CCE00008CD6000084CE000084CE00008CCE00007BCE000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084CE000084CE000084CE000084CE00008CCE000084CE000084CE00008CCE00008CD600008CD6000084CE00008CCE00007BCE000073C6000073C600006BC6000063BD000063B500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007BCE000084CE000084CE000084CE000084CE000084CE00008CCE00008CCE00008CCE00008CD6000084CE00008CCE00008CCE000084CE000084CE00007BCE000073C600006BC6000063BD000063B5000052A500000000000000000000000000000000000000000000000000000000000000000000000000000000000073C600007BC6000084CE080084CE18008CCE180084CE080084CE000084CE000084CE00008CCE00008CCE00008CCE00008CCE00008CCE000084CE000084CE000084CE000073C6000073C600006BBD00005AB5000052A50000428C000039840000000000000000000000000000000000000000000000000000000000006BBD080073C61000B5DE7B00E7F7CE00F7FFEF00F7FFEF00EFF7DE00CEEFA5009CD64A0084CE08008CCE00008CCE00008CCE000084CE00008CD600008CCE000084CE000084CE00007BC6000073C600006BBD00005AB5000052A5000042940000317300002963000000000000000000000000000000000000000000006BBD08007BC62900E7F7D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7F7C600A5D6420094D608009CD6080094D6000094D600008CCE00008CCE000084CE00007BC6000073C6000063BD00005AB5000052AD00004A940000317B000029630000215A00000000000000000000000000000000000063BD0800CEE7AD00FFFFFF00FFFFF700EFF78C00F7F78C00EFEF6B00F7F79C00FFFFEF00FFFFFF00FFFFFF00FFFFF700BDE77B0094D618009CD6100094CE00008CCE000084CE00007BC6000073C6000073BD000063B500005AB5000052AD00004A9400003984000029630000215200002152000000000000000000000000000084C63900FFFFFF00FFFFFF00EFEF5A00EFE72100EFE72100F7EF6300F7E70800F7E72900FFFFD600FFFFFF00FFFFFF00FFFFFF00CEE79C0094CE21009CD610008CCE00007BC6000073C6000073C600006BBD000063BD00005AB5000052AD00004A9C000039840000397B00002152000018420000000000000000000000000000ADD67B00FFFFFF00F7F7C600EFEF6B00F7E72100F7E71800F7EF5200F7E71800FFE70000F7F77B00FFEF6B00FFFFF700FFFFFF00FFFFFF00CEE79C0094CE21008CCE08007BC6000073C6000073C6000063BD000063B500005AB5000052A500004AA50000398C0000316B00002152000018420000214A00000000000000000000C6E7A500FFFFFF00EFEF8C00EFE71800F7EF7B00F7E71800FFE70800FFEF3900FFE70800F7EF6300F7EF4A00F7EF5200FFFFEF00FFFFFF00FFFFFF00BDDE84008CCE180084C6080073BD00006BBD000063B5000052AD000052AD00004AA500004A9400003984000029630000184A000018420000183900000000000000000000C6E7A500FFFFFF00EFEF7300EFE71000F7E72100FFEF6300FFE71000F7EF2900F7EF3100F7EF6300F7F78C00F7EF4200F7EF6300FFFFFF00FFFFFF00FFFFFF009CCE5A0084C6180073BD000063B500005AB5000052AD00004AA500004A9C0000428C0000317B0000296B0000184A000018390000183100000000000000000000BDDE9C00FFFFFF00EFEF7300F7DE0800F7E70800F7EF3900F7EF5A00F7EF4A00F7EF6300F7EF7300F7F7AD00F7EF6B00F7EF6300F7EF8C00FFFFFF00FFFFFF00F7F7EF0084C6310073BD080063B5000052AD00004AA500004AA500004294000039840000316B000029630000184A000010310000102900000000000000000000ADD67B00FFFFFF00F7F7BD00EFDE3100F7DE0800F7E72900F7EF7300F7EF7B00F7EF8400F7F78C00F7F7BD00F7EF9400EFEF7B00EFDE3100F7EF9C00FFFFFF00FFFFFF00CEE7B50073B518005AAD000052A500004A9C0000428C000039840000317B000029630000184A0000184200001029000010210000000000000000000084BD4A00F7F7F700F7F7B500EFDE3100F7E76300F7E74200F7EF6B00F7F7AD00F7F79C00F7F7A500F7F7C600F7F7A500EFEF7B00EFE76B00E7E76300FFF7DE00FFFFFF00FFFFFF0094C65A005AA508004A9C0000428C0000398400003173000029630000215A00001842000018390000102900001021000000000000000000005AAD1000E7EFDE00FFFFE700EFDE1800EFDE1800EFE75A00EFEF7300F7F79400F7F7C600F7F7B500F7F7D600F7F7BD00EFEFA500EFEF9C00E7E77B00DEDE6300FFFFFF00FFFFFF00DEEFCE005A9C1000428C0000397B00003173000029630000215A0000184A0000183900001831000018310000182900000000000000000000529C0800B5CE9C00FFFFFF00EFE75200EFDE2100EFE75200EFEF8400F7EF9C00F7F7BD00F7F7D600F7F7DE00F7F7CE00EFF7BD00EFEFB500E7E79400E7E79400EFEFBD00FFFFFF00FFFFFF008CB55200397B0000397B00002152000021520000184A0000184200001839000018310000213100001018000000000000000000000000000084AD5A00F7F7F700F7EFAD00E7DE2100E7E74200EFEF7B00EFEF9C00F7F7B500F7F7D600FFFFF700FFFFF700EFF7CE00F7F7E700EFEFC600DEDE8400D6D65A00FFFFF700FFFFFF00D6E7BD00427B0800296300002152000021520000184A00001842000018310000182900001021000008100000000000000000000000000000528C1800DEE7D600FFF7EF00E7DE5200E7DE6300EFEF9400F7F7B500F7F7CE00F7F7DE00FFFFF700FFFFFF00FFFFF700EFF7CE00E7EFAD00E7E79400D6D66B00EFEFB500FFFFFF00FFFFF70063943100295A0000215A000021520000214200001839000018310000182900001821000008100000000000000000000000000000317B0000A5C68C00F7F7F700F7F7DE00E7E79400EFEF9C00EFEFA500EFEFBD00EFF7C600F7F7D600FFFFFF00FFFFF700F7F7DE00EFEFC600DEDE8400CECE5200C6C64A00FFFFFF00FFFFFF00A5C684003163000029520000214A0000214200002139000021310000182900001829000008080000000000000000000000000000000000006B943900E7E7DE00F7F7EF00D6D64A00DEDE5A00E7E78C00EFEFAD00EFEFC600EFF7C600F7F7E700F7F7D600E7EFAD00E7E7A500E7E7A500DEDE8C00D6D67300F7F7D600FFFFFF00DEE7CE0039630800295200002142000021390000213900001831000018210000102100000000000000000000000000000000000000000000395A0800A5B58C00F7F7F700E7E7B500D6D65200DEDE7B00E7E79C00E7EFAD00EFEFB500EFF7CE00EFF7C600E7E79C00DEE78C00DEDE7B00D6D66300C6C63900D6DE8400FFFFFF00F7F7EF00527B290029420000213900001829000018290000182100001021000008100000000000000000000000000000000000000000000000000000526B2900D6DECE00F7F7EF00D6D67B00D6D65A00E7E7A500DEDE8400E7EFA500EFEFBD00EFEFB500E7E79400DEDE8400D6D65A00CECE4A00CEC63100CECE4200FFFFFF00FFFFFF007B94520021390000183100001829000018210000101800001018000000000000000000000000000000000000000000000000000000000000213100007B8C5A00E7E7E700EFEFDE00D6D68C00D6D67B00DEDE6B00E7E78C00E7EFAD00E7E78C00DEE78400DEDE6B00D6D65A00C6C63900BDBD2100C6BD2100FFFFEF00FFFFFF0094AD73001831000018210000101800001018000008100000080800000000000000000000000000000000000000000000000000000000000000000000293908009CAD8C00EFEFEF00EFEFE700C6C63900D6CE4A00D6D66300E7E79400DEDE6B00D6DE6B00D6D65A00D6D64A00CEC62900BDBD3100A5AD1800EFF7D600FFFFFF00ADBD940021310000101800000810000000080000080800000000000000000000000000000000000000000000000000000000000000000000000000000000000031421800BDC6B500EFEFEF00DEDEA500C6C63100CECE4200D6D66B00CECE4200CED64A00D6CE3900D6CE3900CEC62100B5B510009CAD2900EFEFD600FFFFFF00BDC6AD0018290000081000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000394A2100CED6C600E7E7E700DEDE9C00C6BD3100BDC64A00BDBD1800CEC63100C6C61800CEC61800C6C63100ADB51800849C1800EFF7DE00FFFFFF00BDC6AD0018290000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004A5A3100CED6CE00E7E7E700DEDEAD00ADB54A00ADAD0800BDB51800B5BD2900B5B51000B5BD3100A5B529009CAD3900FFFFF700FFFFFF00A5B59400101800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000525A3900CED6CE00E7E7E700D6DEC600A5AD42009CA51000A5AD31009CAD180094A518009CAD4A00CED6A500FFFFFF00FFFFFF00848C6B00080800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004A523100C6CEBD00DEDEDE00DEDEDE00C6CEA500A5B56B0094A539009CAD4A00C6CE9C00F7F7F700F7F7F700E7E7E700424A2900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039422100ADB5A500CECECE00D6D6D600DEDEDE00DEDEDE00E7E7DE00E7E7E700E7E7E700E7E7E700949C8C0008080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000182108007B846B00BDBDBD00C6C6C600CECECE00CECECE00CECECE00CECECE00A5AD9C002121100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029311800636B5A008C948C009C9C9C0094948C006B736300212110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Hex></ItemData>
</Element>
<Element>
<ItemType>1769157426</ItemType>
<ItemData><Hex bytes="1024">00000000000000000084CE000084CE000084CE00008CCE00008CCE00008CCE000084CE00007BCE00006BC6000063BD000000000000000000000000000000000000000000007BC6000084CE080084CE000084CE00008CCE00008CCE00008CCE000084CE00007BCE000073C6000063B500004A9C000039840000000000000000000073C61800B5DE8400EFF7DE00F7FFE700D6EFB500A5DE4A008CCE00008CCE00008CCE000084CE000073C600005AB500004A9C0000316B00000000000000000000C6E79C00FFFFE700EFEF6B00F7EF7300FFF7BD00FFFFFF00CEEF9C009CD610008CCE00007BC600006BBD00005AB500004A9C0000317300002152000000000000DEEFCE00F7EF8C00F7E73100F7EF3100FFEF2900FFF78C00FFFFFF00D6EFA5008CCE100073C6000063BD00005AAD00004A9C0000317300001842000018390000E7F7D600EFE74A00F7E73100FFEF2900F7EF4200F7EF7B00F7EF8400FFFFFF00B5DE840073BD08005AB500004AA50000428C0000296B00001839000018290000DEEFCE00F7EF7B00F7E72100F7EF7300F7F78C00F7F7AD00EFEF6B00F7EFA500FFFFFF0084BD390052A50000428C0000317B0000215200001831000008180000CEDEB500F7EF8C00EFE73900F7EF7B00F7F7BD00F7F7CE00EFEFA500E7E77B00FFF7E700D6E7BD00428C000031730000215A000018420000183100000810000084AD5A00F7F7DE00E7DE2900EFEF7B00F7F7C600FFFFEF00F7F7D600EFEFB500DEE78C00FFFFFF0063943100215A0000184A0000183900001829000000080000397B0800D6DEC600E7EFA500EFEFA500EFF7BD00F7F7DE00F7F7E700EFEFB500D6D66300F7F7D600ADC68C0029520000214200002139000018290000000000000000000094AD7B00EFEFD600DEDE6300E7E7A500EFEFC600EFEFBD00DEE78C00D6DE6B00DEDE9C00E7EFD600294A0000213100001829000010180000000000000000000031420800B5C6AD00DEE7AD00D6DE7B00E7E79C00E7E79400DEDE7300CECE3900CECE4A00F7FFF700395210001021000010100000000800000000000000000000000000004A633100CED6C600D6D67B00D6D66300CECE4A00D6D64200CEC62900ADB53900FFFFFF0042522900080800000000000000000000000000000000000000000000000000004A5A3900D6D6CE00CECE8400B5AD1000BDBD2100B5BD2900ADB55200FFFFFF003942210000000000000000000000000000000000000000000000000000000000000000004A523900CECEC600C6CE9C00A5AD52009CAD4200DEE7CE00E7E7DE001018080000000000000000000000000000000000000000000000000000000000000000000000000039422900A5AD9C00CECECE00D6D6D600D6D6D600636B5A0000000000000000000000000000000000000000</Hex></ItemData>
</Element>
<Element>
<ItemType>1949855083</ItemType>
<ItemData><Hex bytes="16384">000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B2B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ACACACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFACAC562B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC5600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC00000000000000000000000000000000000000000000000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B00000000000000000000000000000000000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B000000000000000000000000000000000000000000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B0000000000000000000000000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC00000000000000000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF810000000000000000000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC0000000000000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF810000000000000000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC00000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B0000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC0000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B0000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF810000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5600000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC00000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B00000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF562B00000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81562B0000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC56562B00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC8156562B000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC818156562B0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181562B2B00000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181562B2B0000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818156562B00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181562B2B000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181562B00000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181562B2B00000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181562B000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181562B000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181562B2B0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181818156562B0000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181818181562B00000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181818181562B00000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181818181562B000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC818181818181818181562B2B00000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC818181818181818181562B2B000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181818181562B2B00000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181818181562B2B00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181818181562B000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818181562B000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818156562B000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818156562B00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818181562B2B00000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818181562B00000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818156562B000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818181562B2B0000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818181562B0000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818156562B00000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818181562B2B000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818181562B000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818181562B2B0000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818181562B0000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818181562B2B00000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818156562B00000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818181562B2B00000000000000000000000000000000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181818156562B0000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818181562B0000000000000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181818181562B2B00000000000000000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818156562B000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181818181562B2B00000000000000000000000000000000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181818181562B2B0000000000000000000000000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181818156562B00000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181818156562B000000000000000000000000000000000000000000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC818181818181818181562B2B000000000000000000000000000000000000000000000000000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181818181562B2B000000000000000000000000000000000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181818156562B0000000000000000000000000000000000000000000000000000000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC818181818181818156562B000000000000000000000000000000000000000000000000000000000000000000000000002B81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181818156562B0000000000000000000000000000000000000000000000000000000000000000000000000000002BACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818181818156562B2B0000000000000000000000000000000000000000000000000000000000000000000000000000002B2BACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC8181818181818181562B2B00000000000000000000000000000000000000000000000000000000000000000000000000000000002B56FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC8181818181818181562B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B56FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181562B2B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818181818181562B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B5681FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181562B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B5681FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81818181818181562B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B5681FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181562B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B5681FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818181562B2B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B5656ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81818181818156562B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B565681FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC818181818156562B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B565681FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC818181818156562B2B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B565681FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC818181818156562B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B565681ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818156562B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B565681ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181818156562B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B56568181FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818156562B2B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B56568181ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818156562B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B56568181FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818156562B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B56568181ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818156562B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B5656568181FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181818156562B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B5656818181FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC8181818156562B2B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B2B56568181ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181815656562B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B5656568181ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81815656562B2B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B5656568181ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81815656562B2B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B5656568181ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81815656562B2B2B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B565656568181818181ACACFFFFFFFFFFFFACAC818181565656562B2B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B2B56565656565656568181818181818156565656562B2B2B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B2B2B2B2B2B2B5656565656565656562B2B2B2B2B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002B2B2B2B2B2B2B2B2B2B2B2B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Hex></ItemData>
</Element>
<Element>
<ItemType>1229147683</ItemType>
<ItemData><Hex bytes="256">0000000000FFF00007FFFE001FFFFF003FFFFFC07FFFFFE07FFFFFE07FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFC7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFFC3FFFFFFC3FFFFFFC1FFFFFFC1FFFFFF80FFFFFF80FFFFFF807FFFFF003FFFFF003FFFFE001FFFFC000FFFFC0007FFF80003FFF00001FFE00000FFC000003F0000000000000FFF00007FFFE001FFFFF003FFFFFC07FFFFFE07FFFFFE07FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFFC7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFFC3FFFFFFC3FFFFFFC1FFFFFFC1FFFFFF80FFFFFF80FFFFFF807FFFFF003FFFFF003FFFFE001FFFFC000FFFFC0007FFF80003FFF00001FFE00000FFC000003F000</Hex></ItemData>
</Element>
<Element>
<ItemType>1768125219</ItemType>
<ItemData><Hex bytes="64">07C03FF07FF8FFFCFFFEFFFEFFFFFFFF7FFF7FFF3FFF3FFF1FFE0FFC07F803F007C03FF07FF8FFFCFFFEFFFEFFFFFFFF7FFF7FFF3FFF3FFF1FFE0FFC07F803F0</Hex></ItemData>
</Element>
<Element>
<ItemType>1815637355</ItemType>
<ItemData><Hex bytes="1024">000000000000000000002B2B5656818156562B000000000000000000000000000000000000002B81ACFFFFFFFFFFFFFFFFFFFFFF812B000000000000000000000000002B81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC2B000000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81000000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC0000000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC00000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF810000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B00000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B0000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B0056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF812B2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF815600FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818100ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81810056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81810000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC8181000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818181000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81815600000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81812B00000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81815600000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181812B00000000000081FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81812B0000000000000000ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81812B0000000000000000002BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF818156000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC81560000000000000000000000000056FFFFFFFFFFFFFFFFFFFFFFFFFFFFAC812B00000000000000000000000000000056ACFFFFFFFFFFFFFFFFFFFFFFAC812B00000000000000000000000000000000002B81FFFFFFFFFFFFFFFFFFAC562B000000000000000000000000000000000000002B56ACFFFFFFFFFFAC812B00000000000000000000</Hex></ItemData>
</Element>
<Element>
<ItemType>1933077867</ItemType>
<ItemData><Hex bytes="256">0000002B5681ACACAC81560000000000002BACFFFFFFFFFFFFFFFFAC560000002BFFFFFFFFFFFFFFFFFFFFFFFF56000081FFFFFFFFFFFFFFFFFFFFFFFFFF2B00ACFFFFFFFFFFFFFFFFFFFFFFFFFFAC00ACFFFFFFFFFFFFFFFFFFFFFFFFFFFF2BACFFFFFFFFFFFFFFFFFFFFFFFFFFFF8181FFFFFFFFFFFFFFFFFFFFFFFFFFFFAC56FFFFFFFFFFFFFFFFFFFFFFFFFFFFAC00FFFFFFFFFFFFFFFFFFFFFFFFFFFF810056FFFFFFFFFFFFFFFFFFFFFFFFFF810000ACFFFFFFFFFFFFFFFFFFFFFFAC5600002BFFFFFFFFFFFFFFFFFFFFAC812B00000081FFFFFFFFFFFFFFFFFF812B0000000000ACFFFFFFFFFFFFFFAC2B0000000000000081FFFFFFFFFF812B000000</Hex></ItemData>
</Element>
</Icon>
<ColorPalette>
<ItemFlags>0</ItemFlags>
<Element>13421772</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
<Element>-1</Element>
</ColorPalette>
<MacCreator>????</MacCreator>
<BuildMacName>Cabos PPC</BuildMacName>
<BuildCarbonName>Cabos</BuildCarbonName>
<BuildSize>33554432</BuildSize>
<BuildMinSize>2097152</BuildMinSize>
<BuildSizeAsString>32768</BuildSizeAsString>
<BuildMinSizeAsString>2048</BuildMinSizeAsString>
<WinMDICaption>My Application</WinMDICaption>
<BuildWinName>Cabos.exe</BuildWinName>
<BuildWinMDI>0</BuildWinMDI>
<BuildLinuxX86Name>Cabos x86</BuildLinuxX86Name>
<EditBounds><Rect left="134" top="58" width="239" height="411"/></EditBounds>
<FileType>
<ItemName>application/executable</ItemName>
<MacCreator>????</MacCreator>
<ItemType>APPL</ItemType>
<ItemDef>.app;.exe</ItemDef>
<ItemFlags>0</ItemFlags>
<Icon>
</Icon>
</FileType>
</block>
<block type="Folder" ID="-1007788628">
<ObjName>Controllers</ObjName>
<ObjContainerID>0</ObjContainerID>
</block>
<block type="Module" ID="-1116423273">
<ObjName>CCoreController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="0" top="44" width="722" height="720"/></EditBounds>
<EditSplit>206</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="0" top="44" width="722" height="720"/></EditBounds>
<EditSplit>206</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CCoreController</ObjName>
<ObjSize>113</ObjSize>
<Superclass>Shell</Superclass>
<IsInterface>0</IsInterface>
<Property Flags="1">CNetworkController1 as CNetworkController</Property>
<Property Flags="1">CQueryController1 as CQueryController</Property>
<Property Flags="1">CUploadsController1 as CUploadsController</Property>
<Property Flags="1">CDownloadsController1 as CDownloadsController</Property>
<Property Flags="1">state as integer</Property>
<Property Flags="1">CFileurnsController1 as CFileurnsController</Property>
<Property Flags="1">CFilterController1 as CFilterController</Property>
<Property Flags="1">buffers(-1) as string</Property>
<Property Flags="1">isShuttingdown as boolean</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>commandAvailable</ItemName>
<ItemParams>args() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>64</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>64</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub commandAvailable(args() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(args) = -1 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim index as integer = args(0).val</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>select case index</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1 //* QueryResult *//</SourceLine>
<SourceLine>me.CQueryController1.handleQueryReply args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* ConnectionInitialized *//</SourceLine>
<SourceLine>me.CNetworkController1.connectionInitialized args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 3 //* ConnectionClosed *//</SourceLine>
<SourceLine>me.CNetworkController1.connectionClosed args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 4 //* ConnectionsUpdated *//</SourceLine>
<SourceLine>me.CNetworkController1.statsUpdated</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 5 //* AddDownload *//</SourceLine>
<SourceLine>me.CDownloadsController1.addDownload args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 6 //* RemoveDownload *//</SourceLine>
<SourceLine>me.CDownloadsController1.removeDownload args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 7 //* UpdateDownloadStats *//</SourceLine>
<SourceLine>me.CDownloadsController1.updateDownloadStats args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 8 //* DownloadsUpdated *//</SourceLine>
<SourceLine>me.CDownloadsController1.statsUpdated</SourceLine>
<SourceLine>me.CQueryController1.statsUpdated</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 9 //* AddUpload *//</SourceLine>
<SourceLine>me.CUploadsController1.addUpload args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 10 //* RemoveUpload *//</SourceLine>
<SourceLine>me.CUploadsController1.removeUpload args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 11 //* UpdateUploadStats *//</SourceLine>
<SourceLine>me.CUploadsController1.updateUploadStats args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 12 //* UploadsUpdated *//</SourceLine>
<SourceLine>me.CUploadsController1.statsUpdated</SourceLine>
<SourceLine>me.CFilterController1.statsUpdated</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 13 //* AddSharedFile *//</SourceLine>
<SourceLine>me.CFileurnsController1.addSharedFile args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 14 //* BrowseHostFailed *//</SourceLine>
<SourceLine>me.CQueryController1.browseHostFailed args()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 98 //* CoreConnected *//</SourceLine>
<SourceLine>me.state = 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 99 //* CoreInitialized *//</SourceLine>
<SourceLine>me.state = 2</SourceLine>
<SourceLine>me.setValue "All"</SourceLine>
<SourceLine>me.sendBuffer</SourceLine>
<SourceLine>coreStarted</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else //* Error Messages *//</SourceLine>
<SourceLine>System.debugLog args(0)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch e as RuntimeException</SourceLine>
<SourceLine>System.debugLog e.message</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Initialize</ItemName>
<ItemParams>network as CNetworkController, query as CQueryController, downloads as CDownloadsController, uploads as CUploadsController, fileurns as CFileurnsController, filter as CFilterController</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>29</StartSelRow>
<StartSelCol>23</StartSelCol>
<EndSelRow>29</EndSelRow>
<EndSelCol>23</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Initialize(network as CNetworkController, query as CQueryController, downloads as CDownloadsController, uploads as CUploadsController, fileurns as CFileurnsController, filter as CFilterController)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim javaBundlePath as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CNetworkController1 = network</SourceLine>
<SourceLine>me.CQueryController1 = query</SourceLine>
<SourceLine>me.CDownloadsController1 = downloads</SourceLine>
<SourceLine>me.CUploadsController1 = uploads</SourceLine>
<SourceLine>me.CFileurnsController1 = fileurns</SourceLine>
<SourceLine>me.CFilterController1 = filter</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* launch LimeWire core *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if debugBuild and targetMachO</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>if getFolderItem("Contents").child("Resources").child("Java").child("CabosCore.jar").exists then</SourceLine>
<SourceLine>javaBundlePath = getFolderItem("Contents").child("Resources").child("Java").posixPath</SourceLine>
<SourceLine>me.execute _</SourceLine>
<SourceLine>"cd """ + javaBundlePath + """;" + _</SourceLine>
<SourceLine>"java " + _</SourceLine>
<SourceLine>"-Xms19M " + _</SourceLine>
<SourceLine>"-Xmx114M " + _</SourceLine>
<SourceLine>"-Dfile.encoding=UTF-8 " + _</SourceLine>
<SourceLine>"-Djava.endorsed.dirs= " + _</SourceLine>
<SourceLine>"-Djava.library.path=. " + _</SourceLine>
<SourceLine>"-Djava.net.preferIPv4Stack=true " + _</SourceLine>
<SourceLine>"-Djava.nio.preferSelect=true " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.simplelog.defaultlog=debug " + _</SourceLine>
<SourceLine>"-cp CabosCore.jar" + _</SourceLine>
<SourceLine>":clink.jar" + _</SourceLine>
<SourceLine>":commons-httpclient.jar" + _</SourceLine>
<SourceLine>":commons-logging.jar" + _</SourceLine>
<SourceLine>":cryptix.jar" + _</SourceLine>
<SourceLine>":i18n.jar" + _</SourceLine>
<SourceLine>":icu4j.jar" + _</SourceLine>
<SourceLine>":id3v2.jar" + _</SourceLine>
<SourceLine>":jcraft.jar" + _</SourceLine>
<SourceLine>":jmdns.jar" + _</SourceLine>
<SourceLine>":logicrypto.jar" + _</SourceLine>
<SourceLine>":xerces.jar" + _</SourceLine>
<SourceLine>":xml-apis.jar " + _</SourceLine>
<SourceLine>"jp.sourceforge.cabos.AqMain"</SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetMachO</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>if App.ExecutableFile.parent.parent.child("Resources").child("Java").child("CabosCore.jar").exists then</SourceLine>
<SourceLine>javaBundlePath = App.ExecutableFile.parent.parent.child("Resources").child("Java").posixPath</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.execute _</SourceLine>
<SourceLine>"cd """ + javaBundlePath + """;" + _</SourceLine>
<SourceLine>"java " + _</SourceLine>
<SourceLine>"-Xms19M " + _</SourceLine>
<SourceLine>"-Xmx114M " + _</SourceLine>
<SourceLine>"-Dfile.encoding=UTF-8 " + _</SourceLine>
<SourceLine>"-Djava.endorsed.dirs= " + _</SourceLine>
<SourceLine>"-Djava.library.path=. " + _</SourceLine>
<SourceLine>"-Djava.net.preferIPv4Stack=true " + _</SourceLine>
<SourceLine>"-Djava.nio.preferSelect=true " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.simplelog.defaultlog=error " + _</SourceLine>
<SourceLine>"-cp CabosCore.jar" + _</SourceLine>
<SourceLine>":clink.jar" + _</SourceLine>
<SourceLine>":commons-httpclient.jar" + _</SourceLine>
<SourceLine>":commons-logging.jar" + _</SourceLine>
<SourceLine>":cryptix.jar" + _</SourceLine>
<SourceLine>":i18n.jar" + _</SourceLine>
<SourceLine>":icu4j.jar" + _</SourceLine>
<SourceLine>":id3v2.jar" + _</SourceLine>
<SourceLine>":jcraft.jar" + _</SourceLine>
<SourceLine>":jmdns.jar" + _</SourceLine>
<SourceLine>":logicrypto.jar" + _</SourceLine>
<SourceLine>":xerces.jar" + _</SourceLine>
<SourceLine>":xml-apis.jar " + _</SourceLine>
<SourceLine>"jp.sourceforge.cabos.AqMain"</SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>if App.ExecutableFile.parent.child("Contents").child("Resources").child("Java").child("CabosCore.jar").exists then</SourceLine>
<SourceLine>me.port = 1024</SourceLine>
<SourceLine>me.listen</SourceLine>
<SourceLine>App.ExecutableFile.parent.child("Contents").child("Resources").child("Java").child("CabosCore").launch</SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>dim bs as binaryStream</SourceLine>
<SourceLine>dim f as folderItem</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>if App.ExecutableFile.fixRbBug.parent.child("Contents").child("Resources").child("Java").child("CabosCore.jar").exists then</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if targetNT then</SourceLine>
<SourceLine>javaBundlePath = App.ExecutableFile.fixRbBug.parent.child("Contents").child("Resources").child("Java").posixPath</SourceLine>
<SourceLine>me.execute _</SourceLine>
<SourceLine>javaBundlePath.left(2) + "&" + _</SourceLine>
<SourceLine>"cd """ + javaBundlePath + """&" + _</SourceLine>
<SourceLine>"java " + _</SourceLine>
<SourceLine>"-ss32k " + _</SourceLine>
<SourceLine>"-oss32k " + _</SourceLine>
<SourceLine>"-ms4m " + _</SourceLine>
<SourceLine>"-Xminf0.10 " + _</SourceLine>
<SourceLine>"-Xmaxf0.25 " + _</SourceLine>
<SourceLine>"-Dfile.encoding=UTF-8 " + _</SourceLine>
<SourceLine>"-Djava.library.path=. " + _</SourceLine>
<SourceLine>"-Djava.net.preferIPv4Stack=true " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.simplelog.defaultlog=error " + _</SourceLine>
<SourceLine>"-cp CabosCore.jar" + _</SourceLine>
<SourceLine>";clink.jar" + _</SourceLine>
<SourceLine>";commons-httpclient.jar" + _</SourceLine>
<SourceLine>";commons-logging.jar" + _</SourceLine>
<SourceLine>";i18n.jar" + _</SourceLine>
<SourceLine>";icu4j.jar" + _</SourceLine>
<SourceLine>";id3v2.jar" + _</SourceLine>
<SourceLine>";jcraft.jar" + _</SourceLine>
<SourceLine>";jmdns.jar" + _</SourceLine>
<SourceLine>";logicrypto.jar" + _</SourceLine>
<SourceLine>";xerces.jar" + _</SourceLine>
<SourceLine>";xml-apis.jar " + _</SourceLine>
<SourceLine>"jp.sourceforge.cabos.AqMain"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>javaBundlePath = App.ExecutableFile.fixRbBug.parent.child("Contents").child("Resources").child("Java").posixPath</SourceLine>
<SourceLine>f = PreferencesFolder.fixRbBug.child("CabosCore.bat")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>bs = f.createBinaryFile("")</SourceLine>
<SourceLine>bs.write convertEncoding( _</SourceLine>
<SourceLine>javaBundlePath.left(2) + EndOfLine + _</SourceLine>
<SourceLine>"cd """ + javaBundlePath + """" + EndOfLine + _</SourceLine>
<SourceLine>"java " + _</SourceLine>
<SourceLine>"-ss32k " + _</SourceLine>
<SourceLine>"-oss32k " + _</SourceLine>
<SourceLine>"-ms4m " + _</SourceLine>
<SourceLine>"-Xminf0.10 " + _</SourceLine>
<SourceLine>"-Xmaxf0.25 " + _</SourceLine>
<SourceLine>"-Dfile.encoding=UTF-8 " + _</SourceLine>
<SourceLine>"-Djava.library.path=. " + _</SourceLine>
<SourceLine>"-Djava.net.preferIPv4Stack=true " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.simplelog.defaultlog=error " + _</SourceLine>
<SourceLine>"-cp CabosCore.jar" + _</SourceLine>
<SourceLine>";clink.jar" + _</SourceLine>
<SourceLine>";commons-httpclient.jar" + _</SourceLine>
<SourceLine>";commons-logging.jar" + _</SourceLine>
<SourceLine>";i18n.jar" + _</SourceLine>
<SourceLine>";icu4j.jar" + _</SourceLine>
<SourceLine>";id3v2.jar" + _</SourceLine>
<SourceLine>";jcraft.jar" + _</SourceLine>
<SourceLine>";jmdns.jar" + _</SourceLine>
<SourceLine>";logicrypto.jar" + _</SourceLine>
<SourceLine>";xerces.jar" + _</SourceLine>
<SourceLine>";xml-apis.jar " + _</SourceLine>
<SourceLine>"jp.sourceforge.cabos.AqMain" + EndOfLine, _</SourceLine>
<SourceLine>Encodings.systemDefault)</SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>if bs <> nil then bs.close</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.execute convertEncoding(f.posixPath, Encodings.systemDefault)</SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetLinux</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>if App.ExecutableFile.parent.child("Contents").fixRbBug.child("Resources").fixRbBug.child("Java").fixRbBug.child("CabosCore.jar").fixRbBug.exists then</SourceLine>
<SourceLine>javaBundlePath = App.ExecutableFile.parent.child("Contents").fixRbBug.child("Resources").fixRbBug.child("Java").fixRbBug.posixPath</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.execute _</SourceLine>
<SourceLine>"cd """ + javaBundlePath + """;" + _</SourceLine>
<SourceLine>"java " + _</SourceLine>
<SourceLine>"-Xms32m " + _</SourceLine>
<SourceLine>"-Dfile.encoding=UTF-8 " + _</SourceLine>
<SourceLine>"-Djava.library.path=. " + _</SourceLine>
<SourceLine>"-Djava.net.preferIPv4Stack=true " + _</SourceLine>
<SourceLine>"-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog " + _</SourceLine>
<SourceLine>"-cp CabosCore.jar" + _</SourceLine>
<SourceLine>":clink.jar" + _</SourceLine>
<SourceLine>":commons-httpclient.jar" + _</SourceLine>
<SourceLine>":commons-logging.jar" + _</SourceLine>
<SourceLine>":cryptix.jar" + _</SourceLine>
<SourceLine>":i18n.jar" + _</SourceLine>
<SourceLine>":icu4j.jar" + _</SourceLine>
<SourceLine>":id3v2.jar" + _</SourceLine>
<SourceLine>":jcraft.jar" + _</SourceLine>
<SourceLine>":jmdns.jar" + _</SourceLine>
<SourceLine>":logicrypto.jar" + _</SourceLine>
<SourceLine>":xerces.jar" + _</SourceLine>
<SourceLine>":xml-apis.jar " + _</SourceLine>
<SourceLine>"jp.sourceforge.cabos.AqMain"</SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>coreCorrupted</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>coreDisconnected</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>6</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>6</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub coreDisconnected()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if not targetMachO and targetCarbon</SourceLine>
<SourceLine>me.close</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case me.state</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0</SourceLine>
<SourceLine>coreLoadingError</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1</SourceLine>
<SourceLine>coreBlockedByFirewall</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2</SourceLine>
<SourceLine>if me.isShuttingdown then</SourceLine>
<SourceLine>coreStopped</SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>coreCrashed</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setValue</ItemName>
<ItemParams>defaults as string, param as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>12</StartSelRow>
<StartSelCol>29</StartSelCol>
<EndSelRow>12</EndSelRow>
<EndSelCol>29</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setValue(defaults as string, param as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case defaults</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* general *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqAdultFilter"</SourceLine>
<SourceLine>me.sendCommand "setAdultFilter|" + kAqAdultFilter.getBoolAsString</SourceLine>
<SourceLine>me.sendCommand "applyFilterSettings"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqKeywordFilterKeywords"</SourceLine>
<SourceLine>me.sendCommand "setBannedKeywords|" + kAqKeywordFilterKeywords.join("|")</SourceLine>
<SourceLine>me.sendCommand "applyFilterSettings"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* download *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqSaveDirectory"</SourceLine>
<SourceLine>me.sendCommand "setSaveDirectory|" + kAqSaveDirectory</SourceLine>
<SourceLine>me.sendCommand "applySaveDirectory"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqIncompletePurgeTime"</SourceLine>
<SourceLine>me.sendCommand "setIncompletePurgeTime|" + str(kAqIncompletePurgeTime)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqConcurrentDownloads"</SourceLine>
<SourceLine>me.sendCommand "setMaxSimDownload|" + str(kAqConcurrentDownloads)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqDownstreamLimit"</SourceLine>
<SourceLine>me.sendCommand "setDownloadSpeed|" + str(kAqDownstreamLimit)</SourceLine>
<SourceLine>me.sendCommand "applyDownloadSpeed"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* sharing *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqSharedDirectories"</SourceLine>
<SourceLine>me.sendCommand "setDirectories|" + kAqSharedDirectories.join("|")</SourceLine>
<SourceLine>me.sendCommand "applyDirectories"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqPartialFileSharing"</SourceLine>
<SourceLine>me.sendCommand "setAllowPartialSharing|" + kAqPartialFileSharing.getBoolAsString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqCompleteFileSharing"</SourceLine>
<SourceLine>me.sendCommand "setAllowCompleteSharing|" + kAqCompleteFileSharing.getBoolAsString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqMaxUploads"</SourceLine>
<SourceLine>me.sendCommand "setMaxUploads|" + str(kAqMaxUploads)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqMaxUploadsPerPerson"</SourceLine>
<SourceLine>me.sendCommand "setUploadsPerPerson|" + str(kAqMaxUploadsPerPerson)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqUpstreamLimit"</SourceLine>
<SourceLine>me.sendCommand "setUploadSpeed|" + str(kAqUpstreamLimit)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* Network *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqConnectionSpeed"</SourceLine>
<SourceLine>me.sendCommand "setConnectionSpeed|" + str(kAqConnectionSpeed)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqPort"</SourceLine>
<SourceLine>me.sendCommand "setPort|" + str(kAqPort)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqUPnPType"</SourceLine>
<SourceLine>me.sendCommand "setUPnPType|" + str(kAqUPnPType)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqEnableUltrapeer"</SourceLine>
<SourceLine>me.sendCommand "setEnableUltrapeer|" + kAqEnableUltrapeer.getBoolAsString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqLocale"</SourceLine>
<SourceLine>me.sendCommand "setUsesLocalePreferencing|" + kAqLocale.getBoolAsString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqPreferLocale"</SourceLine>
<SourceLine>me.sendCommand "setLanguage|" + kAqPreferLocale</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqAllowFreeloaders"</SourceLine>
<SourceLine>me.sendCommand "setAllowFreeloaders|" + kAqAllowFreeloaders.getBoolAsString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* Advanced *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqUseProxy"</SourceLine>
<SourceLine>if kAqUseProxy then</SourceLine>
<SourceLine>me.sendCommand "setProxyType|" + str(kAqProxyType)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.sendCommand "setProxyType|0"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqProxyServer"</SourceLine>
<SourceLine>me.sendCommand "setProxyServer|" + kAqProxyServer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqProxyPort"</SourceLine>
<SourceLine>me.sendCommand "setProxyPort|" + str(kAqProxyPort)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqProxyRequiresAuthentication"</SourceLine>
<SourceLine>me.sendCommand "setRequiresAuthentication|" + kAqProxyRequiresAuthentication.getBoolAsString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqProxyUsername"</SourceLine>
<SourceLine>me.sendCommand "setProxyUsername|" + kAqProxyUsername</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqProxyPassword"</SourceLine>
<SourceLine>me.sendCommand "setProxyPassword|" + kAqProxyPassword</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqProxyPrivate"</SourceLine>
<SourceLine>me.sendCommand "setProxyPrivate|" + kAqProxyPrivate.getBoolAsString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "kAqIPFilterIPs"</SourceLine>
<SourceLine>me.sendCommand "setBannedIPs|" + kAqIPFilterIPs.join("|")</SourceLine>
<SourceLine>me.sendCommand "applyFilterSettings"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case "All"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* general *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.sendCommand "setAdultFilter|" + kAqAdultFilter.getBoolAsString</SourceLine>
<SourceLine>me.sendCommand "setBannedKeywords|" + kAqKeywordFilterKeywords.join("|")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* download *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.sendCommand "setSaveDirectory|" + kAqSaveDirectory</SourceLine>
<SourceLine>me.sendCommand "setIncompletePurgeTime|" + str(kAqIncompletePurgeTime)</SourceLine>
<SourceLine>me.sendCommand "setMaxSimDownload|" + str(kAqConcurrentDownloads)</SourceLine>
<SourceLine>me.sendCommand "setDownloadSpeed|" + str(kAqDownstreamLimit)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* sharing *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.sendCommand "setDirectories|" + kAqSharedDirectories.join("|")</SourceLine>
<SourceLine>me.sendCommand "setAllowPartialSharing|" + kAqPartialFileSharing.getBoolAsString</SourceLine>
<SourceLine>me.sendCommand "setAllowCompleteSharing|" + kAqCompleteFileSharing.getBoolAsString</SourceLine>
<SourceLine>me.sendCommand "setMaxUploads|" + str(kAqMaxUploads)</SourceLine>
<SourceLine>me.sendCommand "setUploadsPerPerson|" + str(kAqMaxUploadsPerPerson)</SourceLine>
<SourceLine>me.sendCommand "setUploadSpeed|" + str(kAqUpstreamLimit)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* network *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.sendCommand "setConnectionSpeed|" + str(kAqConnectionSpeed)</SourceLine>
<SourceLine>me.sendCommand "setPort|" + str(kAqPort)</SourceLine>
<SourceLine>me.sendCommand "setUPnPType|" + str(kAqUPnPType)</SourceLine>
<SourceLine>me.sendCommand "setEnableUltrapeer|" + kAqEnableUltrapeer.getBoolAsString</SourceLine>
<SourceLine>me.sendCommand "setUsesLocalePreferencing|" + kAqLocale.getBoolAsString</SourceLine>
<SourceLine>me.sendCommand "setLanguage|" + kAqPreferLocale</SourceLine>
<SourceLine>me.sendCommand "setAllowFreeloaders|" + kAqAllowFreeloaders.getBoolAsString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* advanced *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqUseProxy then</SourceLine>
<SourceLine>me.sendCommand "setProxyType|" + str(kAqProxyType)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.sendCommand "setProxyType|0"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.sendCommand "setProxyServer|" + kAqProxyServer</SourceLine>
<SourceLine>me.sendCommand "setProxyPort|" + str(kAqProxyPort)</SourceLine>
<SourceLine>me.sendCommand "setRequiresAuthentication|" + kAqProxyRequiresAuthentication.getBoolAsString</SourceLine>
<SourceLine>me.sendCommand "setProxyUsername|" + kAqProxyUsername</SourceLine>
<SourceLine>me.sendCommand "setProxyPassword|" + kAqProxyPassword</SourceLine>
<SourceLine>me.sendCommand "setProxyPrivate|" + kAqProxyPrivate.getBoolAsString</SourceLine>
<SourceLine>me.sendCommand "setBannedIPs|" + kAqIPFilterIPs.join("|")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.sendCommand "start"</SourceLine>
<SourceLine></SourceLine>
<SourceLine><Hex bytes="98">2F2FE3828FE3819FE38197E381AFE3819DE381AEE69C9DE38081E38284E3828FE38289E3818BE3818FE88595E38292E4BCB8E381B0E38197E3819FE38081E3819DE3828CE3818CE69982E99693E38292E4BD9CE381A3E381A6E38184E381A3E3819F</Hex></SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setValue</ItemName>
<ItemParams>defaults as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setValue(defaults as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.setValue defaults, ""</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>sendCommand</ItemName>
<ItemParams>arg as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>13</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>13</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub sendCommand(arg as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.state < 2 then</SourceLine>
<SourceLine>me.buffers.append arg</SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMachO or targetWin32 or targetLinux</SourceLine>
<SourceLine>if me.isRunning then</SourceLine>
<SourceLine>me.writeLine arg</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>if me.isConnected then</SourceLine>
<SourceLine>me.write arg</SourceLine>
<SourceLine>me.write EndOfLine.UNIX</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>sendBuffer</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>21</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>21</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub sendBuffer()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim buffer as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for each buffer in me.buffers</SourceLine>
<SourceLine>me.sendCommand buffer</SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>redim me.buffers(-1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>shutdown</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub shutdown()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.isShuttingdown = true</SourceLine>
<SourceLine>me.sendCommand "shutdown"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>coreStarted</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>coreLoadingError</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>coreStopped</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>coreCorrupted</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>coreBlockedByFirewall</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>coreCrashed</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>SendComplete</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub SendComplete(userAborted as Boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Connected</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Connected()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Error</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Error()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Completed</ItemName>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Completed()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.coreDisconnected</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>DataAvailable</ItemName>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub DataAvailable()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMachO or targetWin32 or targetLinux</SourceLine>
<SourceLine>dim messages(-1) as string</SourceLine>
<SourceLine>dim line as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>messages = me.readAll.defineEncoding(Encodings.UTF8).replaceAllB(EndOfLine, EndOfLine.UNIX).split(EndOfLine.UNIX)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for each line in messages</SourceLine>
<SourceLine>me.commandAvailable line.split("<aq/>")</SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>dim position as integer = me.lookahead(Encodings.UTF8).instrb(EndOfLine.UNIX)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>while position <> 0</SourceLine>
<SourceLine>me.commandAvailable me.read(position - 1, Encodings.UTF8).split("<aq/>")</SourceLine>
<SourceLine>call me.read(1)</SourceLine>
<SourceLine>position = me.lookahead(Encodings.UTF8).instrb(EndOfLine.UNIX)</SourceLine>
<SourceLine>wend</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1116271590">
<ObjName>CDefaultsController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="68" top="235" width="807" height="519"/></EditBounds>
<EditSplit>253</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="68" top="235" width="807" height="519"/></EditBounds>
<EditSplit>253</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CDefaultsController</ObjName>
<ObjSize>28</ObjSize>
<IsInterface>0</IsInterface>
<Property Flags="1">prefs as plist</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Write</ItemName>
<ItemParams>key as string, value as variant</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>12</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>12</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Write(key as string, value as variant)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case value.type</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 11 //* boolean *//</SourceLine>
<SourceLine>me.prefs.root.setBoolean key, value.BooleanValue</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* integer *//</SourceLine>
<SourceLine>me.prefs.root.setInteger key, value.IntegerValue</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 8 //* string *//</SourceLine>
<SourceLine>me.prefs.root.setString key, value.StringValue</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Read</ItemName>
<ItemParams>key as string, value as variant</ItemParams>
<ItemResult>variant</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>15</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>15</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function Read(key as string, value as variant) As variant</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.prefs.root.exists(key) = false then return value</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>select case value.type</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 11 //* boolean *//</SourceLine>
<SourceLine>value = me.prefs.root.getBoolean(key)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* integer *//</SourceLine>
<SourceLine>value = me.prefs.root.getInteger(key)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 8 //* string *//</SourceLine>
<SourceLine>value = me.prefs.root.getString(key)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return value</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>WriteArrayString</ItemName>
<ItemParams>key as string, values() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub WriteArrayString(key as string, values() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.prefs.root.SetList key, values, 0, ubound(values)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>4</StartSelRow>
<StartSelCol>2</StartSelCol>
<EndSelRow>4</EndSelRow>
<EndSelCol>2</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* load preferences *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim f as folderItem</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>f = PreferencesFolder.Child("Cabos.plist")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>f = PreferencesFolder.fixRbBug.Child("Cabos.plist")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetLinux</SourceLine>
<SourceLine>f = PreferencesFolder.Child("Cabos.plist").fixRbBug</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.prefs = new plist(f)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Destructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>6</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>6</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Destructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* save preferences *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.prefs.Save</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>ReadArrayString</ItemName>
<ItemParams>key as string, values() as string</ItemParams>
<ItemResult>String()</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>7</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>7</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function ReadArrayString(key as string, values() as string) As String()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.prefs.root.exists(key) = false then return values</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.prefs.root.GetList(key, values, 0)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return values</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>ReadArrayInteger</ItemName>
<ItemParams>key as string, values() as integer</ItemParams>
<ItemResult>Integer()</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>7</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>7</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function ReadArrayInteger(key as string, values() as integer) As Integer()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.prefs.root.exists(key) = false then return values</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.prefs.root.GetList(key, values, 0)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return values</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>ReadArrayBoolean</ItemName>
<ItemParams>key as string, values() as boolean</ItemParams>
<ItemResult>Boolean()</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>7</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>7</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function ReadArrayBoolean(key as string, values() as boolean) As Boolean()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.prefs.root.exists(key) = false then return values</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.prefs.root.GetList(key, values, 0)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return values</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>WriteArrayBoolean</ItemName>
<ItemParams>key as string, values() as boolean</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub WriteArrayBoolean(key as string, values() as boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.prefs.root.SetList key, values, 0, ubound(values)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>WriteArrayInteger</ItemName>
<ItemParams>key as string, values() as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub WriteArrayInteger(key as string, values() as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.prefs.root.SetList key, values, 0, ubound(values)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1115998815">
<ObjName>CDownloadsController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="92" top="280" width="876" height="349"/></EditBounds>
<EditSplit>211</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="92" top="280" width="876" height="349"/></EditBounds>
<EditSplit>211</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CDownloadsController</ObjName>
<ObjSize>36</ObjSize>
<Superclass>CTransferController</Superclass>
<IsInterface>0</IsInterface>
<Property Flags="1">markedTable as dictionary</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>addDownload</ItemName>
<ItemParams>args() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>6</StartSelRow>
<StartSelCol>27</StartSelCol>
<EndSelRow>6</EndSelRow>
<EndSelCol>27</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub addDownload(args() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(args) <> 6 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.representedInfos.hasKey(args(1).val) then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as new CDownloadModel(args)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedObjects.append c</SourceLine>
<SourceLine>me.representedInfos.value(c.getRepresentation) = ubound(me.representedObjects)</SourceLine>
<SourceLine>me.flush</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.markedTable.value(c.sha1) = true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>removeDownload</ItemName>
<ItemParams>args() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>52</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>52</EndSelRow>
<EndSelCol>17</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub removeDownload(args() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(args) <> 1 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim hashCode as integer = args(1).val</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.representedInfos.hasKey(hashCode) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim infoArray as integer = me.representedInfos.value(hashCode)</SourceLine>
<SourceLine>dim c as CDownloadModel = CDownloadModel(me.representedObjects(infoArray))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.isComplete = true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim f, m as folderItem</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.isCanceled = false then</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>select case c.getMediaType</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1 //* music *//</SourceLine>
<SourceLine>if kAqMoveMusic and kAqMoveMusicLocation <> "" then</SourceLine>
<SourceLine>f = getPath2FolderItem(c.path)</SourceLine>
<SourceLine>m = getPath2FolderItem(kAqMoveMusicLocation)</SourceLine>
<SourceLine>f.moveFileTo m</SourceLine>
<SourceLine>c.path = m.child(f.name).posixPath</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* picture *//</SourceLine>
<SourceLine>if kAqMovePictures and kAqMovePicturesLocation <> "" then</SourceLine>
<SourceLine>f = getPath2FolderItem(c.path)</SourceLine>
<SourceLine>m = getPath2FolderItem(kAqMovePicturesLocation)</SourceLine>
<SourceLine>f.moveFileTo m</SourceLine>
<SourceLine>c.path = m.child(f.name).posixPath</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 3 //* movie *//</SourceLine>
<SourceLine>if kAqMoveMovies and kAqMoveMoviesLocation <> "" then</SourceLine>
<SourceLine>f = getPath2FolderItem(c.path)</SourceLine>
<SourceLine>m = getPath2FolderItem(kAqMoveMoviesLocation)</SourceLine>
<SourceLine>f.moveFileTo m</SourceLine>
<SourceLine>c.path = m.child(f.name).posixPath</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>downloadCompleted c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.isCanceled or kAqAutoClearDownloads then</SourceLine>
<SourceLine>me.remove infoArray</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>c.invalidateValues</SourceLine>
<SourceLine>me.representedObjects(infoArray) = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.flush</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>updateDownloadStats</ItemName>
<ItemParams>args() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>40</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>40</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub updateDownloadStats(args() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(args) <> 12 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim hashCode as integer = args(1).val</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.representedInfos.hasKey(hashCode) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim infoArray as integer = me.representedInfos.value(hashCode)</SourceLine>
<SourceLine>dim c as CDownloadModel = CDownloadModel(me.representedObjects(infoArray))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.updateStats args</SourceLine>
<SourceLine>c.invalidateValues</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedObjects(infoArray) = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>statsUpdated</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>8</StartSelRow>
<StartSelCol>18</StartSelCol>
<EndSelRow>8</EndSelRow>
<EndSelCol>18</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub statsUpdated()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim o as CStatsModel</SourceLine>
<SourceLine>dim c as CTransferModel</SourceLine>
<SourceLine>dim downloading, negociating as integer</SourceLine>
<SourceLine>dim bandwidth as double</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for each o in me.representedObjects</SourceLine>
<SourceLine>c = CTransferModel(o)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.isActive then</SourceLine>
<SourceLine>downloading = downloading + 1</SourceLine>
<SourceLine>bandwidth = bandwidth + c.measuredBandwidth</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif c.isComplete = false then</SourceLine>
<SourceLine>negociating = negociating + 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.flush</SourceLine>
<SourceLine>updateCell downloading, negociating, bandwidth</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getDownloadHosts</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult>string</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>21</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>21</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getDownloadHosts(index as integer) As string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return CDownloadModel(me.representedObjects(index)).hosts</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>super.Constructor</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.markedTable = new Dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>hasMarkedDownloadItem</ItemName>
<ItemParams>sha1 as string</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function hasMarkedDownloadItem(sha1 as string) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.markedTable.hasKey(sha1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>updateCell</ItemName>
<ItemParams>downloading as variant, negociating as variant, bandwidth as double</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>downloadCompleted</ItemName>
<ItemParams>c as CDownloadModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Open</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Open()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1069082124">
<ObjName>CEditMenuController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="92" top="111" width="640" height="405"/></EditBounds>
<EditSplit>181</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="92" top="111" width="640" height="405"/></EditBounds>
<EditSplit>181</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CEditMenuController</ObjName>
<ObjSize>113</ObjSize>
<Superclass>ContextualMenu</Superclass>
<IsInterface>0</IsInterface>
<Property Flags="1">target as CEditField</Property>
<Property Flags="1">actionPerformed as boolean</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openEditMenu</ItemName>
<ItemParams>target as CEditField</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>5</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>5</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function openEditMenu(target as CEditField) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.actionPerformed = false</SourceLine>
<SourceLine>me.target = target</SourceLine>
<SourceLine>me.target.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as new clipboard</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.target.selLength <> 0 then</SourceLine>
<SourceLine>me.addrow getLocalizedString("Cut", "ContextualMenu")</SourceLine>
<SourceLine>me.addrow getLocalizedString("Copy", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.TextAvailable then _</SourceLine>
<SourceLine>me.addrow getLocalizedString("Paste", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addrow getLocalizedString("Clear", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.target.text.lenb <> 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addrow getLocalizedString("Select All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.close</SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.target = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.actionPerformed</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Close</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Close()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Action</ItemName>
<ItemSource>
<StartSelRow>32</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>32</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Action(item As String)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.actionPerformed = true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as new clipboard</SourceLine>
<SourceLine>dim position as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Cut", "ContextualMenu")</SourceLine>
<SourceLine>c.text = me.target.selText</SourceLine>
<SourceLine>position = me.target.selStart</SourceLine>
<SourceLine>me.target.text = me.target.text.left(me.target.selStart) + _</SourceLine>
<SourceLine>me.target.text.mid(me.target.selStart + me.target.selLength + 1)</SourceLine>
<SourceLine>me.target.selStart = position</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Copy", "ContextualMenu")</SourceLine>
<SourceLine>c.text = me.target.selText</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Paste", "ContextualMenu")</SourceLine>
<SourceLine>me.target.selText = c.text</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear", "ContextualMenu")</SourceLine>
<SourceLine>me.target.text = ""</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Select All", "ContextualMenu")</SourceLine>
<SourceLine>me.target.selStart = 0</SourceLine>
<SourceLine>me.target.selLength = me.target.text.len</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.close</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1113925870">
<ObjName>CFileurnsController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="18" top="197" width="900" height="551"/></EditBounds>
<EditSplit>244</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="18" top="197" width="900" height="551"/></EditBounds>
<EditSplit>244</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CFileurnsController</ObjName>
<ObjSize>28</ObjSize>
<IsInterface>0</IsInterface>
<Property Flags="1">fileURNs as dictionary</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>hasKey</ItemName>
<ItemParams>sha1 as string</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function hasKey(sha1 as string) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return kAqExistingFileMatching and me.fileURNs.hasKey(sha1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>addSharedFile</ItemName>
<ItemParams>args() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>4</StartSelRow>
<StartSelCol>14</StartSelCol>
<EndSelRow>4</EndSelRow>
<EndSelCol>14</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub addSharedFile(args() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqExistingFileMatching = false or ubound(args) <> 1 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.fileURNs.value(args(1)) = true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>load</ItemName>
<ItemParams>cache as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>14</StartSelRow>
<StartSelCol>9</StartSelCol>
<EndSelRow>14</EndSelRow>
<EndSelCol>9</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub load(cache as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim r as new regEx</SourceLine>
<SourceLine>dim m as regexMatch</SourceLine>
<SourceLine>dim bs as binaryStream</SourceLine>
<SourceLine>dim s as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>#if targetMachO</SourceLine>
<SourceLine>bs = PreferencesFolder.parent.child("Application Support").child("Cabos").child(cache).OpenAsBinaryFile(false)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>bs = PreferencesFolder.child(".cabos").child(cache).OpenAsBinaryFile(false)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>if PreferencesFolder.fixRbBug.child("Cabos").exists then</SourceLine>
<SourceLine>bs = PreferencesFolder.fixRbBug.child("Cabos").child(cache).OpenAsBinaryFile(false)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif PreferencesFolder.fixRbBug.parent.child(".cabos").exists then</SourceLine>
<SourceLine>bs = PreferencesFolder.fixRbBug.parent.child(".cabos").child(cache).OpenAsBinaryFile(false)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetLinux</SourceLine>
<SourceLine>bs = PreferencesFolder.child(".cabos").fixRbBug.child(cache).fixRbBug.OpenAsBinaryFile(false)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>s = bs.read(bs.length, Encodings.ASCII)</SourceLine>
<SourceLine>r.searchPattern = "(urn\:sha1\:[A-Z0-9]+)q"</SourceLine>
<SourceLine>m = r.search(s)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>while m <> nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.fileURNs.value(m.subExpressionString(1)) = true</SourceLine>
<SourceLine>m = r.search(s, m.subExpressionStartB(1) + m.subExpressionString(1).lenb)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>wend</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>if bs <> nil then bs.close</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>6</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>6</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.fileURNs = new dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqExistingFileMatching then</SourceLine>
<SourceLine>load "fileurns.cache"</SourceLine>
<SourceLine>'load "ttree.cache"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1115211420">
<ObjName>CFilterController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="70" top="89" width="912" height="417"/></EditBounds>
<EditSplit>339</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="70" top="89" width="912" height="417"/></EditBounds>
<EditSplit>339</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CFilterController</ObjName>
<ObjSize>44</ObjSize>
<IsInterface>0</IsInterface>
<Property Flags="1">CQueryController1 as CQueryController</Property>
<Property Flags="1">sortDirection as integer</Property>
<Property Flags="1">sortColumn as integer</Property>
<Property Flags="1">needsSort as boolean</Property>
<Property Flags="1">currentFilter as CFilterModel</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Initialize</ItemName>
<ItemParams>query as CQueryController</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Initialize(query as CQueryController)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CQueryController1 = query</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>filterResults</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>28</StartSelRow>
<StartSelCol>53</StartSelCol>
<EndSelRow>28</EndSelRow>
<EndSelCol>53</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub filterResults()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim index as integer = me.CQueryController1.getCurrentIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CQueryController1.hasQueryModel(index) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim query as CQueryModel = me.CQueryController1.getQueryModel(index)</SourceLine>
<SourceLine>dim o as CStatsModel</SourceLine>
<SourceLine>dim c as CResponseModel</SourceLine>
<SourceLine>dim d(-1) as CResponseModel</SourceLine>
<SourceLine>dim f as new dictionary</SourceLine>
<SourceLine>dim k as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for each o in query.response.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c = CResponseModel(o)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.isFilteredResponse(c) then</SourceLine>
<SourceLine>d.append c</SourceLine>
<SourceLine>f.value(c.sha1) = k</SourceLine>
<SourceLine>k = k + 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CQueryController1.setFilteredQuery new CQueryModel(d, f)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setSizeFilter</ItemName>
<ItemParams>value as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setSizeFilter(value as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.size = value</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setBitrateFilter</ItemName>
<ItemParams>value as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setBitrateFilter(value as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.bitrate = value</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setMediaFilter</ItemName>
<ItemParams>value as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setMediaFilter(value as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.media = value</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setKeywordFilter</ItemName>
<ItemParams>value as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setKeywordFilter(value as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.keyword = value.lowercase</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>isFilteredResponse</ItemName>
<ItemParams>c as CResponseModel</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>10</StartSelRow>
<StartSelCol>10</StartSelCol>
<EndSelRow>10</EndSelRow>
<EndSelCol>10</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function isFilteredResponse(c as CResponseModel) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return (c.spam = false or kAqSpamFilter = false) and _</SourceLine>
<SourceLine>((me.currentFilter.enabled = false) or _</SourceLine>
<SourceLine>(me.currentFilter.media = 0 or me.currentFilter.media = c.mediaType) and _</SourceLine>
<SourceLine>(me.currentFilter.bitrate <= c.bitrate) and _</SourceLine>
<SourceLine>(me.currentFilter.size <= c.fileSize) and _</SourceLine>
<SourceLine>(me.currentFilter.sources <= c.sources) and _</SourceLine>
<SourceLine>(me.currentFilter.speed <= c.speed) and _</SourceLine>
<SourceLine>(me.currentFilter.keyword.lenb = 0 or _</SourceLine>
<SourceLine>c.fileName.lowercase.instrb(me.currentFilter.keyword) <> 0 or _</SourceLine>
<SourceLine>c.artist.lowercase.instrb(me.currentFilter.keyword) <> 0 or _</SourceLine>
<SourceLine>c.album.lowercase.instrb(me.currentFilter.keyword) <> 0 or _</SourceLine>
<SourceLine>c.title.lowercase.instrb(me.currentFilter.keyword) <> 0))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>updateResults</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>31</StartSelRow>
<StartSelCol>53</StartSelCol>
<EndSelRow>31</EndSelRow>
<EndSelCol>53</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub updateResults()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim index as integer = me.CQueryController1.getCurrentIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CQueryController1.hasQueryModel(index) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim k as integer</SourceLine>
<SourceLine>dim query as CQueryModel = me.CQueryController1.getQueryModel(index)</SourceLine>
<SourceLine>dim o as CStatsModel</SourceLine>
<SourceLine>dim c as CResponseModel</SourceLine>
<SourceLine>dim d(-1) as CResponseModel</SourceLine>
<SourceLine>dim f as new dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>query.response.sort me.currentFilter.sortColumn, me.currentFilter.sortDirection</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for each o in query.response.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c = CResponseModel(o)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.isFilteredResponse(c) then</SourceLine>
<SourceLine>d.append c</SourceLine>
<SourceLine>f.value(c.sha1) = k</SourceLine>
<SourceLine>k = k + 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CQueryController1.setQueryModel index, query</SourceLine>
<SourceLine>me.CQueryController1.setFilteredQuery new CQueryModel(d, f)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setSortDirection</ItemName>
<ItemParams>value as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setSortDirection(value as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.sortDirection = value</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setSortColumn</ItemName>
<ItemParams>value as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setSortColumn(value as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.sortColumn = value</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setNeedsSort</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>12</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>12</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setNeedsSort()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.needsSort = true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>35</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>35</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter = new CFilterModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>toggleFilterEnabled</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub toggleFilterEnabled()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.enabled = not me.currentFilter.enabled</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setSpeedFilter</ItemName>
<ItemParams>value as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setSpeedFilter(value as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.speed = value</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setSourcesFilter</ItemName>
<ItemParams>value as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setSourcesFilter(value as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.sources = value</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setCurrentFilter</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>4</StartSelRow>
<StartSelCol>54</StartSelCol>
<EndSelRow>4</EndSelRow>
<EndSelCol>54</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setCurrentFilter()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter = me.CQueryController1.getFilterModel()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>statsUpdated</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub statsUpdated()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* query result stack *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.needsSort then</SourceLine>
<SourceLine>me.needsSort = false</SourceLine>
<SourceLine>me.updateResults</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>ignoreResults</ItemName>
<ItemParams>selectedItems as dictionary</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>40</StartSelRow>
<StartSelCol>53</StartSelCol>
<EndSelRow>40</EndSelRow>
<EndSelCol>53</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub ignoreResults(selectedItems as dictionary)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim index as integer = me.CQueryController1.getCurrentIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CQueryController1.hasQueryModel(index) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, k as integer</SourceLine>
<SourceLine>dim query as CQueryModel = me.CQueryController1.getQueryModel(index)</SourceLine>
<SourceLine>dim o as CStatsModel</SourceLine>
<SourceLine>dim c as CResponseModel</SourceLine>
<SourceLine>dim d(-1) as CResponseModel</SourceLine>
<SourceLine>dim f as new dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = ubound(query.response.representedObjects) downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c = CResponseModel(query.response.representedObjects(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if selectedItems.hasKey(c.getRepresentation) then _</SourceLine>
<SourceLine>query.response.representedObjects.remove i</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>query.response.rehash</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for each o in query.response.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c = CResponseModel(o)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.isFilteredResponse(c) then</SourceLine>
<SourceLine>d.append c</SourceLine>
<SourceLine>f.value(c.sha1) = k</SourceLine>
<SourceLine>k = k + 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CQueryController1.setQueryModel index, query</SourceLine>
<SourceLine>me.CQueryController1.setFilteredQuery new CQueryModel(d, f)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setScrollPosition</ItemName>
<ItemParams>value as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setScrollPosition(value as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil or me.CQueryController1 = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentFilter.scrollPosition = value</SourceLine>
<SourceLine>me.CQueryController1.setFilterModel new CFilterModel(me.currentFilter)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>updateFilter</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub updateFilter()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentFilter = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>filterChanged me.currentFilter</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>isFilteredResponse</ItemName>
<ItemParams>c as CResponseModel, filter as CFilterModel</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>10</StartSelRow>
<StartSelCol>10</StartSelCol>
<EndSelRow>10</EndSelRow>
<EndSelCol>10</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function isFilteredResponse(c as CResponseModel, filter as CFilterModel) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return (c.spam = false or kAqSpamFilter = false) and _</SourceLine>
<SourceLine>((filter.enabled = false) or _</SourceLine>
<SourceLine>(filter.media = 0 or filter.media = c.mediaType) and _</SourceLine>
<SourceLine>(filter.bitrate <= c.bitrate) and _</SourceLine>
<SourceLine>(filter.size <= c.fileSize) and _</SourceLine>
<SourceLine>(filter.sources <= c.sources) and _</SourceLine>
<SourceLine>(filter.speed <= c.speed) and _</SourceLine>
<SourceLine>(filter.keyword.lenb = 0 or _</SourceLine>
<SourceLine>c.fileName.lowercase.instrb(filter.keyword) <> 0 or _</SourceLine>
<SourceLine>c.artist.lowercase.instrb(filter.keyword) <> 0 or _</SourceLine>
<SourceLine>c.album.lowercase.instrb(filter.keyword) <> 0 or _</SourceLine>
<SourceLine>c.title.lowercase.instrb(filter.keyword) <> 0))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>filterChanged</ItemName>
<ItemParams>c as CFilterModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1113854283">
<ObjName>CiTunesController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="95" top="75" width="545" height="405"/></EditBounds>
<EditSplit>193</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="95" top="75" width="545" height="405"/></EditBounds>
<EditSplit>193</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CiTunesController</ObjName>
<ObjSize>24</ObjSize>
<IsInterface>0</IsInterface>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>launchiTunes</ItemName>
<ItemParams></ItemParams>
<ItemResult>Boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>12</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>12</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function launchiTunes() As Boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>if me.getPlayerState <> -1 then return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim ae as AppleEvent</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("aevt", "odoc", "MACS")</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = GetUniqueIDObjectDescriptor("appf", nil, "hook")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return ae.Send</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>pause</ItemName>
<ItemParams></ItemParams>
<ItemResult>Boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>7</StartSelRow>
<StartSelCol>11</StartSelCol>
<EndSelRow>7</EndSelRow>
<EndSelCol>11</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function pause() As Boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>dim ae as AppleEvent</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("hook", "Paus", "hook")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return ae.Send</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>new OLEObject("iTunes.Application").Pause</SourceLine>
<SourceLine>return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>play</ItemName>
<ItemParams>track As variant</ItemParams>
<ItemResult>Boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>15</StartSelRow>
<StartSelCol>6</StartSelCol>
<EndSelRow>15</EndSelRow>
<EndSelCol>6</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function play(track As variant) As Boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>dim ae as AppleEvent</SourceLine>
<SourceLine>dim obj1, obj2 as AppleEventObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>obj1 = GetStringComparisonObjectDescriptor("= ", "prop", "pDID", track)</SourceLine>
<SourceLine>obj2 = GetIndexedObjectDescriptor("cLiP", nil, 1)</SourceLine>
<SourceLine>obj2 = GetTestObjectDescriptor("cTrk", obj2, obj1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("hook", "Play", "hook")</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = obj2</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return ae.Send</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>OLEObject(track.objectValue).Play</SourceLine>
<SourceLine>return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getPlayerState</ItemName>
<ItemParams></ItemParams>
<ItemResult>Integer</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>3</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getPlayerState() As Integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>dim ae as AppleEvent</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("core", "getd", "hook")</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = GetPropertyObjectDescriptor(nil, "pPlS")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send then</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if StrComp(ae.ReplyString, "kPSp", 0) = 0 then // paused</SourceLine>
<SourceLine>return 2</SourceLine>
<SourceLine></SourceLine>
<SourceLine>Elseif StrComp(ae.ReplyString, "kPSP", 0) = 0 then // playing</SourceLine>
<SourceLine>return 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>Elseif StrComp(ae.ReplyString, "kPSS", 0) = 0 then // stopped</SourceLine>
<SourceLine>return 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>return new OLEObject("iTunes.Application").PlayerState</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>makePlaylist</ItemName>
<ItemParams>playlist As String</ItemParams>
<ItemResult>variant</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>14</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>14</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function makePlaylist(playlist As String) As variant</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>dim ae as AppleEvent</SourceLine>
<SourceLine>dim rec as AppleEventRecord</SourceLine>
<SourceLine></SourceLine>
<SourceLine>rec = New AppleEventRecord</SourceLine>
<SourceLine>rec.StringParam("pnam") = playlist.convertEncoding(Encodings.systemDefault)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("core", "crel", "hook")</SourceLine>
<SourceLine>ae.RecordParam("prdt") = rec</SourceLine>
<SourceLine>ae.MacTypeParam("kocl") = "cPly"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send then return ae.ReplyInteger</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>new OLEObject("iTunes.Application").CreatePlaylist playlist</SourceLine>
<SourceLine>return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getPlaylistIndex</ItemName>
<ItemParams>Playlist As String</ItemParams>
<ItemResult>Integer</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>3</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getPlaylistIndex(Playlist As String) As Integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>dim ae as AppleEvent</SourceLine>
<SourceLine>dim obj as AppleEventObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>obj = GetNamedObjectDescriptor("cPly", nil, Playlist.convertEncoding(Encodings.systemDefault))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("core", "getd", "hook")</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = GetPropertyObjectDescriptor(obj, "pidx")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send then return ae.ReplyInteger</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>dim o as OLEObject</SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>o = new OLEObject("iTunes.Application").LibrarySource.Playlists</SourceLine>
<SourceLine>j = o.count</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 1 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if o.Item(i).Name = Playlist then return i</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>addTrackToPlaylist</ItemName>
<ItemParams>track as variant, Playlist As Variant</ItemParams>
<ItemResult>variant</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>13</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>13</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function addTrackToPlaylist(track as variant, Playlist As Variant) As variant</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>dim ae as AppleEvent</SourceLine>
<SourceLine>dim obj1 as AppleEventObjectSpecifier</SourceLine>
<SourceLine>dim obj2 as AppleEventObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>obj1 = GetStringComparisonObjectDescriptor("= ", "prop", "pDID", track)</SourceLine>
<SourceLine>obj2 = GetIndexedObjectDescriptor("cLiP", nil, 1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("core", "clon", "hook")</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = GetTestObjectDescriptor("cTrk", obj2, obj1)</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("insh") = GetIndexedObjectDescriptor("cPly", nil, playlist)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send and ae.ReplyObjectSpecifier <> nil then</SourceLine>
<SourceLine>obj1 = ae.ReplyObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("core", "getd", "hook")</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = GetPropertyObjectDescriptor(obj1, "pDID")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send then return ae.ReplyInteger</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>dim o as OLEObject</SourceLine>
<SourceLine>dim v(1) as variant</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>v(1) = track.objectValue</SourceLine>
<SourceLine>o = new OLEObject("iTunes.Application").LibrarySource.Playlists.ItemByName(Playlist.stringValue)</SourceLine>
<SourceLine>o = o.invoke("AddTrack", v)</SourceLine>
<SourceLine>return o</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getCurrentTrackArtist</ItemName>
<ItemParams></ItemParams>
<ItemResult>string</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>3</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getCurrentTrackArtist() As string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>Dim ae As AppleEvent</SourceLine>
<SourceLine>Dim obj As AppleEventObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>obj = GetPropertyObjectDescriptor( Nil, "pTrk" )</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent( "core", "getd", "hook" )</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = GetPropertyObjectDescriptor( obj, "pArt" )</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send then return ae.ReplyString.convertEncoding(Encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif TargetWin32</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>return new OLEObject("iTunes.Application").CurrentTrack.Artist</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getCurrentTrackName</ItemName>
<ItemParams></ItemParams>
<ItemResult>string</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>3</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getCurrentTrackName() As string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>Dim ae As AppleEvent</SourceLine>
<SourceLine>Dim obj As AppleEventObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>obj = GetPropertyObjectDescriptor( Nil, "pTrk" )</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent( "core", "getd", "hook" )</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = GetPropertyObjectDescriptor( obj, "pnam" )</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send then return ae.ReplyString.convertEncoding(Encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif TargetWin32</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>return new OLEObject("iTunes.Application").CurrentTrack.Name</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>addFileToLibrary</ItemName>
<ItemParams>item As FolderItem</ItemParams>
<ItemResult>variant</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>11</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>11</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function addFileToLibrary(item As FolderItem) As variant</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>dim ae as AppleEvent</SourceLine>
<SourceLine>dim obj as AppleEventObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>obj = GetIndexedObjectDescriptor("cLiP", nil, 1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("hook", "Add ","hook")</SourceLine>
<SourceLine>ae.FolderItemParam("----") = item</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("insh") = obj</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send and ae.ReplyObjectSpecifier <> nil then</SourceLine>
<SourceLine>obj = ae.ReplyObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent("core", "getd", "hook")</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = GetPropertyObjectDescriptor(obj, "pDID")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ae.Send then return ae.ReplyInteger</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>dim o as OLEObject</SourceLine>
<SourceLine>dim v(1) as variant</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>v(1) = item.posixPath</SourceLine>
<SourceLine>o = new OLEObject("iTunes.Application").LibraryPlaylist.invoke("AddFile", v)</SourceLine>
<SourceLine>return o.Tracks.Item(o.Tracks.count)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>play</ItemName>
<ItemParams>TrackID As variant, PlaylistIndex As integer</ItemParams>
<ItemResult>Boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>16</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>16</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function play(TrackID As variant, PlaylistIndex As integer) As Boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMacOS</SourceLine>
<SourceLine>Dim ae As AppleEvent</SourceLine>
<SourceLine>Dim obj1, obj2 As AppleEventObjectSpecifier</SourceLine>
<SourceLine></SourceLine>
<SourceLine>obj1 = GetStringComparisonObjectDescriptor("= ", "prop", "pDID", trackID)</SourceLine>
<SourceLine>obj2 = GetIndexedObjectDescriptor("cPly", nil, PlaylistIndex)</SourceLine>
<SourceLine>obj2 = GetTestObjectDescriptor("cTrk", obj2, obj1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>ae = NewAppleEvent( "hook", "Play", "hook" )</SourceLine>
<SourceLine>ae.ObjectSpecifierParam("----") = obj2</SourceLine>
<SourceLine></SourceLine>
<SourceLine>Return ae.Send</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getPlaylistName</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult>string</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>3</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getPlaylistName(index as integer) As string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetWin32</SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>return new OLEObject("iTunes.Application").LibrarySource.Playlists.Item(Index).Name</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1116299062">
<ObjName>CLocalizationController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="97" top="165" width="685" height="345"/></EditBounds>
<EditSplit>181</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="97" top="165" width="685" height="345"/></EditBounds>
<EditSplit>181</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CLocalizationController</ObjName>
<ObjSize>28</ObjSize>
<IsInterface>0</IsInterface>
<Property Flags="1">table as dictionary</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getLocalizedStringFromTable</ItemName>
<ItemParams>key as string, tableName as string</ItemParams>
<ItemResult>string</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getLocalizedStringFromTable(key as string, tableName as string) As string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if key.lenb = 0 then return ""</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if debugBuild and targetMachO</SourceLine>
<SourceLine>if me.table.haskey(tableName) = false then me.table.value(tableName) = new dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if Dictionary(me.table.value(tableName)).hasKey(key) = false then Dictionary(me.table.value(tableName)).value(key) = key</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.table.haskey(tableName) and Dictionary(me.table.value(tableName)).hasKey(key) then return Dictionary(me.table.value(tableName)).value(key)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return key</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Destructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>27</StartSelRow>
<StartSelCol>4</StartSelCol>
<EndSelRow>27</EndSelRow>
<EndSelCol>4</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Destructor()</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'#if debugBuild and targetMachO</SourceLine>
<SourceLine>'dim bs as binaryStream</SourceLine>
<SourceLine>'dim d as dictionary</SourceLine>
<SourceLine>'dim i, j, k as integer</SourceLine>
<SourceLine>'dim fi as folderItem = getFolderItem("Contents").child("Resources").Child("English.lproj")</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'for i = me.table.count - 1 downto 0</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'try</SourceLine>
<SourceLine>'bs = fi.child(me.table.key(i) + ".strings").createBinaryFile("")</SourceLine>
<SourceLine>'bs.write encodings.UTF16.chr(&hFEFF)</SourceLine>
<SourceLine>'d = me.table.value(me.table.key(i))</SourceLine>
<SourceLine>'k = d.count - 1</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'for j = 0 to k</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'bs.write convertEncoding("""" + d.key(j).replaceAllB("""", "\""").replaceAllB(EndOfLine, "\n") + """ = """ + d.value(d.key(j)).replaceAllB("""", "\""").replaceAllB(EndOfLine, "\n") + """;" + EndOfLine.UNIX, encodings.UTF16)</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'next</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'catch</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'finally</SourceLine>
<SourceLine>'if bs <> nil then bs.close</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'end</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'next</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'#endif</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>loadLocalizedStrings</ItemName>
<ItemParams>fi as folderItem</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>35</StartSelRow>
<StartSelCol>25</StartSelCol>
<EndSelRow>35</EndSelRow>
<EndSelCol>25</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub loadLocalizedStrings(fi as folderItem)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim bom, tableName, raw, key, value as string</SourceLine>
<SourceLine>dim bs as binaryStream</SourceLine>
<SourceLine>dim r as new regex</SourceLine>
<SourceLine>dim m as regexmatch</SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine>dim utf16bigbom as string = chrb(&hFE) + chrb(&hFF)</SourceLine>
<SourceLine>dim utf16littlebom as string = chrb(&hFF) + chrb(&hFE)</SourceLine>
<SourceLine>dim utf8bom as string = chrb(&hEF) + chrb(&hBB) + chrb(&hBF)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>r.searchpattern = """(.+)""\s*=\s*""(.*)"";"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = fi.count downto 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if strcomp(fi.item(i).name.rightb(8), ".strings", 0) = 0 then</SourceLine>
<SourceLine>tableName = fi.item(i).name.replaceb(".strings", "")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>bs = fi.item(i).openAsBinaryFile(false)</SourceLine>
<SourceLine>bom = bs.read(3)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if strcomp(bom.leftB(2), utf16bigbom, 0) = 0 then</SourceLine>
<SourceLine>bs.position = 2</SourceLine>
<SourceLine>#if targetWin32 or targetLinux or targetX86 'Intel</SourceLine>
<SourceLine>raw = bs.read(bs.length - 2).reverseEndian.convertEncoding(encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetMacOS 'PowerPC</SourceLine>
<SourceLine>raw = bs.read(bs.length - 2, encodings.UTF16).convertEncoding(encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif strcomp(bom.leftB(2), utf16littlebom, 0) = 0 then</SourceLine>
<SourceLine>bs.position = 2</SourceLine>
<SourceLine>#if targetWin32 or targetLinux or targetX86 'Intel</SourceLine>
<SourceLine>raw = bs.read(bs.length - 2, encodings.UTF16).convertEncoding(encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetMacOS 'PowerPC</SourceLine>
<SourceLine>raw = bs.read(bs.length - 2).reverseEndian.convertEncoding(encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif strcomp(bom, utf8bom, 0) = 0 then</SourceLine>
<SourceLine>bs.position = 3</SourceLine>
<SourceLine>raw = bs.read(bs.length - 3, encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>bs.position = 0</SourceLine>
<SourceLine>raw = bs.read(bs.length, encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.table.value(tableName) = new dictionary</SourceLine>
<SourceLine>m = r.search(raw)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>while m <> nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>key = m.SubExpressionString(1).replaceAllB("\""", """").replaceAllB("\n", EndOfLine)</SourceLine>
<SourceLine>value = m.SubExpressionString(2).replaceAllb("\""", """").replaceAllb("\n", EndOfLine)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if strcomp(key, value, 0) <> 0 then _</SourceLine>
<SourceLine>Dictionary(me.table.value(tableName)).value(key) = value</SourceLine>
<SourceLine>m = r.search(raw, m.subExpressionStartB(2) + m.subExpressionString(2).lenb)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>wend</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>if bs <> nil then bs.close</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>165</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>165</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.table = new dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim fi as folderItem</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* find .lproj folder for current language *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if debugBuild and targetMachO</SourceLine>
<SourceLine>'dim MainBundle as new CFBundle(new CFURL(getFolderItem("")))</SourceLine>
<SourceLine>'dim locArray as CFArray = MainBundle.Localizations</SourceLine>
<SourceLine>'dim preferLoc as CFArray = MainBundle.PreferredLocalizations(locArray)</SourceLine>
<SourceLine>'dim currentLanguage as string = new CFString(preferLoc.value(0))</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'try</SourceLine>
<SourceLine>'fi = getFolderItem("Contents").child("Resources").child(currentLanguage + ".lproj")</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'catch</SourceLine>
<SourceLine>'</SourceLine>
<SourceLine>'end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetMachO</SourceLine>
<SourceLine>dim MainBundle as new CFBundle</SourceLine>
<SourceLine>dim locArray as CFArray = MainBundle.Localizations</SourceLine>
<SourceLine>dim preferLoc as CFArray = MainBundle.PreferredLocalizations(locArray)</SourceLine>
<SourceLine>dim currentLanguage as string = new CFString(preferLoc.value(0))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>fi = App.ExecutableFile.parent.parent.child("Resources").child(currentLanguage + ".lproj")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>Declare Function GetScriptVariable lib kCarbon (script as short, selector as short) as short</SourceLine>
<SourceLine>Declare Function GetScriptManagerVariable lib kCarbon (selector as short) as short</SourceLine>
<SourceLine>Declare Function LocaleRefFromLangOrRegionCode lib kCarbon (LangCode as short, RegionCode as short, LocaleRef as Integer) as short</SourceLine>
<SourceLine>Declare Function LocaleRefGetPartString lib kCarbon (locale as Integer, partMask as Integer, maxStringLen as short, partString as Ptr) as short</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim languageCode, regionCode, error as integer</SourceLine>
<SourceLine>dim str255 as new MemoryBlock(255)</SourceLine>
<SourceLine>dim localeRef as Integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>const kSystemScript = -1</SourceLine>
<SourceLine>const kCurrentLanguage = 28</SourceLine>
<SourceLine>const smRegionCode = 40</SourceLine>
<SourceLine>const kLocaleAllPartsMask = &h0000003F</SourceLine>
<SourceLine></SourceLine>
<SourceLine>languageCode = GetScriptVariable(kSystemScript, kCurrentLanguage)</SourceLine>
<SourceLine>regionCode = GetScriptManagerVariable(smRegionCode)</SourceLine>
<SourceLine>error = LocaleRefFromLangOrRegionCode(languageCode, regionCode, localeRef)</SourceLine>
<SourceLine>error = LocaleRefGetPartString(localeRef, kLocaleAllPartsMask, str255.Size, str255)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim d as new Dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* A *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>d.value(0) = "English"</SourceLine>
<SourceLine>d.value(1) = "French"</SourceLine>
<SourceLine>d.value(2) = "German"</SourceLine>
<SourceLine>d.value(3) = "Italian"</SourceLine>
<SourceLine>d.value(4) = "Dutch"</SourceLine>
<SourceLine>d.value(5) = "Swedish"</SourceLine>
<SourceLine>d.value(6) = "Spanish"</SourceLine>
<SourceLine>d.value(7) = "Danish"</SourceLine>
<SourceLine>d.value(8) = "Portuguese"</SourceLine>
<SourceLine>d.value(9) = "Norwegian"</SourceLine>
<SourceLine>d.value(10) = "Hebrew"</SourceLine>
<SourceLine>d.value(11) = "Japanese"</SourceLine>
<SourceLine>d.value(12) = "Arabic"</SourceLine>
<SourceLine>d.value(13) = "Finnish"</SourceLine>
<SourceLine>d.value(14) = "Greek"</SourceLine>
<SourceLine>d.value(15) = "Icelandic"</SourceLine>
<SourceLine>d.value(16) = "Maltese"</SourceLine>
<SourceLine>d.value(17) = "Turkish"</SourceLine>
<SourceLine>d.value(18) = "Croatian"</SourceLine>
<SourceLine>d.value(19) = "Traditional Chinese"</SourceLine>
<SourceLine>d.value(20) = "Urdu"</SourceLine>
<SourceLine>d.value(21) = "Hindi"</SourceLine>
<SourceLine>d.value(22) = "Thai"</SourceLine>
<SourceLine>d.value(23) = "Korean"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* B *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>d.value(24) = "Lithuanian"</SourceLine>
<SourceLine>d.value(25) = "Polish"</SourceLine>
<SourceLine>d.value(26) = "Hungarian"</SourceLine>
<SourceLine>d.value(27) = "Estonian"</SourceLine>
<SourceLine>d.value(28) = "Lettish"</SourceLine>
<SourceLine>d.value(29) = "Sami"</SourceLine>
<SourceLine>d.value(30) = "Faroese"</SourceLine>
<SourceLine>d.value(31) = "Farsi"</SourceLine>
<SourceLine>d.value(31) = "Persian"</SourceLine>
<SourceLine>d.value(32) = "Russian"</SourceLine>
<SourceLine>d.value(33) = "Simplified Chinese"</SourceLine>
<SourceLine>d.value(34) = "Flemish"</SourceLine>
<SourceLine>d.value(35) = "Irish Gaelic"</SourceLine>
<SourceLine>d.value(36) = "Albanian"</SourceLine>
<SourceLine>d.value(37) = "Romanian"</SourceLine>
<SourceLine>d.value(38) = "Czech"</SourceLine>
<SourceLine>d.value(39) = "Slovak"</SourceLine>
<SourceLine>d.value(40) = "Slovenian"</SourceLine>
<SourceLine>d.value(41) = "Yiddish"</SourceLine>
<SourceLine>d.value(42) = "Serbian"</SourceLine>
<SourceLine>d.value(43) = "Macedonian"</SourceLine>
<SourceLine>d.value(44) = "Bulgarian"</SourceLine>
<SourceLine>d.value(45) = "Ukrainian"</SourceLine>
<SourceLine>d.value(46) = "Byelorussian"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>fi = App.executableFile.parent.child("Contents").child("Resources").child(str255.CString(0) + ".lproj")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if fi.exists = false then _</SourceLine>
<SourceLine>fi = App.executableFile.parent.child("Contents").child("Resources").child(str255.CString(0).leftb(2) + ".lproj")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if fi.exists = false then _</SourceLine>
<SourceLine>fi = App.executableFile.parent.child("Contents").child("Resources").child(d.value(languageCode) + ".lproj")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>Declare Function GetLocaleInfoA Lib "kernel32" (Locale As integer, LCType As integer, lpLCData As ptr, cchData As integer) As Integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim mb as memoryBlock</SourceLine>
<SourceLine>dim iso639, locale, english as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>Const LOCALE_USER_DEFAULT = &H400</SourceLine>
<SourceLine>Const LOCALE_SISO639LANGNAME = &H59</SourceLine>
<SourceLine>Const LOCALE_SISO3166CTRYNAME = &H5A</SourceLine>
<SourceLine>Const LOCALE_SENGLANGUAGE = &H1001</SourceLine>
<SourceLine></SourceLine>
<SourceLine>mb = new MemoryBlock( 256 )</SourceLine>
<SourceLine>call GetLocaleInfoA( LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, mb, mb.Size )</SourceLine>
<SourceLine>iso639 = mb.CString( 0 ).defineEncoding(Encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>mb = new MemoryBlock( 256 )</SourceLine>
<SourceLine>call GetLocaleInfoA( LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, mb, mb.Size )</SourceLine>
<SourceLine>locale = iso639 + "_" + mb.CString( 0 ).defineEncoding(Encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>mb = new MemoryBlock( 256 )</SourceLine>
<SourceLine>call GetLocaleInfoA( LOCALE_USER_DEFAULT, LOCALE_SENGLANGUAGE, mb, mb.Size )</SourceLine>
<SourceLine>english = mb.CString( 0 ).defineEncoding(Encodings.UTF8)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>fi = App.ExecutableFile.fixRbBug.parent.child("Contents").child("Resources").child(iso639 + ".lproj")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if fi.exists = false then _</SourceLine>
<SourceLine>fi = App.ExecutableFile.fixRbBug.parent.child("Contents").child("Resources").child(locale + ".lproj")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if fi.exists = false then _</SourceLine>
<SourceLine>fi = App.ExecutableFile.fixRbBug.parent.child("Contents").child("Resources").child(english + ".lproj")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetLinux</SourceLine>
<SourceLine>'todo</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if fi <> nil and fi.exists then</SourceLine>
<SourceLine>me.loadLocalizedStrings fi</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1115888021">
<ObjName>CActionsController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="161" top="44" width="724" height="720"/></EditBounds>
<EditSplit>250</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="161" top="44" width="724" height="720"/></EditBounds>
<EditSplit>250</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CActionsController</ObjName>
<ObjSize>140</ObjSize>
<Superclass>ContextualMenu</Superclass>
<IsInterface>0</IsInterface>
<Property Flags="1">actionType as integer</Property>
<Property Flags="1">receiver as CStatsListBox</Property>
<Property Flags="1">CQueryController1 as CQueryController</Property>
<Property Flags="1">CNetworkController1 as CNetworkController</Property>
<Property Flags="1">CDownloadsController1 as CDownloadsController</Property>
<Property Flags="1">CUploadsController1 as CUploadsController</Property>
<Property Flags="1">CCoreController1 as CCoreController</Property>
<Property Flags="1">CFilterController1 as CFilterController</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionHeading</ItemName>
<ItemParams>item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>21</StartSelRow>
<StartSelCol>37</StartSelCol>
<EndSelRow>21</EndSelRow>
<EndSelCol>37</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionHeading(item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if item = getLocalizedString("Reset to Default", "ContextualMenu") then</SourceLine>
<SourceLine>me.receiver.setColumnWidths me.receiver.getInitialColumnWidths</SourceLine>
<SourceLine>me.receiver.headingIndex = -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver isa CResponseListBox then</SourceLine>
<SourceLine>me.CFilterController1.setSortColumn -1</SourceLine>
<SourceLine>me.CFilterController1.setSortDirection ListBox.sortAscending</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>item = item.replaceb(kChecked, "").replaceb(kUnchecked, "")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = me.receiver.columnCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.heading(i) = item then</SourceLine>
<SourceLine>if me.receiver.column(i).widthExpression = "0%" then</SourceLine>
<SourceLine>me.receiver.column(i).userResizable = true</SourceLine>
<SourceLine>me.receiver.column(i).widthExpression = _</SourceLine>
<SourceLine>me.receiver.getInitialColumnWidths.nthField(",", i + 1).trim</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.receiver.column(i).userResizable = false</SourceLine>
<SourceLine>me.receiver.column(i).widthExpression = "0%"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.receiver.columnWidths = me.receiver.columnWidths</SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openHeadingMenu</ItemName>
<ItemParams>sender as CStatsListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>11</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>11</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openHeadingMenu(sender as CStatsListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 1 //* heading *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine>j = me.receiver.columnCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.column(i).MaxWidthExpression <> me.receiver.column(i).MinWidthExpression then</SourceLine>
<SourceLine>if me.receiver.column(i).WidthExpression = "0%" then</SourceLine>
<SourceLine>me.addRow kUnchecked + me.receiver.heading(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.addRow kChecked + me.receiver.heading(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Reset to Default", "ContextualMenu")</SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openNetworkMenu</ItemName>
<ItemParams>sender as CStatsListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>60</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>60</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openNetworkMenu(sender as CStatsListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 2 //* network *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case me.receiver.selCount</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>addBrowseHostFromNetwork me.receiver.listIndex, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(items) = 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(0))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then _</SourceLine>
<SourceLine>addBrowseHostFromNetwork i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionNetwork</ItemName>
<ItemParams>item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>26</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>26</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionNetwork(item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>actionNetworkRemove me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine>me.receiver.selectAll</SourceLine>
<SourceLine>actionNetworkRemove me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then _</SourceLine>
<SourceLine>addBrowseHostFromNetwork i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CQueryController1.handleQueryBrowse items(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.CQueryController1.handleQueryBrowse _</SourceLine>
<SourceLine>item.replaceb(getLocalizedStringWithStringData("Browse %@", "ContextualMenu", ""), "")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openSidebarMenu</ItemName>
<ItemParams>sender as CStatsListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>23</StartSelRow>
<StartSelCol>52</StartSelCol>
<EndSelRow>23</EndSelRow>
<EndSelCol>52</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openSidebarMenu(sender as CStatsListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 3 //* sidebar *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.listIndex <> -1 then</SourceLine>
<SourceLine>if me.receiver.selcount <> 1 then</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif CStatsModel(me.receiver.dataSource(me.receiver.listIndex)).getRepresentation < 0 then</SourceLine>
<SourceLine>me.addRow getLocalizedString("Start Query", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CQueryController1.getKeepInSidebar(CStatsModel(me.receiver.dataSource(me.receiver.listIndex)).getRepresentation) = false then _</SourceLine>
<SourceLine>me.addRow getLocalizedString("Keep in Sidebar", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.addRow getLocalizedString("Stop Query", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CQueryController1.getKeepInSidebar(CStatsModel(me.receiver.dataSource(me.receiver.listIndex)).getRepresentation) = false then _</SourceLine>
<SourceLine>me.addRow getLocalizedString("Keep in Sidebar", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selcount <> 1 then</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Results and Restart Query", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Results", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif me.CQueryController1.getResponseCount <> 0 then</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Results and Restart Query", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Results", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All Queries", "ContextualMenu")</SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionSidebar</ItemName>
<ItemParams>item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>24</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>24</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionSidebar(item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Start Query", "ContextualMenu")</SourceLine>
<SourceLine>me.CQueryController1.startQuery false</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Stop Query", "ContextualMenu")</SourceLine>
<SourceLine>me.CQueryController1.stopQuery' CStatsModel(me.receiver.dataSource(me.receiver.listIndex)).getRepresentation</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Keep in Sidebar", "ContextualMenu")</SourceLine>
<SourceLine>me.CQueryController1.setKeepInSidebar CStatsModel(me.receiver.dataSource(me.receiver.listIndex)).getRepresentation, true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>actionSidebarRemove me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear All Results and Restart Query", "ContextualMenu")</SourceLine>
<SourceLine>for i = me.receiver.listCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then</SourceLine>
<SourceLine>me.CQueryController1.clearAllResults CStatsModel(me.receiver.dataSource(i)).getRepresentation</SourceLine>
<SourceLine>me.CQueryController1.startQuery CStatsModel(me.receiver.dataSource(i)).getRepresentation, false</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear All Results", "ContextualMenu")</SourceLine>
<SourceLine>for i = me.receiver.listCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then</SourceLine>
<SourceLine>me.CQueryController1.clearAllResults CStatsModel(me.receiver.dataSource(i)).getRepresentation</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove All Queries", "ContextualMenu")</SourceLine>
<SourceLine>me.CQueryController1.removeAllQueries</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openResponseMenu</ItemName>
<ItemParams>sender as CStatsListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>18</StartSelRow>
<StartSelCol>46</StartSelCol>
<EndSelRow>18</EndSelRow>
<EndSelCol>46</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openResponseMenu(sender as CStatsListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 4 //* query results *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case me.receiver.selCount</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Results", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1</SourceLine>
<SourceLine>me.addRow getLocalizedString("Download", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CQueryController1.hasQueryString(me.receiver.helpTag) = false then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Find More Sources", "ContextualMenu")</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>#if targetMachO or targetWin32 or targetLinux</SourceLine>
<SourceLine>me.addRow getLocalizedString("Mark As Spam", "ContextualMenu")</SourceLine>
<SourceLine>if kAqSpamFilter = false then _</SourceLine>
<SourceLine>me.addRow getLocalizedString("Mark As Not Spam", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Results", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>addBrowseHostFromResponse(me.receiver.listIndex, items())</SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.addRow getLocalizedString("Download", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>#if targetMachO or targetWin32 or targetLinux</SourceLine>
<SourceLine>me.addRow getLocalizedString("Mark As Spam", "ContextualMenu")</SourceLine>
<SourceLine>if kAqSpamFilter = false then _</SourceLine>
<SourceLine>me.addRow getLocalizedString("Mark As Not Spam", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Results", "ContextualMenu")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then addBrowseHostFromResponse(i, items())</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>addBrowseHostFromResponse</ItemName>
<ItemParams>index as integer, byref items() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>63</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>63</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub addBrowseHostFromResponse(index as integer, byref items() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CResponseModel = me.CQueryController1.getResponseModel(index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c = nil then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(c.address)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.isBrowseHostEnabled(i) and _</SourceLine>
<SourceLine>items.indexOf(c.address(i)) = -1 and _</SourceLine>
<SourceLine>me.CQueryController1.hasQueryString(c.address(i)) = false then _</SourceLine>
<SourceLine>items.append c.address(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>items.sort</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionResponse</ItemName>
<ItemParams>item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>49</StartSelRow>
<StartSelCol>88</StartSelCol>
<EndSelRow>49</EndSelRow>
<EndSelCol>88</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionResponse(item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim arg, items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Download", "ContextualMenu")</SourceLine>
<SourceLine>actionResponseDownload me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Mark As Spam", "ContextualMenu")</SourceLine>
<SourceLine>actionResponseSpam me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Mark As Not Spam", "ContextualMenu")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "removeSpamFiles|" + me.CQueryController1.getLocalIndexes(i)</SourceLine>
<SourceLine>me.CQueryController1.setQuerySpam(i, false)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CCoreController1.sendCommand "applyFilterSettings"</SourceLine>
<SourceLine>me.CFilterController1.filterResults</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear All Results", "ContextualMenu")</SourceLine>
<SourceLine>me.CQueryController1.clearAllResults</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine>if me.receiver.selected(i) then addBrowseHostFromResponse i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>CQueryController1.handleQueryBrowse items(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Find More Sources", "ContextualMenu")</SourceLine>
<SourceLine>me.CQueryController1.handleQueryFindMoreSources me.receiver.helpTag.split(EndOfLine).top</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.CQueryController1.handleQueryBrowse _</SourceLine>
<SourceLine>item.replaceb(getLocalizedStringWithStringData("Browse %@", "ContextualMenu", ""), "")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionResponseDownload</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>11</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>11</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionResponseDownload(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = targetListBox.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if targetListBox.selected(i) then</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "download|" + me.CQueryController1.getLocalIndexes(i)</SourceLine>
<SourceLine>me.CQueryController1.setQueryMarked(i, true)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CQueryController1.flush</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openDownloadsMenu</ItemName>
<ItemParams>sender as CStatsListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>31</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>31</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openDownloadsMenu(sender as CStatsListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 5 //* downloads *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case me.receiver.selCount</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1</SourceLine>
<SourceLine>me.addRow getLocalizedString("Open", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Open With...", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Reveal in Finder", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* if not completed *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CDownloadsController1.isCompletedTransferItem(me.receiver.listIndex) = false then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Resume", "ContextualMenu")</SourceLine>
<SourceLine>if me.CQueryController1.hasQueryString(me.receiver.helpTag) = false then _</SourceLine>
<SourceLine>me.addRow getLocalizedString("Find More Sources", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>addBrowseHostFromDownloads me.receiver.listIndex, items()</SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else //* if not completed *//</SourceLine>
<SourceLine>me.addRow getLocalizedString("Resume", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then _</SourceLine>
<SourceLine>addBrowseHostFromDownloads i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openUploadsMenu</ItemName>
<ItemParams>sender as CStatsListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>58</StartSelRow>
<StartSelCol>4</StartSelCol>
<EndSelRow>58</EndSelRow>
<EndSelCol>10</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openUploadsMenu(sender as CStatsListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 6 //* uploads *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case me.receiver.selCount</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1</SourceLine>
<SourceLine>me.addRow getLocalizedString("Open", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Open With...", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Reveal in Finder", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine>addBrowseHostFromUploads me.receiver.listIndex, items()</SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else //* if not completed *//</SourceLine>
<SourceLine>me.addRow getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>me.addRow getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then _</SourceLine>
<SourceLine>addBrowseHostFromUploads i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then me.addSeparator</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionDownloads</ItemName>
<ItemParams>item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>73</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>73</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionDownloads(item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim fi(1) as folderItem</SourceLine>
<SourceLine>dim path, items(-1) as string</SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim hasActiveTransfers as boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Open", "ContextualMenu")</SourceLine>
<SourceLine>actionDownloadsOpen me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Open With...", "ContextualMenu")</SourceLine>
<SourceLine>if kAqWarnOpening = false or me.CDownloadsController1.isCompletedTransferItem(me.receiver.listIndex) or askOpening then</SourceLine>
<SourceLine>path = me.CDownloadsController1.getTransferPath(me.receiver.listIndex)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if path.lenB <> 0 then fi(0) = getPath2FolderItem(path)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>fi(1) = getOpenFolderItem("application/executable")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if fi(0) <> nil and fi(0).exists and fi(1) <> nil and fi(1).exists then _</SourceLine>
<SourceLine>fi(0).openWith(fi(1))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Reveal in Finder", "ContextualMenu")</SourceLine>
<SourceLine>actionDownloadsRevealInFinder me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Pause", "ContextualMenu")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) and _</SourceLine>
<SourceLine>me.CDownloadsController1.isCompletedTransferItem(i) = false then _</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "pauseDownload|" + me.CDownloadsController1.getTransferHashCode(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Resume", "ContextualMenu")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine>if me.receiver.selected(i) and _</SourceLine>
<SourceLine>me.CDownloadsController1.isCompletedTransferItem(i) = false then _</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "retryDownload|" + me.CDownloadsController1.getTransferHashCode(i)</SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Find More Sources", "ContextualMenu")</SourceLine>
<SourceLine>if me.CDownloadsController1.isCompletedTransferItem(me.receiver.listIndex) = false then _</SourceLine>
<SourceLine>me.CQueryController1.handleQueryFindMoreSources me.CDownloadsController1.getTransferFileName(me.receiver.listIndex)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine>for i = me.receiver.listCount - 1 downto 0</SourceLine>
<SourceLine>if me.CDownloadsController1.isCompletedTransferItem(i) then _</SourceLine>
<SourceLine>me.CDownloadsController1.remove(i)</SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CDownloadsController1.statsUpdated</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>actionDownloadsRemove me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine>me.receiver.selectAll</SourceLine>
<SourceLine>actionDownloadsRemove me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine>if me.receiver.selected(i) then addBrowseHostFromDownloads i, items()</SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine>me.CQueryController1.handleQueryBrowse items(i)</SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else //* browse one selected host *//</SourceLine>
<SourceLine>me.CQueryController1.handleQueryBrowse _</SourceLine>
<SourceLine>item.replaceb(getLocalizedStringWithStringData("Browse %@", "ContextualMenu", ""), "")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>addBrowseHostFromDownloads</ItemName>
<ItemParams>index as integer, byref items() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>16</StartSelRow>
<StartSelCol>5</StartSelCol>
<EndSelRow>16</EndSelRow>
<EndSelCol>5</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub addBrowseHostFromDownloads(index as integer, byref items() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim elements(-1) as string = _</SourceLine>
<SourceLine>me.CDownloadsController1.getDownloadHosts(index).split(",")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(elements) - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if items.indexOf(elements(i)) = -1 and _</SourceLine>
<SourceLine>me.CQueryController1.hasQueryString(elements(i)) = false then _</SourceLine>
<SourceLine>items.append elements(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>items.sort</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>addBrowseHostFromUploads</ItemName>
<ItemParams>index as integer, byref items() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>10</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>10</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub addBrowseHostFromUploads(index as integer, byref items() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim element as string = me.CUploadsController1.getUploadIPAndPort(index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if element.lenB <> 0 and _</SourceLine>
<SourceLine>items.indexOf(element) = -1 and _</SourceLine>
<SourceLine>me.CQueryController1.hasQueryString(element) = false then _</SourceLine>
<SourceLine>items.append element</SourceLine>
<SourceLine></SourceLine>
<SourceLine>items.sort</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionUploads</ItemName>
<ItemParams>item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>48</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>48</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionUploads(item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim fi(1) as folderItem</SourceLine>
<SourceLine>dim path, items(-1) as string</SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Open", "ContextualMenu")</SourceLine>
<SourceLine>actionUploadsOpen me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Open With...", "ContextualMenu")</SourceLine>
<SourceLine>path = me.CUploadsController1.getTransferPath(me.receiver.listIndex)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if path.lenB <> 0 then _</SourceLine>
<SourceLine>fi(0) = getPath2FolderItem(path)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>fi(1) = getOpenFolderItem("application/executable")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if fi(0) <> nil and fi(0).exists and fi(1) <> nil and fi(1).exists then _</SourceLine>
<SourceLine>fi(0).openWith(fi(1))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Reveal in Finder", "ContextualMenu")</SourceLine>
<SourceLine>actionUploadsRevealInFinder me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine>for i = me.receiver.listCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CUploadsController1.isCompletedTransferItem(i) then _</SourceLine>
<SourceLine>me.CUploadsController1.remove(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CUploadsController1.statsUpdated</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine>actionUploadsRemove me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove All", "ContextualMenu")</SourceLine>
<SourceLine>me.receiver.selectAll</SourceLine>
<SourceLine>actionUploadsRemove me.receiver</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then _</SourceLine>
<SourceLine>addBrowseHostFromUploads i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CQueryController1.handleQueryBrowse items(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else //* browse one selected host *//</SourceLine>
<SourceLine>me.CQueryController1.handleQueryBrowse _</SourceLine>
<SourceLine>item.replaceb(getLocalizedStringWithStringData("Browse %@", "ContextualMenu", ""), "")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionDownloadsRevealInFinder</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionDownloadsRevealInFinder(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CDownloadsController1.getTransferPath(targetListBox.listIndex).revealInFinder</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionDownloadsOpen</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionDownloadsOpen(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqWarnOpening = false or me.CDownloadsController1.isCompletedTransferItem(targetListBox.listIndex) or askOpening then _</SourceLine>
<SourceLine>me.CDownloadsController1.getTransferPath(targetListBox.listIndex).open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionDownloadsRemove</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>18</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>18</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionDownloadsRemove(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine>dim hasActiveTransfers as boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = targetListBox.listCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if targetListBox.selected(i) and _</SourceLine>
<SourceLine>me.CDownloadsController1.isCompletedTransferItem(i) = false then</SourceLine>
<SourceLine>hasActiveTransfers = true</SourceLine>
<SourceLine>exit</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqWarnDownloads and hasActiveTransfers and askRemoving = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = targetListBox.listCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if targetListBox.selected(i) then</SourceLine>
<SourceLine>if me.CDownloadsController1.isCompletedTransferItem(i) then</SourceLine>
<SourceLine>me.CDownloadsController1.remove(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif me.CDownloadsController1.setCanceled(i) then</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "cancelDownload|" + me.CDownloadsController1.getTransferHashCode(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CDownloadsController1.statsUpdated</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionNetworkRemove</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>4</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>4</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionNetworkRemove(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = targetListBox.listCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if targetListBox.selected(i) then _</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "closeConnection|" + me.CNetworkController1.getHostAndPort(i).replace(":", "|")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openDownloadsMenu</ItemName>
<ItemParams>sender as CStatsListBox, item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>16</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>16</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openDownloadsMenu(sender as CStatsListBox, item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 5 //* downloads *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Browse", "Toolbar")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then _</SourceLine>
<SourceLine>addBrowseHostFromDownloads i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then</SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selCount <> 0 then _</SourceLine>
<SourceLine>actionDownloads getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear", "Toolbar")</SourceLine>
<SourceLine>actionDownloads getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Reveal", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selCount = 1 then _</SourceLine>
<SourceLine>actionDownloads getLocalizedString("Reveal in Finder", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Resume", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selCount > 0 then _</SourceLine>
<SourceLine>actionDownloads getLocalizedString("Resume", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Pause", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selCount > 0 then _</SourceLine>
<SourceLine>actionDownloads getLocalizedString("Pause", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openNetworkMenu</ItemName>
<ItemParams>sender as CStatsListBox, item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openNetworkMenu(sender as CStatsListBox, item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 2 //* network *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Browse", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selcount > 0 then</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then _</SourceLine>
<SourceLine>addBrowseHostFromNetwork i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then</SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selcount > 0 then _</SourceLine>
<SourceLine>actionNetwork getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openResponseMenu</ItemName>
<ItemParams>sender as CStatsListBox, item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>50</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>50</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openResponseMenu(sender as CStatsListBox, item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 4 //* query results *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Browse", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selCount > 0 then</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then addBrowseHostFromResponse(i, items())</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then</SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Download", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selCount > 0 then _</SourceLine>
<SourceLine>actionResponse getLocalizedString("Download", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Filter", "Toolbar")</SourceLine>
<SourceLine>me.actionResponseFilterResults</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openUploadsMenu</ItemName>
<ItemParams>sender as CStatsListBox, item as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>33</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>33</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openUploadsMenu(sender as CStatsListBox, item as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.actionType = 6 //* uploads *//</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.receiver.setFocus</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Browse", "Toolbar")</SourceLine>
<SourceLine>j = me.receiver.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.receiver.selected(i) then _</SourceLine>
<SourceLine>addBrowseHostFromUploads i, items()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(items)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.addRow getLocalizedStringWithStringData("Browse %@", "ContextualMenu", items(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j > 0 then</SourceLine>
<SourceLine>me.addSeparator</SourceLine>
<SourceLine>me.addRow getLocalizedString("Browse All Selected Hosts", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if j <> -1 then</SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selCount > 0 then _</SourceLine>
<SourceLine>actionUploads getLocalizedString("Remove", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear", "Toolbar")</SourceLine>
<SourceLine>actionUploads getLocalizedString("Clear All Completed", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Reveal", "Toolbar")</SourceLine>
<SourceLine>if me.receiver.selCount = 1 then _</SourceLine>
<SourceLine>actionUploads getLocalizedString("Reveal in Finder", "ContextualMenu")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.actionType = 0 //* initialize *//</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionSidebarRemove</ItemName>
<ItemParams>targetListBox as CStatsListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>12</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>12</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionSidebarRemove(targetListBox as CStatsListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = targetListBox.listCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if targetListBox.selected(i) then _</SourceLine>
<SourceLine>me.CQueryController1.removeQuery CStatsModel(targetListBox.dataSource(i)).getRepresentation</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>targetListBox.listIndex = -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Initialize</ItemName>
<ItemParams>core as CCoreController, query as CQueryController, filter as CFilterController, network as CNetworkController, downloads as CDownloadsController, uploads as CUploadsController</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>8</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>8</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Initialize(core as CCoreController, query as CQueryController, filter as CFilterController, network as CNetworkController, downloads as CDownloadsController, uploads as CUploadsController)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CCoreController1 = core</SourceLine>
<SourceLine>me.CQueryController1 = query</SourceLine>
<SourceLine>me.CFilterController1 = filter</SourceLine>
<SourceLine>me.CNetworkController1 = network</SourceLine>
<SourceLine>me.CDownloadsController1 = downloads</SourceLine>
<SourceLine>me.CUploadsController1 = uploads</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>addBrowseHostFromNetwork</ItemName>
<ItemParams>index as integer, byref items() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>8</StartSelRow>
<StartSelCol>5</StartSelCol>
<EndSelRow>8</EndSelRow>
<EndSelCol>5</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub addBrowseHostFromNetwork(index as integer, byref items() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim browseHost as string = me.CNetworkController1.getHostAndPort(index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if items.indexOf(browseHost) = -1 and _</SourceLine>
<SourceLine>me.CQueryController1.hasQueryString(browseHost) = false then _</SourceLine>
<SourceLine>items.append browseHost</SourceLine>
<SourceLine></SourceLine>
<SourceLine>items.sort</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionUploadsRevealInFinder</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionUploadsRevealInFinder(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CUploadsController1.getTransferPath(targetListBox.listIndex).revealInFinder</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionUploadsRemove</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>13</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>13</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionUploadsRemove(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = targetListBox.listCount - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if targetListBox.selected(i) then</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.CUploadsController1.isCompletedTransferItem(i) then</SourceLine>
<SourceLine>me.CUploadsController1.remove(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif me.CUploadsController1.setCanceled(i) then</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "cancelUpload|" + me.CUploadsController1.getTransferHashCode(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CUploadsController1.statsUpdated</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionUploadsOpen</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionUploadsOpen(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CUploadsController1.getTransferPath(targetListBox.listIndex).open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionResponseSpam</ItemName>
<ItemParams>targetListBox as CListBox</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>18</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>18</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionResponseSpam(targetListBox as CListBox)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = targetListBox.listCount - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if targetListBox.selected(i) then</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "addSpamFiles|" + me.CQueryController1.getLocalIndexes(i)</SourceLine>
<SourceLine>me.CQueryController1.setQuerySpam(i, true)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CCoreController1.sendCommand "applyFilterSettings"</SourceLine>
<SourceLine>me.CFilterController1.filterResults</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>actionResponseFilterResults</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>34</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>34</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub actionResponseFilterResults()</SourceLine>
<SourceLine>me.CFilterController1.toggleFilterEnabled</SourceLine>
<SourceLine>me.CFilterController1.filterResults</SourceLine>
<SourceLine>me.CFilterController1.updateFilter</SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>askRemoving</ItemName>
<ItemParams></ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>openPreferences</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>askOpening</ItemName>
<ItemParams></ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Open</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Open()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Close</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Close()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Action</ItemName>
<ItemSource>
<StartSelRow>15</StartSelRow>
<StartSelCol>14</StartSelCol>
<EndSelRow>15</EndSelRow>
<EndSelCol>14</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Action(item As String)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>select case me.actionType</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1 //* heading *//</SourceLine>
<SourceLine>actionHeading item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* network *//</SourceLine>
<SourceLine>actionNetwork item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 3 //* sidebar *//</SourceLine>
<SourceLine>actionSidebar item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 4 //* query results *//</SourceLine>
<SourceLine>actionResponse item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 5 //* downloads *//</SourceLine>
<SourceLine>actionDownloads item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 6 //* uploads *//</SourceLine>
<SourceLine>actionUploads item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<Constant>
<TextEncoding>134217984</TextEncoding>
<ItemName>kChecked</ItemName>
<ItemType>0</ItemType>
<ItemDef></ItemDef>
<ItemFlags>1</ItemFlags>
<ConstantInstance>
<ItemPlatform>6</ItemPlatform>
<ItemLanguage>0</ItemLanguage>
<ItemDef><Hex bytes="3">E29C93</Hex></ItemDef>
</ConstantInstance>
<ConstantInstance>
<ItemPlatform>4</ItemPlatform>
<ItemLanguage>0</ItemLanguage>
<ItemDef><Hex bytes="1">12</Hex></ItemDef>
</ConstantInstance>
<ConstantInstance>
<ItemPlatform>2</ItemPlatform>
<ItemLanguage>0</ItemLanguage>
<ItemDef><Hex bytes="3">E280A2</Hex></ItemDef>
</ConstantInstance>
</Constant>
<Constant>
<TextEncoding>134217984</TextEncoding>
<ItemName>kUnchecked</ItemName>
<ItemType>0</ItemType>
<ItemDef></ItemDef>
<ItemFlags>1</ItemFlags>
<ConstantInstance>
<ItemPlatform>6</ItemPlatform>
<ItemLanguage>0</ItemLanguage>
<ItemDef> </ItemDef>
</ConstantInstance>
<ConstantInstance>
<ItemPlatform>4</ItemPlatform>
<ItemLanguage>0</ItemLanguage>
<ItemDef> </ItemDef>
</ConstantInstance>
<ConstantInstance>
<ItemPlatform>2</ItemPlatform>
<ItemLanguage>0</ItemLanguage>
<ItemDef> </ItemDef>
</ConstantInstance>
</Constant>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1116431168">
<ObjName>CNetworkController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="70" top="89" width="782" height="406"/></EditBounds>
<EditSplit>181</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="70" top="89" width="782" height="406"/></EditBounds>
<EditSplit>181</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CNetworkController</ObjName>
<ObjSize>32</ObjSize>
<Superclass>CStatsController</Superclass>
<IsInterface>0</IsInterface>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>connectionClosed</ItemName>
<ItemParams>args() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>13</StartSelRow>
<StartSelCol>6</StartSelCol>
<EndSelRow>13</EndSelRow>
<EndSelCol>6</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub connectionClosed(args() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(args) <> 1 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim address as string = args(1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.representedInfos.hasKey(address) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim infoArray as integer = me.representedInfos.value(address)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.remove infoArray</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.flush</SourceLine>
<SourceLine>updateCell me.representedInfos.count</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>statsUpdated</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>6</StartSelRow>
<StartSelCol>13</StartSelCol>
<EndSelRow>6</EndSelRow>
<EndSelCol>13</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub statsUpdated()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = ubound(me.representedObjects) downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>CNetworkModel(me.representedObjects(i)).invalidateValues</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.flush</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getHostAndPort</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult>string</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>20</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>20</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getHostAndPort(index as integer) As string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return CNetworkModel(me.representedObjects(index)).address</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>flush</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>16</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub flush()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateDataSource me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getStringColumns</ItemName>
<ItemParams>byref column as integer, byref temp1() as string, byref temp2() as string, byref temp3() as CStatsModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>37</StartSelRow>
<StartSelCol>26</StartSelCol>
<EndSelRow>37</EndSelRow>
<EndSelCol>26</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub getStringColumns(byref column as integer, byref temp1() as string, byref temp2() as string, byref temp3() as CStatsModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CStatsModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case column</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0 //* address *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CNetworkModel(c).address</SourceLine>
<SourceLine>temp2.append CNetworkModel(c).address</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1 //* agent *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CNetworkModel(c).agent</SourceLine>
<SourceLine>temp2.append CNetworkModel(c).agent</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* language *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CNetworkModel(c).language</SourceLine>
<SourceLine>temp2.append CNetworkModel(c).language</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 3 //* type *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CNetworkModel(c).type</SourceLine>
<SourceLine>temp2.append CNetworkModel(c).type</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getNumericColumns</ItemName>
<ItemParams>byref column as integer, byref temp1() as double, byref temp2() as double, byref temp3() as CStatsModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>7</StartSelRow>
<StartSelCol>26</StartSelCol>
<EndSelRow>7</EndSelRow>
<EndSelCol>26</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub getNumericColumns(byref column as integer, byref temp1() as double, byref temp2() as double, byref temp3() as CStatsModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CStatsModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CNetworkModel(c).uptime</SourceLine>
<SourceLine>temp2.append CNetworkModel(c).uptime</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>isNumericColumn</ItemName>
<ItemParams>column as integer</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function isNumericColumn(column as integer) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return column = 4</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>connectionInitialized</ItemName>
<ItemParams>args() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>13</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>13</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub connectionInitialized(args() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(args) <> 4 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.representedInfos.hasKey(args(1)) then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as new CNetworkModel(args)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedObjects.append c</SourceLine>
<SourceLine>me.representedInfos.value(c.getRepresentation) = ubound(me.representedObjects)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.flush</SourceLine>
<SourceLine>updateCell me.representedInfos.count</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>updateCell</ItemName>
<ItemParams>online as variant</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>updateDataSource</ItemName>
<ItemParams>c() as CStatsModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1115138210">
<ObjName>CPreferencesController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="119" top="47" width="724" height="720"/></EditBounds>
<EditSplit>159</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="119" top="47" width="724" height="720"/></EditBounds>
<EditSplit>159</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CPreferencesController</ObjName>
<ObjSize>24</ObjSize>
<IsInterface>0</IsInterface>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>77</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>77</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>kAqImportMusicFile = 0</SourceLine>
<SourceLine>kAqAdultFilter = false</SourceLine>
<SourceLine>kAqAllowFreeloaders = true</SourceLine>
<SourceLine>kAqAutoClearDownloads = false</SourceLine>
<SourceLine>kAqAutoClearUploads = true</SourceLine>
<SourceLine>kAqBounceDockIcon = true</SourceLine>
<SourceLine>kAqCompleteFileSharing = true</SourceLine>
<SourceLine>kAqConcurrentDownloads = 5</SourceLine>
<SourceLine>kAqConnectionSpeed = 350</SourceLine>
<SourceLine>kAqDeleteAfterImport = false</SourceLine>
<SourceLine>kAqDownstreamLimit = 100</SourceLine>
<SourceLine>kAqEnableUltrapeer = true</SourceLine>
<SourceLine>kAqExistingFileMatching = true</SourceLine>
<SourceLine>kAqID3Title = true</SourceLine>
<SourceLine>kAqIncompletePurgeTime = 7</SourceLine>
<SourceLine>redim kAqIPFilterIPs(-1)</SourceLine>
<SourceLine>kAqKbFileSize = false</SourceLine>
<SourceLine>kAqLengthFilter = false</SourceLine>
<SourceLine>kAqLengthFilterCharacters = 180</SourceLine>
<SourceLine>kAqLocale = true</SourceLine>
<SourceLine>kAqMaxUploads = 15</SourceLine>
<SourceLine>kAqMaxUploadsPerPerson = 3</SourceLine>
<SourceLine>kAqMoveMovies = false</SourceLine>
<SourceLine>kAqMoveMoviesLocation = ""</SourceLine>
<SourceLine>kAqMoveMusic = false</SourceLine>
<SourceLine>kAqMoveMusicLocation = ""</SourceLine>
<SourceLine>kAqMovePictures = false</SourceLine>
<SourceLine>kAqMovePicturesLocation = ""</SourceLine>
<SourceLine>redim kAqKeywordFilterKeywords(-1)</SourceLine>
<SourceLine>kAqNetBandwidth = true</SourceLine>
<SourceLine>kAqPartialFileSharing = true</SourceLine>
<SourceLine>kAqPlaySong = 0</SourceLine>
<SourceLine>kAqPort = 6346</SourceLine>
<SourceLine>kAqPositiveFilter = false</SourceLine>
<SourceLine>kAqPreferLocale = ""</SourceLine>
<SourceLine>kAqProxyPassword = ""</SourceLine>
<SourceLine>kAqProxyPort = 0</SourceLine>
<SourceLine>kAqProxyPrivate = false</SourceLine>
<SourceLine>kAqProxyRequiresAuthentication = false</SourceLine>
<SourceLine>kAqProxyServer = ""</SourceLine>
<SourceLine>kAqProxyType = 1</SourceLine>
<SourceLine>kAqProxyUsername = ""</SourceLine>
<SourceLine>kAqSaveDirectory = ""</SourceLine>
<SourceLine>redim kAqSharedDirectories(-1)</SourceLine>
<SourceLine>kAqSidebarTextFont = kTextFont</SourceLine>
<SourceLine>kAqSidebarTextSize = kMiddleTextSize</SourceLine>
<SourceLine>kAqSizeFilter = false</SourceLine>
<SourceLine>kAqSizeFilterKilobytes = 256</SourceLine>
<SourceLine>kAqSpamFilter = true</SourceLine>
<SourceLine>kAqStandardTextFont = kTextFont</SourceLine>
<SourceLine>kAqStandardTextSize = kSmallTextSize</SourceLine>
<SourceLine>kAqTexturedWindow = true</SourceLine>
<SourceLine>kAqUPnPType = 0</SourceLine>
<SourceLine>kAqUpstreamLimit = 100</SourceLine>
<SourceLine>kAqUseProxy = false</SourceLine>
<SourceLine>kAqWarnDownloads = true</SourceLine>
<SourceLine>kAqWarnOpening = true</SourceLine>
<SourceLine>kAqWarnQuit = true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>kAqImportMusicFile = defaultsRead("kAqImportMusicFile", kAqImportMusicFile)</SourceLine>
<SourceLine>kAqAdultFilter = defaultsRead("kAqAdultFilter", kAqAdultFilter)</SourceLine>
<SourceLine>kAqAllowFreeloaders = defaultsRead("kAqAllowFreeloaders", kAqAllowFreeloaders)</SourceLine>
<SourceLine>kAqAutoClearDownloads = defaultsRead("kAqAutoClearDownloads", kAqAutoClearDownloads)</SourceLine>
<SourceLine>kAqAutoClearUploads = defaultsRead("kAqAutoClearUploads", kAqAutoClearUploads)</SourceLine>
<SourceLine>kAqBounceDockIcon = defaultsRead("kAqBounceDockIcon", kAqBounceDockIcon)</SourceLine>
<SourceLine>kAqCompleteFileSharing = defaultsRead("kAqCompleteFileSharing", kAqCompleteFileSharing)</SourceLine>
<SourceLine>kAqConcurrentDownloads = defaultsRead("kAqConcurrentDownloads", kAqConcurrentDownloads)</SourceLine>
<SourceLine>kAqConnectionSpeed = defaultsRead("kAqConnectionSpeed", kAqConnectionSpeed)</SourceLine>
<SourceLine>kAqDeleteAfterImport = defaultsRead("kAqDeleteAfterImport", kAqDeleteAfterImport)</SourceLine>
<SourceLine>kAqDownstreamLimit = defaultsRead("kAqDownstreamLimit", kAqDownstreamLimit)</SourceLine>
<SourceLine>kAqEnableUltrapeer = defaultsRead("kAqEnableUltrapeer", kAqEnableUltrapeer)</SourceLine>
<SourceLine>kAqExistingFileMatching = defaultsRead("kAqExistingFileMatching", kAqExistingFileMatching)</SourceLine>
<SourceLine>kAqID3Title = defaultsRead("kAqID3Title", kAqID3Title)</SourceLine>
<SourceLine>kAqIncompletePurgeTime = defaultsRead("kAqIncompletePurgeTime", kAqIncompletePurgeTime)</SourceLine>
<SourceLine>kAqIPFilterIPs = defaultsReadArrayString("kAqIPFilterIPs", kAqIPFilterIPs)</SourceLine>
<SourceLine>kAqKbFileSize = defaultsRead("kAqKbFileSize", kAqKbFileSize)</SourceLine>
<SourceLine>kAqLengthFilter = defaultsRead("kAqLengthFilter", kAqLengthFilter)</SourceLine>
<SourceLine>kAqLengthFilterCharacters = defaultsRead("kAqLengthFilterCharacters", kAqLengthFilterCharacters)</SourceLine>
<SourceLine>kAqLocale = defaultsRead("kAqLocale", kAqLocale)</SourceLine>
<SourceLine>kAqMaxUploads = defaultsRead("kAqMaxUploads", kAqMaxUploads)</SourceLine>
<SourceLine>kAqMaxUploadsPerPerson = defaultsRead("kAqMaxUploadsPerPerson", kAqMaxUploadsPerPerson)</SourceLine>
<SourceLine>kAqMoveMovies = defaultsRead("kAqMoveMovies", kAqMoveMovies)</SourceLine>
<SourceLine>kAqMoveMoviesLocation = defaultsRead("kAqMoveMoviesLocation", kAqMoveMoviesLocation)</SourceLine>
<SourceLine>kAqMoveMusic = defaultsRead("kAqMoveMusic", kAqMoveMusic)</SourceLine>
<SourceLine>kAqMoveMusicLocation = defaultsRead("kAqMoveMusicLocation", kAqMoveMusicLocation)</SourceLine>
<SourceLine>kAqMovePictures = defaultsRead("kAqMovePictures", kAqMovePictures)</SourceLine>
<SourceLine>kAqMovePicturesLocation = defaultsRead("kAqMovePicturesLocation", kAqMovePicturesLocation)</SourceLine>
<SourceLine>kAqKeywordFilterKeywords = defaultsReadArrayString("kAqKeywordFilterKeywords", kAqKeywordFilterKeywords)</SourceLine>
<SourceLine>kAqNetBandwidth = defaultsRead("kAqNetBandwidth", kAqNetBandwidth)</SourceLine>
<SourceLine>kAqPartialFileSharing = defaultsRead("kAqPartialFileSharing", kAqPartialFileSharing)</SourceLine>
<SourceLine>kAqPlaySong = defaultsRead("kAqPlaySong", kAqPlaySong)</SourceLine>
<SourceLine>kAqPort = defaultsRead("kAqPort", kAqPort)</SourceLine>
<SourceLine>kAqPositiveFilter = defaultsRead("kAqPositiveFilter", kAqPositiveFilter)</SourceLine>
<SourceLine>kAqPreferLocale = defaultsRead("kAqPreferLocale", kAqPreferLocale)</SourceLine>
<SourceLine>kAqProxyPassword = defaultsRead("kAqProxyPassword", kAqProxyPassword)</SourceLine>
<SourceLine>kAqProxyPort = defaultsRead("kAqProxyPort", kAqProxyPort)</SourceLine>
<SourceLine>kAqProxyPrivate = defaultsRead("kAqProxyPrivate", kAqProxyPrivate)</SourceLine>
<SourceLine>kAqProxyRequiresAuthentication = defaultsRead("kAqProxyRequiresAuthentication", kAqProxyRequiresAuthentication)</SourceLine>
<SourceLine>kAqProxyServer = defaultsRead("kAqProxyServer", kAqProxyServer)</SourceLine>
<SourceLine>kAqProxyType = defaultsRead("kAqProxyType", kAqProxyType)</SourceLine>
<SourceLine>kAqProxyUsername = defaultsRead("kAqProxyUsername", kAqProxyUsername)</SourceLine>
<SourceLine>kAqSaveDirectory = defaultsRead("kAqSaveDirectory", kAqSaveDirectory)</SourceLine>
<SourceLine>kAqSharedDirectories = defaultsReadArrayString("kAqSharedDirectories", kAqSharedDirectories)</SourceLine>
<SourceLine>kAqSidebarTextFont = defaultsRead("kAqSidebarTextFont", kAqSidebarTextFont)</SourceLine>
<SourceLine>kAqSidebarTextSize = defaultsRead("kAqSidebarTextSize", kAqSidebarTextSize)</SourceLine>
<SourceLine>kAqSizeFilter = defaultsRead("kAqSizeFilter", kAqSizeFilter)</SourceLine>
<SourceLine>kAqSizeFilterKilobytes = defaultsRead("kAqSizeFilterKilobytes", kAqSizeFilterKilobytes)</SourceLine>
<SourceLine>kAqSpamFilter = defaultsRead("kAqSpamFilter", kAqSpamFilter)</SourceLine>
<SourceLine>kAqStandardTextFont = defaultsRead("kAqStandardTextFont", kAqStandardTextFont)</SourceLine>
<SourceLine>kAqStandardTextSize = defaultsRead("kAqStandardTextSize", kAqStandardTextSize)</SourceLine>
<SourceLine>kAqTexturedWindow = defaultsRead("kAqTexturedWindow", kAqTexturedWindow)</SourceLine>
<SourceLine>kAqUPnPType = defaultsRead("kAqUPnPType", kAqUPnPType)</SourceLine>
<SourceLine>kAqUpstreamLimit = defaultsRead("kAqUpstreamLimit", kAqUpstreamLimit)</SourceLine>
<SourceLine>kAqUseProxy = defaultsRead("kAqUseProxy", kAqUseProxy)</SourceLine>
<SourceLine>kAqWarnDownloads = defaultsRead("kAqWarnDownloads", kAqWarnDownloads)</SourceLine>
<SourceLine>kAqWarnOpening = defaultsRead("kAqWarnOpening", kAqWarnOpening)</SourceLine>
<SourceLine>kAqWarnQuit = defaultsRead("kAqWarnQuit", kAqWarnQuit)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim f as folderItem</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqSaveDirectory.lenb <> 0 then f = getPath2FolderItem(kAqSaveDirectory)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if f <> nil and f.exists then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>#if targetMachO</SourceLine>
<SourceLine>f = DocumentsFolder.parent.child("Downloads")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>f = DocumentsFolder.child("Downloads")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>f = DocumentsFolder.fixRbBug.child("Downloads")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetLinux</SourceLine>
<SourceLine>f = DocumentsFolder.child("Downloads").fixRbBug</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>kAqSaveDirectory = f.posixPath</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(kAqSharedDirectories) = -1 and f <> nil then _</SourceLine>
<SourceLine>kAqSharedDirectories.append kAqSaveDirectory</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Destructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>18</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>18</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Destructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>defaultsWrite "kAqImportMusicFile", kAqImportMusicFile</SourceLine>
<SourceLine>defaultsWrite "kAqAdultFilter", kAqAdultFilter</SourceLine>
<SourceLine>defaultsWrite "kAqAllowFreeloaders", kAqAllowFreeloaders</SourceLine>
<SourceLine>defaultsWrite "kAqAutoClearDownloads", kAqAutoClearDownloads</SourceLine>
<SourceLine>defaultsWrite "kAqAutoClearUploads", kAqAutoClearUploads</SourceLine>
<SourceLine>defaultsWrite "kAqBounceDockIcon", kAqBounceDockIcon</SourceLine>
<SourceLine>defaultsWrite "kAqCompleteFileSharing", kAqCompleteFileSharing</SourceLine>
<SourceLine>defaultsWrite "kAqConcurrentDownloads", kAqConcurrentDownloads</SourceLine>
<SourceLine>defaultsWrite "kAqConnectionSpeed", kAqConnectionSpeed</SourceLine>
<SourceLine>defaultsWrite "kAqDeleteAfterImport", kAqDeleteAfterImport</SourceLine>
<SourceLine>defaultsWrite "kAqDownstreamLimit", kAqDownstreamLimit</SourceLine>
<SourceLine>defaultsWrite "kAqEnableUltrapeer", kAqEnableUltrapeer</SourceLine>
<SourceLine>defaultsWrite "kAqExistingFileMatching", kAqExistingFileMatching</SourceLine>
<SourceLine>defaultsWrite "kAqID3Title", kAqID3Title</SourceLine>
<SourceLine>defaultsWrite "kAqIncompletePurgeTime", kAqIncompletePurgeTime</SourceLine>
<SourceLine>defaultsWriteArrayString "kAqIPFilterIPs", kAqIPFilterIPs</SourceLine>
<SourceLine>defaultsWrite "kAqKbFileSize", kAqKbFileSize</SourceLine>
<SourceLine>defaultsWrite "kAqLengthFilter", kAqLengthFilter</SourceLine>
<SourceLine>defaultsWrite "kAqLengthFilterCharacters", kAqLengthFilterCharacters</SourceLine>
<SourceLine>defaultsWrite "kAqLocale", kAqLocale</SourceLine>
<SourceLine>defaultsWrite "kAqMaxUploads", kAqMaxUploads</SourceLine>
<SourceLine>defaultsWrite "kAqMaxUploadsPerPerson", kAqMaxUploadsPerPerson</SourceLine>
<SourceLine>defaultsWrite "kAqMoveMovies", kAqMoveMovies</SourceLine>
<SourceLine>defaultsWrite "kAqMoveMoviesLocation", kAqMoveMoviesLocation</SourceLine>
<SourceLine>defaultsWrite "kAqMoveMusic", kAqMoveMusic</SourceLine>
<SourceLine>defaultsWrite "kAqMoveMusicLocation", kAqMoveMusicLocation</SourceLine>
<SourceLine>defaultsWrite "kAqMovePictures", kAqMovePictures</SourceLine>
<SourceLine>defaultsWrite "kAqMovePicturesLocation", kAqMovePicturesLocation</SourceLine>
<SourceLine>defaultsWriteArrayString "kAqKeywordFilterKeywords", kAqKeywordFilterKeywords</SourceLine>
<SourceLine>defaultsWrite "kAqNetBandwidth", kAqNetBandwidth</SourceLine>
<SourceLine>defaultsWrite "kAqPartialFileSharing", kAqPartialFileSharing</SourceLine>
<SourceLine>defaultsWrite "kAqPlaySong", kAqPlaySong</SourceLine>
<SourceLine>defaultsWrite "kAqPort", kAqPort</SourceLine>
<SourceLine>defaultsWrite "kAqPositiveFilter", kAqPositiveFilter</SourceLine>
<SourceLine>defaultsWrite "kAqPreferLocale", kAqPreferLocale</SourceLine>
<SourceLine>defaultsWrite "kAqProxyPassword", kAqProxyPassword</SourceLine>
<SourceLine>defaultsWrite "kAqProxyPort", kAqProxyPort</SourceLine>
<SourceLine>defaultsWrite "kAqProxyPrivate", kAqProxyPrivate</SourceLine>
<SourceLine>defaultsWrite "kAqProxyRequiresAuthentication", kAqProxyRequiresAuthentication</SourceLine>
<SourceLine>defaultsWrite "kAqProxyServer", kAqProxyServer</SourceLine>
<SourceLine>defaultsWrite "kAqProxyType", kAqProxyType</SourceLine>
<SourceLine>defaultsWrite "kAqProxyUsername", kAqProxyUsername</SourceLine>
<SourceLine>defaultsWrite "kAqSaveDirectory", kAqSaveDirectory</SourceLine>
<SourceLine>defaultsWriteArrayString "kAqSharedDirectories", kAqSharedDirectories</SourceLine>
<SourceLine>defaultsWrite "kAqSidebarTextFont", kAqSidebarTextFont</SourceLine>
<SourceLine>defaultsWrite "kAqSidebarTextSize", kAqSidebarTextSize</SourceLine>
<SourceLine>defaultsWrite "kAqSpamFilter", kAqSpamFilter</SourceLine>
<SourceLine>defaultsWrite "kAqSizeFilter", kAqSizeFilter</SourceLine>
<SourceLine>defaultsWrite "kAqSizeFilterKilobytes", kAqSizeFilterKilobytes</SourceLine>
<SourceLine>defaultsWrite "kAqStandardTextFont", kAqStandardTextFont</SourceLine>
<SourceLine>defaultsWrite "kAqStandardTextSize", kAqStandardTextSize</SourceLine>
<SourceLine>defaultsWrite "kAqTexturedWindow", kAqTexturedWindow</SourceLine>
<SourceLine>defaultsWrite "kAqUPnPType", kAqUPnPType</SourceLine>
<SourceLine>defaultsWrite "kAqUpstreamLimit", kAqUpstreamLimit</SourceLine>
<SourceLine>defaultsWrite "kAqUseProxy", kAqUseProxy</SourceLine>
<SourceLine>defaultsWrite "kAqWarnDownloads", kAqWarnDownloads</SourceLine>
<SourceLine>defaultsWrite "kAqWarnOpening", kAqWarnOpening</SourceLine>
<SourceLine>defaultsWrite "kAqWarnQuit", kAqWarnQuit</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1115263924">
<ObjName>CPreferencesActionsController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="137" top="114" width="850" height="439"/></EditBounds>
<EditSplit>181</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="137" top="114" width="850" height="439"/></EditBounds>
<EditSplit>181</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CPreferencesActionsController</ObjName>
<ObjSize>128</ObjSize>
<Superclass>ContextualMenu</Superclass>
<IsInterface>0</IsInterface>
<Property Flags="1">column as integer</Property>
<Property Flags="1">row as integer</Property>
<Property Flags="1">receiver as CHierarchicalListBox</Property>
<Property Flags="1">d as Dictionary</Property>
<Property Flags="1">defaults as string</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>openPreferencesMenu</ItemName>
<ItemParams>sender as CHierarchicalListBox, row as integer, column as integer, defaults as string, d as Dictionary</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>17</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>17</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub openPreferencesMenu(sender as CHierarchicalListBox, row as integer, column as integer, defaults as string, d as Dictionary)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim items(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>me.receiver = sender</SourceLine>
<SourceLine>me.row = row</SourceLine>
<SourceLine>me.column = column</SourceLine>
<SourceLine>me.defaults = defaults</SourceLine>
<SourceLine>me.d = d</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = me.d.count - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.d.key(i).type = 8 and me.d.key(i) = "currentKey" then</SourceLine>
<SourceLine>//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif items.indexOf(me.d.value(me.d.key(i))) = -1 then</SourceLine>
<SourceLine>items.append me.d.value(me.d.key(i))</SourceLine>
<SourceLine>me.addRow me.d.value(me.d.key(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.open</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>me.deleteAllRows</SourceLine>
<SourceLine>me.receiver = nil</SourceLine>
<SourceLine>me.row = 0</SourceLine>
<SourceLine>me.column = 0</SourceLine>
<SourceLine>me.defaults = ""</SourceLine>
<SourceLine>me.d = nil</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>sendCommand</ItemName>
<ItemParams>arg as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Close</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Close()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Open</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Open()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Action</ItemName>
<ItemSource>
<StartSelRow>17</StartSelRow>
<StartSelCol>39</StartSelCol>
<EndSelRow>17</EndSelRow>
<EndSelCol>39</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Action(item As String)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim f as folderItem</SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine>dim s as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case item</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Clear Spam History", "Preferences")</SourceLine>
<SourceLine>sendCommand "clearSpamFiles"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Add Keyword...", "Preferences")</SourceLine>
<SourceLine>kAqKeywordFilterKeywords.insert 0, ""</SourceLine>
<SourceLine>me.receiver.expanded(1) = false</SourceLine>
<SourceLine>me.receiver.expanded(1) = true</SourceLine>
<SourceLine>me.receiver.editCell(me.row + 1, me.column)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Add IP Address...", "Preferences")</SourceLine>
<SourceLine>kAqIPFilterIPs.insert 0, ""</SourceLine>
<SourceLine>me.receiver.expanded(7) = false</SourceLine>
<SourceLine>me.receiver.expanded(7) = true</SourceLine>
<SourceLine>me.receiver.editCell(me.row + 1, me.column)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Add Folder...", "Preferences")</SourceLine>
<SourceLine>f = selectFolder</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if f <> nil and kAqSharedDirectories.indexOf(f.posixPath) = -1 then</SourceLine>
<SourceLine>kAqSharedDirectories.append f.posixPath</SourceLine>
<SourceLine>me.receiver.valueChanged me.row, me.column</SourceLine>
<SourceLine>me.receiver.expanded(5) = false</SourceLine>
<SourceLine>me.receiver.expanded(5) = true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Remove", "Preferences")</SourceLine>
<SourceLine>if me.defaults = "kAqSharedDirectories" then</SourceLine>
<SourceLine>s = me.d.value("currentKey")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if s <> "" and kAqSharedDirectories.indexOf(s) <> -1 then</SourceLine>
<SourceLine>kAqSharedDirectories.remove kAqSharedDirectories.indexOf(s)</SourceLine>
<SourceLine>me.receiver.valueChanged me.row, me.column</SourceLine>
<SourceLine>me.receiver.removeRow me.row</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif me.defaults = "kAqKeywordFilterKeywords" then</SourceLine>
<SourceLine>s = me.d.value("currentKey")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqKeywordFilterKeywords.indexOf(s) <> -1 then</SourceLine>
<SourceLine>kAqKeywordFilterKeywords.remove kAqKeywordFilterKeywords.indexOf(s)</SourceLine>
<SourceLine>me.receiver.cellTag(me.row, 1) = nil</SourceLine>
<SourceLine>me.receiver.valueChanged me.row, me.column</SourceLine>
<SourceLine>me.receiver.removeRow me.row</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif me.defaults = "kAqIPFilterIPs" then</SourceLine>
<SourceLine>s = me.d.value("currentKey")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqIPFilterIPs.indexOf(s) <> -1 then</SourceLine>
<SourceLine>kAqIPFilterIPs.remove kAqIPFilterIPs.indexOf(s)</SourceLine>
<SourceLine>me.receiver.cellTag(me.row, 1) = nil</SourceLine>
<SourceLine>me.receiver.valueChanged me.row, me.column</SourceLine>
<SourceLine>me.receiver.removeRow me.row</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case getLocalizedString("Other...", "Preferences")</SourceLine>
<SourceLine>f = selectFolder</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if f <> nil then</SourceLine>
<SourceLine>s = f.posixPath</SourceLine>
<SourceLine>me.d.value(s) = s</SourceLine>
<SourceLine>me.d.value("currentKey") = s</SourceLine>
<SourceLine>me.receiver.cell(me.row, me.column) = s</SourceLine>
<SourceLine>me.receiver.cellTag(me.row, me.column) = me.d</SourceLine>
<SourceLine>me.receiver.valueChanged me.row, me.column</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>if me.defaults = "kAqKeywordFilterKeywords" then</SourceLine>
<SourceLine>me.receiver.editCell(me.row, me.column)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif me.defaults = "kAqIPFilterIPs" then</SourceLine>
<SourceLine>me.receiver.editCell(me.row, me.column)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>for i = me.d.count - 1 downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.d.key(i).type = 8 and me.d.key(i) = "currentKey" then</SourceLine>
<SourceLine>//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>elseif me.d.value(me.d.key(i)) = item then</SourceLine>
<SourceLine>me.d.value("currentKey") = me.d.key(i)</SourceLine>
<SourceLine>me.receiver.cell(me.row, me.column) = item</SourceLine>
<SourceLine>me.receiver.cellTag(me.row, me.column) = me.d</SourceLine>
<SourceLine>me.receiver.valueChanged me.row, me.column</SourceLine>
<SourceLine>exit</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1116429613">
<ObjName>CQueryController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="203" top="44" width="724" height="720"/></EditBounds>
<EditSplit>195</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="203" top="44" width="724" height="720"/></EditBounds>
<EditSplit>195</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CQueryController</ObjName>
<ObjSize>72</ObjSize>
<Superclass>CStatsController</Superclass>
<IsInterface>0</IsInterface>
<Property Flags="1">positiveQueryIndex as integer</Property>
<Property Flags="1">currentIndex as integer</Property>
<Property Flags="1">negativeQueryIndex as integer</Property>
<Property Flags="1">CFilterController1 as CFilterController</Property>
<Property Flags="1">CFileurnsController1 as CFileurnsController</Property>
<Property Flags="1">CCoreController1 as CCoreController</Property>
<Property Flags="1">CDownloadsController1 as CDownloadsController</Property>
<Property Flags="1">queries as dictionary</Property>
<Property Flags="1">filteredQuery as CQueryModel</Property>
<Property Flags="1">queryStrings as Dictionary</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>handleQuery</ItemName>
<ItemParams>arg as String, selected as boolean, keepInSidebar as boolean</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>47</StartSelRow>
<StartSelCol>13</StartSelCol>
<EndSelRow>47</EndSelRow>
<EndSelCol>13</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub handleQuery(arg as String, selected as boolean, keepInSidebar as boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if arg.lenb = 0 or arg.instrb("|") <> 0 then</SourceLine>
<SourceLine>beep</SourceLine>
<SourceLine>return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim oldIndex, arrayIndex as integer</SourceLine>
<SourceLine>dim c as CQueryModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queryStrings.haskey(arg) = false then</SourceLine>
<SourceLine>//* create new query *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.positiveQueryIndex = me.positiveQueryIndex + 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c = new CQueryModel(me.positiveQueryIndex, arg, new CFilterModel(me.getFilterModel()), keepInSidebar)</SourceLine>
<SourceLine>c.queryFilter.enabled = false</SourceLine>
<SourceLine>c.positiveQueryIndexes.append c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries.value(c.queryIndex) = c</SourceLine>
<SourceLine>me.queryStrings.value(c.queryString) = c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedObjects.append new CSidebarModel(c.queryString, c.queryIndex, 120)</SourceLine>
<SourceLine>arrayIndex = ubound(me.representedObjects)</SourceLine>
<SourceLine>me.representedInfos.value(c.queryIndex) = arrayIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>//* overwrite existing query index *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.positiveQueryIndex = me.positiveQueryIndex + 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>oldIndex = me.queryStrings.value(arg)</SourceLine>
<SourceLine>c = me.queries.value(oldIndex)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries.remove oldIndex</SourceLine>
<SourceLine>me.queryStrings.remove c.queryString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>arrayIndex = me.representedInfos.value(c.queryIndex)</SourceLine>
<SourceLine>me.representedInfos.remove c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.queryIndex = me.positiveQueryIndex</SourceLine>
<SourceLine>c.positiveQueryIndexes.append c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries.value(c.queryIndex) = c</SourceLine>
<SourceLine>me.queryStrings.value(c.queryString) = c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(arrayIndex)).overwriteStats c.queryIndex, 120</SourceLine>
<SourceLine>me.representedInfos.value(c.queryIndex) = arrayIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex = oldIndex then me.currentIndex = c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if selected then selectCell arrayIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case c.queryType</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0 //* what's new query *//</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "queryWhatIsNew"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1 //* browse query *//</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "doBrowseHost|" + arg.replaceb(":", "|")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* find more sources query *//</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "queryFindMoreSources|" + c.queryString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 3 //* normal query *//</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "query|" + c.positiveFilterKeywords.join</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>handleQueryReply</ItemName>
<ItemParams>args() as String</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>66</StartSelRow>
<StartSelCol>14</StartSelCol>
<EndSelRow>66</EndSelRow>
<EndSelCol>14</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub handleQueryReply(args() as String)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(args) <> 15 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim queryIndex as integer = args(1).val</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(queryIndex) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim query as CQueryModel = me.queries.value(queryIndex)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* keyword filtering *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim keywords(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>keywords = query.positiveFilterKeywords</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqPositiveFilter and ubound(keywords) <> -1 and _</SourceLine>
<SourceLine>args(7).lowercase.completeMatches(keywords) = false and _</SourceLine>
<SourceLine>args(12).lowercase.completeMatches(keywords) = false and _</SourceLine>
<SourceLine>args(13).lowercase.completeMatches(keywords) = false and _</SourceLine>
<SourceLine>args(14).lowercase.completeMatches(keywords) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>keywords = query.negativeFilterKeywords</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(keywords) <> -1 and _</SourceLine>
<SourceLine>( args(7).lowercase.matches(keywords) or _</SourceLine>
<SourceLine>args(12).lowercase.matches(keywords) or _</SourceLine>
<SourceLine>args(13).lowercase.matches(keywords) or _</SourceLine>
<SourceLine>args(14).lowercase.matches(keywords) ) then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* filename length filtering *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqLengthFilter and args(7).lenb >= kAqLengthFilterCharacters then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* file size filtering *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqSizeFilter and args(9).val / 1024 <= kAqSizeFilterKilobytes then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* spam filtering *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if kAqSpamFilter and args(15).val = 1 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* response handling *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CResponseModel</SourceLine>
<SourceLine>dim arrayIndex as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if query.response.representedInfos.hasKey(args(6)) = false then</SourceLine>
<SourceLine>c = new CResponseModel(args)</SourceLine>
<SourceLine>c.exists = me.CFileurnsController1.hasKey(c.sha1)</SourceLine>
<SourceLine>c.marked = me.CDownloadsController1.hasMarkedDownloadItem(c.sha1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>query.response.representedObjects.append c</SourceLine>
<SourceLine>query.response.representedInfos.value(c.sha1) = ubound(query.response.representedObjects) //* create hash map *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>arrayIndex = me.representedInfos.value(queryIndex)</SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(arrayIndex)).incrementStats _</SourceLine>
<SourceLine>(me.currentIndex = queryIndex), _</SourceLine>
<SourceLine>me.CFilterController1.isFilteredResponse(c, query.queryFilter)</SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(arrayIndex)).invalidateValues</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>arrayIndex = query.response.representedInfos.value(args(6))</SourceLine>
<SourceLine>CResponseModel(query.response.representedObjects(arrayIndex)).addResponse args</SourceLine>
<SourceLine>CResponseModel(query.response.representedObjects(arrayIndex)).invalidateValues</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries.value(queryIndex) = query</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex = queryIndex then me.CFilterController1.setNeedsSort</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>handleQueryWhatIsNew</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub handleQueryWhatIsNew()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>handleQuery getLocalizedString("What's New?", "Misc"), true, true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getQueryString</ItemName>
<ItemParams></ItemParams>
<ItemResult>string</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>18</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>18</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getQueryString() As string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 and me.queries.hasKey(me.currentIndex) then _</SourceLine>
<SourceLine>return CQueryModel(me.queries.value(me.currentIndex)).queryString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>stopQuery</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub stopQuery()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 then stopQuery me.currentIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>startQuery</ItemName>
<ItemParams>selected as boolean</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>30</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>30</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub startQuery(selected as boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 then startQuery me.currentIndex, selected</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getResponseCount</ItemName>
<ItemParams></ItemParams>
<ItemResult>integer</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>43</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>43</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getResponseCount() As integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.getResponseCount(me.currentIndex)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>removeQuery</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>6</StartSelRow>
<StartSelCol>20</StartSelCol>
<EndSelRow>6</EndSelRow>
<EndSelCol>20</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub removeQuery(index as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(index) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex = index then me.currentIndex = -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CQueryModel = me.queries.value(index)</SourceLine>
<SourceLine>dim arrayIndex as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries.remove c.queryIndex</SourceLine>
<SourceLine>me.queryStrings.remove c.queryString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>arrayIndex = me.representedInfos.value(c.queryIndex)</SourceLine>
<SourceLine>me.representedObjects.remove arrayIndex</SourceLine>
<SourceLine>me.representedInfos.remove c.queryIndex</SourceLine>
<SourceLine>me.rehash</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(c.positiveQueryIndexes) <> -1 then</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "clearAllResults|" + c.positiveQueryIndexes.join("|")</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "removeQuery|" + c.positiveQueryIndexes.join("|")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>clearAllResults</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>12</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>12</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub clearAllResults(index as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(index) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CQueryModel = me.queries.value(index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.clearAllResults</SourceLine>
<SourceLine>me.queries.value(index) = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex = index then</SourceLine>
<SourceLine>me.filteredQuery.clearAllResults</SourceLine>
<SourceLine>me.flush</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim arrayIndex as integer = me.representedInfos.value(index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(arrayIndex)).updateStats 0, 0</SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(arrayIndex)).invalidateValues</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(c.positiveQueryIndexes) <> -1 then _</SourceLine>
<SourceLine>me.CCoreController1.sendCommand "clearAllResults|" + c.positiveQueryIndexes.join("|")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>removeAllQueries</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>7</StartSelRow>
<StartSelCol>34</StartSelCol>
<EndSelRow>7</EndSelRow>
<EndSelCol>34</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub removeAllQueries()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentIndex = -1</SourceLine>
<SourceLine>me.queries.clear</SourceLine>
<SourceLine>me.queryStrings.clear</SourceLine>
<SourceLine>redim me.representedObjects(-1)</SourceLine>
<SourceLine>me.representedInfos.clear</SourceLine>
<SourceLine>me.filteredQuery = new CQueryModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CCoreController1.sendCommand "removeAllQueries"</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getResponseModel</ItemName>
<ItemParams>listIndex as integer</ItemParams>
<ItemResult>CResponseModel</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>21</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>21</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getResponseModel(listIndex as integer) As CResponseModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return CResponseModel(me.filteredQuery.response.representedObjects(listIndex))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Initialize</ItemName>
<ItemParams>core as CCoreController, filter as CFilterController, fileurns as CFileurnsController, downloads as CDownloadsController</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>35</StartSelRow>
<StartSelCol>51</StartSelCol>
<EndSelRow>35</EndSelRow>
<EndSelCol>51</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Initialize(core as CCoreController, filter as CFilterController, fileurns as CFileurnsController, downloads as CDownloadsController)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.CCoreController1 = core</SourceLine>
<SourceLine>me.CFilterController1 = filter</SourceLine>
<SourceLine>me.CFileurnsController1 = fileurns</SourceLine>
<SourceLine>me.CDownloadsController1 = downloads</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim queryString(-1), keyword(-1) as string</SourceLine>
<SourceLine>dim enabled(-1) as boolean</SourceLine>
<SourceLine>dim media(-1), bitrate(-1), size(-1), sources(-1), speed(-1), sortColumn(-1), sortDirection(-1) as integer</SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>queryString = defaultsReadArrayString("kAqSearchControllerStringsKey", queryString)</SourceLine>
<SourceLine>keyword = defaultsReadArrayString("kAqFilterControllerKeyword", keyword)</SourceLine>
<SourceLine>enabled = defaultsReadArrayBoolean("kAqFilterControllerEnabled", enabled)</SourceLine>
<SourceLine>media = defaultsReadArrayInteger("kAqFilterControllerMedia", media)</SourceLine>
<SourceLine>bitrate = defaultsReadArrayInteger("kAqFilterControllerBitrate", bitrate)</SourceLine>
<SourceLine>size = defaultsReadArrayInteger("kAqFilterControllerSize", size)</SourceLine>
<SourceLine>sources = defaultsReadArrayInteger("kAqFilterControllerSources", sources)</SourceLine>
<SourceLine>speed = defaultsReadArrayInteger("kAqFilterControllerSpeed", speed)</SourceLine>
<SourceLine>sortColumn = defaultsReadArrayInteger("kAqFilterControllerSortColumn", sortColumn)</SourceLine>
<SourceLine>sortDirection = defaultsReadArrayInteger("kAqFilterControllerSortDirection", sortDirection)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(queryString)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>handleQueryInitial queryString(i), _</SourceLine>
<SourceLine>new CFilterModel( _</SourceLine>
<SourceLine>keyword(i), enabled(i), media(i), bitrate(i), _</SourceLine>
<SourceLine>size(i), sources(i), speed(i), sortColumn(i), sortDirection(i) _</SourceLine>
<SourceLine>)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine>handleQueryInitial queryString(i), new CFilterModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getQueryModel</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult>CQueryModel</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getQueryModel(index as integer) As CQueryModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(index) then return me.queries.value(index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setCurrentIndex</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setCurrentIndex(index as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.currentIndex = index</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setQueryModel</ItemName>
<ItemParams>index as integer, query as CQueryModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setQueryModel(index as integer, query as CQueryModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries.value(index) = query</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>startQuery</ItemName>
<ItemParams>index as integer, selected as boolean</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>4</StartSelRow>
<StartSelCol>20</StartSelCol>
<EndSelRow>4</EndSelRow>
<EndSelCol>20</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub startQuery(index as integer, selected as boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(index) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CQueryModel = me.queries.value(index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>handleQuery c.queryString, selected, c.keepInSidebar</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>stopQuery</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>21</StartSelRow>
<StartSelCol>13</StartSelCol>
<EndSelRow>21</EndSelRow>
<EndSelCol>13</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub stopQuery(index as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(index) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CQueryModel = me.queries.value(index)</SourceLine>
<SourceLine>dim arrayIndex as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* overwrite existing query index *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.negativeQueryIndex = me.negativeQueryIndex - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries.remove c.queryIndex</SourceLine>
<SourceLine>me.queryStrings.remove c.queryString</SourceLine>
<SourceLine></SourceLine>
<SourceLine>arrayIndex = me.representedInfos.value(c.queryIndex)</SourceLine>
<SourceLine>me.representedInfos.remove c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.queryIndex = me.negativeQueryIndex</SourceLine>
<SourceLine>me.queries.value(c.queryIndex) = c</SourceLine>
<SourceLine>me.queryStrings.value(c.queryString) = c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(arrayIndex)).overwriteStats c.queryIndex, -1</SourceLine>
<SourceLine>me.representedInfos.value(c.queryIndex) = arrayIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex = index then me.currentIndex = c.queryIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Finalize</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>33</StartSelRow>
<StartSelCol>7</StartSelCol>
<EndSelRow>33</EndSelRow>
<EndSelCol>7</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Finalize()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim queryString(-1), keyword(-1) as string</SourceLine>
<SourceLine>dim enabled(-1) as boolean</SourceLine>
<SourceLine>dim media(-1), bitrate(-1), size(-1), sources(-1), speed(-1), sortColumn(-1), sortDirection(-1) as integer</SourceLine>
<SourceLine>dim c as CQueryModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(me.representedObjects)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c = me.queries.value(CSidebarModel(me.representedObjects(i)).index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.keepInSidebar then</SourceLine>
<SourceLine>queryString.append c.queryString</SourceLine>
<SourceLine>keyword.append c.queryFilter.keyword</SourceLine>
<SourceLine>enabled.append c.queryFilter.enabled</SourceLine>
<SourceLine>media.append c.queryFilter.media</SourceLine>
<SourceLine>bitrate.append c.queryFilter.bitrate</SourceLine>
<SourceLine>size.append c.queryFilter.size</SourceLine>
<SourceLine>sources.append c.queryFilter.sources</SourceLine>
<SourceLine>speed.append c.queryFilter.speed</SourceLine>
<SourceLine>sortColumn.append c.queryFilter.sortColumn</SourceLine>
<SourceLine>sortDirection.append c.queryFilter.sortDirection</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>defaultsWriteArrayString "kAqSearchControllerStringsKey", queryString</SourceLine>
<SourceLine>defaultsWriteArrayString "kAqFilterControllerKeyword", keyword</SourceLine>
<SourceLine>defaultsWriteArrayBoolean "kAqFilterControllerEnabled", enabled</SourceLine>
<SourceLine>defaultsWriteArrayInteger "kAqFilterControllerMedia", media</SourceLine>
<SourceLine>defaultsWriteArrayInteger "kAqFilterControllerBitrate", bitrate</SourceLine>
<SourceLine>defaultsWriteArrayInteger "kAqFilterControllerSize", size</SourceLine>
<SourceLine>defaultsWriteArrayInteger "kAqFilterControllerSources", sources</SourceLine>
<SourceLine>defaultsWriteArrayInteger "kAqFilterControllerSpeed", speed</SourceLine>
<SourceLine>defaultsWriteArrayInteger "kAqFilterControllerSortColumn", sortColumn</SourceLine>
<SourceLine>defaultsWriteArrayInteger "kAqFilterControllerSortDirection", sortDirection</SourceLine>
<SourceLine></SourceLine>
<SourceLine><Hex bytes="62">2F2FE8A880E38184E8A8B3E381AAE381A9E9A696E381ABE79FADE589A3E38292E7AA81E3818DE588BAE38199E381AEE381ABE7AD89E38197E38184E38082</Hex></SourceLine>
<SourceLine><Hex bytes="56">2F2FE3819DE381AEE9A696E58583E381AEE8A180E7AD8BE3818BE38289E799BDE38184E89B87E3818CE9A39BE381B3E587BAE38199E38082</Hex></SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>handleQueryInitial</ItemName>
<ItemParams>queryString as string, filter as CFilterModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>13</StartSelRow>
<StartSelCol>46</StartSelCol>
<EndSelRow>13</EndSelRow>
<EndSelCol>46</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub handleQueryInitial(queryString as string, filter as CFilterModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CQueryModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queryStrings.haskey(queryString) = false then</SourceLine>
<SourceLine>//* create new query *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.negativeQueryIndex = me.negativeQueryIndex - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c = new CQueryModel(me.negativeQueryIndex, queryString, filter, true)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries.value(c.queryIndex) = c</SourceLine>
<SourceLine>me.queryStrings.value(c.queryString) = c.queryIndex</SourceLine>
<SourceLine>me.representedObjects.append new CSidebarModel(c.queryString, c.queryIndex, -1)</SourceLine>
<SourceLine>me.representedInfos.value(c.queryIndex) = ubound(me.representedObjects)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>handleQueryBrowse</ItemName>
<ItemParams>arg as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub handleQueryBrowse(arg as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>handleQuery arg, false, false</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getCurrentIndex</ItemName>
<ItemParams></ItemParams>
<ItemResult>integer</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getCurrentIndex() As integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.currentIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>clearAllResults</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub clearAllResults()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 then _</SourceLine>
<SourceLine>clearAllResults me.currentIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>1536</TextEncoding>
<ItemName>removeQuery</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub removeQuery()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 then removeQuery me.currentIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setQueryMarked</ItemName>
<ItemParams>arrayIndex as integer, value as boolean</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>13</StartSelRow>
<StartSelCol>11</StartSelCol>
<EndSelRow>13</EndSelRow>
<EndSelCol>11</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setQueryMarked(arrayIndex as integer, value as boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CResponseModel = CResponseModel(me.filteredquery.response.representedObjects(arrayIndex))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.marked = value</SourceLine>
<SourceLine>c.invalidateValues</SourceLine>
<SourceLine>me.filteredquery.response.representedObjects(arrayIndex) = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim sha1 as string = c.sha1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 and _</SourceLine>
<SourceLine>CQueryModel(me.queries.value(me.currentIndex)).response.representedInfos.hasKey(sha1) then</SourceLine>
<SourceLine>arrayIndex = CQueryModel(me.queries.value(me.currentIndex)).response.representedInfos.value(sha1)</SourceLine>
<SourceLine>CQueryModel(me.queries.value(me.currentIndex)).response.representedObjects(arrayIndex) = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>hasQueryModel</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>17</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>17</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function hasQueryModel(index as integer) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.queries.hasKey(index)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setFilteredQuery</ItemName>
<ItemParams>filteredQuery as CQueryModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>8</StartSelRow>
<StartSelCol>13</StartSelCol>
<EndSelRow>8</EndSelRow>
<EndSelCol>13</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setFilteredQuery(filteredQuery as CQueryModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.filteredQuery = filteredQuery</SourceLine>
<SourceLine>me.flush</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim arrayIndex as integer = me.representedInfos.value(me.currentIndex)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(arrayIndex)).updateStats me.getResponseCount, me.filteredQuery.response.representedInfos.count</SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(arrayIndex)).invalidateValues</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>hasQueryString</ItemName>
<ItemParams>browseQueryString as string</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>22</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>22</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function hasQueryString(browseQueryString as string) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.queryStrings.hasKey(browseQueryString)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getLocalIndexes</ItemName>
<ItemParams>listIndex as integer</ItemParams>
<ItemResult>string</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>40</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>40</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getLocalIndexes(listIndex as integer) As string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CResponseModel = CResponseModel(me.filteredquery.response.representedObjects(listIndex))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine>dim results(-1) as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(c.queryIndexes)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* download index *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>results.append c.queryIndexes(i).stringValue + ":" + c.localIndexes(i).stringValue</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return results.join("|")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>6</StartSelRow>
<StartSelCol>34</StartSelCol>
<EndSelRow>6</EndSelRow>
<EndSelCol>34</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>super.Constructor</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.queries = new DIctionary</SourceLine>
<SourceLine>me.queryStrings = new Dictionary</SourceLine>
<SourceLine>me.filteredQuery = new CQueryModel</SourceLine>
<SourceLine>me.currentIndex = -1</SourceLine>
<SourceLine>me.positiveQueryIndex = -1</SourceLine>
<SourceLine>me.negativeQueryIndex = -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setFilterModel</ItemName>
<ItemParams>c as CFilterModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>11</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>11</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setFilterModel(c as CFilterModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 and me.queries.hasKey(me.currentIndex) then _</SourceLine>
<SourceLine>CQueryModel(me.queries.value(me.currentIndex)).queryFilter = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getFilterModel</ItemName>
<ItemParams></ItemParams>
<ItemResult>CFilterModel</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>6</StartSelRow>
<StartSelCol>23</StartSelCol>
<EndSelRow>6</EndSelRow>
<EndSelCol>23</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getFilterModel() As CFilterModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 and me.queries.hasKey(me.currentIndex) then</SourceLine>
<SourceLine>return CQueryModel(me.queries.value(me.currentIndex)).queryFilter</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>return new CFilterModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>browseHostFailed</ItemName>
<ItemParams>args() as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>15</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>15</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub browseHostFailed(args() as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if ubound(args) <> 1 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim queryIndex as integer = args(1).val</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.representedInfos.hasKey(queryIndex) = false then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CSidebarModel = CSidebarModel(me.representedObjects(me.representedInfos.value(queryIndex)))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.getKeepInSidebar(c.index) = false and me.getResponseCount(c.index) = 0 then</SourceLine>
<SourceLine>me.removeQuery c.index</SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.stopQuery c.index</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>flush</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub flush()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateDataSource me.filteredQuery.response.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>convertEncoding</ItemName>
<ItemParams>arrayIndex as integer, type as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>13</StartSelRow>
<StartSelCol>11</StartSelCol>
<EndSelRow>13</EndSelRow>
<EndSelCol>11</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub convertEncoding(arrayIndex as integer, type as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim sha1 as string</SourceLine>
<SourceLine>dim c as CResponseModel = CResponseModel(me.filteredquery.response.representedObjects(arrayIndex))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.convertEncoding type</SourceLine>
<SourceLine>c.invalidateValues</SourceLine>
<SourceLine>me.filteredquery.response.representedObjects(arrayIndex) = c</SourceLine>
<SourceLine>sha1 = c.sha1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 and _</SourceLine>
<SourceLine>CQueryModel(me.queries.value(me.currentIndex)).response.representedInfos.hasKey(sha1) then</SourceLine>
<SourceLine>arrayIndex = CQueryModel(me.queries.value(me.currentIndex)).response.representedInfos.value(sha1)</SourceLine>
<SourceLine>CQueryModel(me.queries.value(me.currentIndex)).response.representedObjects(arrayIndex) = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getKeepInSidebar</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>51</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>51</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getKeepInSidebar(index as integer) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(index) then return CQueryModel(me.queries.value(index)).keepInSidebar</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setKeepInSidebar</ItemName>
<ItemParams>index as integer, value as boolean</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>44</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>44</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setKeepInSidebar(index as integer, value as boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(index) then CQueryModel(me.queries.value(index)).keepInSidebar = value</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getResponseCount</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult>integer</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>18</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>18</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getResponseCount(index as integer) As integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.queries.hasKey(index) then _</SourceLine>
<SourceLine>return CQueryModel(me.queries.value(index)).response.representedInfos.count</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setSidebarHighlighted</ItemName>
<ItemParams>index as integer, value as boolean</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>2</StartSelRow>
<StartSelCol>13</StartSelCol>
<EndSelRow>2</EndSelRow>
<EndSelCol>13</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setSidebarHighlighted(index as integer, value as boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>CSidebarModel(me.representedObjects(index)).highlighted = value</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>reorderSidebarDatasource</ItemName>
<ItemParams>newPosition as integer, selectedItems() as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>27</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>27</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub reorderSidebarDatasource(newPosition as integer, selectedItems() as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j, index as integer</SourceLine>
<SourceLine>dim temp(-1) as CStatsModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>newPosition = me.representedObjects(newPosition).getRepresentation</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(me.representedObjects)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if selectedItems.indexOf(i) = - 1 then temp.append me.representedObjects(i)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.representedObjects(i).getRepresentation = newPosition then newPosition = i</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(selectedItems)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp.insert newPosition + i, me.representedObjects(selectedItems(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedObjects = temp</SourceLine>
<SourceLine>me.rehash</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine>selectCell -1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>handleQueryFindMoreSources</ItemName>
<ItemParams>arg as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub handleQueryFindMoreSources(arg as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>handleQuery arg, false, false</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>handleQueryNormal</ItemName>
<ItemParams>arg as string</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub handleQueryNormal(arg as string)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>handleQuery arg, true, true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>setQuerySpam</ItemName>
<ItemParams>arrayIndex as integer, spam as boolean</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>13</StartSelRow>
<StartSelCol>11</StartSelCol>
<EndSelRow>13</EndSelRow>
<EndSelCol>11</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub setQuerySpam(arrayIndex as integer, spam as boolean)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim sha1 as string</SourceLine>
<SourceLine>dim c as CResponseModel = CResponseModel(me.filteredquery.response.representedObjects(arrayIndex))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c.spam = spam</SourceLine>
<SourceLine>c.invalidateValues</SourceLine>
<SourceLine>me.filteredquery.response.representedObjects(arrayIndex) = c</SourceLine>
<SourceLine>sha1 = c.sha1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if me.currentIndex <> -1 and _</SourceLine>
<SourceLine>CQueryModel(me.queries.value(me.currentIndex)).response.representedInfos.hasKey(sha1) then</SourceLine>
<SourceLine>arrayIndex = CQueryModel(me.queries.value(me.currentIndex)).response.representedInfos.value(sha1)</SourceLine>
<SourceLine>CQueryModel(me.queries.value(me.currentIndex)).response.representedObjects(arrayIndex) = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>1536</TextEncoding>
<ItemName>statsUpdated</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>7</StartSelRow>
<StartSelCol>17</StartSelCol>
<EndSelRow>7</EndSelRow>
<EndSelCol>17</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub statsUpdated()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine>dim c as CSidebarModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = ubound(me.representedObjects) downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>c = CSidebarModel(me.representedObjects(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.interval > 0 then</SourceLine>
<SourceLine>c.interval = c.interval - 1</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedObjects(i) = c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.interval = 0 then</SourceLine>
<SourceLine>if me.getKeepInSidebar(c.index) = false and me.getResponseCount(c.index) = 0 then</SourceLine>
<SourceLine>me.removeQuery c.index</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.stopQuery c.index</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>updateCell me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>updateCell</ItemName>
<ItemParams>c() as CStatsModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>updateDataSource</ItemName>
<ItemParams>c() as CStatsModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<Hook>
<TextEncoding>134217984</TextEncoding>
<ItemName>selectCell</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>33</ItemFlags>
</Hook>
<HookInstance>
<TextEncoding>1536</TextEncoding>
<ItemName>Open</ItemName>
<ItemSource>
<StartSelRow>1</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>1</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Open()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</HookInstance>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1115376969">
<ObjName>CResourceController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="37" top="64" width="1019" height="702"/></EditBounds>
<EditSplit>197</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="37" top="64" width="1019" height="702"/></EditBounds>
<EditSplit>197</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CResourceController</ObjName>
<ObjSize>48</ObjSize>
<IsInterface>0</IsInterface>
<Property Flags="1">smallMediaPictures(5) as picture</Property>
<Property Flags="1">largeMediaPictures(5) as picture</Property>
<Property Flags="1">controlPictures(5) as picture</Property>
<Property Flags="1">chasingArrows(23) as picture</Property>
<Property Flags="1">largeIconCache as dictionary</Property>
<Property Flags="1">smallIconCache as dictionary</Property>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getSmallMediaPicture</ItemName>
<ItemParams>c as CResponseModel</ItemParams>
<ItemResult>picture</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>11</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>11</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getSmallMediaPicture(c as CResponseModel) As picture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if c.marked then return me.controlPictures(0)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMachO</SourceLine>
<SourceLine>if me.smallIconCache.hasKey(c.extension) or me.appendIconCache(c.extension) then _</SourceLine>
<SourceLine>return me.smallIconCache.value(c.extension)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.smallMediaPictures(c.mediaType)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getLargeMediaPicture</ItemName>
<ItemParams>type as integer, extension as string</ItemParams>
<ItemResult>picture</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getLargeMediaPicture(type as integer, extension as string) As picture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMachO</SourceLine>
<SourceLine>if me.largeIconCache.hasKey(extension) or me.appendIconCache(extension) then _</SourceLine>
<SourceLine>return me.largeIconCache.value(extension)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.largeMediaPictures(type)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getMaskedPicture</ItemName>
<ItemParams>pictureName as string</ItemParams>
<ItemResult>picture</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>10</StartSelRow>
<StartSelCol>1</StartSelCol>
<EndSelRow>10</EndSelRow>
<EndSelCol>1</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getMaskedPicture(pictureName as string) As picture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>#if debugBuild and targetMachO</SourceLine>
<SourceLine>return getFolderItem("Contents").child("Resources").child(pictureName).openAsMaskedPicture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetMachO</SourceLine>
<SourceLine>return App.ExecutableFile.parent.parent.child("Resources").child(pictureName).openAsMaskedPicture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>return App.ExecutableFile.parent.child("Contents").child("Resources").child(pictureName).openAsMaskedPicture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32</SourceLine>
<SourceLine>return App.ExecutableFile.fixRbBug.parent.child("Contents").child("Resources").child(pictureName).openAsMaskedPicture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetLinux</SourceLine>
<SourceLine>return App.ExecutableFile.parent.child("Contents").fixRbBug.child("Resources").fixRbBug.child(pictureName).fixRbBug.openAsMaskedPicture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getControlPicture</ItemName>
<ItemParams>type as integer</ItemParams>
<ItemResult>picture</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getControlPicture(type as integer) As picture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.controlPictures(type)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>appendIconCache</ItemName>
<ItemParams>extension as string</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function appendIconCache(extension as string) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMachO</SourceLine>
<SourceLine>dim f as folderItem</SourceLine>
<SourceLine>dim b as BinaryStream</SourceLine>
<SourceLine>dim p as picture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>f = PreferencesFolder.parent.Child("Caches").child("Cabos").child("icon." + extension)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>b = f.CreateBinaryFile("")</SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>finally</SourceLine>
<SourceLine>if b <> nil then b.close</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>p = new MacIcon(f, 32)</SourceLine>
<SourceLine>if p <> nil then me.largeIconCache.value(extension) = p</SourceLine>
<SourceLine></SourceLine>
<SourceLine>p = new MacIcon(f, 16)</SourceLine>
<SourceLine>if p <> nil then me.smallIconCache.value(extension) = p</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.largeIconCache.hasKey(extension) and me.smallIconCache.hasKey(extension)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getChasingArrows</ItemName>
<ItemParams>type as integer</ItemParams>
<ItemResult>picture</ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getChasingArrows(type as integer) As picture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return me.chasingArrows(type)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>125</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>125</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMachO</SourceLine>
<SourceLine>me.largeIconCache = new Dictionary</SourceLine>
<SourceLine>me.smallIconCache = new Dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine>dim f as FolderItem</SourceLine>
<SourceLine>dim p as picture</SourceLine>
<SourceLine>dim extension as string</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>f = PreferencesFolder.parent.child("Caches")</SourceLine>
<SourceLine>if f.exists = false then f.createAsFolder</SourceLine>
<SourceLine>f = f.child("Cabos")</SourceLine>
<SourceLine>if f.exists = false then f.createAsFolder</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = f.count downto 1</SourceLine>
<SourceLine>if f.item(i).name.inStrb("icon.") <> 0 then</SourceLine>
<SourceLine>extension = f.item(i).name.getExtension</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if extension.lenb <> 0 then</SourceLine>
<SourceLine>p = new MacIcon(f.item(i), 32)</SourceLine>
<SourceLine>if p <> nil then me.largeIconCache.value(extension) = p</SourceLine>
<SourceLine>p = new MacIcon(f.item(i), 16)</SourceLine>
<SourceLine>if p <> nil then me.smallIconCache.value(extension) = p</SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to 5</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.chasingArrows(i) = me.getMaskedPicture(str(i) + ".png")</SourceLine>
<SourceLine>me.chasingArrows(i + 6) = me.getSilhouettePicture(me.chasingArrows(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.smallMediaPictures(1) = me.getMaskedPicture("music-small.png")</SourceLine>
<SourceLine>me.smallMediaPictures(2) = me.getMaskedPicture("pictures-small.png")</SourceLine>
<SourceLine>me.smallMediaPictures(3) = me.getMaskedPicture("movies-small.png")</SourceLine>
<SourceLine>me.smallMediaPictures(4) = me.getMaskedPicture("text-small.png")</SourceLine>
<SourceLine>me.smallMediaPictures(5) = me.getMaskedPicture("files-small.png")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.largeMediaPictures(1) = me.getMaskedPicture("music.png")</SourceLine>
<SourceLine>me.largeMediaPictures(2) = me.getMaskedPicture("pictures.png")</SourceLine>
<SourceLine>me.largeMediaPictures(3) = me.getMaskedPicture("movies.png")</SourceLine>
<SourceLine>me.largeMediaPictures(4) = me.getMaskedPicture("text.png")</SourceLine>
<SourceLine>me.largeMediaPictures(5) = me.getMaskedPicture("files.png")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.controlPictures(0) = me.getMaskedPicture("complete_small.png")</SourceLine>
<SourceLine>me.controlPictures(1) = me.getMaskedPicture("find_small.png")</SourceLine>
<SourceLine>me.controlPictures(2) = me.getMaskedPicture("network_small.png")</SourceLine>
<SourceLine>me.controlPictures(3) = me.getMaskedPicture("download_small.png")</SourceLine>
<SourceLine>me.controlPictures(4) = me.getMaskedPicture("upload_small.png")</SourceLine>
<SourceLine>me.controlPictures(5) = me.getSilhouettePicture(me.controlPictures(1))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to 5</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.chasingArrows(i) = me.getMaskedPicture(str(i) + ".png")</SourceLine>
<SourceLine>me.chasingArrows(i + 6) = me.getSilhouettePicture(me.chasingArrows(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.smallMediaPictures(1) = me.getMaskedPicture("music-small.png")</SourceLine>
<SourceLine>me.smallMediaPictures(2) = me.getMaskedPicture("pictures-small.png")</SourceLine>
<SourceLine>me.smallMediaPictures(3) = me.getMaskedPicture("movies-small.png")</SourceLine>
<SourceLine>me.smallMediaPictures(4) = me.getMaskedPicture("text-small.png")</SourceLine>
<SourceLine>me.smallMediaPictures(5) = me.getMaskedPicture("files-small.png")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.largeMediaPictures(1) = me.getMaskedPicture("music.png")</SourceLine>
<SourceLine>me.largeMediaPictures(2) = me.getMaskedPicture("pictures.png")</SourceLine>
<SourceLine>me.largeMediaPictures(3) = me.getMaskedPicture("movies.png")</SourceLine>
<SourceLine>me.largeMediaPictures(4) = me.getMaskedPicture("text.png")</SourceLine>
<SourceLine>me.largeMediaPictures(5) = me.getMaskedPicture("files.png")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.controlPictures(0) = me.getMaskedPicture("complete_small.png")</SourceLine>
<SourceLine>me.controlPictures(1) = me.getMaskedPicture("find_small.png")</SourceLine>
<SourceLine>me.controlPictures(2) = me.getMaskedPicture("network_small.png")</SourceLine>
<SourceLine>me.controlPictures(3) = me.getMaskedPicture("download_small.png")</SourceLine>
<SourceLine>me.controlPictures(4) = me.getMaskedPicture("upload_small.png")</SourceLine>
<SourceLine>me.controlPictures(5) = me.getSilhouettePicture(me.controlPictures(1))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetWin32 or targetLinux</SourceLine>
<SourceLine>dim i as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to 5</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.chasingArrows(i) = me.getMaskedPicture(str(i) + ".gif")</SourceLine>
<SourceLine>me.chasingArrows(i + 6) = me.getSilhouettePicture(me.chasingArrows(i))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.smallMediaPictures(1) = me.getMaskedPicture("music-small.gif")</SourceLine>
<SourceLine>me.smallMediaPictures(2) = me.getMaskedPicture("pictures-small.gif")</SourceLine>
<SourceLine>me.smallMediaPictures(3) = me.getMaskedPicture("movies-small.gif")</SourceLine>
<SourceLine>me.smallMediaPictures(4) = me.getMaskedPicture("text-small.gif")</SourceLine>
<SourceLine>me.smallMediaPictures(5) = me.getMaskedPicture("files-small.gif")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.largeMediaPictures(1) = me.getMaskedPicture("music.gif")</SourceLine>
<SourceLine>me.largeMediaPictures(2) = me.getMaskedPicture("pictures.gif")</SourceLine>
<SourceLine>me.largeMediaPictures(3) = me.getMaskedPicture("movies.gif")</SourceLine>
<SourceLine>me.largeMediaPictures(4) = me.getMaskedPicture("text.gif")</SourceLine>
<SourceLine>me.largeMediaPictures(5) = me.getMaskedPicture("files.gif")</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.controlPictures(0) = me.getMaskedPicture("complete_small.gif")</SourceLine>
<SourceLine>me.controlPictures(1) = me.getMaskedPicture("find_small.gif")</SourceLine>
<SourceLine>me.controlPictures(2) = me.getMaskedPicture("network_small.gif")</SourceLine>
<SourceLine>me.controlPictures(3) = me.getMaskedPicture("download_small.gif")</SourceLine>
<SourceLine>me.controlPictures(4) = me.getMaskedPicture("upload_small.gif")</SourceLine>
<SourceLine>me.controlPictures(5) = me.getSilhouettePicture(me.controlPictures(1))</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine><Hex bytes="38">2F2FE3819FE381A0E38081E381BEE3828FE3828AE381BEE3828FE3828BE38081E381A0E38191</Hex></SourceLine>
<SourceLine><Hex bytes="38">2F2FE3819FE381A0E38081E3828FE38289E38184E3828FE38289E38186E38081E381A0E38191</Hex></SourceLine>
<SourceLine><Hex bytes="38">2F2FE38288E3818FE38081E699B4E3828CE3819FE59091E38193E38186E38081E381B8E381A8</Hex></SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getSilhouettePicture</ItemName>
<ItemParams>p as picture</ItemParams>
<ItemResult>picture</ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>9</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>9</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function getSilhouettePicture(p as picture) As picture</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#if targetMachO or targetWin32 or targetLinux</SourceLine>
<SourceLine>dim result as picture</SourceLine>
<SourceLine>dim x, y as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>result = new picture(p.width, p.height, 32)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for x = result.width downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for y = result.height downto 0</SourceLine>
<SourceLine></SourceLine>
<SourceLine>result.RGBSurface.pixel(x, y) = &cFFFFFF</SourceLine>
<SourceLine>result.mask.RGBSurface.pixel(x, y) = p.mask.RGBSurface.pixel(x, y)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>return result</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#elseif targetCarbon</SourceLine>
<SourceLine>return p</SourceLine>
<SourceLine></SourceLine>
<SourceLine>#endif</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1087092652">
<ObjName>CResponseController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="0" top="44" width="724" height="720"/></EditBounds>
<EditSplit>181</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="0" top="44" width="724" height="720"/></EditBounds>
<EditSplit>181</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CResponseController</ObjName>
<ObjSize>32</ObjSize>
<Superclass>CStatsController</Superclass>
<IsInterface>0</IsInterface>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getNumericColumns</ItemName>
<ItemParams>byref column as integer, byref temp1() as double, byref temp2() as double, byref temp3() as CStatsModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>46</StartSelRow>
<StartSelCol>27</StartSelCol>
<EndSelRow>46</EndSelRow>
<EndSelCol>27</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub getNumericColumns(byref column as integer, byref temp1() as double, byref temp2() as double, byref temp3() as CStatsModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CStatsModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case column</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 4 //* size *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).fileSize</SourceLine>
<SourceLine>temp2.append CResponseModel(c).fileSize</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 5 //* bitrate *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).bitrate</SourceLine>
<SourceLine>temp2.append CResponseModel(c).bitrate</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 6 //* seconds *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).seconds</SourceLine>
<SourceLine>temp2.append CResponseModel(c).seconds</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 7 //* sources *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).sources</SourceLine>
<SourceLine>temp2.append CResponseModel(c).sources</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 8 //* speed *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).speed</SourceLine>
<SourceLine>temp2.append CResponseModel(c).speed</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getStringColumns</ItemName>
<ItemParams>byref column as integer, byref temp1() as string, byref temp2() as string, byref temp3() as CStatsModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>37</StartSelRow>
<StartSelCol>27</StartSelCol>
<EndSelRow>37</EndSelRow>
<EndSelCol>27</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub getStringColumns(byref column as integer, byref temp1() as string, byref temp2() as string, byref temp3() as CStatsModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim c as CStatsModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case column</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0 //* icon *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).extension</SourceLine>
<SourceLine>temp2.append CResponseModel(c).extension</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1 //* dispaly name *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).displayName</SourceLine>
<SourceLine>temp2.append CResponseModel(c).displayName</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* artist *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).artist</SourceLine>
<SourceLine>temp2.append CResponseModel(c).artist</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 3 //* album *//</SourceLine>
<SourceLine>for each c in me.representedObjects</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.append CResponseModel(c).album</SourceLine>
<SourceLine>temp2.append CResponseModel(c).album</SourceLine>
<SourceLine>temp3.append c</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>1536</TextEncoding>
<ItemName>isNumericColumn</ItemName>
<ItemParams>column as integer</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>32</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>32</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Function isNumericColumn(column as integer) As boolean</SourceLine>
<SourceLine></SourceLine>
<SourceLine>select case column</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 0 //* icon *//</SourceLine>
<SourceLine>return false</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 1 //* dispaly name *//</SourceLine>
<SourceLine>return false</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 2 //* artist *//</SourceLine>
<SourceLine>return false</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 3 //* album *//</SourceLine>
<SourceLine>return false</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 4 //* size *//</SourceLine>
<SourceLine>return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 5 //* bitrate *//</SourceLine>
<SourceLine>return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 6 //* seconds *//</SourceLine>
<SourceLine>return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 7 //* sources *//</SourceLine>
<SourceLine>return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>case 8 //* speed *//</SourceLine>
<SourceLine>return true</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Function</SourceLine>
</ItemSource>
</Method>
<Interfaces></Interfaces>
</block>
<block type="Module" ID="-1089438556">
<ObjName>CStatsController</ObjName>
<ObjContainerID>-1007788628</ObjContainerID>
<EditBounds><Rect left="158" top="177" width="821" height="436"/></EditBounds>
<EditSplit>181</EditSplit>
<BrowserPositionGroup>
<BrowserPositionElement>
<ScreenKey>100000721</ScreenKey>
<EditBounds><Rect left="158" top="177" width="821" height="436"/></EditBounds>
<EditSplit>181</EditSplit>
</BrowserPositionElement>
</BrowserPositionGroup>
<IsClass>1</IsClass>
<ObjName>CStatsController</ObjName>
<ObjSize>32</ObjSize>
<IsInterface>0</IsInterface>
<Property>representedInfos as Dictionary</Property>
<Property>representedObjects(-1) as CStatsModel</Property>
<Method>
<TextEncoding>1536</TextEncoding>
<ItemName>Constructor</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub Constructor()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedInfos = new Dictionary</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>rehash</ItemName>
<ItemParams></ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>11</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>11</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub rehash()</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(me.representedObjects)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedInfos.value(me.representedObjects(i).getRepresentation) = i</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>1536</TextEncoding>
<ItemName>remove</ItemName>
<ItemParams>index as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub remove(index as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.representedInfos.remove me.representedObjects(index).getRepresentation</SourceLine>
<SourceLine>me.representedObjects.remove index</SourceLine>
<SourceLine>me.rehash</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>sort</ItemName>
<ItemParams>column as integer, direction as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>0</ItemFlags>
<ItemSource>
<StartSelRow>5</StartSelRow>
<StartSelCol>2</StartSelCol>
<EndSelRow>5</EndSelRow>
<EndSelCol>2</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub sort(column as integer, direction as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if column = -1 or ubound(me.representedObjects) < 1 then return</SourceLine>
<SourceLine></SourceLine>
<SourceLine>try</SourceLine>
<SourceLine>if me.isNumericColumn(column) then</SourceLine>
<SourceLine>me.sortNumber column, direction</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>me.sortString column, direction</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>catch</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>sortNumber</ItemName>
<ItemParams>column as integer, direction as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>4</StartSelRow>
<StartSelCol>20</StartSelCol>
<EndSelRow>4</EndSelRow>
<EndSelCol>20</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub sortNumber(column as integer, direction as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim temp1(-1), temp2(-1) as double</SourceLine>
<SourceLine>dim temp3(-1) as CStatsModel</SourceLine>
<SourceLine>dim c as CStatsModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.getNumericColumns column, temp1, temp2, temp3</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.sort</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j, arrayIndex as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(temp1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if direction = 1 then</SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>arrayIndex = temp2.indexOf(temp1(i))</SourceLine>
<SourceLine>me.representedObjects(i) = temp3(arrayIndex)</SourceLine>
<SourceLine>me.representedInfos.value(me.representedObjects(i).getRepresentation) = i</SourceLine>
<SourceLine>temp2.remove arrayIndex</SourceLine>
<SourceLine>temp3.remove arrayIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>arrayIndex = temp2.indexOf(temp1(j - i))</SourceLine>
<SourceLine>me.representedObjects(i) = temp3(arrayIndex)</SourceLine>
<SourceLine>me.representedInfos.value(me.representedObjects(i).getRepresentation) = i</SourceLine>
<SourceLine>temp2.remove arrayIndex</SourceLine>
<SourceLine>temp3.remove arrayIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>getNumericColumns</ItemName>
<ItemParams>byref column as integer, byref temp1() as double, byref temp2() as double, byref temp3() as CStatsModel</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>0</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub getNumericColumns(byref column as integer, byref temp1() as double, byref temp2() as double, byref temp3() as CStatsModel)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>//* Override *//</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>sortString</ItemName>
<ItemParams>column as integer, direction as integer</ItemParams>
<ItemResult></ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>4</StartSelRow>
<StartSelCol>20</StartSelCol>
<EndSelRow>4</EndSelRow>
<EndSelCol>20</EndSelCol>
<TextEncoding>134217984</TextEncoding>
<SourceLine>Sub sortString(column as integer, direction as integer)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim temp1(-1), temp2(-1) as string</SourceLine>
<SourceLine>dim temp3(-1) as CStatsModel</SourceLine>
<SourceLine>dim c as CStatsModel</SourceLine>
<SourceLine></SourceLine>
<SourceLine>me.getStringColumns column, temp1, temp2, temp3</SourceLine>
<SourceLine></SourceLine>
<SourceLine>temp1.stringSort</SourceLine>
<SourceLine></SourceLine>
<SourceLine>dim i, j, arrayIndex as integer</SourceLine>
<SourceLine></SourceLine>
<SourceLine>j = ubound(temp1)</SourceLine>
<SourceLine></SourceLine>
<SourceLine>if direction = 1 then</SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>arrayIndex = temp2.indexOf(temp1(i))</SourceLine>
<SourceLine>me.representedObjects(i) = temp3(arrayIndex)</SourceLine>
<SourceLine>me.representedInfos.value(me.representedObjects(i).getRepresentation) = i</SourceLine>
<SourceLine>temp2.remove arrayIndex</SourceLine>
<SourceLine>temp3.remove arrayIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>else</SourceLine>
<SourceLine>for i = 0 to j</SourceLine>
<SourceLine></SourceLine>
<SourceLine>arrayIndex = temp2.indexOf(temp1(j - i))</SourceLine>
<SourceLine>me.representedObjects(i) = temp3(arrayIndex)</SourceLine>
<SourceLine>me.representedInfos.value(me.representedObjects(i).getRepresentation) = i</SourceLine>
<SourceLine>temp2.remove arrayIndex</SourceLine>
<SourceLine>temp3.remove arrayIndex</SourceLine>
<SourceLine></SourceLine>
<SourceLine>next</SourceLine>
<SourceLine></SourceLine>
<SourceLine>end</SourceLine>
<SourceLine></SourceLine>
<SourceLine>End Sub</SourceLine>
</ItemSource>
</Method>
<Method>
<TextEncoding>134217984</TextEncoding>
<ItemName>isNumericColumn</ItemName>
<ItemParams>column as integer</ItemParams>
<ItemResult>boolean</ItemResult>
<ItemFlags>1</ItemFlags>
<ItemSource>
<StartSelRow>3</StartSelRow>
<StartSelCol>0</StartSelCol>
<EndSelRow>3</EndSelRow>
<EndSelCol>
part of content cut off due to size limit