/Transportables_Koptertool/tags/V3.2/CHANGE.LOG |
---|
0,0 → 1,32 |
/**************************************************************************** |
* Copyright (C) 2011 by Christian "cebra" Brandtner * |
* brandtner@brandtner.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
****************************************************************************/ |
!!Vor dem Kompilieren in der main.h die Hardwareversion einstellen!! |
27.6.2011 cebra |
PKT Setup überarbeitet, Setupmenü ist jetzt erweiterbar, Quick and Dirty war nix ;-) |
26.6.2011 cebra |
Das EEprom des PKT wird beim Starten geprüft ob es schon initialisiert ist. |
Falls nicht werden Defaultwerte gesetzt. |
Displayausrichtung kann im Setupmenü geändert werden |
/Transportables_Koptertool/tags/V3.2/Koptertoo1_2/GPL_PKT_V3_x_FC084_HW1_2_644.hex |
---|
0,0 → 1,2843 |
:100000000C9462160C9488160C9488160C9488161E |
:100010000C9488160C9488160C9488160C948816E8 |
:100020000C9488160C9488160C9488160C948816D8 |
:100030000C9488160C9488160C9488160C948816C8 |
:100040000C94AB4E0C9488160C9488160C9488165D |
:100050000C9426500C9488160C9488160C948816D0 |
:100060000C9488160C9488160C9494350C9488166D |
:1000700005A84CCDB2D44EB93836A9020C50B9916E |
:100080008688083CA6AAAA2ABE000000803F5769BD |
:100090002E323332204E414B0057693233322049E1 |
:1000A0006E6974206F6B2E2E2E2E005769323332FC |
:1000B00020496E69744572726F72202000496E6922 |
:1000C0007420576932333220776169742E2E2E2EB8 |
:1000D0000056657273696F6E3A006F6B20202020A6 |
:1000E00020202020202020202020202020004E56CC |
:1000F0002D52414D2073657420746F203537363092 |
:1001000030004572726F7220736574204E562D5206 |
:10011000414D0057692E32333220666F756E642070 |
:10012000323430300057692E32333220666F756EAC |
:10013000642035373630300057692E323332205341 |
:10014000797461786572726F72006E6F2057692ED4 |
:1001500032333220666F756E6400776974682032BE |
:10016000343030204261756420007769746820352E |
:1001700037363030204261756400736561726368A0 |
:100180002057692E323332204D6F64756C00455212 |
:10019000524F523A206E6F2064617461003F004EEE |
:1001A0000046004552524F523A206E6F20646174EF |
:1001B0006100416E616C6F67204E616D65733A201E |
:1001C0000052656164696E67004552524F523A2091 |
:1001D0006E6F206461746100201C202020201D208F |
:1001E00020202020457869742020464300201C20D0 |
:1001F0002020201D20202020204578697420204EBA |
:100200004300201C202020201D2020202020457875 |
:10021000697400201C202020201D20202020204543 |
:100220007869742020464300446973706C617900DA |
:10023000201C202020201D202020202045786974AB |
:1002400020204E4300201C202020201D2020202084 |
:10025000204578697400201C202020201D202020AB |
:1002600020204578697420204643007765697465CD |
:1002700072206D697420454E5445520D0A00617517 |
:10028000662044656661756C742067657365747A71 |
:10029000740D0A00454550524F4D20506172616DFA |
:1002A000657465720D0A0078151415780020555490 |
:1002B0005578003845444538003049484930003CBD |
:1002C0004140413C003841402178007E1515150A17 |
:1002D000000000000000000000000000000000001E |
:1002E00000000000000000000000000000000010FE |
:1002F000385410101E0000000000001010101010E4 |
:10030000101010107C101000000000000000000011 |
:1003100000000000000000000000000000000000DD |
:10032000000000000000000000000004027F020442 |
:100330000010207F201000103854101010101010E2 |
:1003400054381010181C1C181008183838180800D9 |
:10035000081C3E7F00007F3E1C08000609090906B4 |
:100360000006497D49060000000000000000002F43 |
:10037000000000000700070000147F147F14002411 |
:100380002A6B2A1200231308646200364955225052 |
:1003900000000503000000001C2241000000412273 |
:1003A0001C000014083E08140008083E080800005D |
:1003B00050300000000808080808000060600000D5 |
:1003C000002010080402003E5149453E0000427FD3 |
:1003D0004000004261514946002141454B3100181F |
:1003E00014127F10002745454539003C4A494930E1 |
:1003F0000003017109070036494949360006494999 |
:10040000291E0000363600000000563600000008A5 |
:100410001422410000141414141400004122140882 |
:1004200000020151090600324979413E007E111156 |
:10043000117E007F49494936003E41414122007FFB |
:100440004141221C007F49494941007F09090901B6 |
:10045000003E4149497A007F0808087F0000417F3B |
:100460004100002040413F01007F08142241007FED |
:1004700040404040007F020C027F007F0408107F54 |
:10048000003E4141413E007F09090906003E4151BD |
:10049000215E007F0919294600464949493100017A |
:1004A000017F0101003F4040403F001F2040201FCE |
:1004B000003F4038403F0063140814630007087091 |
:1004C0000807006151494543007F41410000000297 |
:1004D00004081020000041417F00000402010204D2 |
:1004E00000404040404000000102040000205454FD |
:1004F0005478007F4844443800384444442000384D |
:100500004444487F00385454541800087E090102BE |
:10051000000C5252523E007F080404780000447DD3 |
:100520004000002040443D00007F102844000000AF |
:10053000417F4000007C04180478007C08040478A3 |
:10054000003844444438007C14141408000814147F |
:10055000187C007C0804040800485454542000040B |
:100560003F444020003C4040207C001C2040201C98 |
:10057000003C4038403C004428102844000C5050B7 |
:10058000503C004464544C440000083641000000D4 |
:10059000007F00000000413608000008082A1C08FF |
:1005A00000081C2A0808002E002E006D006B6D2F1D |
:1005B0006800636D002E002020006F6B0020004457 |
:1005C000006E6F0032440033440020002D0078009C |
:1005D00058004F00416C742020202020203A200039 |
:1005E0004C61742020202020203A20004C6F6E6740 |
:1005F00020202020203A20005370656564202020B0 |
:10060000203A200050444F5020202020203A200043 |
:100610004163637572616379203A200053617420ED |
:1006200020202020203A20004669782054797065E7 |
:10063000203A20004F6E6C792077697468204E4311 |
:10064000202100201A202020201B202020202045AF |
:1006500078697400202030313233343536373839F8 |
:100660004142434445460D0A000D0A6B6F6D7061AF |
:10067000746962656C00302E38322F302E383400A9 |
:10068000464320536F6674776172652000504D4B6E |
:100690002D546F6F6C206E7572206D69740D0A0099 |
:1006A00020676566756E64656E0D0A00454550727B |
:1006B0006F6D5265762E0020657277617274657475 |
:1006C0000D0A00454550726F6D5265762E002E0062 |
:1006D00056657273696F6E3A20004E6176692D43DC |
:1006E00074726C0D0A00466C696768742D437472ED |
:1006F0006C0D0A00666F756E643A0D0A0A00504D63 |
:100700004B2D546F6F6C20474E552047504C0D0AAF |
:10071000006E6F2068617264776172652064657431 |
:100720006563746564004552524F523A00536B69D9 |
:10073000702046432D436865636B00636865636B97 |
:10074000696E672068617264776172652E2E2E0073 |
:10075000474E552047504C204C6963656E736500C9 |
:10076000302E38322F302E383400666F72204643D8 |
:1007700020562000506F727461626C6573204B6F5D |
:1007800070746572746F6F6C004F5344202020208A |
:1007900020202020202000003344204C6167652069 |
:1007A00020202020200000446973706C6179202093 |
:1007B000202020200000506172616D6574657273A5 |
:1007C0002020200000446562756720446174612028 |
:1007D000202000004D6F746F7220546573742020C8 |
:1007E00020000047505320496E666F2020202020B3 |
:1007F0000000536574757020504D4B202020200060 |
:100800000056657273696F6E202020202020000042 |
:1008100055534220746F204643202020200000447E |
:100820006973706C617920202020202000005061C5 |
:1008300072616D65746572732020200000446562EA |
:100840007567204461746120202000004D6F746F33 |
:1008500072205465737420202000005365747570F5 |
:1008600020504D4B20202020000056657273696F88 |
:100870006E202020202020000055534220746F203D |
:100880004643202020200000493243204D6F746FE2 |
:1008900072746573740000536574757020504D4B0D |
:1008A00020202020000056657273696F6E20202082 |
:1008B000202020000055534220746F204643202002 |
:1008C000202000004B6F6E6669672057692E323317 |
:1008D000320000504B542053572D5570646174659D |
:1008E000000032303131204368722E204272616E36 |
:1008F00064746E657220003230313020536562615D |
:10090000737469616E20426F65686D0032303039F2 |
:100910002D32303130205065746572204D61636B2B |
:1009200000323030382054686F6D6173204B61693C |
:10093000736572002020204E4F2057415252414E85 |
:1009400054590028432920474E552047504C204CED |
:100950006963656E736500302E38322F302E38345F |
:1009600000666F722046432000504D4B20546F6F3D |
:100970006C20332E32002020202020202020202018 |
:100980002020207A75727565636B006E69636874E8 |
:10099000206D6F65676C69636821004D6974206420 |
:1009A000696573657220486172647761726500429F |
:1009B00061636B2020202020202020202020205335 |
:1009C00074617274002E6865783A610055666C61D6 |
:1009D00073683A773A4E4557534F465457415245FC |
:1009E00000313039202D50636F6D3F202D62313141 |
:1009F00035323030202D0061767264756465202DAB |
:100A0000706D36343470202D6361767200546865E1 |
:100A10006E20737461727420617672647564653AD5 |
:100A20000050726573732027537461727427206FAE |
:100A30006E20504B5400436F6E6E656374205043BC |
:100A400020746F20504B542D555342001B001A0048 |
:100A5000201A202020201B202020202020202020A1 |
:100A60002020200C00302E38322F302E3834005009 |
:100A70004D4B2D546F6F6C3D464320001D002000F0 |
:100A80001D00200020001D00416C6C001D0020187E |
:100A9000202020201920202020204261636B20206C |
:100AA000200C0056616C75653A20202030004D6F97 |
:100AB000746F723A20416C6C004D6F746F722054E9 |
:100AC00065737400424C43202300646563202069F1 |
:100AD0006E632020202045786974204F7866660078 |
:100AE000493243204D6F746F722054657374006DEA |
:100AF000617820416C7469747564653A006D617841 |
:100B00002053706565642020203A006D6178204490 |
:100B1000697374616E63653A006D696E20566F6C1F |
:100B200074616765203A006D61782054696D6520B5 |
:100B30002020203A006D61782043757272656E74D2 |
:100B4000203A005573656443617061636974793A52 |
:100B500000EF0AFD0A0B0B190B270B350B430B0E8D |
:100B60000F0E4E0E0F0E4F0E0F0E530E0F0E570E92 |
:100B70000F0E4E0E0F0E4F0E0F0E530E0F0E570E82 |
:100B80000F0E4E0E0F0E4F0E0F0E530E0F0E574E32 |
:100B9000450045200053450053200053570057207F |
:100BA000004E57004E20008F0B920B950B980B9B1D |
:100BB0000B9E0BA10BA40B4552524F523A206E6F65 |
:100BC0002064617461002E002E004B3A00523A00FE |
:100BD0004E3A006D41680050430020200046726587 |
:100BE000652020202020202000506F732E20486F89 |
:100BF0006C64202000436F6D696E6720486F6D65DF |
:100C00000053617473006B6D2F68004F6E6C792018 |
:100C100077697468204E4320210020202020202066 |
:100C20002020202020202020002E002E006D416852 |
:100C3000006B6D2F68004B616E61656C6520204410 |
:100C4000000000000043616E61757820202046009E |
:100C5000000000004368616E6E656C202045000056 |
:100C60000000004D61696E2020202020200000003F |
:100C70000000436F6E66696720202020000000009E |
:100C8000006D61696E2020202020200000000000FF |
:100C9000537469636B202020202000000000004D69 |
:100CA000616E6368652020202000000000007374DE |
:100CB00069636B202020202000000000004C6F6F33 |
:100CC00070696E6720202000000000004C6F6F707C |
:100CD000696E6720202000000000004C6F6F706973 |
:100CE0006E672020200000000000486F65686520C6 |
:100CF000202020200000000000416C74697475649D |
:100D00006520200000000000416C74697475646502 |
:100D1000202000000000004B616D657261202020E2 |
:100D200020000000000043616D65726120202020DA |
:100D3000000000000043616D6572612020202000EA |
:100D4000000000004E6176694374726C2020000040 |
:100D50000000004E6176694374726C202000000030 |
:100D600000004E6176694374726C20200000000020 |
:100D7000004175736761656E6765200000000000C3 |
:100D8000536F727469657320202000000000004FCB |
:100D90007574707574732020200000000000566583 |
:100DA000727363682E2020200000000000446976E2 |
:100DB00065727320202020000000000044697665E1 |
:100DC00072732020202000000000004779726F20FD |
:100DD000202020202000000000004779726F202092 |
:100DE0002020202000000000004779726F20202082 |
:100DF000202020000000000042656E75747A657244 |
:100E000020200000000000506172616D6574726501 |
:100E10007300000000005573657220202020202000 |
:100E20000000000000416368736B6F70706C2E00EF |
:100E300000000000436F75706C20417865730000FE |
:100E4000000000436F75706C2041786573000000EE |
:100E500000004D69786572202020202000000000ED |
:100E600000436F6E666967204D69780000000000DE |
:100E7000436F6E666967204D697800000000004787 |
:100E80006173202020202020202020202000476186 |
:100E90007A2020202020202020202020005468724A |
:100EA0006F74746C652020202020200047696572D3 |
:100EB00020202020202020202020004C6163657409 |
:100EC000202020202020202020004769657220203B |
:100ED0002020202020202020004E69636B2020202D |
:100EE000202020202020200054616E67616765204B |
:100EF000202020202020004E69636B20202020200D |
:100F0000202020202000526F6C6C202020202020E8 |
:100F10002020202000526F756C6973202020202033 |
:100F200020202000526F6C6C2020202020202020C8 |
:100F3000202000506F7469203120202020202020A4 |
:100F40002000506F74692031202020202020202094 |
:100F500000506F74692031202020202020202000A4 |
:100F6000506F746920322020202020202020005043 |
:100F70006F74692032202020202020202000506F14 |
:100F800074692032202020202020202000506F74FF |
:100F9000692033202020202020202000506F7469F9 |
:100FA0002033202020202020202000506F74692032 |
:100FB00033202020202020202000506F746920340E |
:100FC000202020202020202000506F746920342011 |
:100FD0002020202020202000506F74692034202001 |
:100FE00020202020202000506F74692035202020F0 |
:100FF000202020202000506F7469203520202020E0 |
:101000002020202000506F746920352020202020CF |
:1010100020202000506F74692036202020202020BE |
:10102000202000506F7469203620202020202020AE |
:101030002000506F7469203620202020202020209E |
:1010400000506F74692037202020202020202000AD |
:10105000506F74692037202020202020202000504D |
:101060006F74692037202020202020202000506F1E |
:1010700074692038202020202020202000506F7408 |
:10108000692038202020202020202000506F746903 |
:1010900020382020202020202020004D6F746F72E7 |
:1010A00020536963682E536368004D6F742E53613B |
:1010B000666574792053772E004D6F742E536166E8 |
:1010C0006574792053772E004572772E2053696717 |
:1010D0002E2050722E20004374726C2052656E20B8 |
:1010E000526563657000456E682E205369672E4314 |
:1010F0006865636B00456D706661656E676572203B |
:101100005479700054797065205265636570746518 |
:1011100075720052656365697665722054797065F1 |
:101120002000486F6568656E726567656C65722042 |
:10113000004374726C20416C74697475646520009E |
:101140004374726C20416C74697475646520004747 |
:1011500050532020202020202020202020004750F5 |
:1011600053202020202020202020202000475053E2 |
:101170002020202020202020202020004B6F6D7078 |
:101180006173732020202020202000436F6D706148 |
:1011900073202020202020202000436F6D70617379 |
:1011A0007320202020202020004B6F6D7046657337 |
:1011B0007420417573722E004D61696E7469656E9D |
:1011C00020436170202000436F6D704F7269656E1F |
:1011D000742E466978004572772E205369672E2059 |
:1011E00050722E20004374726C2052656E2052653E |
:1011F0006365700053656E732E526376536967564C |
:10120000616C004163687328652E296B6F70706C88 |
:101210002E004465636575706C6167652041786573 |
:10122000004178697320436F7570696E67202000F4 |
:10123000480368656E462E536368616C742E004CDB |
:10124000696D6974205669742E20526F7400526F54 |
:101250007452617465206C696D69742E0048656113 |
:1012600064696E6720486F6C642020004F72696566 |
:101270006E742E20666978652020004E69636B2F9E |
:10128000526F6C6C2020202020004E69636B2F521F |
:101290006F6C6C205020202000526F756C2F5461B1 |
:1012A0006E672050202020004E69636B2F526F6CB8 |
:1012B0006C2050202020004E69636B2F526F6C6CA5 |
:1012C000204420202000526F756C2F54616E6720DF |
:1012D00044202020004E69636B2F526F6C6C2044B9 |
:1012E00020202000476965722050202020202020E7 |
:1012F0002020004C61636574205020202020202095 |
:1013000020004769657220502020202020202020C6 |
:101310000045787465726E65204B6F6E74722E0096 |
:101320004374726C2045787465726E6520200045A8 |
:10133000787465726E204374726C202020004C6FAC |
:101340006F70696E67206F62656E2020004C6F6F52 |
:1013500070696E67204176616E7420004C6F6F700B |
:10136000696E6720757020202020004C6F6F7069B7 |
:101370006E6720756E74656E20004C6F6F70696EBD |
:101380006720417272696572004C6F6F70696E6799 |
:1013900020646F776E2020004C6F6F70696E67203D |
:1013A0006C696E6B7320004C6F6F70696E672047BD |
:1013B0006175636865004C6F6F70696E67206C655E |
:1013C00066742020004C6F6F70696E6720726563D1 |
:1013D000687473004C6F6F70696E672044726F6938 |
:1013E0007465004C6F6F70696E672072696768740E |
:1013F0002000476173204C696D69742020202020F3 |
:10140000004C696D6974652047617A2020202000B6 |
:101410005468726F74746C65204C696D6974004116 |
:101420006E737072656368736368772E200053650E |
:1014300075696C205265706F6E7365200053657519 |
:10144000696C205265706F6E736520004879737403 |
:1014500065726573652020202020004879737465CB |
:101460007265736973202020200048797374657257 |
:10147000657369732020202000556D6B656872705C |
:101480002E204E69636B2000496E76657273205280 |
:101490006F756C697320004E69636B20496E7665C9 |
:1014A000727320200000556D6B656872702E20529B |
:1014B0006F6C6C2000496E766572732054616E67A4 |
:1014C00061676500526F6C6C20496E76657273209F |
:1014D000200000486F6568656E726567656C756EA3 |
:1014E00067004374726C20416C7469747564652084 |
:1014F00000416C746974756465204374726C2000DB |
:10150000593A484265672C4E3A566172696F0059E4 |
:101510003A4C696D482C4E3A566172696F00593ADF |
:101520004C696D482C4E3A566172696F005363687E |
:10153000616C74657220662E20482E0053776974A2 |
:1015400068206861757465757220005377697463EB |
:101550006820662E204869676800616B7573742E79 |
:1015600020566172696F202000566172696F206198 |
:10157000636F75737469630061636F757374696316 |
:1015800020566172696F00536F6C6C680368652048 |
:1015900020202020200048617574657572204D61FF |
:1015A0007820202000536574706F696E74202020AD |
:1015B000202020004D696E2E2047617320202020BE |
:1015C00020200047617A206D696E20202020202095 |
:1015D00020006D696E2E207468726F74746C6520C3 |
:1015E00000486F65686520502020202020202000C2 |
:1015F000416C74697475646520502020202000417E |
:101600006C746974756465205020202020004C752E |
:101610006674647275636B204420202000507265EC |
:101620007373696F6E204420202020004261726F26 |
:101630006D657472696320442020005A2D41434334 |
:1016400020202020202020202000414343205A2019 |
:10165000202020202020202000414343205A202009 |
:101660002020202020202000566572737401726BA8 |
:10167000756E672F5200004761696E2F4672657163 |
:1016800075656E6365006761696E2F7261746520B0 |
:1016900020202020005363687765626567617320AE |
:1016A0002B2F2D0056617220766F6C20737461743D |
:1016B000202000686F6F7665722076617269612EF6 |
:1016C0002000475053205A20202020202020202076 |
:1016D00000475053205A2020202020202020200086 |
:1016E000475053205A202020202020202020005323 |
:1016F0007469636B204E657574722E205000506FB4 |
:1017000073204E6575747265204D616E0073746947 |
:10171000636B206E657574722E2050004E69636B8A |
:1017200020532E20416E73742E2000417373657216 |
:101730002074616E6761676520006E69636B20735A |
:10174000657276206374726C004E69636B204B6F18 |
:101750006D70656E732E2000436F6D702074616E26 |
:10176000676167652020006E69636B20636F6D7031 |
:10177000656E732E20004E69636B20556D6B656836 |
:1017800072656E2000496E766572736572206469B9 |
:10179000722020006E69636B20696E762E2064696A |
:1017A000722E004E69636B20536572766F206D69EF |
:1017B0006E00536572766F206D696E2020202020A8 |
:1017C000006E69636B20736572766F206D696E00C1 |
:1017D0004E69636B20536572766F206D617800737C |
:1017E0006572766F206D61782020202020006E6960 |
:1017F000636B20736572766F206D617800526F6C39 |
:101800006C20532E20416E73742E2000417373653B |
:101810007220726F756C6973202000726F6C6C207F |
:1018200073657276206374726C00526F6C6C204B1F |
:101830006F6D70656E732E2000436F6D7020746144 |
:101840006E67616765202000726F6C6C20636F6D3E |
:1018500070656E732E2000526F6C6C20556D6B6539 |
:101860006872656E2000496E7665727365722064D9 |
:101870006972202000726F6C6C20696E762E206475 |
:1018800069722E00526F6C6C20536572766F206DFA |
:10189000696E00536572766F206D696E202020207E |
:1018A0002000726F6C6C20736572766F206D696EAC |
:1018B00000526F6C6C20536572766F206D617800FA |
:1018C000736572766F206D61782020202020007271 |
:1018D0006F6C6C20736572766F206D617800416E5D |
:1018E00073742E204765736368772E2000546175EA |
:1018F0007820726566726573682020007365727661 |
:101900006F207265667265736820004D616E756543 |
:101910006C6C65204765736368006D6175656C6C00 |
:101920002053706565642020006D616E75656C6C78 |
:10193000205370656564200043616D2052696368BF |
:1019400074756E6720200043616D204F7269656E6B |
:1019500074202020200043616D204F7269656E74F1 |
:101960002020202000536572766F20332020202015 |
:1019700020202000536572766F2033202020202005 |
:10198000202000536572766F2033202020202020F5 |
:101990002000536572766F203420202020202020E4 |
:1019A00000536572766F20342020202020202000F4 |
:1019B000536572766F203420202020202020005391 |
:1019C0006572766F2035202020202020200053656E |
:1019D00072766F2035202020202020200053657251 |
:1019E000766F2035202020202020200047505320D3 |
:1019F00020202020202020202020004163746976B0 |
:101A000065722047505320202000656E61626C652E |
:101A1000204750532020202000475053204D6F6412 |
:101A200075732053742E2000446566206D6F6465C5 |
:101A300020475053202000475053206D6F6465208D |
:101A4000636F6E74720047505320566572737461F1 |
:101A500065726B2E004761696E204750532020202D |
:101A600020202000475053204761696E202020200D |
:101A70002020004750532053742E20536368772E44 |
:101A80002000536575696C206D616E636865202068 |
:101A90000047505320737469636B2074687265004B |
:101AA0004D696E2E205361742E2020202020004E80 |
:101AB000627265204D696E2E205361742E004D694F |
:101AC0006E2E205361742E2020202020004750537A |
:101AD0002D50202020202020202020004750532D52 |
:101AE00050202020202020202020004750532D501F |
:101AF000202020202020202020004750532D492046 |
:101B00002020202020202020004750532D49202035 |
:101B100020202020202020004750532D4920202025 |
:101B2000202020202020004750532D44202020201A |
:101B30002020202020004750532D4420202020200A |
:101B400020202020004750532D44202020202020FA |
:101B50002020200050204C696D6974202020202016 |
:101B60002020004C696D69746520502020202020C1 |
:101B700020004C696D6974202050202020202020F6 |
:101B80000049204C696D697420202020202020000D |
:101B90004C696D6974652049202020202020004C6C |
:101BA000696D6974202049202020202020004420D5 |
:101BB0004C696D697420202020202020004C696D24 |
:101BC0006974652044202020202020004C696D6924 |
:101BD0007420204420202020202000475053204102 |
:101BE00063632020202020202000416363656C2057 |
:101BF000475053202020202000475053204163634A |
:101C000020202020202020004750532057696E6458 |
:101C10006B6F72722E2000436F7272656374207650 |
:101C2000656E742020004750532057696E6420432E |
:101C30006F72722E004272656D737769726B756E8A |
:101C400067202000436F6D70656E73207669742085 |
:101C5000202000537065656420636F6D70656E733E |
:101C60002E00475053206D61782E205261642E2043 |
:101C7000005261796F6E20475053206D61782000CB |
:101C8000475053206D61782E726164697573004707 |
:101C900050532057696E6B656C204C692E004C695F |
:101CA0006D697420616E676C204750530047505334 |
:101CB00020616E676C2E6C696D6974005048204C11 |
:101CC0006F67696E2074696D652000547073206DB4 |
:101CD000656D6F726973202020005048206C6F671B |
:101CE000696E2074696D6520004A3136204269743E |
:101CF0006D61736B652020004269746D61736B20A8 |
:101D0000533120202020004F757431204269746DBA |
:101D100061736B2020004A31362054696D696E670B |
:101D20002020202000486F726C6F6765205331209F |
:101D3000202020004F7574312074696D696E672012 |
:101D40002020004A3137204269746D61736B652031 |
:101D500020004269746D61736B2053322020202073 |
:101D6000004F757432204269746D61736B202000DE |
:101D70004A31372054696D696E6720202020004861 |
:101D80006F726C6F676520533220202020004F75E2 |
:101D900074322074696D696E67202020006E757240 |
:101DA000206D6974204D6F746F72200041637469F7 |
:101DB00066206175207265706F73006163742E20F8 |
:101DC00077692E206D6F746F72004A313620556E20 |
:101DD00074657273702E205700416C20756E6465B7 |
:101DE00072766F6C746167004F75743120756E6424 |
:101DF0006572766F6C7400616B74697620202020A8 |
:101E0000202020202000616374696620202020208B |
:101E1000202020200061637469762020202020206B |
:101E2000202020004A313720556E74657273702E61 |
:101E3000205700416C20756E646572766F6C74611A |
:101E400067004F75743220756E646572766F6C74BE |
:101E500000616B7469762020202020202020200043 |
:101E600061637469662020202020202020200061EA |
:101E700063746976202020202020202020004D69D6 |
:101E80006E2E204761732020202020200047617A99 |
:101E9000204D696E2E202020202020006D696E2E9E |
:101EA000207468726F74746C6520004D61782E2008 |
:101EB0004761732020202020200047617A204D6157 |
:101EC000782E202020202020006D61782E2074683C |
:101ED000726F74746C6520004B6F6D7061737377F3 |
:101EE00069726B756E6700456666657420636F6D19 |
:101EF000706173202000636F6D706173732065667D |
:101F0000666563740043617265667265652053742B |
:101F10002E202000436172656672656520437472ED |
:101F20006C20004361726566726565204374726C53 |
:101F30002000556E7465727370616E6E756E6720E9 |
:101F400000536F75732074656E73696F6E20200087 |
:101F5000756E646572766F6C746167652020004EE3 |
:101F60006F7420476173205A65697420200044759E |
:101F7000726565207365636F7572732000456D65CA |
:101F800072672E5468722E54696D65004E6F74200E |
:101F9000476173202020202020200047617A2064A0 |
:101FA00065207365636F75727300456D6572672E8A |
:101FB0005468726F74746C65004779726F2050209A |
:101FC00020202020202020004779726F20502020E0 |
:101FD000202020202020004779726F2050202020D0 |
:101FE0002020202020004779726F204920202020C7 |
:101FF00020202020004779726F20492020202020B7 |
:10200000202020004779726F2049202020202020A6 |
:102010002020004779726F2044202020202020209B |
:1020200020004779726F204420202020202020208B |
:10203000004779726F20442020202020202020009B |
:102040004769657220502020202020202020004C4D |
:1020500061636574205020202020202020004C61E6 |
:1020600063657420502020202020202000476965CF |
:102070007220492020202020202020004C61636510 |
:1020800074204920202020202020004C61636574AA |
:102090002049202020202020200044796E616D6995 |
:1020A000736368652053742E0053746162206479F1 |
:1020B0006E616D697175650064796E616D6963202B |
:1020C00073746162692E0044726568726174656E32 |
:1020D0006265672E20004C696D69742076697420F2 |
:1020E000526F746100526F7452617465206C696D37 |
:1020F00069742E004143432F4779726F2046616B0C |
:102100002E20004143432F4779726F20466163744C |
:1021100020004143432F4779726F2046616374204A |
:10212000004143432F4779726F204B6F6D702E0033 |
:10213000436F6D70204143432F4779726F200043F6 |
:102140006F6D70204143432F4779726F20004861C3 |
:102150007570747265676C657220492000526567FE |
:10216000756C207072696E63204920004D61696E44 |
:102170002049202020202020202000447269666B06 |
:102180006F6D70656E7361742E00436F6D70656E58 |
:1021900073206465726976200064726966742043F6 |
:1021A0006F6D70656E732E004779726F2073746166 |
:1021B000622E20202020004779726F2073746162A4 |
:1021C000696C697479004779726F20737461626910 |
:1021D0006C69747900506172616D6574657220314B |
:1021E00020202000506172616D657465722031207D |
:1021F000202000506172616D65746572203120206D |
:102200002000506172616D6574657220322020205B |
:1022100000506172616D657465722032202020006B |
:10222000506172616D65746572203220202000500B |
:102230006172616D657465722033202020005061E9 |
:1022400072616D65746572203320202000506172C8 |
:10225000616D6574657220332020200050617261C9 |
:102260006D65746572203420202000506172616DAC |
:1022700065746572203420202000506172616D65A4 |
:10228000746572203420202000506172616D657485 |
:102290006572203520202000506172616D65746583 |
:1022A00072203520202000506172616D6574657266 |
:1022B000203520202000506172616D6574657220A8 |
:1022C0003620202000506172616D65746572203681 |
:1022D00020202000506172616D6574657220362087 |
:1022E000202000506172616D657465722037202076 |
:1022F0002000506172616D65746572203720202066 |
:1023000000506172616D6574657220372020200075 |
:10231000506172616D657465722038202020005014 |
:102320006172616D657465722038202020005061F3 |
:1023300072616D65746572203820202000416368E9 |
:102340007328652E296B6F70706C2E0028446529E8 |
:10235000436F75706C20417865730028446529438C |
:102360006F75706C204178657300476965722070E5 |
:102370006F732E204B6F707000526574726F6163C3 |
:10238000206C616365742000526574726F61632014 |
:102390006C6163657420004E69636B2F526F6C6CC7 |
:1023A000204B6F707000526574726F20726F756C85 |
:1023B0002F74616E00526574726F20726F756C2F8E |
:1023C00074616E0047696572204B6F7272656B7441 |
:1023D000757200436F7272656374206C616365741B |
:1023E0002000436F7272656374206C6163657420B2 |
:1023F000004F7269656E74696572756E67202000A2 |
:102400004F7269656E74696572756E672020004F42 |
:102410007269656E746174696F6E2020200000001F |
:10242000010C030101010000010C04020202000082 |
:10243000010C010303030000010C02040404000367 |
:102440000119050505050003011906060606000326 |
:102450000119070707070003011908080808000306 |
:10246000011909090909000301190A0A0A0A0003E6 |
:1024700001190B0B0B0B000301190C0C0C0C0000C9 |
:10248000000C63000000000200046600000000066B |
:10249000000527010101010200010D0000010102F8 |
:1024A00000200D010101010200080D0101010102DE |
:1024B00000100D000000010200046600000001028F |
:1024C00000400D010101010200800D000000010229 |
:1024D00000040D00000002000014170808080200A4 |
:1024E000001418101010020100F719060606020168 |
:1024F00000F7600000000302000164000000030216 |
:1025000000026400000003020004640000000302F3 |
:10251000000864000000030100F73B323232030080 |
:1025200000F73C5A5A5A030000F73D32323203009A |
:1025300000F7414E4E4E030000F7424E4E4E04024D |
:1025400000010D0101010402000166000000040207 |
:1025500000020D01010104020002660101010401F3 |
:1025600000F710FFFFFF040000F70E1E1E1E0401FF |
:1025700000F7110F0F0F040100F70F1E1E1E0401BC |
:1025800000F713000000040000F7120F0F0F040003 |
:1025900000F714080808040100F715404040040043 |
:1025A00000F716000000050100F72D6464640500C3 |
:1025B00000F72E2828280502000165010101050009 |
:1025C00000F72F000000050000F730F7F7F70501CE |
:1025D00000F731646464050000F7322828280502FA |
:1025E000000165000000050000F733000000050051 |
:1025F00000F734F7F7F70500020835060606050070 |
:1026000000F736282828050500F7370000000501E7 |
:1026100000F7387D7D7D050100F7397D7D7D050161 |
:1026200000F73A7D7D7D060200200D0101010601C3 |
:1026300000F750FEFEFE060100F7516464640600D8 |
:1026400000F75A080808060000F7590606060601B2 |
:1026500000F7525A5A5A060100F7535A5A5A0601BD |
:1026600000F7545A5A5A060100F7554B4B4B0601D6 |
:1026700000F7564B4B4B060100F7574B4B4B0601EF |
:1026800000F758000000060100F75B5A5A5A06018D |
:1026900000F75C1E1E1E060100F75D6464640601FF |
:1026A00000F75E646464060000F75F02020207043C |
:1026B00000FF4A5F5F5F070100F74B1E1E1E070405 |
:1026C00000FF4CF3F3F3070100F74D1E1E1E070237 |
:1026D000001064000000070400FF4EAAAAAA070227 |
:1026E000002064010101070400FF4FAAAAAA070203 |
:1026F000004064010101080000F71A0808080800FA |
:1027000000F71BE6E6E6080100F71D80808008015F |
:1027100000F762000000080000F7242121210800D2 |
:1027200000F7265A5A5A080000F7252D2D2D0901C9 |
:1027300000F71E646464090100F71F7878780901C6 |
:1027400000F7200A0A0A090100F7216464640901FC |
:1027500000F722787878090100F7454646460902D5 |
:1027600000800D000000090000F71C1B1B1B090066 |
:1027700000F743202020090100F72810101009005D |
:1027800000F74400000009000008236464640A01A3 |
:1027900000F7290000000A0100F72A0000000A01E2 |
:1027A00000F72B0000000A0100F72C0000000A01CE |
:1027B00000F7460000000A0100F7470000000A0188 |
:1027C00000F7480000000A0100F7490000000B0272 |
:1027D00000400D0000000B0100F73E5A5A5A0B0151 |
:1027E00000F73F5050500B0100F7404646460C059D |
:1027F0000017610000004552524F523A206E6F2080 |
:1028000064617461004552524F523A206E6F2064E9 |
:1028100061746100436F70792053657474696E67E9 |
:1028200000201A202020201B20202020204261632D |
:102830006B2020200C004564697420536574746912 |
:102840006E673A001B001A00201A202020201B204F |
:10285000202020204261636B2020200C0043686F01 |
:102860006F73652053656374696F6E3A001B004196 |
:102870004354004A65740053506C00535068002064 |
:1028800053500050504D0057504500530020204EEB |
:1028900000202059002050001A00201A202020205B |
:1028A0001B20202020204261636B2020200C00434D |
:1028B000686F6F736520506172616D657465723AFF |
:1028C00000201A202020201B20202020204261638D |
:1028D0006B2020200C0020003E0041435420445334 |
:1028E0004C004A657469005370656B7472756D2095 |
:1028F0004C6F526573005370656B7472756D204830 |
:1029000069526573005370656B7472756D00505039 |
:102910004D00201A202020201B2020202020426152 |
:10292000636B2020200C0020001A004F005800206C |
:1029300019202020536574202020204261636B20E1 |
:1029400020200C0057504500530028312D533132C0 |
:102950002F57292028643A202020290020182020E1 |
:1029600020201920202020204261636B2020200C91 |
:1029700000506F00282020202D20202029202864AE |
:102980003A506F20290020182020202019202020D4 |
:1029900020204261636B20200C0C00282020202D79 |
:1029A000202020292028643A2020202900201820D7 |
:1029B0002020201920202020204261636B2020202D |
:1029C0000C001D00200020001D002A002A004E00DF |
:1029D0005900201A202020201B2020202020426186 |
:1029E000636B2020200C0045646974205365747467 |
:1029F000696E673A002020202020202020202020FF |
:102A0000202020202020202020004552524F5220FC |
:102A100020202020202020202020202020200045B1 |
:102A200052524F52202020202020202020202020E1 |
:102A3000202020007772697474656E20616E6420B6 |
:102A4000616374697661746564005265616C6C7968 |
:102A50002077616E7420746F20636F70793F004639 |
:102A6000726F6D202020546F20204261636B202004 |
:102A700020446F002020546F2053657474696E6782 |
:102A80003A0046726F6D2053657474696E673A0040 |
:102A9000436F70792053657474696E673A004552CC |
:102AA000524F5200616374697661746564007361AA |
:102AB00076656420616E6400201A202020201B208F |
:102AC00020202020457869742020200C006E6F00A3 |
:102AD00079657300536176652053657474696E6718 |
:102AE00020783F004C6F77426174205761726E20EE |
:102AF000200000446973706C2E54696D656F7574A5 |
:102B000000004C4344204F7269656E742E202000F3 |
:102B1000004C616E677561676520202020200000F1 |
:102B200057692054582F5258204368616E0000574F |
:102B300069204E6574572E204772702E0000576929 |
:102B4000204E6574572E204D6F6465000057692034 |
:102B50004E6574572E204D6F64653A005769204EBC |
:102B60006574572E204772702E3A005769205458CA |
:102B70002F5258204368616E3A004C616E67756150 |
:102B800067652020203A20004C4344204F7269653D |
:102B90006E742E3A2000446973702E54696D656F0F |
:102BA0007574203A004C6F77426174205761726EE1 |
:102BB00020563A001B001A0020182020202019203F |
:102BC000202020204261636B2020200C2000504DEB |
:102BD0004B2D546F6F6C205365747570004E6F727F |
:102BE0006D616C2000526576657273650020182057 |
:102BF0002020201920202020204261636B202020EB |
:102C00000052657665727365004E6F726D616C205F |
:102C100000456E676C697368004672616E6365207B |
:102C2000004465757473636800456E676C6973680A |
:102C3000004672616E636520004465757473636855 |
:102C4000002018202020201920202020204261630D |
:102C50006B20202000456E676C69736800467261C6 |
:102C60006E6365004465757473636800536C6176C8 |
:102C70006520004E6F726D616C00201820202020AE |
:102C80001920202020204261636B202020004E6FFD |
:102C9000726D616C00536C617665200020182020F5 |
:102CA00020201920202020204261636B202020005A |
:102CB0002018202020201920202020204261636B32 |
:102CC0002020200014BE88E10FB6F89480936000A5 |
:102CD000109260000FBE11241FBECFEFD0E1DEBF07 |
:102CE000CDBF11E0A0E0B1E0E6E7F1EB02C0059056 |
:102CF0000D92A231B107D9F71CE0A2E1B1E001C009 |
:102D00001D92AB35B107E1F70E94BC2E0C94B95867 |
:102D10000C940000CF93DF93782FEA01662341F1F2 |
:102D20009C01D90192E02EEF0BC0FE01E90FF11DCD |
:102D30008F7780839F5F11968A2F871B861750F4A9 |
:102D40008C9187FFF2CFFE01E90FF11D20839F5F79 |
:102D50008C91EBCFE92FF0E092509F01EC0FFD1F1B |
:102D600010828FEF88839983C901DF91CF910895F5 |
:102D7000E2E0F0E090E022E030E0F0CF1F93CF936C |
:102D8000DF93182F0E941B518FEF0E94BA5182E0EF |
:102D90000E94BA518EEF0E94BA51812F0E94BA51FF |
:102DA00024EF31E044EF51E0CA010197F1F72150DF |
:102DB0003040D1F710E0C4EFD1E00E941B51482F02 |
:102DC00050E028EE33E0FE013197F1F7215030401A |
:102DD000D1F71F5F4115510549F41A3071F720E012 |
:102DE00030E0C901DF91CF911F9108951A30B9F3F6 |
:102DF0004630510539F02FEF30E0C901DF91CF9116 |
:102E00001F91089560E00E94F4270E941B5160E02A |
:102E10000E94F4270E941B51182F60E00E94F427A3 |
:102E2000212F30E0DECFFF920F931F93182F062F34 |
:102E30008FEF0E94BA5182E00E94BA51812F0E9406 |
:102E4000BA51802F0E94BA51FF2404EF11E00E9472 |
:102E50001B5190E028EE33E0F8013197F1F7215053 |
:102E60003040D1F7009791F4F3948AE0F81679F79F |
:102E700080E062E04EE850E020E00E94E0232FEF87 |
:102E800030E0C9011F910F91FF900895069781F7D7 |
:102E900020E030E0C9011F910F91FF900895CF937A |
:102EA000DF935E9828EE33E044EF51E0CA010197CA |
:102EB000F1F721503040D1F728980E94A65284E1C2 |
:102EC00090E00E94765180E060E04AE751E020E027 |
:102ED0000E94E02380E061E04AE651E020E00E94A9 |
:102EE000E02388E790E00E94BE16EC0181E0809329 |
:102EF0001201209771F1CF3FD10539F0209771F47D |
:102F00005E9A289ADF91CF9108950E942A2280E04C |
:102F100060E048E351E020E00E94E0230E942A2282 |
:102F200080911201813009F46AC08230C1F180E0E1 |
:102F300061E041ED50E020E00E94E02389E061E0A3 |
:102F40004C2F20E00E94CA275E9A289ADF91CF91E9 |
:102F5000089587E092E00E94765180E061E04AE5C2 |
:102F600051E020E00E94E02388E790E00E94BE1636 |
:102F7000EC0182E080931201209709F0BCCF0E94FF |
:102F80002A2280E060E04AE451E020E00E94E02351 |
:102F9000109212015E9A289ADF91CF91089580E0F5 |
:102FA00060E043E151E020E00E94E02383E064E040 |
:102FB0000E941317892B69F520E137E244EF51E0B5 |
:102FC000CA010197F1F721503040D1F780E061E06C |
:102FD0004EEE50E020E00E94E02320E23EE444EF89 |
:102FE00051E0CA010197F1F721503040D1F780E05C |
:102FF00061E04AED50E020E00E94E02398CF80E0BD |
:1030000060E045E251E020E00E94E023809112015F |
:103010008CCF80E061E042E051E020E00E94E023BC |
:1030200086CF1F93CF93DF930E944F178091120199 |
:10303000882321F4DF91CF911F91089580E062E011 |
:103040004DEB50E020E00E94E0235E9880E593EC99 |
:103050000197F1F728980E94A6528BE461E00E9444 |
:103060001317EC018CE461E00E941317892B09F01F |
:103070005CC010E0CD2B09F011E088E560E00E9413 |
:103080001317892B09F013E08DE463E00E941317F6 |
:10309000892B09F014E080E560E10E941317892B69 |
:1030A00009F015E084E560E40E941317892B09F00C |
:1030B00016E081E562E40E941317892B09F017E0FE |
:1030C0008FE461E00E941317892B09F018E083E573 |
:1030D00061E00E941317892B09F019E086E561E091 |
:1030E0000E941317892B09F01AE08EE464E00E9415 |
:1030F0001317892BE1F01BE080E062E04BEA50E01F |
:1031000020E00E94E023812F60E00E94F42784E108 |
:1031100090E00E9476515E9A80E593EC0197F1F77A |
:10312000289ADF91CF911F91089512E0A6CF112325 |
:1031300019F780E062E049E950E020E00E94E023D6 |
:10314000E6CF4F925F926F927F928F929F92AF9253 |
:10315000BF92CF92DF92EF92FF920F931F93DF9374 |
:10316000CF930F92CDB7DEB7E0911D01F0E0EE5E98 |
:10317000FE4F808189830E942A2280E063E041EC37 |
:1031800051E020E00E941F2480E064E042EB51E027 |
:1031900020E00E941F2481E480931B0120ED37E092 |
:1031A00044EF51E0CA010197F1F721503040D1F7C7 |
:1031B00010923D0184E190E09093480B8093470B7F |
:1031C00000E0598111E6772473946E010894C11CC4 |
:1031D000D11CA1E0AA2EB12CF4E18F2E912CE4EFAA |
:1031E000EE2EE1E0FE2E71E1672E60E2462E62E0F7 |
:1031F000562E5032D8F56DB77EB7675070400FB677 |
:10320000F8947EBF0FBE6DBFEDB7FEB73196ADB778 |
:10321000BEB711961C9311827282D482C382B68289 |
:10322000A5820E94B452EDB7FEB737960FB6F89458 |
:10323000FEBF0FBEEDBF80913D01882331F4809128 |
:10324000470B9091480B892BB1F78091470B9091D8 |
:10325000480B892B19F50F5F9092480B8092470B12 |
:10326000023308F07BC05981503228F2E0911D01F1 |
:10327000F0E0EE5EFE4F50830F90CF91DF911F91F3 |
:103280000F91FF90EF90DF90CF90BF90AF909F9005 |
:103290008F907F906F905F904F9008950E94E151C2 |
:1032A000E0913F01F091400140815981451779F04B |
:1032B00028EE33E0C7010197F1F721503040D1F7F4 |
:1032C0009092480B8092470B10923D0192CF8EE076 |
:1032D00064E050E022E030E000E00E94BC2A40912F |
:1032E0003F0150914001FA018191869DD001112446 |
:1032F00020911D01822F90E00197BC01649DC001C7 |
:10330000659D900D749D900D1124A80FB91FA257B3 |
:10331000BE4F80E101900D928150E1F7DA018C916E |
:1033200090E030E021503040FC01E295F295F07FD2 |
:10333000FE27E07FFE27E80FF91F249DC001259D91 |
:10334000900D349D900D1124E80FF91FE257FE4FA8 |
:10335000108A59815F5F598300E0B2CF80E062E05C |
:1033600043EA51E020E00E941F2484E690E090931D |
:10337000480B8093470B8091470B9091480B892B0A |
:10338000D1F7598173CF4F925F926F927F928F9254 |
:103390009F92AF92BF92CF92DF92EF92FF920F93E4 |
:1033A0001F93DF93CF930F92CDB7DEB70E942A22EF |
:1033B00088EC90E09093480B8093470BE0911D01BF |
:1033C000F0E0EE5EFE4F8081803208F469C28091A9 |
:1033D000470B9091480B892B91F40F90CF91DF917F |
:1033E0001F910F91FF90EF90DF90CF90BF90AF9023 |
:1033F0009F908F907F906F905F904F90089584E49E |
:1034000080931B0110923D0188EC90E09093480B53 |
:103410008093470B8AE089832DB73EB72750304011 |
:103420000FB6F8943EBF0FBE2DBFEDB7FEB7319675 |
:1034300084E6ADB7BEB711968C93118281E082838A |
:103440003E010894611C711C7482638281E090E0EB |
:10345000968385830E94B4528CE291E090934A0B4C |
:103460008093490BFF2400E010E0EDB7FEB73796DC |
:103470000FB6F894FEBF0FBEEDBFB0E2CB2EB2E0A8 |
:10348000DB2E80911D0190E001978C9DA0018D9D08 |
:10349000500D9C9D500D1124400F511F42575E4FFF |
:1034A00080E06F2D20E00E945924F3940F5E1F4F9F |
:1034B000F8E0FF1631F7DD24A8EC4A2E512CFAE093 |
:1034C000CF2EE0E2AE2EE2E0BE2E74EF872E71E04A |
:1034D000972E80913D01882309F07FC18091490B8F |
:1034E00090914A0B892B09F44FC180E10E94CC4F87 |
:1034F000882309F474C0DA94F3E0DF220E942A22C0 |
:103500008D2D90E08C011695102F002717950795AB |
:10351000880F991F880F991F880F991F080F191F6F |
:10352000FF2480911D0190E001978A9DA0018B9D51 |
:10353000500D9A9D500D1124400F511F42575E4F60 |
:1035400080E06F2D20E00E945924F3940F5E1F4FFE |
:1035500028E0F21631F710911C01113009F47AC0FD |
:1035600080E40E94CC4F882339F48091470B9091DE |
:10357000480B892B09F0ADCF19822DB73EB72750E4 |
:1035800030400FB6F8943EBF0FBE2DBFEDB7FEB76B |
:10359000319684E6ADB7BEB711968C93118281E067 |
:1035A00082837482638281E090E0968385830E94A7 |
:1035B000B45210921B0110923D018091470B9091E3 |
:1035C000480BEDB7FEB737960FB6F894FEBF0FBEA7 |
:1035D000EDBF892B09F477C10E947152FECE80E2C3 |
:1035E0000E94CC4F882309F4B6CFD39433E0D32282 |
:1035F0000E942A228D2D90E08C011695102F002715 |
:1036000017950795880F991F880F991F880F991F85 |
:10361000080F191FFF2480911D0190E001978A9DDA |
:10362000A0018B9D500D9A9D500D1124400F511FEC |
:1036300042575E4F80E06F2D20E00E945924F394A2 |
:103640000F5E1F4F88E0F81631F710911C01113002 |
:1036500009F086CF80E80E94CC4F882309F480CF00 |
:103660001982ADB7BEB717970FB6F894BEBF0FBE9D |
:10367000ADBFEDB7FEB7319684E611968C931182FB |
:1036800012837482638281E090E0968385830E9436 |
:10369000B45220ED37E0EDB7FEB737960FB6F89489 |
:1036A000FEBF0FBEEDBFC4010197F1F721503040BE |
:1036B000D1F780911D01813009F41BC10E94715224 |
:1036C0005092480B4092470B20ED37E0C401019720 |
:1036D000F1F721503040D1F7E0911D01F0E0EE5EAE |
:1036E000FE4F8081803208F40BC184E480931B017B |
:1036F00010923D015092480B4092470BC9822DB762 |
:103700003EB7275030400FB6F8943EBF0FBE2DBFD6 |
:10371000EDB7FEB7319684E6ADB7BEB711968C9380 |
:10372000118281E082837482638281E090E09683DB |
:1037300085830E94B452EDB7FEB737960FB6F89462 |
:10374000FEBF0FBEEDBF0E942A22FF2400E010E062 |
:1037500080911D0190E001978A9DA0018B9D500DE5 |
:103760009A9D500D1124400F511F42575E4F80E02B |
:103770006F2D20E00E945924F3940F5E1F4FF8E054 |
:10378000FF1631F7DD24ECCEC982ADB7BEB717976F |
:103790000FB6F894BEBF0FBEADBFEDB7FEB7319602 |
:1037A00084E611968C93118281E082837482638215 |
:1037B00081E090E0968385830E94B4528CE291E090 |
:1037C00090934A0B8093490BEDB7FEB737960FB62F |
:1037D000F894FEBF0FBEEDBF88CE0E94E15100916C |
:1037E0003F011091400184E160E04D2D0E946B2863 |
:1037F00080911D01813009F456C0823009F45BC00C |
:1038000084E161E04DE951E020E00E941F24ED2CAD |
:10381000FF24EE0CFF1CEE0CFF1CEE0CFF1C0894AA |
:10382000E11CF11CEE0CFF1CE00EF11E10E00EC0BE |
:103830008CE027E030E0612F00E00E943B2A1F5F10 |
:1038400082E090E0E80EF91E183019F1D7014D9191 |
:103850005C91B8ED413F5B075CF3ECEF49315E07EB |
:1038600084F0FFEF4D395F0784F023E0473E5207B5 |
:1038700024F48FE024E030E0DECF37E24F3053070E |
:1038800024F08DE026E030E0D6CF8EE025E030E079 |
:10389000D2CF5092480B4092470B10923D011ECE62 |
:1038A0000E94A11894CD84E161E04FE951E020E04D |
:1038B0000E941F24ACCF84E161E041EA51E020E0A6 |
:1038C0000E941F24A4CF0E942A2280E062E04EE8DA |
:1038D00051E020E00E941F2484E690E09093480B82 |
:1038E0008093470B8091470B9091480B892BD1F720 |
:1038F00073CE0E948C545092480B4092470BE4CEFA |
:103900000E94A118F2CE089508953F924F925F92BF |
:103910006F927F928F929F92AF92BF92CF92DF92DF |
:10392000EF92FF920F931F93DF93CF9300D0CDB709 |
:10393000DEB788E480931B010E942A2280911D013A |
:10394000813009F40FC180911C01823009F402C159 |
:1039500080E067E040E352E020E00E94E02380E066 |
:1039600060E048E252E020E00E941F2410923D01F6 |
:1039700084EF91E09093480B8093470B8CEF898301 |
:10398000BB247E010894E11CF11C58E6A52E992465 |
:10399000939441E0C42ED12C88248A9404EF11E042 |
:1039A00034EF632E31E0732E2CEF522E9DEF492E13 |
:1039B0008EEF382E8DB79EB707970FB6F8949EBF3F |
:1039C0000FBE8DBFEDB7FEB73196ADB7BEB711963E |
:1039D000AC9211829282F482E382D682C5820E94E6 |
:1039E000B452898224EC39E08DB79EB707960FB6A2 |
:1039F000F8949EBF0FBE8DBFC8010197F1F721500B |
:103A00003040D1F780913D01882309F053C080E117 |
:103A10000E94CC4F882309F446C0398280E40E947A |
:103A2000CC4F882339F48091470B9091480B892B18 |
:103A300009F0C0CF80EF0E94CC4F10921B01109272 |
:103A40003D018091470B9091480B892BB1F4BB202D |
:103A500009F072C080E062E049EC51E020E00E9491 |
:103A60001F2484E690E09093480B8093470B80914D |
:103A7000470B9091480B892BD1F70E9471520F9000 |
:103A80000F90CF91DF911F910F91FF90EF90DF90FA |
:103A9000CF90BF90AF909F908F907F906F905F90EE |
:103AA0004F903F90089580E20E94CC4F882351F1BF |
:103AB0004982B4CF0E94E15180911C01882389F48E |
:103AC00090914D0B915690931C019130C1F180E083 |
:103AD00067E042E052E020E00E94E02382E0809331 |
:103AE0001D0110929F0B80E062E04FE45BE00E94BA |
:103AF000862410923D017092480B6092470BBB24C4 |
:103B0000B39485CF80911C01813009F087CF80E884 |
:103B10000E94CC4F882309F481CF80911D01813010 |
:103B200049F10E94715280E067E048ED51E020E0E9 |
:103B30000E94E023598272CF0E942A228BCF67E035 |
:103B400043E152E020E09A830E94E0239A8190931F |
:103B50001D01C7CF80E067E045E452E020E00E940D |
:103B6000E023FDCE80E067E046E552E020E00E94E1 |
:103B7000E023F5CE0E948C5480E067E04DEE51E0EA |
:103B800020E00E94E023598249CF80E090E06091DC |
:103B9000D1050E949B586091D40581E090E00E947D |
:103BA0009B586091D00582E090E00E949B58609104 |
:103BB000D30583E090E00E949B586091CF0584E09C |
:103BC00090E00E949B586091D20585E090E00E94B1 |
:103BD0009B586091D60687E090E00E949B5808951C |
:103BE00080E090E00E9493588093D10581E090E0BE |
:103BF0000E9493588093D40582E090E00E949358ED |
:103C00008093D00583E090E00E9493588093D30581 |
:103C100084E090E00E9493588093CF0585E090E087 |
:103C20000E9493588093D20587E090E00E949358B9 |
:103C30008093D60686E090E00E949358823009F483 |
:103C400055C089E88093D1051092D4051092D00513 |
:103C500081E08093D30582E48093CF051092D20552 |
:103C60001092D60680E090E069E80E949B5860912F |
:103C7000D40581E090E00E949B586091D00582E0DD |
:103C800090E00E949B586091D30583E090E00E94F1 |
:103C90009B586091CF0584E090E00E949B58609112 |
:103CA000D20585E090E00E949B5886E090E062E0BB |
:103CB0000E949B586091D60687E090E00E949B5836 |
:103CC0000E942A2284E992E060E00E94E9238EE7C4 |
:103CD00092E060E00E94E9238BE692E060E00E94BF |
:103CE000E92380E80E94CC4F8823D9F30895FC0192 |
:103CF00080818093D10681818093D20682818093D6 |
:103D0000D30693819093D4066091D1067091D20628 |
:103D1000089590911501980F9093150180911601C7 |
:103D2000890F809316010895CF92DF92EF92FF9250 |
:103D30000F931F93CF93DF9380E10E94CC4F882392 |
:103D400019F580911A01823039F180E20E94CC4F3E |
:103D5000882339F080911A01813009F46EC11092E4 |
:103D60001A0180911701813009F419C180911A015B |
:103D7000813009F44FC0DF91CF911F910F91FF90D7 |
:103D8000EF90DF90CF90089580911A01813021F457 |
:103D900081E080931A01D9CF0E942A2280E060E05E |
:103DA00048E256E020E00E941F2480E061E04CE100 |
:103DB00056E020E00E941F2480E062E040E156E0EF |
:103DC00020E00E941F2480E063E044E056E020E011 |
:103DD0000E941F2480E064E048EF55E020E00E944C |
:103DE0001F2480E065E04CEE55E020E00E941F2497 |
:103DF00080E066E040EE55E020E00E941F2480E075 |
:103E000067E044ED55E020E00E941F2481E08093AC |
:103E10001A019BCF80911701813009F0ACCF8091BE |
:103E20001801863009F434C1823109F4A9C1823005 |
:103E300009F0A1CF85EE95E00E94771E28EE33E0D1 |
:103E400040E050E00E9418588BE067E0A90124E0B0 |
:103E500030E000E00E94BC2A80E167E04BEA55E0D8 |
:103E600020E00E941F2489ED95E00E94771E6B01DF |
:103E70007C0120E836E948E950E00E9418588BE0C0 |
:103E800065E0A90123E030E00E94BC2A8EE065E0F5 |
:103E900049EA55E020E00E941F24C701B60128EE40 |
:103EA00033E040E050E00E941858CA01B90120E117 |
:103EB00037E240E050E00E9418589B01AC018FE0CF |
:103EC00065E0A90124E030E001E00E94BC2AC701BE |
:103ED000B6012AE030E040E050E00E941858CA01E4 |
:103EE000B90124E630E040E050E00E9418589B0100 |
:103EF000AC0183E165E0A90122E030E00E94BC2A28 |
:103F00008DED95E00E94771E6B017C0120E836E97B |
:103F100048E950E00E9418588BE066E0A90123E0D0 |
:103F200030E000E00E94BC2A8EE066E047EA55E0FF |
:103F300020E00E941F24C701B60128EE33E040E0D4 |
:103F400050E00E941858CA01B90120E137E240E070 |
:103F500050E00E9418589B01AC018FE066E0A90177 |
:103F600024E030E001E00E94BC2AC701B6012AE04B |
:103F700030E040E050E00E941858CA01B90124E640 |
:103F800030E040E050E00E9418589B01AC0183E112 |
:103F900066E0A90122E030E00E94BC2AECCE8091CC |
:103FA0001801803309F0E2CE80911A01882309F0CC |
:103FB000DFCEF090D905FF2009F4DDCECEEDD5E0BF |
:103FC000EE2410E0CC244881812F6E2D50E023E0B8 |
:103FD00030E000E00E94BC2A4B81812F8C5F6E2D67 |
:103FE00050E022E030E00E94BC2A8981282F30E096 |
:103FF000C901837090700397C9F120FD25C08A81A3 |
:10400000853058F58230D8F1812F895F6E2D4CECC8 |
:1040100055E020E00E941F24C394CF1408F0A6CEE0 |
:1040200080E1C81609F4A2CE87E08C1548F489EF28 |
:10403000E82EEC0C1BE02C96C6CF0E942A228FCED5 |
:10404000EC2C10E02C96BFCF812F895F6E2D40EDB8 |
:1040500055E020E00E941F24DFCF812F895F6E2D65 |
:104060004EEC55E020E00E941F24D6CF812F895FBF |
:104070006E2D42ED55E020E00E941F24CDCF812F10 |
:10408000895F6E2D4AEC55E020E00E941F24C4CFCA |
:104090008091DF05823009F4AAC0823008F49FC005 |
:1040A000853008F09CC08BE060E047EC55E020E0F4 |
:1040B0000E941F248091E0058370833009F49FC023 |
:1040C00081E160E04DEB55E020E00E941F248091EB |
:1040D000E00580FF7CC08EE060E04AEB55E020E028 |
:1040E0000E941F248BE061E0409104060E946B282F |
:1040F000E09002068FEFE89E700111248091010686 |
:10410000E80EF11CC70164E670E00E94F157AB01B4 |
:104110008BE063E022E030E000E00E94BC2A8DE00A |
:1041200063E045EB55E020E00E941F24C70164E6F0 |
:1041300070E00E94F157AC018EE063E022E030E0D5 |
:1041400001E00E94BC2A8DEE95E00E94771E9B0143 |
:10415000AC018BE062E0A90125E030E000E00E94C4 |
:10416000BC2A81E162E042EB55E020E00E941F247E |
:1041700080911701813009F0FECD8091180154CE55 |
:1041800089EE95E00E94771E20E13EE040E050E09D |
:104190000E94C65720EA36E841E050E00E941858D5 |
:1041A0008BE064E0A90123E030E000E00E94BC2A3B |
:1041B0008FE064E04DEA55E020E00E941F248091EA |
:1041C0001701813009F0D7CD8091180130CE8EE0F3 |
:1041D00060E047EB55E020E00E941F2483CF8BE096 |
:1041E00060E041EC55E020E00E941F2463CF8BE0AB |
:1041F00060E044EC55E020E00E941F245BCF81E1A9 |
:1042000060E04FEB55E020E00E941F2460CFAF92AA |
:10421000BF92CF92DF92EF92FF920F931F93DF93A3 |
:10422000CF930F92CDB7DEB70E942A2282E080930F |
:104230001A0180911C01823009F4F1C080911D01A6 |
:10424000813009F05EC00E94015488EC90E09093A8 |
:10425000480B8093470B198210E0FF24EE246E0177 |
:104260000894C11CD11C98ECA92EB12CC6010E9447 |
:1042700048518823A9F0B092480BA092470B143004 |
:1042800009F4B2C0153058F5113009F4A6C0113048 |
:1042900008F447C0123009F489C0133009F452C041 |
:1042A0000F2D80E40E94CC4F882341F48091470B6E |
:1042B0009091480B892B11F0F02ED8CF80EF0E94FF |
:1042C000CC4F0E9471520F90CF91DF911F910F91AF |
:1042D000FF90EF90DF90CF90BF90AF900895163091 |
:1042E00009F448C0163080F0173009F472C0183055 |
:1042F000B9F680911501E81609F486C00F2D10E07B |
:10430000D0CF0E9471529FCF89818823B9F79091B5 |
:10431000150180911601890F809316010F2D16E06B |
:10432000C0CF8981853B09F0BBCF10921901109253 |
:1043300018011092170110921501109216010F2DFD |
:1043400011E0AFCF8981803331F0863021F08231A6 |
:1043500011F0823099F68093180190911501980F11 |
:104360009093150180911601890F809316010F2DEE |
:1043700014E097CF0F2D0150209119018981E22F70 |
:10438000F0E0EB52FA4F808390911501980F9093D3 |
:10439000150180911601890F809316012F5F2093DC |
:1043A0001901002309F07DCF17E07BCF298121304F |
:1043B00009F0A4CF909115019F5F90931501809112 |
:1043C0001601890F80931601209317010F2D13E01A |
:1043D00068CFE9800F2D18E064CF8981823609F01B |
:1043E0008DCF0F2D12E05DCF09810B3F08F086CFF6 |
:1043F00090911501900F9093150180911601890FEE |
:104400008093160115E04DCF998180911601981780 |
:1044100009F074CF0E94941E0F2D10E042CF80E06F |
:1044200063E044E356E020E00E941F2484E690E02D |
:104430009093480B8093470B8091470B9091480BCA |
:10444000892BD1F740CF2C988EBD0DB407FEFDCF40 |
:104450002C9A08951F93CF93DF9380E090E0FC01A6 |
:10446000E952F94F1082019624E080309207B9F7A3 |
:1044700010EB2B98812F0E94232280E10E9423229F |
:104480008091D6060E9423222B9AC0E0D0E080E0E3 |
:104490000E9423222196C038D105C9F71F5F183B1F |
:1044A00041F71092DA0A1092DB0ADF91CF911F9147 |
:1044B000089588E893E10197F1F70895009761F076 |
:1044C00020E030E048E853E1FA013197F1F72F5F3F |
:1044D0003F4F28173907C0F308951092DA0A109257 |
:1044E000DB0A8CE58CBD81E08DBD2C9A2A9820E0FA |
:1044F00030E048E853E1CA010197F1F72F5F3F4FE1 |
:104500002A303105C1F72A9A2C982B9880E40E9412 |
:1045100023228091D606882351F180EA0E9423222B |
:1045200088EC0E94232286EA0E94232282EA0E94CB |
:1045300023228FE20E94232288EF0E94232280E020 |
:104540000E94232287E20E94232281E80E942322E4 |
:1045500086E10E9423228CEA0E94232280E00E94AE |
:1045600023228FEA0E9423220E942A22089581EAB0 |
:104570000E94232280EC0E942322D5CFFF920F932A |
:104580001F938C01F62E2B98880F892F881F990B6B |
:10459000919580550E9423228091D6060F77080FAF |
:1045A000802F82958F70805F0E942322802F8F70D2 |
:1045B0000E9423222B9A8F2D0E9423221F910F915C |
:1045C000FF900895CF93DF93C0E0D0E0FE01E95A59 |
:1045D000F84F8081FE01E952F94F80836081CE015E |
:1045E0000E94BE22219683E0C038D80779F7FE01E9 |
:1045F000E952F94F1082CE0160E00E94BE2221965E |
:1046000084E0C030D80799F7DF91CF910895EF92F9 |
:10461000FF920F931F93CF93DF93582FE22E4F3DBE |
:1046200009F487C0403E08F450C0463F09F487C0F3 |
:104630004C3F09F454C0443E09F47EC04F77842FA8 |
:1046400090E09C01220F331F280F391F220F331FC8 |
:10465000C62FD0E0D695DC2FCC27D795C79586E01E |
:10466000589FC0011124C80FD91FD3708901095563 |
:104670001D4FFF2415C0EE2009F453C081E0E81659 |
:1046800009F448C0FE01E952F94F6081CE010E9451 |
:10469000BE22F3940F5F1F4F219686E0F81661F15A |
:1046A000F8019491F2E0EF1671F1FE1520F7E3E0C6 |
:1046B000EE16D9F0F4E0EF1629F7FE01E952F94FB2 |
:1046C0008081909589238083E0CF463D79F14C3DF0 |
:1046D00049F0443C09F0B2CF20E030E0B9CF2EE100 |
:1046E00030E0B6CF28E130E0B3CFFE01E952F94F18 |
:1046F000808189238083C9CFDF91CF911F910F9152 |
:10470000FF90EF900895FE01E952F94F80818927CB |
:104710008083BBCFFE01E952F94F8081892B8083D2 |
:10472000B4CFFE01E952F94F9083AFCF2CE030E0D7 |
:104730008FCF24EB30E08CCF26E030E089CF22E130 |
:1047400030E086CF8091DB0A8F5F8093DB0A883070 |
:1047500008F408950E94E22287E08093DB0A08951E |
:104760001F93CF93DF93EC01162FFC0184918823D4 |
:10477000C1F422C04D3071F08091DA0A6091DB0AF9 |
:10478000212F0E9407238091DA0A8F5F8093DA0A33 |
:10479000853110F01092DA0A2196FE018491882367 |
:1047A00059F0FE0144914A3029F70E94A223219634 |
:1047B000FE0184918823A9F7DF91CF911F9108957D |
:1047C0008093DA0A6093DB0ACA01622F0E94B02349 |
:1047D00008951F93CF93DF93EC01162FFC01849172 |
:1047E0008823B1F420C04D3011F18091DA0A609134 |
:1047F000DB0A212F0E9407238091DA0A8F5F8093C2 |
:10480000DA0A8531B8F42196FE018491882359F0A3 |
:10481000FE0144914A3039F70E94A2232196FE01FD |
:1048200084918823A9F7DF91CF911F910895109269 |
:10483000DA0AE9CF1092DA0A0E94A223EFCF80931E |
:10484000DA0A6093DB0ACA01622F0E94E923089505 |
:104850001F93CF93DF93EC01162F48814423A9F4D3 |
:104860001CC04D30F1F08091DA0A6091DB0A212FF3 |
:104870000E9407238091DA0A8F5F8093DA0A8531DC |
:1048800098F421964881442341F04A3051F70E9420 |
:10489000A223219648814423C1F7DF91CF911F9134 |
:1048A00008951092DA0AEDCF1092DA0A0E94A2233C |
:1048B000F0CF8093DA0A6093DB0ACA01622F0E946C |
:1048C00028240895CF93DF93EC014881442329F4F1 |
:1048D0001AC0219648814423B1F08091DA0A609190 |
:1048E000DB0A20E00E9407238091DA0A8F5F809321 |
:1048F000DA0A843170F31092DA0A0E94A223219618 |
:104900004881442351F7DF91CF9108958093DA0ACB |
:104910006093DB0ACA010E9462240895982F87FDE4 |
:1049200026C0603420F5862F869586958695282F9B |
:1049300030E03695322F222737952795290F311DE4 |
:10494000677081E090E0582F01C0550F6A95EAF733 |
:10495000652F33704130A1F0413050F04230B9F052 |
:10496000F901E952F94F6081C9010E94BE22089500 |
:10497000F901E952F94F8081609586238083F3CF56 |
:10498000F901E952F94F8081852B8083ECCFF90141 |
:10499000E952F94F808185278083E5CF2F923F929E |
:1049A0004F925F926F927F928F929F92AF92BF923F |
:1049B000CF92DF92EF92FF920F931F93DF93CF93EB |
:1049C00000D00F92CDB7DEB70B83482E5524862E2C |
:1049D0009924A42FB0E0BA83A983AD0144195509E5 |
:1049E000222E332491012819390957FD95C0FA0167 |
:1049F0004115510509F07BC03F0137FD7BC0F9012E |
:104A00002115310509F070C05F016A0157FD78C0BA |
:104A1000790137FD7CC04B810E948E24EC14FD048B |
:104A2000F4F5E981FA814E165F0619F1C601D7FC4B |
:104A300079C09595879500271127081B190B460CFF |
:104A4000571C0E0D1F1D1016110624F48A0C9B1CFA |
:104A50000C191D09842D682D4B810E948E24460C53 |
:104A6000571CC2018619970929813A8128173907ED |
:104A700041F70F900F900F90CF91DF911F910F9101 |
:104A8000FF90EF90DF90CF90BF90AF909F908F906E |
:104A90007F906F905F904F903F902F900895821479 |
:104AA000930439F3C701F7FC3BC095958795002720 |
:104AB0001127081B190B8A0C9B1C0C0D1D1D1016B1 |
:104AC000110624F4460C571C0E191F09842D682D5D |
:104AD0004B810E948E248A0C9B1CC4018A199B095D |
:104AE0002816390651F7C5CFE1E0F0E08DCFE1E0BF |
:104AF000F0E082CFAA24AA94BA2C6A0157FF88CF8B |
:104B0000D094C194D108D394790137FF84CFF09425 |
:104B1000E194F108F3947FCF66246A94762C6DCFEC |
:104B20000196C3CF019685CFCF92DF92EF92FF928D |
:104B30000F931F93CF93DF93D82E942F822FC02EE5 |
:104B4000D7FC32C04D2D50E0603408F06FE3262FC3 |
:104B500030E07901E80EF11C81E4E816F10418F068 |
:104B600010E4E12EF12CE901E216F30688F0490F7A |
:104B7000511D41385105A8F4142F8D2D6C2F412F54 |
:104B80002C2F0C2D0E94CE242196EC16FD06A8F7A2 |
:104B9000DF91CF911F910F91FF90EF90DF90CF9019 |
:104BA000089540E850E0E8CF0FE7D02E4FE750E0FF |
:104BB000CBCFDF92EF92FF920F931F93CF93DF93B0 |
:104BC000F82E842FD02EF7FC38C04F2D50E0162F32 |
:104BD000603408F01FE3C12FD0E0C20FD11D480F91 |
:104BE000511D4138510510F040E850E0E42E8F2D62 |
:104BF000612F212F0D2D0E94CE24C134D10510F03C |
:104C0000C0E4D0E08E2D612F4E2D2C2F0D2D0E9453 |
:104C1000CE248E2D6C2F4F2D2C2F0E94CE248F2D25 |
:104C20006C2F4F2D212F0E94CE24DF91CF911F9109 |
:104C30000F91FF90EF90DF9008959FE7F92E4FE7D7 |
:104C400050E0C5CF2F923F924F925F926F927F922A |
:104C50008F929F92AF92BF92CF92DF92EF92FF928C |
:104C60000F931F93CF93DF93482E562E7A01C22EB7 |
:104C7000642F650D422F0E948E24652D6E19842DA0 |
:104C80004C2D0E948E248E2D840D652D4C2D0E945E |
:104C90008E24842D8E19652D4C2D0E948E241E1479 |
:104CA0001F040CF063C0C1E0D0E0CE19DF09C701DA |
:104CB000880F991F22243324281A390A4701AA246D |
:104CC000BB2423E0622E712C06C0C60DD71D82E0E6 |
:104CD00090E0680E791ED7FD09C0089481089108FC |
:104CE00082E090E0280E391EC20DD31D0894A11C4D |
:104CF000B11CDA2CD40C182D150D8D2D612F4C2DD7 |
:104D00000E948E24E42CEA188E2D612F4C2D0E94D7 |
:104D10008E24152D18198D2D612F4C2D0E948E2457 |
:104D20008E2D612F4C2D0E948E24E82CE40C1A2D20 |
:104D3000150D8E2D612F4C2D0E948E24942D9819C7 |
:104D4000092F892F612F4C2D0E948E24152D1A19A1 |
:104D50008E2D612F4C2D0E948E24802F612F4C2D83 |
:104D60000E948E24A814B9040CF4AFCFDF91CF9128 |
:104D70001F910F91FF90EF90DF90CF90BF90AF9079 |
:104D80009F908F907F906F905F904F903F902F906B |
:104D900008952F923F925F926F927F928F929F928F |
:104DA000AF92BF92CF92DF92EF92FF920F931F9339 |
:104DB000CF93DF93582EC62E7A01642F6C0D2C2DC5 |
:104DC000241B452D01E00E94CE24452D4E198E2D29 |
:104DD000850D6C2D2C2D0E94CE241E141F040CF06A |
:104DE0004FC0C1E0D0E0CE19DF09C701880F991F7D |
:104DF00022243324281A390A4701AA24BB2443E079 |
:104E0000642E712C06C0C60DD71D82E090E0680E9E |
:104E1000791ED7FD09C008948108910882E090E0CE |
:104E2000280E391EC20DD31D0894A11CB11CEA2CFA |
:104E3000E50CD52CDA18282D2C0D8E2D622F4D2D3A |
:104E400001E00E94CE242C2D28198E2D622F4D2D8D |
:104E50000E94CE24E82CE50C952D9819192F2A2DA7 |
:104E60002C0D8E2D622F492F0E94CE242C2D2A1915 |
:104E70008E2D622F412F0E94CE24A814B9041CF25B |
:104E8000DF91CF911F910F91FF90EF90DF90CF9026 |
:104E9000BF90AF909F908F907F906F905F903F906A |
:104EA0002F900895CF92DF92EF92FF920F931F936E |
:104EB000CF93DF93082F0E942A2284E596E060E0DA |
:104EC0000E94E9231092DA0A87E08093DB0A83E4E8 |
:104ED00096E060E00E94B02382E08093DB0A10E05D |
:104EE0007801EE0CFF1CEE0CFF1C68010894C11C3D |
:104EF000D11CCC0CDD1CCC0CDD1CEC14FD0494F599 |
:104F00001E2D1295107F02E08AE0E816F1049CF550 |
:104F10004E2D405D80E06091DB0A20E00E94072377 |
:104F20000093DA0AC0E0D0E0412F4C0F8091DA0AFA |
:104F30006091DB0A20E00E9407238091DA0A8F5FEC |
:104F40008093DA0A2196C031D10571F78091DB0A8E |
:104F50008F5F8093DB0A0894E11CF11C105FEC1456 |
:104F6000FD0494F2DF91CF911F910F91FF90EF908C |
:104F7000DF90CF9008954E2D495C80E06091DB0A70 |
:104F800020E00E940723CCCF8A3010F0895C08957E |
:104F9000805D08950F931F93142F022F6093DB0AF7 |
:104FA0008F5F8093DA0A815042954F704A3098F4AF |
:104FB000405D202F0E9407238091DA0A6091DB0A6E |
:104FC000412F4F704A3048F0495C202F0E94072340 |
:104FD0001F910F910895495CECCF405D202F0E94F6 |
:104FE00007231F910F9108950F931F93082F162FDA |
:104FF0008091DA0A8F5F8093DA0A81506091DB0A30 |
:10500000402F42954F704A3018F5405D212F0E9485 |
:1050100007238091DA0A8F5F8093DA0A81506091CA |
:10502000DB0A402F4F704A30A8F0495C212F0E94C4 |
:1050300007238091DA0A8F5F8093DA0A81506091AA |
:10504000DB0A40E2212F0E9407231F910F91089550 |
:10505000495CDCCF405DEACFFF920F931F93CF9363 |
:10506000DF93F82E04E620E0C0E0D0E08F2D602F23 |
:105070000E94E557182F8823C9F42223B9F4013080 |
:10508000A9F0802F6AE00E94E557982F2196C3303F |
:10509000D105D9F0109F802D1124F81A092F8F2DDA |
:1050A000602F0E94E557182F882339F38091DA0A80 |
:1050B0008F5F8093DA0A8150412F405D6091DB0A57 |
:1050C00020E00E94072321E0DCCFDF91CF911F91E8 |
:1050D0000F91FF9008958093DA0A6093DB0A842F82 |
:1050E0000E942C280895BF92CF92DF92EF92FF92F8 |
:1050F0000F931F93CF93DF93C82EB62E7A01CA0168 |
:1051000064E670E00E94F157062F14E6C0E0D0E09C |
:10511000402F405D8C2D6B2D20E00E940723812FB6 |
:105120006AE00E94E557D82EC230D105A9F02C2D97 |
:105130002F5F109FC0011124E81AF90A8D2D8A50A3 |
:105140008A30A0F0C22EC7016D2D70E00E94F15789 |
:10515000062F21961D2DDCCFDF91CF911F910F914E |
:10516000FF90EF90DF90CF90BF900895C22EC39430 |
:10517000822F6B2D4EE220E00E940723E4CF7F9226 |
:105180008F929F92AF92BF92CF92DF92EF92FF9257 |
:105190000F931F93DF93CF93CDB7DEB727970FB64B |
:1051A000F894DEBF0FBECDBFF82EE62ECA0169010E |
:1051B0004E010894811C911CB4014AE050E00E9409 |
:1051C0005C58F40101900020E9F731977E2E7818A1 |
:1051D000A72CBB24CA14DB040CF464C0CA18DB0877 |
:1051E0001C141D0414F5F39410E00EC06E2D40E362 |
:1051F00020E00E9407231F5F2F2D2F5F812F90E05B |
:105200008C159D0594F4F22E8F2D8150002371F79B |
:105210006E2D40E220E00E9407231F5F2F2D2F5F9D |
:10522000812F90E08C159D0574F3F5013197E80D01 |
:10523000F91D0081108281E0781609F448C082E0EF |
:10524000781621F489818D3209F449C0F092DA0A86 |
:10525000E092DB0AC40160E00E942824172D11505F |
:105260001F0D812F6E2D4EE220E00E940723812F1B |
:105270008F5F6E2D402F20E00E94072327960FB6E8 |
:10528000F894DEBF0FBECDBFCF91DF911F910F917C |
:10529000FF90EF90DF90CF90BF90AF909F908F9056 |
:1052A0007F9008951C141D044CF710E001C0F02EEF |
:1052B0000F2D0F5F8F2D6E2D4AE220E00E940723F5 |
:1052C0001F5F812F90E08C159D058CF3D7CF8F2D1C |
:1052D00081506E2D40E320E00E940723BFCF8F2D29 |
:1052E00081506E2D4DE220E00E9407238F2D6E2D00 |
:1052F00040E320E00E940723B1CF7F928F929F92DC |
:10530000AF92BF92CF92DF92EF92FF920F931F93D3 |
:10531000DF93CF93CDB7DEB727970FB6F894DEBFF4 |
:105320000FBECDBFF82EE62ECA0169014E010894CA |
:10533000811C911CB4014AE050E00E945C58F401C9 |
:1053400001900020E9F731977E2E7818A72CBB2416 |
:10535000CA14DB040CF464C0CA18DB081C141D0456 |
:1053600014F5F39410E00EC06E2D40E320E00E948F |
:1053700007231F5F2F2D2F5F812F90E08C159D0538 |
:1053800094F4F22E8F2D8150002371F76E2D40E2A0 |
:1053900020E00E9407231F5F2F2D2F5F812F90E0B9 |
:1053A0008C159D0574F3F5013197E80DF91D008109 |
:1053B000108281E0781609F448C082E0781621F462 |
:1053C00089818D3209F449C0F092DA0AE092DB0A51 |
:1053D000C40160E00E942824172D11501F0D812F59 |
:1053E0006E2D4EE220E00E940723812F8F5F6E2DED |
:1053F000402F20E00E94072327960FB6F894DEBFC7 |
:105400000FBECDBFCF91DF911F910F91FF90EF9015 |
:10541000DF90CF90BF90AF909F908F907F90089536 |
:105420001C141D044CF710E001C0F02E0F2D0F5F6F |
:105430008F2D6E2D4AE220E00E9407231F5F812FEF |
:1054400090E08C159D058CF3D7CF8F2D81506E2D5C |
:1054500040E320E00E940723BFCF8F2D81506E2DA7 |
:105460004DE220E00E9407238F2D6E2D40E320E0C7 |
:105470000E940723B1CFAF92BF92CF92DF92EF92FB |
:10548000FF920F931F93DF93CF93CDB7DEB727978C |
:105490000FB6F894DEBF0FBECDBF182FC62ECA01BF |
:1054A0007901D02E5E010894A11CB11CB5014AE01F |
:1054B00050E00E945C58F50101900020E9F7319717 |
:1054C000EA192E2F30E0E216F3060CF440C0E21A7F |
:1054D000F30A1E141F0414F51F5F00E00EC06C2DAC |
:1054E00040E320E00E9407230F5F212F2F5F802FD2 |
:1054F00090E08E159F0594F4122F812F8150DD20AE |
:1055000071F76C2D40E220E00E9407230F5F212FEE |
:105510002F5F802F90E08E159F0574F31093DA0AA9 |
:10552000C092DB0AC50160E00E94282427960FB6CE |
:10553000F894DEBF0FBECDBFCF91DF911F910F91C9 |
:10554000FF90EF90DF90CF90BF90AF9008951E1422 |
:105550001F0464F700E001C01D2DD12ED394812FCC |
:105560006C2D4AE220E00E9407230F5F802F90E01D |
:105570008E159F058CF3DACFAF92BF92CF92DF9258 |
:10558000EF92FF920F931F93DF93CF93CDB7DEB7C8 |
:1055900027970FB6F894DEBF0FBECDBF182FC62ECB |
:1055A000CA017901D02E5E010894A11CB11CB5017D |
:1055B0004AE050E00E947D58F50101900020E9F793 |
:1055C0003197EA192E2F30E0E216F3060CF440C0B2 |
:1055D000E21AF30A1E141F0414F51F5F00E00EC048 |
:1055E0006C2D40E320E00E9407230F5F212F2F5FE7 |
:1055F000802F90E08E159F0594F4122F812F8150FB |
:10560000DD2071F76C2D40E220E00E9407230F5F40 |
:10561000212F2F5F802F90E08E159F0574F310933C |
:10562000DA0AC092DB0AC50160E00E9428242796AE |
:105630000FB6F894DEBF0FBECDBFCF91DF911F91A3 |
:105640000F91FF90EF90DF90CF90BF90AF900895B3 |
:105650001E141F0464F700E001C01D2DD12ED39449 |
:10566000812F6C2D4AE220E00E9407230F5F802FDC |
:1056700090E08E159F058CF3DACF7F928F929F92E8 |
:10568000AF92BF92CF92DF92EF92FF920F931F9350 |
:10569000162F69017A0157FD61C0782E739440E29C |
:1056A00020E00E940723C701B60120E836E948E957 |
:1056B00050E00E943A58872D612FA90123E030E085 |
:1056C00001E00E94BC2A872D8D5F612F4EE220E011 |
:1056D0000E940723C701B60120E836E948E950E0F7 |
:1056E0000E943A586B017C01C701B60128EE33E0F5 |
:1056F00040E050E00E943A584901872D8C5F612FAD |
:10570000A90124E030E00E94BC2AAA24BB24C501E0 |
:10571000B40128E13CEF4FEF5FEF0E94C657C60E81 |
:10572000D71EE81EF91E872D885F612FA60123E092 |
:1057300030E00E94BC2A872D855F612F4EE120E07A |
:105740000E9407231F910F91FF90EF90DF90CF9061 |
:10575000BF90AF909F908F907F900895C094D09409 |
:10576000E094F0940894C11CD11CE11CF11C782E2B |
:1057700073944DE220E00E94072395CFBF92CF9211 |
:10578000DF92EF92FF920F931F93182FB62E6A01AC |
:10579000CA016CE370E00E94F1577B01812F6B2DF1 |
:1057A000A70122E030E000E00E94BC2A812F8E5F3A |
:1057B0006B2D4AE320E00E9407238CE390E09C01DC |
:1057C000E29EC001E39E900DF29E900D1124C81A36 |
:1057D000D90A812F8D5F6B2DA60122E030E001E018 |
:1057E0000E94BC2A1F910F91FF90EF90DF90CF9005 |
:1057F000BF9008952F923F924F925F926F927F9247 |
:105800008F929F92AF92BF92CF92DF92EF92FF92D0 |
:105810000F931F93DF93CF93CDB7DEB760970FB68B |
:10582000F894DEBF0FBECDBF8D876E877A01390138 |
:10583000C02E449F9001459F300D549F300D112480 |
:1058400038872F83669CC001679C900D769C900DD5 |
:1058500011249E838D83269D5001279DB00C369D7B |
:10586000B00C1124F501EE0FFF1FFC83EB83660DD6 |
:105870008D85402F0E948E246E8566198D85402F60 |
:105880000E948E248D858E0D6E85402F0E948E2461 |
:105890008D858E196E85402F0E948E242B813C8130 |
:1058A000121613060CF060C16D817E816A197B09A6 |
:1058B000882777FD8095982F0E9419567B018C01CF |
:1058C000EF81F885BF01882777FD8095982F0E948A |
:1058D000195620E030E040E85EE30E94DE569B016E |
:1058E000AC01C801B7010E9417550E9441570E94A0 |
:1058F000E655788B6F878D809E80880C991C8F81F0 |
:105900009885880F991F22273327281B390B3C873E |
:105910002B87AD80BE80A80CB91C130144245524EC |
:105920006624772409C0C50188199909EF85F8898B |
:10593000E80FF91FF88BEF878F85988997FD0FC0C7 |
:10594000089421083108EB81FC812B853C85E20F0E |
:10595000F31FFC83EB838E1B9F0B988B8F87089420 |
:10596000611C711C480C591C0D85060DEE84E20C5F |
:10597000802F6E2D4C2D0E948E24FE84F218802FD5 |
:105980006F2D4C2D0E948E241D851619812F6E2D92 |
:105990004C2D0E948E24812F6F2D4C2D0E948E2421 |
:1059A000A80CB91C8B819C81481659060CF4BBCFFE |
:1059B00093015101121413040CF0BDC0B9018827E2 |
:1059C00077FD8095982F0E94195620E030E040E046 |
:1059D0005FE30E9417557B018C010894A108B10870 |
:1059E0002D813E81B901882777FD8095982F0E94EF |
:1059F0001956A80197010E94DE569B01AC01C8010F |
:105A0000B7010E94DE567B018C01AA9CC001AB9CB1 |
:105A1000900DBA9C900D1124EF81F8858E9FB001F6 |
:105A20008F9F700D9E9F700D1124882777FD8095A4 |
:105A3000982F0E9419569B01AC01C801B7010E9422 |
:105A400017557B018C012D813E818F819885289F80 |
:105A5000B001299F700D389F700D1124882777FDA4 |
:105A60008095982F0E9419569B01AC01C801B7017F |
:105A70000E9416550E9441570E94E6554B018F81A6 |
:105A80009885880F991FEE27FF27E81BF90BFA83EB |
:105A9000E9832D813E81220F331F3A872987C10177 |
:105AA0000197988B8F871F0130942194310833948C |
:105AB000AF80B884AE1ABF0AEB81FC81AE1ABF0A70 |
:105AC0002DC00D85060D1F85EE84E10E802F6E2DF5 |
:105AD0004C2D0E948E24FE84F11A802F6F2D4C2DA8 |
:105AE0000E948E241D851619812F6E2D4C2D0E942B |
:105AF0008E24812F6F2D4C2D0E948E248F859889A6 |
:105B00000197988B8F87A20CB31C8F5F9F4F99F0E2 |
:105B100089819A818A0D9B1D880E991E181419047B |
:105B200084F20894611C711C29853A85420E531E2B |
:105B3000840C951CC6CF60960FB6F894DEBF0FBEDE |
:105B4000CDBFCF91DF911F910F91FF90EF90DF902C |
:105B5000CF90BF90AF909F908F907F906F905F900D |
:105B60004F903F902F9008955301130120E030E0B3 |
:105B700044245524662477241DCF0F93FA01022F65 |
:105B80004D5F5F4F9F010E94FA2B0F9108952F9256 |
:105B90003F924F925F926F927F928F929F92AF92BD |
:105BA000BF92CF92DF92EF92FF920F931F93DF93FA |
:105BB000CF930F92CDB7DEB7382E262E4983422ED3 |
:105BC000B8010E2D80E090E00E9417562BED3FE0CB |
:105BD00049E450E40E94DE5620E030E044E353E420 |
:105BE0000E947E556B017C01C7010E947B554B01D1 |
:105BF0005C01552466247724C301B2010E94175624 |
:105C00009B01AC01C501B4010E94DE560E944157C0 |
:105C10004B015C01B601C7010E9461576B017C0119 |
:105C20002981622F70E080E090E00E9417569B016E |
:105C3000AC01C701B6010E94DE560E9441570E9486 |
:105C4000EB55132D160FC501B4010E94EB55222D03 |
:105C5000261B832D622D412F0E94CE240F90CF91C1 |
:105C6000DF911F910F91FF90EF90DF90CF90BF9049 |
:105C7000AF909F908F907F906F905F904F903F90EC |
:105C80002F900895EF920F931F93942FF901E02E18 |
:105C90004D5F292F8F010E94C72D1F910F91EF900B |
:105CA00008952F923F924F925F926F927F928F92C0 |
:105CB0009F92AF92BF92CF92DF92EF92FF920F939B |
:105CC0001F93382E262E442E40E050E0CA01B90121 |
:105CD0000E9417562BED3FE049E450E40E94DE5647 |
:105CE00020E030E044E353E40E947E556B017C01E8 |
:105CF000C7010E947B554B015C0155246624772423 |
:105D0000C301B2010E9417562B013C01C501B40129 |
:105D1000A30192010E94DE560E9441574B015C0193 |
:105D2000B601C7010E9461579B01AC01C301B201DA |
:105D30000E94DE560E9441570E94EB55132D160F0C |
:105D4000C501B4010E94EB55222D261B832D622D27 |
:105D5000412F0E94CE241F910F91FF90EF90DF9072 |
:105D6000CF90BF90AF909F908F907F906F905F90FB |
:105D70004F903F902F900895EF92FF920F931F93B3 |
:105D8000CF93DF9382B1806F82B987B1836087B987 |
:105D9000579A8FEF84B981E08093460B0E946D2261 |
:105DA00084E190E00E9476510E94BC4F0E944B4FCC |
:105DB00078940E94F01D0E946D228BE10E94BA51DE |
:105DC0008BE10E94BA5185E50E94BA518AEA0E948D |
:105DD000BA5180E00E94BA5186E580931B0106E724 |
:105DE000C4E1D0E08AE5E82EF12C0E942A2280E06E |
:105DF00060E044E757E020E00E94E02380E061E0BB |
:105E00004AE657E020E00E94E0238AE061E040E6B5 |
:105E100057E020E00E94E02380E062E040E557E0A8 |
:105E200020E00E94E02380E063E04BE357E020E0C5 |
:105E30000E94E02380E067E04DE257E020E00E940E |
:105E4000E02312E380913D01882309F045C011232E |
:105E500051F100D00F92EDB7FEB73196ADB7BEB796 |
:105E600011960C93118212820E94B452D093480B67 |
:105E7000C093470B0F900F900F908091470B90911C |
:105E8000480B892BD1F780E10E94CC4F882311F475 |
:105E90001150D8CF10921C010E94773110921C0132 |
:105EA0000E947731F7CF80E064E046E257E020E0DF |
:105EB0000E94E02380E065E041E157E020E00E949D |
:105EC000E023F092480BE092470B8091470B9091B2 |
:105ED000480B892BD1F789CF112329F30E94E15177 |
:105EE00080913F01909140019093DD0A8093DC0AFC |
:105EF0000E942A228EEF96E060E00E94E92384EF60 |
:105F000096E060E00E94E92380914D0B823609F40F |
:105F100094C080914D0B833651F48AED96E060E099 |
:105F20000E94E92381E080931C0180931D0180ED94 |
:105F300096E060E00E94E923E091DC0AF091DD0A3E |
:105F400080810E942C288EEC96E060E00E94E9237C |
:105F5000E091DC0AF091DD0A81810E942C28E09119 |
:105F6000DC0AF091DD0A44814F598091DA0A609190 |
:105F7000DB0A20E00E94072382E390E09093480B25 |
:105F80008093470B8091470B9091480B892BD1F759 |
:105F90000E948C5482E390E09093480B8093470BCF |
:105FA0008091470B9091480B892BD1F781E00E949B |
:105FB000783FE091DE0AF091DF0A8081853509F4AF |
:105FC00047C00E942A2283EC96E060E00E94E92309 |
:105FD00085E50E942C2887EB96E060E00E94E9238B |
:105FE0008CEA96E060E00E94E923E091DE0AF091FD |
:105FF000DF0A80810E942C2880EA96E060E00E94FF |
:10600000E9238DE896E060E00E94E92380E896E0CD |
:1060100060E00E94E92386E796E060E00E94E923C1 |
:1060200089E696E060E00E94E923E091DE0AF091C3 |
:10603000DF0A8081853561F0FFCF86EE96E060E073 |
:106040000E94E92382E080931C0180931D016FCFA1 |
:1060500010921B0110923D0188EC90E09093480B48 |
:106060008093470B8091470B9091480B892BD1F778 |
:106070000E9477310E947731FBCF0E942A2280E074 |
:1060800060E049E659E020E00E94E02380E061E022 |
:1060900041E659E020E00E94E02388E061E047E526 |
:1060A00059E020E00E94E02380E062E043E459E010 |
:1060B00020E00E94E02380E063E044E359E020E038 |
:1060C0000E94E02380E064E041E259E020E00E9489 |
:1060D000E02380E065E04CE059E020E00E94E0230E |
:1060E00080E066E047EF58E020E00E94E02380E097 |
:1060F00067E042EE58E020E00E94E02380E80E9442 |
:10610000CC4F8823D9F308950E942A2280E060E0D2 |
:106110004BE959E020E00E94E02380E061E04BE899 |
:1061200059E020E00E94E02380E067E046E759E084 |
:1061300020E00E94E02380E80E94CC4F8823D9F31E |
:1061400008950F931F93982F062F142F842F692FD4 |
:106150004EE75AE020E00E941F24812F602F4CE779 |
:106160005AE020E00E941F241F910F910895CF92C2 |
:10617000DF92EF92FF920F931F93D82EF62E142FDB |
:10618000C22EE02E842F642F41E00E94A130012F07 |
:106190001AC081E0E81611F180E10E94CC4F8823FB |
:1061A00029F0D116C8F081E0C81609F1101729F0BE |
:1061B000802F612F41E00E94A13080E80E94CC4FE7 |
:1061C000012F882361F480E20E94CC4F882321F3C1 |
:1061D0001F15F8F61F5FE0CF1150E8CF1EEF812F9B |
:1061E0001F910F91FF90EF90DF90CF9008951DEFDA |
:1061F000F6CFCF92DF92EF92FF920F931F93D82E9C |
:10620000F62E142FC22EE02E842F642F41E00E9420 |
:10621000A130012F1AC081E0E81661F180E10E94EF |
:10622000CC4F882329F0D116C8F081E0C81621F19F |
:10623000101729F0802F612F41E00E94A13080ECDF |
:106240000E94CC4F012F882359F480E20E94CC4F4A |
:10625000882321F31F15F8F61F5FE0CF1150E8CF18 |
:1062600086FD1FEF812F1F910F91FF90EF90DF9020 |
:10627000CF9008951EEFF6CF1DEFF4CFDF92EF928F |
:10628000FF920F931F93E82EF62ED42E122F822FFB |
:10629000622F0E94A130012F16C01E2D80E10E94A6 |
:1062A000CC4F882319F0E116B8F01F2D101729F0F4 |
:1062B000802F612F4D2D0E94A13080EC0E94CC4F89 |
:1062C000012F882359F480E20E94CC4F882331F3B8 |
:1062D0001F1518F71F5FE2CF1150E8CF86FD1FEFA3 |
:1062E000812F1F910F91FF90EF90DF9008952F92D3 |
:1062F0003F924F925F926F927F928F929F92AF9256 |
:10630000BF92CF92DF92EF92FF920F931F93DF9392 |
:10631000CF9300D000D00F92CDB7DEB780911C0193 |
:10632000813009F419C2823009F410C2882309F0BF |
:10633000F1C186E08A83E6E06E2E712C5524198225 |
:106340004424439488249924130108942108310893 |
:106350000E942A2280E060E04FE65AE020E00E949E |
:106360001F2485E69AE060E00E94E92380E067E070 |
:1063700040E55AE020E00E94E023552009F013C1D7 |
:10638000C401880F991F880D991D9C01220F331F8E |
:10639000220F331F280F391F59E8C52E57E0D52E7D |
:1063A000C20ED31E4FE1E42E48E0F42EE20EF31E9F |
:1063B00089010857174F1D821C8291E011C02C8162 |
:1063C0003D812F5F3F4F3D832C839F5FEFE0F0E0E7 |
:1063D000CE0EDF1EEE0EFF1E015F1F4F973021F124 |
:1063E000AC80BD80A80CB91CA614B70484F48091BD |
:1063F0001C01813009F4B4C0823009F4A8C083E0E4 |
:10640000692FA80120E09B830E941F249B81EC81BF |
:10641000E530A9F6A214B30494F681E066E04CE4FA |
:106420005AE020E00E941F24F981FF2309F4A1C053 |
:10643000C4010696861597050CF4BDC082E066E09F |
:10644000442D21E000E00E94B730182F1E3F09F4D0 |
:10645000A0C01D3F09F4B8C01F3F09F48ECF809142 |
:106460001C01813009F4DAC0823009F4BDC08823F0 |
:10647000D9F47401E10EF11CF2E0EF16F10409F415 |
:1064800046C123E0E216F10409F43DC134E0E3160D |
:10649000F10409F4E3C085E0E816F10409F4DEC074 |
:1064A000E6E0EE16F10411F0412E52CF0E942A22AE |
:1064B00080E060E046E35AE020E00E94E02380E0D4 |
:1064C00061E041E25AE020E00E94E02380E062E0E7 |
:1064D0004DE05AE020E00E94E02380E063E047EFD7 |
:1064E00059E020E00E94E02380E064E041EE59E0C2 |
:1064F00020E00E94E02380E065E04CEC59E020E0E1 |
:106500000E94E02380E066E045EC59E020E00E9434 |
:10651000E02380E067E04FEA59E020E00E94E023BA |
:1065200080E10E94CC4F882309F0F8C080E80E94E7 |
:10653000CC4F8823A9F32CE088E190E00FB6F894C3 |
:10654000A895809360000FBE20936000FFCF83E08A |
:10655000692FA70120E09B830E941F249B8157CFB6 |
:1065600083E0692FA60120E09B830E941F249B816A |
:106570004ECF552001F52A81273068F181E065E092 |
:10658000442D20E001E00E94B730182F1E3F09F093 |
:1065900060CF539431E0398395E0492E852C9924BE |
:1065A000552009F4EDCE81E061E04EE45AE020E0B0 |
:1065B0000E941F24E5CE82E065E0442D21E001E049 |
:1065C0000E94B730182F42CF5A94198282E0482E89 |
:1065D000852C9924D2CE81E06A81442D20E000E010 |
:1065E0000E94B730182F32CF7401E10EF11C81E008 |
:1065F000E816F104B9F1E2E0EE16F10409F44FC037 |
:10660000F3E0EF16F10409F467C024E0E216F104A8 |
:1066100059F50E94EF3380911C0129CF7401E10EDE |
:10662000F11C81E0E816F10441F1E2E0EE16F1041C |
:1066300009F440C0F3E0EF16F10409F458C024E077 |
:10664000E216F104E9F40E94794AF8E0EF16F10449 |
:10665000E9F40E94724D80911C0106CF0E948430A3 |
:10666000412E76CE0E94851C35E0E316F104C9F474 |
:106670000E94724D80911C01FACE81E00E94363951 |
:1066800035E0E316F104C9F40E94C31929E0E216CB |
:10669000F104C9F40E943D3080911C01E5CE0E94B6 |
:1066A000794A86E0E816F104C9F40E943D308091F1 |
:1066B0001C01DDCE82E00E94363986E0E816F10446 |
:1066C000C1F40E94EF333AE0E316F10411F40E94A2 |
:1066D000843080911C01C8CE0E94C319E7E0EE16F9 |
:1066E000F10411F40E94843080911C01C0CE0E94FC |
:1066F000851CE7E0EE16F10409F0A7CF0E94072100 |
:1067000080911C01B1CE0E943D30412E21CE0E94CD |
:10671000724DC6CE1A826624772410CE0F900F9049 |
:106720000F900F900F90CF91DF911F910F91FF90DD |
:10673000EF90DF90CF90BF90AF909F908F907F9021 |
:106740006F905F904F903F902F90089537E03A837D |
:10675000F7E06F2E712CF2CD2AE02A83AAE06A2E90 |
:10676000712CECCDCF93DF93E82FC0E0DCE080E12B |
:10677000DE011D928A95E9F7EE2351F1F0E0E15038 |
:10678000F44F60838DB79EB707970FB6F8949EBFFE |
:106790000FBE8DBFEDB7FEB7319684E7ADB7BEB77C |
:1067A00011968C9381E081838283D483C38380E1BB |
:1067B00090E0968385830E94B4528DB79EB707966A |
:1067C0000FB6F8949EBF0FBE8DBFDF91CF91089595 |
:1067D000CE0170E040E150E00E945558D3CF0F93B6 |
:1067E0001F93CF93DF930E942A2281E08093E10AD6 |
:1067F0001092E30A1092E20A89EB9AE060E00E94AC |
:10680000E92382E062E04EEA5AE020E00E94E023C1 |
:1068100082E063E043EA5AE020E00E94E02380E067 |
:1068200067E04EE85AE020E00E94E02380E062E06A |
:106830004CE85AE020E00E941F2480911C01813026 |
:1068400009F411C110E729C0813009F449C080E87A |
:106850000E94CC4F8823A9F08091E10A882309F097 |
:1068600068C062E046E85AE020E00E941F2480E011 |
:1068700063E044E85AE020E00E941F2481E0809316 |
:10688000E10A8091E30A6091E20A0E94B23380E457 |
:106890000E94CC4F882309F05DC08091E10A8823D3 |
:1068A00099F680E20E94CC4F882309F4B5C040914C |
:1068B000E20A4E3F08F4BBC08091E10A882321F62A |
:1068C00080E10E94CC4F882309F470C08091E20AD5 |
:1068D000882309F076C08091E10A813009F0B7CFB2 |
:1068E00080E20E94CC4F882309F4C5C04091E30A9E |
:1068F000403108F4CBC08091E10A813009F0A7CF84 |
:1069000080E10E94CC4F882309F4CCC04091E30A77 |
:10691000442309F49CCF41504093E30A442309F0F7 |
:10692000C8C089E062E048E85AE020E00E94E02325 |
:106930008ECF80E062E042E85AE020E00E941F240F |
:1069400080E063E040E85AE020E00E941F241092BB |
:10695000E10A97CFA0E0BCE080E1ED0119928A95B1 |
:10696000E9F7EDB7FEB737970FB6F894FEBF0FBE45 |
:10697000EDBF319684E7CDB7DEB7898381E08183AF |
:106980008283B483A38380E190E0968385830E9411 |
:10699000B452EDB7FEB737960FB6F894FEBF0FBEF0 |
:1069A000EDBFDF91CF911F910F91089580E10E947B |
:1069B000D64F882309F48FCF8091E20A882309F407 |
:1069C0008ACF819FC00111246FEF70E00E940558AB |
:1069D000462F88E068E226E000E00E94942540917E |
:1069E000E20A41504093E20A89E063E050E023E08C |
:1069F00030E00E94BC2A8091E20A819FC0011124EC |
:106A00006FEF70E00E940558462F88E068E226E0AC |
:106A100001E00E9494255FCF80E20E94D64F882338 |
:106A200009F44ACF4091E20A4E3F08F045CF4F5F4C |
:106A30004093E20A89E063E050E023E030E000E0C8 |
:106A40000E94BC2A8091E20A819FC00111246FEF4D |
:106A500070E00E940558462F88E068E226E001E0D9 |
:106A60000E94942529CF80911D01813009F0EACE42 |
:106A70000E948C54E7CE80E20E94D64F882309F40E |
:106A80003ACF4091E30A403108F035CF4F5F409351 |
:106A9000E30A89E062E050E023E030E000E00E9499 |
:106AA000BC2A29CF80E10E94D64F882309F4CFCE9B |
:106AB0002DCF89E062E050E023E030E000E00E946A |
:106AC000BC2A8091E30A882309F0C1CE2ACF9FB760 |
:106AD000F8943998389A88B1836088B9E9EBF0E086 |
:106AE00080818C7F80838AE28093B8001092E00AD4 |
:106AF0009FBF08958093E00A85EA8093BC000895C3 |
:106B00008093E00A84E98093BC0008958093BB00E1 |
:106B100085E88093BC00089585EC8093BC000895BF |
:106B200085E88093BC0008951F920F920FB60F92D4 |
:106B300011248F939F938091E00A8F5F8093E00AE6 |
:106B40008150823009F44BC08330B0F0843009F4B6 |
:106B500068C08430A0F580911F01880F8D5A809302 |
:106B6000BB0085E88093BC008091B900803449F473 |
:106B700085EC8093BC000AC0882379F0813009F449 |
:106B800042C01092E00A84E98093BC009F918F91EB |
:106B90000F900FBE0F901F90189580911F0190E0ED |
:106BA0008996880F991F8093BB0085E88093BC006D |
:106BB0009F918F910F900FBE0F901F901895853069 |
:106BC00001F78091BB001092E00A84E98093BC0039 |
:106BD0009F918F910F900FBE0F901F9018958091ED |
:106BE000B9001092E00A84E98093BC0083E08093AE |
:106BF000E00A85EA8093BC009F918F910F900FBEB1 |
:106C00000F901F9018958091E30A8093BB0085E850 |
:106C10008093BC009F918F910F900FBE0F901F909B |
:106C200018958091BB0085E88093BC009F918F915F |
:106C30000F900FBE0F901F9018950F931F930E94F7 |
:106C40002A221092E30A80EE9AE060E00E94E92393 |
:106C500080E067E04AEC5AE020E00E94E02384EC08 |
:106C60009AE060E00E94E9231CE61BC08091E30AE1 |
:106C70008E3F18F48F5F8093E30A80E10E94CC4F2F |
:106C80008823F1F08091E30A882319F580E80E94B7 |
:106C9000CC4F8823B1F580E40E94CC4F882309F0C3 |
:106CA00048C080E20E94CC4F882301F780E20E9416 |
:106CB000D64F8823D9F680E10E94CC4F882311F764 |
:106CC00080E10E94D64F882309F38091E30A88234C |
:106CD000E9F2819FC00111246FEF70E00E94055816 |
:106CE000462F83E166E12AE000E00E94942580912E |
:106CF000E30A81508093E30A80E80E94CC4F882306 |
:106D000051F28091E30A819FC00111246FEF70E07E |
:106D10000E940558462F83E166E12AE000E00E94C8 |
:106D200094251092E30A80E40E94CC4F882309F452 |
:106D3000B8CF1F910F9108959C0148978C9700F14F |
:106D4000C901845490408D97E8F0C9018157904063 |
:106D50008D97E0F0C9018E5990408D97A8F0C90138 |
:106D60008B5C90408D97A0F0C901885F90408D9713 |
:106D700098F0255231402D32310560F087E00895BA |
:106D800080E0089581E0089583E0089582E0089509 |
:106D900084E0089586E0089585E008950895CF92EF |
:106DA000DF92EF92FF920F931F93CF93DF930E9496 |
:106DB0002A22C4EEDAE010E0C880D980EA80FB80A5 |
:106DC0001F5FC701B60120E836E948E950E00E949C |
:106DD000185880E0612FA90123E030E000E00E9414 |
:106DE000BC2A83E0612F4BE25CE020E00E941F247C |
:106DF000C701B60128EE33E040E050E00E94185889 |
:106E0000CA01B90120E137E240E050E00E94185881 |
:106E10009B01AC0184E0612FA90124E030E001E096 |
:106E20000E94BC2AC701B6012AE030E040E050E0F1 |
:106E30000E941858CA01B90124E630E040E050E051 |
:106E40000E9418589B01AC0188E0612FA90122E043 |
:106E500030E00E94BC2ACC80DD80EE80FF80C7013C |
:106E6000B60120E836E948E950E00E9418588AE067 |
:106E7000612FA90123E030E000E00E94BC2A8DE0F0 |
:106E8000612F49E25CE020E00E941F24C701B601A7 |
:106E900028EE33E040E050E00E941858CA01B901E2 |
:106EA00020E137E240E050E00E9418589B01AC011D |
:106EB0008EE0612FA90124E030E001E00E94BC2AAD |
:106EC000C701B6012AE030E040E050E00E941858C7 |
:106ED000CA01B90124E630E040E050E00E941858B1 |
:106EE0009B01AC0182E1612FA90122E030E00E9408 |
:106EF000BC2A2D96173009F05FCFC8ECD0E00EC049 |
:106F000080E40E94CC4F882371F480E80E94CC4F2B |
:106F1000882349F4D093480BC093470B80E10E942B |
:106F2000CC4F882369F380EF0E94CC4F0E942A2225 |
:106F3000DF91CF911F910F91FF90EF90DF90CF9055 |
:106F40000895EF92FF920F931F93CF93DF93282F13 |
:106F5000062FCA0166E170E00E94F1576D5E70E095 |
:106F6000EB01C55AD44F85E0E82EF12CE60EF71E52 |
:106F70008FE59BE0E80EF91E122F1F5FFE01449182 |
:106F8000822F602F20E00E9407232196212FCE150B |
:106F9000DF0591F7DF91CF911F910F91FF90EF9057 |
:106FA00008950F93CF93DF930E942A2280E060E040 |
:106FB0004FEE5AE020E00E94E02380912001909162 |
:106FC00021016EE170E00E940558AB018DE060E0A8 |
:106FD00024E030E000E00E943B2A81E160E04DE6E1 |
:106FE00020E00E94072380E061E04DEF5AE020E0BE |
:106FF0000E94E023209122013091230140E050E0E3 |
:10700000CA01B901660F771F881F991F660F771F86 |
:10701000881F991F660F771F881F991F620F731FA4 |
:10702000841F951F2AEF30E040E050E00E9418587E |
:107030008EE061E0A90123E030E00E94BC2A81E1FA |
:1070400061E041E35CE020E00E94E02380E062E058 |
:107050004BE05BE020E00E94E023809124019091CE |
:1070600025016AE070E00E940558AB018EE062E005 |
:1070700023E030E00E94BC2A81E162E04DE620E09E |
:107080000E94072380E063E047E25BE020E00E948B |
:10709000E02340912601509127018DE063E00E949A |
:1070A000BE2B80E064E049E15BE020E00E94E02349 |
:1070B000409100018DE064E050E023E030E00E9468 |
:1070C0007D2981E164E046E520E00E94072380E01D |
:1070D00065E045E35BE020E00E94E0234091280169 |
:1070E000509129018DE065E023E030E00E947D2988 |
:1070F00081E165E041E420E00E94072380E066E052 |
:1071000043E45BE020E00E94E02340912A0150919B |
:107110002B018DE066E024E030E00E94BC2A81E192 |
:1071200066E04DE25CE020E00E94E023C8ECD0E0A5 |
:1071300004C0D093480BC093470B80E40E94CC4F0F |
:107140008823B9F380912E018B7F80932E0180EFED |
:107150000E94CC4F0E942A22DF91CF910F91089577 |
:10716000BF92CF92DF92EF92FF920F931F93CF9334 |
:10717000DF93C82ED62EE42EF22EE80130E0C901AE |
:10718000019797FD67C0959587951D2D181B8C2D30 |
:10719000612F4E2D2F2D01E00E94D925BC2CB394D8 |
:1071A0001F5F4E2D42508EEFF80E8B2D612F2F2D2D |
:1071B00000E00E949425EC0C8C2D6D2D4E2D2D2D74 |
:1071C00001E00E94CE241C161D06BCF4CE0165E031 |
:1071D00070E00E9405586130710589F162307105D7 |
:1071E000D1F0672BC9F5DA948C2D8D5F6D2D43E0BE |
:1071F00021E001E00E94942518C0CE016BEF7FEFE3 |
:107200000E94055861307105E1F06230710529F086 |
:10721000672B21F5E9CF8CEFD80E8C2D8E5F6D2D6D |
:1072200045E024E001E00E949425DF91CF911F9179 |
:107230000F91FF90EF90DF90CF90BF9008958DEF6A |
:10724000D80E8C2D8E5F6D2D45E023E001E00E946D |
:107250009425EBCFC90197CF8BEFD80E8B2D6D2DD9 |
:1072600047E025E001E00E949425DFCF2F923F9276 |
:107270004F925F926F927F928F929F92AF92BF9246 |
:10728000CF92DF92EF92FF920F931F93DF93CF93F2 |
:10729000CDB7DEB72E970FB6F894DEBF0FBECDBFC9 |
:1072A000682E109221011092200110922301109259 |
:1072B000220110922501109224018FEF809300018A |
:1072C000109227011092260180912F01882309F442 |
:1072D0001FC5813009F423C580911C01823009F457 |
:1072E00003C50E9471528FE480931B0119822DB750 |
:1072F0003EB7275030400FB6F8943EBF0FBE2DBFAB |
:10730000EDB7FEB7319684E6ADB7BEB711968C9354 |
:107310001182FF24F394F2824E010894811C911C87 |
:107320009482838201E010E0168305830E94B452A8 |
:107330008AE08983EDB7FEB731968FE6ADB7BEB769 |
:1073400011968C9382E08183F282948283821683E9 |
:1073500005830E94B45288EC90E09093480B809390 |
:10736000470B8CE291E090934A0B8093490B10E01D |
:10737000AA24BB247724CC24EDB7FEB737960FB6EA |
:10738000F894FEBF0FBEEDBFA8EC4A2E512CF2E0E0 |
:107390002F2E312C2C0E3D1E0DC080E40E94CC4FB0 |
:1073A000882309F0DCC28091470B9091480B892B10 |
:1073B00009F4D5C280913D01882379F35092480B9E |
:1073C0004092470B0E94E15180913F019091400112 |
:1073D0009093400B80933F0B80912F01813009F4F3 |
:1073E000CBC410922F0120913F0B3091400BD9015B |
:1073F00015964D915D916D917C9118971196ED9038 |
:10740000FD900D911C9114978091E80A9091E90AE2 |
:10741000A091EA0AB091EB0A481759076A077B075F |
:1074200009F454C08091E40A9091E50AA091E60A1B |
:10743000B091E70AE816F9060A071B0709F446C0E7 |
:10744000E2E3FBE0DF011D978DE00D90019281509A |
:10745000E1F7E5E2FBE0DF011D978DE00D90019281 |
:107460008150E1F7E8E1FBE0DF011D978DE00D9031 |
:1074700001928150E1F7EBE0FBE0DF011D978DE029 |
:107480000D9001928150E1F7EEEFFAE0DF011D97D8 |
:107490008DE00D9001928150E1F7E1EFFAE0DF011C |
:1074A0001D978DE00D9001928150E1F74E835F832F |
:1074B00068877987EA82FB820C831D83A4EEBAE099 |
:1074C000F1018DE001900D928150E1F7B1E06B1672 |
:1074D00009F05CC32D5B3F4FF901808180FF4FC4F1 |
:1074E00080912E01846080932E0186E190E063E21A |
:1074F00070E040E150E021E00E94BD2DE0913F0BA3 |
:10750000F091400B22AD33AD40E050E0CA01B9012B |
:10751000660F771F881F991F660F771F881F991F97 |
:10752000660F771F881F991F620F731F841F951F97 |
:107530002AEF30E040E050E00E94185881E060E01F |
:10754000A90123E030E000E00E94BC2A84E060E072 |
:1075500046E05CE020E00E94E023E0913F0BF091E8 |
:10756000400B46AD57AD8EE060E023E030E00E9476 |
:10757000BC2A81E160E04EE120E00E940723E09117 |
:107580003F0BF091400B86AD97AD0E949C36E82FE3 |
:10759000F0E0EE0FFF1FE955F44F4591549182E161 |
:1075A00060E020E00E94E023E0913F0BF091400B6F |
:1075B00046AD57AD8CE061E00E94A137E0913F0BF2 |
:1075C000F091400B23A934A9C901845D9E4F8955D0 |
:1075D000924008F4ACC3C9016EE170E00E94055806 |
:1075E000AB0180E061E024E030E00E943B2A84E0CF |
:1075F00061E04DE620E00E940723E0913F0BF0910F |
:10760000400B05A916A987E367E049E02DE00E9439 |
:10761000B038E0913F0BF091400B86A597A58859B3 |
:107620009E4F26AD37AD821B930B68E671E00E943A |
:107630000558182FF92E86E163E24FE0950100E02E |
:107640000E94422E86E163E24FE0212F3F2D01E0B0 |
:107650000E94422E87E063E0412F5F2D23E030E05F |
:1076600000E00E94BC2A8AE063E04EE120E00E9434 |
:107670000723E0913F0BF091400B84A595A56AE0AC |
:1076800070E00E94F157AB0187E062E023E030E058 |
:107690000E94BC2A8AE062E04DE620E00E940723B7 |
:1076A0008AE064E041E05CE020E00E941F24E09179 |
:1076B0003F0BF091400B42A988E064E050E022E0EB |
:1076C00030E00E94BC2AE0913F0BF091400BEC5B54 |
:1076D000FF4F808186FF41C383E164E04DE420E0F9 |
:1076E0000E940723E0913F0BF091400BEC5BFF4FB2 |
:1076F000808182FD54C381FF37C38AE065E049EE93 |
:107700005BE020E00E94E023E0913F0BF091400B12 |
:1077100047A950AD87E066E00E94BE2BE0913F0B89 |
:10772000F091400BEE5BFF4F40818FE066E050E050 |
:1077300023E030E000E00E94BC2A82E166E04FE1F5 |
:1077400020E00E940723E0913F0BF091400BEC5B9F |
:10775000FF4F808184FFF9C283E166E04AED5BE080 |
:1077600020E00E94E023E0913F0BF091400B41ADFF |
:1077700080E067E050E023E030E000E00E947D29F7 |
:1077800084E067E046E520E00E940723E0913F0B9C |
:10779000F091400B21AD8091D105281708F447984E |
:1077A00090E0019630E0821793070CF0479AE25B75 |
:1077B000FF4F4081518187E067E023E030E000E047 |
:1077C0000E947D298BE067E041E420E00E940723CE |
:1077D000E0913F0BF091400BE05BFF4F4081518106 |
:1077E0008EE067E024E030E00E94BC2A82E167E09E |
:1077F00043ED5BE020E00E94E023E0913F0BF0913D |
:10780000400BED5BFF4F8081E354F04080FF5DC093 |
:1078100023A934A980912001909121018217930717 |
:1078200024F4309321012093200122AD33AD8091C7 |
:107830002201909123018217930720F430932301B2 |
:107840002093220124A535A5809124019091250142 |
:107850008217930720F4309325012093240191ADE2 |
:1078600080910001981710F49093000127A930AD82 |
:1078700080912601909127018217930720F430937D |
:10788000270120932601E25BFF4F20813181EE54D6 |
:10789000F04080912801909129018217930720F4EC |
:1078A0003093290120932801E05BFF4F2081318133 |
:1078B000E055F04080912A0190912B0182179307A7 |
:1078C00020F430932B0120932A01EE5BFF4F80813F |
:1078D000E254F0408093020181AD80930101109247 |
:1078E0003D01212F3F2DC9015C018091490B9091F1 |
:1078F0004A0B892B09F0F6C18AE089838DB79EB7C0 |
:1079000007970FB6F8949EBF0FBE8DBFEDB7FEB7B9 |
:1079100031968FE6ADB7BEB711968C9382E0818326 |
:1079200081E082839482838281E090E096838583E4 |
:107930000E94B4528CE291E090934A0B8093490BE1 |
:1079400011E0EDB7FEB737960FB6F894FEBF0FBE45 |
:10795000EDBF80E40E94CC4F882309F424CD198226 |
:107960002DB73EB7275030400FB6F8943EBF0FBE3C |
:107970002DBFEDB7FEB731968FE6ADB7BEB7119606 |
:107980008C9382E0818381E082839482838281E090 |
:1079900090E0968385830E94B45210921B0110924E |
:1079A0003D018091470B9091480BEDB7FEB737969C |
:1079B0000FB6F894FEBF0FBEEDBF892B09F0CDC006 |
:1079C000112309F0F7C181E080932F01B4EEAB2EB3 |
:1079D000BAE0BB2E10E0D501CD90DD90ED90FC908B |
:1079E0001F5FC701B60120E836E948E950E00E9470 |
:1079F000185880E0612FA90123E030E000E00E94E8 |
:107A0000BC2A83E0612F48EC5BE020E00E941F2449 |
:107A1000C701B60128EE33E040E050E00E9418585C |
:107A2000CA01B90120E137E240E050E00E94185855 |
:107A30009B01AC0184E0612FA90124E030E001E06A |
:107A40000E94BC2AC701B6012AE030E040E050E0C5 |
:107A50000E941858CA01B90124E630E040E050E025 |
:107A60000E9418589B01AC0188E0612FA90122E017 |
:107A700030E00E94BC2AF501C480D580E680F78002 |
:107A8000C701B60120E836E948E950E00E941858DD |
:107A90008AE0612FA90123E030E000E00E94BC2AC7 |
:107AA0008DE0612F46EC5BE020E00E941F24C701BF |
:107AB000B60128EE33E040E050E00E941858CA01B9 |
:107AC000B90120E137E240E050E00E9418589B01E4 |
:107AD000AC018EE0612FA90124E030E001E00E94BA |
:107AE000BC2AC701B6012AE030E040E050E00E9425 |
:107AF0001858CA01B90124E630E040E050E00E9485 |
:107B000018589B01AC0182E1612FA90122E030E00D |
:107B10000E94BC2A2DE030E0A20EB31E173009F0FF |
:107B20005ACF80E060E047EB5BE020E00E941F243A |
:107B300084E690E09093480B8093470B8091470B2D |
:107B40009091480B892BD1F780E20E94CC4F88237B |
:107B500009F02DC1862D0E9436392E960FB6F89465 |
:107B6000DEBF0FBECDBFCF91DF911F910F91FF9070 |
:107B7000EF90DF90CF90BF90AF909F908F907F90CD |
:107B80006F905F904F903F902F90089580E060E05D |
:107B900040ED5BE020E00E94E02380E061E04DECFE |
:107BA0005BE020E00E94E023E0913F0BF091400B6E |
:107BB000E05CFF4F4081552747FD509582E060E033 |
:107BC00023E030E000E00E943B2AE0913F0BF0917F |
:107BD000400BEF5BFF4F4081552747FD509582E0FA |
:107BE00061E023E030E00E943B2A80E060E240E870 |
:107BF00020E201E00E94CE2480E460E040E420E442 |
:107C00000E94CE24E0913F0BF091400BE05CFF4FCF |
:107C1000F080E054F040F7FCC0C0F59420E2F20E92 |
:107C2000EF5BFF4F10E48081E154F040181B86A504 |
:107C300097A588599E4F26AD37AD821B930B68E6FA |
:107C400071E00E940558E82ED92E82E062E04E2DA8 |
:107C5000592F25E030E000E00E943B2A80E062E0FE |
:107C60004AEC5BE020E00E94E0238C2D90E0672D41 |
:107C700070E04AE050E020E00E94BD2D8C2D672D81 |
:107C800049E095010E94422E812F90E06F2D70E017 |
:107C90004AE050E021E00E94BD2D812F6F2D49E088 |
:107CA0002E2D3D2D01E00E94422EE0913F0BF091E0 |
:107CB000400BEE5BFF4F8081E254F0408093020165 |
:107CC00081AD8093010110923D012E2D3D2DC90102 |
:107CD0005C017F2CC12E8091490B90914A0B892B1E |
:107CE00009F40ACE11E059CB80E063E04BE05CE0A0 |
:107CF00020E00E941F2484E690E09093480B80933C |
:107D0000470B8091470B9091480B892BD1F725CFDA |
:107D10000E942A2280912F01813009F0DDCA80E083 |
:107D200060E04AE15CE020E00E941F24D5CAC9015E |
:107D300063E070E00E940558AB0180E061E023E061 |
:107D400030E000E00E94BF2852CC83E166E047EDBE |
:107D50005BE020E00E94E02306CD83E164E048E59B |
:107D600020E00E940723BECC8AE065E04DED5BE099 |
:107D700020E00E94E023C8CC0E942A2232CB80E877 |
:107D80000E94CC4F8823C9F480E20E94CC4F882304 |
:107D900009F4ABCB0E94CF36A8CBF3943ECF8AE058 |
:107DA00065E045EF5BE020E00E94E023ADCC0E945F |
:107DB000CF36D0CE0E942A2206CE0E94D137E4CF01 |
:107DC0006F927F928F929F92AF92BF92CF92DF92EB |
:107DD000EF92FF920F931F93DF93CF930F92CDB744 |
:107DE000DEB7898383E580931B0110923D0180916A |
:107DF0003D01882309F073C012E34E010894811CF1 |
:107E0000911C33E7632E7724739402E021E0A22EC5 |
:107E1000B12C94E7C92ED12C84E1E82EF12C8DB73A |
:107E20009EB70B970FB6F8949EBF0FBE8DBFEDB7F0 |
:107E3000FEB73196ADB7BEB711966C9271820283D0 |
:107E400094828382B682A5828091DE0A9091DF0AB5 |
:107E500090878783D286C1860E94B452F092480BE5 |
:107E6000E092470B8DB79EB70B960FB6F8949EBF66 |
:107E70000FBE8DBF8091470B9091480B892BD1F796 |
:107E8000115080913D01882341F5112341F680E096 |
:107E900062E046EF57E220E00E941F2484E690E073 |
:107EA0009093480B8093470B8091470B9091480B20 |
:107EB000892BD1F78FEF898389810F90CF91DF9143 |
:107EC0001F910F91FF90EF90DF90CF90BF90AF90F8 |
:107ED0009F908F907F906F9008951123C1F20E9420 |
:107EE000E151E0913F01F091400180818983E4CF2D |
:107EF0009F92AF92BF92CF92DF92EF92FF920F9339 |
:107F00001F93DF93CF930F92CDB7DEB7898381E5BF |
:107F100080931B0110923D0180913D01882309F05F |
:107F200063C012E35E010894A11CB11C61E7962EA8 |
:107F300001E051E0C52ED12C44E1E42EF12C8DB7A7 |
:107F40009EB707970FB6F8949EBF0FBE8DBFEDB7D3 |
:107F5000FEB73196ADB7BEB711969C9201830283EE |
:107F6000B482A382D682C5820E94B452F092480B9A |
:107F7000E092470B8DB79EB707960FB6F8949EBF59 |
:107F80000FBE8DBF8091470B9091480B892BD1F785 |
:107F9000115080913D01882329F5112381F680E05D |
:107FA00062E045E058E220E00E941F2484E690E071 |
:107FB0009093480B8093470B8091470B9091480B0F |
:107FC000892BD1F78FEF898389810F90CF91DF9132 |
:107FD0001F910F91FF90EF90DF90CF90BF90AF90E7 |
:107FE0009F9008951123D9F20E94E151E0913F0141 |
:107FF000F091400181918983F093DF0AE093DE0ADA |
:10800000E3CF0F931F930E942A2280E060E046E3B3 |
:1080100058E220E00E941F2480E067E041E258E23D |
:1080200020E00E94E02311E0812F0E94783F482F3A |
:108030008F3F59F183E0612F50E021E030E000E014 |
:108040000E94BC2A4091DE0A5091DF0A49595F4FD5 |
:1080500085E0612F20E00E9459241F5F163021F730 |
:1080600083E066E044E158E220E00E941F248FEFA5 |
:108070000E94783F282F8F3F41F081E066E041E089 |
:108080000E943E311F910F9108958FEF1F910F9124 |
:1080900008950F931F93CF93DF9300E0CDE2D0E0DC |
:1080A0001FE00E942A2280E060E04DE558E220E0D7 |
:1080B0000E941F2480E067E048E458E220E00E942C |
:1080C000E0231092410B80913001882309F06DC0AC |
:1080D0001092410B60E009C06091410B653061F185 |
:1080E0006F5F6093410B6630D0F5E62FF0E0809132 |
:1080F00030019F01280F311D2D3031056CF7209183 |
:1081000030018091D0056F5FE20FF11DEC9FA0015F |
:10811000ED9F500DFC9F500D1124819FC001112433 |
:10812000480F591F4A5C534F83E020E00E941F24F0 |
:108130006091410B6530A1F68091300190E0079786 |
:108140007CF681E066E044E458E220E00E941F24CF |
:108150006091410B6F5F6093410B663030F280910C |
:108160003101882371F480913001882309F040C0E7 |
:108170004091030181E065E020E001E00E94F930D8 |
:10818000082F80913101813021F10E3FB1F00D3F78 |
:1081900009F042C0809130018150809330011092EB |
:1081A000310182E0809303017CCF81E061E046E40D |
:1081B00058E220E00E941F248BCF809130018F5F16 |
:1081C0008093300181E08093310185E08093030149 |
:1081D00068CF8091300190E00797A4F040910301AF |
:1081E00082E066E021E000E00E94F930082FCDCF68 |
:1081F0004091030182E065E021E001E00E94F93056 |
:10820000082FBFCF4091030182E065E021E001E04B |
:108210000E94F930082FB9CF0F3F29F000930301D6 |
:1082200080913001080F802FDF91CF911F910F9126 |
:1082300008954F925F927F928F929F92AF92BF92DA |
:10824000CF92DF92EF92FF920F931F93DF93CF9322 |
:10825000CDB7DEB764970FB6F894DEBF0FBECDBFC3 |
:10826000682F70E0615070402EE134E2992440E0C4 |
:10827000DE01119605C04F5F285F3F4F4B3781F0FD |
:10828000F901849190E086179707A9F7FD01E90DA0 |
:10829000F11D408393944F5F285F3F4F4B3781F729 |
:1082A0004093410B10E0E92CFF246E010894C11C9F |
:1082B000D11C2DE2822E9FE0792E412C81E0582E98 |
:1082C00057010894A108B1080E942A2280E060E0CA |
:1082D0004FEA58E220E00E941F2480E067E04AE96C |
:1082E00058E220E00E94E0231092410B809132017D |
:1082F000882309F0DBC11092410B60E00BC0609154 |
:10830000410B653009F47DC06F5F6093410B6630AF |
:1083100008F08EC0E62FF0E0809132019F01280F17 |
:10832000311D2E153F055CF7209132018091D0055B |
:108330006F5FEC0DFD1DE20FF11D4081489DA00116 |
:108340001124879DC0011124480F591F4158514FD6 |
:1083500083E020E00E941F246091410B262F30E033 |
:1083600080913201D601A20FB31FFD01E80FF11D6C |
:10837000E081F0E0EE0FFF1FEE0FFF1FEE0FFF1F7B |
:10838000E15EFB4D8491882309F4ACC0813009F48F |
:108390007BC0823009F0C9C080913201FD01E80F35 |
:1083A000F11DE081F0E0EE0FFF1FEE0FFF1FEE0F5B |
:1083B000FF1FEE5DFB4D949180913201A80FB11D1E |
:1083C000EC91F0E0EE0FFF1FEE0FFF1FEE0FFF1F0F |
:1083D000EF5DFB4DE491A091DE0AB091DF0AA90F99 |
:1083E000B11D8C91E82309F457C16F5F82E141E927 |
:1083F00058E220E00E941F246091410B653009F093 |
:1084000083CF8091320190E005968A159B050CF090 |
:108410007BCF81E066E04DE658E220E00E941F2419 |
:108420006091410B6F5F6093410B663008F472CF2F |
:1084300080913301882391F480913201882309F0DF |
:1084400086C1F6E0F91508F078C14091040181E099 |
:1084500065E020E001E00E94F930182F809133019F |
:10846000813009F437C11E3F09F428C11D3F09F0CE |
:10847000B4C1809132018150809332011092330156 |
:1084800082E08093040120CF80913201A80FB11DBA |
:10849000EC91F0E0EE0FFF1FEE0FFF1FEE0FFF1F3E |
:1084A000EE5DFB4DE491A091DE0AB091DF0AAE0FC4 |
:1084B000B11D0C91083FA8F16F5F82E145E958E2D8 |
:1084C00020E00E941F246091410B6F5FA201401BBE |
:1084D000510984E121E030E000E00E94BC2A609173 |
:1084E000410B0FCF80913201A80FB11DEC91F0E04C |
:1084F000EE0FFF1FEE0FFF1FEE0FFF1FEE5DFB4D98 |
:10850000E4916F5FA091DE0AB091DF0AAE0FB11D5A |
:108510004C9182E150E023E030E000E00E94BC2A70 |
:10852000EECE6F5F82E1402FF5CF833059F5809119 |
:108530003201F601E80FF11DE20FF31FE081F0E0D8 |
:10854000EE0FFF1FEE0FFF1FEE0FFF1FEE5DFB4D47 |
:10855000E491A091DE0AB091DF0AAE0FB11D0C913B |
:108560000D30F8F2093108F4D1C0093109F0C9CE53 |
:108570006F5F82E147E858E220E00E94E0236091CB |
:10858000410BBFCE843009F446C0853009F45EC08B |
:10859000863009F0B6CE2091DE0A3091DF0A809154 |
:1085A0003201FD01E80FF11DE081F0E0EE0FFF1F49 |
:1085B000EE0FFF1FEE0FFF1FEE5DFB4DE491C901B3 |
:1085C0008E0F911DFC01E081EE2309F495C0E1308E |
:1085D00009F4D1C0E23009F4E2C0E33009F4E9C0A3 |
:1085E000E43009F4F0C0E53009F4CFC080913201E5 |
:1085F000A80FB11DEC91F0E0EE0FFF1FEE0FFF1F73 |
:10860000EE0FFF1FEE5DFB4DE4916F5F2E0F311DEE |
:10861000F90140817ECF80913201F601E80FF11D12 |
:10862000E20FF31FE081F0E0EE0FFF1FEE0FFF1FE0 |
:10863000EE0FFF1FEE5DFB4DE4916F5FA091DE0A30 |
:10864000B091DF0AAE0FB11D4C9163CF8091320122 |
:10865000F601E80FF11DE20FF31FE081F0E0EE0FED |
:10866000FF1FEE0FFF1FEE0FFF1FEE5DFB4DE491AE |
:108670006F5FA091DE0AB091DF0AAE0FB11D4C9181 |
:10868000479DA001112482E123E030E000E00E9438 |
:10869000BC2A6091410B35CE6F5F82E14DE858E214 |
:1086A00020E00E941F246091410B2BCE81E061E00D |
:1086B00048E958E220E00E941F241DCE809132013B |
:1086C0008F5F8093320181E08093330185E0809356 |
:1086D0000401FACD8091320190E006968E159F0537 |
:1086E0000CF43FC04091040182E066E021E000E02C |
:1086F0000E94F930182FB7CE6F5F82E143E858E24D |
:1087000020E00E941F246091410BFBCD6F5F82E14E |
:108710004BE858E220E00E94E0236091410B6F5F3C |
:10872000402F50E04C50504083E122E030E000E028 |
:108730000E94BC2A6091410BE4CD4091040181E08C |
:10874000692D20E000E00E94F930182F87CE40917B |
:10875000040182E065E021E001E00E94F930182F79 |
:108760007DCE4091040182E065E021E001E00E94BD |
:10877000F930182F78CE6F5F82E14FE758E220E0A2 |
:108780000E941F246091410BBCCD6F5F82E14FE6D8 |
:1087900058E220E00E941F246091410BB2CD6F5F30 |
:1087A00082E14BE758E220E00E941F246091410BD8 |
:1087B000A8CD6F5F82E147E758E220E00E941F24C6 |
:1087C0006091410B9ECD6F5F82E143E758E220E06C |
:1087D0000E941F246091410B94CD1F3F59F01093CC |
:1087E0000401E0913201F0E03197E10FF11DEC0F4F |
:1087F000FD1F1181812F64960FB6F894DEBF0FBE66 |
:10880000CDBFCF91DF911F910F91FF90EF90DF903F |
:10881000CF90BF90AF909F908F907F905F904F9040 |
:108820000895FF920F931F930E942A2280E060E038 |
:1088300040E95AE220E00E941F2483E062E042E81F |
:108840005AE220E00E941F2483E063E044E75AE2FA |
:1088500020E00E941F2480E067E04FE55AE220E01C |
:108860000E94E02313E035E0F32E81E162E0412F26 |
:1088700050E021E030E000E00E94BC2A81E163E0AA |
:108880004F2D50E021E030E00E94BC2A80E10E94A0 |
:10889000CC4F882319F01F5F163081F180E20E94CF |
:1088A000CC4F882321F0F39486E0F81649F180E854 |
:1088B0000E94CC4F8823C1F080E065E04AE45AE290 |
:1088C00020E00E941F2480E80E94CC4F8823D9F426 |
:1088D00080E40E94E04F8823B1F380E065E045EF3B |
:1088E00059E220E00E941F2480E40E94E04F882388 |
:1088F00009F4BBCF1F910F91FF90089511E0CECFE7 |
:10890000FF24F394D4CF812F0E94783F1817B9F039 |
:1089100080E065E04AE05AE220E00E941F2484E6FD |
:1089200090E09093480B8093470B8091470B909178 |
:10893000480B892BD1F71F910F91FF9008958F2D30 |
:108940000E94E03EF81641F080E065E04FE15AE217 |
:1089500020E00E941F24E3CF80E065E044E35AE278 |
:1089600020E00E941F24DBCF2F923F924F925F9214 |
:108970007F928F929F92AF92BF92CF92DF92EF92AF |
:10898000FF920F931F93CF93DF93182F0E942A22F9 |
:10899000012F10E0E801CC0FDD1FCC0FDD1FCC0F45 |
:1089A000DD1FFE01E15EFB4DF49080E060E047EEEC |
:1089B00059E220E00E941F2426E0F21609F4D9C0F3 |
:1089C0002091D0058DE290E0089FA001099F500DF5 |
:1089D000189F500D11248FE0289F90011124420F01 |
:1089E000531F4158514F80E062E020E00E941F2455 |
:1089F00032E0F31609F44EC1FF2009F0D0C180E047 |
:108A000067E04DEA59E220E00E94E023000F111FC9 |
:108A1000000F111F000F111F92E2892E94E2992E70 |
:108A2000800E911EF4018491E091DE0AF091DF0A3C |
:108A3000E80FF11D7080005E1B4DF8011491FE01DE |
:108A4000EF5DFB4DF490CD5DDB4DFE01E49084E0E5 |
:108A500064E04BE959E220E00E94E02385E064E015 |
:108A6000412F50E023E030E000E00E94BC2A89E082 |
:108A700064E04F2D50E023E030E00E94BC2A81E109 |
:108A800064E04E2D50E023E030E00E94BC2ACF2C61 |
:108A9000DD24F72CA12EBB2422C0CC15DD050CF45F |
:108AA000F39480E10E94CC4F882309F445C08F2DB8 |
:108AB00090E0A816B9060CF44BC080E80E94CC4F99 |
:108AC000882309F0B9C480E40E94F14F882309F09B |
:108AD0006DC080E40E94E04F882309F055C080E01B |
:108AE00064E04F2D50E023E030E000E00E94BC2A1B |
:108AF000CF2DD0E0CE019695982F88279795879512 |
:108B0000B6010E940558462F80E068E226E001E0A9 |
:108B10000E94942580E20E94CC4F882309F0BDCFAB |
:108B200080E20E94D64F882309F0B7CF80E10E94EF |
:108B3000CC4F882309F0BBCF80E10E94D64F882319 |
:108B400009F4BBCF8F2D90E0A816B9060CF0B5CF75 |
:108B50009695982F882797958795B6010E94055876 |
:108B6000462F80E068E226E000E00E949425FA9417 |
:108B7000A4CFF4E0FF1609F406C3F6E0FF1609F4EB |
:108B800093C3F5E0FF1629F1DF91CF911F910F916B |
:108B9000FF90EF90DF90CF90BF90AF909F908F901D |
:108BA0007F905F904F903F902F9008958F2D90E091 |
:108BB0009695982F882797958795B6010E94055816 |
:108BC000462F80E068E226E000E00E949425FE2C1B |
:108BD00080CF80E067E041EC58E220E00E94E02393 |
:108BE0006801CC0CDD1CCC0CDD1CCC0CDD1C22E2A5 |
:108BF00034E2C20ED31EF6018491E091DE0AF091B8 |
:108C0000DF0AE80FF11DE080CD5DDB4DFE01A49091 |
:108C100086E690E063E270E040E150E021E00E94EF |
:108C2000BD2DFE2C4FE0B42EFB9CE001112486E606 |
:108C300063E24FE09E0101E00E94422E80E20E942A |
:108C4000CC4F882309F0A2C01F2D80E10E94CC4F99 |
:108C5000882321F0112309F0A0C017E180E80E94C9 |
:108C6000CC4F882309F0FBC380E40E94F14F8111AF |
:108C70001A2D80E40E94E04F882309F085CF1F154C |
:108C800039F086E663E24FE09E0100E00E94422E4A |
:108C9000F12ECACF80E067E042ED59E220E00E9469 |
:108CA000E02383E064E040ED59E220E00E941F24CD |
:108CB00083E065E04EEC59E220E00E941F246E0143 |
:108CC00082E294E2C80ED91EF6018491E091DE0A98 |
:108CD000F091DF0AE80FF11DB080FE01ED5DFB4D64 |
:108CE000F490CF5DDB4DFE011491F1E0FF1609F425 |
:108CF000F8C3FF2039F484E065E04AEC59E220E053 |
:108D00000E941F240B2DE12EE0942EC081E064E030 |
:108D100048EC59E220E00E941F2481E065E046EC27 |
:108D200059E220E00E941F2480E10E94CC4F811173 |
:108D3000012780E20E94CC4F8111012780E80E9428 |
:108D4000CC4F882309F0A7C380E40E94F14F882309 |
:108D500029F0F1E0FF1609F459C30E2180E40E94C6 |
:108D6000E04F882309F010CF802F812379F681E02E |
:108D700064E044EC59E220E00E941F2481E065E0B9 |
:108D800042EC59E220E00E941F24CECF1F2D1F5F2E |
:108D9000183109F05ACF10E058CF11505FCFF1E0F1 |
:108DA000FF1609F0ECC080E067E046E859E220E0F9 |
:108DB0000E94E023000F111F000F111F000F111F51 |
:108DC00072E2272E74E2372E200E311EF1018491BB |
:108DD000E091DE0AF091DF0AE80FF11D5080005E9D |
:108DE0001B4DF8017490FE01EF5DFB4DE490CD5DED |
:108DF000DB4DFE01B49084E064E044E759E220E0FA |
:108E00000E94E02385E064E0472D50E023E030E05D |
:108E100000E00E94BC2A89E064E04E2D50E023E08F |
:108E200030E00E94BC2AF7EFFB1508F0FBC240E0DF |
:108E300051E04B19510983E164E021E030E00E94E8 |
:108E4000BC2AFF2427EF251510F4FF24F394152DD9 |
:108E5000AA24AA94CE2CDD24872C992480E80E9491 |
:108E6000F14F882309F452C0FF2009F4B8C23FEF44 |
:108E7000A31609F4D1C24A2D1A2D80E064E050E017 |
:108E800023E030E000E00E94BC2AC12FD0E0CE01F8 |
:108E90009695982F882797958795B6010E94055833 |
:108EA000462F80E068E226E001E00E94942580E2FF |
:108EB0000E94CC4F882309F4A0C2CC15DD050CF428 |
:108EC0001F5F80E10E94CC4F882309F481C2812F6B |
:108ED00090E0881699060CF440C0FF2480E80E94B8 |
:108EE000E04F882309F0D1C280E40E94F14F88232B |
:108EF00009F01EC180E40E94E04F882309F044CEAF |
:108F000080E80E94F14F882309F0AECFFF2009F4DA |
:108F10007BC2C0E0D1E0C11BD10980E064E041E741 |
:108F200059E220E00E94E02382E064E0AE0121E00B |
:108F300030E000E00E94BC2A80E20E94CC4F8823EF |
:108F400019F0193F08F0115080E10E94CC4F88239E |
:108F500029F21F3F19F21F5FC1CF9695982F8827DE |
:108F600097958795B6010E940558462F80E068E2E4 |
:108F700026E000E00E9494251150FF24AFCF23E0AB |
:108F8000F21609F0F6CD80E067E04CE559E220E00A |
:108F90000E94E023000F111F000F111F000F111F6F |
:108FA00092E2492E94E2592E400E511EF201849114 |
:108FB000E091DE0AF091DF0AE80FF11D3080005EDB |
:108FC0001B4DF8011491FE01EF5DFB4DE490CD5D6A |
:108FD000DB4DFE01749084E064E04AE459E220E055 |
:108FE0000E94E02381E164E0472D50E023E030E07F |
:108FF00000E00E94BC2ACE2CDD2404EFA02E0FEF4F |
:10900000B02EAC0CBD1CF32C812E99243DC0CC1588 |
:10901000DD050CF4A6C0FE1409F448C0CE019695F7 |
:10902000982F882797958795B6010E940558462F57 |
:1090300080E068E226E001E00E94942580E20E9440 |
:10904000CC4F8823D9F1CC15DD050CF4F39480E1E5 |
:109050000E94CC4F8823E9F18F2D90E08816990665 |
:109060000CF442C080E80E94CC4F882309F007C26C |
:1090700080E40E94F14F882309F047C080E40E94F9 |
:10908000E04F882309F080CDCF2DD0E0CA15DB0555 |
:109090000CF0BDCF80E064E04F2D50E023E030E0E5 |
:1090A00000E00E94BC2AFE1409F0B8CF80E064E022 |
:1090B00044E459E220E00E94E023B0CF80E20E9425 |
:1090C000D64F882309F0BFCF80E10E94CC4F882380 |
:1090D00019F680E10E94D64F882321F28F2D90E06F |
:1090E000881699060CF0BECF9695982F88279795ED |
:1090F0008795B6010E940558462F80E068E226E079 |
:1091000000E00E949425FA94ADCF8F2D90E09695C3 |
:10911000982F882797958795B6010E940558462F66 |
:1091200080E068E226E000E00E949425F72CA6CFBC |
:10913000812F90E09695982F8827979587956E2D8B |
:1091400070E00E940558462F80E068E226E000E0CB |
:109150000E949425F7EFFB1508F45AC11B2DFF243C |
:10916000C9CE80E064E048E459E220E00E94E023B8 |
:10917000AE014C50504081E064E022E030E000E07D |
:109180000E94BC2A48CF80E067E04FE259E220E02D |
:109190000E94E0235801AA0CBB1CAA0CBB1CAA0C01 |
:1091A000BB1C22E234E2A20EB31EF5018491E091D1 |
:1091B000DE0AF091DF0AE80FF11D7080CD5DDB4D16 |
:1091C000FE01E490C72CFF24E8E0DE2EC7E0D0E0EB |
:1091D00071E0872E912C1092410B0C2D10E020E0B5 |
:1091E0000FC08D2D821B64E04DE259E220E00E9409 |
:1091F000E0232091410B2F5F2093410B2830C0F4D6 |
:10920000C801022E02C0959587950A94E2F780FD69 |
:10921000E8CF8D2D821B64E04BE259E220E00E94F2 |
:10922000E0232091410B2F5F2093410B283040F326 |
:109230001F2D1F5F812F65E049E259E220E00E9467 |
:10924000E02380E10E94CC4F882319F51F2D80E296 |
:109250000E94CC4F882351F0CE01811B91099401CB |
:1092600002C0220F331F8A95E2F7C22680E80E94CF |
:10927000CC4F882309F025C180E40E94F14F811171 |
:10928000CE2C80E40E94E04F882309F07DCCF12EA3 |
:10929000A2CF812F65E047E259E220E00E94E0235F |
:1092A0001830A9F610E0D3CF80E067E042E159E240 |
:1092B00020E00E94E0236801CC0CDD1CCC0CDD1CFE |
:1092C000CC0CDD1C22E234E2C20ED31EF6018491E6 |
:1092D000E091DE0AF091DF0AE80FF11DE080CD5D3C |
:1092E000DB4DFE01F49083E061E04EE059E220E0C6 |
:1092F0000E94E02383E062E045E059E220E00E9422 |
:10930000E02383E063E046EF58E220E00E94E023A0 |
:1093100083E064E047EE58E220E00E94E02383E02F |
:1093200065E042EE58E220E00E94E02383E066E040 |
:109330004AED58E220E00E94E0230E2D1092410BEE |
:1093400060E0102F1F5F0EC06F5F81E046ED58E2B6 |
:1093500020E00E94E0236091410B6F5F6093410B1E |
:10936000663080F4061781F781E0612F48ED58E2FE |
:1093700020E00E94E0236091410B6F5F6093410BFE |
:10938000663080F380E20E94CC4F882319F00F5F93 |
:109390000630E1F080E10E94CC4F882319F00023D1 |
:1093A00099F405E080E80E94CC4F882309F083C03F |
:1093B00080E40E94F14F81110F2D80E40E94E04F64 |
:1093C000882309F4BBCFE0CB0150ECCF00E0E2CF23 |
:1093D00080E10E94D64F882309F47FCD78CD80E0CC |
:1093E00068E240E826E000E00E949425A12E1FEFED |
:1093F000FF24F394C1E0D0E090CD80E20E94D64FEC |
:10940000882309F45ECD59CD412F37CD012BA6CC51 |
:109410001B2DFF24F3946ECD87EF8B15E8F4172DE9 |
:10942000472D2BCD81E164E04B2D50E023E030E06F |
:1094300000E00E94BC2A05CDF71409F4A5CBF40185 |
:109440008491E091DE0AF091DF0AE80FF11DF082CD |
:1094500081E08093340198CB4B2D1B2D0ECD1E1532 |
:1094600009F492CBF6018491E091DE0AF091DF0AD3 |
:10947000E80FF11D108381E08093340185CBF31454 |
:1094800009F482CBF2018491DCCF151509F47CCB71 |
:10949000F1018491E9CF0B1509F476CBF6018491A3 |
:1094A000E091DE0AF091DF0AE80FF11D008381E010 |
:1094B0008093340169CB0E1509F466CBF6018491D3 |
:1094C000EFCFC71409F460CBF5018491E091DE0A77 |
:1094D000F091DF0AE80FF11DC08281E08093340132 |
:1094E00053CB84E064E04CEC59E220E00E941F245E |
:1094F00009CCFF920F931F930E948C540E9401404D |
:10950000182F863021F18F3F21F10E94783F8F3F45 |
:1095100001F1109230011092310181E0809303013A |
:1095200010923401FF24F3940E944940082F8F3F8A |
:10953000A1F01092320110923301F0920401802FB9 |
:109540000E9419418F3F81F30E94B444F8CF0E94DA |
:1095500011441F910F91FF90089580913401813043 |
:10956000C1F70E942A2280E060E044ED5AE220E048 |
:109570000E941F248DE060E0412F50E021E030E0A8 |
:1095800000E00E94BC2A83E061E040ED5AE220E066 |
:109590000E941F2483E062E04DEC5AE220E00E942A |
:1095A0001F2480E067E048EB5AE220E00E94E023BD |
:1095B00081E062E042E020E00E94F930813049F62B |
:1095C000812F0E94E03E1817A1F080E064E04EE990 |
:1095D0005AE220E00E941F2484E690E09093480B1A |
:1095E0008093470B8091470B9091480B892BD1F7C3 |
:1095F000B0CF80E064E04EEA5AE220E00E941F24EF |
:1096000080E065E044EA5AE220E00E941F24E4CFB3 |
:109610000F931F93CF93DF93082FE9010E942A2213 |
:1096200080E062E0AE0120E00E94E023002309F028 |
:1096300055C08EE062E049E05CE220E00E94E02359 |
:1096400080E067E04DEE5BE220E00E94E02312E064 |
:109650000EC00023C1F080E10E94CC4F882311F19D |
:10966000043039F180E40E94CC4F882389F580E2F0 |
:109670000E94CC4F882369F780E20E94D64F88234E |
:1096800051F3002341F7109335018EE062E045EE7F |
:109690005BE220E00E94E02304E080E10E94CC4FE6 |
:1096A0008823F1F680E10E94D64F8823D9F2043056 |
:1096B000C9F6109335018EE062E04DED5BE220E0EB |
:1096C0000E94E02300E080E40E94CC4F882379F2DE |
:1096D000802FDF91CF911F910F910895043009F0F1 |
:1096E000AFCF8EE062E041E05CE220E00E94E02348 |
:1096F000A7CFEF92FF920F931F93CF93DF93082F83 |
:10970000E62EF42EE9010E942A2280E062E0AE01FA |
:1097100020E00E94E023013009F491C0013008F4F8 |
:1097200061C0023039F48EE062E045E55CE220E0A1 |
:109730000E94E02380E067E041E45CE220E00E94D8 |
:10974000E02311E02EC00F1580F4109335010F5F58 |
:10975000013009F464C0013008F04CC08EE062E0D2 |
:1097600049E35CE220E00E94E02380E10E94CC4FCC |
:10977000882331F1E01680F4109335010150013057 |
:1097800009F455C0013008F040C08EE062E041E2CB |
:109790005CE220E00E94E02380E40E94CC4F88231A |
:1097A000C9F480E20E94CC4F882369F680E20E94CF |
:1097B000D64F882341F680E10E94CC4F8823D1F612 |
:1097C00080E10E94D64F8823A9F680E40E94CC4F06 |
:1097D000882339F3802FDF91CF911F910F91FF9054 |
:1097E000EF9008958EE062E044E65CE220E00E94A3 |
:1097F000E023A0CF023009F0B8CF8EE062E049E26A |
:109800005CE220E00E94E023B0CF023029F68EE037 |
:1098100062E041E15CE220E00E94E023BDCF8EE007 |
:1098200062E041E35CE220E00E94E0239ECF8EE014 |
:1098300062E049E15CE220E00E94E023ADCF8EE0EF |
:1098400062E04DE55CE220E00E94E02373CF0F93DD |
:109850001F93CF93DF93082FE9010E942A2280E013 |
:1098600062E0AE0120E00E94E023002309F055C031 |
:109870008FE062E045E95CE220E00E94E02380E0C6 |
:1098800067E04AE75CE220E00E94E02311E00EC0BE |
:109890000023C1F080E10E94CC4F882311F10130F8 |
:1098A00039F180E40E94CC4F882389F580E20E9440 |
:1098B000CC4F882369F780E20E94D64F882351F36A |
:1098C000002341F7109335018FE062E043E75CE24B |
:1098D00020E00E94E02301E080E10E94CC4F882339 |
:1098E000F1F680E10E94D64F8823D9F20130C9F603 |
:1098F000009335018FE062E04CE65CE220E00E94DC |
:10990000E02300E080E40E94CC4F882379F2802F8E |
:10991000DF91CF911F910F910895013009F0AFCFE2 |
:109920008FE062E04EE85CE220E00E94E023A7CFF7 |
:10993000DF92EF92FF920F931F93F82ED62EE42E14 |
:1099400089010E942A2280E062E0A80120E00E94B2 |
:10995000E02380E162E04F2D50E023E030E000E0C2 |
:109960000E94BC2A80E067E04CE95CE220E00E94B3 |
:10997000E02311E00EC0FE14C0F080E10E94CC4F45 |
:10998000882321F1DF1448F180E40E94CC4F882322 |
:10999000A9F580E20E94CC4F882369F780E20E94FB |
:1099A000D64F882351F3FE1440F710933501F394FA |
:1099B00080E162E04F2D50E023E030E000E00E94C3 |
:1099C000BC2A80E10E94CC4F8823E1F680E10E940E |
:1099D000D64F8823C9F2DF14B8F610933501FA94F4 |
:1099E00080E162E04F2D50E023E030E000E00E9493 |
:1099F000BC2A80E40E94CC4F882359F28F2D1F91FE |
:109A00000F91FF90EF90DF900895DF92EF92FF9219 |
:109A10000F931F93F82ED62EE42E89010E942A223E |
:109A200080E062E0A80120E00E94E02380E162E0A3 |
:109A30004F2D50E023E030E000E00E947D2980E0DF |
:109A400067E040EB5CE220E00E94E02311E00EC002 |
:109A5000FE14C0F080E10E94CC4F882321F1DF1476 |
:109A600048F180E40E94CC4F8823A9F580E20E944F |
:109A7000CC4F882369F780E20E94D64F882351F3A8 |
:109A8000FE1440F710933501F39480E162E04F2D0E |
:109A900050E023E030E000E00E947D2980E10E9458 |
:109AA000CC4F8823E1F680E10E94D64F8823C9F28B |
:109AB000DF14B8F610933501FA9480E162E04F2D7F |
:109AC00050E023E030E000E00E947D2980E40E9425 |
:109AD000CC4F882359F28F2D1F910F91FF90EF905B |
:109AE000DF9008959F92AF92BF92CF92DF92EF9254 |
:109AF000FF920F931F93CF93DF930E942A2210921D |
:109B0000E10A1092350181E08093430B82E080935B |
:109B1000420B8091D6068093440BAA249924BB243F |
:109B2000B394CC24DD240E942A2280E060E04EEC35 |
:109B30005BE220E00E941F2480E067E048EB5BE2EC |
:109B400020E00E94E023AA2009F04FC0C601880F40 |
:109B5000991F8C0D9D1D8C01000F111F000F111FEF |
:109B6000080F191F0C51154DC0E0D0E008C0C530DA |
:109B7000B9F02196015F1F4FC630D105E1F07E019B |
:109B8000EC0CFD1C87E0E816F1048CF7CE018F5F2A |
:109B9000682F83E0A80120E00E941F24C53049F708 |
:109BA00096E0E916F1042CF781E066E044EB5BE215 |
:109BB00020E00E941F24992001F1C114D10489F1F1 |
:109BC00082E066E04B2D21E000E00E94F930182F82 |
:109BD0001E3FF9F01D3F71F5AA94992482E0B82E3A |
:109BE000CA2CDD24AA2009F4B1CF81E061E046EB64 |
:109BF0005BE220E00E941F24A9CFAA2091F481E01B |
:109C000065E04B2D20E001E00E94F930182F1E3F47 |
:109C100009F7A3949924939495E0B92ECA2CDD24D6 |
:109C200092CF82E065E04B2D21E001E00E94F93007 |
:109C3000182FCECF1F3F09F46CC0E601C10FD11D14 |
:109C4000C130D10509F45AC0C230D10509F44BC066 |
:109C5000C330D105E9F1C430D10571F1C530D1056A |
:109C6000F9F0C630D10581F0279711F0B12E5BCF06 |
:109C70008091D20560E041E02DE43BE20E94274C58 |
:109C80008093D205B12E4FCF8091CF0560E049E798 |
:109C90002CE53BE20E94984C8093CF05B12E43CF38 |
:109CA0008091D30560E049E72BE63BE20E94984CA7 |
:109CB0008093D305B12E37CF8091D00560E042E08C |
:109CC0002AE73BE20E94794B8093D005B12E2BCF3F |
:109CD0008091440B60E044E028E83BE20E94084B9E |
:109CE0008093440BC1CF8091D40560E04EEF26E90C |
:109CF0003BE20E94984C8093D405B3CF8091D1056C |
:109D000061E24AEA25EA3BE20E94054D8093D105D3 |
:109D1000A5CF80913501813071F0823089F0DF91DB |
:109D2000CF911F910F91FF90EF90DF90CF90BF9058 |
:109D3000AF909F9008950E94C51D80913501EDCF91 |
:109D40008091440B8093D6060E94C51DF8940E9412 |
:109D50006D227894E4CF1F920F920FB60F921124C8 |
:109D60002F933F935F936F937F938F939F93AF93C3 |
:109D7000BF9320B1309136012095232790913C016B |
:109D80009223909590933C0180913B0182238927F7 |
:109D900080933B0192239823392730933601232F58 |
:109DA000292380913701822B80933701992361F019 |
:109DB0008091460B882309F451C081E08093460BC3 |
:109DC0001092390110923801232F207FB9F581E3D9 |
:109DD00080933A018091470B9091480B892B49F071 |
:109DE0008091470B9091480B01979093480B80937B |
:109DF000470B8091490B90914A0B892B49F0809138 |
:109E0000490B90914A0B019790934A0B8093490B11 |
:109E10008091D405882321F08091460B813011F187 |
:109E2000BF91AF919F918F917F916F915F913F9182 |
:109E30002F910F900FBE0F901F90189580913A01AF |
:109E4000815080933A01882329F68AE080933A0171 |
:109E500080914B0B822B80934B0BBCCF4098419849 |
:109E60005F98ABCF80913801909139010196909322 |
:109E70003901809338012091D40564E670E00E9496 |
:109E8000F15730E06217730759F6409A419A5F9A8A |
:109E90001092460BC5CF8AB180638AB9E0E8F0E042 |
:109EA0008081826A8083E1E8F0E080818B61808339 |
:109EB000809106019091070190938700809386001E |
:109EC000209108013091090180910A0190910B01C4 |
:109ED000821B930B96958795820F931F9093890011 |
:109EE0008093880020910C0130910D0180910E012A |
:109EF00090910F01821B930B96958795820F931F6C |
:109F000090938B0080938A0008959C01220F331F49 |
:109F1000220F331F220F331F820F931F6AE070E05E |
:109F20000E94F1578091080190910901680F791FF3 |
:109F3000CB01885391408554914020F4709389005F |
:109F400060938800089594E1899FC001112466E020 |
:109F500070E00E94055880910C0190910D01680FEE |
:109F6000791FCB01895C90408552924020F4709318 |
:109F70008B0060938A0008951092480B1092470B53 |
:109F800082E084BD85E085BD83EC87BDEEE6F0E030 |
:109F900080818260808308952FB7F8949091370173 |
:109FA00089239827909337012FBF08952FB7F894EE |
:109FB00090914B0B8923982790934B0B2FBF0895BB |
:109FC0004FB7F8943FB7F89420913701909136013C |
:109FD0009095892382232827209337013FBF4FBFC5 |
:109FE00008952FB7F89490914B0B8923982790935D |
:109FF0004B0B2FBF2FB7F8949091370189239827E7 |
:10A00000909337012FBF0895209137013FB7F894FF |
:10A0100090914B0B82278923982790934B0B3FBF3E |
:10A020009FB7F89482232827209337019FBF089574 |
:10A030003FB7F89420914B0B909137019095892769 |
:10A040008223282720934B0B3FBF08951F920F9226 |
:10A050000FB60F9211242F933F934F935F936F93FB |
:10A060008F939F93AF93BF93CF93DF93EF93FF9320 |
:10A0700080911D018530B9F18430A9F16091C6004D |
:10A0800080913D018823E9F430914701332309F0A1 |
:10A090005DC0633209F49EC06D3009F468C0E32FDF |
:10A0A000F0E0E45BF44F60833F5F309347018091C1 |
:10A0B000480190914901860F911D90934901809329 |
:10A0C0004801FF91EF91DF91CF91BF91AF919F91A7 |
:10A0D0008F916F915F914F913F912F910F900FBE94 |
:10A0E0000F901F9018954091C60020918A013091E1 |
:10A0F0008B0180918C0190918D01281B390B37FDCC |
:10A100001FC02F333105ECF6E0918A01F0918B01ED |
:10A11000408380918A0190918B01019690938B01ED |
:10A1200080938A0180918A0190918B018A58914095 |
:10A1300041F68AE491E090938B0180938A01C1CF2C |
:10A14000205C3F4F2F333105FCF2BBCF343B08F48A |
:10A15000A3CF8091440190914501019690934501D0 |
:10A16000809344011092470110923D01AACFA32F82 |
:10A17000B0E0FD01E65BF44F9081ED01C55BD44F8B |
:10A1800088814091480150914901491B5109481B60 |
:10A1900051095F7050934901409348012081CA01E1 |
:10A1A0000024880F991F001C880F991F001C892FFD |
:10A1B000902D835C2817D1F080914201909143014A |
:10A1C0000196909343018093420110923D011092B9 |
:10A1D000470177CF60934C0B81E08093470183E286 |
:10A1E00090E090934901809348016BCF9881842F30 |
:10A1F0008F73835C981701F7A45BB44F6C933F5F38 |
:10A2000030933E0190914E0B80911B019817F9F607 |
:10A2100081E080933D0180914E0B8235C1F62CE0A8 |
:10A2200088E190E00FB6F894A895809360000FBE87 |
:10A2300020936000CCCF20918A0130918B018091D6 |
:10A240008C0190918D0128173907F9F0E0918C016C |
:10A25000F0918D01E08180918C0190918D010196AA |
:10A2600090938D0180938C0180918C0190918D0150 |
:10A270008A58914011F08E2F08958AE491E09093CE |
:10A280008D0180938C018E2F0895E0E08E2F08952C |
:10A29000DC0120918A0130918B0180918C01909199 |
:10A2A0008D012817390701F1E0918C01F0918D01A2 |
:10A2B00080818C9380918C0190918D010196909377 |
:10A2C0008D0180938C0180918C0190918D018A5831 |
:10A2D000914011F081E008958AE491E090938D011E |
:10A2E00080938C0181E0089580E008959093C500EB |
:10A2F0008093C4008091C0008D7F8093C00086E071 |
:10A300008093C2008091C1008B7F8093C1008091B7 |
:10A31000C00087FF06C08091C6008091C00087FD05 |
:10A32000FACF8091C10088618093C1008091C10003 |
:10A3300080688093C1008AE491E090938D018093BE |
:10A340008C0180918C0190918D0190938B01809371 |
:10A350008A010895E1ECF0E08081877F8083239873 |
:10A360002B980895239A2B98E1ECF0E08081886087 |
:10A3700080830895982F8091C00085FFFCCF909333 |
:10A38000C6000895FC019081992351F08091C0008E |
:10A3900085FFFCCF9093C600319690819923B1F749 |
:10A3A0000895FC018491882359F094918091C00014 |
:10A3B00085FFFCCF9093C600319684918823A9F73E |
:10A3C000089520913E01263009F485C0AFE4BBE03A |
:10A3D00080914F0B3091500B3D535091510B409158 |
:10A3E000520B8D53880F880F932F92959F70892B56 |
:10A3F00080934F0B273009F472C0952F9D53642F23 |
:10A400006D53522F585027E044E03BC0F0E0929546 |
:10A41000990F990F907C962BE45BF44F9083942FC7 |
:10A420009E5F513009F445C0E22FF0E0E45BF44F49 |
:10A4300080812F5FE22FF0E0E45BF44F30813D53E9 |
:10A440002F5FE22FF0E0E45BF44F70812F5FE22F8B |
:10A45000F0E02350E45BF44F6081E92FF0E0932FAC |
:10A4600092959F708D53880F880F892BE45BF44F72 |
:10A4700080834D5F523031F1972F9D536D532C5F88 |
:10A480005350E42FF0E03295307F892F86958695E2 |
:10A49000382BE45BF44F3083E42FEF5F552309F052 |
:10A4A000B5CFE350B0934001A0933F01E093410149 |
:10A4B0000895E42FE150B0934001A0933F01E09351 |
:10A4C00041010895E42FE350B0934001A0933F0170 |
:10A4D000E09341010895E0E0AFE4BBE0E3CFE1E0C9 |
:10A4E000E1CF80911C01813009F008958091C00076 |
:10A4F00085FFFCCF8BE18093C6008091C00085FF73 |
:10A50000FCCF8BE18093C6008091C00085FFFCCF1B |
:10A5100085E58093C6008091C00085FFFCCF8AEA64 |
:10A520008093C6008091C00085FFFCCF1092C600CA |
:10A5300081E080931D0124EF31E044EF51E0CA0136 |
:10A540000197F1F721503040D1F7089585E08093CD |
:10A550001D0124EF31E044EF51E0CA010197F1F70A |
:10A5600021503040D1F70895BF92CF92DF92EF9201 |
:10A57000FF920F931F93DF93CF93CDB7DEB78D85F7 |
:10A580002E8593E290931F0C8F598093200C8C851D |
:10A590008093210C222309F053C063E070E090E027 |
:10A5A00020E030E0E0E0F0E0E15EF34F8081280F52 |
:10A5B000311D9F5FE92FF0E0E617F707A8F33F7022 |
:10A5C000C9010024880F991F001C880F991F001CC7 |
:10A5D000892F902D835C2F73235CFB01E15EF34F89 |
:10A5E0008083CB010196FC01E15EF34F208301964D |
:10A5F000FC01E15EF34F2DE02083FC0131961092C7 |
:10A60000100120E0A0E0B0E08091C00085FFFCCF09 |
:10A61000A15EB34F8C918093C6002F5FA22FB0E054 |
:10A62000AE17BF0788F381E080931001CF91DF91CF |
:10A630001F910F91FF90EF90DF90CF90BF90089502 |
:10A64000EF84F88803E1C02ED12CCC0EDD1E4989A1 |
:10A650005A894115510509F4A0CF022F015063E03A |
:10A6600070E010E062C0A12FB0E01F5FFA01AE0DF4 |
:10A67000BF1D8C91AF014150504009F48BC0E12FB8 |
:10A68000F0E01F5FEE0DFF1DA0814150504009F02A |
:10A690006DC0002309F46AC096012E5F3F4FF6019A |
:10A6A000E080F18012E0C12ED12CC20ED31EF90140 |
:10A6B000408151810150382F32953F7090E08F706A |
:10A6C00090702A2F2295269526952370880F991F22 |
:10A6D000880F991F282B235CAF73A35C10E08B2D90 |
:10A6E00086958695835CFB01E15EF34F80838B2D1D |
:10A6F00090E08370907082959295907F9827807FEC |
:10A700009827382B335CFB01E05EF34F3083FB016D |
:10A71000EF5DF34F2083FB01EE5DF34FA0836C5F91 |
:10A720007F4F4115510509F43ACFF701E10FF11DB3 |
:10A73000B0801F5F4150504009F095CF002391F049 |
:10A74000F6013296D601ED90FC9012E0C12ED12C8C |
:10A75000CE0EDF1E0190F081E02D0150309709F000 |
:10A760004CC010E030E02DE3ADE3B9CF382F329587 |
:10A770003F7090E08F7090702A2F22952695269535 |
:10A780002370880F991F880F991F282B235CAF73A4 |
:10A79000A35CA5CF002371F4382F32953F7090E071 |
:10A7A0008F709070880F991F880F991F282F235C36 |
:10A7B000ADE395CFF6013296D601ED90FC90A2E084 |
:10A7C000CA2ED12CCE0EDF1E408151810150411581 |
:10A7D000510521F0E0E0F0E011E054CF382F329540 |
:10A7E0003F7090E08F709070880F991F880F991FAD |
:10A7F000282F235C10E0ADE372CFA0E0B0E011E0C1 |
:10A8000036CFDF93CF930F92CDB7DEB720911D01E6 |
:10A81000213021F00F90CF91DF91089592E099833C |
:10A820004DB75EB7475050400FB6F8945EBF0FBEAD |
:10A830004DBFEDB7FEB7319685E7ADB7BEB7119600 |
:10A840008C9391832283CE0101969483838381E04C |
:10A8500090E0968385830E94B45284E080931D012A |
:10A8600024EF31E04DB75EB7495F5F4F0FB6F89404 |
:10A870005EBF0FBE4DBF44EF51E0CA010197F1F733 |
:10A8800021503040D1F70F90CF91DF910895DF93A1 |
:10A89000CF930F92CDB7DEB790911D01913021F08B |
:10A8A0000F90CF91DF91089599832DB73EB7275030 |
:10A8B00030400FB6F8943EBF0FBE2DBFEDB7FEB7C8 |
:10A8C000319685E7ADB7BEB711968C9382E0818350 |
:10A8D0009283CE0101969483838381E090E09683F6 |
:10A8E00085830E94B45283E080931D0124EF31E000 |
:10A8F0008DB79EB707960FB6F8949EBF0FBE8DBF5B |
:10A9000044EF51E0CA010197F1F721503040D1F7EF |
:10A910000F90CF91DF9108951F93DF93CF930F9204 |
:10A92000CDB7DEB790911D01913029F00F90CF91F6 |
:10A93000DF911F91089519822DB73EB727503040FF |
:10A940000FB6F8943EBF0FBE2DBFEDB7FEB73196E0 |
:10A9500085E7ADB7BEB711968C9312E01183928351 |
:10A96000CE0101969483838381E090E09683858372 |
:10A970000E94B45210931D0124EF31E08DB79EB7B1 |
:10A9800007960FB6F8949EBF0FBE8DBF44EF51E0FF |
:10A99000CA010197F1F721503040D1F70F90CF91C4 |
:10A9A000DF911F910895FF920F931F93DF93CF9331 |
:10A9B0000F92CDB7DEB7082FF62E142F0E94B2519A |
:10A9C000812F6AE00E94E55789838DB79EB707976C |
:10A9D0000FB6F8949EBF0FBE8DBFEDB7FEB7319690 |
:10A9E000ADB7BEB711960C93F18281E08283CE01A0 |
:10A9F00001969483838381E090E0968385830E940F |
:10AA0000B4528DB79EB707960FB6F8949EBF0FBE8F |
:10AA10008DBF809110018823E1F30E94AA510F900D |
:10AA2000CF91DF911F910F91FF9008955058BB2750 |
:10AA3000AA270ED078C141D130F046D120F031F4B0 |
:10AA40009F3F11F41EF436C10EF4E095E7FB2CC1D4 |
:10AA5000E92F8BD180F3BA17620773078407950734 |
:10AA600018F071F49EF5A3C10EF4E0950B2EBA2FE9 |
:10AA7000A02D0B01B90190010C01CA01A001112404 |
:10AA8000FF27591B99F0593F50F4503E68F11A16B0 |
:10AA9000F040A22F232F342F4427585FF3CF469541 |
:10AAA00037952795A795F0405395C9F77EF41F1663 |
:10AAB000BA0B620B730B840BBAF09150A1F0FF0F2D |
:10AAC000BB1F661F771F881FC2F70EC0BA0F621F19 |
:10AAD000731F841F48F4879577956795B795F79509 |
:10AAE0009E3F08F0B3CF9395880F08F09927EE0F9B |
:10AAF000979587950895F0D0E39526C10CD013C1A2 |
:10AB0000E3D040F0DAD030F021F45F3F19F0CCC050 |
:10AB100051114EC1CFC029D198F39923C9F35523C0 |
:10AB2000B1F3951B550BBB27AA2762177307840740 |
:10AB300038F09F5F5F4F220F331F441FAA1FA9F3F6 |
:10AB400033D00E2E3AF0E0E830D091505040E695E8 |
:10AB5000001CCAF729D0FE2F27D0660F771F881F49 |
:10AB6000BB1F261737074807AB07B0E809F0BB0B38 |
:10AB7000802DBF01FF2793585F4F2AF09E3F51055C |
:10AB800068F092C015C15F3FECF3983EDCF3869508 |
:10AB900077956795B795F7959F5FC9F7880F911DD2 |
:10ABA0009695879597F90895E1E0660F771F881FBE |
:10ABB000BB1F621773078407BA0720F0621B730B71 |
:10ABC000840BBA0BEE1F88F7E095089504D06894C3 |
:10ABD000B111EEC00895D1D088F09F5790F0B92FF1 |
:10ABE0009927B751A0F0D1F0660F771F881F991FE2 |
:10ABF0001AF0BA95C9F712C0B13081F0D8D0B1E0DF |
:10AC00000895D5C0672F782F8827B85F39F0B93FEE |
:10AC1000CCF3869577956795B395D9F73EF49095E3 |
:10AC20008095709561957F4F8F4F9F4F0895E89461 |
:10AC300009C097FB3EF490958095709561957F4F84 |
:10AC40008F4F9F4F9923A9F0F92F96E9BB27939532 |
:10AC5000F695879577956795B795F111F8CFFAF442 |
:10AC6000BB0F11F460FF1BC06F5F7F4F8F4F9F4F73 |
:10AC700016C0882311F096E911C0772321F09EE8D1 |
:10AC8000872F762F05C0662371F096E8862F70E037 |
:10AC900060E02AF09A95660F771F881FDAF7880F11 |
:10ACA0009695879597F9089597F99F6780E870E0E2 |
:10ACB00060E008959FEF80EC089500240A94161632 |
:10ACC000170618060906089500240A94121613069A |
:10ACD000140605060895EECF50D0E8F3E894E0E0BE |
:10ACE000BB279F57F0F02AED3FE049EC06C0EE0F7E |
:10ACF000BB0F661F771F881F28F0B23A62077307E1 |
:10AD0000840728F0B25A620B730B840BE3959A9573 |
:10AD100072F7803830F49A95BB0F661F771F881F33 |
:10AD2000D2F79048F1C0092E0394000C11F4882347 |
:10AD300052F0BB0F40F4BF2B11F460FF04C06F5FF3 |
:10AD40007F4F8F4F9F4F0895EF93E0FF06C0A2EA19 |
:10AD50002AED3FE049EC5FEB7BDEE5DF0F900394EB |
:10AD600001FC9058E0E7F0E0DBC057FD9058440F3D |
:10AD7000551F59F05F3F71F04795880F97FB991F5A |
:10AD800061F09F3F79F08795089512161306140617 |
:10AD9000551FF2CF4695F1DF08C0161617061806A4 |
:10ADA000991FF1CF86957105610508940895E8947F |
:10ADB000BB2766277727CB0197F908950BD0B3CF30 |
:10ADC0007CDF28F081DF18F0952309F06DCF72CF7A |
:10ADD0001124EECFCADFA0F3959FD1F3950F50E079 |
:10ADE000551F629FF001729FBB27F00DB11D639F3D |
:10ADF000AA27F00DB11DAA1F649F6627B00DA11DE3 |
:10AE0000661F829F2227B00DA11D621F739FB00D88 |
:10AE1000A11D621F839FA00D611D221F749F3327F8 |
:10AE2000A00D611D231F849F600D211D822F762F91 |
:10AE30006A2F11249F5750408AF0E1F088234AF08E |
:10AE4000EE0FFF1FBB1F661F771F881F91505040DA |
:10AE5000A9F79E3F510570F027CFAACF5F3FECF3D3 |
:10AE6000983EDCF3869577956795B795F795E795C6 |
:10AE70009F5FC1F7FE2B880F911D9695879597F9D7 |
:10AE800008957BDFE0F09E37D8F09639B8F49E380D |
:10AE900048F4672F782F8827985FF9CF86957795A4 |
:10AEA000679593959539D0F3B62FB1706B0F711DDF |
:10AEB000811D20F4879577956795939508C022C0EA |
:10AEC00077CF9F9309DF0F9007FCEE5F3DCF88237C |
:10AED00071F4772321F09850872B762F07C06623D3 |
:10AEE00011F499270DC09051862B70E060E02AF094 |
:10AEF0009A95660F771F881FDAF7880F96958795C2 |
:10AF000097F908959F3F31F0915020F487957795F8 |
:10AF10006795B795880F911D9695879597F9089530 |
:10AF20009F938F937F936F93FF93EF939B01AC015C |
:10AF300045DFEF91FF9105D02F913F914F915F91A8 |
:10AF40003DCFDF93CF931F930F93FF92EF92DF924A |
:10AF50007B018C01689405C0DA2EEF013BDFFE0116 |
:10AF6000E894A5912591359145915591AEF3EF0166 |
:10AF70006FDDFE019701A801DA9479F7DF90EF9079 |
:10AF8000FF900F911F91CF91DF910895629FD001A3 |
:10AF9000739FF001829FE00DF11D649FE00DF11D94 |
:10AFA000929FF00D839FF00D749FF00D659FF00D43 |
:10AFB0009927729FB00DE11DF91F639FB00DE11D30 |
:10AFC000F91FBD01CF0111240895991B79E004C038 |
:10AFD000991F961708F0961B881F7A95C9F78095D8 |
:10AFE0000895AA1BBB1B51E107C0AA1FBB1FA617D0 |
:10AFF000B70710F0A61BB70B881F991F5A95A9F722 |
:10B0000080959095BC01CD01089597FB092E0726E8 |
:10B010000AD077FD04D0E5DF06D000201AF4709541 |
:10B0200061957F4F0895F6F7909581959F4F08950C |
:10B03000A1E21A2EAA1BBB1BFD010DC0AA1FBB1F3C |
:10B04000EE1FFF1FA217B307E407F50720F0A21BAE |
:10B05000B30BE40BF50B661F771F881F991F1A941B |
:10B0600069F760957095809590959B01AC01BD0145 |
:10B07000CF01089597FB092E05260ED057FD04D069 |
:10B08000D7DF0AD0001C38F45095409530952195B3 |
:10B090003F4F4F4F5F4F0895F6F79095809570950D |
:10B0A00061957F4F8F4F9F4F0895DC0101C06D93D5 |
:10B0B00041505040E0F70895FB019F01E894423071 |
:10B0C000C4F04532B4F44A3029F497FB1EF490954D |
:10B0D00081959F4F642F77270E94F157805D8A33B7 |
:10B0E0000CF0895D8193CB010097A1F716F45DE226 |
:10B0F00051931082C9010C94A958FB019F01423061 |
:10B1000074F0453264F4642F77270E94F157805D14 |
:10B110008A330CF0895D8193CB010097A1F71082EF |
:10B12000C9010C94A958F999FECF92BD81BDF89A36 |
:10B13000992780B50895262FF999FECF1FBA92BDA1 |
:10B1400081BD20BD0FB6F894FA9AF99A0FBE019608 |
:10B150000895DC01FC01672F71917723E1F73297A5 |
:10B1600004C07C916D9370836291AE17BF07C8F3E2 |
:06B170000895F894FFCFE2 |
:10B17600FFFFFF0101FF6A183801710238017102F1 |
:02B186000100C6 |
:00000001FF |
/Transportables_Koptertool/tags/V3.2/Koptertoo1_2/GPL_PKT_V3_x_FC084_HW1_2_644p.hex |
---|
0,0 → 1,2844 |
:100000000C9468160C948E160C948E160C948E1606 |
:100010000C948E160C948E160C948E160C948E16D0 |
:100020000C948E160C948E160C948E160C948E16C0 |
:100030000C948E160C948E160C948E160C948E16B0 |
:100040000C94B14E0C948E160C948E160C948E1645 |
:100050000C942C500C948E160C948E160C948E16B8 |
:100060000C948E160C948E160C949A350C948E1655 |
:100070000C948E160C948E160C948E1605A84CCDEE |
:10008000B2D44EB93836A9020C50B9918688083CD2 |
:10009000A6AAAA2ABE000000803F57692E3233323A |
:1000A000204E414B00576932333220496E6974202B |
:1000B0006F6B2E2E2E2E00576932333220496E6917 |
:1000C000744572726F72202000496E6974205769FE |
:1000D00032333220776169742E2E2E2E00566572CF |
:1000E00073696F6E3A006F6B202020202020202043 |
:1000F000202020202020202020004E562D52414D2F |
:100100002073657420746F203537363030004572A7 |
:10011000726F7220736574204E562D52414D0057F8 |
:10012000692E32333220666F756E6420323430307F |
:100130000057692E32333220666F756E6420353772 |
:100140003630300057692E3233322053797461785B |
:100150006572726F72006E6F2057692E32333220D3 |
:10016000666F756E640077697468203234303020B1 |
:100170004261756420007769746820353736303005 |
:100180002042617564007365617263682057692E4F |
:10019000323332204D6F64756C004552524F523AE3 |
:1001A000206E6F2064617461003F004E0046004580 |
:1001B00052524F523A206E6F206461746100416E5A |
:1001C000616C6F67204E616D65733A200052656106 |
:1001D00064696E67004552524F523A206E6F206438 |
:1001E00061746100201C202020201D202020202060 |
:1001F000457869742020464300201C202020201DC3 |
:1002000020202020204578697420204E4300201CA7 |
:10021000202020201D2020202020457869740020E7 |
:100220001C202020201D20202020204578697420BB |
:1002300020464300446973706C617900201C2020C3 |
:1002400020201D20202020204578697420204E4346 |
:1002500000201C202020201D2020202020457869FF |
:100260007400201C202020201D20202020204578E4 |
:1002700069742020464300776569746572206D6952 |
:100280007420454E5445520D0A0061756620446540 |
:100290006661756C742067657365747A740D0A0005 |
:1002A000454550524F4D20506172616D65746572C5 |
:1002B0000D0A00781514157800205554557800382B |
:1002C00045444538003049484930003C4140413CB4 |
:1002D000003841402178007E1515150A0000000005 |
:1002E000000000000000000000000000000000000E |
:1002F0000000000000000000000000103854101042 |
:100300001E0000000000001010101010101010103F |
:100310007C10100000000000000000000000000041 |
:1003200000000000000000000000000000000000CD |
:100330000000000000000004027F02040010207F83 |
:1003400020100010385410101010101054381010D5 |
:10035000181C1C181008183838180800081C3E7F94 |
:1003600000007F3E1C080006090909060006497DB9 |
:1003700049060000000000000000002F00000000FF |
:100380000700070000147F147F1400242A6B2A1230 |
:10039000002313086462003649552250000005030B |
:1003A000000000001C224100000041221C0000143B |
:1003B000083E08140008083E0808000050300000FD |
:1003C000000808080808000060600000002010080D |
:1003D0000402003E5149453E0000427F4000004279 |
:1003E00061514946002141454B31001814127F10DC |
:1003F000002745454539003C4A4949300003017111 |
:10040000090700364949493600064949291E0000B6 |
:100410003636000000005636000000081422410065 |
:100420000014141414140000412214080002015195 |
:10043000090600324979413E007E1111117E007F8C |
:1004400049494936003E41414122007F4141221C39 |
:10045000007F49494941007F09090901003E41499E |
:10046000497A007F0808087F0000417F4100002092 |
:1004700040413F01007F08142241007F404040403E |
:10048000007F020C027F007F0408107F003E414184 |
:10049000413E007F09090906003E4151215E007F6F |
:1004A000091929460046494949310001017F0101E6 |
:1004B000003F4040403F001F2040201F003F403889 |
:1004C000403F0063140814630007087008070061C8 |
:1004D00051494543007F41410000000204081020BB |
:1004E000000041417F00000402010204004040403E |
:1004F0004040000001020400002054545478007F62 |
:100500004844443800384444442000384444487F38 |
:1005100000385454541800087E090102000C52524D |
:10052000523E007F080404780000447D4000002013 |
:1005300040443D00007F102844000000417F4000FF |
:10054000007C04180478007C0804047800384444D3 |
:100550004438007C1414140800081414187C007C1F |
:100560000804040800485454542000043F44402028 |
:10057000003C4040207C001C2040201C003C4038B7 |
:10058000403C004428102844000C5050503C00448B |
:1005900064544C440000083641000000007F000015 |
:1005A0000000413608000008082A1C0800081C2A20 |
:1005B0000808002E002E006D006B6D2F6800636D23 |
:1005C000002E002020006F6B00200044006E6F00A2 |
:1005D00032440033440020002D00780058004F00C2 |
:1005E000416C742020202020203A20004C6174208F |
:1005F00020202020203A20004C6F6E6720202020F1 |
:10060000203A20005370656564202020203A2000A5 |
:1006100050444F5020202020203A20004163637531 |
:1006200072616379203A20005361742020202020D9 |
:10063000203A20004669782054797065203A2000DD |
:100640004F6E6C792077697468204E43202100201A |
:100650001A202020201B20202020204578697400AB |
:100660002020303132333435363738394142434433 |
:1006700045460D0A000D0A6B6F6D70617469626505 |
:100680006C00302E38322F302E3834004643205341 |
:100690006F6674776172652000504D4B2D546F6FFB |
:1006A0006C206E7572206D69740D0A002067656696 |
:1006B000756E64656E0D0A00454550726F6D52652A |
:1006C000762E002065727761727465740D0A00459C |
:1006D0004550726F6D5265762E002E00566572730E |
:1006E000696F6E3A20004E6176692D4374726C0D0D |
:1006F0000A00466C696768742D4374726C0D0A00B9 |
:10070000666F756E643A0D0A0A00504D4B2D546F9A |
:100710006F6C20474E552047504C0D0A006E6F20DD |
:10072000686172647761726520646574656374657D |
:1007300064004552524F523A00536B697020464351 |
:100740002D436865636B00636865636B696E672042 |
:1007500068617264776172652E2E2E00474E5520B7 |
:1007600047504C204C6963656E736500302E3832FB |
:100770002F302E383400666F7220464320562000FA |
:10078000506F727461626C6573204B6F7074657228 |
:10079000746F6F6C004F53442020202020202020B5 |
:1007A000202000003344204C616765202020202059 |
:1007B000200000446973706C617920202020202083 |
:1007C0000000506172616D657465727320202000B5 |
:1007D0000044656275672044617461202020000038 |
:1007E0004D6F746F72205465737420202000004791 |
:1007F000505320496E666F20202020200000536552 |
:1008000074757020504D4B202020200000566572DA |
:1008100073696F6E20202020202000005553422055 |
:10082000746F204643202020200000446973706CC0 |
:1008300061792020202020200000506172616D65C8 |
:10084000746572732020200000446562756720443F |
:1008500061746120202000004D6F746F7220546518 |
:1008600073742020200000536574757020504D4B28 |
:1008700020202020000056657273696F6E202020B2 |
:10088000202020000055534220746F204643202032 |
:1008900020200000493243204D6F746F72746573DD |
:1008A000740000536574757020504D4B202020203B |
:1008B000000056657273696F6E2020202020200092 |
:1008C0000055534220746F20464320202020000012 |
:1008D0004B6F6E6669672057692E323332000050C5 |
:1008E0004B542053572D55706461746500003230AD |
:1008F0003131204368722E204272616E64746E65DD |
:100900007220003230313020536562617374696146 |
:100910006E20426F65686D00323030392D323031D3 |
:1009200030205065746572204D61636B0032303049 |
:10093000382054686F6D6173204B61697365720074 |
:100940002020204E4F2057415252414E54590028EA |
:10095000432920474E552047504C204C6963656E13 |
:10096000736500302E38322F302E383400666F72A7 |
:100970002046432000504D4B20546F6F6C20332E87 |
:100980003200202020202020202020202020207A1B |
:1009900075727565636B006E69636874206D6F6551 |
:1009A000676C69636821004D6974206469657365CB |
:1009B00072204861726477617265004261636B20E6 |
:1009C00020202020202020202020205374617274B9 |
:1009D000002E6865783A610055666C6173683A77F5 |
:1009E0003A4E4557534F46545741524500313039DE |
:1009F000202D50636F6D3F202D6231313532303004 |
:100A0000202D0061767264756465202D706D36341A |
:100A10003470202D63617672005468656E207374A3 |
:100A200061727420617672647564653A0050726513 |
:100A300073732027537461727427206F6E20504B9C |
:100A40005400436F6E6E65637420504320746F20B2 |
:100A5000504B542D555342001B001A00201A2020E1 |
:100A600020201B2020202020202020202020200C9F |
:100A700000302E38322F302E383400504D4B2D544C |
:100A80006F6F6C3D464320001D0020001D002000BC |
:100A900020001D00416C6C001D002018202020202B |
:100AA0001920202020204261636B2020200C00565A |
:100AB000616C75653A20202030004D6F746F723A7A |
:100AC00020416C6C004D6F746F722054657374001C |
:100AD000424C432023006465632020696E6320201C |
:100AE000202045786974204F78666600493243209B |
:100AF0004D6F746F722054657374006D617820417E |
:100B00006C7469747564653A006D61782053706522 |
:100B100065642020203A006D617820446973746117 |
:100B20006E63653A006D696E20566F6C746167651F |
:100B3000203A006D61782054696D65202020203AAC |
:100B4000006D61782043757272656E74203A0055AD |
:100B500073656443617061636974793A00FB0A09E3 |
:100B60000B170B250B330B410B4F0B0E0F0E4E0EBD |
:100B70000F0E4F0E0F0E530E0F0E570E0F0E4E0E82 |
:100B80000F0E4F0E0F0E530E0F0E570E0F0E4E0E72 |
:100B90000F0E4F0E0F0E530E0F0E574E45004520F1 |
:100BA000005345005320005357005720004E570074 |
:100BB0004E20009B0B9E0BA10BA40BA70BAA0BAD09 |
:100BC0000BB00B4552524F523A206E6F2064617445 |
:100BD00061002E002E004B3A00523A004E3A006D52 |
:100BE00041680050430020200046726565202020A7 |
:100BF0002020202000506F732E20486F6C6420202E |
:100C000000436F6D696E6720486F6D6500536174B6 |
:100C100073006B6D2F68004F6E6C79207769746874 |
:100C2000204E432021002020202020202020202092 |
:100C300020202020002E002E006D4168006B6D2FBB |
:100C400068004B616E61656C652020440000000007 |
:100C50000043616E6175782020204600000000008E |
:100C60004368616E6E656C20204500000000004DF9 |
:100C700061696E2020202020200000000000436FCA |
:100C80006E6669672020202000000000006D616909 |
:100C90006E20202020202000000000005374696393 |
:100CA0006B202020202000000000004D616E636852 |
:100CB00065202020200000000000737469636B2011 |
:100CC0002020202000000000004C6F6F70696E67CC |
:100CD00020202000000000004C6F6F70696E6720BC |
:100CE000202000000000004C6F6F70696E672020AC |
:100CF000200000000000486F65686520202020204B |
:100D00000000000000416C74697475646520200067 |
:100D100000000000416C7469747564652020000057 |
:100D20000000004B616D65726120202020000000F2 |
:100D3000000043616D6572612020202000000000EA |
:100D40000043616D657261202020200000000000DA |
:100D50004E6176694374726C202000000000004EE2 |
:100D60006176694374726C202000000000004E61BF |
:100D700076694374726C2020000000000041757396 |
:100D80006761656E6765200000000000536F727434 |
:100D900069657320202000000000004F7574707595 |
:100DA0007473202020000000000056657273636891 |
:100DB0002E20202000000000004469766572732018 |
:100DC0002020200000000000446976657273202016 |
:100DD000202000000000004779726F202020202092 |
:100DE0002000000000004779726F20202020202082 |
:100DF00000000000004779726F2020202020200092 |
:100E00000000000042656E75747A65722020000053 |
:100E1000000000506172616D6574726573000000BE |
:100E20000000557365722020202020200000000063 |
:100E300000416368736B6F70706C2E0000000000DF |
:100E4000436F75706C2041786573000000000043AB |
:100E50006F75706C204178657300000000004D696B |
:100E600078657220202020200000000000436F6E73 |
:100E7000666967204D69780000000000436F6E6668 |
:100E80006967204D697800000000004761732020E9 |
:100E90002020202020202020200047617A202020B0 |
:100EA0002020202020202020005468726F74746C51 |
:100EB0006520202020202000476965722020202006 |
:100EC000202020202020004C6163657420202020F9 |
:100ED000202020202000476965722020202020202B |
:100EE00020202020004E69636B202020202020201D |
:100EF0002020200054616E6761676520202020203B |
:100F00002020004E69636B202020202020202020FC |
:100F10002000526F6C6C20202020202020202020D8 |
:100F200000526F756C697320202020202020200043 |
:100F3000526F6C6C20202020202020202020005088 |
:100F40006F74692031202020202020202000506F45 |
:100F500074692031202020202020202000506F7430 |
:100F6000692031202020202020202000506F74692B |
:100F70002032202020202020202000506F74692063 |
:100F800032202020202020202000506F7469203241 |
:100F9000202020202020202000506F746920332042 |
:100FA0002020202020202000506F74692033202032 |
:100FB00020202020202000506F7469203320202022 |
:100FC000202020202000506F746920342020202011 |
:100FD0002020202000506F74692034202020202001 |
:100FE00020202000506F74692034202020202020F1 |
:100FF000202000506F7469203520202020202020E0 |
:101000002000506F746920352020202020202020CF |
:1010100000506F74692035202020202020202000DF |
:10102000506F74692036202020202020202000507E |
:101030006F74692036202020202020202000506F4F |
:1010400074692036202020202020202000506F743A |
:10105000692037202020202020202000506F746934 |
:101060002037202020202020202000506F7469206D |
:1010700037202020202020202000506F7469203845 |
:10108000202020202020202000506F74692038204C |
:101090002020202020202000506F7469203820203C |
:1010A000202020202020004D6F746F722053696330 |
:1010B000682E536368004D6F742E536166657479B2 |
:1010C0002053772E004D6F742E536166657479201E |
:1010D00053772E004572772E205369672E20507269 |
:1010E0002E20004374726C2052656E205265636539 |
:1010F0007000456E682E205369672E436865636BE8 |
:1011000000456D706661656E676572205479700088 |
:10111000547970652052656365707465757200520C |
:101120006563656976657220547970652000486F43 |
:101130006568656E726567656C65722000437472E0 |
:101140006C20416C74697475646520004374726C22 |
:1011500020416C74697475646520004750532020E9 |
:101160002020202020202020200047505320202015 |
:101170002020202020202020004750532020202005 |
:1011800020202020202020004B6F6D706173732081 |
:1011900020202020202000436F6D706173202020CC |
:1011A000202020202000436F6D7061737320202069 |
:1011B00020202020004B6F6D7046657374204175B0 |
:1011C00073722E004D61696E7469656E20436170A3 |
:1011D000202000436F6D704F7269656E742E4669F2 |
:1011E00078004572772E205369672E2050722E208A |
:1011F000004374726C2052656E2052656365700006 |
:1012000053656E732E52637653696756616C004165 |
:1012100063687328652E296B6F70706C2E004465AF |
:10122000636575706C616765204178650041786918 |
:101230007320436F7570696E6720200048036865EE |
:101240006E462E536368616C742E004C696D697430 |
:10125000205669742E20526F7400526F745261745C |
:1012600065206C696D69742E0048656164696E67FC |
:1012700020486F6C642020004F7269656E742E20C8 |
:10128000666978652020004E69636B2F526F6C6C25 |
:101290002020202020004E69636B2F526F6C6C2041 |
:1012A0005020202000526F756C2F54616E672050C3 |
:1012B000202020004E69636B2F526F6C6C205020F1 |
:1012C0002020004E69636B2F526F6C6C20442020ED |
:1012D0002000526F756C2F54616E672044202020CF |
:1012E000004E69636B2F526F6C6C204420202000ED |
:1012F0004769657220502020202020202020004CAB |
:101300006163657420502020202020202000476940 |
:101310006572205020202020202020200045787455 |
:1013200065726E65204B6F6E74722E004374726C22 |
:101330002045787465726E6520200045787465726A |
:101340006E204374726C202020004C6F6F70696EA9 |
:1013500067206F62656E2020004C6F6F70696E674A |
:10136000204176616E7420004C6F6F70696E67204B |
:10137000757020202020004C6F6F70696E6720759B |
:101380006E74656E20004C6F6F70696E67204172DD |
:1013900072696572004C6F6F70696E6720646F7759 |
:1013A0006E2020004C6F6F70696E67206C696E6BE9 |
:1013B0007320004C6F6F70696E67204761756368BA |
:1013C00065004C6F6F70696E67206C6566742020D5 |
:1013D000004C6F6F70696E6720726563687473008C |
:1013E0004C6F6F70696E672044726F697465004C52 |
:1013F0006F6F70696E67207269676874200047615B |
:1014000073204C696D69742020202020004C696D88 |
:101410006974652047617A20202020005468726F2B |
:1014200074746C65204C696D697400416E737072E0 |
:10143000656368736368772E2000536575696C2057 |
:101440005265706F6E73652000536575696C20522C |
:1014500065706F6E7365200048797374657265738B |
:1014600065202020202000487973746572657369B7 |
:101470007320202020004879737465726573697346 |
:101480002020202000556D6B656872702E204E69FB |
:10149000636B2000496E7665727320526F756C69BC |
:1014A0007320004E69636B20496E7665727320204D |
:1014B0000000556D6B656872702E20526F6C6C2049 |
:1014C00000496E766572732054616E6761676500CE |
:1014D000526F6C6C20496E76657273202000004854 |
:1014E0006F6568656E726567656C756E67004374DD |
:1014F000726C20416C7469747564652000416C7471 |
:101500006974756465204374726C2000593A4842CE |
:1015100065672C4E3A566172696F00593A4C696D95 |
:10152000482C4E3A566172696F00593A4C696D48C1 |
:101530002C4E3A566172696F00536368616C746532 |
:101540007220662E20482E005377697468206861E7 |
:101550007574657572200053776974636820662E10 |
:10156000204869676800616B7573742E205661723C |
:10157000696F202000566172696F2061636F757317 |
:101580007469630061636F75737469632056617277 |
:10159000696F00536F6C6C68036865202020202001 |
:1015A000200048617574657572204D617820202097 |
:1015B00000536574706F696E742020202020200015 |
:1015C0004D696E2E20476173202020202020004787 |
:1015D000617A206D696E20202020202020006D6916 |
:1015E0006E2E207468726F74746C652000486F658D |
:1015F000686520502020202020202000416C746944 |
:101600007475646520502020202000416C7469743A |
:10161000756465205020202020004C75667464722B |
:1016200075636B2044202020005072657373696FCE |
:101630006E204420202020004261726F6D6574721C |
:10164000696320442020005A2D414343202020205C |
:10165000202020202000414343205A202020202009 |
:101660002020202000414343205A202020202020F9 |
:1016700020202000566572737401726B756E672F9F |
:101680005200004761696E2F4672657175656E6321 |
:1016900065006761696E2F726174652020202020CB |
:1016A0000053636877656265676173202B2F2D0097 |
:1016B00056617220766F6C2073746174202000680C |
:1016C0006F6F7665722076617269612E20004750D7 |
:1016D00053205A2020202020202020200047505333 |
:1016E000205A202020202020202020004750532056 |
:1016F0005A20202020202020202000537469636B72 |
:10170000204E657574722E205000506F73204E6508 |
:1017100075747265204D616E00737469636B206E21 |
:10172000657574722E2050004E69636B20532E2015 |
:10173000416E73742E200041737365722074616E64 |
:101740006761676520006E69636B20736572762040 |
:101750006374726C004E69636B204B6F6D70656EC5 |
:10176000732E2000436F6D702074616E6761676532 |
:101770002020006E69636B20636F6D70656E732E41 |
:1017800020004E69636B20556D6B656872656E2035 |
:1017900000496E766572736572206469722020005C |
:1017A0006E69636B20696E762E206469722E004E1E |
:1017B00069636B20536572766F206D696E005365A7 |
:1017C00072766F206D696E2020202020006E696384 |
:1017D0006B20736572766F206D696E004E69636B66 |
:1017E00020536572766F206D617800736572766F35 |
:1017F000206D61782020202020006E69636B2073AB |
:101800006572766F206D617800526F6C6C20532E7C |
:1018100020416E73742E2000417373657220726FC5 |
:10182000756C6973202000726F6C6C207365727622 |
:10183000206374726C00526F6C6C204B6F6D70651E |
:101840006E732E2000436F6D702074616E67616748 |
:1018500065202000726F6C6C20636F6D70656E7315 |
:101860002E2000526F6C6C20556D6B656872656E32 |
:101870002000496E7665727365722064697220205B |
:1018800000726F6C6C20696E762E206469722E0077 |
:10189000526F6C6C20536572766F206D696E0053C9 |
:1018A0006572766F206D696E202020202000726F97 |
:1018B0006C6C20736572766F206D696E00526F6C70 |
:1018C0006C20536572766F206D6178007365727657 |
:1018D0006F206D6178202020202000726F6C6C20BA |
:1018E000736572766F206D617800416E73742E207F |
:1018F0004765736368772E200054617578207265A0 |
:101900006672657368202000736572766F20726559 |
:10191000667265736820004D616E75656C6C65203C |
:101920004765736368006D6175656C6C2053706505 |
:1019300065642020006D616E75656C6C2053706568 |
:101940006564200043616D205269636874756E6739 |
:1019500020200043616D204F7269656E7420202045 |
:10196000200043616D204F7269656E742020202035 |
:1019700000536572766F2033202020202020200025 |
:10198000536572766F2033202020202020200053C2 |
:101990006572766F203320202020202020005365A0 |
:1019A00072766F2034202020202020200053657282 |
:1019B000766F20342020202020202000536572766E |
:1019C0006F20342020202020202000536572766F65 |
:1019D00020352020202020202000536572766F20A3 |
:1019E000352020202020202000536572766F20357E |
:1019F000202020202020200047505320202020207D |
:101A000020202020202000416374697665722047E1 |
:101A1000505320202000656E61626C652047505352 |
:101A20002020202000475053204D6F6475732053B1 |
:101A3000742E2000446566206D6F64652047505306 |
:101A4000202000475053206D6F646520636F6E74D3 |
:101A500072004750532056657273746165726B2E25 |
:101A6000004761696E20475053202020202020002D |
:101A7000475053204761696E2020202020200047D6 |
:101A800050532053742E20536368772E20005365E3 |
:101A900075696C206D616E63686520200047505346 |
:101AA00020737469636B2074687265004D696E2ED3 |
:101AB000205361742E2020202020004E6272652069 |
:101AC0004D696E2E205361742E004D696E2E205389 |
:101AD00061742E2020202020004750532D502020BC |
:101AE00020202020202020004750532D502020204F |
:101AF000202020202020004750532D50202020203F |
:101B00002020202020004750532D49202020202035 |
:101B100020202020004750532D4920202020202025 |
:101B2000202020004750532D492020202020202015 |
:101B30002020004750532D4420202020202020200A |
:101B400020004750532D44202020202020202020FA |
:101B5000004750532D44202020202020202020000A |
:101B600050204C696D697420202020202020004CDA |
:101B7000696D6974652050202020202020004C6968 |
:101B80006D69742020502020202020200049204C06 |
:101B9000696D697420202020202020004C696D6927 |
:101BA00074652049202020202020004C696D697434 |
:101BB0002020492020202020200044204C696D69ED |
:101BC0007420202020202020004C696D697465203D |
:101BD00044202020202020004C696D69742020447E |
:101BE00020202020202000475053204163632020E4 |
:101BF000202020202000416363656C204750532043 |
:101C000020202020004750532041636320202020C3 |
:101C1000202020004750532057696E646B6F72720A |
:101C20002E2000436F72726563742076656E742097 |
:101C300020004750532057696E6420436F72722E04 |
:101C4000004272656D737769726B756E6720200054 |
:101C5000436F6D70656E7320766974202020005389 |
:101C60007065656420636F6D70656E732E004750FC |
:101C700053206D61782E205261642E2000526179CC |
:101C80006F6E20475053206D6178200047505320DD |
:101C90006D61782E726164697573004750532057E7 |
:101CA000696E6B656C204C692E004C696D697420FF |
:101CB000616E676C204750530047505320616E6738 |
:101CC0006C2E6C696D6974005048204C6F67696EAA |
:101CD0002074696D652000547073206D656D6F729E |
:101CE0006973202020005048206C6F67696E207453 |
:101CF000696D6520004A3136204269746D61736BED |
:101D0000652020004269746D61736B20533120207F |
:101D10002020004F757431204269746D61736B200F |
:101D200020004A31362054696D696E6720202020DA |
:101D300000486F726C6F67652053312020202000AF |
:101D40004F7574312074696D696E67202020004AD8 |
:101D50003137204269746D61736B652020004269E0 |
:101D6000746D61736B20533220202020004F7574F6 |
:101D700032204269746D61736B2020004A31372034 |
:101D800054696D696E672020202000486F726C6F67 |
:101D9000676520533220202020004F757432207454 |
:101DA000696D696E67202020006E7572206D697400 |
:101DB000204D6F746F7220004163746966206175F5 |
:101DC000207265706F73006163742E2077692E2016 |
:101DD0006D6F746F72004A313620556E7465727380 |
:101DE000702E205700416C20756E646572766F6CA2 |
:101DF000746167004F75743120756E646572766F1B |
:101E00006C7400616B7469762020202020202020D3 |
:101E1000200061637469662020202020202020207B |
:101E2000006163746976202020202020202020007B |
:101E30004A313720556E74657273702E20570041F9 |
:101E40006C20756E646572766F6C746167004F7597 |
:101E5000743220756E646572766F6C7400616B7499 |
:101E600069762020202020202020200061637469D2 |
:101E700066202020202020202020006163746976C5 |
:101E8000202020202020202020004D696E2E204779 |
:101E900061732020202020200047617A204D696E48 |
:101EA0002E202020202020006D696E2E2074687264 |
:101EB0006F74746C6520004D61782E20476173202B |
:101EC00020202020200047617A204D61782E20209C |
:101ED00020202020006D61782E207468726F747449 |
:101EE0006C6520004B6F6D706173737769726B75F1 |
:101EF0006E6700456666657420636F6D7061732060 |
:101F00002000636F6D70617373206566666563742E |
:101F10000043617265667265652053742E2020004F |
:101F20004361726566726565204374726C2000437C |
:101F300061726566726565204374726C2000556E2F |
:101F40007465727370616E6E756E672000536F7585 |
:101F5000732074656E73696F6E202000756E646502 |
:101F600072766F6C746167652020004E6F74204735 |
:101F70006173205A6569742020004475726565207C |
:101F80007365636F7572732000456D6572672E54BB |
:101F900068722E54696D65004E6F7420476173201E |
:101FA0002020202020200047617A2064652073656E |
:101FB000636F75727300456D6572672E5468726F3A |
:101FC00074746C65004779726F20502020202020A7 |
:101FD000202020004779726F2050202020202020D0 |
:101FE0002020004779726F205020202020202020C0 |
:101FF00020004779726F20492020202020202020B7 |
:10200000004779726F2049202020202020202000C6 |
:102010004779726F2049202020202020202000476F |
:1020200079726F2044202020202020202000477932 |
:10203000726F204420202020202020200047797229 |
:102040006F20442020202020202020004769657236 |
:1020500020502020202020202020004C6163657427 |
:10206000205020202020202020004C616365742017 |
:102070005020202020202020004769657220492020 |
:1020800020202020202020004C61636574204920FE |
:10209000202020202020004C6163657420492020EE |
:1020A00020202020200044796E616D69736368658B |
:1020B0002053742E00537461622064796E616D69DF |
:1020C0007175650064796E616D6963207374616216 |
:1020D000692E0044726568726174656E6265672E70 |
:1020E00020004C696D69742076697420526F7461A8 |
:1020F00000526F7452617465206C696D69742E00B2 |
:102100004143432F4779726F2046616B2E20004177 |
:1021100043432F4779726F20466163742000414327 |
:10212000432F4779726F2046616374200041434317 |
:102130002F4779726F204B6F6D702E00436F6D705B |
:10214000204143432F4779726F2000436F6D702009 |
:102150004143432F4779726F200048617570747254 |
:1021600065676C657220492000526567756C207048 |
:1021700072696E63204920004D61696E20492020FC |
:1021800020202020202000447269666B6F6D7065EE |
:102190006E7361742E00436F6D70656E732064659D |
:1021A0007269762000647269667420436F6D706591 |
:1021B0006E732E004779726F20737461622E202037 |
:1021C0002020004779726F2073746162696C6974B2 |
:1021D00079004779726F2073746162696C697479F0 |
:1021E00000506172616D657465722031202020009D |
:1021F000506172616D65746572203120202000503D |
:102200006172616D6574657220312020200050611B |
:1022100072616D65746572203220202000506172F9 |
:10222000616D6574657220322020200050617261FA |
:102230006D65746572203220202000506172616DDE |
:1022400065746572203320202000506172616D65D5 |
:10225000746572203320202000506172616D6574B6 |
:102260006572203320202000506172616D657465B5 |
:1022700072203420202000506172616D6574657297 |
:10228000203420202000506172616D6574657220D9 |
:102290003420202000506172616D657465722035B4 |
:1022A00020202000506172616D65746572203520B8 |
:1022B000202000506172616D6574657220352020A8 |
:1022C0002000506172616D65746572203620202097 |
:1022D00000506172616D65746572203620202000A7 |
:1022E000506172616D657465722036202020005047 |
:1022F0006172616D65746572203720202000506125 |
:1023000072616D6574657220372020200050617203 |
:10231000616D657465722037202020005061726104 |
:102320006D65746572203820202000506172616DE7 |
:1023300065746572203820202000506172616D65DF |
:102340007465722038202020004163687328652E50 |
:10235000296B6F70706C2E0028446529436F75706F |
:102360006C20417865730028446529436F75706C53 |
:102370002041786573004769657220706F732E2065 |
:102380004B6F707000526574726F6163206C616393 |
:1023900065742000526574726F6163206C616365BF |
:1023A0007420004E69636B2F526F6C6C204B6F7002 |
:1023B0007000526574726F20726F756C2F74616E4D |
:1023C00000526574726F20726F756C2F74616E00AD |
:1023D00047696572204B6F7272656B74757200434A |
:1023E0006F7272656374206C616365742000436F63 |
:1023F0007272656374206C6163657420004F72694A |
:10240000656E74696572756E672020004F7269652C |
:102410006E74696572756E672020004F7269656E13 |
:10242000746174696F6E202020000000010C0301AC |
:1024300001010000010C040202020000010C010372 |
:1024400003030000010C0204040400030119050544 |
:102450000505000301190606060600030119070712 |
:1024600007070003011908080808000301190909F2 |
:102470000909000301190A0A0A0A000301190B0BD2 |
:102480000B0B000301190C0C0C0C0000000C63007A |
:10249000000000020004660000000006000527019D |
:1024A0000101010200010D000001010200200D01E7 |
:1024B0000101010200080D010101010200100D00DF |
:1024C00000000102000466000000010200400D014E |
:1024D0000101010200800D000000010200040D0056 |
:1024E0000000020000141708080802000014181069 |
:1024F0001010020100F719060606020100F760003D |
:1025000000000302000164000000030200026400F6 |
:1025100000000302000464000000030200086400DD |
:102520000000030100F73B323232030000F73C5A4F |
:102530005A5A030000F73D323232030000F7414E91 |
:102540004E4E030000F7424E4E4E040200010D01B4 |
:1025500001010402000166000000040200020D01F6 |
:1025600001010402000266010101040100F710FFED |
:10257000FFFF040000F70E1E1E1E040100F7110FDE |
:102580000F0F040100F70F1E1E1E040100F71300B9 |
:102590000000040000F7120F0F0F040000F71408EA |
:1025A0000808040100F715404040040000F7160039 |
:1025B0000000050100F72D646464050000F72E2873 |
:1025C00028280502000165010101050000F72F0020 |
:1025D0000000050000F730F7F7F7050100F7316458 |
:1025E0006464050000F73228282805020001650010 |
:1025F0000000050000F733000000050000F734F785 |
:10260000F7F70500020835060606050000F736282C |
:102610002828050500F737000000050100F7387D80 |
:102620007D7D050100F7397D7D7D050100F73A7D4F |
:102630007D7D060200200D010101060100F750FE1C |
:10264000FEFE060100F751646464060000F75A08B4 |
:102650000808060000F759060606060100F7525A58 |
:102660005A5A060100F7535A5A5A060100F7545AAB |
:102670005A5A060100F7554B4B4B060100F7564BD3 |
:102680004B4B060100F7574B4B4B060100F7580028 |
:102690000000060100F75B5A5A5A060100F75C1E5B |
:1026A0001E1E060100F75D646464060100F75E64A7 |
:1026B0006464060000F75F020202070400FF4A5F3D |
:1026C0005F5F070100F74B1E1E1E070400FF4CF35F |
:1026D000F3F3070100F74D1E1E1E070200106400F1 |
:1026E0000000070400FF4EAAAAAA07020020640106 |
:1026F0000101070400FF4FAAAAAA070200406401D3 |
:102700000101080000F71A080808080000F71BE696 |
:10271000E6E6080100F71D808080080100F76200EE |
:102720000000080000F724212121080000F7265AA4 |
:102730005A5A080000F7252D2D2D090100F71E64B7 |
:102740006464090100F71F787878090100F7200A0E |
:102750000A0A090100F721646464090100F722787C |
:102760007878090100F745464646090200800D00C9 |
:102770000000090000F71C1B1B1B090000F7432089 |
:102780002020090100F728101010090000F744006C |
:10279000000009000008236464640A0100F72900AE |
:1027A00000000A0100F72A0000000A0100F72B00D0 |
:1027B00000000A0100F72C0000000A0100F74600A3 |
:1027C00000000A0100F7470000000A0100F7480076 |
:1027D00000000A0100F7490000000B0200400D0054 |
:1027E00000000B0100F73E5A5A5A0B0100F73F5008 |
:1027F00050500B0100F7404646460C05001761009B |
:1028000000004552524F523A206E6F20646174614D |
:10281000004552524F523A206E6F2064617461003D |
:10282000436F70792053657474696E6700201A20B5 |
:102830002020201B20202020204261636B202020AC |
:102840000C00456469742053657474696E673A00BE |
:102850001B001A00201A202020201B2020202020CE |
:102860004261636B2020200C0043686F6F7365200A |
:1028700053656374696F6E3A001B00414354004A0C |
:1028800065740053506C0053506800205350005042 |
:10289000504D0057504500530020204E0020205935 |
:1028A000002050001A00201A202020201B20202069 |
:1028B00020204261636B2020200C0043686F6F73FF |
:1028C0006520506172616D657465723A00201A204E |
:1028D0002020201B20202020204261636B2020200C |
:1028E0000C0020003E004143542044534C004A65F4 |
:1028F0007469005370656B7472756D204C6F52650E |
:1029000073005370656B7472756D204869526573FE |
:10291000005370656B7472756D0050504D00201A35 |
:10292000202020201B20202020204261636B2020BB |
:10293000200C0020001A004F0058002019202020F1 |
:10294000536574202020204261636B2020200C00FE |
:1029500057504500530028312D5331322F5729202D |
:1029600028643A2020202900201820202020192027 |
:10297000202020204261636B2020200C00506F003B |
:10298000282020202D202020292028643A506F2044 |
:1029900029002018202020201920202020204261FA |
:1029A000636B20200C0C00282020202D20202029C3 |
:1029B0002028643A202020290020182020202019D7 |
:1029C00020202020204261636B2020200C001D006D |
:1029D000200020001D002A002A004E005900201A65 |
:1029E000202020201B20202020204261636B2020FB |
:1029F000200C00456469742053657474696E673AED |
:102A000000202020202020202020202020202020E6 |
:102A10002020202020004552524F522020202020EC |
:102A200020202020202020202020004552524F52DC |
:102A300020202020202020202020202020202000B6 |
:102A40007772697474656E20616E64206163746965 |
:102A50007661746564005265616C6C792077616E93 |
:102A60007420746F20636F70793F0046726F6D2021 |
:102A70002020546F20204261636B202020446F008F |
:102A80002020546F2053657474696E673A00467253 |
:102A90006F6D2053657474696E673A00436F707987 |
:102AA0002053657474696E673A004552524F520064 |
:102AB000616374697661746564007361766564202E |
:102AC000616E6400201A202020201B20202020205E |
:102AD000457869742020200C006E6F0079657300C2 |
:102AE000536176652053657474696E6720783F0082 |
:102AF0004C6F77426174205761726E202000004451 |
:102B00006973706C2E54696D656F757400004C4369 |
:102B100044204F7269656E742E202000004C616E57 |
:102B200067756167652020202020000057692054C8 |
:102B3000582F5258204368616E00005769204E6537 |
:102B400074572E204772702E00005769204E65740E |
:102B5000572E204D6F646500005769204E657457ED |
:102B60002E204D6F64653A005769204E6574572ECC |
:102B7000204772702E3A0057692054582F5258201F |
:102B80004368616E3A004C616E677561676520202D |
:102B9000203A20004C4344204F7269656E742E3AEF |
:102BA0002000446973702E54696D656F7574203A06 |
:102BB000004C6F77426174205761726E20563A0064 |
:102BC0001B001A002018202020201920202020205F |
:102BD0004261636B2020200C2000504D4B2D546F20 |
:102BE0006F6C205365747570004E6F726D616C2050 |
:102BF0000052657665727365002018202020201928 |
:102C000020202020204261636B2020200052657626 |
:102C100065727365004E6F726D616C2000456E6762 |
:102C20006C697368004672616E6365200044657567 |
:102C30007473636800456E676C69736800467261FF |
:102C40006E63652000446575747363680020182006 |
:102C50002020201920202020204261636B2020208A |
:102C600000456E676C697368004672616E6365004B |
:102C70004465757473636800536C61766520004E1B |
:102C80006F726D616C0020182020202019202020F8 |
:102C900020204261636B202020004E6F726D616CBA |
:102CA00000536C6176652000201820202020192018 |
:102CB000202020204261636B20202000201820204B |
:102CC00020201920202020204261636B202020003A |
:102CD00014BE88E10FB6F8948093600010926000F3 |
:102CE0000FBE11241FBECFEFD0E1DEBFCDBF11E07C |
:102CF000A0E0B1E0E2E8F1EB02C005900D92A23154 |
:102D0000B107D9F71CE0A2E1B1E001C01D92AB35DB |
:102D1000B107E1F70E94C22E0C94BF580C9400003A |
:102D2000CF93DF93782FEA01662341F19C01D9010B |
:102D300092E02EEF0BC0FE01E90FF11D8F7780832B |
:102D40009F5F11968A2F871B861750F48C9187FFFF |
:102D5000F2CFFE01E90FF11D20839F5F8C91EBCF35 |
:102D6000E92FF0E092509F01EC0FFD1F10828FEFD2 |
:102D700088839983C901DF91CF910895E2E0F0E063 |
:102D800090E022E030E0F0CF1F93CF93DF93182F35 |
:102D90000E9421518FEF0E94C05182E00E94C051D9 |
:102DA0008EEF0E94C051812F0E94C05124EF31E06C |
:102DB00044EF51E0CA010197F1F721503040D1F7BB |
:102DC00010E0C4EFD1E00E942151482F50E028EEDE |
:102DD00033E0FE013197F1F721503040D1F71F5F0A |
:102DE0004115510549F41A3071F720E030E0C9016E |
:102DF000DF91CF911F9108951A30B9F346305105F4 |
:102E000039F02FEF30E0C901DF91CF911F91089584 |
:102E100060E00E94FA270E94215160E00E94FA2798 |
:102E20000E942151182F60E00E94FA27212F30E0E4 |
:102E3000DECFFF920F931F93182F062F8FEF0E9464 |
:102E4000C05182E00E94C051812F0E94C051802F4A |
:102E50000E94C051FF2404EF11E00E94215190E034 |
:102E600028EE33E0F8013197F1F721503040D1F7E7 |
:102E7000009791F4F3948AE0F81679F780E062E025 |
:102E80004AE950E020E00E94E6232FEF30E0C9013C |
:102E90001F910F91FF900895069781F720E030E091 |
:102EA000C9011F910F91FF900895CF93DF935E9812 |
:102EB00028EE33E044EF51E0CA010197F1F72150C9 |
:102EC0003040D1F728980E94AC5284E190E00E94F3 |
:102ED0007C5180E060E046E851E020E00E94E6237B |
:102EE00080E061E046E751E020E00E94E62388E7C9 |
:102EF00090E00E94C416EC0181E0809312012097BB |
:102F000071F1CF3FD10539F0209771F45E9A289A7C |
:102F1000DF91CF9108950E94302280E060E044E488 |
:102F200051E020E00E94E6230E94302280911201AD |
:102F3000813009F46AC08230C1F180E061E04DED7A |
:102F400050E020E00E94E62389E061E04C2F20E081 |
:102F50000E94D0275E9A289ADF91CF91089587E04A |
:102F600092E00E947C5180E061E046E651E020E082 |
:102F70000E94E62388E790E00E94C416EC0182E0FC |
:102F800080931201209709F0BCCF0E94302280E08C |
:102F900060E046E551E020E00E94E6231092120135 |
:102FA0005E9A289ADF91CF91089580E060E04FE12A |
:102FB00051E020E00E94E62383E064E00E941917BC |
:102FC000892B69F520E137E244EF51E0CA0101970E |
:102FD000F1F721503040D1F780E061E04AEF50E056 |
:102FE00020E00E94E62320E23EE444EF51E0CA01E3 |
:102FF0000197F1F721503040D1F780E061E046EED3 |
:1030000050E020E00E94E62398CF80E060E041E3BA |
:1030100051E020E00E94E623809112018CCF80E0F5 |
:1030200061E04EE051E020E00E94E62386CF1F934E |
:10303000CF93DF930E94551780911201882321F4CA |
:10304000DF91CF911F91089580E062E049EC50E05C |
:1030500020E00E94E6235E9880E593EC0197F1F76B |
:1030600028980E94AC528BE461E00E941917EC0191 |
:103070008CE461E00E941917892B09F05CC010E014 |
:10308000CD2B09F011E088E560E00E941917892B2B |
:1030900009F013E08DE463E00E941917892B09F011 |
:1030A00014E080E560E10E941917892B09F015E012 |
:1030B00084E560E40E941917892B09F016E081E588 |
:1030C00062E40E941917892B09F017E08FE461E090 |
:1030D0000E941917892B09F018E083E561E00E942E |
:1030E0001917892B09F019E086E561E00E9419178C |
:1030F000892B09F01AE08EE464E00E941917892BED |
:10310000E1F01BE080E062E047EB50E020E00E944D |
:10311000E623812F60E00E94FA2784E190E00E947C |
:103120007C515E9A80E593EC0197F1F7289ADF9144 |
:10313000CF911F91089512E0A6CF112319F780E0D7 |
:1031400062E045EA50E020E00E94E623E6CF4F929D |
:103150005F926F927F928F929F92AF92BF92CF9227 |
:10316000DF92EF92FF920F931F93DF93CF930F9213 |
:10317000CDB7DEB7E0911D01F0E0EE5EFE4F80813D |
:1031800089830E94302280E063E04DEC51E020E032 |
:103190000E94252480E064E04EEB51E020E00E9494 |
:1031A000252481E480931B0120ED37E044EF51E0BA |
:1031B000CA010197F1F721503040D1F710923D013B |
:1031C00084E190E09093480B8093470B00E0598195 |
:1031D00011E6772473946E010894C11CD11CA1E000 |
:1031E000AA2EB12CF4E18F2E912CE4EFEE2EE1E02B |
:1031F000FE2E71E1672E60E2462E62E0562E5032BE |
:10320000D8F56DB77EB7675070400FB6F8947EBFA3 |
:103210000FBE6DBFEDB7FEB73196ADB7BEB7119615 |
:103220001C9311827282D482C382B682A5820E94CC |
:10323000BA52EDB7FEB737960FB6F894FEBF0FBE81 |
:10324000EDBF80913D01882331F48091470B90912F |
:10325000480B892BB1F78091470B9091480B892B34 |
:1032600019F50F5F9092480B8092470B023308F0DC |
:103270007BC05981503228F2E0911D01F0E0EE5EF2 |
:10328000FE4F50830F90CF91DF911F910F91FF90D0 |
:10329000EF90DF90CF90BF90AF909F908F907F90F6 |
:1032A0006F905F904F9008950E94E751E0913F0129 |
:1032B000F091400140815981451779F028EE33E0C3 |
:1032C000C7010197F1F721503040D1F79092480B98 |
:1032D0008092470B10923D0192CF8EE064E050E067 |
:1032E00022E030E000E00E94C22A40913F0150916C |
:1032F0004001FA018191869DD001112420911D0188 |
:10330000822F90E00197BC01649DC001659D900DE6 |
:10331000749D900D1124A80FB91FA257BE4F80E1D4 |
:1033200001900D928150E1F7DA018C9190E030E04C |
:1033300021503040FC01E295F295F07FFE27E07FBE |
:10334000FE27E80FF91F249DC001259D900D349D97 |
:10335000900D1124E80FF91FE257FE4F108A598192 |
:103360005F5F598300E0B2CF80E062E04FEA51E056 |
:1033700020E00E94252484E690E09093480B8093FF |
:10338000470B8091470B9091480B892BD1F75981BE |
:1033900073CF4F925F926F927F928F929F92AF9274 |
:1033A000BF92CF92DF92EF92FF920F931F93DF9322 |
:1033B000CF930F92CDB7DEB70E94302288EC90E019 |
:1033C0009093480B8093470BE0911D01F0E0EE5E77 |
:1033D000FE4F8081803208F469C28091470B909142 |
:1033E000480B892B91F40F90CF91DF911F910F9192 |
:1033F000FF90EF90DF90CF90BF90AF909F908F9015 |
:103400007F906F905F904F90089584E480931B01AC |
:1034100010923D0188EC90E09093480B8093470B0D |
:103420008AE089832DB73EB7275030400FB6F89415 |
:103430003EBF0FBE2DBFEDB7FEB7319684E6ADB7E8 |
:10344000BEB711968C93118281E082833E0108946D |
:10345000611C711C7482638281E090E09683858395 |
:103460000E94BA528CE291E090934A0B8093490BF0 |
:10347000FF2400E010E0EDB7FEB737960FB6F894E2 |
:10348000FEBF0FBEEDBFB0E2CB2EB2E0DB2E8091CF |
:103490001D0190E001978C9DA0018D9D500D9C9D7C |
:1034A000500D1124400F511F42575E4F80E06F2D89 |
:1034B00020E00E945F24F3940F5E1F4FF8E0FF1698 |
:1034C00031F7DD24A8EC4A2E512CFAE0CF2EE0E2B1 |
:1034D000AE2EE2E0BE2E74EF872E71E0972E809123 |
:1034E0003D01882309F07FC18091490B90914A0BDF |
:1034F000892B09F44FC180E10E94D24F882309F43F |
:1035000074C0DA94F3E0DF220E9430228D2D90E027 |
:103510008C011695102F002717950795880F991F76 |
:10352000880F991F880F991F080F191FFF2480917A |
:103530001D0190E001978A9DA0018B9D500D9A9DE1 |
:10354000500D1124400F511F42575E4F80E06F2DE8 |
:1035500020E00E945F24F3940F5E1F4F28E0F216D4 |
:1035600031F710911C01113009F47AC080E40E94F7 |
:10357000D24F882339F48091470B9091480B892BC7 |
:1035800009F0ADCF19822DB73EB7275030400FB6A6 |
:10359000F8943EBF0FBE2DBFEDB7FEB7319684E65F |
:1035A000ADB7BEB711968C93118281E0828374828D |
:1035B000638281E090E0968385830E94BA521092E4 |
:1035C0001B0110923D018091470B9091480BEDB784 |
:1035D000FEB737960FB6F894FEBF0FBEEDBF892B2E |
:1035E00009F477C10E947752FECE80E20E94D24F4A |
:1035F000882309F4B6CFD39433E0D3220E9430223B |
:103600008D2D90E08C011695102F002717950795AA |
:10361000880F991F880F991F880F991F080F191F6E |
:10362000FF2480911D0190E001978A9DA0018B9D50 |
:10363000500D9A9D500D1124400F511F42575E4F5F |
:1036400080E06F2D20E00E945F24F3940F5E1F4FF7 |
:1036500088E0F81631F710911C01113009F086CF7F |
:1036600080E80E94D24F882309F480CF1982ADB739 |
:10367000BEB717970FB6F894BEBF0FBEADBFEDB77C |
:10368000FEB7319684E611968C9311821283748270 |
:10369000638281E090E0968385830E94BA5220ED98 |
:1036A00037E0EDB7FEB737960FB6F894FEBF0FBE02 |
:1036B000EDBFC4010197F1F721503040D1F780915F |
:1036C0001D01813009F41BC10E9477525092480BB2 |
:1036D0004092470B20ED37E0C4010197F1F72150EC |
:1036E0003040D1F7E0911D01F0E0EE5EFE4F8081A9 |
:1036F000803208F40BC184E480931B0110923D01D9 |
:103700005092480B4092470BC9822DB73EB72750C5 |
:1037100030400FB6F8943EBF0FBE2DBFEDB7FEB7D9 |
:10372000319684E6ADB7BEB711968C93118281E0D5 |
:1037300082837482638281E090E0968385830E9415 |
:10374000BA52EDB7FEB737960FB6F894FEBF0FBE6C |
:10375000EDBF0E943022FF2400E010E080911D01A7 |
:1037600090E001978A9DA0018B9D500D9A9D500D70 |
:103770001124400F511F42575E4F80E06F2D20E013 |
:103780000E945F24F3940F5E1F4FF8E0FF1631F79D |
:10379000DD24ECCEC982ADB7BEB717970FB6F8944B |
:1037A000BEBF0FBEADBFEDB7FEB7319684E6119632 |
:1037B0008C93118281E082837482638281E090E045 |
:1037C000968385830E94BA528CE291E090934A0BD3 |
:1037D0008093490BEDB7FEB737960FB6F894FEBF4E |
:1037E0000FBEEDBF88CE0E94E75100913F011091BE |
:1037F000400184E160E04D2D0E94712880911D01FF |
:10380000813009F456C0823009F45BC084E161E084 |
:1038100049EA51E020E00E942524ED2CFF24EE0C23 |
:10382000FF1CEE0CFF1CEE0CFF1C0894E11CF11CAD |
:10383000EE0CFF1CE00EF11E10E00EC08CE027E045 |
:1038400030E0612F00E00E94412A1F5F82E090E09B |
:10385000E80EF91E183019F1D7014D915C91B8EDC1 |
:10386000413F5B075CF3ECEF49315E0784F0FFEF0B |
:103870004D395F0784F023E0473E520724F48FE080 |
:1038800024E030E0DECF37E24F30530724F08DE004 |
:1038900026E030E0D6CF8EE025E030E0D2CF509267 |
:1038A000480B4092470B10923D011ECE0E94A71874 |
:1038B00094CD84E161E04BEA51E020E00E942524B0 |
:1038C000ACCF84E161E04DEA51E020E00E94252484 |
:1038D000A4CF0E94302280E062E04AE951E020E07B |
:1038E0000E94252484E690E09093480B8093470B38 |
:1038F0008091470B9091480B892BD1F773CE0E9492 |
:1039000092545092480B4092470BE4CE0E94A71865 |
:10391000F2CE089508953F924F925F926F927F92F8 |
:103920008F929F92AF92BF92CF92DF92EF92FF92CF |
:103930000F931F93DF93CF9300D0CDB7DEB788E40A |
:1039400080931B010E94302280911D01813009F477 |
:103950000FC180911C01823009F402C180E067E050 |
:103960004CE352E020E00E94E62380E060E044E384 |
:1039700052E020E00E94252410923D0184EF91E066 |
:103980009093480B8093470B8CEF8983BB247E0177 |
:103990000894E11CF11C58E6A52E9924939441E06B |
:1039A000C42ED12C88248A9404EF11E034EF632EC6 |
:1039B00031E0732E2CEF522E9DEF492E8EEF382ED4 |
:1039C0008DB79EB707970FB6F8949EBF0FBE8DBFF9 |
:1039D000EDB7FEB73196ADB7BEB71196AC92118276 |
:1039E0009282F482E382D682C5820E94BA52898290 |
:1039F00024EC39E08DB79EB707960FB6F8949EBFBA |
:103A00000FBE8DBFC8010197F1F721503040D1F7AB |
:103A100080913D01882309F053C080E10E94D24F7C |
:103A2000882309F446C0398280E40E94D24F88235B |
:103A300039F48091470B9091480B892B09F0C0CF46 |
:103A400080EF0E94D24F10921B0110923D01809195 |
:103A5000470B9091480B892BB1F4BB2009F072C041 |
:103A600080E062E045ED51E020E00E94252484E6FC |
:103A700090E09093480B8093470B8091470B909177 |
:103A8000480B892BD1F70E9477520F900F90CF915E |
:103A9000DF911F910F91FF90EF90DF90CF90BF903B |
:103AA000AF909F908F907F906F905F904F903F90DE |
:103AB000089580E20E94D24F882351F14982B4CF09 |
:103AC0000E94E75180911C01882389F490914D0B4D |
:103AD000915690931C019130C1F180E067E04EE077 |
:103AE00052E020E00E94E62382E080931D011092C4 |
:103AF0009F0B80E062E04FE45BE00E948C24109218 |
:103B00003D017092480B6092470BBB24B39485CF64 |
:103B100080911C01813009F087CF80E80E94D24F4C |
:103B2000882309F481CF80911D01813049F10E94E1 |
:103B3000775280E067E044EE51E020E00E94E62307 |
:103B4000598272CF0E9430228BCF67E04FE152E062 |
:103B500020E09A830E94E6239A8190931D01C7CFAB |
:103B600080E067E041E552E020E00E94E623FDCEE0 |
:103B700080E067E042E652E020E00E94E623F5CED6 |
:103B80000E94925480E067E049EF51E020E00E94FB |
:103B9000E623598249CF80E090E06091D1050E94F0 |
:103BA000A1586091D40581E090E00E94A1586091F5 |
:103BB000D00582E090E00E94A1586091D30583E097 |
:103BC00090E00E94A1586091CF0584E090E00E94AF |
:103BD000A1586091D20585E090E00E94A1586091C3 |
:103BE000D60687E090E00E94A158089580E090E01A |
:103BF0000E9499588093D10581E090E00E949958E5 |
:103C00008093D40582E090E00E9499588093D0057B |
:103C100083E090E00E9499588093D30584E090E07F |
:103C20000E9499588093CF0585E090E00E949958B2 |
:103C30008093D20587E090E00E9499588093D60641 |
:103C400086E090E00E949958823009F455C089E8D6 |
:103C50008093D1051092D4051092D00581E0809315 |
:103C6000D30582E48093CF051092D2051092D60638 |
:103C700080E090E069E80E94A1586091D40581E05D |
:103C800090E00E94A1586091D00582E090E00E94EF |
:103C9000A1586091D30583E090E00E94A158609103 |
:103CA000CF0584E090E00E94A1586091D20585E0A4 |
:103CB00090E00E94A15886E090E062E00E94A15846 |
:103CC0006091D60687E090E00E94A1580E943022C1 |
:103CD00080EA92E060E00E94EF238AE892E060E0F0 |
:103CE0000E94EF2387E792E060E00E94EF2380E8E4 |
:103CF0000E94D24F8823D9F30895FC0180818093DC |
:103D0000D10681818093D20682818093D3069381EC |
:103D10009093D4066091D1067091D2060895909147 |
:103D20001501980F9093150180911601890F8093CA |
:103D300016010895CF92DF92EF92FF920F931F9397 |
:103D4000CF93DF9380E10E94D24F882319F58091B1 |
:103D50001A01823039F180E20E94D24F882339F073 |
:103D600080911A01813009F46EC110921A0180917C |
:103D70001701813009F419C180911A01813009F4C9 |
:103D80004FC0DF91CF911F910F91FF90EF90DF9087 |
:103D9000CF90089580911A01813021F481E08093C1 |
:103DA0001A01D9CF0E94302280E060E044E356E05F |
:103DB00020E00E94252480E061E048E256E020E017 |
:103DC0000E94252480E062E04CE156E020E00E9461 |
:103DD000252480E063E040E156E020E00E942524B5 |
:103DE00080E064E044E056E020E00E94252480E08A |
:103DF00065E048EF55E020E00E94252480E066E081 |
:103E00004CEE55E020E00E94252480E067E040EE83 |
:103E100055E020E00E94252481E080931A019BCF89 |
:103E200080911701813009F0ACCF80911801863064 |
:103E300009F434C1823109F4A9C1823009F0A1CF5B |
:103E400085EE95E00E947D1E28EE33E040E050E0D4 |
:103E50000E941E588BE067E0A90124E030E000E0FA |
:103E60000E94C22A80E167E047EB55E020E00E9413 |
:103E7000252489ED95E00E947D1E6B017C0120E8E0 |
:103E800036E948E950E00E941E588BE065E0A90140 |
:103E900023E030E00E94C22A8EE065E045EB55E069 |
:103EA00020E00E942524C701B60128EE33E040E05F |
:103EB00050E00E941E58CA01B90120E137E240E0FB |
:103EC00050E00E941E589B01AC018FE065E0A90103 |
:103ED00024E030E001E00E94C22AC701B6012AE0D6 |
:103EE00030E040E050E00E941E58CA01B90124E6CB |
:103EF00030E040E050E00E941E589B01AC0183E19D |
:103F000065E0A90122E030E00E94C22A8DED95E033 |
:103F10000E947D1E6B017C0120E836E948E950E0F3 |
:103F20000E941E588BE066E0A90123E030E000E02B |
:103F30000E94C22A8EE066E043EB55E020E00E943A |
:103F40002524C701B60128EE33E040E050E00E948E |
:103F50001E58CA01B90120E137E240E050E00E945A |
:103F60001E589B01AC018FE066E0A90124E030E01F |
:103F700001E00E94C22AC701B6012AE030E040E019 |
:103F800050E00E941E58CA01B90124E630E040E02A |
:103F900050E00E941E589B01AC0183E166E0A9013C |
:103FA00022E030E00E94C22AECCE809118018033DA |
:103FB00009F0E2CE80911A01882309F0DFCEF0905B |
:103FC000D905FF2009F4DDCECEEDD5E0EE2410E0DA |
:103FD000CC244881812F6E2D50E023E030E000E0BA |
:103FE0000E94C22A4B81812F8C5F6E2D50E022E00F |
:103FF00030E00E94C22A8981282F30E0C9018370F5 |
:1040000090700397C9F120FD25C08A81853058F54D |
:104010008230D8F1812F895F6E2D48ED55E020E088 |
:104020000E942524C394CF1408F0A6CE80E1C816C0 |
:1040300009F4A2CE87E08C1548F489EFE82EEC0C49 |
:104040001BE02C96C6CF0E9430228FCEEC2C10E0C5 |
:104050002C96BFCF812F895F6E2D4CED55E020E06F |
:104060000E942524DFCF812F895F6E2D4AED55E018 |
:1040700020E00E942524D6CF812F895F6E2D4EED42 |
:1040800055E020E00E942524CDCF812F895F6E2D41 |
:1040900046ED55E020E00E942524C4CF8091DF0545 |
:1040A000823009F4AAC0823008F49FC0853008F03D |
:1040B0009CC08BE060E043ED55E020E00E942524A9 |
:1040C0008091E0058370833009F49FC081E160E056 |
:1040D00049EC55E020E00E9425248091E00580FF16 |
:1040E0007CC08EE060E046EC55E020E00E94252494 |
:1040F0008BE061E0409104060E947128E090020686 |
:104100008FEFE89E7001112480910106E80EF11CEA |
:10411000C70164E670E00E94F757AB018BE063E0F3 |
:1041200022E030E000E00E94C22A8DE063E041EC32 |
:1041300055E020E00E942524C70164E670E00E945B |
:10414000F757AC018EE063E022E030E001E00E942E |
:10415000C22A8DEE95E00E947D1E9B01AC018BE092 |
:1041600062E0A90125E030E000E00E94C22A81E17E |
:1041700062E04EEB55E020E00E942524809117017B |
:10418000813009F0FECD8091180154CE89EE95E082 |
:104190000E947D1E20E13EE040E050E00E94CC57AE |
:1041A00020EA36E841E050E00E941E588BE064E0CF |
:1041B000A90123E030E000E00E94C22A8FE064E021 |
:1041C00049EB55E020E00E942524809117018130C1 |
:1041D00009F0D7CD8091180130CE8EE060E043EC3D |
:1041E00055E020E00E94252483CF8BE060E04DEC79 |
:1041F00055E020E00E94252463CF8BE060E040ED95 |
:1042000055E020E00E9425245BCF81E160E04BEC8B |
:1042100055E020E00E94252460CFAF92BF92CF925C |
:10422000DF92EF92FF920F931F93DF93CF930F9242 |
:10423000CDB7DEB70E94302282E080931A018091D0 |
:104240001C01823009F4F1C080911D01813009F018 |
:104250005EC00E94075488EC90E09093480B8093D6 |
:10426000470B198210E0FF24EE246E010894C11C54 |
:10427000D11C98ECA92EB12CC6010E944E51882366 |
:10428000A9F0B092480BA092470B143009F4B2C0C9 |
:10429000153058F5113009F4A6C0113008F447C0A4 |
:1042A000123009F489C0133009F452C00F2D80E494 |
:1042B0000E94D24F882341F48091470B9091480B84 |
:1042C000892B11F0F02ED8CF80EF0E94D24F0E94A0 |
:1042D00077520F90CF91DF911F910F91FF90EF9048 |
:1042E000DF90CF90BF90AF900895163009F448C08A |
:1042F000163080F0173009F472C01830B9F680918A |
:104300001501E81609F486C00F2D10E0D0CF0E94E9 |
:1043100077529FCF89818823B9F7909115018091B9 |
:104320001601890F809316010F2D16E0C0CF8981E9 |
:10433000853B09F0BBCF1092190110921801109221 |
:10434000170110921501109216010F2D11E0AFCF39 |
:104350008981803331F0863021F0823111F0823052 |
:1043600099F68093180190911501980F909315017B |
:1043700080911601890F809316010F2D14E097CFBD |
:104380000F2D0150209119018981E22FF0E0EB52AD |
:10439000FA4F808390911501980F909315018091A9 |
:1043A0001601890F809316012F5F209319010023B6 |
:1043B00009F07DCF17E07BCF2981213009F0A4CF10 |
:1043C000909115019F5F9093150180911601890FBF |
:1043D00080931601209317010F2D13E068CFE98019 |
:1043E0000F2D18E064CF8981823609F08DCF0F2D13 |
:1043F00012E05DCF09810B3F08F086CF9091150147 |
:10440000900F9093150180911601890F80931601EA |
:1044100015E04DCF998180911601981709F074CF5E |
:104420000E949A1E0F2D10E042CF80E063E040E42E |
:1044300056E020E00E94252484E690E09093480B0B |
:104440008093470B8091470B9091480B892BD1F7B4 |
:1044500040CF2C988EBD0DB407FEFDCF2C9A089549 |
:104460001F93CF93DF9380E090E0FC01E952F94F76 |
:104470001082019624E080309207B9F710EB2B9858 |
:10448000812F0E94292280E10E9429228091D60654 |
:104490000E9429222B9AC0E0D0E080E00E942922CD |
:1044A0002196C038D105C9F71F5F183B41F710921C |
:1044B000DA0A1092DB0ADF91CF911F91089588E804 |
:1044C00093E10197F1F70895009761F020E030E063 |
:1044D00048E853E1FA013197F1F72F5F3F4F281772 |
:1044E0003907C0F308951092DA0A1092DB0A8CE5BE |
:1044F0008CBD81E08DBD2C9A2A9820E030E048E800 |
:1045000053E1CA010197F1F72F5F3F4F2A30310580 |
:10451000C1F72A9A2C982B9880E40E942922809136 |
:10452000D606882351F180EA0E94292288EC0E9455 |
:10453000292286EA0E94292282EA0E9429228FE209 |
:104540000E94292288EF0E94292280E00E942922CD |
:1045500087E20E94292281E80E94292286E10E94A6 |
:1045600029228CEA0E94292280E00E9429228FEAD7 |
:104570000E9429220E943022089581EA0E94292265 |
:1045800080EC0E942922D5CFFF920F931F938C01BC |
:10459000F62E2B98880F892F881F990B919580559F |
:1045A0000E9429228091D6060F77080F802F8295CE |
:1045B0008F70805F0E942922802F8F700E94292295 |
:1045C0002B9A8F2D0E9429221F910F91FF90089501 |
:1045D000CF93DF93C0E0D0E0FE01E95AF84F80812D |
:1045E000FE01E952F94F80836081CE010E94C4220E |
:1045F000219683E0C038D80779F7FE01E952F94FD8 |
:104600001082CE0160E00E94C422219684E0C03076 |
:10461000D80799F7DF91CF910895EF92FF920F930A |
:104620001F93CF93DF93582FE22E4F3D09F487C09D |
:10463000403E08F450C0463F09F487C04C3F09F49F |
:1046400054C0443E09F47EC04F77842F90E09C0113 |
:10465000220F331F280F391F220F331FC62FD0E020 |
:10466000D695DC2FCC27D795C79586E0589FC001FB |
:104670001124C80FD91FD37089010D541D4FFF2479 |
:1046800015C0EE2009F453C081E0E81609F448C0D3 |
:10469000FE01E952F94F6081CE010E94C422F394D9 |
:1046A0000F5F1F4F219686E0F81661F1F801949193 |
:1046B000F2E0EF1671F1FE1520F7E3E0EE16D9F007 |
:1046C000F4E0EF1629F7FE01E952F94F8081909549 |
:1046D00089238083E0CF463D79F14C3D49F0443C4D |
:1046E00009F0B2CF20E030E0B9CF2EE130E0B6CF14 |
:1046F00028E130E0B3CFFE01E952F94F80818923F0 |
:104700008083C9CFDF91CF911F910F91FF90EF90E0 |
:104710000895FE01E952F94F808189278083BBCF3C |
:10472000FE01E952F94F8081892B8083B4CFFE01CD |
:10473000E952F94F9083AFCF2CE030E08FCF24EBDC |
:1047400030E08CCF26E030E089CF22E130E086CF28 |
:104750008091DB0A8F5F8093DB0A883008F408952C |
:104760000E94E82287E08093DB0A08951F93CF938D |
:10477000DF93EC01162FFC0184918823C1F422C041 |
:104780004D3071F08091DA0A6091DB0A212F0E948E |
:104790000D238091DA0A8F5F8093DA0A853110F059 |
:1047A0001092DA0A2196FE018491882359F0FE01C5 |
:1047B00044914A3029F70E94A8232196FE01849152 |
:1047C0008823A9F7DF91CF911F9108958093DA0A8A |
:1047D0006093DB0ACA01622F0E94B62308951F93DB |
:1047E000CF93DF93EC01162FFC0184918823B1F461 |
:1047F00020C04D3011F18091DA0A6091DB0A212F3F |
:104800000E940D238091DA0A8F5F8093DA0A853146 |
:10481000B8F42196FE018491882359F0FE01449159 |
:104820004A3039F70E94A8232196FE0184918823FB |
:10483000A9F7DF91CF911F9108951092DA0AE9CF7D |
:104840001092DA0A0E94A823EFCF8093DA0A6093CD |
:10485000DB0ACA01622F0E94EF2308951F93CF93B2 |
:10486000DF93EC01162F48814423A9F41CC04D307E |
:10487000F1F08091DA0A6091DB0A212F0E940D236A |
:104880008091DA0A8F5F8093DA0A853198F4219655 |
:104890004881442341F04A3051F70E94A8232196D1 |
:1048A00048814423C1F7DF91CF911F910895109261 |
:1048B000DA0AEDCF1092DA0A0E94A823F0CF809393 |
:1048C000DA0A6093DB0ACA01622F0E942E2408953F |
:1048D000CF93DF93EC014881442329F41AC0219639 |
:1048E00048814423B1F08091DA0A6091DB0A20E02C |
:1048F0000E940D238091DA0A8F5F8093DA0A843157 |
:1049000070F31092DA0A0E94A8232196488144236A |
:1049100051F7DF91CF9108958093DA0A6093DB0A13 |
:10492000CA010E9468240895982F87FD26C060342C |
:1049300020F5862F869586958695282F30E036952A |
:10494000322F222737952795290F311D677081E077 |
:1049500090E0582F01C0550F6A95EAF7652F337024 |
:104960004130A1F0413050F04230B9F0F901E95244 |
:10497000F94F6081C9010E94C4220895F901E952EA |
:10498000F94F8081609586238083F3CFF901E95246 |
:10499000F94F8081852B8083ECCFF901E952F94FE3 |
:1049A000808185278083E5CF2F923F924F925F923F |
:1049B0006F927F928F929F92AF92BF92CF92DF922F |
:1049C000EF92FF920F931F93DF93CF9300D00F923C |
:1049D000CDB7DEB70B83482E5524862E9924A42FFD |
:1049E000B0E0BA83A983AD0144195509222E3324BE |
:1049F00091012819390957FD95C0FA014115510552 |
:104A000009F07BC03F0137FD7BC0F901211531055D |
:104A100009F070C05F016A0157FD78C0790137FD68 |
:104A20007CC04B810E949424EC14FD04F4F5E981D0 |
:104A3000FA814E165F0619F1C601D7FC79C095952B |
:104A4000879500271127081B190B460C571C0E0DC4 |
:104A50001F1D1016110624F48A0C9B1C0C191D092D |
:104A6000842D682D4B810E949424460C571CC20152 |
:104A70008619970929813A812817390741F70F903C |
:104A80000F900F90CF91DF911F910F91FF90EF90BA |
:104A9000DF90CF90BF90AF909F908F907F906F905E |
:104AA0005F904F903F902F9008958214930439F3B4 |
:104AB000C701F7FC3BC09595879500271127081B78 |
:104AC000190B8A0C9B1C0C0D1D1D1016110624F4CD |
:104AD000460C571C0E191F09842D682D4B810E940E |
:104AE00094248A0C9B1CC4018A199B092816390638 |
:104AF00051F7C5CFE1E0F0E08DCFE1E0F0E082CF0B |
:104B0000AA24AA94BA2C6A0157FF88CFD094C194E2 |
:104B1000D108D394790137FF84CFF094E194F10860 |
:104B2000F3947FCF66246A94762C6DCF0196C3CF21 |
:104B3000019685CFCF92DF92EF92FF920F931F9352 |
:104B4000CF93DF93D82E942F822FC02ED7FC32C064 |
:104B50004D2D50E0603408F06FE3262F30E07901EE |
:104B6000E80EF11C81E4E816F10418F010E4E12EDF |
:104B7000F12CE901E216F30688F0490F511D413886 |
:104B80005105A8F4142F8D2D6C2F412F2C2F0C2D97 |
:104B90000E94D4242196EC16FD06A8F7DF91CF9150 |
:104BA0001F910F91FF90EF90DF90CF90089540E814 |
:104BB00050E0E8CF0FE7D02E4FE750E0CBCFDF92A9 |
:104BC000EF92FF920F931F93CF93DF93F82E842FD2 |
:104BD000D02EF7FC38C04F2D50E0162F603408F06F |
:104BE0001FE3C12FD0E0C20FD11D480F511D413826 |
:104BF000510510F040E850E0E42E8F2D612F212F59 |
:104C00000D2D0E94D424C134D10510F0C0E4D0E0B1 |
:104C10008E2D612F4E2D2C2F0D2D0E94D4248E2DE4 |
:104C20006C2F4F2D2C2F0E94D4248F2D6C2F4F2DA5 |
:104C3000212F0E94D424DF91CF911F910F91FF90DB |
:104C4000EF90DF9008959FE7F92E4FE750E0C5CF32 |
:104C50002F923F924F925F926F927F928F929F928C |
:104C6000AF92BF92CF92DF92EF92FF920F931F937A |
:104C7000CF93DF93482E562E7A01C22E642F650DF6 |
:104C8000422F0E949424652D6E19842D4C2D0E9474 |
:104C900094248E2D840D652D4C2D0E949424842DFA |
:104CA0008E19652D4C2D0E9494241E141F040CF0A7 |
:104CB00063C0C1E0D0E0CE19DF09C701880F991F9A |
:104CC00022243324281A390A4701AA24BB2423E0CA |
:104CD000622E712C06C0C60DD71D82E090E0680ED2 |
:104CE000791ED7FD09C008948108910882E090E000 |
:104CF000280E391EC20DD31D0894A11CB11CDA2C3C |
:104D0000D40C182D150D8D2D612F4C2D0E9494243F |
:104D1000E42CEA188E2D612F4C2D0E949424152D21 |
:104D200018198D2D612F4C2D0E9494248E2D612FEA |
:104D30004C2D0E949424E82CE40C1A2D150D8E2D78 |
:104D4000612F4C2D0E949424942D9819092F892F9E |
:104D5000612F4C2D0E949424152D1A198E2D612F30 |
:104D60004C2D0E949424802F612F4C2D0E9494245E |
:104D7000A814B9040CF4AFCFDF91CF911F910F911C |
:104D8000FF90EF90DF90CF90BF90AF909F908F906B |
:104D90007F906F905F904F903F902F9008952F924B |
:104DA0003F925F926F927F928F929F92AF92BF924B |
:104DB000CF92DF92EF92FF920F931F93CF93DF93E7 |
:104DC000582EC62E7A01642F6C0D2C2D241B452DD8 |
:104DD00001E00E94D424452D4E198E2D850D6C2D99 |
:104DE0002C2D0E94D4241E141F040CF04FC0C1E0CF |
:104DF000D0E0CE19DF09C701880F991F2224332480 |
:104E0000281A390A4701AA24BB2443E0642E712CD6 |
:104E100006C0C60DD71D82E090E0680E791ED7FD52 |
:104E200009C008948108910882E090E0280E391E9C |
:104E3000C20DD31D0894A11CB11CEA2CE50CD52C85 |
:104E4000DA18282D2C0D8E2D622F4D2D01E00E9499 |
:104E5000D4242C2D28198E2D622F4D2D0E94D42460 |
:104E6000E82CE50C952D9819192F2A2D2C0D8E2D37 |
:104E7000622F492F0E94D4242C2D2A198E2D622FA7 |
:104E8000412F0E94D424A814B9041CF2DF91CF91C1 |
:104E90001F910F91FF90EF90DF90CF90BF90AF9058 |
:104EA0009F908F907F906F905F903F902F9008958C |
:104EB000CF92DF92EF92FF920F931F93CF93DF93E6 |
:104EC000082F0E94302280E696E060E00E94EF23E7 |
:104ED0001092DA0A87E08093DB0A8FE496E060E0C4 |
:104EE0000E94B62382E08093DB0A10E07801EE0C8A |
:104EF000FF1CEE0CFF1C68010894C11CD11CCC0CDB |
:104F0000DD1CCC0CDD1CEC14FD0494F51E2D12955B |
:104F1000107F02E08AE0E816F1049CF54E2D405D1A |
:104F200080E06091DB0A20E00E940D230093DA0A02 |
:104F3000C0E0D0E0412F4C0F8091DA0A6091DB0A8B |
:104F400020E00E940D238091DA0A8F5F8093DA0AB5 |
:104F50002196C031D10571F78091DB0A8F5F809374 |
:104F6000DB0A0894E11CF11C105FEC14FD0494F2C0 |
:104F7000DF91CF911F910F91FF90EF90DF90CF9035 |
:104F800008954E2D495C80E06091DB0A20E00E948C |
:104F90000D23CCCF8A3010F0895C0895805D089590 |
:104FA0000F931F93142F022F6093DB0A8F5F809360 |
:104FB000DA0A815042954F704A3098F4405D202FB4 |
:104FC0000E940D238091DA0A6091DB0A412F4F7015 |
:104FD0004A3048F0495C202F0E940D231F910F9109 |
:104FE0000895495CECCF405D202F0E940D231F9156 |
:104FF0000F9108950F931F93082F162F8091DA0AAF |
:105000008F5F8093DA0A81506091DB0A402F4295CE |
:105010004F704A3018F5405D212F0E940D2380917A |
:10502000DA0A8F5F8093DA0A81506091DB0A402FA1 |
:105030004F704A30A8F0495C212F0E940D238091C7 |
:10504000DA0A8F5F8093DA0A81506091DB0A40E2CE |
:10505000212F0E940D231F910F910895495CDCCFF1 |
:10506000405DEACFFF920F931F93CF93DF93F82E0B |
:1050700004E620E0C0E0D0E08F2D602F0E94EB57C7 |
:10508000182F8823C9F42223B9F40130A9F0802F06 |
:105090006AE00E94EB57982F2196C330D105D9F0D2 |
:1050A000109F802D1124F81A092F8F2D602F0E9438 |
:1050B000EB57182F882339F38091DA0A8F5F80939A |
:1050C000DA0A8150412F405D6091DB0A20E00E94A6 |
:1050D0000D2321E0DCCFDF91CF911F910F91FF9045 |
:1050E00008958093DA0A6093DB0A842F0E943228A5 |
:1050F0000895BF92CF92DF92EF92FF920F931F938A |
:10510000CF93DF93C82EB62E7A01CA0164E670E011 |
:105110000E94F757062F14E6C0E0D0E0402F405D14 |
:105120008C2D6B2D20E00E940D23812F6AE00E94C0 |
:10513000EB57D82EC230D105A9F02C2D2F5F109F30 |
:10514000C0011124E81AF90A8D2D8A508A30A0F086 |
:10515000C22EC7016D2D70E00E94F757062F2196D1 |
:105160001D2DDCCFDF91CF911F910F91FF90EF901C |
:10517000DF90CF90BF900895C22EC394822F6B2DE5 |
:105180004EE220E00E940D23E4CF7F928F929F9207 |
:10519000AF92BF92CF92DF92EF92FF920F931F9345 |
:1051A000DF93CF93CDB7DEB727970FB6F894DEBF66 |
:1051B0000FBECDBFF82EE62ECA0169014E0108943C |
:1051C000811C911CB4014AE050E00E946258F40135 |
:1051D00001900020E9F731977E2E7818A72CBB2488 |
:1051E000CA14DB040CF464C0CA18DB081C141D04C8 |
:1051F00014F5F39410E00EC06E2D40E320E00E9401 |
:105200000D231F5F2F2D2F5F812F90E08C159D05A3 |
:1052100094F4F22E8F2D8150002371F76E2D40E211 |
:1052200020E00E940D231F5F2F2D2F5F812F90E024 |
:105230008C159D0574F3F5013197E80DF91D00817A |
:10524000108281E0781609F448C082E0781621F4D3 |
:1052500089818D3209F449C0F092DA0AE092DB0AC2 |
:10526000C40160E00E942E24172D11501F0D812FC4 |
:105270006E2D4EE220E00E940D23812F8F5F6E2D58 |
:10528000402F20E00E940D2327960FB6F894DEBF32 |
:105290000FBECDBFCF91DF911F910F91FF90EF9087 |
:1052A000DF90CF90BF90AF909F908F907F900895A8 |
:1052B0001C141D044CF710E001C0F02E0F2D0F5FE1 |
:1052C0008F2D6E2D4AE220E00E940D231F5F812F5B |
:1052D00090E08C159D058CF3D7CF8F2D81506E2DCE |
:1052E00040E320E00E940D23BFCF8F2D81506E2D13 |
:1052F0004DE220E00E940D238F2D6E2D40E320E033 |
:105300000E940D23B1CF7F928F929F92AF92BF9256 |
:10531000CF92DF92EF92FF920F931F93DF93CF9381 |
:10532000CDB7DEB727970FB6F894DEBF0FBECDBF5F |
:10533000F82EE62ECA0169014E010894811C911CC9 |
:10534000B4014AE050E00E946258F401019000204C |
:10535000E9F731977E2E7818A72CBB24CA14DB04FA |
:105360000CF464C0CA18DB081C141D0414F5F39473 |
:1053700010E00EC06E2D40E320E00E940D231F5F61 |
:105380002F2D2F5F812F90E08C159D0594F4F22E28 |
:105390008F2D8150002371F76E2D40E220E00E9496 |
:1053A0000D231F5F2F2D2F5F812F90E08C159D0502 |
:1053B00074F3F5013197E80DF91D0081108281E049 |
:1053C000781609F448C082E0781621F489818D327C |
:1053D00009F449C0F092DA0AE092DB0AC40160E005 |
:1053E0000E942E24172D11501F0D812F6E2D4EE27D |
:1053F00020E00E940D23812F8F5F6E2D402F20E033 |
:105400000E940D2327960FB6F894DEBF0FBECDBFC6 |
:10541000CF91DF911F910F91FF90EF90DF90CF9090 |
:10542000BF90AF909F908F907F9008951C141D04A3 |
:105430004CF710E001C0F02E0F2D0F5F8F2D6E2D59 |
:105440004AE220E00E940D231F5F812F90E08C151F |
:105450009D058CF3D7CF8F2D81506E2D40E320E03A |
:105460000E940D23BFCF8F2D81506E2D4DE220E085 |
:105470000E940D238F2D6E2D40E320E00E940D230E |
:10548000B1CFAF92BF92CF92DF92EF92FF920F9384 |
:105490001F93DF93CF93CDB7DEB727970FB6F8945E |
:1054A000DEBF0FBECDBF182FC62ECA017901D02E88 |
:1054B0005E010894A11CB11CB5014AE050E00E94B5 |
:1054C0006258F50101900020E9F73197EA192E2F73 |
:1054D00030E0E216F3060CF440C0E21AF30A1E14A0 |
:1054E0001F0414F51F5F00E00EC06C2D40E320E0A8 |
:1054F0000E940D230F5F212F2F5F802F90E08E15CC |
:105500009F0594F4122F812F8150DD2071F76C2DAF |
:1055100040E220E00E940D230F5F212F2F5F802F9C |
:1055200090E08E159F0574F31093DA0AC092DB0A9F |
:10553000C50160E00E942E2427960FB6F894DEBFC6 |
:105540000FBECDBFCF91DF911F910F91FF90EF90D4 |
:10555000DF90CF90BF90AF9008951E141F0464F7A2 |
:1055600000E001C01D2DD12ED394812F6C2D4AE275 |
:1055700020E00E940D230F5F802F90E08E159F0585 |
:105580008CF3DACFAF92BF92CF92DF92EF92FF927D |
:105590000F931F93DF93CF93CDB7DEB727970FB647 |
:1055A000F894DEBF0FBECDBF182FC62ECA017901F9 |
:1055B000D02E5E010894A11CB11CB5014AE050E058 |
:1055C0000E948358F50101900020E9F73197EA190C |
:1055D0002E2F30E0E216F3060CF440C0E21AF30A74 |
:1055E0001E141F0414F51F5F00E00EC06C2D40E375 |
:1055F00020E00E940D230F5F212F2F5F802F90E06E |
:105600008E159F0594F4122F812F8150DD2071F7A4 |
:105610006C2D40E220E00E940D230F5F212F2F5FB1 |
:10562000802F90E08E159F0574F31093DA0AC092D4 |
:10563000DB0AC50160E00E942E2427960FB6F8947D |
:10564000DEBF0FBECDBFCF91DF911F910F91FF90B5 |
:10565000EF90DF90CF90BF90AF9008951E141F047D |
:1056600064F700E001C01D2DD12ED394812F6C2D45 |
:105670004AE220E00E940D230F5F802F90E08E15FC |
:105680009F058CF3DACF7F928F929F92AF92BF9259 |
:10569000CF92DF92EF92FF920F931F93162F690123 |
:1056A0007A0157FD61C0782E739440E220E00E9499 |
:1056B0000D23C701B60120E836E948E950E00E9411 |
:1056C0004058872D612FA90123E030E001E00E94BE |
:1056D000C22A872D8D5F612F4EE220E00E940D23AC |
:1056E000C701B60120E836E948E950E00E94405879 |
:1056F0006B017C01C701B60128EE33E040E050E0C9 |
:105700000E9440584901872D8C5F612FA90124E038 |
:1057100030E00E94C22AAA24BB24C501B40128E1BA |
:105720003CEF4FEF5FEF0E94CC57C60ED71EE81E2E |
:10573000F91E872D885F612FA60123E030E00E94CB |
:10574000C22A872D855F612F4EE120E00E940D2344 |
:105750001F910F91FF90EF90DF90CF90BF90AF908F |
:105760009F908F907F900895C094D094E094F0948F |
:105770000894C11CD11CE11CF11C782E73944DE2DD |
:1057800020E00E940D2395CFBF92CF92DF92EF923F |
:10579000FF920F931F93182FB62E6A01CA016CE374 |
:1057A00070E00E94F7577B01812F6B2DA70122E04B |
:1057B00030E000E00E94C22A812F8E5F6B2D4AE309 |
:1057C00020E00E940D238CE390E09C01E29EC0014A |
:1057D000E39E900DF29E900D1124C81AD90A812FD4 |
:1057E0008D5F6B2DA60122E030E001E00E94C22A0D |
:1057F0001F910F91FF90EF90DF90CF90BF90089591 |
:105800002F923F924F925F926F927F928F929F92D0 |
:10581000AF92BF92CF92DF92EF92FF920F931F93BE |
:10582000DF93CF93CDB7DEB760970FB6F894DEBFA6 |
:105830000FBECDBF8D876E877A013901C02E449F80 |
:105840009001459F300D549F300D112438872F83D0 |
:10585000669CC001679C900D769C900D11249E83E0 |
:105860008D83269D5001279DB00C369DB00C1124D0 |
:10587000F501EE0FFF1FFC83EB83660D8D85402F36 |
:105880000E9494246E8566198D85402F0E94942471 |
:105890008D858E0D6E85402F0E9494248D858E19E6 |
:1058A0006E85402F0E9494242B813C811216130692 |
:1058B0000CF060C16D817E816A197B09882777FDB4 |
:1058C0008095982F0E941F567B018C01EF81F885EF |
:1058D000BF01882777FD8095982F0E941F5620E0F2 |
:1058E00030E040E85EE30E94E4569B01AC01C80151 |
:1058F000B7010E941D550E9447570E94EC55788BB6 |
:105900006F878D809E80880C991C8F819885880F69 |
:10591000991F22273327281B390B3C872B87AD8003 |
:10592000BE80A80CB91C1301442455246624772496 |
:1059300009C0C50188199909EF85F889E80FF91F91 |
:10594000F88BEF878F85988997FD0FC00894210801 |
:105950003108EB81FC812B853C85E20FF31FFC8332 |
:10596000EB838E1B9F0B988B8F870894611C711C97 |
:10597000480C591C0D85060DEE84E20C802F6E2D0F |
:105980004C2D0E949424FE84F218802F6F2D4C2DF4 |
:105990000E9494241D851619812F6E2D4C2D0E9476 |
:1059A0009424812F6F2D4C2D0E949424A80CB91C97 |
:1059B0008B819C81481659060CF4BBCF9301510191 |
:1059C000121413040CF0BDC0B901882777FD80952F |
:1059D000982F0E941F5620E030E040E05FE30E94D5 |
:1059E0001D557B018C010894A108B1082D813E81D1 |
:1059F000B901882777FD8095982F0E941F56A8012E |
:105A000097010E94E4569B01AC01C801B7010E94B6 |
:105A1000E4567B018C01AA9CC001AB9C900DBA9C02 |
:105A2000900D1124EF81F8858E9FB0018F9F700D2E |
:105A30009E9F700D1124882777FD8095982F0E94D6 |
:105A40001F569B01AC01C801B7010E941D557B0187 |
:105A50008C012D813E818F819885289FB001299FDF |
:105A6000700D389F700D1124882777FD8095982F31 |
:105A70000E941F569B01AC01C801B7010E941C5532 |
:105A80000E9447570E94EC554B018F819885880FE3 |
:105A9000991FEE27FF27E81BF90BFA83E9832D8175 |
:105AA0003E81220F331F3A872987C1010197988BC6 |
:105AB0008F871F013094219431083394AF80B884CC |
:105AC000AE1ABF0AEB81FC81AE1ABF0A2DC00D854C |
:105AD000060D1F85EE84E10E802F6E2D4C2D0E9449 |
:105AE0009424FE84F11A802F6F2D4C2D0E94942453 |
:105AF0001D851619812F6E2D4C2D0E949424812F07 |
:105B00006F2D4C2D0E9494248F8598890197988B36 |
:105B10008F87A20CB31C8F5F9F4F99F089819A8168 |
:105B20008A0D9B1D880E991E1814190484F208947E |
:105B3000611C711C29853A85420E531E840C951CEC |
:105B4000C6CF60960FB6F894DEBF0FBECDBFCF9123 |
:105B5000DF911F910F91FF90EF90DF90CF90BF905A |
:105B6000AF909F908F907F906F905F904F903F90FD |
:105B70002F9008955301130120E030E04424552470 |
:105B8000662477241DCF0F93FA01022F4D5F5F4FDC |
:105B90009F010E94002C0F9108952F923F924F92E7 |
:105BA0005F926F927F928F929F92AF92BF92CF92AD |
:105BB000DF92EF92FF920F931F93DF93CF930F9299 |
:105BC000CDB7DEB7382E262E4983422EB8010E2DD2 |
:105BD00080E090E00E941D562BED3FE049E450E448 |
:105BE0000E94E45620E030E044E353E40E948455F0 |
:105BF0006B017C01C7010E9481554B015C0155245A |
:105C000066247724C301B2010E941D569B01AC019A |
:105C1000C501B4010E94E4560E9447574B015C0144 |
:105C2000B601C7010E9467576B017C012981622F71 |
:105C300070E080E090E00E941D569B01AC01C7011E |
:105C4000B6010E94E4560E9447570E94F155132D59 |
:105C5000160FC501B4010E94F155222D261B832D7C |
:105C6000622D412F0E94D4240F90CF91DF911F917C |
:105C70000F91FF90EF90DF90CF90BF90AF909F90EB |
:105C80008F907F906F905F904F903F902F900895EE |
:105C9000EF920F931F93942FF901E02E4D5F292F60 |
:105CA0008F010E94CD2D1F910F91EF9008952F929B |
:105CB0003F924F925F926F927F928F929F92AF929C |
:105CC000BF92CF92DF92EF92FF920F931F93382EE5 |
:105CD000262E442E40E050E0CA01B9010E941D5614 |
:105CE0002BED3FE049E450E40E94E45620E030E030 |
:105CF00044E353E40E9484556B017C01C7010E9478 |
:105D000081554B015C01552466247724C301B201FF |
:105D10000E941D562B013C01C501B401A301920153 |
:105D20000E94E4560E9447574B015C01B601C7012F |
:105D30000E9467579B01AC01C301B2010E94E45667 |
:105D40000E9447570E94F155132D160FC501B4014B |
:105D50000E94F155222D261B832D622D412F0E947A |
:105D6000D4241F910F91FF90EF90DF90CF90BF90C0 |
:105D7000AF909F908F907F906F905F904F903F90EB |
:105D80002F900895EF92FF920F931F93CF93DF937D |
:105D900082B1806F82B987B1836087B9579A8FEFDC |
:105DA00084B981E08093460B0E94732284E190E0E5 |
:105DB0000E947C510E94C24F0E94514F78940E94D1 |
:105DC000F61D0E9473228BE10E94C0518BE10E945C |
:105DD000C05185E50E94C0518AEA0E94C05180E00E |
:105DE0000E94C05186E580931B0106E7C4E1D0E024 |
:105DF0008AE5E82EF12C0E94302280E060E040E845 |
:105E000057E020E00E94E62380E061E046E757E0AB |
:105E100020E00E94E6238AE061E04CE657E020E0C3 |
:105E20000E94E62380E062E04CE557E020E00E941B |
:105E3000E62380E063E047E457E020E00E94E623A9 |
:105E400080E067E049E357E020E00E94E62312E3A8 |
:105E500080913D01882309F045C0112351F100D004 |
:105E60000F92EDB7FEB73196ADB7BEB711960C9352 |
:105E7000118212820E94BA52D093480BC093470BF2 |
:105E80000F900F900F908091470B9091480B892BAA |
:105E9000D1F780E10E94D24F882311F41150D8CF5E |
:105EA00010921C010E947D3110921C010E947D31D4 |
:105EB000F7CF80E064E042E357E020E00E94E62371 |
:105EC00080E065E04DE157E020E00E94E623F0929B |
:105ED000480BE092470B8091470B9091480B892B20 |
:105EE000D1F789CF112329F30E94E75180913F0117 |
:105EF000909140019093DD0A8093DC0A0E94302249 |
:105F00008AE097E060E00E94EF2380E097E060E0A5 |
:105F10000E94EF2380914D0B823609F494C080914A |
:105F20004D0B833651F486EE96E060E00E94EF233D |
:105F300081E080931C0180931D018CED96E060E070 |
:105F40000E94EF23E091DC0AF091DD0A80810E943B |
:105F500032288AED96E060E00E94EF23E091DC0AAF |
:105F6000F091DD0A81810E943228E091DC0AF091F3 |
:105F7000DD0A44814F598091DA0A6091DB0A20E002 |
:105F80000E940D2382E390E09093480B8093470B8F |
:105F90008091470B9091480B892BD1F70E94925426 |
:105FA00082E390E09093480B8093470B8091470BDE |
:105FB0009091480B892BD1F781E00E947E3FE091C0 |
:105FC000DE0AF091DF0A8081853509F447C00E941E |
:105FD00030228FEC96E060E00E94EF2385E50E947E |
:105FE000322883EC96E060E00E94EF2388EB96E095 |
:105FF00060E00E94EF23E091DE0AF091DF0A8081E9 |
:106000000E9432288CEA96E060E00E94EF2389E942 |
:1060100096E060E00E94EF238CE896E060E00E944A |
:10602000EF2382E896E060E00E94EF2385E796E0A8 |
:1060300060E00E94EF23E091DE0AF091DF0A8081A8 |
:10604000853561F0FFCF82EF96E060E00E94EF239C |
:1060500082E080931C0180931D016FCF10921B0181 |
:1060600010923D0188EC90E09093480B8093470B91 |
:106070008091470B9091480B892BD1F70E947D317D |
:106080000E947D31FBCF0E94302280E060E045E736 |
:1060900059E020E00E94E62380E061E04DE659E00F |
:1060A00020E00E94E62388E061E043E659E020E03A |
:1060B0000E94E62380E062E04FE459E020E00E9485 |
:1060C000E62380E063E040E459E020E00E94E6231C |
:1060D00080E064E04DE259E020E00E94E62380E0A9 |
:1060E00065E048E159E020E00E94E62380E066E0B8 |
:1060F00043E059E020E00E94E62380E067E04EEEB6 |
:1061000058E020E00E94E62380E80E94D24F8823D6 |
:10611000D9F308950E94302280E060E047EA59E018 |
:1061200020E00E94E62380E061E047E959E020E0BA |
:106130000E94E62380E067E042E859E020E00E9408 |
:10614000E62380E80E94D24F8823D9F308950F9365 |
:106150001F93982F062F142F842F692F4AE85AE097 |
:1061600020E00E942524812F602F48E85AE020E09B |
:106170000E9425241F910F910895CF92DF92EF92F4 |
:10618000FF920F931F93D82EF62E142FC22EE02EBF |
:10619000842F642F41E00E94A730012F1AC081E0B4 |
:1061A000E81611F180E10E94D24F882329F0D11620 |
:1061B000C8F081E0C81609F1101729F0802F612F6F |
:1061C00041E00E94A73080E80E94D24F012F88232F |
:1061D00061F480E20E94D24F882321F31F15F8F664 |
:1061E0001F5FE0CF1150E8CF1EEF812F1F910F915D |
:1061F000FF90EF90DF90CF9008951DEFF6CFCF92F4 |
:10620000DF92EF92FF920F931F93D82EF62E142F4A |
:10621000C22EE02E842F642F41E00E94A730012F70 |
:106220001AC081E0E81661F180E10E94D24F882314 |
:1062300029F0D116C8F081E0C81621F1101729F015 |
:10624000802F612F41E00E94A73080EC0E94D24F46 |
:10625000012F882359F480E20E94D24F882321F332 |
:106260001F15F8F61F5FE0CF1150E8CF86FD1FEF36 |
:10627000812F1F910F91FF90EF90DF90CF900895A5 |
:106280001EEFF6CF1DEFF4CFDF92EF92FF920F9348 |
:106290001F93E82EF62ED42E122F822F622F0E94EB |
:1062A000A730012F16C01E2D80E10E94D24F8823F7 |
:1062B00019F0E116B8F01F2D101729F0802F612F6B |
:1062C0004D2D0E94A73080EC0E94D24F012F8823D1 |
:1062D00059F480E20E94D24F882331F31F1518F73A |
:1062E0001F5FE2CF1150E8CF86FD1FEF812F1F9176 |
:1062F0000F91FF90EF90DF9008952F923F924F9271 |
:106300005F926F927F928F929F92AF92BF92CF9245 |
:10631000DF92EF92FF920F931F93DF93CF9300D002 |
:1063200000D00F92CDB7DEB780911C01813009F407 |
:1063300019C2823009F410C2882309F0F1C186E045 |
:106340008A83E6E06E2E712C5524198244244394EE |
:106350008824992413010894210831080E943022CE |
:1063600080E060E04BE75AE020E00E94252481E7CE |
:106370009AE060E00E94EF2380E067E04CE55AE09D |
:1063800020E00E94E623552009F013C1C401880FC4 |
:10639000991F880D991D9C01220F331F220F331F57 |
:1063A000280F391F55E9C52E57E0D52EC20ED31E32 |
:1063B0004BE2E42E48E0F42EE20EF31E89010C5667 |
:1063C000174F1D821C8291E011C02C813D812F5FEF |
:1063D0003F4F3D832C839F5FEFE0F0E0CE0EDF1E4A |
:1063E000EE0EFF1E015F1F4F973021F1AC80BD8084 |
:1063F000A80CB91CA614B70484F480911C01813048 |
:1064000009F4B4C0823009F4A8C083E0692FA80160 |
:1064100020E09B830E9425249B81EC81E530A9F636 |
:10642000A214B30494F681E066E048E55AE020E067 |
:106430000E942524F981FF2309F4A1C0C401069616 |
:10644000861597050CF4BDC082E066E0442D21E07E |
:1064500000E00E94BD30182F1E3F09F4A0C01D3F70 |
:1064600009F4B8C01F3F09F48ECF80911C01813020 |
:1064700009F4DAC0823009F4BDC08823D9F474016C |
:10648000E10EF11CF2E0EF16F10409F446C123E03D |
:10649000E216F10409F43DC134E0E316F10409F415 |
:1064A000E3C085E0E816F10409F4DEC0E6E0EE168C |
:1064B000F10411F0412E52CF0E94302280E060E0C2 |
:1064C00042E45AE020E00E94E62380E061E04DE2F1 |
:1064D0005AE020E00E94E62380E062E049E15AE0D1 |
:1064E00020E00E94E62380E063E043E05AE020E001 |
:1064F0000E94E62380E064E04DEE59E020E00E9437 |
:10650000E62380E065E048ED59E020E00E94E623C4 |
:1065100080E066E041ED59E020E00E94E62380E063 |
:1065200067E04BEB59E020E00E94E62380E10E9407 |
:10653000D24F882309F0F8C080E80E94D24F882308 |
:10654000A9F32CE088E190E00FB6F894A895809329 |
:1065500060000FBE20936000FFCF83E0692FA7018A |
:1065600020E09B830E9425249B8157CF83E0692FE5 |
:10657000A60120E09B830E9425249B814ECF5520BD |
:1065800001F52A81273068F181E065E0442D20E0A3 |
:1065900001E00E94BD30182F1E3F09F060CF5394D8 |
:1065A00031E0398395E0492E852C9924552009F452 |
:1065B000EDCE81E061E04AE55AE020E00E9425242A |
:1065C000E5CE82E065E0442D21E001E00E94BD308F |
:1065D000182F42CF5A94198282E0482E852C992494 |
:1065E000D2CE81E06A81442D20E000E00E94BD30DF |
:1065F000182F32CF7401E10EF11C81E0E816F1048E |
:10660000B9F1E2E0EE16F10409F44FC0F3E0EF1641 |
:10661000F10409F467C024E0E216F10459F50E9480 |
:10662000F53380911C0129CF7401E10EF11C81E04A |
:10663000E816F10441F1E2E0EE16F10409F440C07D |
:10664000F3E0EF16F10409F458C024E0E216F10477 |
:10665000E9F40E947F4AF8E0EF16F104E9F40E94A1 |
:10666000784D80911C0106CF0E948A30412E76CE53 |
:106670000E948B1C35E0E316F104C9F40E94784DAA |
:1066800080911C01FACE81E00E943C3935E0E3168E |
:10669000F104C9F40E94C91929E0E216F104C9F411 |
:1066A0000E94433080911C01E5CE0E947F4A86E023 |
:1066B000E816F104C9F40E94433080911C01DDCE3C |
:1066C00082E00E943C3986E0E816F104C1F40E94A1 |
:1066D000F5333AE0E316F10411F40E948A30809118 |
:1066E0001C01C8CE0E94C919E7E0EE16F10411F4AE |
:1066F0000E948A3080911C01C0CE0E948B1CE7E072 |
:10670000EE16F10409F0A7CF0E940D2180911C0123 |
:10671000B1CE0E944330412E21CE0E94784DC6CE8C |
:106720001A826624772410CE0F900F900F900F904E |
:106730000F90CF91DF911F910F91FF90EF90DF901D |
:10674000CF90BF90AF909F908F907F906F905F9011 |
:106750004F903F902F90089537E03A83F7E06F2EE7 |
:10676000712CF2CD2AE02A83AAE06A2E712CECCD9E |
:10677000CF93DF93E82FC0E0DCE080E1DE011D92E3 |
:106780008A95E9F7EE2351F1F0E0E150F44F608390 |
:106790008DB79EB707970FB6F8949EBF0FBE8DBFFB |
:1067A000EDB7FEB7319684E7ADB7BEB711968C93BF |
:1067B00081E081838283D483C38380E190E09683E8 |
:1067C00085830E94BA528DB79EB707960FB6F8948C |
:1067D0009EBF0FBE8DBFDF91CF910895CE0170E0B7 |
:1067E00040E150E00E945B58D3CF0F931F93CF93AB |
:1067F000DF930E94302281E08093E10A1092E30A45 |
:106800001092E20A85EC9AE060E00E94EF2382E0B9 |
:1068100062E04AEB5AE020E00E94E62382E063E077 |
:106820004FEA5AE020E00E94E62380E067E04AE970 |
:106830005AE020E00E94E62380E062E048E95AE066 |
:1068400020E00E94252480911C01813009F411C1AF |
:1068500010E729C0813009F449C080E80E94D24F76 |
:106860008823A9F08091E10A882309F068C062E0DA |
:1068700042E95AE020E00E94252480E063E040E9FC |
:106880005AE020E00E94252481E08093E10A809173 |
:10689000E30A6091E20A0E94B83380E40E94D24F7A |
:1068A000882309F05DC08091E10A882399F680E28F |
:1068B0000E94D24F882309F4B5C04091E20A4E3FAE |
:1068C00008F4BBC08091E10A882321F680E10E9490 |
:1068D000D24F882309F470C08091E20A882309F01E |
:1068E00076C08091E10A813009F0B7CF80E20E9442 |
:1068F000D24F882309F4C5C04091E30A403108F41F |
:10690000CBC08091E10A813009F0A7CF80E10E94DD |
:10691000D24F882309F4CCC04091E30A442309F400 |
:106920009CCF41504093E30A442309F0C8C089E05A |
:1069300062E044E95AE020E00E94E6238ECF80E046 |
:1069400062E04EE85AE020E00E94252480E063E007 |
:106950004CE85AE020E00E9425241092E10A97CFEB |
:10696000A0E0BCE080E1ED0119928A95E9F7EDB76E |
:10697000FEB737970FB6F894FEBF0FBEEDBF319646 |
:1069800084E7CDB7DEB7898381E081838283B483D6 |
:10699000A38380E190E0968385830E94BA52EDB78D |
:1069A000FEB737960FB6F894FEBF0FBEEDBFDF916E |
:1069B000CF911F910F91089580E10E94DC4F8823B1 |
:1069C00009F48FCF8091E20A882309F48ACF819F4E |
:1069D000C00111246FEF70E00E940B58462F88E031 |
:1069E00068E226E000E00E949A254091E20A4150C8 |
:1069F0004093E20A89E063E050E023E030E00E9447 |
:106A0000C22A8091E20A819FC00111246FEF70E0D9 |
:106A10000E940B58462F88E068E226E001E00E94C1 |
:106A20009A255FCF80E20E94DC4F882309F44ACF89 |
:106A30004091E20A4E3F08F045CF4F5F4093E20A93 |
:106A400089E063E050E023E030E000E00E94C22AE9 |
:106A50008091E20A819FC00111246FEF70E00E94D3 |
:106A60000B58462F88E068E226E001E00E949A2554 |
:106A700029CF80911D01813009F0EACE0E94925405 |
:106A8000E7CE80E20E94DC4F882309F43ACF4091A0 |
:106A9000E30A403108F035CF4F5F4093E30A89E0C5 |
:106AA00062E050E023E030E000E00E94C22A29CFFB |
:106AB00080E10E94DC4F882309F4CFCE2DCF89E0FE |
:106AC00062E050E023E030E000E00E94C22A8091C2 |
:106AD000E30A882309F0C1CE2ACF9FB7F8943998EA |
:106AE000389A88B1836088B9E9EBF0E080818C7FC7 |
:106AF00080838AE28093B8001092E00A9FBF0895D5 |
:106B00008093E00A85EA8093BC0008958093E00AB0 |
:106B100084E98093BC0008958093BB0085E880934E |
:106B2000BC00089585EC8093BC00089585E88093AF |
:106B3000BC0008951F920F920FB60F9211248F93ED |
:106B40009F938091E00A8F5F8093E00A81508230AA |
:106B500009F44BC08330B0F0843009F468C084304D |
:106B6000A0F580911F01880F8D5A8093BB0085E8A6 |
:106B70008093BC008091B900803449F485EC809307 |
:106B8000BC000AC0882379F0813009F442C0109219 |
:106B9000E00A84E98093BC009F918F910F900FBE13 |
:106BA0000F901F90189580911F0190E08996880F93 |
:106BB000991F8093BB0085E88093BC009F918F91C3 |
:106BC0000F900FBE0F901F901895853001F78091A0 |
:106BD000BB001092E00A84E98093BC009F918F91E2 |
:106BE0000F900FBE0F901F9018958091B9001092D2 |
:106BF000E00A84E98093BC0083E08093E00A85EAA0 |
:106C00008093BC009F918F910F900FBE0F901F90AB |
:106C100018958091E30A8093BB0085E88093BC00BF |
:106C20009F918F910F900FBE0F901F90189580919C |
:106C3000BB0085E88093BC009F918F910F900FBEA1 |
:106C40000F901F9018950F931F930E94302210925F |
:106C5000E30A8CEE9AE060E00E94EF2380E067E0B8 |
:106C600046ED5AE020E00E94E62380ED9AE060E0E5 |
:106C70000E94EF231CE61BC08091E30A8E3F18F4AC |
:106C80008F5F8093E30A80E10E94D24F8823F1F066 |
:106C90008091E30A882319F580E80E94D24F882367 |
:106CA000B1F580E40E94D24F882309F048C080E209 |
:106CB0000E94D24F882301F780E20E94DC4F882394 |
:106CC000D9F680E10E94D24F882311F780E10E941B |
:106CD000DC4F882309F38091E30A8823E9F2819F3E |
:106CE000C00111246FEF70E00E940B58462F83E122 |
:106CF00066E12AE000E00E949A258091E30A815033 |
:106D00008093E30A80E80E94D24F882351F2809159 |
:106D1000E30A819FC00111246FEF70E00E940B58BD |
:106D2000462F83E166E12AE000E00E949A25109256 |
:106D3000E30A80E40E94D24F882309F4B8CF1F9160 |
:106D40000F9108959C0148978C9700F1C9018454D4 |
:106D500090408D97E8F0C901815790408D97E0F001 |
:106D6000C9018E5990408D97A8F0C9018B5C904065 |
:106D70008D97A0F0C901885F90408D9798F02552BB |
:106D800031402D32310560F087E0089580E00895AC |
:106D900081E0089583E0089582E0089584E00895F5 |
:106DA00086E0089585E008950895CF92DF92EF92EE |
:106DB000FF920F931F93CF93DF930E943022C4EE74 |
:106DC000DAE010E0C880D980EA80FB801F5FC7014D |
:106DD000B60120E836E948E950E00E941E5880E0FC |
:106DE000612FA90123E030E000E00E94C22A83E085 |
:106DF000612F47E35CE020E00E942524C701B60133 |
:106E000028EE33E040E050E00E941E58CA01B9016C |
:106E100020E137E240E050E00E941E589B01AC01A7 |
:106E200084E0612FA90124E030E001E00E94C22A41 |
:106E3000C701B6012AE030E040E050E00E941E5851 |
:106E4000CA01B90124E630E040E050E00E941E583B |
:106E50009B01AC0188E0612FA90122E030E00E9493 |
:106E6000C22ACC80DD80EE80FF80C701B60120E819 |
:106E700036E948E950E00E941E588AE0612FA901D6 |
:106E800023E030E000E00E94C22A8DE0612F45E35C |
:106E90005CE020E00E942524C701B60128EE33E023 |
:106EA00040E050E00E941E58CA01B90120E137E2DB |
:106EB00040E050E00E941E589B01AC018EE0612F23 |
:106EC000A90124E030E001E00E94C22AC701B60116 |
:106ED0002AE030E040E050E00E941E58CA01B901AB |
:106EE00024E630E040E050E00E941E589B01AC01D7 |
:106EF00082E1612FA90122E030E00E94C22A2D9692 |
:106F0000173009F05FCFC8ECD0E00EC080E40E94DB |
:106F1000D24F882371F480E80E94D24F882349F42D |
:106F2000D093480BC093470B80E10E94D24F882337 |
:106F300069F380EF0E94D24F0E943022DF91CF91FF |
:106F40001F910F91FF90EF90DF90CF900895EF92F7 |
:106F5000FF920F931F93CF93DF93282F062FCA0121 |
:106F600066E170E00E94F7576D5E70E0EB01C95971 |
:106F7000D44F85E0E82EF12CE60EF71E8BE69BE061 |
:106F8000E80EF91E122F1F5FFE014491822F602F21 |
:106F900020E00E940D232196212FCE15DF0591F7C9 |
:106FA000DF91CF911F910F91FF90EF9008950F9374 |
:106FB000CF93DF930E94302280E060E04BEF5AE0F5 |
:106FC00020E00E94E62380912001909121016EE152 |
:106FD00070E00E940B58AB018DE060E024E030E0EF |
:106FE00000E00E94412A81E160E04DE620E00E943D |
:106FF0000D2380E061E049E05BE020E00E94E623B1 |
:10700000209122013091230140E050E0CA01B901F2 |
:10701000660F771F881F991F660F771F881F991F9C |
:10702000660F771F881F991F620F731F841F951F9C |
:107030002AEF30E040E050E00E941E588EE061E010 |
:10704000A90123E030E00E94C22A81E161E04DE322 |
:107050005CE020E00E94E62380E062E047E15BE044 |
:1070600020E00E94E62380912401909125016AE0AE |
:1070700070E00E940B58AB018EE062E023E030E04C |
:107080000E94C22A81E162E04DE620E00E940D23C9 |
:1070900080E063E043E35BE020E00E94E623409170 |
:1070A0002601509127018DE063E00E94C42B80E00F |
:1070B00064E045E25BE020E00E94E62340910001AD |
:1070C0008DE064E050E023E030E00E94832981E11C |
:1070D00064E046E520E00E940D2380E065E041E4A5 |
:1070E0005BE020E00E94E6234091280150912901B5 |
:1070F0008DE065E023E030E00E94832981E165E0D6 |
:1071000041E420E00E940D2380E066E04FE45BE074 |
:1071100020E00E94E62340912A0150912B018DE04E |
:1071200066E024E030E00E94C22A81E166E049E3A3 |
:107130005CE020E00E94E623C8ECD0E004C0D093DD |
:10714000480BC093470B80E40E94D24F8823B9F3C9 |
:1071500080912E018B7F80932E0180EF0E94D24F71 |
:107160000E943022DF91CF910F910895BF92CF926C |
:10717000DF92EF92FF920F931F93CF93DF93C82E6E |
:10718000D62EE42EF22EE80130E0C901019797FDDA |
:1071900067C0959587951D2D181B8C2D612F4E2D41 |
:1071A0002F2D01E00E94DF25BC2CB3941F5F4E2DD4 |
:1071B00042508EEFF80E8B2D612F2F2D00E00E9494 |
:1071C0009A25EC0C8C2D6D2D4E2D2D2D01E00E945D |
:1071D000D4241C161D06BCF4CE0165E070E00E94AC |
:1071E0000B586130710589F162307105D1F0672B60 |
:1071F000C9F5DA948C2D8D5F6D2D43E021E001E01F |
:107200000E949A2518C0CE016BEF7FEF0E940B58A9 |
:1072100061307105E1F06230710529F0672B21F5CD |
:10722000E9CF8CEFD80E8C2D8E5F6D2D45E024E0DC |
:1072300001E00E949A25DF91CF911F910F91FF905D |
:10724000EF90DF90CF90BF9008958DEFD80E8C2DEA |
:107250008E5F6D2D45E023E001E00E949A25EBCF83 |
:10726000C90197CF8BEFD80E8B2D6D2D47E025E010 |
:1072700001E00E949A25DFCF2F923F924F925F92BA |
:107280006F927F928F929F92AF92BF92CF92DF9236 |
:10729000EF92FF920F931F93DF93CF93CDB7DEB79B |
:1072A0002E970FB6F894DEBF0FBECDBF682E10929A |
:1072B00021011092200110922301109222011092BC |
:1072C0002501109224018FEF809300011092270175 |
:1072D0001092260180912F01882309F41FC5813067 |
:1072E00009F423C580911C01823009F403C50E9472 |
:1072F00077528FE480931B0119822DB73EB7275038 |
:1073000030400FB6F8943EBF0FBE2DBFEDB7FEB7AD |
:10731000319684E6ADB7BEB711968C931182FF24E7 |
:10732000F394F2824E010894811C911C9482838212 |
:1073300001E010E0168305830E94BA528AE0898337 |
:10734000EDB7FEB731968FE6ADB7BEB711968C9309 |
:1073500082E08183F28294828382168305830E9475 |
:10736000BA5288EC90E09093480B8093470B8CE2E4 |
:1073700091E090934A0B8093490B10E0AA24BB2420 |
:107380007724CC24EDB7FEB737960FB6F894FEBF3E |
:107390000FBEEDBFA8EC4A2E512CF2E02F2E312C5F |
:1073A0002C0E3D1E0DC080E40E94D24F882309F0B0 |
:1073B000DCC28091470B9091480B892B09F4D5C210 |
:1073C00080913D01882379F35092480B4092470BFE |
:1073D0000E94E75180913F01909140019093400BB2 |
:1073E00080933F0B80912F01813009F4CBC4109220 |
:1073F0002F0120913F0B3091400BD90115964D91F3 |
:107400005D916D917C9118971196ED90FD900D9185 |
:107410001C9114978091E80A9091E90AA091EA0AD8 |
:10742000B091EB0A481759076A077B0709F454C063 |
:107430008091E40A9091E50AA091E60AB091E70AEA |
:10744000E816F9060A071B0709F446C0E2E3FBE069 |
:10745000DF011D978DE00D9001928150E1F7E5E28B |
:10746000FBE0DF011D978DE00D9001928150E1F767 |
:10747000E8E1FBE0DF011D978DE00D900192815066 |
:10748000E1F7EBE0FBE0DF011D978DE00D9001924D |
:107490008150E1F7EEEFFAE0DF011D978DE00D90EE |
:1074A00001928150E1F7E1EFFAE0DF011D978DE0F5 |
:1074B0000D9001928150E1F74E835F836887798751 |
:1074C000EA82FB820C831D83A4EEBAE0F1018DE019 |
:1074D00001900D928150E1F7B1E06B1609F05CC3A9 |
:1074E0002D5B3F4FF901808180FF4FC480912E01B9 |
:1074F000846080932E0186E190E063E270E040E1D9 |
:1075000050E021E00E94C32DE0913F0BF091400B31 |
:1075100022AD33AD40E050E0CA01B901660F771FDC |
:10752000881F991F660F771F881F991F660F771F87 |
:10753000881F991F620F731F841F951F2AEF30E069 |
:1075400040E050E00E941E5881E060E0A90123E085 |
:1075500030E000E00E94C22A84E060E042E15CE0AA |
:1075600020E00E94E623E0913F0BF091400B46ADF6 |
:1075700057AD8EE060E023E030E00E94C22A81E156 |
:1075800060E04EE120E00E940D23E0913F0BF0917E |
:10759000400B86AD97AD0E94A236E82FF0E0EE0FCB |
:1075A000FF1FED54F44F4591549182E160E020E0DB |
:1075B0000E94E623E0913F0BF091400B46AD57ADA2 |
:1075C0008CE061E00E94A737E0913F0BF091400B07 |
:1075D00023A934A9C901845D9E4F8955924008F4BE |
:1075E000ACC3C9016EE170E00E940B58AB0180E0B2 |
:1075F00061E024E030E00E94412A84E061E04DE651 |
:1076000020E00E940D23E0913F0BF091400B05A973 |
:1076100016A987E367E049E02DE00E94B638E091C3 |
:107620003F0BF091400B86A597A588599E4F26AD3C |
:1076300037AD821B930B68E671E00E940B58182F40 |
:10764000F92E86E163E24FE0950100E00E94482EAA |
:1076500086E163E24FE0212F3F2D01E00E94482E9A |
:1076600087E063E0412F5F2D23E030E000E00E94DF |
:10767000C22A8AE063E04EE120E00E940D23E091FF |
:107680003F0BF091400B84A595A56AE070E00E9445 |
:10769000F757AB0187E062E023E030E00E94C22AA6 |
:1076A0008AE062E04DE620E00E940D238AE064E07B |
:1076B0004DE05CE020E00E942524E0913F0BF0913A |
:1076C000400B42A988E064E050E022E030E00E94F4 |
:1076D000C22AE0913F0BF091400BEC5BFF4F8081A1 |
:1076E00086FF41C383E164E04DE420E00E940D2366 |
:1076F000E0913F0BF091400BEC5BFF4F808182FDEE |
:1077000054C381FF37C38AE065E045EF5BE020E0CA |
:107710000E94E623E0913F0BF091400B47A950AD4A |
:1077200087E066E00E94C42BE0913F0BF091400B94 |
:10773000EE5BFF4F40818FE066E050E023E030E0F9 |
:1077400000E00E94C22A82E166E04FE120E00E9450 |
:107750000D23E0913F0BF091400BEC5BFF4F8081DC |
:1077600084FFF9C283E166E046EE5BE020E00E9420 |
:10777000E623E0913F0BF091400B41AD80E067E0E4 |
:1077800050E023E030E000E00E94832984E067E0DD |
:1077900046E520E00E940D23E0913F0BF091400B65 |
:1077A00021AD8091D105281708F4479890E0019603 |
:1077B00030E0821793070CF0479AE25BFF4F40815D |
:1077C000518187E067E023E030E000E00E948329F8 |
:1077D0008BE067E041E420E00E940D23E0913F0B45 |
:1077E000F091400BE05BFF4F408151818EE067E0FC |
:1077F00024E030E00E94C22A82E167E04FED5BE0C6 |
:1078000020E00E94E623E0913F0BF091400BED5BFE |
:10781000FF4F8081E354F04080FF5DC023A934A96D |
:1078200080912001909121018217930724F43093D5 |
:1078300021012093200122AD33AD8091220190914E |
:1078400023018217930720F4309323012093220110 |
:1078500024A535A5809124019091250182179307D5 |
:1078600020F4309325012093240191AD80910001F3 |
:10787000981710F49093000127A930AD809126014C |
:10788000909127018217930720F4309327012093CA |
:107890002601E25BFF4F20813181EE54F040809160 |
:1078A0002801909129018217930720F43093290130 |
:1078B00020932801E05BFF4F20813181E055F040AB |
:1078C00080912A0190912B018217930720F4309325 |
:1078D0002B0120932A01EE5BFF4F8081E254F040A0 |
:1078E0008093020181AD8093010110923D01212F0F |
:1078F0003F2DC9015C018091490B90914A0B892B66 |
:1079000009F0F6C18AE089838DB79EB707970FB655 |
:10791000F8949EBF0FBE8DBFEDB7FEB731968FE6D0 |
:10792000ADB7BEB711968C9382E0818381E08283EC |
:107930009482838281E090E0968385830E94BA528C |
:107940008CE291E090934A0B8093490B11E0EDB7E4 |
:10795000FEB737960FB6F894FEBF0FBEEDBF80E4BA |
:107960000E94D24F882309F424CD19822DB73EB747 |
:10797000275030400FB6F8943EBF0FBE2DBFEDB775 |
:10798000FEB731968FE6ADB7BEB711968C9382E005 |
:10799000818381E082839482838281E090E0968378 |
:1079A00085830E94BA5210921B0110923D01809172 |
:1079B000470B9091480BEDB7FEB737960FB6F8948A |
:1079C000FEBF0FBEEDBF892B09F0CDC0112309F01A |
:1079D000F7C181E080932F01B4EEAB2EBAE0BB2E4D |
:1079E00010E0D501CD90DD90ED90FC901F5FC701B8 |
:1079F000B60120E836E948E950E00E941E5880E0D0 |
:107A0000612FA90123E030E000E00E94C22A83E058 |
:107A1000612F44ED5BE020E00E942524C701B60100 |
:107A200028EE33E040E050E00E941E58CA01B90140 |
:107A300020E137E240E050E00E941E589B01AC017B |
:107A400084E0612FA90124E030E001E00E94C22A15 |
:107A5000C701B6012AE030E040E050E00E941E5825 |
:107A6000CA01B90124E630E040E050E00E941E580F |
:107A70009B01AC0188E0612FA90122E030E00E9467 |
:107A8000C22AF501C480D580E680F780C701B6011F |
:107A900020E836E948E950E00E941E588AE0612F4C |
:107AA000A90123E030E000E00E94C22A8DE0612FAE |
:107AB00042ED5BE020E00E942524C701B60128EEDC |
:107AC00033E040E050E00E941E58CA01B90120E1B5 |
:107AD00037E240E050E00E941E589B01AC018EE06E |
:107AE000612FA90124E030E001E00E94C22AC70111 |
:107AF000B6012AE030E040E050E00E941E58CA0182 |
:107B0000B90124E630E040E050E00E941E589B019D |
:107B1000AC0182E1612FA90122E030E00E94C22A7B |
:107B20002DE030E0A20EB31E173009F05ACF80E0EE |
:107B300060E043EC5BE020E00E94252484E690E0D6 |
:107B40009093480B8093470B8091470B9091480B83 |
:107B5000892BD1F780E20E94D24F882309F02DC1F2 |
:107B6000862D0E943C392E960FB6F894DEBF0FBECC |
:107B7000CDBFCF91DF911F910F91FF90EF90DF90DC |
:107B8000CF90BF90AF909F908F907F906F905F90BD |
:107B90004F903F902F90089580E060E04CED5BE0C7 |
:107BA00020E00E94E62380E061E049ED5BE020E018 |
:107BB0000E94E623E0913F0BF091400BE05CFF4F09 |
:107BC0004081552747FD509582E060E023E030E09A |
:107BD00000E00E94412AE0913F0BF091400BEF5BE7 |
:107BE000FF4F4081552747FD509582E061E023E03B |
:107BF00030E00E94412A80E060E240E820E201E0BB |
:107C00000E94D42480E460E040E420E40E94D42474 |
:107C1000E0913F0BF091400BE05CFF4FF080E054AF |
:107C2000F040F7FCC0C0F59420E2F20EEF5BFF4F8E |
:107C300010E48081E154F040181B86A597A588596F |
:107C40009E4F26AD37AD821B930B68E671E00E9414 |
:107C50000B58E82ED92E82E062E04E2D592F25E0F8 |
:107C600030E000E00E94412A80E062E046ED5BE007 |
:107C700020E00E94E6238C2D90E0672D70E04AE022 |
:107C800050E020E00E94C32D8C2D672D49E0950126 |
:107C90000E94482E812F90E06F2D70E04AE050E066 |
:107CA00021E00E94C32D812F6F2D49E02E2D3D2D07 |
:107CB00001E00E94482EE0913F0BF091400BEE5BFB |
:107CC000FF4F8081E254F0408093020181AD8093A8 |
:107CD000010110923D012E2D3D2DC9015C017F2C2B |
:107CE000C12E8091490B90914A0B892B09F40ACE41 |
:107CF00011E059CB80E063E047E15CE020E00E94C6 |
:107D0000252484E690E09093480B8093470B809164 |
:107D1000470B9091480B892BD1F725CF0E94302239 |
:107D200080912F01813009F0DDCA80E060E046E2F9 |
:107D30005CE020E00E942524D5CAC90163E070E020 |
:107D40000E940B58AB0180E061E023E030E000E0EE |
:107D50000E94C52852CC83E166E043EE5BE020E060 |
:107D60000E94E62306CD83E164E048E520E00E941E |
:107D70000D23BECC8AE065E049EE5BE020E00E9486 |
:107D8000E623C8CC0E94302232CB80E80E94D24F3A |
:107D90008823C9F480E20E94D24F882309F4ABCB38 |
:107DA0000E94D536A8CBF3943ECF8AE065E041E04F |
:107DB0005CE020E00E94E623ADCC0E94D536D0CE18 |
:107DC0000E94302206CE0E94D737E4CF6F927F9276 |
:107DD0008F929F92AF92BF92CF92DF92EF92FF92DB |
:107DE0000F931F93DF93CF930F92CDB7DEB78983A5 |
:107DF00083E580931B0110923D0180913D01882312 |
:107E000009F073C012E34E010894811C911C33E702 |
:107E1000632E7724739402E021E0A22EB12C94E724 |
:107E2000C92ED12C84E1E82EF12C8DB79EB70B978B |
:107E30000FB6F8949EBF0FBE8DBFEDB7FEB731965B |
:107E4000ADB7BEB711966C92718202839482838221 |
:107E5000B682A5828091DE0A9091DF0A908787839F |
:107E6000D286C1860E94BA52F092480BE092470B2C |
:107E70008DB79EB70B960FB6F8949EBF0FBE8DBF01 |
:107E80008091470B9091480B892BD1F7115080912D |
:107E90003D01882341F5112341F680E062E042E094 |
:107EA00058E220E00E94252484E690E09093480B5D |
:107EB0008093470B8091470B9091480B892BD1F70A |
:107EC0008FEF898389810F90CF91DF911F910F915F |
:107ED000FF90EF90DF90CF90BF90AF909F908F90EA |
:107EE0007F906F9008951123C1F20E94E751E091B5 |
:107EF0003F01F091400180818983E4CF9F92AF924E |
:107F0000BF92CF92DF92EF92FF920F931F93DF9376 |
:107F1000CF930F92CDB7DEB7898381E580931B01A4 |
:107F200010923D0180913D01882309F063C012E366 |
:107F30005E010894A11CB11C61E7962E01E051E09E |
:107F4000C52ED12C44E1E42EF12C8DB79EB70797B6 |
:107F50000FB6F8949EBF0FBE8DBFEDB7FEB731963A |
:107F6000ADB7BEB711969C9201830283B482A382FF |
:107F7000D682C5820E94BA52F092480BE092470B1B |
:107F80008DB79EB707960FB6F8949EBF0FBE8DBFF4 |
:107F90008091470B9091480B892BD1F7115080911C |
:107FA0003D01882329F5112381F680E062E041E15B |
:107FB00058E220E00E94252484E690E09093480B4C |
:107FC0008093470B8091470B9091480B892BD1F7F9 |
:107FD0008FEF898389810F90CF91DF911F910F914E |
:107FE000FF90EF90DF90CF90BF90AF909F9008955B |
:107FF0001123D9F20E94E751E0913F01F091400135 |
:1080000081918983F093DF0AE093DE0AE3CF0F9337 |
:108010001F930E94302280E060E042E458E220E0BA |
:108020000E94252480E067E04DE258E220E00E94B3 |
:10803000E62311E0812F0E947E3F482F8F3F59F1A8 |
:1080400083E0612F50E021E030E000E00E94C22A8E |
:108050004091DE0A5091DF0A49595F4F85E0612F58 |
:1080600020E00E945F241F5F163021F783E066E066 |
:1080700040E258E220E00E9425248FEF0E947E3FDC |
:10808000282F8F3F41F081E066E041E00E944431BB |
:108090001F910F9108958FEF1F910F9108950F93E6 |
:1080A0001F93CF93DF9300E0CDE2D0E01FE00E946A |
:1080B000302280E060E049E658E220E00E9425247A |
:1080C00080E067E044E558E220E00E94E623109259 |
:1080D000410B80913001882309F06DC01092410B53 |
:1080E00060E009C06091410B653061F16F5F6093A2 |
:1080F000410B6630D0F5E62FF0E0809130019F0112 |
:10810000280F311D2D3031056CF720913001809101 |
:10811000D0056F5FE20FF11DEC9FA001ED9F500DA8 |
:10812000FC9F500D1124819FC0011124480F591F3D |
:108130004E5B534F83E020E00E9425246091410B69 |
:108140006530A1F68091300190E007977CF681E0E0 |
:1081500066E040E558E220E00E9425246091410B52 |
:108160006F5F6093410B663030F28091310188235C |
:1081700071F480913001882309F040C040910301DF |
:1081800081E065E020E001E00E94FF30082F80914F |
:108190003101813021F10E3FB1F00D3F09F042C0B5 |
:1081A000809130018150809330011092310182E042 |
:1081B000809303017CCF81E061E042E558E220E05A |
:1081C0000E9425248BCF809130018F5F80933001F6 |
:1081D00081E08093310185E08093030168CF809135 |
:1081E000300190E00797A4F04091030182E066E03F |
:1081F00021E000E00E94FF30082FCDCF4091030125 |
:1082000082E065E021E001E00E94FF30082FBFCF4F |
:108210004091030182E065E021E001E00E94FF302F |
:10822000082FB9CF0F3F29F000930301809130014F |
:10823000080F802FDF91CF911F910F9108954F92DA |
:108240005F927F928F929F92AF92BF92CF92DF9276 |
:10825000EF92FF920F931F93DF93CF93CDB7DEB7CB |
:1082600064970FB6F894DEBF0FBECDBF682F70E0E5 |
:10827000615070402AE234E2992440E0DE01119618 |
:1082800005C04F5F285F3F4F4B3781F0F901849164 |
:1082900090E086179707A9F7FD01E90DF11D4083CE |
:1082A00093944F5F285F3F4F4B3781F74093410BCB |
:1082B00010E0E92CFF246E010894C11CD11C2DE2B2 |
:1082C000822E9FE0792E412C81E0582E5701089490 |
:1082D000A108B1080E94302280E060E04BEB58E238 |
:1082E00020E00E94252480E067E046EA58E220E092 |
:1082F0000E94E6231092410B80913201882309F0FD |
:10830000DBC11092410B60E00BC06091410B653006 |
:1083100009F47DC06F5F6093410B663008F08EC03A |
:10832000E62FF0E0809132019F01280F311D2E15BC |
:108330003F055CF7209132018091D0056F5FEC0D15 |
:10834000FD1DE20FF11D4081489DA0011124879D74 |
:10835000C0011124480F591F4557514F83E020E0B9 |
:108360000E9425246091410B262F30E0809132013C |
:10837000D601A20FB31FFD01E80FF11DE081F0E06F |
:10838000EE0FFF1FEE0FFF1FEE0FFF1FE55DFB4D12 |
:108390008491882309F4ACC0813009F47BC0823019 |
:1083A00009F0C9C080913201FD01E80FF11DE081A3 |
:1083B000F0E0EE0FFF1FEE0FFF1FEE0FFF1FE25D5D |
:1083C000FB4D949180913201A80FB11DEC91F0E02A |
:1083D000EE0FFF1FEE0FFF1FEE0FFF1FE35DFB4DC4 |
:1083E000E491A091DE0AB091DF0AA90FB11D8C9132 |
:1083F000E82309F457C16F5F82E14DE958E220E0BC |
:108400000E9425246091410B653009F083CF809153 |
:10841000320190E005968A159B050CF07BCF81E038 |
:1084200066E049E758E220E00E9425246091410B74 |
:108430006F5F6093410B663008F472CF8091330117 |
:10844000882391F480913201882309F086C1F6E0F7 |
:10845000F91508F078C14091040181E065E020E061 |
:1084600001E00E94FF30182F80913301813009F420 |
:1084700037C11E3F09F428C11D3F09F0B4C18091E6 |
:1084800032018150809332011092330182E0809357 |
:10849000040120CF80913201A80FB11DEC91F0E0D2 |
:1084A000EE0FFF1FEE0FFF1FEE0FFF1FE25DFB4DF4 |
:1084B000E491A091DE0AB091DF0AAE0FB11D0C91DC |
:1084C000083FA8F16F5F82E141EA58E220E00E9494 |
:1084D00025246091410B6F5FA201401B510984E18B |
:1084E00021E030E000E00E94C22A6091410B0FCFF2 |
:1084F00080913201A80FB11DEC91F0E0EE0FFF1F4B |
:10850000EE0FFF1FEE0FFF1FE25DFB4DE4916F5F6B |
:10851000A091DE0AB091DF0AAE0FB11D4C9182E14D |
:1085200050E023E030E000E00E94C22AEECE6F5F10 |
:1085300082E1402FF5CF833059F580913201F60169 |
:10854000E80FF11DE20FF31FE081F0E0EE0FFF1FD7 |
:10855000EE0FFF1FEE0FFF1FE25DFB4DE491A091B8 |
:10856000DE0AB091DF0AAE0FB11D0C910D30F8F2AA |
:10857000093108F4D1C0093109F0C9CE6F5F82E139 |
:1085800043E958E220E00E94E6236091410BBFCE10 |
:10859000843009F446C0853009F45EC0863009F0A5 |
:1085A000B6CE2091DE0A3091DF0A80913201FD01C2 |
:1085B000E80FF11DE081F0E0EE0FFF1FEE0FFF1F4F |
:1085C000EE0FFF1FE25DFB4DE491C9018E0F911D7F |
:1085D000FC01E081EE2309F495C0E13009F4D1C03B |
:1085E000E23009F4E2C0E33009F4E9C0E43009F410 |
:1085F000F0C0E53009F4CFC080913201A80FB11D61 |
:10860000EC91F0E0EE0FFF1FEE0FFF1FEE0FFF1FCC |
:10861000E25DFB4DE4916F5F2E0F311DF90140814A |
:108620007ECF80913201F601E80FF11DE20FF31FBA |
:10863000E081F0E0EE0FFF1FEE0FFF1FEE0FFF1FB8 |
:10864000E25DFB4DE4916F5FA091DE0AB091DF0A1D |
:10865000AE0FB11D4C9163CF80913201F601E80F4E |
:10866000F11DE20FF31FE081F0E0EE0FFF1FEE0FB0 |
:10867000FF1FEE0FFF1FE25DFB4DE4916F5FA091C6 |
:10868000DE0AB091DF0AAE0FB11D4C91479DA001EB |
:10869000112482E123E030E000E00E94C22A6091D0 |
:1086A000410B35CE6F5F82E149E958E220E00E943C |
:1086B00025246091410B2BCE81E061E044EA58E231 |
:1086C00020E00E9425241DCE809132018F5F80938F |
:1086D000320181E08093330185E080930401FACD7B |
:1086E0008091320190E006968E159F050CF43FC0F4 |
:1086F0004091040182E066E021E000E00E94FF304A |
:10870000182FB7CE6F5F82E14FE858E220E00E9459 |
:1087100025246091410BFBCD6F5F82E147E958E270 |
:1087200020E00E94E6236091410B6F5F402F50E0F4 |
:108730004C50504083E122E030E000E00E94C22A29 |
:108740006091410BE4CD4091040181E0692D20E06E |
:1087500000E00E94FF30182F87CE4091040182E094 |
:1087600065E021E001E00E94FF30182F7DCE4091AE |
:10877000040182E065E021E001E00E94FF30182F53 |
:1087800078CE6F5F82E14BE858E220E00E9425241A |
:108790006091410BBCCD6F5F82E14BE758E220E076 |
:1087A0000E9425246091410BB2CD6F5F82E147E8C2 |
:1087B00058E220E00E9425246091410BA8CD6F5F14 |
:1087C00082E143E858E220E00E9425246091410BB9 |
:1087D0009ECD6F5F82E14FE758E220E00E942524A2 |
:1087E0006091410B94CD1F3F59F010930401E0912B |
:1087F0003201F0E03197E10FF11DEC0FFD1F118107 |
:10880000812F64960FB6F894DEBF0FBECDBFCF9117 |
:10881000DF911F910F91FF90EF90DF90CF90BF906D |
:10882000AF909F908F907F905F904F900895FF92B0 |
:108830000F931F930E94302280E060E04CE95AE2DF |
:1088400020E00E94252483E062E04EE85AE220E026 |
:108850000E94252483E063E040E85AE220E00E9481 |
:10886000252480E067E04BE65AE220E00E94E62300 |
:1088700013E035E0F32E81E162E0412F50E021E08A |
:1088800030E000E00E94C22A81E163E04F2D50E019 |
:1088900021E030E00E94C22A80E10E94D24F88236A |
:1088A00019F01F5F163081F180E20E94D24F8823B9 |
:1088B00021F0F39486E0F81649F180E80E94D24F47 |
:1088C0008823C1F080E065E046E55AE220E00E949E |
:1088D000252480E80E94D24F8823D9F480E40E94A6 |
:1088E000E64F8823B1F380E065E041E05AE220E002 |
:1088F0000E94252480E40E94E64F882309F4BBCF20 |
:108900001F910F91FF90089511E0CECFFF24F394B3 |
:10891000D4CF812F0E947E3F1817B9F080E065E028 |
:1089200046E15AE220E00E94252484E690E09093FC |
:10893000480B8093470B8091470B9091480B892BF4 |
:10894000D1F71F910F91FF9008958F2D0E94E63E61 |
:10895000F81641F080E065E04BE25AE220E00E9428 |
:108960002524E3CF80E065E040E45AE220E00E9465 |
:108970002524DBCF2F923F924F925F927F928F926E |
:108980009F92AF92BF92CF92DF92EF92FF920F939E |
:108990001F93CF93DF93182F0E943022012F10E0F6 |
:1089A000E801CC0FDD1FCC0FDD1FCC0FDD1FFE015A |
:1089B000E55DFB4DF49080E060E043EF59E220E09C |
:1089C0000E94252426E0F21609F4D9C02091D00592 |
:1089D0008DE290E0089FA001099F500D189F500D57 |
:1089E00011248FE0289F90011124420F531F4557F7 |
:1089F000514F80E062E020E00E94252432E0F3162F |
:108A000009F44EC1FF2009F0D0C180E067E049EBD6 |
:108A100059E220E00E94E623000F111F000F111FF2 |
:108A2000000F111F9EE2892E94E2992E800E911E56 |
:108A3000F4018491E091DE0AF091DF0AE80FF11D64 |
:108A40007080045D1B4DF8011491FE01E35DFB4D48 |
:108A5000F490C15DDB4DFE01E49084E064E047EA00 |
:108A600059E220E00E94E62385E064E0412F50E0D7 |
:108A700023E030E000E00E94C22A89E064E04F2D4C |
:108A800050E023E030E00E94C22A81E164E04E2DF4 |
:108A900050E023E030E00E94C22ACF2CDD24F72CE6 |
:108AA000A12EBB2422C0CC15DD050CF4F39480E18B |
:108AB0000E94D24F882309F445C08F2D90E0A8165C |
:108AC000B9060CF44BC080E80E94D24F882309F00D |
:108AD000B9C480E40E94F74F882309F06DC080E498 |
:108AE0000E94E64F882309F055C080E064E04F2DD6 |
:108AF00050E023E030E000E00E94C22ACF2DD0E019 |
:108B0000CE019695982F882797958795B6010E9454 |
:108B10000B58462F80E068E226E001E00E949A258B |
:108B200080E20E94D24F882309F0BDCF80E20E94EC |
:108B3000DC4F882309F0B7CF80E10E94D24F882311 |
:108B400009F0BBCF80E10E94DC4F882309F4BBCF42 |
:108B50008F2D90E0A816B9060CF0B5CF9695982FFA |
:108B6000882797958795B6010E940B58462F80E07D |
:108B700068E226E000E00E949A25FA94A4CFF4E08F |
:108B8000FF1609F406C3F6E0FF1609F493C3F5E0F7 |
:108B9000FF1629F1DF91CF911F910F91FF90EF9078 |
:108BA000DF90CF90BF90AF909F908F907F905F901D |
:108BB0004F903F902F9008958F2D90E09695982F8D |
:108BC000882797958795B6010E940B58462F80E01D |
:108BD00068E226E000E00E949A25FE2C80CF80E02B |
:108BE00067E04DEC58E220E00E94E6236801CC0CDF |
:108BF000DD1CCC0CDD1CCC0CDD1C2EE234E2C20EE4 |
:108C0000D31EF6018491E091DE0AF091DF0AE80FAD |
:108C1000F11DE080C15DDB4DFE01A49086E690E091 |
:108C200063E270E040E150E021E00E94C32DFE2CA1 |
:108C30004FE0B42EFB9CE001112486E663E24FE096 |
:108C40009E0101E00E94482E80E20E94D24F8823BC |
:108C500009F0A2C01F2D80E10E94D24F882321F08D |
:108C6000112309F0A0C017E180E80E94D24F8823A9 |
:108C700009F0FBC380E40E94F74F81111A2D80E4B4 |
:108C80000E94E64F882309F085CF1F1539F086E64C |
:108C900063E24FE09E0100E00E94482EF12ECACF11 |
:108CA00080E067E04EED59E220E00E94E62383E099 |
:108CB00064E04CED59E220E00E94252483E065E069 |
:108CC0004AED59E220E00E9425246E018EE294E2F2 |
:108CD000C80ED91EF6018491E091DE0AF091DF0AF8 |
:108CE000E80FF11DB080FE01E15DFB4DF490C35D26 |
:108CF000DB4DFE011491F1E0FF1609F4F8C3FF20EB |
:108D000039F484E065E046ED59E220E00E94252434 |
:108D10000B2DE12EE0942EC081E064E044ED59E299 |
:108D200020E00E94252481E065E042ED59E220E048 |
:108D30000E94252480E10E94D24F8111012780E208 |
:108D40000E94D24F8111012780E80E94D24F8823D0 |
:108D500009F0A7C380E40E94F74F882329F0F1E0CF |
:108D6000FF1609F459C30E2180E40E94E64F8823C0 |
:108D700009F010CF802F812379F681E064E040ED87 |
:108D800059E220E00E94252481E065E04EEC59E2A2 |
:108D900020E00E942524CECF1F2D1F5F183109F03F |
:108DA0005ACF10E058CF11505FCFF1E0FF1609F015 |
:108DB000ECC080E067E042E959E220E00E94E6234F |
:108DC000000F111F000F111F000F111F7EE2272E31 |
:108DD00074E2372E200E311EF1018491E091DE0AFB |
:108DE000F091DF0AE80FF11D5080045D1B4DF80182 |
:108DF0007490FE01E35DFB4DE490C15DDB4DFE012F |
:108E0000B49084E064E040E859E220E00E94E62368 |
:108E100085E064E0472D50E023E030E000E00E9470 |
:108E2000C22A89E064E04E2D50E023E030E00E9449 |
:108E3000C22AF7EFFB1508F0FBC240E051E04B19E6 |
:108E4000510983E164E021E030E00E94C22AFF245E |
:108E500027EF251510F4FF24F394152DAA24AA94C6 |
:108E6000CE2CDD24872C992480E80E94F74F88239C |
:108E700009F452C0FF2009F4B8C23FEFA31609F469 |
:108E8000D1C24A2D1A2D80E064E050E023E030E0AA |
:108E900000E00E94C22AC12FD0E0CE019695982F03 |
:108EA000882797958795B6010E940B58462F80E03A |
:108EB00068E226E001E00E949A2580E20E94D24FFB |
:108EC000882309F4A0C2CC15DD050CF41F5F80E1F6 |
:108ED0000E94D24F882309F481C2812F90E0881626 |
:108EE00099060CF440C0FF2480E80E94E64F8823D6 |
:108EF00009F0D1C280E40E94F74F882309F01EC117 |
:108F000080E40E94E64F882309F044CE80E80E9466 |
:108F1000F74F882309F0AECFFF2009F47BC2C0E0F1 |
:108F2000D1E0C11BD10980E064E04DE759E220E0C7 |
:108F30000E94E62382E064E0AE0121E030E000E040 |
:108F40000E94C22A80E20E94D24F882319F0193F62 |
:108F500008F0115080E10E94D24F882329F21F3F70 |
:108F600019F21F5FC1CF9695982F882797958795FF |
:108F7000B6010E940B58462F80E068E226E000E030 |
:108F80000E949A251150FF24AFCF23E0F21609F07A |
:108F9000F6CD80E067E048E659E220E00E94E62353 |
:108FA000000F111F000F111F000F111F9EE2492E0D |
:108FB00094E2592E400E511EF2018491E091DE0A96 |
:108FC000F091DF0AE80FF11D3080045D1B4DF801C0 |
:108FD0001491FE01E35DFB4DE490C15DDB4DFE01AC |
:108FE000749084E064E046E559E220E00E94E623C4 |
:108FF00081E164E0472D50E023E030E000E00E9492 |
:10900000C22ACE2CDD2404EFA02E0FEFB02EAC0C24 |
:10901000BD1CF32C812E99243DC0CC15DD050CF42C |
:10902000A6C0FE1409F448C0CE019695982F882753 |
:1090300097958795B6010E940B58462F80E068E20D |
:1090400026E001E00E949A2580E20E94D24F882308 |
:10905000D9F1CC15DD050CF4F39480E10E94D24FD8 |
:109060008823E9F18F2D90E0881699060CF442C010 |
:1090700080E80E94D24F882309F007C280E40E9452 |
:10908000F74F882309F047C080E40E94E64F882309 |
:1090900009F080CDCF2DD0E0CA15DB050CF0BDCF97 |
:1090A00080E064E04F2D50E023E030E000E00E94DB |
:1090B000C22AFE1409F0B8CF80E064E040E559E22E |
:1090C00020E00E94E623B0CF80E20E94DC4F88239C |
:1090D00009F0BFCF80E10E94D24F882319F680E1CA |
:1090E0000E94DC4F882321F28F2D90E0881699068C |
:1090F0000CF0BECF9695982F882797958795B60147 |
:109100000E940B58462F80E068E226E000E00E94B3 |
:109110009A25FA94ADCF8F2D90E09695982F8827B9 |
:1091200097958795B6010E940B58462F80E068E21C |
:1091300026E000E00E949A25F72CA6CF812F90E030 |
:109140009695982F8827979587956E2D70E00E94A9 |
:109150000B58462F80E068E226E000E00E949A2546 |
:10916000F7EFFB1508F45AC11B2DFF24C9CE80E090 |
:1091700064E044E559E220E00E94E623AE014C5051 |
:10918000504081E064E022E030E000E00E94C22A2A |
:1091900048CF80E067E04BE359E220E00E94E623FD |
:1091A0005801AA0CBB1CAA0CBB1CAA0CBB1C2EE2AF |
:1091B00034E2A20EB31EF5018491E091DE0AF09133 |
:1091C000DF0AE80FF11D7080C15DDB4DFE01E49008 |
:1091D000C72CFF24E8E0DE2EC7E0D0E071E0872E48 |
:1091E000912C1092410B0C2D10E020E00FC08D2D22 |
:1091F000821B64E049E359E220E00E94E6232091CB |
:10920000410B2F5F2093410B2830C0F4C801022E80 |
:1092100002C0959587950A94E2F780FDE8CF8D2DE1 |
:10922000821B64E047E359E220E00E94E62320919C |
:10923000410B2F5F2093410B283040F31F2D1F5F00 |
:10924000812F65E045E359E220E00E94E62380E1BA |
:109250000E94D24F882319F51F2D80E20E94D24F21 |
:10926000882351F0CE01811B9109940102C0220F85 |
:10927000331F8A95E2F7C22680E80E94D24F8823E6 |
:1092800009F025C180E40E94F74F8111CE2C80E4C3 |
:109290000E94E64F882309F07DCCF12EA2CF812FCA |
:1092A00065E043E359E220E00E94E6231830A9F686 |
:1092B00010E0D3CF80E067E04EE159E220E00E9469 |
:1092C000E6236801CC0CDD1CCC0CDD1CCC0CDD1CB9 |
:1092D0002EE234E2C20ED31EF6018491E091DE0A42 |
:1092E000F091DF0AE80FF11DE080C15DDB4DFE016A |
:1092F000F49083E061E04AE159E220E00E94E62335 |
:1093000083E062E041E159E220E00E94E62383E04D |
:1093100063E042E059E220E00E94E62383E064E05B |
:1093200043EF58E220E00E94E62383E065E04EEE42 |
:1093300058E220E00E94E62383E066E046EE58E231 |
:1093400020E00E94E6230E2D1092410B60E0102FCA |
:109350001F5F0EC06F5F81E042EE58E220E00E9486 |
:10936000E6236091410B6F5F6093410B663080F4A0 |
:10937000061781F781E0612F44EE58E220E00E9459 |
:10938000E6236091410B6F5F6093410B663080F381 |
:1093900080E20E94D24F882319F00F5F0630E1F07F |
:1093A00080E10E94D24F882319F0002399F405E050 |
:1093B00080E80E94D24F882309F083C080E40E9495 |
:1093C000F74F81110F2D80E40E94E64F882309F4A6 |
:1093D000BBCFE0CB0150ECCF00E0E2CF80E10E94B8 |
:1093E000DC4F882309F47FCD78CD80E068E240E847 |
:1093F00026E000E00E949A25A12E1FEFFF24F3949F |
:10940000C1E0D0E090CD80E20E94DC4F882309F4D7 |
:109410005ECD59CD412F37CD012BA6CC1B2DFF247E |
:10942000F3946ECD87EF8B15E8F4172D472D2BCDD8 |
:1094300081E164E04B2D50E023E030E000E00E9449 |
:10944000C22A05CDF71409F4A5CBF4018491E0916B |
:10945000DE0AF091DF0AE80FF11DF08281E08093CF |
:10946000340198CB4B2D1B2D0ECD1E1509F492CB3C |
:10947000F6018491E091DE0AF091DF0AE80FF11D18 |
:10948000108381E08093340185CBF31409F482CBFF |
:10949000F2018491DCCF151509F47CCBF1018491A4 |
:1094A000E9CF0B1509F476CBF6018491E091DE0A41 |
:1094B000F091DF0AE80FF11D008381E08093340111 |
:1094C00069CB0E1509F466CBF6018491EFCFC71472 |
:1094D00009F460CBF5018491E091DE0AF091DF0A96 |
:1094E000E80FF11DC08281E08093340153CB84E00A |
:1094F00064E048ED59E220E00E94252409CCFF9267 |
:109500000F931F930E9492540E940740182F863099 |
:1095100021F18F3F21F10E947E3F8F3F01F1109298 |
:1095200030011092310181E08093030110923401E7 |
:10953000FF24F3940E944F40082F8F3FA1F0109218 |
:10954000320110923301F0920401802F0E941F41DA |
:109550008F3F81F30E94BA44F8CF0E9417441F91B5 |
:109560000F91FF900895809134018130C1F70E94DE |
:10957000302280E060E040EE5AE220E00E942524A4 |
:109580008DE060E0412F50E021E030E000E00E94FB |
:10959000C22A83E061E04CED5AE220E00E942524DB |
:1095A00083E062E049ED5AE220E00E94252480E059 |
:1095B00067E044EC5AE220E00E94E62381E062E0AA |
:1095C00042E020E00E94FF30813049F6812F0E9466 |
:1095D000E63E1817A1F080E064E04AEA5AE220E093 |
:1095E0000E94252484E690E09093480B8093470BDB |
:1095F0008091470B9091480B892BD1F7B0CF80E039 |
:1096000064E04AEB5AE220E00E94252480E065E015 |
:1096100040EB5AE220E00E942524E4CF0F931F93F1 |
:10962000CF93DF93082FE9010E94302280E062E0AF |
:10963000AE0120E00E94E623002309F055C08EE031 |
:1096400062E045E15CE220E00E94E62380E067E022 |
:1096500049EF5BE220E00E94E62312E00EC0002307 |
:10966000C1F080E10E94D24F882311F1043039F11A |
:1096700080E40E94D24F882389F580E20E94D24F75 |
:10968000882369F780E20E94DC4F882351F300238E |
:1096900041F7109335018EE062E041EF5BE220E09C |
:1096A0000E94E62304E080E10E94D24F8823F1F675 |
:1096B00080E10E94DC4F8823D9F20430C9F6109370 |
:1096C00035018EE062E049EE5BE220E00E94E62395 |
:1096D00000E080E40E94D24F882379F2802FDF914E |
:1096E000CF911F910F910895043009F0AFCF8EE014 |
:1096F00062E04DE05CE220E00E94E623A7CFEF921B |
:10970000FF920F931F93CF93DF93082FE62EF42E33 |
:10971000E9010E94302280E062E0AE0120E00E9478 |
:10972000E623013009F491C0013008F461C0023031 |
:1097300039F48EE062E041E65CE220E00E94E6233C |
:1097400080E067E04DE45CE220E00E94E62311E067 |
:109750002EC00F1580F4109335010F5F013009F40E |
:1097600064C0013008F04CC08EE062E045E45CE289 |
:1097700020E00E94E62380E10E94D24F882331F14D |
:10978000E01680F4109335010150013009F455C002 |
:10979000013008F040C08EE062E04DE25CE220E083 |
:1097A0000E94E62380E40E94D24F8823C9F480E21D |
:1097B0000E94D24F882369F680E20E94DC4F882302 |
:1097C00041F680E10E94D24F8823D1F680E10E94C9 |
:1097D000DC4F8823A9F680E40E94D24F882339F316 |
:1097E000802FDF91CF911F910F91FF90EF900895FF |
:1097F0008EE062E040E75CE220E00E94E623A0CF3A |
:10980000023009F0B8CF8EE062E045E35CE220E090 |
:109810000E94E623B0CF023029F68EE062E04DE1EF |
:109820005CE220E00E94E623BDCF8EE062E04DE3E3 |
:109830005CE220E00E94E6239ECF8EE062E045E2FB |
:109840005CE220E00E94E623ADCF8EE062E049E6D4 |
:109850005CE220E00E94E62373CF0F931F93CF9327 |
:10986000DF93082FE9010E94302280E062E0AE0120 |
:1098700020E00E94E623002309F055C08FE062E05B |
:1098800041EA5CE220E00E94E62380E067E046E8EF |
:109890005CE220E00E94E62311E00EC00023C1F04C |
:1098A00080E10E94D24F882311F1013039F180E428 |
:1098B0000E94D24F882389F580E20E94D24F8823EC |
:1098C00069F780E20E94DC4F882351F3002341F7BF |
:1098D000109335018FE062E04FE75CE220E00E94E8 |
:1098E000E62301E080E10E94D24F8823F1F680E177 |
:1098F0000E94DC4F8823D9F20130C9F6009335016C |
:109900008FE062E048E75CE220E00E94E62300E0AE |
:1099100080E40E94D24F882379F2802FDF91CF918B |
:109920001F910F910895013009F0AFCF8FE062E0F1 |
:109930004AE95CE220E00E94E623A7CFDF92EF92A3 |
:10994000FF920F931F93F82ED62EE42E89010E94CA |
:10995000302280E062E0A80120E00E94E62380E15E |
:1099600062E04F2D50E023E030E000E00E94C22A88 |
:1099700080E067E048EA5CE220E00E94E62311E034 |
:109980000EC0FE14C0F080E10E94D24F882321F166 |
:10999000DF1448F180E40E94D24F8823A9F580E2C9 |
:1099A0000E94D24F882369F780E20E94DC4F88230F |
:1099B00051F3FE1440F710933501F39480E162E017 |
:1099C0004F2D50E023E030E000E00E94C22A80E109 |
:1099D0000E94D24F8823E1F680E10E94DC4F882369 |
:1099E000C9F2DF14B8F610933501FA9480E162E011 |
:1099F0004F2D50E023E030E000E00E94C22A80E4D6 |
:109A00000E94D24F882359F28F2D1F910F91FF9002 |
:109A1000EF90DF900895DF92EF92FF920F931F93E4 |
:109A2000F82ED62EE42E89010E94302280E062E0DA |
:109A3000A80120E00E94E62380E162E04F2D50E083 |
:109A400023E030E000E00E94832980E067E04CEBF7 |
:109A50005CE220E00E94E62311E00EC0FE14C0F09C |
:109A600080E10E94D24F882321F1DF1448F180E485 |
:109A70000E94D24F8823A9F580E20E94D24F88230A |
:109A800069F780E20E94DC4F882351F3FE1440F70F |
:109A900010933501F39480E162E04F2D50E023E014 |
:109AA00030E000E00E94832980E10E94D24F8823A9 |
:109AB000E1F680E10E94DC4F8823C9F2DF14B8F69A |
:109AC00010933501FA9480E162E04F2D50E023E0DD |
:109AD00030E000E00E94832980E40E94D24F882376 |
:109AE00059F28F2D1F910F91FF90EF90DF90089505 |
:109AF0009F92AF92BF92CF92DF92EF92FF920F931D |
:109B00001F93CF93DF930E9430221092E10A1092AC |
:109B1000350181E08093430B82E08093420B80917A |
:109B2000D6068093440BAA249924BB24B394CC2456 |
:109B3000DD240E94302280E060E04AED5BE220E01C |
:109B40000E94252480E067E044EC5BE220E00E9474 |
:109B5000E623AA2009F04FC0C601880F991F8C0D7B |
:109B60009D1D8C01000F111F000F111F080F191FE1 |
:109B70000051154DC0E0D0E008C0C530B9F02196C5 |
:109B8000015F1F4FC630D105E1F07E01EC0CFD1CDA |
:109B900087E0E816F1048CF7CE018F5F682F83E031 |
:109BA000A80120E00E942524C53049F796E0E91677 |
:109BB000F1042CF781E066E040EC5BE220E00E94DB |
:109BC0002524992001F1C114D10489F182E066E0D5 |
:109BD0004B2D21E000E00E94FF30182F1E3FF9F0CE |
:109BE0001D3F71F5AA94992482E0B82ECA2CDD2479 |
:109BF000AA2009F4B1CF81E061E042EC5BE220E011 |
:109C00000E942524A9CFAA2091F481E065E04B2D84 |
:109C100020E001E00E94FF30182F1E3F09F7A394B7 |
:109C20009924939495E0B92ECA2CDD2492CF82E03A |
:109C300065E04B2D21E001E00E94FF30182FCECFD0 |
:109C40001F3F09F46CC0E601C10FD11DC130D10521 |
:109C500009F45AC0C230D10509F44BC0C330D10554 |
:109C6000E9F1C430D10571F1C530D105F9F0C63044 |
:109C7000D10581F0279711F0B12E5BCF8091D205ED |
:109C800060E041E029E53BE20E942D4C8093D20543 |
:109C9000B12E4FCF8091CF0560E049E728E63BE247 |
:109CA0000E949E4C8093CF05B12E43CF8091D30567 |
:109CB00060E049E727E73BE20E949E4C8093D30592 |
:109CC000B12E37CF8091D00560E042E026E83BE23C |
:109CD0000E947F4B8093D005B12E2BCF8091440BF7 |
:109CE00060E044E024E93BE20E940E4B8093440B89 |
:109CF000C1CF8091D40560E04EEF22EA3BE20E94A2 |
:109D00009E4C8093D405B3CF8091D10561E24AEA9D |
:109D100021EB3BE20E940B4D8093D105A5CF8091B2 |
:109D20003501813071F0823089F0DF91CF911F9140 |
:109D30000F91FF90EF90DF90CF90BF90AF909F90EA |
:109D400008950E94CB1D80913501EDCF8091440B89 |
:109D50008093D6060E94CB1DF8940E9473227894BB |
:109D6000E4CF1F920F920FB60F9211242F933F93BF |
:109D70005F936F937F938F939F93AF93BF9320B124 |
:109D8000309136012095232790913C0192239095A4 |
:109D900090933C0180913B018223892780933B0172 |
:109DA00092239823392730933601232F292380913A |
:109DB0003701822B80933701992361F08091460B04 |
:109DC000882309F451C081E08093460B1092390139 |
:109DD00010923801232F207FB9F581E380933A0157 |
:109DE0008091470B9091480B892B49F08091470B4C |
:109DF0009091480B01979093480B8093470B80916B |
:109E0000490B90914A0B892B49F08091490B909115 |
:109E10004A0B019790934A0B8093490B8091D4058C |
:109E2000882321F08091460B813011F1BF91AF91D1 |
:109E30009F918F917F916F915F913F912F910F90A3 |
:109E40000FBE0F901F90189580913A01815080931A |
:109E50003A01882329F68AE080933A0180914B0BDE |
:109E6000822B80934B0BBCCF409841985F98ABCF2F |
:109E70008091380190913901019690933901809336 |
:109E800038012091D40564E670E00E94F75730E075 |
:109E90006217730759F6409A419A5F9A1092460BDF |
:109EA000C5CF8AB180638AB9E0E8F0E08081826A38 |
:109EB0008083E1E8F0E080818B61808380910601FE |
:109EC000909107019093870080938600209108016C |
:109ED0003091090180910A0190910B01821B930B33 |
:109EE00096958795820F931F9093890080938800A1 |
:109EF00020910C0130910D0180910E0190910F0184 |
:109F0000821B930B96958795820F931F90938B00DE |
:109F100080938A0008959C01220F331F220F331F64 |
:109F2000220F331F820F931F6AE070E00E94F757E1 |
:109F30008091080190910901680F791FCB01885326 |
:109F400091408554914020F470938900609388007B |
:109F5000089594E1899FC001112466E070E00E9499 |
:109F60000B5880910C0190910D01680F791FCB0166 |
:109F7000895C90408552924020F470938B006093EE |
:109F80008A0008951092480B1092470B82E084BD1E |
:109F900085E085BD83EC87BDEEE6F0E080818260E0 |
:109FA000808308952FB7F8949091370189239827DB |
:109FB000909337012FBF08952FB7F89490914B0BD2 |
:109FC0008923982790934B0B2FBF08954FB7F89490 |
:109FD0003FB7F894209137019091360190958923ED |
:109FE00082232827209337013FBF4FBF08952FB703 |
:109FF000F89490914B0B8923982790934B0B2FBF8C |
:10A000002FB7F894909137018923982790933701BF |
:10A010002FBF0895209137013FB7F89490914B0BD3 |
:10A0200082278923982790934B0B3FBF9FB7F894C3 |
:10A0300082232827209337019FBF08953FB7F894C4 |
:10A0400020914B0B909137019095892782232827E7 |
:10A0500020934B0B3FBF08951F920F920FB60F92A4 |
:10A0600011242F933F934F935F936F938F939F93FD |
:10A07000AF93BF93CF93DF93EF93FF9380911D0135 |
:10A080008530B9F18430A9F16091C60080913D011D |
:10A090008823E9F430914701332309F05DC063322E |
:10A0A00009F49EC06D3009F468C0E32FF0E0E45B72 |
:10A0B000F44F60833F5F3093470180914801909156 |
:10A0C0004901860F911D9093490180934801FF91AA |
:10A0D000EF91DF91CF91BF91AF919F918F916F9150 |
:10A0E0005F914F913F912F910F900FBE0F901F9056 |
:10A0F00018954091C60020918A0130918B01809182 |
:10A100008C0190918D01281B390B37FD1FC02F3317 |
:10A110003105ECF6E0918A01F0918B01408380914A |
:10A120008A0190918B01019690938B0180938A0113 |
:10A1300080918A0190918B018A58914041F68AE47E |
:10A1400091E090938B0180938A01C1CF205C3F4FB7 |
:10A150002F333105FCF2BBCF343B08F4A3CF809101 |
:10A1600044019091450101969093450180934401EB |
:10A170001092470110923D01AACFA32FB0E0FD013C |
:10A18000E65BF44F9081ED01C55BD44F888140912F |
:10A19000480150914901491B5109481B51095F7001 |
:10A1A00050934901409348012081CA010024880F3F |
:10A1B000991F001C880F991F001C892F902D835C0C |
:10A1C0002817D1F08091420190914301019690931C |
:10A1D00043018093420110923D011092470177CFD5 |
:10A1E00060934C0B81E08093470183E290E0909371 |
:10A1F0004901809348016BCF9881842F8F73835CD2 |
:10A20000981701F7A45BB44F6C933F5F30933E0106 |
:10A2100090914E0B80911B019817F9F681E0809385 |
:10A220003D0180914E0B8235C1F62CE088E190E033 |
:10A230000FB6F894A895809360000FBE209360003D |
:10A24000CCCF20918A0130918B0180918C0190912B |
:10A250008D0128173907F9F0E0918C01F0918D01FB |
:10A26000E08180918C0190918D01019690938D01F8 |
:10A2700080938C0180918C0190918D018A5891403E |
:10A2800011F08E2F08958AE491E090938D018093D0 |
:10A290008C018E2F0895E0E08E2F0895DC0120912F |
:10A2A0008A0130918B0180918C0190918D0128174A |
:10A2B000390701F1E0918C01F0918D0180818C933F |
:10A2C00080918C0190918D01019690938D018093E6 |
:10A2D0008C0180918C0190918D018A58914011F0F0 |
:10A2E00081E008958AE491E090938D0180938C0140 |
:10A2F00081E0089580E008959093C5008093C400A4 |
:10A300008091C0008D7F8093C00086E08093C20062 |
:10A310008091C1008B7F8093C1008091C00087FF36 |
:10A3200006C08091C6008091C00087FDFACF809161 |
:10A33000C10088618093C1008091C10080688093D2 |
:10A34000C1008AE491E090938D0180938C0180910B |
:10A350008C0190918D0190938B0180938A010895D7 |
:10A36000E1ECF0E08081877F808323982B9808952B |
:10A37000239A2B98E1ECF0E0808188608083089537 |
:10A38000982F8091C00085FFFCCF9093C600089560 |
:10A39000FC019081992351F08091C00085FFFCCF92 |
:10A3A0009093C600319690819923B1F70895FC01EE |
:10A3B0008491882359F094918091C00085FFFCCF4F |
:10A3C0009093C600319684918823A9F7089520912F |
:10A3D0003E01263009F485C0AFE4BBE080914F0B0D |
:10A3E0003091500B3D535091510B4091520B8D5376 |
:10A3F000880F880F932F92959F70892B80934F0B16 |
:10A40000273009F472C0952F9D53642F6D53522F3E |
:10A41000585027E044E03BC0F0E09295990F990F27 |
:10A42000907C962BE45BF44F9083942F9E5F513089 |
:10A4300009F445C0E22FF0E0E45BF44F80812F5F28 |
:10A44000E22FF0E0E45BF44F30813D532F5FE22FC9 |
:10A45000F0E0E45BF44F70812F5FE22FF0E02350D7 |
:10A46000E45BF44F6081E92FF0E0932F92959F70A9 |
:10A470008D53880F880F892BE45BF44F80834D5FE9 |
:10A48000523031F1972F9D536D532C5F5350E42F71 |
:10A49000F0E03295307F892F86958695382BE45BE6 |
:10A4A000F44F3083E42FEF5F552309F0B5CFE3502D |
:10A4B000B0934001A0933F01E09341010895E42F40 |
:10A4C000E150B0934001A0933F01E0934101089512 |
:10A4D000E42FE350B0934001A0933F01E09341018A |
:10A4E0000895E0E0AFE4BBE0E3CFE1E0E1CF8091AD |
:10A4F0001C01813009F008958091C00085FFFCCFD8 |
:10A500008BE18093C6008091C00085FFFCCF8BE17A |
:10A510008093C6008091C00085FFFCCF85E58093C5 |
:10A52000C6008091C00085FFFCCF8AEA8093C600F8 |
:10A530008091C00085FFFCCF1092C60081E080931F |
:10A540001D0124EF31E044EF51E0CA010197F1F71A |
:10A5500021503040D1F7089585E080931D0124EF0C |
:10A5600031E044EF51E0CA010197F1F7215030404A |
:10A57000D1F70895BF92CF92DF92EF92FF920F939F |
:10A580001F93DF93CF93CDB7DEB78D852E8593E2F2 |
:10A5900090931F0C8F598093200C8C858093210CF5 |
:10A5A000222309F053C063E070E090E020E030E047 |
:10A5B000E0E0F0E0E15EF34F8081280F311D9F5F06 |
:10A5C000E92FF0E0E617F707A8F33F70C901002470 |
:10A5D000880F991F001C880F991F001C892F902D30 |
:10A5E000835C2F73235CFB01E15EF34F8083CB011F |
:10A5F0000196FC01E15EF34F20830196FC01E15ED0 |
:10A60000F34F2DE02083FC0131961092100120E0E1 |
:10A61000A0E0B0E08091C00085FFFCCFA15EB34F09 |
:10A620008C918093C6002F5FA22FB0E0AE17BF07BA |
:10A6300088F381E080931001CF91DF911F910F91FA |
:10A64000FF90EF90DF90CF90BF900895EF84F8884F |
:10A6500003E1C02ED12CCC0EDD1E49895A8941154B |
:10A66000510509F4A0CF022F015063E070E010E023 |
:10A6700062C0A12FB0E01F5FFA01AE0DBF1D8C912B |
:10A68000AF014150504009F48BC0E12FF0E01F5F53 |
:10A69000EE0DFF1DA0814150504009F06DC0002318 |
:10A6A00009F46AC096012E5F3F4FF601E080F18009 |
:10A6B00012E0C12ED12CC20ED31EF901408151816E |
:10A6C0000150382F32953F7090E08F7090702A2F94 |
:10A6D0002295269526952370880F991F880F991F1C |
:10A6E000282B235CAF73A35C10E08B2D8695869599 |
:10A6F000835CFB01E15EF34F80838B2D90E08370E0 |
:10A70000907082959295907F9827807F9827382B1C |
:10A71000335CFB01E05EF34F3083FB01EF5DF34FF1 |
:10A720002083FB01EE5DF34FA0836C5F7F4F4115EB |
:10A73000510509F43ACFF701E10FF11DB0801F5F19 |
:10A740004150504009F095CF002391F0F601329628 |
:10A75000D601ED90FC9012E0C12ED12CCE0EDF1E62 |
:10A760000190F081E02D0150309709F04CC010E0CD |
:10A7700030E02DE3ADE3B9CF382F32953F7090E054 |
:10A780008F7090702A2F2295269526952370880F1A |
:10A79000991F880F991F282B235CAF73A35CA5CF4B |
:10A7A000002371F4382F32953F7090E08F709070D5 |
:10A7B000880F991F880F991F282F235CADE395CF31 |
:10A7C000F6013296D601ED90FC90A2E0CA2ED12C73 |
:10A7D000CE0EDF1E4081518101504115510521F0FF |
:10A7E000E0E0F0E011E054CF382F32953F7090E078 |
:10A7F0008F709070880F991F880F991F282F235CE6 |
:10A8000010E0ADE372CFA0E0B0E011E036CFDF930F |
:10A81000CF930F92CDB7DEB720911D01213021F0EB |
:10A820000F90CF91DF91089592E099834DB75EB775 |
:10A83000475050400FB6F8945EBF0FBE4DBFEDB706 |
:10A84000FEB7319685E7ADB7BEB711968C9391836D |
:10A850002283CE0101969483838381E090E09683E6 |
:10A8600085830E94BA5284E080931D0124EF31E079 |
:10A870004DB75EB7495F5F4F0FB6F8945EBF0FBE2E |
:10A880004DBF44EF51E0CA010197F1F7215030402C |
:10A89000D1F70F90CF91DF910895DF93CF930F926F |
:10A8A000CDB7DEB790911D01913021F00F90CF917F |
:10A8B000DF91089599832DB73EB7275030400FB6EA |
:10A8C000F8943EBF0FBE2DBFEDB7FEB7319685E7BA |
:10A8D000ADB7BEB711968C9382E081839283CE018F |
:10A8E00001969483838381E090E0968385830E9420 |
:10A8F000BA5283E080931D0124EF31E08DB79EB7FB |
:10A9000007960FB6F8949EBF0FBE8DBF44EF51E07F |
:10A91000CA010197F1F721503040D1F70F90CF9144 |
:10A92000DF9108951F93DF93CF930F92CDB7DEB7DA |
:10A9300090911D01913029F00F90CF91DF911F91DF |
:10A94000089519822DB73EB7275030400FB6F894BE |
:10A950003EBF0FBE2DBFEDB7FEB7319685E7ADB751 |
:10A96000BEB711968C9312E011839283CE010196AB |
:10A970009483838381E090E0968385830E94BA521A |
:10A9800010931D0124EF31E08DB79EB707960FB6E7 |
:10A99000F8949EBF0FBE8DBF44EF51E0CA010197EE |
:10A9A000F1F721503040D1F70F90CF91DF911F91F7 |
:10A9B0000895FF920F931F93DF93CF930F92CDB71C |
:10A9C000DEB7082FF62E142F0E94B851812F6AE0AF |
:10A9D0000E94EB5789838DB79EB707970FB6F894FF |
:10A9E0009EBF0FBE8DBFEDB7FEB73196ADB7BEB7F8 |
:10A9F00011960C93F18281E08283CE0101969483BB |
:10AA0000838381E090E0968385830E94BA528DB75C |
:10AA10009EB707960FB6F8949EBF0FBE8DBF80916C |
:10AA200010018823E1F30E94B0510F90CF91DF9184 |
:10AA30001F910F91FF9008955058BB27AA270ED061 |
:10AA400078C141D130F046D120F031F49F3F11F46C |
:10AA50001EF436C10EF4E095E7FB2CC1E92F8BD133 |
:10AA600080F3BA17620773078407950718F071F42B |
:10AA70009EF5A3C10EF4E0950B2EBA2FA02D0B016D |
:10AA8000B90190010C01CA01A0011124FF27591B33 |
:10AA900099F0593F50F4503E68F11A16F040A22F39 |
:10AAA000232F342F4427585FF3CF469537952795AA |
:10AAB000A795F0405395C9F77EF41F16BA0B620BA9 |
:10AAC000730B840BBAF09150A1F0FF0FBB1F661FF0 |
:10AAD000771F881FC2F70EC0BA0F621F731F841F33 |
:10AAE00048F4879577956795B795F7959E3F08F059 |
:10AAF000B3CF9395880F08F09927EE0F9795879518 |
:10AB00000895F0D0E39526C10CD013C1E3D040F0F6 |
:10AB1000DAD030F021F45F3F19F0CCC051114EC1B2 |
:10AB2000CFC029D198F39923C9F35523B1F3951BCD |
:10AB3000550BBB27AA2762177307840738F09F5F5E |
:10AB40005F4F220F331F441FAA1FA9F333D00E2ECD |
:10AB50003AF0E0E830D091505040E695001CCAF73A |
:10AB600029D0FE2F27D0660F771F881FBB1F2617FF |
:10AB700037074807AB07B0E809F0BB0B802DBF01D2 |
:10AB8000FF2793585F4F2AF09E3F510568F092C00F |
:10AB900015C15F3FECF3983EDCF38695779567959A |
:10ABA000B795F7959F5FC9F7880F911D9695879583 |
:10ABB00097F90895E1E0660F771F881FBB1F6217A2 |
:10ABC00073078407BA0720F0621B730B840BBA0B60 |
:10ABD000EE1F88F7E095089504D06894B111EEC097 |
:10ABE0000895D1D088F09F5790F0B92F9927B75189 |
:10ABF000A0F0D1F0660F771F881F991F1AF0BA9541 |
:10AC0000C9F712C0B13081F0D8D0B1E00895D5C0F5 |
:10AC1000672F782F8827B85F39F0B93FCCF3869536 |
:10AC200077956795B395D9F73EF490958095709593 |
:10AC300061957F4F8F4F9F4F0895E89409C097FB10 |
:10AC40003EF490958095709561957F4F8F4F9F4F03 |
:10AC50009923A9F0F92F96E9BB279395F695879547 |
:10AC600077956795B795F111F8CFFAF4BB0F11F40A |
:10AC700060FF1BC06F5F7F4F8F4F9F4F16C08823B1 |
:10AC800011F096E911C0772321F09EE8872F762FE7 |
:10AC900005C0662371F096E8862F70E060E02AF028 |
:10ACA0009A95660F771F881FDAF7880F9695879514 |
:10ACB00097F9089597F99F6780E870E060E008953C |
:10ACC0009FEF80EC089500240A94161617061806C4 |
:10ACD0000906089500240A941216130614060506A0 |
:10ACE0000895EECF50D0E8F3E894E0E0BB279F57FB |
:10ACF000F0F02AED3FE049EC06C0EE0FBB0F661FF7 |
:10AD0000771F881F28F0B23A62077307840728F07C |
:10AD1000B25A620B730B840BE3959A9572F78038E5 |
:10AD200030F49A95BB0F661F771F881FD2F79048A3 |
:10AD3000F1C0092E0394000C11F4882352F0BB0FCC |
:10AD400040F4BF2B11F460FF04C06F5F7F4F8F4F43 |
:10AD50009F4F0895EF93E0FF06C0A2EA2AED3FE07F |
:10AD600049EC5FEB7BDEE5DF0F90039401FC90582C |
:10AD7000ECE7F0E0DBC057FD9058440F551F59F049 |
:10AD80005F3F71F04795880F97FB991F61F09F3FD8 |
:10AD900079F087950895121613061406551FF2CF01 |
:10ADA0004695F1DF08C0161617061806991FF1CF51 |
:10ADB00086957105610508940895E894BB27662778 |
:10ADC0007727CB0197F908950BD0B3CF7CDF28F01C |
:10ADD00081DF18F0952309F06DCF72CF1124EECFEB |
:10ADE000CADFA0F3959FD1F3950F50E0551F629FE6 |
:10ADF000F001729FBB27F00DB11D639FAA27F00DD4 |
:10AE0000B11DAA1F649F6627B00DA11D661F829FFA |
:10AE10002227B00DA11D621F739FB00DA11D621FDF |
:10AE2000839FA00D611D221F749F3327A00D611DFC |
:10AE3000231F849F600D211D822F762F6A2F1124DE |
:10AE40009F5750408AF0E1F088234AF0EE0FFF1F31 |
:10AE5000BB1F661F771F881F91505040A9F79E3F68 |
:10AE6000510570F027CFAACF5F3FECF3983EDCF39B |
:10AE7000869577956795B795F795E7959F5FC1F7A5 |
:10AE8000FE2B880F911D9695879597F908957BDF86 |
:10AE9000E0F09E37D8F09639B8F49E3848F4672F22 |
:10AEA000782F8827985FF9CF869577956795939542 |
:10AEB0009539D0F3B62FB1706B0F711D811D20F441 |
:10AEC000879577956795939508C022C077CF9F9314 |
:10AED00009DF0F9007FCEE5F3DCF882371F47723E5 |
:10AEE00021F09850872B762F07C0662311F49927FD |
:10AEF0000DC09051862B70E060E02AF09A95660FA5 |
:10AF0000771F881FDAF7880F9695879597F9089528 |
:10AF10009F3F31F0915020F4879577956795B795CD |
:10AF2000880F911D9695879597F908959F938F9314 |
:10AF30007F936F93FF93EF939B01AC0145DFEF91FC |
:10AF4000FF9105D02F913F914F915F913DCFDF93BE |
:10AF5000CF931F930F93FF92EF92DF927B018C01AF |
:10AF6000689405C0DA2EEF013BDFFE01E894A5915D |
:10AF70002591359145915591AEF3EF016FDDFE01BD |
:10AF80009701A801DA9479F7DF90EF90FF900F9185 |
:10AF90001F91CF91DF910895629FD001739FF001BF |
:10AFA000829FE00DF11D649FE00DF11D929FF00D59 |
:10AFB000839FF00D749FF00D659FF00D9927729F90 |
:10AFC000B00DE11DF91F639FB00DE11DF91FBD011B |
:10AFD000CF0111240895991B79E004C0991F961799 |
:10AFE00008F0961B881F7A95C9F780950895AA1BCB |
:10AFF000BB1B51E107C0AA1FBB1FA617B70710F064 |
:10B00000A61BB70B881F991F5A95A9F78095909595 |
:10B01000BC01CD01089597FB092E07260AD077FDC4 |
:10B0200004D0E5DF06D000201AF4709561957F4FBB |
:10B030000895F6F7909581959F4F0895A1E21A2EF5 |
:10B04000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1FCC |
:10B05000A217B307E407F50720F0A21BB30BE40B1C |
:10B06000F50B661F771F881F991F1A9469F7609563 |
:10B070007095809590959B01AC01BD01CF0108951D |
:10B0800097FB092E05260ED057FD04D0D7DF0AD036 |
:10B09000001C38F450954095309521953F4F4F4F07 |
:10B0A0005F4F0895F6F790958095709561957F4F65 |
:10B0B0008F4F9F4F0895DC0101C06D934150504068 |
:10B0C000E0F70895FB019F01E8944230C4F0453257 |
:10B0D000B4F44A3029F497FB1EF4909581959F4F64 |
:10B0E000642F77270E94F757805D8A330CF0895DC3 |
:10B0F0008193CB010097A1F716F45DE25193108282 |
:10B10000C9010C94AF58FB019F01423074F04532E5 |
:10B1100064F4642F77270E94F757805D8A330CF020 |
:10B12000895D8193CB010097A1F71082C9010C942E |
:10B13000AF58F999FECF92BD81BDF89A992780B595 |
:10B140000895262FF999FECF1FBA92BD81BD20BD6B |
:10B150000FB6F894FA9AF99A0FBE01960895DC0199 |
:10B16000FC01672F71917723E1F7329704C07C913E |
:10B170006D9370836291AE17BF07C8F30895F8947A |
:02B18000FFCFFF |
:10B18200FFFFFF0101FF6A183801710238017102E5 |
:02B192000100BA |
:00000001FF |
/Transportables_Koptertool/tags/V3.2/Koptertoo1_2/best_12.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Transportables_Koptertool/tags/V3.2/Koptertoo1_2/kt_v1_2.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Transportables_Koptertool/tags/V3.2/Koptertoo1_3/GPL_PKT_V3_x_FC084_HW1_3.hex |
---|
0,0 → 1,2903 |
:100000000C94AE160C94D4160C94D4160C94D416EE |
:100010000C94D4160C94D4160C94D4160C94D416B8 |
:100020000C94D4160C94D4160C94D4160C94D416A8 |
:100030000C94D4160C94D4160C94D4160C94D41698 |
:100040000C94C44F0C94D4160C94D4160C94D4165F |
:100050000C9404520C94D4160C94D4160C94D4160C |
:100060000C94D4160C94D4160C94AD360C94D4166F |
:100070000C943F510C946B510C94D41605A84CCDA4 |
:10008000B2D44EB93836A9020C50B9918688083CD2 |
:10009000A6AAAA2ABE000000803F457869740073B2 |
:1000A00074617274656E00756E64204D696B726F59 |
:1000B0006B6F70746572746F6F6C005043206D6964 |
:1000C00074205553422076657262696E64656E00D5 |
:1000D00057692E32333220746F2046432000457812 |
:1000E00069740050726F6772616D6D207374617214 |
:1000F00074656E0057692E323332005043206D69AB |
:1001000074205553422076657262696E64656E0094 |
:1001100057692E323332204B6F6E66696775726194 |
:1001200074696F6E200057692E323332204E414B76 |
:1001300000576932333220496E6974206F6B2E2E5E |
:100140002E2E00576932333220496E69744572721F |
:100150006F72202000496E69742057693233322053 |
:10016000776169742E2E2E2E0056657273696F6E3C |
:100170003A006F6B202020202020202020202020EB |
:100180002020202020004E562D52414D20736574B2 |
:1001900020746F203537363030004572726F722010 |
:1001A000736574204E562D52414D0057692E3233DF |
:1001B0003220666F756E6420323430300057692EFD |
:1001C00032333220666F756E64203537363030003A |
:1001D00057692E3233322053797461786572726FA9 |
:1001E00072006E6F2057692E32333220666F756E43 |
:1001F000640077697468203234303020426175645D |
:1002000020007769746820353736303020426175B8 |
:1002100064007365617263682057692E323332203F |
:100220004D6F64756C004552524F523A206E6F20EC |
:1002300064617461003F004E0046004552524F52C7 |
:100240003A206E6F206461746100416E616C6F676B |
:10025000204E616D65733A200052656164696E6776 |
:10026000004552524F523A206E6F20646174610013 |
:10027000201C202020201D2020202020457869746B |
:100280002020464300201C202020201D202020204C |
:10029000204578697420204E4300201C2020202017 |
:1002A0001D20202020204578697400201C2020205B |
:1002B000201D2020202020457869742020464300FE |
:1002C000446973706C617900201C202020201D205F |
:1002D000202020204578697420204E4300201C20D7 |
:1002E0002020201D20202020204578697400201C1B |
:1002F000202020201D2020202020457869742020E7 |
:10030000464300776569746572206D697420454EB7 |
:100310005445520D0A006175662044656661756C2E |
:10032000742067657365747A740D0A0045455052F0 |
:100330004F4D20506172616D657465720D0A0078D1 |
:100340001514157800205554557800384544453823 |
:10035000003049484930003C4140413C0038414070 |
:100360002178007E1515150A00000000000000002D |
:10037000000000000000000000000000000000007D |
:100380000000000000000010385410101E00000093 |
:100390000000001010101010101010107C10100031 |
:1003A000000000000000000000000000000000004D |
:1003B000000000000000000000000000000000003D |
:1003C00000000004027F02040010207F20100010B3 |
:1003D000385410101010101054381010181C1C181D |
:1003E0001008183838180800081C3E7F00007F3EAF |
:1003F0001C080006090909060006497D4906000097 |
:10040000000000000000002F0000000007000700AF |
:1004100000147F147F1400242A6B2A12002313086F |
:1004200064620036495522500000050300000000B8 |
:100430001C224100000041221C000014083E081448 |
:100440000008083E080800005030000000080808B6 |
:100450000808000060600000002010080402003E50 |
:100460005149453E0000427F4000004261514946EB |
:10047000002141454B31001814127F1000274545DB |
:100480004539003C4A4949300003017109070036EB |
:100490004949493600064949291E00003636000000 |
:1004A0000000563600000008142241000014141405 |
:1004B0001414000041221408000201510906003200 |
:1004C0004979413E007E1111117E007F494949362C |
:1004D000003E41414122007F4141221C007F4949A9 |
:1004E0004941007F09090901003E4149497A007FDD |
:1004F0000808087F0000417F4100002040413F0183 |
:10050000007F08142241007F40404040007F020CE1 |
:10051000027F007F0408107F003E4141413E007F82 |
:1005200009090906003E4151215E007F091929464B |
:100530000046494949310001017F0101003F404027 |
:10054000403F001F2040201F003F4038403F0063D5 |
:1005500014081463000708700807006151494543F7 |
:10056000007F4141000000020408102000004141CA |
:100570007F000004020102040040404040400000AF |
:1005800001020400002054545478007F4844443849 |
:1005900000384444442000384444487F00385454D0 |
:1005A000541800087E090102000C5252523E007F8E |
:1005B000080404780000447D4000002040443D00D1 |
:1005C000007F102844000000417F4000007C041898 |
:1005D0000478007C08040478003844444438007CE3 |
:1005E0001414140800081414187C007C080404086F |
:1005F00000485454542000043F444020003C4040F4 |
:10060000207C001C2040201C003C4038403C004422 |
:1006100028102844000C5050503C004464544C4472 |
:100620000000083641000000007F00000000413655 |
:1006300008000008082A1C0800081C2A0808002EC8 |
:10064000002E006D006B6D2F6800636D002E002082 |
:1006500020006F6B00200044006E6F0032440033B6 |
:10066000440020002D00780058004F00416C742099 |
:1006700020202020203A20004C61742020202020BF |
:10068000203A20004C6F6E6720202020203A200066 |
:100690005370656564202020203A200050444F505C |
:1006A00020202020203A2000416363757261637925 |
:1006B000203A20005361742020202020203A20007E |
:1006C0004669782054797065203A20004F6E6C7925 |
:1006D0002077697468204E43202100201A202020B2 |
:1006E000201B2020202020457869740020203031F4 |
:1006F00032333435363738394142434445460D0AA2 |
:10070000000D0A6B6F6D7061746962656C00302E4C |
:1007100038322F302E383400464320536F667477BA |
:100720006172652000504D4B2D546F6F6C206E75BB |
:1007300072206D69740D0A0020676566756E6465C8 |
:100740006E0D0A00454550726F6D5265762E002081 |
:1007500065727761727465740D0A00454550726F59 |
:100760006D5265762E002E0056657273696F6E3A73 |
:1007700020004E6176692D4374726C0D0A00466C40 |
:10078000696768742D4374726C0D0A00666F756E2C |
:10079000643A0D0A0A00504D4B2D546F6F6C204780 |
:1007A0004E552047504C0D0A006E6F2068617264F0 |
:1007B0007761726520646574656374656400455291 |
:1007C000524F523A00536B69702046432D4368657F |
:1007D000636B00636865636B696E67206861726450 |
:1007E000776172652E2E2E00474E552047504C20C3 |
:1007F0004C6963656E736500302E38322F302E38A9 |
:100800003400666F7220464320562000506F727489 |
:1008100061626C6573204B6F70746572746F6F6C7E |
:10082000004F5344202020202020202020200000A2 |
:100830003344204C616765202020202020000044A4 |
:100840006973706C617920202020202000005061A5 |
:1008500072616D65746572732020200000446562CA |
:100860007567204461746120202000004D6F746F13 |
:100870007220546573742020200000475053204993 |
:100880006E666F2020202020000053657475702054 |
:10089000504D4B20202020000056657273696F6E0A |
:1008A000202020202020000055534220746F204635 |
:1008B00043202020200000446973706C617920205F |
:1008C000202020200000506172616D657465727394 |
:1008D0002020200000446562756720446174612017 |
:1008E000202000004D6F746F7220546573742020B7 |
:1008F000200000536574757020504D4B202020203F |
:10090000000056657273696F6E2020202020200041 |
:100910000055534220746F204643202020200000C1 |
:10092000493243204D6F746F7274657374000053C5 |
:100930006574757020504D4B2020202000005665B6 |
:100940007273696F6E2020202020200000555342D2 |
:1009500020746F2046432020202000004B6F6E66DD |
:1009600069672057692E3233320000504B542053B0 |
:10097000572D557064617465000032303131204369 |
:1009800068722E204272616E64746E65722000324D |
:100990003031302053656261737469616E20426F3B |
:1009A00065686D00323030392D323031302050657D |
:1009B000746572204D61636B0032303038205468AA |
:1009C0006F6D6173204B6169736572002020204E4A |
:1009D0004F2057415252414E545900284329204735 |
:1009E0004E552047504C204C6963656E736500304E |
:1009F0002E38322F302E383400666F722046432056 |
:100A000000504D4B20546F6F6C20332E320020204D |
:100A100020202020202020202020207A757275653B |
:100A2000636B006E69636874206D6F65676C6963E2 |
:100A30006821004D6974206469657365722048619E |
:100A4000726477617265004261636B202020202010 |
:100A5000202020202020205374617274002E6865AD |
:100A6000783A610055666C6173683A773A4E45573B |
:100A7000534F46545741524500313039202D506371 |
:100A80006F6D3F202D62313135323030202D0061C5 |
:100A9000767264756465202D706D36343470202D47 |
:100AA00063617672005468656E207374617274209D |
:100AB000617672647564653A0050726573732027BD |
:100AC000537461727427206F6E20504B5400436F33 |
:100AD0006E6E65637420504320746F20504B542D0C |
:100AE000555342001B001A00201A202020201B20F2 |
:100AF00020202020202020202020200C00302E38F4 |
:100B0000322F302E383400504D4B2D546F6F6C3DCA |
:100B1000464320001D0020001D00200020001D0075 |
:100B2000416C6C001D00201820202020192020205E |
:100B300020204261636B2020200C0056616C75659B |
:100B40003A20202030004D6F746F723A20416C6C57 |
:100B5000004D6F746F72205465737400424C4320D3 |
:100B600023006465632020696E632020202045787F |
:100B70006974204F78666600493243204D6F746F68 |
:100B8000722054657374006D617820416C746974CF |
:100B90007564653A006D6178205370656564202046 |
:100BA000203A006D61782044697374616E63653A20 |
:100BB000006D696E20566F6C74616765203A006D38 |
:100BC00061782054696D65202020203A006D61789D |
:100BD0002043757272656E74203A005573656443E4 |
:100BE000617061636974793A00870B950BA30BB14F |
:100BF0000BBF0BCD0BDB0B0E0F0E4E0E0F0E4F0E61 |
:100C00000F0E530E0F0E570E0F0E4E0E0F0E4F0EF1 |
:100C10000F0E530E0F0E570E0F0E4E0E0F0E4F0EE1 |
:100C20000F0E530E0F0E574E450045200053450042 |
:100C30005320005357005720004E57004E200027E6 |
:100C40000C2A0C2D0C300C330C360C390C3C0C459A |
:100C500052524F523A206E6F2064617461002E0030 |
:100C60002E004B3A00523A004E3A006D4168005057 |
:100C7000430020200046726565202020202020208F |
:100C800000506F732E20486F6C64202000436F6DFE |
:100C9000696E6720486F6D650053617473006B6DFA |
:100CA0002F68004F6E6C792077697468204E43205E |
:100CB0002100202020202020202020202020202053 |
:100CC000002E002E006D4168006B6D2F68004B6197 |
:100CD0006E61656C65202044000000000043616E79 |
:100CE0006175782020204600000000004368616E96 |
:100CF0006E656C20204500000000004D61696E208B |
:100D000020202020200000000000436F6E666967ED |
:100D10002020202000000000006D61696E2020204E |
:100D20002020200000000000537469636B20202005 |
:100D3000202000000000004D616E636865202020C7 |
:100D4000200000000000737469636B2020202020C5 |
:100D500000000000004C6F6F70696E67202020005B |
:100D6000000000004C6F6F70696E6720202000004B |
:100D70000000004C6F6F70696E672020200000003B |
:100D80000000486F656865202020202000000000DA |
:100D900000416C74697475646520200000000000D7 |
:100DA000416C746974756465202000000000004B7C |
:100DB000616D657261202020200000000000436109 |
:100DC0006D65726120202020000000000043616DED |
:100DD0006572612020202000000000004E617669CD |
:100DE0004374726C202000000000004E617669435D |
:100DF00074726C202000000000004E61766943741C |
:100E0000726C202000000000004175736761656E00 |
:100E10006765200000000000536F727469657320DD |
:100E2000202000000000004F75747075747320203E |
:100E30002000000000005665727363682E20202099 |
:100E400000000000004469766572732020202000B5 |
:100E500000000000446976657273202020200000A5 |
:100E60000000004779726F20202020202000000021 |
:100E700000004779726F2020202020200000000011 |
:100E8000004779726F202020202020000000000001 |
:100E900042656E75747A6572202000000000005073 |
:100EA0006172616D657472657300000000005573B6 |
:100EB000657220202020202000000000004163688F |
:100EC000736B6F70706C2E0000000000436F7570C4 |
:100ED0006C20417865730000000000436F75706CF2 |
:100EE000204178657300000000004D69786572202C |
:100EF000202020200000000000436F6E66696720FC |
:100F00004D69780000000000436F6E666967204DF0 |
:100F10006978000000000047617320202020202015 |
:100F200020202020200047617A202020202020201F |
:100F300020202020005468726F74746C652020207B |
:100F400020202000476965722020202020202020BA |
:100F50002020004C61636574202020202020202068 |
:100F6000200047696572202020202020202020209A |
:100F7000004E69636B2020202020202020202000AC |
:100F800054616E6761676520202020202020004E7C |
:100F900069636B2020202020202020202000526F19 |
:100FA0006C6C2020202020202020202000526F75F3 |
:100FB0006C6973202020202020202000526F6C6C50 |
:100FC0002020202020202020202000506F74692025 |
:100FD00031202020202020202000506F74692031F3 |
:100FE000202020202020202000506F7469203120F4 |
:100FF0002020202020202000506F746920322020E3 |
:1010000020202020202000506F74692032202020D2 |
:10101000202020202000506F7469203220202020C2 |
:101020002020202000506F746920332020202020B1 |
:1010300020202000506F74692033202020202020A1 |
:10104000202000506F746920332020202020202091 |
:101050002000506F74692034202020202020202080 |
:1010600000506F7469203420202020202020200090 |
:10107000506F746920342020202020202020005030 |
:101080006F74692035202020202020202000506F00 |
:1010900074692035202020202020202000506F74EB |
:1010A000692035202020202020202000506F7469E6 |
:1010B0002036202020202020202000506F7469201E |
:1010C00036202020202020202000506F74692036F8 |
:1010D000202020202020202000506F7469203720FD |
:1010E0002020202020202000506F746920372020ED |
:1010F00020202020202000506F74692037202020DD |
:10110000202020202000506F7469203820202020CB |
:101110002020202000506F746920382020202020BB |
:1011200020202000506F74692038202020202020AB |
:101130002020004D6F746F7220536963682E5363D3 |
:1011400068004D6F742E5361666574792053772E55 |
:10115000004D6F742E5361666574792053772E00AD |
:101160004572772E205369672E2050722E2000433F |
:1011700074726C2052656E20526563657000456E16 |
:10118000682E205369672E436865636B00456D7058 |
:101190006661656E67657220547970005479706578 |
:1011A0002052656365707465757200526563656988 |
:1011B00076657220547970652000486F6568656EA9 |
:1011C000726567656C657220004374726C20416CB7 |
:1011D00074697475646520004374726C20416C748A |
:1011E000697475646520004750532020202020201A |
:1011F0002020202020004750532020202020202085 |
:101200002020202000475053202020202020202074 |
:10121000202020004B6F6D706173732020202020F0 |
:10122000202000436F6D706173202020202020203B |
:101230002000436F6D7061737320202020202020D8 |
:10124000004B6F6D704665737420417573722E008C |
:101250004D61696E7469656E2043617020200043A2 |
:101260006F6D704F7269656E742E466978004572B5 |
:10127000772E205369672E2050722E2000437472FF |
:101280006C2052656E2052656365700053656E7305 |
:101290002E52637653696756616C00416368732808 |
:1012A000652E296B6F70706C2E00446563657570D8 |
:1012B0006C61676520417865004178697320436FF0 |
:1012C0007570696E67202000480368656E462E536E |
:1012D0006368616C742E004C696D69742056697482 |
:1012E0002E20526F7400526F7452617465206C69C5 |
:1012F0006D69742E0048656164696E6720486F6C83 |
:10130000642020004F7269656E742E2066697865CE |
:101310002020004E69636B2F526F6C6C20202020C0 |
:1013200020004E69636B2F526F6C6C205020202080 |
:1013300000526F756C2F54616E6720502020200082 |
:101340004E69636B2F526F6C6C2050202020004E32 |
:1013500069636B2F526F6C6C204420202000526F09 |
:10136000756C2F54616E672044202020004E696305 |
:101370006B2F526F6C6C20442020200047696572EF |
:1013800020502020202020202020004C6163657404 |
:101390002050202020202020200047696572205006 |
:1013A00020202020202020200045787465726E6562 |
:1013B000204B6F6E74722E004374726C20457874EB |
:1013C00065726E6520200045787465726E204374E6 |
:1013D000726C202020004C6F6F70696E67206F6206 |
:1013E000656E2020004C6F6F70696E6720417661DA |
:1013F0006E7420004C6F6F70696E672075702020CE |
:101400002020004C6F6F70696E6720756E74656E7A |
:1014100020004C6F6F70696E67204172726965724F |
:10142000004C6F6F70696E6720646F776E202000CC |
:101430004C6F6F70696E67206C696E6B7320004C27 |
:101440006F6F70696E6720476175636865004C6FE8 |
:101450006F70696E67206C6566742020004C6F6F3A |
:1014600070696E6720726563687473004C6F6F708B |
:10147000696E672044726F697465004C6F6F7069A4 |
:101480006E672072696768742000476173204C6939 |
:101490006D69742020202020004C696D69746520DE |
:1014A00047617A20202020005468726F74746C6544 |
:1014B000204C696D697400416E7370726563687366 |
:1014C0006368772E2000536575696C205265706FD4 |
:1014D0006E73652000536575696C205265706F6E80 |
:1014E00073652000487973746572657365202020E8 |
:1014F0002020004879737465726573697320202019 |
:101500002000487973746572657369732020202008 |
:1015100000556D6B656872702E204E69636B2000FC |
:10152000496E7665727320526F756C697320004E38 |
:1015300069636B20496E7665727320200000556DDB |
:101540006B656872702E20526F6C6C2000496E764D |
:101550006572732054616E6761676500526F6C6CD1 |
:1015600020496E7665727320200000486F656865BB |
:101570006E726567656C756E67004374726C2041AE |
:101580006C7469747564652000416C746974756469 |
:1015900065204374726C2000593A484265672C4EAE |
:1015A0003A566172696F00593A4C696D482C4E3A4F |
:1015B000566172696F00593A4C696D482C4E3A5623 |
:1015C0006172696F00536368616C74657220662E86 |
:1015D00020482E00537769746820686175746575BA |
:1015E00072200053776974636820662E204869670B |
:1015F0006800616B7573742E20566172696F2020CC |
:1016000000566172696F2061636F7573746963005E |
:1016100061636F757374696320566172696F0053FB |
:101620006F6C6C68036865202020202020004861D2 |
:101630007574657572204D617820202000536574A3 |
:10164000706F696E74202020202020004D696E2E5E |
:10165000204761732020202020200047617A206DE0 |
:10166000696E20202020202020006D696E2E2074BD |
:1016700068726F74746C652000486F6568652050EF |
:101680002020202020202000416C7469747564653E |
:1016900020502020202000416C74697475646520FE |
:1016A0005020202020004C756674647275636B2096 |
:1016B00044202020005072657373696F6E204420AF |
:1016C000202020004261726F6D657472696320444E |
:1016D0002020005A2D41434320202020202020207C |
:1016E0002000414343205A20202020202020202079 |
:1016F00000414343205A2020202020202020200089 |
:10170000566572737401726B756E672F52000047D5 |
:1017100061696E2F4672657175656E6365006761FC |
:10172000696E2F7261746520202020200053636849 |
:1017300077656265676173202B2F2D0056617220DB |
:10174000766F6C2073746174202000686F6F76650B |
:10175000722076617269612E2000475053205A2012 |
:10176000202020202020202000475053205A2020D5 |
:101770002020202020202000475053205A202020C5 |
:1017800020202020202000537469636B204E657553 |
:1017900074722E205000506F73204E657574726500 |
:1017A000204D616E00737469636B206E6575747291 |
:1017B0002E2050004E69636B20532E20416E7374AF |
:1017C0002E200041737365722074616E67616765D6 |
:1017D00020006E69636B2073657276206374726C8F |
:1017E000004E69636B204B6F6D70656E732E200029 |
:1017F000436F6D702074616E676167652020006EB5 |
:1018000069636B20636F6D70656E732E20004E6987 |
:10181000636B20556D6B656872656E2000496E764E |
:101820006572736572206469722020006E69636B53 |
:1018300020696E762E206469722E004E69636B20DB |
:10184000536572766F206D696E00536572766F20F6 |
:101850006D696E2020202020006E69636B20736507 |
:1018600072766F206D696E004E69636B20536572EE |
:10187000766F206D617800736572766F206D617888 |
:101880002020202020006E69636B20736572766FC4 |
:10189000206D617800526F6C6C20532E20416E7366 |
:1018A000742E2000417373657220726F756C6973BA |
:1018B000202000726F6C6C207365727620637472E6 |
:1018C0006C00526F6C6C204B6F6D70656E732E20C8 |
:1018D00000436F6D702074616E6761676520200042 |
:1018E000726F6C6C20636F6D70656E732E2000528A |
:1018F0006F6C6C20556D6B656872656E2000496E6B |
:1019000076657273657220646972202000726F6C54 |
:101910006C20696E762E206469722E00526F6C6C9A |
:1019200020536572766F206D696E00536572766F15 |
:10193000206D696E202020202000726F6C6C207357 |
:101940006572766F206D696E00526F6C6C20536506 |
:1019500072766F206D617800736572766F206D61AD |
:1019600078202020202000726F6C6C2073657276C6 |
:101970006F206D617800416E73742E20476573632C |
:1019800068772E20005461757820726566726573E1 |
:1019900068202000736572766F20726566726573C9 |
:1019A0006820004D616E75656C6C652047657363DA |
:1019B00068006D6175656C6C2053706565642020EE |
:1019C000006D616E75656C6C2053706565642000F8 |
:1019D00043616D205269636874756E67202000430F |
:1019E000616D204F7269656E742020202000436174 |
:1019F0006D204F7269656E7420202020005365723F |
:101A0000766F20332020202020202000536572761E |
:101A10006F20332020202020202000536572766F15 |
:101A200020332020202020202000536572766F2054 |
:101A3000342020202020202000536572766F20342F |
:101A40002020202020202000536572766F20342033 |
:101A500020202020202000536572766F2035202022 |
:101A6000202020202000536572766F203520202012 |
:101A70002020202000536572766F20352020202002 |
:101A800020202000475053202020202020202020EC |
:101A900020200041637469766572204750532020EE |
:101AA0002000656E61626C65204750532020202025 |
:101AB00000475053204D6F6475732053742E2000DF |
:101AC000446566206D6F64652047505320200047B1 |
:101AD0005053206D6F646520636F6E7472004750C1 |
:101AE000532056657273746165726B2E004761698D |
:101AF0006E204750532020202020200047505320A4 |
:101B00004761696E20202020202000475053205339 |
:101B1000742E20536368772E2000536575696C20FE |
:101B20006D616E63686520200047505320737469AF |
:101B3000636B2074687265004D696E2E205361746A |
:101B40002E2020202020004E627265204D696E2ECE |
:101B5000205361742E004D696E2E205361742E2027 |
:101B600020202020004750532D50202020202020CE |
:101B7000202020004750532D5020202020202020BE |
:101B80002020004750532D502020202020202020AE |
:101B900020004750532D49202020202020202020A5 |
:101BA000004750532D4920202020202020202000B5 |
:101BB0004750532D4920202020202020202000475E |
:101BC00050532D442020202020202020200047504A |
:101BD000532D442020202020202020200047505337 |
:101BE0002D442020202020202020200050204C693F |
:101BF0006D697420202020202020004C696D6974BC |
:101C0000652050202020202020004C696D69742020 |
:101C100020502020202020200049204C696D69742C |
:101C200020202020202020004C696D697465204907 |
:101C3000202020202020004C696D6974202049203C |
:101C400020202020200044204C696D697420202031 |
:101C500020202020004C696D6974652044202020DC |
:101C6000202020004C696D69742020442020202011 |
:101C70002020004750532041636320202020202053 |
:101C80002000416363656C204750532020202020B2 |
:101C90000047505320416363202020202020200053 |
:101CA0004750532057696E646B6F72722E20004349 |
:101CB0006F72726563742076656E742020004750E1 |
:101CC000532057696E6420436F72722E0042726512 |
:101CD0006D737769726B756E67202000436F6D704E |
:101CE000656E7320766974202020005370656564EA |
:101CF00020636F6D70656E732E00475053206D61C9 |
:101D0000782E205261642E20005261796F6E204738 |
:101D10005053206D61782000475053206D61782E1C |
:101D2000726164697573004750532057696E6B6523 |
:101D30006C204C692E004C696D697420616E676C73 |
:101D4000204750530047505320616E676C2E6C69DA |
:101D50006D6974005048204C6F67696E2074696D1E |
:101D6000652000547073206D656D6F72697320205B |
:101D700020005048206C6F67696E2074696D652083 |
:101D8000004A3136204269746D61736B6520200012 |
:101D90004269746D61736B20533120202020004F05 |
:101DA000757431204269746D61736B2020004A3173 |
:101DB000362054696D696E672020202000486F72BC |
:101DC0006C6F676520533120202020004F757431DF |
:101DD0002074696D696E67202020004A31372042E7 |
:101DE00069746D61736B652020004269746D617365 |
:101DF0006B20533220202020004F7574322042691E |
:101E0000746D61736B2020004A31372054696D690D |
:101E10006E672020202000486F726C6F676520532A |
:101E20003220202020004F7574322074696D696E55 |
:101E300067202020006E7572206D6974204D6F74CC |
:101E40006F7220004163746966206175207265704D |
:101E50006F73006163742E2077692E206D6F746F2D |
:101E600072004A313620556E74657273702E205799 |
:101E700000416C20756E646572766F6C74616700EA |
:101E80004F75743120756E646572766F6C74006185 |
:101E90006B746976202020202020202020006163A0 |
:101EA0007469662020202020202020200061637497 |
:101EB0006976202020202020202020004A31372051 |
:101EC000556E74657273702E205700416C20756ECC |
:101ED000646572766F6C746167004F75743220753B |
:101EE0006E646572766F6C7400616B746976202025 |
:101EF000202020202020200061637469662020209B |
:101F0000202020202020006163746976202020207A |
:101F10002020202020004D696E2E20476173202054 |
:101F2000202020200047617A204D696E2E2020203D |
:101F3000202020006D696E2E207468726F74746C9E |
:101F40006520004D61782E204761732020202020DD |
:101F5000200047617A204D61782E2020202020200B |
:101F6000006D61782E207468726F74746C65200047 |
:101F70004B6F6D706173737769726B756E67004537 |
:101F80006666657420636F6D706173202000636FF7 |
:101F90006D7061737320656666656374004361727A |
:101FA00065667265652053742E202000436172655A |
:101FB00066726565204374726C20004361726566C9 |
:101FC000726565204374726C2000556E746572737F |
:101FD00070616E6E756E672000536F757320746547 |
:101FE0006E73696F6E202000756E646572766F6C1B |
:101FF000746167652020004E6F7420476173205A1A |
:102000006569742020004475726565207365636F8F |
:102010007572732000456D6572672E5468722E5478 |
:10202000696D65004E6F7420476173202020202069 |
:1020300020200047617A206465207365636F7572A4 |
:102040007300456D6572672E5468726F74746C65A9 |
:10205000004779726F20502020202020202020006F |
:102060004779726F20502020202020202020004718 |
:1020700079726F20502020202020202020004779D6 |
:10208000726F2049202020202020202000477972D4 |
:102090006F20492020202020202020004779726FC7 |
:1020A00020492020202020202020004779726F2006 |
:1020B000442020202020202020004779726F2044D7 |
:1020C0002020202020202020004779726F204420EB |
:1020D00020202020202020004769657220502020E9 |
:1020E000202020202020004C616365742050202097 |
:1020F0002020202020004C61636574205020202087 |
:1021000020202020004769657220492020202020BF |
:10211000202020004C61636574204920202020206D |
:102120002020004C6163657420492020202020205D |
:10213000200044796E616D69736368652053742E65 |
:1021400000537461622064796E616D697175650018 |
:1021500064796E616D69632073746162692E0044F5 |
:10216000726568726174656E6265672E20004C69E5 |
:102170006D69742076697420526F746100526F74B7 |
:1021800052617465206C696D69742E004143432F60 |
:102190004779726F2046616B2E20004143432F47E1 |
:1021A00079726F204661637420004143432F477961 |
:1021B000726F204661637420004143432F47797258 |
:1021C0006F204B6F6D702E00436F6D702041434345 |
:1021D0002F4779726F2000436F6D70204143432F6A |
:1021E0004779726F200048617570747265676C651D |
:1021F0007220492000526567756C207072696E63A9 |
:10220000204920004D61696E204920202020202097 |
:10221000202000447269666B6F6D70656E73617427 |
:102220002E00436F6D70656E732064657269762051 |
:1022300000647269667420436F6D70656E732E0062 |
:102240004779726F20737461622E2020202000472E |
:1022500079726F2073746162696C6974790047796F |
:10226000726F2073746162696C6974790050617275 |
:10227000616D6574657220312020200050617261AB |
:102280006D65746572203120202000506172616D8F |
:1022900065746572203120202000506172616D6587 |
:1022A000746572203220202000506172616D657467 |
:1022B0006572203220202000506172616D65746566 |
:1022C00072203220202000506172616D6574657249 |
:1022D000203320202000506172616D65746572208A |
:1022E0003320202000506172616D65746572203367 |
:1022F00020202000506172616D6574657220342069 |
:10230000202000506172616D657465722034202058 |
:102310002000506172616D65746572203420202048 |
:1023200000506172616D6574657220352020200057 |
:10233000506172616D6574657220352020200050F7 |
:102340006172616D657465722035202020005061D6 |
:1023500072616D65746572203620202000506172B4 |
:10236000616D6574657220362020200050617261B5 |
:102370006D65746572203620202000506172616D99 |
:1023800065746572203720202000506172616D6590 |
:10239000746572203720202000506172616D657471 |
:1023A0006572203720202000506172616D65746570 |
:1023B00072203820202000506172616D6574657252 |
:1023C000203820202000506172616D657465722094 |
:1023D00038202020004163687328652E296B6F70B8 |
:1023E000706C2E0028446529436F75706C2041780D |
:1023F00065730028446529436F75706C20417865CA |
:1024000073004769657220706F732E204B6F707078 |
:1024100000526574726F6163206C616365742000A3 |
:10242000526574726F6163206C6163657420004E45 |
:1024300069636B2F526F6C6C204B6F70700052652C |
:1024400074726F20726F756C2F74616E00526574B8 |
:10245000726F20726F756C2F74616E0047696572C0 |
:10246000204B6F7272656B74757200436F72726588 |
:102470006374206C616365742000436F72726563DE |
:1024800074206C6163657420004F7269656E7469B5 |
:102490006572756E672020004F7269656E7469659C |
:1024A00072756E672020004F7269656E7461746981 |
:1024B0006F6E202020000000010C030101010000CC |
:1024C000010C040202020000010C010303030000DE |
:1024D000010C0204040400030119050505050003AD |
:1024E000011906060606000301190707070700037E |
:1024F000011908080808000301190909090900035E |
:1025000001190A0A0A0A000301190B0B0B0B00033D |
:1025100001190C0C0C0C0000000C63000000000200 |
:102520000004660000000006000527010101010209 |
:1025300000010D000001010200200D010101010256 |
:1025400000080D010101010200100D000000010250 |
:10255000000466000000010200400D0101010102BB |
:1025600000800D000000010200040D0000000200C8 |
:1025700000141708080802000014181010100201B7 |
:1025800000F719060606020100F7600000000302CA |
:102590000001640000000302000264000000030266 |
:1025A000000464000000030200086400000003014E |
:1025B00000F73B323232030000F73C5A5A5A03000C |
:1025C00000F73D323232030000F7414E4E4E030019 |
:1025D00000F7424E4E4E040200010D0101010402BB |
:1025E000000166000000040200020D010101040266 |
:1025F000000266010101040100F710FFFFFF040063 |
:1026000000F70E1E1E1E040100F7110F0F0F04012C |
:1026100000F70F1E1E1E040100F713000000040047 |
:1026200000F7120F0F0F040000F714080808040148 |
:1026300000F715404040040000F7160000000501B7 |
:1026400000F72D646464050000F72E282828050291 |
:10265000000165010101050000F72F0000000500E1 |
:1026600000F730F7F7F7050100F7316464640500FF |
:1026700000F7322828280502000165000000050047 |
:1026800000F733000000050000F734F7F7F7050006 |
:10269000020835060606050000F736282828050535 |
:1026A00000F737000000050100F7387D7D7D05014A |
:1026B00000F7397D7D7D050100F73A7D7D7D0602BD |
:1026C00000200D010101060100F750FEFEFE06018B |
:1026D00000F751646464060000F75A080808060011 |
:1026E00000F759060606060100F7525A5A5A060123 |
:1026F00000F7535A5A5A060100F7545A5A5A06011B |
:1027000000F7554B4B4B060100F7564B4B4B060160 |
:1027100000F7574B4B4B060100F75800000006012D |
:1027200000F75B5A5A5A060100F75C1E1E1E06018E |
:1027300000F75D646464060100F75E64646406008B |
:1027400000F75F020202070400FF4A5F5F5F0701B4 |
:1027500000F74B1E1E1E070400FF4CF3F3F30701A6 |
:1027600000F74D1E1E1E0702001064000000070443 |
:1027700000FF4EAAAAAA0702002064010101070473 |
:1027800000FF4FAAAAAA0702004064010101080045 |
:1027900000F71A080808080000F71BE6E6E608013B |
:1027A00000F71D808080080100F76200000008002B |
:1027B00000F724212121080000F7265A5A5A080060 |
:1027C00000F7252D2D2D090100F71E646464090111 |
:1027D00000F71F787878090100F7200A0A0A090132 |
:1027E00000F721646464090100F722787878090110 |
:1027F00000F745464646090200800D00000009002A |
:1028000000F71C1B1B1B090000F7432020200901B7 |
:1028100000F728101010090000F74400000009001C |
:102820000008236464640A0100F7290000000A011B |
:1028300000F72A0000000A0100F72B0000000A013F |
:1028400000F72C0000000A0100F7460000000A0112 |
:1028500000F7470000000A0100F7480000000A01E5 |
:1028600000F7490000000B0200400D0000000B01C2 |
:1028700000F73E5A5A5A0B0100F73F5050500B01D7 |
:1028800000F7404646460C0500176100000045521F |
:10289000524F523A206E6F2064617461004552526B |
:1028A0004F523A206E6F206461746100436F7079FB |
:1028B0002053657474696E6700201A202020201B45 |
:1028C00020202020204261636B2020200C004564E2 |
:1028D00069742053657474696E673A001B001A00AE |
:1028E000201A202020201B20202020204261636B02 |
:1028F0002020200C0043686F6F736520536563745C |
:10290000696F6E3A001B00414354004A65740053DE |
:10291000506C00535068002053500050504D0057E9 |
:10292000504500530020204E002020590020500028 |
:102930001A00201A202020201B2020202020426165 |
:10294000636B2020200C0043686F6F73652050611B |
:1029500072616D657465723A00201A202020201B78 |
:1029600020202020204261636B2020200C002000CA |
:102970003E004143542044534C004A65746900535F |
:1029800070656B7472756D204C6F52657300537077 |
:10299000656B7472756D204869526573005370657C |
:1029A0006B7472756D0050504D00201A202020204D |
:1029B0001B20202020204261636B2020200C00205F |
:1029C000001A004F00580020192020205365742061 |
:1029D0002020204261636B2020200C0057504500CE |
:1029E000530028312D5331322F57292028643A20A3 |
:1029F00020202900201820202020192020202020FD |
:102A00004261636B2020200C00506F0028202020A2 |
:102A10002D202020292028643A506F2029002018DA |
:102A2000202020201920202020204261636B2020BC |
:102A30000C0C00282020202D202020292028643A5A |
:102A400020202029002018202020201920202020AC |
:102A5000204261636B2020200C001D00200020001C |
:102A60001D002A002A004E005900201A2020202094 |
:102A70001B20202020204261636B2020200C004579 |
:102A80006469742053657474696E673A002020206D |
:102A90002020202020202020202020202020202036 |
:102AA00020004552524F522020202020202020205C |
:102AB000202020202020004552524F52202020204C |
:102AC00020202020202020202020200077726974E0 |
:102AD00074656E20616E64206163746976617465EB |
:102AE00064005265616C6C792077616E7420746F3C |
:102AF00020636F70793F0046726F6D202020546F05 |
:102B000020204261636B202020446F002020546FFE |
:102B10002053657474696E673A0046726F6D205376 |
:102B2000657474696E673A00436F707920536574F9 |
:102B300074696E673A004552524F5200616374697E |
:102B4000766174656400736176656420616E64000B |
:102B5000201A202020201B20202020204578697466 |
:102B60002020200C006E6F0079657300536176653C |
:102B70002053657474696E6720783F004C6F77420C |
:102B80006174205761726E20200000446973706C7C |
:102B90002E54696D656F757400004C4344204F726C |
:102BA00069656E742E202000004C616E6775616748 |
:102BB000652020202020000057692054582F5258AB |
:102BC000204368616E00005769204E6574572E20BF |
:102BD0004772702E00005769204E6574572E204DA5 |
:102BE0006F646500005769204E6574572E204D6F45 |
:102BF00064653A005769204E6574572E20477270FD |
:102C00002E3A0057692054582F5258204368616E5D |
:102C10003A004C616E67756167652020203A20009C |
:102C20004C4344204F7269656E742E3A200044690B |
:102C300073702E54696D656F7574203A004C6F7710 |
:102C4000426174205761726E20563A001B001A00D0 |
:102C50002018202020201920202020204261636B92 |
:102C60002020200C2000504D4B2D546F6F6C2053B2 |
:102C700065747570004E6F726D616C2000526576E0 |
:102C80006572736500201820202020192020202044 |
:102C9000204261636B202020005265766572736567 |
:102CA000004E6F726D616C2000456E676C697368D1 |
:102CB000004672616E6365200044657574736368D5 |
:102CC00000456E676C697368004672616E636520CB |
:102CD0000044657574736368002018202020201953 |
:102CE00020202020204261636B20202000456E6759 |
:102CF0006C697368004672616E6365004465757443 |
:102D000073636800536C61766520004E6F726D616D |
:102D10006C00201820202020192020202020426133 |
:102D2000636B202020004E6F726D616C00536C61EC |
:102D30007665200020182020202019202020202027 |
:102D40004261636B202020002018202020201920C1 |
:102D5000202020204261636B2020200014BE88E1E7 |
:102D60000FB6F89480936000109260000FBE11249B |
:102D70001FBECFEFD0E1DEBFCDBF11E0A0E0B1E0DC |
:102D8000E2E3F5EB02C005900D92A231B107D9F74D |
:102D90001CE0A2E1B1E001C01D92A03AB107E1F749 |
:102DA0000E94C92F0C94975A0C940000CF93DF9384 |
:102DB000782FEA01662341F19C01D90192E02EEFC0 |
:102DC0000BC0FE01E90FF11D8F7780839F5F119685 |
:102DD0008A2F871B861750F48C9187FFF2CFFE0154 |
:102DE000E90FF11D20839F5F8C91EBCFE92FF0E07D |
:102DF00092509F01EC0FFD1F10828FEF8883998303 |
:102E0000C901DF91CF910895E2E0F0E090E022E087 |
:102E100030E0F0CF1F93CF93DF93182F0E94F95229 |
:102E20008FEF0E94985382E00E9498538EEF0E9489 |
:102E30009853812F0E94985324EF31E044EF51E0E2 |
:102E4000CA010197F1F721503040D1F710E0C4EFEB |
:102E5000D1E00E94F952482F50E028EE33E0FE0105 |
:102E60003197F1F721503040D1F71F5F41155105DF |
:102E700049F41A3071F720E030E0C901DF91CF91B9 |
:102E80001F9108951A30B9F34630510539F02FEFEC |
:102E900030E0C901DF91CF911F91089560E00E9459 |
:102EA00001290E94F95260E00E9401290E94F95212 |
:102EB000182F60E00E940129212F30E0DECFFF9221 |
:102EC0000F931F93182F062F8FEF0E94985382E0C5 |
:102ED0000E949853812F0E949853802F0E949853EC |
:102EE000FF2404EF11E00E94F95290E028EE33E055 |
:102EF000F8013197F1F721503040D1F7009791F464 |
:102F0000F3948AE0F81679F780E062E046E251E057 |
:102F100020E00E94ED242FEF30E0C9011F910F91B6 |
:102F2000FF900895069781F720E030E0C9011F91D6 |
:102F30000F91FF9008951F93CF93DF9384E190E06A |
:102F40000E94545384E190E00E9495510E943723DF |
:102F50000E94845480E060E040ED50E020E00E9458 |
:102F6000ED2480E061E04BEB50E020E00E94ED2496 |
:102F700080E062E047EA50E020E00E94ED2480E03B |
:102F800063E04FE950E020E00E94ED2481E167E03A |
:102F90004AE950E020E00E94ED240AC00E94F95264 |
:102FA000182F8823C9F480E80E94E550882381F413 |
:102FB0000E94AF51EC0190FDF1CF0E9498538C2FED |
:102FC00060E00E94012980E80E94E550882381F397 |
:102FD000DF91CF911F91089560E00E940129812F18 |
:102FE0000E94CD51E0CF1F9380911201813009F4EE |
:102FF0004DC0823009F457C00E9437230E94845488 |
:103000005E98289880E060E040E151E020E00E9476 |
:10301000ED2480E061E04BEF50E020E00E94ED24E1 |
:1030200080E062E044EF50E020E00E94ED2480E088 |
:1030300063E043EE50E020E00E94ED2481E167E090 |
:103040004EED50E020E00E94ED240AC00E94F952AB |
:10305000182F8823A1F480E80E94E550882359F4B2 |
:103060000E94AF5190FDF2CF0E94985380E80E94D9 |
:10307000E5508823A9F35E9A289A1F91089560E08D |
:103080000E940129812F0E94CD51E5CF84E190E07B |
:103090000E94545384E190E00E9495518091120166 |
:1030A000823009F0A9CF87E092E00E94545387E074 |
:1030B00092E00E949551A0CFCF93DF935E9828EEC7 |
:1030C00033E044EF51E0CA010197F1F7215030405D |
:1030D000D1F728980E94845484E190E00E945453D0 |
:1030E00080E060E042E152E020E00E94ED2480E0D8 |
:1030F00061E042E052E020E00E94ED2488E790E0A9 |
:103100000E940A17EC0181E080931201209771F16F |
:10311000CF3FD10539F0209771F45E9A289ADF915C |
:10312000CF9108950E94372380E060E040ED51E0A8 |
:1031300020E00E94ED240E9437238091120181300B |
:1031400009F46AC08230C1F180E061E049E651E0F3 |
:1031500020E00E94ED2489E061E04C2F20E00E94F5 |
:10316000D7285E9A289ADF91CF91089587E092E060 |
:103170000E94545380E061E042EF51E020E00E9461 |
:10318000ED2488E790E00E940A17EC0182E080932A |
:103190001201209709F0BCCF0E94372380E060E045 |
:1031A00042EE51E020E00E94ED24109212015E9A5E |
:1031B000289ADF91CF91089580E060E04BEA51E0DA |
:1031C00020E00E94ED2483E064E00E945F17892BD9 |
:1031D00069F520E137E244EF51E0CA010197F1F7C8 |
:1031E00021503040D1F780E061E046E851E020E036 |
:1031F0000E94ED2420E23EE444EF51E0CA01019731 |
:10320000F1F721503040D1F780E061E042E751E032 |
:1032100020E00E94ED2498CF80E060E04DEB51E08B |
:1032200020E00E94ED24809112018CCF80E061E0CB |
:103230004AE951E020E00E94ED2486CF1F93CF930E |
:10324000DF930E945C1880911201882321F4DF91A2 |
:10325000CF911F91089580E062E045E551E020E0C4 |
:103260000E94ED245E9880E593EC0197F1F7289891 |
:103270000E9484548BE461E00E945F17EC018CE4AF |
:1032800061E00E945F17892B09F05CC010E0CD2B34 |
:1032900009F011E088E560E00E945F17892B09F0D2 |
:1032A00013E08DE463E00E945F17892B09F014E0BE |
:1032B00080E560E10E945F17892B09F015E084E545 |
:1032C00060E40E945F17892B09F016E081E562E453 |
:1032D0000E945F17892B09F017E08FE461E00E94DC |
:1032E0005F17892B09F018E083E561E00E945F1702 |
:1032F000892B09F019E086E561E00E945F17892BB0 |
:1033000009F01AE08EE464E00E945F17892BE1F077 |
:103310001BE080E062E043E451E020E00E94ED2405 |
:10332000812F60E00E94012984E190E00E945453C3 |
:103330005E9A80E593EC0197F1F7289ADF91CF919F |
:103340001F91089512E0A6CF112319F780E062E0E3 |
:1033500041E351E020E00E94ED24E6CF4F925F92DE |
:103360006F927F928F929F92AF92BF92CF92DF9295 |
:10337000EF92FF920F931F93DF93CF930F92CDB7EE |
:10338000DEB7E0911D01F0E0EE5EFE4F80818983A3 |
:103390000E94372380E063E049E552E020E00E948C |
:1033A0002C2580E064E04AE452E020E00E942C25D5 |
:1033B00081E480931B0120ED37E044EF51E0CA0126 |
:1033C0000197F1F721503040D1F71092820184E14A |
:1033D00090E090938D0B80938C0B00E0598111E667 |
:1033E000772473946E010894C11CD11CA1E0AA2E0D |
:1033F000B12CF4E18F2E912CE4EFEE2EE1E0FE2EC5 |
:1034000071E1672E60E2462E62E0562E5032D8F50A |
:103410006DB77EB7675070400FB6F8947EBF0FBE91 |
:103420006DBFEDB7FEB73196ADB7BEB711961C9321 |
:1034300011827282D482C382B682A5820E94925483 |
:10344000EDB7FEB737960FB6F894FEBF0FBEEDBFCF |
:1034500080918201882331F480918C0B90918D0BA7 |
:10346000892BB1F780918C0B90918D0B892B19F5DD |
:103470000F5F90928D0B80928C0B023308F07BC013 |
:103480005981503228F2E0911D01F0E0EE5EFE4FCE |
:1034900050830F90CF91DF911F910F91FF90EF908C |
:1034A000DF90CF90BF90AF909F908F907F906F9064 |
:1034B0005F904F9008950E94BF53E0918401F09176 |
:1034C000850140815981451779F028EE33E0C70125 |
:1034D0000197F1F721503040D1F790928D0B8092F7 |
:1034E0008C0B1092820192CF8EE064E050E022E0DB |
:1034F00030E000E00E94C92B409184015091850189 |
:10350000FA018191869DD001112420911D01822F05 |
:1035100090E00197BC01649DC001659D900D749D74 |
:10352000900D1124A80FB91FAD52BE4F80E101903C |
:103530000D928150E1F7DA018C9190E030E021505A |
:103540003040FC01E295F295F07FFE27E07FFE27F8 |
:10355000E80FF91F249DC001259D900D349D900D0D |
:103560001124E80FF91FED52FE4F108A59815F5F59 |
:10357000598300E0B2CF80E062E04BE352E020E00C |
:103580000E942C2584E690E090938D0B80938C0B09 |
:1035900080918C0B90918D0B892BD1F7598173CF32 |
:1035A0004F925F926F927F928F929F92AF92BF9253 |
:1035B000CF92DF92EF92FF920F931F93DF93CF93FF |
:1035C0000F92CDB7DEB70E94372388EC90E090933E |
:1035D0008D0B80938C0BE0911D01F0E0EE5EFE4FB1 |
:1035E0008081803208F469C280918C0B90918D0BA0 |
:1035F000892B91F40F90CF91DF911F910F91FF9044 |
:10360000EF90DF90CF90BF90AF909F908F907F9082 |
:103610006F905F904F90089584E480931B01109207 |
:10362000820188EC90E090938D0B80938C0B8AE064 |
:1036300089832DB73EB7275030400FB6F8943EBF70 |
:103640000FBE2DBFEDB7FEB7319684E6ADB7BEB75E |
:1036500011968C93118281E082833E010894611C53 |
:10366000711C7482638281E090E0968385830E945E |
:1036700092548CE291E090938F0B80938E0BFF24F9 |
:1036800000E010E0EDB7FEB737960FB6F894FEBF36 |
:103690000FBEEDBFB0E2CB2EB2E0DB2E80911D015C |
:1036A00090E001978C9DA0018D9D500D9C9D500D2B |
:1036B0001124400F511F4D525E4F80E06F2D20E0CE |
:1036C0000E946625F3940F5E1F4FF8E0FF1631F756 |
:1036D000DD24A8EC4A2E512CFAE0CF2EE0E2AE2EEB |
:1036E000E2E0BE2E74EF872E71E0972E809182016A |
:1036F000882309F07FC180918E0B90918F0B892BCD |
:1037000009F44FC180E10E94E550882309F474C098 |
:10371000DA94F3E0DF220E9437238D2D90E08C01B4 |
:103720001695102F002717950795880F991F880F5A |
:10373000991F880F991F080F191FFF2480911D01E1 |
:1037400090E001978A9DA0018B9D500D9A9D500D90 |
:103750001124400F511F4D525E4F80E06F2D20E02D |
:103760000E946625F3940F5E1F4F28E0F21631F792 |
:1037700010911C01113009F47AC080E40E94E550D8 |
:10378000882339F480918C0B90918D0B892B09F053 |
:10379000ADCF19822DB73EB7275030400FB6F89401 |
:1037A0003EBF0FBE2DBFEDB7FEB7319684E6ADB775 |
:1037B000BEB711968C93118281E0828374826382FA |
:1037C00081E090E0968385830E94925410921B01C1 |
:1037D0001092820180918C0B90918D0BEDB7FEB70A |
:1037E00037960FB6F894FEBF0FBEEDBF892B09F4D4 |
:1037F00077C10E944F54FECE80E20E94E55088239C |
:1038000009F4B6CFD39433E0D3220E9437238D2D11 |
:1038100090E08C011695102F002717950795880FBB |
:10382000991F880F991F880F991F080F191FFF24D0 |
:1038300080911D0190E001978A9DA0018B9D500D04 |
:103840009A9D500D1124400F511F4D525E4F80E044 |
:103850006F2D20E00E946625F3940F5E1F4F88E0D5 |
:10386000F81631F710911C01113009F086CF80E86D |
:103870000E94E550882309F480CF1982ADB7BEB706 |
:1038800017970FB6F894BEBF0FBEADBFEDB7FEB72A |
:10389000319684E611968C9311821283748263822E |
:1038A00081E090E0968385830E94925420ED37E07A |
:1038B000EDB7FEB737960FB6F894FEBF0FBEEDBF5B |
:1038C000C4010197F1F721503040D1F780911D01DB |
:1038D000813009F41BC10E944F5450928D0B4092CD |
:1038E0008C0B20ED37E0C4010197F1F721503040F7 |
:1038F000D1F7E0911D01F0E0EE5EFE4F8081803255 |
:1039000008F40BC184E480931B0110928201509251 |
:103910008D0B40928C0BC9822DB73EB7275030409B |
:103920000FB6F8943EBF0FBE2DBFEDB7FEB7319670 |
:1039300084E6ADB7BEB711968C93118281E0828385 |
:103940007482638281E090E0968385830E94925422 |
:10395000EDB7FEB737960FB6F894FEBF0FBEEDBFBA |
:103960000E943723FF2400E010E080911D0190E0C9 |
:1039700001978A9DA0018B9D500D9A9D500D112499 |
:10398000400F511F4D525E4F80E06F2D20E00E948E |
:103990006625F3940F5E1F4FF8E0FF1631F7DD2424 |
:1039A000ECCEC982ADB7BEB717970FB6F894BEBFBD |
:1039B0000FBEADBFEDB7FEB7319684E611968C937E |
:1039C000118281E082837482638281E090E0968339 |
:1039D00085830E9492548CE291E090938F0B8093A8 |
:1039E0008E0BEDB7FEB737960FB6F894FEBF0FBE3D |
:1039F000EDBF88CE0E94BF530091840110918501D4 |
:103A000084E160E04D2D0E94782980911D01813074 |
:103A100009F456C0823009F45BC084E161E045E3FB |
:103A200052E020E00E942C25ED2CFF24EE0CFF1C20 |
:103A3000EE0CFF1CEE0CFF1C0894E11CF11CEE0CBC |
:103A4000FF1CE00EF11E10E00EC08CE027E030E01D |
:103A5000612F00E00E94482B1F5F82E090E0E80E9B |
:103A6000F91E183019F1D7014D915C91B8ED413F25 |
:103A70005B075CF3ECEF49315E0784F0FFEF4D39F3 |
:103A80005F0784F023E0473E520724F48FE024E0F0 |
:103A900030E0DECF37E24F30530724F08DE026E0F0 |
:103AA00030E0D6CF8EE025E030E0D2CF50928D0BC3 |
:103AB00040928C0B109282011ECE0E94AE1994CDC2 |
:103AC00084E161E047E352E020E00E942C25ACCF86 |
:103AD00084E161E049E352E020E00E942C25A4CF7C |
:103AE0000E94372380E062E046E252E020E00E943C |
:103AF0002C2584E690E090938D0B80938C0B809125 |
:103B00008C0B90918D0B892BD1F773CE0E946A5646 |
:103B100050928D0B40928C0BE4CE0E94AE19F2CEE7 |
:103B2000089508953F924F925F926F927F928F9285 |
:103B30009F92AF92BF92CF92DF92EF92FF920F933C |
:103B40001F93DF93CF9300D0CDB7DEB788E4809387 |
:103B50001B010E94372380911D01813009F40FC1A0 |
:103B600080911C01823009F402C180E067E048ECDA |
:103B700052E020E00E94ED2480E060E040EC52E062 |
:103B800020E00E942C251092820184EF91E0909316 |
:103B90008D0B80938C0B8CEF8983BB247E01089462 |
:103BA000E11CF11C58E6A52E9924939441E0C42E03 |
:103BB000D12C88248A9404EF11E034EF632E31E095 |
:103BC000732E2CEF522E9DEF492E8EEF382E8DB78F |
:103BD0009EB707970FB6F8949EBF0FBE8DBFEDB787 |
:103BE000FEB73196ADB7BEB71196AC9211829282F4 |
:103BF000F482E382D682C5820E949254898224ECA8 |
:103C000039E08DB79EB707960FB6F8949EBF0FBEEA |
:103C10008DBFC8010197F1F721503040D1F7809155 |
:103C20008201882309F053C080E10E94E550882377 |
:103C300009F446C0398280E40E94E550882339F4B3 |
:103C400080918C0B90918D0B892B09F0C0CF80EF68 |
:103C50000E94E55010921B011092820180918C0B02 |
:103C600090918D0B892BB1F4BB2009F072C080E0DC |
:103C700062E041E652E020E00E942C2584E690E0DC |
:103C800090938D0B80938C0B80918C0B90918D0B6E |
:103C9000892BD1F70E944F540F900F90CF91DF9155 |
:103CA0001F910F91FF90EF90DF90CF90BF90AF905A |
:103CB0009F908F907F906F905F904F903F9008956E |
:103CC00080E20E94E550882351F14982B4CF0E94DE |
:103CD000BF5380911C01882389F49091920B9156D7 |
:103CE00090931C019130C1F180E067E04AE952E015 |
:103CF00020E00E94ED2482E080931D011092E40BED |
:103D000080E062E044E95BE00E949325109282012A |
:103D100070928D0B60928C0BBB24B39485CF8091F5 |
:103D20001C01813009F087CF80E80E94E55088238C |
:103D300009F481CF80911D01813049F10E944F54D7 |
:103D400080E067E040E752E020E00E94ED245982E5 |
:103D500072CF0E9437238BCF67E04BEA52E020E01E |
:103D60009A830E94ED249A8190931D01C7CF80E031 |
:103D700067E04DED52E020E00E94ED24FDCE80E0B2 |
:103D800067E04EEE52E020E00E94ED24F5CE0E9466 |
:103D90006A5680E067E045E852E020E00E94ED24AA |
:103DA000598249CF80E090E0609116060E94795ACE |
:103DB0006091190681E090E00E94795A60911506A1 |
:103DC00082E090E00E94795A6091180683E090E0CA |
:103DD0000E94795A6091140684E090E00E94795A1A |
:103DE0006091170685E090E00E94795A60911B0768 |
:103DF00087E090E00E94795A089580E090E00E9468 |
:103E0000715A8093160681E090E00E94715A809367 |
:103E1000190682E090E00E94715A8093150683E0B3 |
:103E200090E00E94715A8093180684E090E00E940E |
:103E3000715A8093140685E090E00E94715A809335 |
:103E4000170687E090E00E94715A80931B0786E076 |
:103E500090E00E94715A823009F455C089E880933D |
:103E60001606109219061092150681E08093180626 |
:103E700082E4809314061092170610921B0780E0CC |
:103E800090E069E80E94795A6091190681E090E01B |
:103E90000E94795A6091150682E090E00E94795A5A |
:103EA0006091180683E090E00E94795A60911406B0 |
:103EB00084E090E00E94795A6091170685E090E0D6 |
:103EC0000E94795A86E090E062E00E94795A6091FF |
:103ED0001B0787E090E00E94795A0E9437238CE20A |
:103EE00093E060E00E94F62486E193E060E00E94A7 |
:103EF000F62483E093E060E00E94F62480E80E94CC |
:103F0000E5508823D9F30895FC018081809316073A |
:103F10008181809317078281809318079381909302 |
:103F20001907609116077091170708959091150170 |
:103F3000980F9093150180911601890F80931601B7 |
:103F40000895CF92DF92EF92FF920F931F93CF933A |
:103F5000DF9380E10E94E550882319F580911A01D2 |
:103F6000823039F180E20E94E550882339F0809157 |
:103F70001A01813009F46EC110921A018091170163 |
:103F8000813009F419C180911A01813009F44FC0C0 |
:103F9000DF91CF911F910F91FF90EF90DF90CF9025 |
:103FA000089580911A01813021F481E080931A01F3 |
:103FB000D9CF0E94372380E060E040EC56E020E05B |
:103FC0000E942C2580E061E044EB56E020E00E9456 |
:103FD0002C2580E062E048EA56E020E00E942C2593 |
:103FE00080E063E04CE956E020E00E942C2580E070 |
:103FF00064E040E956E020E00E942C2580E065E086 |
:1040000044E856E020E00E942C2580E066E048E786 |
:1040100056E020E00E942C2580E067E04CE656E068 |
:1040200020E00E942C2581E080931A019BCF809193 |
:104030001701813009F0ACCF80911801863009F466 |
:1040400034C1823109F4A9C1823009F0A1CF8AE2DA |
:1040500096E00E94841F28EE33E040E050E00E948A |
:10406000F6598BE067E0A90124E030E000E00E940F |
:10407000C92B80E167E043E456E020E00E942C2554 |
:104080008EE196E00E94841F6B017C0120E836E9F6 |
:1040900048E950E00E94F6598BE065E0A90123E071 |
:1040A00030E00E94C92B8EE065E041E456E020E05C |
:1040B0000E942C25C701B60128EE33E040E050E015 |
:1040C0000E94F659CA01B90120E137E240E050E010 |
:1040D0000E94F6599B01AC018FE065E0A90124E044 |
:1040E00030E001E00E94C92BC701B6012AE030E0B0 |
:1040F00040E050E00E94F659CA01B90124E630E0E0 |
:1041000040E050E00E94F6599B01AC0183E165E07C |
:10411000A90122E030E00E94C92B82E296E00E94D1 |
:10412000841F6B017C0120E836E948E950E00E94D9 |
:10413000F6598BE066E0A90123E030E000E00E9440 |
:10414000C92B8EE066E04FE356E020E00E942C256C |
:10415000C701B60128EE33E040E050E00E94F65976 |
:10416000CA01B90120E137E240E050E00E94F6596F |
:104170009B01AC018FE066E0A90124E030E001E0A2 |
:104180000E94C92BC701B6012AE030E040E050E0B0 |
:104190000E94F659CA01B90124E630E040E050E03F |
:1041A0000E94F6599B01AC0183E166E0A90122E07F |
:1041B00030E00E94C92BECCE80911801803309F0C9 |
:1041C000E2CE80911A01882309F0DFCEF0901E061E |
:1041D000FF2009F4DDCEC3E2D6E0EE2410E0CC24CB |
:1041E0004881812F6E2D50E023E030E000E00E94F6 |
:1041F000C92B4B81812F8C5F6E2D50E022E030E087 |
:104200000E94C92B8981282F30E0C90183709070EA |
:104210000397C9F120FD25C08A81853058F5823089 |
:10422000D8F1812F895F6E2D44E656E020E00E9490 |
:104230002C25C394CF1408F0A6CE80E1C81609F44B |
:10424000A2CE87E08C1548F489EFE82EEC0C1BE039 |
:104250002C96C6CF0E9437238FCEEC2C10E02C96E4 |
:10426000BFCF812F895F6E2D48E656E020E00E9487 |
:104270002C25DFCF812F895F6E2D46E656E020E0AA |
:104280000E942C25D6CF812F895F6E2D4AE656E0FD |
:1042900020E00E942C25CDCF812F895F6E2D42E634 |
:1042A00056E020E00E942C25C4CF80912406823065 |
:1042B00009F4AAC0823008F49FC0853008F09CC081 |
:1042C0008BE060E04FE556E020E00E942C258091D5 |
:1042D00025068370833009F49FC081E160E045E5E5 |
:1042E00056E020E00E942C258091250680FF7CC0AE |
:1042F0008EE060E042E556E020E00E942C258BE055 |
:1043000061E0409149060E947829E09047068FEFCE |
:10431000E89E7001112480914606E80EF11CC70149 |
:1043200064E670E00E94CF59AB018BE063E022E0CD |
:1043300030E000E00E94C92B8DE063E04DE456E0E0 |
:1043400020E00E942C25C70164E670E00E94CF594E |
:10435000AC018EE063E022E030E001E00E94C92B76 |
:1043600082E396E00E94841F9B01AC018BE062E037 |
:10437000A90125E030E000E00E94C92B81E162E064 |
:104380004AE456E020E00E942C25809117018130FC |
:1043900009F0FECD8091180154CE8EE296E00E9485 |
:1043A000841F20E13EE040E050E00E94A45920EA52 |
:1043B00036E841E050E00E94F6598BE064E0A90144 |
:1043C00023E030E000E00E94C92B8FE064E045E488 |
:1043D00056E020E00E942C2580911701813009F0E1 |
:1043E000D7CD8091180130CE8EE060E04FE456E0EA |
:1043F00020E00E942C2583CF8BE060E049E556E069 |
:1044000020E00E942C2563CF8BE060E04CE556E075 |
:1044100020E00E942C255BCF81E160E047E556E07B |
:1044200020E00E942C2560CFAF92BF92CF92DF9206 |
:10443000EF92FF920F931F93DF93CF930F92CDB71D |
:10444000DEB70E94372382E080931A0180911C011D |
:10445000823009F4F1C080911D01813009F05EC005 |
:104460000E94DF5588EC90E090938D0B80938C0B2D |
:10447000198210E0FF24EE246E010894C11CD11CA7 |
:1044800098ECA92EB12CC6010E9426538823A9F0CE |
:10449000B0928D0BA0928C0B143009F4B2C0153081 |
:1044A00058F5113009F4A6C0113008F447C0123095 |
:1044B00009F489C0133009F452C00F2D80E40E9422 |
:1044C000E550882341F480918C0B90918D0B892BC2 |
:1044D00011F0F02ED8CF80EF0E94E5500E944F548B |
:1044E0000F90CF91DF911F910F91FF90EF90DF9090 |
:1044F000CF90BF90AF900895163009F448C01630A1 |
:1045000080F0173009F472C01830B9F680911501A7 |
:10451000E81609F486C00F2D10E0D0CF0E944F544A |
:104520009FCF89818823B9F7909115018091160159 |
:10453000890F809316010F2D16E0C0CF8981853B2E |
:1045400009F0BBCF109219011092180110921701B7 |
:1045500010921501109216010F2D11E0AFCF898135 |
:10456000803331F0863021F0823111F0823099F6BB |
:104570008093180190911501980F909315018091E7 |
:104580001601890F809316010F2D14E097CF0F2D80 |
:104590000150209119018981E22FF0E0E65EF94F88 |
:1045A000808390911501980F9093150180911601C9 |
:1045B000890F809316012F5F20931901002309F0C2 |
:1045C0007DCF17E07BCF2981213009F0A4CF9091D6 |
:1045D00015019F5F9093150180911601890F8093BB |
:1045E0001601209317010F2D13E068CFE9800F2DDE |
:1045F00018E064CF8981823609F08DCF0F2D12E04B |
:104600005DCF09810B3F08F086CF90911501900F87 |
:104610009093150180911601890F8093160115E082 |
:104620004DCF998180911601981709F074CF0E949F |
:10463000A11F0F2D10E042CF80E063E04CEC56E06C |
:1046400020E00E942C2584E690E090938D0B8093CF |
:104650008C0B80918C0B90918D0B892BD1F740CFD7 |
:104660002C988EBD0DB407FEFDCF2C9A08951F9394 |
:10467000CF93DF9380E090E0FC01E45EF84F10827E |
:10468000019624E080309207B9F710EB2B98812F28 |
:104690000E94302380E10E94302380911B070E94FA |
:1046A00030232B9AC0E0D0E080E00E943023219696 |
:1046B000C038D105C9F71F5F183B41F710921F0B97 |
:1046C0001092200BDF91CF911F91089588E893E11C |
:1046D0000197F1F70895009761F020E030E048E895 |
:1046E00053E1FA013197F1F72F5F3F4F2817390750 |
:1046F000C0F3089510921F0B1092200B8CE58CBD17 |
:1047000081E08DBD2C9A2A9820E030E048E853E102 |
:10471000CA010197F1F72F5F3F4F2A303105C1F7EA |
:104720002A9A2C982B9880E40E94302380911B07B2 |
:10473000882351F180EA0E94302388EC0E943023C4 |
:1047400086EA0E94302382EA0E9430238FE20E9490 |
:10475000302388EF0E94302380E00E94302387E2DC |
:104760000E94302381E80E94302386E10E9430239A |
:104770008CEA0E94302380E00E9430238FEA0E945E |
:1047800030230E943723089581EA0E94302380EC71 |
:104790000E943023D5CFFF920F931F938C01F62EEA |
:1047A0002B98880F892F881F990B919580550E940F |
:1047B000302380911B070F77080F802F82958F7011 |
:1047C000805F0E943023802F8F700E9430232B9AAD |
:1047D0008F2D0E9430231F910F91FF900895CF934A |
:1047E000DF93C0E0D0E0FE01E456F84F8081FE0187 |
:1047F000E45EF84F80836081CE010E94CB23219636 |
:1048000083E0C038D80779F7FE01E45EF84F1082E4 |
:10481000CE0160E00E94CB23219684E0C030D8070F |
:1048200099F7DF91CF910895EF92FF920F931F9325 |
:10483000CF93DF93582FE22E4F3D09F487C0403EBF |
:1048400008F450C0463F09F487C04C3F09F454C0F7 |
:10485000443E09F47EC04F77842F90E09C01220FE4 |
:10486000331F280F391F220F331FC62FD0E0D695D4 |
:10487000DC2FCC27D795C79586E0589FC00111241F |
:10488000C80FD91FD3708901015C1C4FFF2415C0CC |
:10489000EE2009F453C081E0E81609F448C0FE0197 |
:1048A000E45EF84F6081CE010E94CB23F3940F5F4A |
:1048B0001F4F219686E0F81661F1F8019491F2E01D |
:1048C000EF1671F1FE1520F7E3E0EE16D9F0F4E0F3 |
:1048D000EF1629F7FE01E45EF84F80819095892359 |
:1048E0008083E0CF463D79F14C3D49F0443C09F0EE |
:1048F000B2CF20E030E0B9CF2EE130E0B6CF28E1F2 |
:1049000030E0B3CFFE01E45EF84F808189238083DD |
:10491000C9CFDF91CF911F910F91FF90EF90089534 |
:10492000FE01E45EF84F808189278083BBCFFE01C2 |
:10493000E45EF84F8081892B8083B4CFFE01E45E72 |
:10494000F84F9083AFCF2CE030E08FCF24EB30E0F6 |
:104950008CCF26E030E089CF22E130E086CF809115 |
:10496000200B8F5F8093200B883008F408950E94FD |
:10497000EF2387E08093200B08951F93CF93DF935D |
:10498000EC01162FFC0184918823C1F422C04D3024 |
:1049900071F080911F0B6091200B212F0E94142435 |
:1049A00080911F0B8F5F80931F0B853110F0109249 |
:1049B0001F0B2196FE018491882359F0FE0144913A |
:1049C0004A3029F70E94AF242196FE018491882362 |
:1049D000A9F7DF91CF911F91089580931F0B6093EA |
:1049E000200BCA01622F0E94BD2408951F93CF930C |
:1049F000DF93EC01162FFC0184918823B1F420C0D1 |
:104A00004D3011F180911F0B6091200B212F0E94DE |
:104A1000142480911F0B8F5F80931F0B8531B8F496 |
:104A20002196FE018491882359F0FE0144914A3079 |
:104A300039F70E94AF242196FE0184918823A9F7BB |
:104A4000DF91CF911F91089510921F0BE9CF109223 |
:104A50001F0B0E94AF24EFCF80931F0B6093200B9E |
:104A6000CA01622F0E94F62408951F93CF93DF930B |
:104A7000EC01162F48814423A9F41CC04D30F1F0FD |
:104A800080911F0B6091200B212F0E941424809194 |
:104A90001F0B8F5F80931F0B853198F421964881FF |
:104AA000442341F04A3051F70E94AF2421964881B7 |
:104AB0004423C1F7DF91CF911F91089510921F0BEE |
:104AC000EDCF10921F0B0E94AF24F0CF80931F0BED |
:104AD0006093200BCA01622F0E9435250895CF9361 |
:104AE000DF93EC014881442329F41AC021964881C0 |
:104AF0004423B1F080911F0B6091200B20E00E94B5 |
:104B0000142480911F0B8F5F80931F0B843170F3EF |
:104B100010921F0B0E94AF2421964881442351F725 |
:104B2000DF91CF91089580931F0B6093200BCA01F2 |
:104B30000E946F250895982F87FD26C0603420F5C8 |
:104B4000862F869586958695282F30E03695322FCC |
:104B5000222737952795290F311D677081E090E056 |
:104B6000582F01C0550F6A95EAF7652F3370413011 |
:104B7000A1F0413050F04230B9F0F901E45EF84F55 |
:104B80006081C9010E94CB230895F901E45EF84FCA |
:104B90008081609586238083F3CFF901E45EF84F2E |
:104BA0008081852B8083ECCFF901E45EF84F808112 |
:104BB00085278083E5CF2F923F924F925F926F922D |
:104BC0007F928F929F92AF92BF92CF92DF92EF929D |
:104BD000FF920F931F93DF93CF9300D00F92CDB727 |
:104BE000DEB70B83482E5524862E9924A42FB0E0DF |
:104BF000BA83A983AD0144195509222E33249101AA |
:104C00002819390957FD95C0FA014115510509F0D8 |
:104C10007BC03F0137FD7BC0F9012115310509F04B |
:104C200070C05F016A0157FD78C0790137FD7CC013 |
:104C30004B810E949B25EC14FD04F4F5E981FA8177 |
:104C40004E165F0619F1C601D7FC79C09595879578 |
:104C500000271127081B190B460C571C0E0D1F1D92 |
:104C60001016110624F48A0C9B1C0C191D09842DA6 |
:104C7000682D4B810E949B25460C571CC20186194A |
:104C8000970929813A812817390741F70F900F902A |
:104C90000F90CF91DF911F910F91FF90EF90DF90D8 |
:104CA000CF90BF90AF909F908F907F906F905F90CC |
:104CB0004F903F902F9008958214930439F3C701C9 |
:104CC000F7FC3BC09595879500271127081B190B0A |
:104CD0008A0C9B1C0C0D1D1D1016110624F4460C8D |
:104CE000571C0E191F09842D682D4B810E949B258E |
:104CF0008A0C9B1CC4018A199B092816390651F796 |
:104D0000C5CFE1E0F0E08DCFE1E0F0E082CFAA2472 |
:104D1000AA94BA2C6A0157FF88CFD094C194D108C5 |
:104D2000D394790137FF84CFF094E194F108F394A0 |
:104D30007FCF66246A94762C6DCF0196C3CF0196FF |
:104D400085CFCF92DF92EF92FF920F931F93CF9375 |
:104D5000DF93D82E942F822FC02ED7FC32C04D2D3A |
:104D600050E0603408F06FE3262F30E07901E80E60 |
:104D7000F11C81E4E816F10418F010E4E12EF12CA6 |
:104D8000E901E216F30688F0490F511D413851053B |
:104D9000A8F4142F8D2D6C2F412F2C2F0C2D0E9439 |
:104DA000DB252196EC16FD06A8F7DF91CF911F9128 |
:104DB0000F91FF90EF90DF90CF90089540E850E082 |
:104DC000E8CF0FE7D02E4FE750E0CBCFDF92EF9246 |
:104DD000FF920F931F93CF93DF93F82E842FD02E43 |
:104DE000F7FC38C04F2D50E0162F603408F01FE359 |
:104DF000C12FD0E0C20FD11D480F511D41385105C0 |
:104E000010F040E850E0E42E8F2D612F212F0D2D62 |
:104E10000E94DB25C134D10510F0C0E4D0E08E2D16 |
:104E2000612F4E2D2C2F0D2D0E94DB258E2D6C2FEA |
:104E30004F2D2C2F0E94DB258F2D6C2F4F2D212FD6 |
:104E40000E94DB25DF91CF911F910F91FF90EF9092 |
:104E5000DF9008959FE7F92E4FE750E0C5CF2F92DE |
:104E60003F924F925F926F927F928F929F92AF92FA |
:104E7000BF92CF92DF92EF92FF920F931F93CF9347 |
:104E8000DF93482E562E7A01C22E642F650D422FD5 |
:104E90000E949B25652D6E19842D4C2D0E949B250B |
:104EA0008E2D840D652D4C2D0E949B25842D8E19F1 |
:104EB000652D4C2D0E949B251E141F040CF063C011 |
:104EC000C1E0D0E0CE19DF09C701880F991F222465 |
:104ED0003324281A390A4701AA24BB2423E0622E6E |
:104EE000712C06C0C60DD71D82E090E0680E791EB9 |
:104EF000D7FD09C008948108910882E090E0280E4F |
:104F0000391EC20DD31D0894A11CB11CDA2CD40C7F |
:104F1000182D150D8D2D612F4C2D0E949B25E42CF5 |
:104F2000EA188E2D612F4C2D0E949B25152D1819E6 |
:104F30008D2D612F4C2D0E949B258E2D612F4C2D88 |
:104F40000E949B25E82CE40C1A2D150D8E2D612F47 |
:104F50004C2D0E949B25942D9819092F892F612F84 |
:104F60004C2D0E949B25152D1A198E2D612F4C2D2D |
:104F70000E949B25802F612F4C2D0E949B25A814F9 |
:104F8000B9040CF4AFCFDF91CF911F910F91FF9037 |
:104F9000EF90DF90CF90BF90AF909F908F907F90D9 |
:104FA0006F905F904F903F902F9008952F923F9277 |
:104FB0005F926F927F928F929F92AF92BF92CF92A9 |
:104FC000DF92EF92FF920F931F93CF93DF93582EB0 |
:104FD000C62E7A01642F6C0D2C2D241B452D01E06B |
:104FE0000E94DB25452D4E198E2D850D6C2D2C2D07 |
:104FF0000E94DB251E141F040CF04FC0C1E0D0E05E |
:10500000CE19DF09C701880F991F22243324281ADB |
:10501000390A4701AA24BB2443E0642E712C06C040 |
:10502000C60DD71D82E090E0680E791ED7FD09C03D |
:1050300008948108910882E090E0280E391EC20D84 |
:10504000D31D0894A11CB11CEA2CE50CD52CDA1850 |
:10505000282D2C0D8E2D622F4D2D01E00E94DB2579 |
:105060002C2D28198E2D622F4D2D0E94DB25E82C2A |
:10507000E50C952D9819192F2A2D2C0D8E2D622FA8 |
:10508000492F0E94DB252C2D2A198E2D622F412FAE |
:105090000E94DB25A814B9041CF2DF91CF911F9167 |
:1050A0000F91FF90EF90DF90CF90BF90AF909F90C7 |
:1050B0008F907F906F905F903F902F900895CF9248 |
:1050C000DF92EF92FF920F931F93CF93DF93082FFE |
:1050D0000E9437238CEE96E060E00E94F624109246 |
:1050E0001F0B87E08093200B8BED96E060E00E9421 |
:1050F000BD2482E08093200B10E07801EE0CFF1CB1 |
:10510000EE0CFF1C68010894C11CD11CCC0CDD1CEA |
:10511000CC0CDD1CEC14FD0494F51E2D1295107FB3 |
:1051200002E08AE0E816F1049CF54E2D405D80E037 |
:105130006091200B20E00E94142400931F0BC0E01C |
:10514000D0E0412F4C0F80911F0B6091200B20E08D |
:105150000E94142480911F0B8F5F80931F0B219658 |
:10516000C031D10571F78091200B8F5F8093200BA8 |
:105170000894E11CF11C105FEC14FD0494F2DF9123 |
:10518000CF911F910F91FF90EF90DF90CF900895F6 |
:105190004E2D495C80E06091200B20E00E94142499 |
:1051A000CCCF8A3010F0895C0895805D08950F930C |
:1051B0001F93142F022F6093200B8F5F80931F0B80 |
:1051C000815042954F704A3098F4405D202F0E94E4 |
:1051D000142480911F0B6091200B412F4F704A3097 |
:1051E00048F0495C202F0E9414241F910F910895CC |
:1051F000495CECCF405D202F0E9414241F910F9139 |
:1052000008950F931F93082F162F80911F0B8F5F08 |
:1052100080931F0B81506091200B402F42954F705F |
:105220004A3018F5405D212F0E94142480911F0BF5 |
:105230008F5F80931F0B81506091200B402F4F7028 |
:105240004A30A8F0495C212F0E94142480911F0B42 |
:105250008F5F80931F0B81506091200B40E2212FC4 |
:105260000E9414241F910F910895495CDCCF405D8A |
:10527000EACFFF920F931F93CF93DF93F82E04E6AC |
:1052800020E0C0E0D0E08F2D602F0E94C359182F7E |
:105290008823C9F42223B9F40130A9F0802F6AE0F1 |
:1052A0000E94C359982F2196C330D105D9F0109F81 |
:1052B000802D1124F81A092F8F2D602F0E94C359B9 |
:1052C000182F882339F380911F0B8F5F80931F0B5A |
:1052D0008150412F405D6091200B20E00E941424FA |
:1052E00021E0DCCFDF91CF911F910F91FF900895C6 |
:1052F00080931F0B6093200B842F0E9439290895FF |
:10530000BF92CF92DF92EF92FF920F931F93CF93B2 |
:10531000DF93C82EB62E7A01CA0164E670E00E94BF |
:10532000CF59062F14E6C0E0D0E0402F405D8C2D11 |
:105330006B2D20E00E941424812F6AE00E94C35943 |
:10534000D82EC230D105A9F02C2D2F5F109FC0019F |
:105350001124E81AF90A8D2D8A508A30A0F0C22E45 |
:10536000C7016D2D70E00E94CF59062F21961D2D8B |
:10537000DCCFDF91CF911F910F91FF90EF90DF90E5 |
:10538000CF90BF900895C22EC394822F6B2D4EE212 |
:1053900020E00E941424E4CF7F928F929F92AF92DC |
:1053A000BF92CF92DF92EF92FF920F931F93DF9302 |
:1053B000CF93CDB7DEB727970FB6F894DEBF0FBEF9 |
:1053C000CDBFF82EE62ECA0169014E010894811C5A |
:1053D000911CB4014AE050E00E943A5AF401019055 |
:1053E0000020E9F731977E2E7818A72CBB24CA1429 |
:1053F000DB040CF464C0CA18DB081C141D0414F58B |
:10540000F39410E00EC06E2D40E320E00E941424BF |
:105410001F5F2F2D2F5F812F90E08C159D0594F439 |
:10542000F22E8F2D8150002371F76E2D40E220E087 |
:105430000E9414241F5F2F2D2F5F812F90E08C1569 |
:105440009D0574F3F5013197E80DF91D0081108277 |
:1054500081E0781609F448C082E0781621F4898149 |
:105460008D3209F449C0F0921F0BE092200BC40169 |
:1054700060E00E943525172D11501F0D812F6E2DD4 |
:105480004EE220E00E941424812F8F5F6E2D402F6A |
:1054900020E00E94142427960FB6F894DEBF0FBEBA |
:1054A000CDBFCF91DF911F910F91FF90EF90DF90D3 |
:1054B000CF90BF90AF909F908F907F9008951C14D5 |
:1054C0001D044CF710E001C0F02E0F2D0F5F8F2D43 |
:1054D0006E2D4AE220E00E9414241F5F812F90E08D |
:1054E0008C159D058CF3D7CF8F2D81506E2D40E309 |
:1054F00020E00E941424BFCF8F2D81506E2D4DE2ED |
:1055000020E00E9414248F2D6E2D40E320E00E94A5 |
:105510001424B1CF7F928F929F92AF92BF92CF927D |
:10552000DF92EF92FF920F931F93DF93CF93CDB74C |
:10553000DEB727970FB6F894DEBF0FBECDBFF82EAB |
:10554000E62ECA0169014E010894811C911CB40128 |
:105550004AE050E00E943A5AF40101900020E9F735 |
:1055600031977E2E7818A72CBB24CA14DB040CF4C8 |
:1055700064C0CA18DB081C141D0414F5F39410E071 |
:105580000EC06E2D40E320E00E9414241F5F2F2DDB |
:105590002F5F812F90E08C159D0594F4F22E8F2DB6 |
:1055A0008150002371F76E2D40E220E00E94142408 |
:1055B0001F5F2F2D2F5F812F90E08C159D0574F3B9 |
:1055C000F5013197E80DF91D0081108281E0781610 |
:1055D00009F448C082E0781621F489818D3209F4FB |
:1055E00049C0F0921F0BE092200BC40160E00E94C2 |
:1055F0003525172D11501F0D812F6E2D4EE220E005 |
:105600000E941424812F8F5F6E2D402F20E00E9476 |
:10561000142427960FB6F894DEBF0FBECDBFCF91EE |
:10562000DF911F910F91FF90EF90DF90CF90BF908F |
:10563000AF909F908F907F9008951C141D044CF79D |
:1056400010E001C0F02E0F2D0F5F8F2D6E2D4AE25E |
:1056500020E00E9414241F5F812F90E08C159D058F |
:105660008CF3D7CF8F2D81506E2D40E320E00E9428 |
:105670001424BFCF8F2D81506E2D4DE220E00E946B |
:1056800014248F2D6E2D40E320E00E941424B1CF0E |
:10569000AF92BF92CF92DF92EF92FF920F931F9340 |
:1056A000DF93CF93CDB7DEB727970FB6F894DEBF61 |
:1056B0000FBECDBF182FC62ECA017901D02E5E01B4 |
:1056C0000894A11CB11CB5014AE050E00E943A5A6E |
:1056D000F50101900020E9F73197EA192E2F30E00B |
:1056E000E216F3060CF440C0E21AF30A1E141F047B |
:1056F00014F51F5F00E00EC06C2D40E320E00E9417 |
:1057000014240F5F212F2F5F802F90E08E159F05AF |
:1057100094F4122F812F8150DD2071F76C2D40E21F |
:1057200020E00E9414240F5F212F2F5F802F90E034 |
:105730008E159F0574F310931F0BC092200BC501AB |
:1057400060E00E94352527960FB6F894DEBF0FBEA5 |
:10575000CDBFCF91DF911F910F91FF90EF90DF9020 |
:10576000CF90BF90AF9008951E141F0464F700E01F |
:1057700001C01D2DD12ED394812F6C2D4AE220E043 |
:105780000E9414240F5F802F90E08E159F058CF3EC |
:10579000DACFAF92BF92CF92DF92EF92FF920F9348 |
:1057A0001F93DF93CF93CDB7DEB727970FB6F8944B |
:1057B000DEBF0FBECDBF182FC62ECA017901D02E75 |
:1057C0005E010894A11CB11CB5014AE050E00E94A2 |
:1057D0005B5AF50101900020E9F73197EA192E2F65 |
:1057E00030E0E216F3060CF440C0E21AF30A1E148D |
:1057F0001F0414F51F5F00E00EC06C2D40E320E095 |
:105800000E9414240F5F212F2F5F802F90E08E15B0 |
:105810009F0594F4122F812F8150DD2071F76C2D9C |
:1058200040E220E00E9414240F5F212F2F5F802F81 |
:1058300090E08E159F0574F310931F0BC092200B00 |
:10584000C50160E00E94352527960FB6F894DEBFAB |
:105850000FBECDBFCF91DF911F910F91FF90EF90C1 |
:10586000DF90CF90BF90AF9008951E141F0464F78F |
:1058700000E001C01D2DD12ED394812F6C2D4AE262 |
:1058800020E00E9414240F5F802F90E08E159F056A |
:105890008CF3DACF7F928F929F92AF92BF92CF928A |
:1058A000DF92EF92FF920F931F93162F69017A01F7 |
:1058B00057FD61C0782E739440E220E00E941424CA |
:1058C000C701B60120E836E948E950E00E94185ABD |
:1058D000872D612FA90123E030E001E00E94C92B50 |
:1058E000872D8D5F612F4EE220E00E941424C701B6 |
:1058F000B60120E836E948E950E00E94185A6B01E9 |
:105900007C01C701B60128EE33E040E050E00E9480 |
:10591000185A4901872D8C5F612FA90124E030E0DE |
:105920000E94C92BAA24BB24C501B40128E13CEF85 |
:105930004FEF5FEF0E94A459C60ED71EE81EF91E56 |
:10594000872D885F612FA60123E030E00E94C92BDC |
:10595000872D855F612F4EE120E00E9414241F9166 |
:105960000F91FF90EF90DF90CF90BF90AF909F90FE |
:105970008F907F900895C094D094E094F094089410 |
:10598000C11CD11CE11CF11C782E73944DE220E067 |
:105990000E94142495CFBF92CF92DF92EF92FF9294 |
:1059A0000F931F93182FB62E6A01CA016CE370E0A3 |
:1059B0000E94CF597B01812F6B2DA70122E030E09F |
:1059C00000E00E94C92B812F8E5F6B2D4AE320E0FF |
:1059D0000E9414248CE390E09C01E29EC001E39EAF |
:1059E000900DF29E900D1124C81AD90A812F8D5F57 |
:1059F0006B2DA60122E030E001E00E94C92B1F912F |
:105A00000F91FF90EF90DF90CF90BF9008952F926D |
:105A10003F924F925F926F927F928F929F92AF923E |
:105A2000BF92CF92DF92EF92FF920F931F93DF937B |
:105A3000CF93CDB7DEB760970FB6F894DEBF0FBE39 |
:105A4000CDBF8D876E877A013901C02E449F9001AA |
:105A5000459F300D549F300D112438872F83669C4D |
:105A6000C001679C900D769C900D11249E838D83C0 |
:105A7000269D5001279DB00C369DB00C1124F501D8 |
:105A8000EE0FFF1FFC83EB83660D8D85402F0E9478 |
:105A90009B256E8566198D85402F0E949B258D85DF |
:105AA0008E0D6E85402F0E949B258D858E196E85EB |
:105AB000402F0E949B252B813C81121613060CF06F |
:105AC00060C16D817E816A197B09882777FD809589 |
:105AD000982F0E94F7577B018C01EF81F885BF0159 |
:105AE000882777FD8095982F0E94F75720E030E0B7 |
:105AF00040E85EE30E94BC589B01AC01C801B701BD |
:105B00000E94F5560E941F590E94C457788B6F87D8 |
:105B10008D809E80880C991C8F819885880F991F95 |
:105B200022273327281B390B3C872B87AD80BE806B |
:105B3000A80CB91C1301442455246624772409C0F9 |
:105B4000C50188199909EF85F889E80FF91FF88BC5 |
:105B5000EF878F85988997FD0FC008942108310839 |
:105B6000EB81FC812B853C85E20FF31FFC83EB83EB |
:105B70008E1B9F0B988B8F870894611C711C480C9F |
:105B8000591C0D85060DEE84E20C802F6E2D4C2DD8 |
:105B90000E949B25FE84F218802F6F2D4C2D0E94B1 |
:105BA0009B251D851619812F6E2D4C2D0E949B253E |
:105BB000812F6F2D4C2D0E949B25A80CB91C8B8129 |
:105BC0009C81481659060CF4BBCF93015101121465 |
:105BD00013040CF0BDC0B901882777FD8095982F7C |
:105BE0000E94F75720E030E040E05FE30E94F55666 |
:105BF0007B018C010894A108B1082D813E81B90177 |
:105C0000882777FD8095982F0E94F757A801970164 |
:105C10000E94BC589B01AC01C801B7010E94BC584E |
:105C20007B018C01AA9CC001AB9C900DBA9C900D8D |
:105C30001124EF81F8858E9FB0018F9F700D9E9F7C |
:105C4000700D1124882777FD8095982F0E94F757B3 |
:105C50009B01AC01C801B7010E94F5567B018C0184 |
:105C60002D813E818F819885289FB001299F700DDD |
:105C7000389F700D1124882777FD8095982F0E94FA |
:105C8000F7579B01AC01C801B7010E94F4560E946E |
:105C90001F590E94C4574B018F819885880F991F07 |
:105CA000EE27FF27E81BF90BFA83E9832D813E815C |
:105CB000220F331F3A872987C1010197988B8F875D |
:105CC0001F013094219431083394AF80B884AE1A08 |
:105CD000BF0AEB81FC81AE1ABF0A2DC00D85060DEF |
:105CE0001F85EE84E10E802F6E2D4C2D0E949B258A |
:105CF000FE84F11A802F6F2D4C2D0E949B251D854F |
:105D00001619812F6E2D4C2D0E949B25812F6F2DF2 |
:105D10004C2D0E949B258F8598890197988B8F87A2 |
:105D2000A20CB31C8F5F9F4F99F089819A818A0DD5 |
:105D30009B1D880E991E1814190484F20894611C86 |
:105D4000711C29853A85420E531E840C951CC6CFC2 |
:105D500060960FB6F894DEBF0FBECDBFCF91DF9136 |
:105D60001F910F91FF90EF90DF90CF90BF90AF9079 |
:105D70009F908F907F906F905F904F903F902F906B |
:105D800008955301130120E030E044245524662493 |
:105D900077241DCF0F93FA01022F4D5F5F4F9F01B4 |
:105DA0000E94072D0F9108952F923F924F925F927C |
:105DB0006F927F928F929F92AF92BF92CF92DF921B |
:105DC000EF92FF920F931F93DF93CF930F92CDB774 |
:105DD000DEB7382E262E4983422EB8010E2D80E0E4 |
:105DE00090E00E94F5572BED3FE049E450E40E941B |
:105DF000BC5820E030E044E353E40E945C576B0160 |
:105E00007C01C7010E9459574B015C01552466244F |
:105E10007724C301B2010E94F5579B01AC01C50173 |
:105E2000B4010E94BC580E941F594B015C01B6018D |
:105E3000C7010E943F596B017C012981622F70E0EC |
:105E400080E090E00E94F5579B01AC01C701B601CC |
:105E50000E94BC580E941F590E94C957132D160F4B |
:105E6000C501B4010E94C957222D261B832D622D26 |
:105E7000412F0E94DB250F90CF91DF911F910F9151 |
:105E8000FF90EF90DF90CF90BF90AF909F908F905A |
:105E90007F906F905F904F903F902F900895EF927A |
:105EA0000F931F93942FF901E02E4D5F292F8F013F |
:105EB0000E94D42E1F910F91EF9008952F923F9240 |
:105EC0004F925F926F927F928F929F92AF92BF920A |
:105ED000CF92DF92EF92FF920F931F93382E262ED0 |
:105EE000442E40E050E0CA01B9010E94F5572BED65 |
:105EF0003FE049E450E40E94BC5820E030E044E335 |
:105F000053E40E945C576B017C01C7010E94595702 |
:105F10004B015C01552466247724C301B2010E9421 |
:105F2000F5572B013C01C501B401A30192010E9468 |
:105F3000BC580E941F594B015C01B601C7010E9469 |
:105F40003F599B01AC01C301B2010E94BC580E94A1 |
:105F50001F590E94C957132D160FC501B4010E9485 |
:105F6000C957222D261B832D622D412F0E94DB2530 |
:105F70001F910F91FF90EF90DF90CF90BF90AF9067 |
:105F80009F908F907F906F905F904F903F902F9059 |
:105F90000895EF92FF920F931F93CF93DF9382B1F7 |
:105FA000806F82B93A9A8AB1806C8AB98FEF84B9CE |
:105FB00081E080938B0B0E947A2384E190E00E9421 |
:105FC000545384E190E00E94955182E50E94CD51A6 |
:105FD0000E9480360E94D5500E94645078940E949E |
:105FE000FD1E0E947A238BE10E9498538BE10E9450 |
:105FF000985385E50E9498538AEA0E94985380E05E |
:106000000E94985386E580931B0106E7C4E1D0E027 |
:106010008AE5E82EF12C0E94372380E060E04CE016 |
:1060200058E020E00E94ED2480E061E042E058E08A |
:1060300020E00E94ED248AE061E048EF57E020E094 |
:106040000E94ED2480E062E048EE57E020E00E94EC |
:10605000ED2480E063E043ED57E020E00E94ED2472 |
:1060600080E067E045EC57E020E00E94ED2412E379 |
:1060700080918201882309F045C0112351F100D09D |
:106080000F92EDB7FEB73196ADB7BEB711960C9330 |
:10609000118212820E949254D0938D0BC0938C0B6C |
:1060A0000F900F900F9080918C0B90918D0B892BFE |
:1060B000D1F780E10E94E550882311F41150D8CF28 |
:1060C00010921C010E948D3210921C010E948D3290 |
:1060D000F7CF80E064E04EEB57E020E00E94ED2433 |
:1060E00080E065E049EA57E020E00E94ED24F0926C |
:1060F0008D0BE0928C0B80918C0B90918D0B892BEA |
:10610000D1F789CF112329F30E94BF5380918401D5 |
:10611000909185019093220B8093210B0E9437234D |
:1061200086E997E060E00E94F6248CE897E060E062 |
:106130000E94F6248091920B823609F494C08091DB |
:10614000920B833651F482E797E060E00E94F624D8 |
:1061500081E080931C0180931D0188E697E060E058 |
:106160000E94F624E091210BF091220B80810E9485 |
:10617000392986E697E060E00E94F624E091210B41 |
:10618000F091220B81810E943929E091210BF0913D |
:10619000220B44814F5980911F0B6091200B20E00E |
:1061A0000E94142482E390E090938D0B80938C0BDB |
:1061B00080918C0B90918D0B892BD1F70E946A56A0 |
:1061C00082E390E090938D0B80938C0B80918C0BED |
:1061D00090918D0B892BD1F781E00E949140E09145 |
:1061E000230BF091240B8081853509F447C00E9470 |
:1061F00037238BE597E060E00E94F62485E50E9456 |
:1062000039298FE497E060E00E94F62484E497E067 |
:1062100060E00E94F624E091230BF091240B808132 |
:106220000E94392988E397E060E00E94F62485E225 |
:1062300097E060E00E94F62488E197E060E00E9429 |
:10624000F6248EE097E060E00E94F62481E097E07B |
:1062500060E00E94F624E091230BF091240B8081F2 |
:10626000853561F0FFCF8EE797E060E00E94F6246D |
:1062700082E080931C0180931D016FCF10921B015F |
:106280001092820188EC90E090938D0B80938C0BA0 |
:1062900080918C0B90918D0B892BD1F70E948D32C0 |
:1062A0000E948D32FBCF0E94372380E060E041E006 |
:1062B0005AE020E00E94ED2480E061E049EF59E0DF |
:1062C00020E00E94ED2488E061E04FEE59E020E0FC |
:1062D0000E94ED2480E062E04BED59E020E00E9456 |
:1062E000ED2480E063E04CEC59E020E00E94ED24D6 |
:1062F00080E064E049EB59E020E00E94ED2480E07A |
:1063000065E044EA59E020E00E94ED2480E066E088 |
:106310004FE859E020E00E94ED2480E067E04AE782 |
:1063200059E020E00E94ED2480E80E94E550882397 |
:10633000D9F308950E94372380E060E043E35AE0F8 |
:1063400020E00E94ED2480E061E043E25AE020E09A |
:106350000E94ED2480E067E04EE05AE020E00E94D9 |
:10636000ED2480E80E94E5508823D9F308950F9327 |
:106370001F93982F062F142F842F692F46E15BE07F |
:1063800020E00E942C25812F602F44E15BE020E07B |
:106390000E942C251F910F910895CF92DF92EF92CA |
:1063A000FF920F931F93D82EF62E142FC22EE02E9D |
:1063B000842F642F41E00E94B731012F1AC081E081 |
:1063C000E81611F180E10E94E550882329F0D116EA |
:1063D000C8F081E0C81609F1101729F0802F612F4D |
:1063E00041E00E94B73180E80E94E550012F8823E8 |
:1063F00061F480E20E94E550882321F31F15F8F62E |
:106400001F5FE0CF1150E8CF1EEF812F1F910F913A |
:10641000FF90EF90DF90CF9008951DEFF6CFCF92D1 |
:10642000DF92EF92FF920F931F93D82EF62E142F28 |
:10643000C22EE02E842F642F41E00E94B731012F3D |
:106440001AC081E0E81661F180E10E94E5508823DE |
:1064500029F0D116C8F081E0C81621F1101729F0F3 |
:10646000802F612F41E00E94B73180EC0E94E550FF |
:10647000012F882359F480E20E94E550882321F3FC |
:106480001F15F8F61F5FE0CF1150E8CF86FD1FEF14 |
:10649000812F1F910F91FF90EF90DF90CF90089583 |
:1064A0001EEFF6CF1DEFF4CFDF92EF92FF920F9326 |
:1064B0001F93E82EF62ED42E122F822F622F0E94C9 |
:1064C000B731012F16C01E2D80E10E94E5508823B0 |
:1064D00019F0E116B8F01F2D101729F0802F612F49 |
:1064E0004D2D0E94B73180EC0E94E550012F88238A |
:1064F00059F480E20E94E550882331F31F1518F704 |
:106500001F5FE2CF1150E8CF86FD1FEF812F1F9153 |
:106510000F91FF90EF90DF9008952F923F924F924E |
:106520005F926F927F928F929F92AF92BF92CF9223 |
:10653000DF92EF92FF920F931F93DF93CF9300D0E0 |
:1065400000D00F92CDB7DEB780911C01813009F4E5 |
:106550001CC2823009F413C2882309F0F4C186E01A |
:106560008A83E6E06E2E712C5524198244244394CC |
:106570008824992413010894210831080E943723A4 |
:1065800080E060E047E05BE020E00E942C258DEF9A |
:106590009AE060E00E94F62480E067E048EE5AE06E |
:1065A00020E00E94ED24552009F013C1C401880F9A |
:1065B000991F880D991D9C01220F331F220F331F35 |
:1065C000280F391F51E2C52E58E0D52EC20ED31E1A |
:1065D00047EBE42E48E0F42EE20EF31E8901005E44 |
:1065E000164F1D821C8291E011C02C813D812F5FCE |
:1065F0003F4F3D832C839F5FEFE0F0E0CE0EDF1E28 |
:10660000EE0EFF1E015F1F4F973021F1AC80BD8061 |
:10661000A80CB91CA614B70484F480911C01813025 |
:1066200009F4B4C0823009F4A8C083E0692FA8013E |
:1066300020E09B830E942C259B81EC81E530A9F60C |
:10664000A214B30494F681E066E044EE5AE020E040 |
:106650000E942C25F981FF2309F4A1C0C4010696EC |
:10666000861597050CF4BDC082E066E0442D21E05C |
:1066700000E00E94CD31182F1E3F09F4A0C01D3F3D |
:1066800009F4B8C01F3F09F48ECF80911C018130FE |
:1066900009F4DAC0823009F4BDC08823D9F474014A |
:1066A000E10EF11CF2E0EF16F10409F449C123E018 |
:1066B000E216F10409F440C134E0E316F10409F4F0 |
:1066C00037C185E0E816F10409F42EC1E6E0EE16C4 |
:1066D000F10411F0412E52CF0E94372380E060E098 |
:1066E0004EEC5AE020E00E94ED2480E061E049EBAE |
:1066F0005AE020E00E94ED2480E062E045EA5AE0A2 |
:1067000020E00E94ED2480E063E04FE85AE020E0C2 |
:106710000E94ED2480E064E049E75AE020E00E9416 |
:10672000ED2480E065E044E65AE020E00E94ED249C |
:1067300080E066E04DE55AE020E00E94ED2480E034 |
:1067400067E047E45AE020E00E94ED2480E10E94E7 |
:10675000E550882309F0FBC080E80E94E5508823BB |
:10676000A9F32CE088E190E00FB6F894A895809307 |
:1067700060000FBE20936000FFCF83E0692FA70168 |
:1067800020E09B830E942C259B8157CF83E0692FBB |
:10679000A60120E09B830E942C259B814ECF552093 |
:1067A00001F52A81273068F181E065E0442D20E081 |
:1067B00001E00E94CD31182F1E3F09F060CF5394A5 |
:1067C00031E0398395E0492E852C9924552009F430 |
:1067D000EDCE81E061E046EE5AE020E00E942C25FB |
:1067E000E5CE82E065E0442D21E001E00E94CD315C |
:1067F000182F42CF5A94198282E0482E852C992472 |
:10680000D2CE81E06A81442D20E000E00E94CD31AB |
:10681000182F32CF7401E10EF11C81E0E816F1046B |
:1068200091F1E2E0EE16F10409F44AC0F3E0EF164C |
:10683000F10409F462C024E0E216F10431F50E948B |
:10684000083580911C0129CF7401E10EF11C81E013 |
:10685000E816F10419F1E2E0EE16F104E1F1F3E0DB |
:10686000EF16F10409F454C024E0E216F104C9F46F |
:106870000E94924BF8E0EF16F104C9F40E948B4E8F |
:1068800080911C0107CF0E94921D35E0E316F104B0 |
:10689000C9F40E948B4E80911C01FFCE81E00E94C2 |
:1068A0004F3A35E0E316F104C9F40E94D01A29E00A |
:1068B000E216F104C9F40E94533180911C01EACE22 |
:1068C0000E94924B86E0E816F104C9F40E9453310D |
:1068D00080911C01E2CE82E00E944F3A86E0E816E9 |
:1068E000F104C1F40E9408353AE0E316F10411F412 |
:1068F0000E949B1780911C01CDCE0E94D01AE7E028 |
:10690000EE16F10411F40E949B1780911C01C5CE74 |
:106910000E94921DE7E0EE16F10409F0ABCF0E9451 |
:10692000142280911C01B6CE0E94F317412E26CE70 |
:106930000E949B17412E22CE0E945331412E1ECE23 |
:106940000E948B4EC3CE1A82662477240DCE0F9000 |
:106950000F900F900F900F90CF91DF911F910F919B |
:10696000FF90EF90DF90CF90BF90AF909F908F906F |
:106970007F906F905F904F903F902F90089537E0F9 |
:106980003A83F7E06F2E712CEFCD2AE02A83AAE03C |
:106990006A2E712CE9CDCF93DF93E82FC5E4DCE0BC |
:1069A00080E1DE011D928A95E9F7EE2351F1F0E0D6 |
:1069B000EC5BF34F60838DB79EB707970FB6F894E3 |
:1069C0009EBF0FBE8DBFEDB7FEB7319684E7ADB762 |
:1069D000BEB711968C9381E081838283D483C38375 |
:1069E00080E190E0968385830E9492548DB79EB794 |
:1069F00007960FB6F8949EBF0FBE8DBFDF91CF9163 |
:106A00000895CE0170E040E150E00E94335AD3CFA8 |
:106A10000F931F93CF93DF930E94372381E08093DE |
:106A2000260B1092280B1092270B81E59BE060E06B |
:106A30000E94F62482E062E046E45BE020E00E94EF |
:106A4000ED2482E063E04BE35BE020E00E94ED2474 |
:106A500080E067E046E25BE020E00E94ED2480E019 |
:106A600062E044E25BE020E00E942C2580911C0162 |
:106A7000813009F411C110E729C0813009F449C0FF |
:106A800080E80E94E5508823A9F08091260B882396 |
:106A900009F068C062E04EE15BE020E00E942C2536 |
:106AA00080E063E04CE15BE020E00E942C2581E087 |
:106AB0008093260B8091280B6091270B0E94CB348A |
:106AC00080E40E94E550882309F05DC08091260B88 |
:106AD000882399F680E20E94E550882309F4B5C026 |
:106AE0004091270B4E3F08F4BBC08091260B8823B2 |
:106AF00021F680E10E94E550882309F470C080915E |
:106B0000270B882309F076C08091260B813009F08D |
:106B1000B7CF80E20E94E550882309F4C5C04091B8 |
:106B2000280B403108F4CBC08091260B813009F04E |
:106B3000A7CF80E10E94E550882309F4CCC04091A2 |
:106B4000280B442309F49CCF41504093280B442345 |
:106B500009F0C8C089E062E040E25BE020E00E940A |
:106B6000ED248ECF80E062E04AE15BE020E00E940D |
:106B70002C2580E063E048E15BE020E00E942C25CA |
:106B80001092260B97CFA5E4BCE080E1ED011992AD |
:106B90008A95E9F7EDB7FEB737970FB6F894FEBFC1 |
:106BA0000FBEEDBF319684E7CDB7DEB7898381E0B4 |
:106BB00081838283B483A38380E190E0968385837D |
:106BC0000E949254EDB7FEB737960FB6F894FEBF09 |
:106BD0000FBEEDBFDF91CF911F910F91089580E11E |
:106BE0000E94EF50882309F48FCF8091270B8823D0 |
:106BF00009F48ACF819FC00111246FEF70E00E94D9 |
:106C0000E359462F88E068E226E000E00E94A126D2 |
:106C10004091270B41504093270B89E063E050E0FF |
:106C200023E030E00E94C92B8091270B819FC00197 |
:106C300011246FEF70E00E94E359462F88E068E26C |
:106C400026E001E00E94A1265FCF80E20E94EF5083 |
:106C5000882309F44ACF4091270B4E3F08F045CFD7 |
:106C60004F5F4093270B89E063E050E023E030E082 |
:106C700000E00E94C92B8091270B819FC001112445 |
:106C80006FEF70E00E94E359462F88E068E226E04B |
:106C900001E00E94A12629CF80911D01813009F0D9 |
:106CA000EACE0E946A56E7CE80E20E94EF50882327 |
:106CB00009F43ACF4091280B403108F035CF4F5FAF |
:106CC0004093280B89E062E050E023E030E000E0F0 |
:106CD0000E94C92B29CF80E10E94EF50882309F43C |
:106CE000CFCE2DCF89E062E050E023E030E000E03D |
:106CF0000E94C92B8091280B882309F0C1CE2ACF8E |
:106D00009FB7F8943998389A88B1836088B9E9EBCD |
:106D1000F0E080818C7F80838AE28093B8001092BB |
:106D2000250B9FBF08958093250B85EA8093BC00B7 |
:106D300008958093250B84E98093BC000895809387 |
:106D4000BB0085E88093BC00089585EC8093BC006F |
:106D5000089585E88093BC0008951F920F920FB6A6 |
:106D60000F9211248F939F938091250B8F5F8093B7 |
:106D7000250B8150823009F44BC08330B0F0843051 |
:106D800009F468C08430A0F580911F01880F8D5AE6 |
:106D90008093BB0085E88093BC008091B90080346B |
:106DA00049F485EC8093BC000AC0882379F08130D7 |
:106DB00009F442C01092250B84E98093BC009F9196 |
:106DC0008F910F900FBE0F901F90189580911F010B |
:106DD00090E08996880F991F8093BB0085E8809387 |
:106DE000BC009F918F910F900FBE0F901F90189530 |
:106DF000853001F78091BB001092250B84E98093C8 |
:106E0000BC009F918F910F900FBE0F901F9018950F |
:106E10008091B9001092250B84E98093BC0083E037 |
:106E20008093250B85EA8093BC009F918F910F90F2 |
:106E30000FBE0F901F9018958091280B8093BB0078 |
:106E400085E88093BC009F918F910F900FBE0F90AB |
:106E50001F9018958091BB0085E88093BC009F919E |
:106E60008F910F900FBE0F901F9018950F931F9347 |
:106E70000E9437231092280B88E79BE060E00E9475 |
:106E8000F62480E067E042E65BE020E00E94ED242B |
:106E90008CE59BE060E00E94F6241CE61BC080911C |
:106EA000280B8E3F18F48F5F8093280B80E10E949F |
:106EB000E5508823F1F08091280B882319F580E8AC |
:106EC0000E94E5508823B1F580E40E94E5508823B4 |
:106ED00009F048C080E20E94E550882301F780E273 |
:106EE0000E94EF508823D9F680E10E94E550882364 |
:106EF00011F780E10E94EF50882309F38091280B5D |
:106F00008823E9F2819FC00111246FEF70E00E9495 |
:106F1000E359462F83E166E12AE000E00E94A126C2 |
:106F20008091280B81508093280B80E80E94E550C7 |
:106F3000882351F28091280B819FC00111246FEFAB |
:106F400070E00E94E359462F83E166E12AE000E009 |
:106F50000E94A1261092280B80E40E94E55088230D |
:106F600009F4B8CF1F910F9108959C0148978C9711 |
:106F700000F1C901845490408D97E8F0C901815710 |
:106F800090408D97E0F0C9018E5990408D97A8F000 |
:106F9000C9018B5C90408D97A0F0C901885F90403B |
:106FA0008D9798F0255231402D32310560F087E001 |
:106FB000089580E0089581E0089583E0089582E0D7 |
:106FC000089584E0089586E0089585E00895089581 |
:106FD000CF92DF92EF92FF920F931F93CF93DF93A5 |
:106FE0000E943723C9E2DBE010E0C880D980EA8044 |
:106FF000FB801F5FC701B60120E836E948E950E091 |
:107000000E94F65980E0612FA90123E030E000E002 |
:107010000E94C92B83E0612F43EC5CE020E00E94DA |
:107020002C25C701B60128EE33E040E050E00E9475 |
:10703000F659CA01B90120E137E240E050E00E9470 |
:10704000F6599B01AC0184E0612FA90124E030E0F6 |
:1070500001E00E94C92BC701B6012AE030E040E000 |
:1070600050E00E94F659CA01B90124E630E040E040 |
:1070700050E00E94F6599B01AC0188E0612FA90104 |
:1070800022E030E00E94C92BCC80DD80EE80FF80C2 |
:10709000C701B60120E836E948E950E00E94F659F8 |
:1070A0008AE0612FA90123E030E000E00E94C92BB3 |
:1070B0008DE0612F41EC5CE020E00E942C25C701AF |
:1070C000B60128EE33E040E050E00E94F659CA01D4 |
:1070D000B90120E137E240E050E00E94F6599B01FF |
:1070E000AC018EE0612FA90124E030E001E00E94B4 |
:1070F000C92BC701B6012AE030E040E050E00E9411 |
:10710000F659CA01B90124E630E040E050E00E949F |
:10711000F6599B01AC0182E1612FA90122E030E028 |
:107120000E94C92B2D96173009F05FCFC8ECD0E034 |
:107130000EC080E40E94E550882371F480E80E942C |
:10714000E550882349F4D0938D0BC0938C0B80E1DC |
:107150000E94E550882369F380EF0E94E5500E9469 |
:107160003723DF91CF911F910F91FF90EF90DF9028 |
:10717000CF900895EF92FF920F931F93CF93DF93D9 |
:10718000282F062FCA0166E170E00E94CF596D5E7C |
:1071900070E0EB01CD50D44F85E0E82EF12CE60EE7 |
:1071A000F71E87EF9BE0E80EF91E122F1F5FFE010E |
:1071B0004491822F602F20E00E9414242196212FD9 |
:1071C000CE15DF0591F7DF91CF911F910F91FF90C1 |
:1071D000EF9008950F93CF93DF930E94372380E0C1 |
:1071E00060E047E85BE020E00E94ED248091200110 |
:1071F000909121016EE170E00E94E359AB018DE0B6 |
:1072000060E024E030E000E00E94482B81E160E093 |
:107210004DE620E00E94142480E061E045E95BE057 |
:1072200020E00E94ED24209122013091230140E0D2 |
:1072300050E0CA01B901660F771F881F991F660FBA |
:10724000771F881F991F660F771F881F991F620F6E |
:10725000731F841F951F2AEF30E040E050E00E942A |
:10726000F6598EE061E0A90123E030E00E94C92BCD |
:1072700081E161E049EC5CE020E00E94ED2480E0E7 |
:1072800062E043EA5BE020E00E94ED24809124016B |
:10729000909125016AE070E00E94E359AB018EE015 |
:1072A00062E023E030E00E94C92B81E162E04DE61C |
:1072B00020E00E94142480E063E04FEB5BE020E0DC |
:1072C0000E94ED2440912601509127018DE063E05A |
:1072D0000E94CB2C80E064E041EB5BE020E00E9468 |
:1072E000ED24409100018DE064E050E023E030E0C7 |
:1072F0000E948A2A81E164E046E520E00E9414248D |
:1073000080E065E04DEC5BE020E00E94ED244091E0 |
:107310002801509129018DE065E023E030E00E94D2 |
:107320008A2A81E165E041E420E00E94142480E0A3 |
:1073300066E04BED5BE020E00E94ED2440912A01E5 |
:1073400050912B018DE066E024E030E00E94C92BD3 |
:1073500081E166E045EC5CE020E00E94ED24C8ECB1 |
:10736000D0E004C0D0938D0BC0938C0B80E40E94BE |
:10737000E5508823B9F380912E018B7F80932E01F5 |
:1073800080EF0E94E5500E943723DF91CF910F914B |
:107390000895BF92CF92DF92EF92FF920F931F93C7 |
:1073A000CF93DF93C82ED62EE42EF22EE80130E0E4 |
:1073B000C901019797FD67C0959587951D2D181BED |
:1073C0008C2D612F4E2D2F2D01E00E94E626BC2C26 |
:1073D000B3941F5F4E2D42508EEFF80E8B2D612F10 |
:1073E0002F2D00E00E94A126EC0C8C2D6D2D4E2D32 |
:1073F0002D2D01E00E94DB251C161D06BCF4CE01DC |
:1074000065E070E00E94E3596130710589F16230F6 |
:107410007105D1F0672BC9F5DA948C2D8D5F6D2D38 |
:1074200043E021E001E00E94A12618C0CE016BEFED |
:107430007FEF0E94E35961307105E1F06230710520 |
:1074400029F0672B21F5E9CF8CEFD80E8C2D8E5FBC |
:107450006D2D45E024E001E00E94A126DF91CF914F |
:107460001F910F91FF90EF90DF90CF90BF90089504 |
:107470008DEFD80E8C2D8E5F6D2D45E023E001E061 |
:107480000E94A126EBCFC90197CF8BEFD80E8B2D91 |
:107490006D2D47E025E001E00E94A126DFCF2F926D |
:1074A0003F924F925F926F927F928F929F92AF9294 |
:1074B000BF92CF92DF92EF92FF920F931F93DF93D1 |
:1074C000CF93CDB7DEB72E970FB6F894DEBF0FBEC1 |
:1074D000CDBF682E1092210110922001109223013D |
:1074E0001092220110922501109224018FEF8093B7 |
:1074F0000001109227011092260180912F0188230C |
:1075000009F41FC5813009F423C580911C01823024 |
:1075100009F403C50E944F548FE480931B01198224 |
:107520002DB73EB7275030400FB6F8943EBF0FBE80 |
:107530002DBFEDB7FEB7319684E6ADB7BEB7119655 |
:107540008C931182FF24F394F2824E010894811CE3 |
:10755000911C9482838201E010E0168305830E94CF |
:1075600092548AE08983EDB7FEB731968FE6ADB7C6 |
:10757000BEB711968C9382E08183F28294828382DB |
:10758000168305830E94925488EC90E090938D0BB3 |
:1075900080938C0B8CE291E090938F0B80938E0BF9 |
:1075A00010E0AA24BB247724CC24EDB7FEB737968D |
:1075B0000FB6F894FEBF0FBEEDBFA8EC4A2E512CBB |
:1075C000F2E02F2E312C2C0E3D1E0DC080E40E94C7 |
:1075D000E550882309F0DCC280918C0B90918D0BD3 |
:1075E000892B09F4D5C280918201882379F35092C6 |
:1075F0008D0B40928C0B0E94BF538091840190911F |
:1076000085019093850B8093840B80912F018130AD |
:1076100009F4CBC410922F012091840B3091850B7B |
:10762000D90115964D915D916D917C9118971196A8 |
:10763000ED90FD900D911C91149780912D0B9091E0 |
:107640002E0BA0912F0BB091300B481759076A07EA |
:107650007B0709F454C08091290B90912A0BA091CB |
:107660002B0BB0912C0BE816F9060A071B0709F43F |
:1076700046C0E7E7FBE0DF011D978DE00D9001922A |
:107680008150E1F7EAE6FBE0DF011D978DE00D9008 |
:1076900001928150E1F7EDE5FBE0DF011D978DE000 |
:1076A0000D9001928150E1F7E0E5FBE0DF011D97CD |
:1076B0008DE00D9001928150E1F7E3E4FBE0DF0102 |
:1076C0001D978DE00D9001928150E1F7E6E3FBE01C |
:1076D000DF011D978DE00D9001928150E1F74E83FF |
:1076E0005F8368877987EA82FB820C831D83A9E226 |
:1076F000BBE0F1018DE001900D928150E1F7B1E026 |
:107700006B1609F05CC32D5B3F4FF901808180FF50 |
:107710004FC480912E01846080932E0186E190E019 |
:1077200063E270E040E150E021E00E94CA2EE09167 |
:10773000840BF091850B22AD33AD40E050E0CA01DF |
:10774000B901660F771F881F991F660F771F881F63 |
:10775000991F660F771F881F991F620F731F841F61 |
:10776000951F2AEF30E040E050E00E94F65981E09A |
:1077700060E0A90123E030E000E00E94C92B84E032 |
:1077800060E04EE95CE020E00E94ED24E091840B93 |
:10779000F091850B46AD57AD8EE060E023E030E020 |
:1077A0000E94C92B81E160E04EE120E00E94142498 |
:1077B000E091840BF091850B86AD97AD0E94B537B3 |
:1077C000E82FF0E0EE0FFF1FE15CF34F459154917D |
:1077D00082E160E020E00E94ED24E091840BF091D2 |
:1077E000850B46AD57AD8CE061E00E94BA38E09160 |
:1077F000840BF091850B23A934A9C901845D9E4FA8 |
:107800008955924008F4ACC3C9016EE170E00E9452 |
:10781000E359AB0180E061E024E030E00E94482BB6 |
:1078200084E061E04DE620E00E941424E091840BA6 |
:10783000F091850B05A916A987E367E049E02DE0E3 |
:107840000E94C939E091840BF091850B86A597A51C |
:1078500088599E4F26AD37AD821B930B68E671E0C9 |
:107860000E94E359182FF92E86E163E24FE095015B |
:1078700000E00E944F2F86E163E24FE0212F3F2D71 |
:1078800001E00E944F2F87E063E0412F5F2D23E04E |
:1078900030E000E00E94C92B8AE063E04EE120E086 |
:1078A0000E941424E091840BF091850B84A595A58A |
:1078B0006AE070E00E94CF59AB0187E062E023E00C |
:1078C00030E00E94C92B8AE062E04DE620E00E9491 |
:1078D00014248AE064E049E95CE020E00E942C2561 |
:1078E000E091840BF091850B42A988E064E050E0C0 |
:1078F00022E030E00E94C92BE091840BF091850BCF |
:10790000EC5BFF4F808186FF41C383E164E04DE47F |
:1079100020E00E941424E091840BF091850BEC5B35 |
:10792000FF4F808182FD54C381FF37C38AE065E049 |
:1079300041E85CE020E00E94ED24E091840BF091AE |
:10794000850B47A950AD87E066E00E94CB2CE09103 |
:10795000840BF091850BEE5BFF4F40818FE066E07A |
:1079600050E023E030E000E00E94C92B82E166E0B5 |
:107970004FE120E00E941424E091840BF091850BEC |
:10798000EC5BFF4F808184FFF9C283E166E042E750 |
:107990005CE020E00E94ED24E091840BF091850BE7 |
:1079A00041AD80E067E050E023E030E000E00E947D |
:1079B0008A2A84E067E046E520E00E941424E091F2 |
:1079C000840BF091850B21AD80911606281708F4E1 |
:1079D000479890E0019630E0821793070CF0479AA1 |
:1079E000E25BFF4F4081518187E067E023E030E0B8 |
:1079F00000E00E948A2A8BE067E041E420E00E94D8 |
:107A00001424E091840BF091850BE05BFF4F4081E3 |
:107A100051818EE067E024E030E00E94C92B82E1D2 |
:107A200067E04BE65CE020E00E94ED24E091840BEF |
:107A3000F091850BED5BFF4F8081E354F04080FFB8 |
:107A40005DC023A934A98091200190912101821762 |
:107A5000930724F4309321012093200122AD33AD0C |
:107A600080912201909123018217930720F4309393 |
:107A700023012093220124A535A580912401909112 |
:107A800025018217930720F43093250120932401C8 |
:107A900091AD80910001981710F49093000127A9EF |
:107AA00030AD80912601909127018217930720F431 |
:107AB0003093270120932601E25BFF4F2081318123 |
:107AC000EE54F0408091280190912901821793078C |
:107AD00020F43093290120932801E05BFF4F20819F |
:107AE0003181E055F04080912A0190912B0182175D |
:107AF000930720F430932B0120932A01EE5BFF4F74 |
:107B00008081E254F0408093020181AD80930101B5 |
:107B100010928201212F3F2DC9015C0180918E0BB3 |
:107B200090918F0B892B09F0F6C18AE089838DB77C |
:107B30009EB707970FB6F8949EBF0FBE8DBFEDB7E7 |
:107B4000FEB731968FE6ADB7BEB711968C9382E043 |
:107B5000818381E082839482838281E090E09683B6 |
:107B600085830E9492548CE291E090938F0B8093D6 |
:107B70008E0B11E0EDB7FEB737960FB6F894FEBF47 |
:107B80000FBEEDBF80E40E94E550882309F424CDA8 |
:107B900019822DB73EB7275030400FB6F8943EBF3C |
:107BA0000FBE2DBFEDB7FEB731968FE6ADB7BEB7AE |
:107BB00011968C9382E0818381E082839482838218 |
:107BC00081E090E0968385830E94925410921B017D |
:107BD0001092820180918C0B90918D0BEDB7FEB7C6 |
:107BE00037960FB6F894FEBF0FBEEDBF892B09F094 |
:107BF000CDC0112309F0F7C181E080932F01B9E2D4 |
:107C0000AB2EBBE0BB2E10E0D501CD90DD90ED900A |
:107C1000FC901F5FC701B60120E836E948E950E053 |
:107C20000E94F65980E0612FA90123E030E000E0D6 |
:107C30000E94C92B83E0612F40E65CE020E00E94B7 |
:107C40002C25C701B60128EE33E040E050E00E9449 |
:107C5000F659CA01B90120E137E240E050E00E9444 |
:107C6000F6599B01AC0184E0612FA90124E030E0CA |
:107C700001E00E94C92BC701B6012AE030E040E0D4 |
:107C800050E00E94F659CA01B90124E630E040E014 |
:107C900050E00E94F6599B01AC0188E0612FA901D8 |
:107CA00022E030E00E94C92BF501C480D580E68037 |
:107CB000F780C701B60120E836E948E950E00E94A4 |
:107CC000F6598AE0612FA90123E030E000E00E942C |
:107CD000C92B8DE0612F4EE55CE020E00E942C2551 |
:107CE000C701B60128EE33E040E050E00E94F659AB |
:107CF000CA01B90120E137E240E050E00E94F659A4 |
:107D00009B01AC018EE0612FA90124E030E001E08D |
:107D10000E94C92BC701B6012AE030E040E050E0E4 |
:107D20000E94F659CA01B90124E630E040E050E073 |
:107D30000E94F6599B01AC0182E1612FA90122E06A |
:107D400030E00E94C92B2DE030E0A20EB31E1730A8 |
:107D500009F05ACF80E060E04FE45CE020E00E9450 |
:107D60002C2584E690E090938D0B80938C0B809172 |
:107D70008C0B90918D0B892BD1F780E20E94E550FE |
:107D8000882309F02DC1862D0E944F3A2E960FB6FA |
:107D9000F894DEBF0FBECDBFCF91DF911F910F9141 |
:107DA000FF90EF90DF90CF90BF90AF909F908F901B |
:107DB0007F906F905F904F903F902F90089580E05C |
:107DC00060E048E65CE020E00E94ED2480E061E0B5 |
:107DD00045E65CE020E00E94ED24E091840BF09108 |
:107DE000850BE05CFF4F4081552747FD509582E0B1 |
:107DF00060E023E030E000E00E94482BE091840B3B |
:107E0000F091850BEF5BFF4F4081552747FD509563 |
:107E100082E061E023E030E00E94482B80E060E2F5 |
:107E200040E820E201E00E94DB2580E460E040E4DD |
:107E300020E40E94DB25E091840BF091850BE05C4F |
:107E4000FF4FF080E054F040F7FCC0C0F59420E212 |
:107E5000F20EEF5BFF4F10E48081E154F040181BFD |
:107E600086A597A588599E4F26AD37AD821B930BEB |
:107E700068E671E00E94E359E82ED92E82E062E0C4 |
:107E80004E2D592F25E030E000E00E94482B80E085 |
:107E900062E042E65CE020E00E94ED248C2D90E060 |
:107EA000672D70E04AE050E020E00E94CA2E8C2D41 |
:107EB000672D49E095010E944F2F812F90E06F2D93 |
:107EC00070E04AE050E021E00E94CA2E812F6F2D21 |
:107ED00049E02E2D3D2D01E00E944F2FE091840BB3 |
:107EE000F091850BEE5BFF4F8081E254F040809370 |
:107EF000020181AD80930101109282012E2D3D2D52 |
:107F0000C9015C017F2CC12E80918E0B90918F0B4B |
:107F1000892B09F40ACE11E059CB80E063E043EAF3 |
:107F20005CE020E00E942C2584E690E090938D0B8D |
:107F300080938C0B80918C0B90918D0B892BD1F7BA |
:107F400025CF0E94372380912F01813009F0DDCAAF |
:107F500080E060E042EB5CE020E00E942C25D5CA86 |
:107F6000C90163E070E00E94E359AB0180E061E089 |
:107F700023E030E000E00E94CC2952CC83E166E0AF |
:107F80004FE65CE020E00E94ED2406CD83E164E052 |
:107F900048E520E00E941424BECC8AE065E045E775 |
:107FA0005CE020E00E94ED24C8CC0E94372332CB55 |
:107FB00080E80E94E5508823C9F480E20E94E550E1 |
:107FC000882309F4ABCB0E94E837A8CBF3943ECFCB |
:107FD0008AE065E04DE85CE020E00E94ED24ADCC55 |
:107FE0000E94E837D0CE0E94372306CE0E94EA389E |
:107FF000E4CF6F927F928F929F92AF92BF92CF9277 |
:10800000DF92EF92FF920F931F93DF93CF930F9224 |
:10801000CDB7DEB7898383E580931B01109282017F |
:1080200080918201882309F073C012E34E01089405 |
:10803000811C911C33E7632E7724739402E021E0C6 |
:10804000A22EB12C94E7C92ED12C84E1E82EF12C7C |
:108050008DB79EB70B970FB6F8949EBF0FBE8DBF1E |
:10806000EDB7FEB73196ADB7BEB711966C9271827F |
:10807000028394828382B682A5828091230B9091A1 |
:10808000240B90878783D286C1860E949254F092F7 |
:108090008D0BE0928C0B8DB79EB70B960FB6F894B4 |
:1080A0009EBF0FBE8DBF80918C0B90918D0B892B45 |
:1080B000D1F7115080918201882341F5112341F6B7 |
:1080C00080E062E04EE858E220E00E942C2584E641 |
:1080D00090E090938D0B80938C0B80918C0B909102 |
:1080E0008D0B892BD1F78FEF898389810F90CF91E9 |
:1080F000DF911F910F91FF90EF90DF90CF90BF9095 |
:10810000AF909F908F907F906F9008951123C1F250 |
:108110000E94BF53E0918401F091850180818983A1 |
:10812000E4CF9F92AF92BF92CF92DF92EF92FF92F5 |
:108130000F931F93DF93CF930F92CDB7DEB7898351 |
:1081400081E580931B011092820180918201882336 |
:1081500009F063C012E35E010894A11CB11C61E741 |
:10816000962E01E051E0C52ED12C44E1E42EF12CF5 |
:108170008DB79EB707970FB6F8949EBF0FBE8DBF01 |
:10818000EDB7FEB73196ADB7BEB711969C9201839D |
:108190000283B482A382D682C5820E949254F09256 |
:1081A0008D0BE0928C0B8DB79EB707960FB6F894A7 |
:1081B0009EBF0FBE8DBF80918C0B90918D0B892B34 |
:1081C000D1F7115080918201882329F5112381F67E |
:1081D00080E062E04DE958E220E00E942C2584E630 |
:1081E00090E090938D0B80938C0B80918C0B9091F1 |
:1081F0008D0B892BD1F78FEF898389810F90CF91D8 |
:10820000DF911F910F91FF90EF90DF90CF90BF9083 |
:10821000AF909F9008951123D9F20E94BF53E0912F |
:108220008401F091850181918983F093240BE0937F |
:10823000230BE3CF0F931F930E94372380E060E06E |
:108240004EEC58E220E00E942C2580E067E049EBEC |
:1082500058E220E00E94ED2411E0812F0E9491401D |
:10826000482F8F3F59F183E0612F50E021E030E04B |
:1082700000E00E94C92B4091230B5091240B4959D7 |
:108280005F4F85E0612F20E00E9466251F5F16305A |
:1082900021F783E066E04CEA58E220E00E942C25BA |
:1082A0008FEF0E949140282F8F3F41F081E066E0E0 |
:1082B00041E00E9454321F910F9108958FEF1F915A |
:1082C0000F9108950F931F93CF93DF9300E0CDE2BA |
:1082D000D0E01FE00E94372380E060E045EF58E2E5 |
:1082E00020E00E942C2580E067E040EE58E220E08C |
:1082F0000E94ED241092860B80913001882309F0B2 |
:108300006DC01092860B60E009C06091860B6530ED |
:1083100061F16F5F6093860B6630D0F5E62FF0E079 |
:10832000809130019F01280F311D2D3031056CF7F0 |
:1083300020913001809115066F5FE20FF11DEC9FD7 |
:10834000A001ED9F500DFC9F500D1124819FC00195 |
:108350001124480F591F4253534F83E020E00E94DD |
:108360002C256091860B6530A1F68091300190E05C |
:1083700007977CF681E066E04CED58E220E00E9431 |
:108380002C256091860B6F5F6093860B663030F210 |
:1083900080913101882371F480913001882309F0A4 |
:1083A00040C04091030181E065E020E001E00E94CF |
:1083B0000F32082F80913101813021F10E3FB1F051 |
:1083C0000D3F09F042C0809130018150809330010F |
:1083D0001092310182E0809303017CCF81E061E063 |
:1083E0004EED58E220E00E942C258BCF8091300189 |
:1083F0008F5F8093300181E08093310185E080932D |
:10840000030168CF8091300190E00797A4F040917C |
:10841000030182E066E021E000E00E940F32082FB5 |
:10842000CDCF4091030182E065E021E001E00E94B0 |
:108430000F32082FBFCF4091030182E065E021E0B9 |
:1084400001E00E940F32082FB9CF0F3F29F00093AF |
:10845000030180913001080F802FDF91CF911F9190 |
:108460000F9108954F925F927F928F929F92AF9259 |
:10847000BF92CF92DF92EF92FF920F931F93DF9301 |
:10848000CF93CDB7DEB764970FB6F894DEBF0FBEBB |
:10849000CDBF682F70E06150704026EB34E2992424 |
:1084A00040E0DE01119605C04F5F285F3F4F4B371C |
:1084B00081F0F901849190E086179707A9F7FD01F3 |
:1084C000E90DF11D408393944F5F285F3F4F4B3779 |
:1084D00081F74093860B10E0E92CFF246E0108948D |
:1084E000C11CD11C2DE2822E9FE0792E412C81E00F |
:1084F000582E57010894A108B1080E94372380E044 |
:1085000060E047E459E220E00E942C2580E067E02B |
:1085100042E359E220E00E94ED241092860B809104 |
:108520003201882309F0DBC11092860B60E00BC09A |
:108530006091860B653009F47DC06F5F6093860B98 |
:10854000663008F08EC0E62FF0E0809132019F0186 |
:10855000280F311D2E153F055CF7209132018091C7 |
:1085600015066F5FEC0DFD1DE20FF11D4081489D6A |
:10857000A0011124879DC0011124480F591F495E95 |
:10858000504F83E020E00E942C256091860B262F1F |
:1085900030E080913201D601A20FB31FFD01E80F38 |
:1085A000F11DE081F0E0EE0FFF1FEE0FFF1FEE0F59 |
:1085B000FF1FE954FB4D8491882309F4ACC081303E |
:1085C00009F47BC0823009F0C9C080913201FD01FD |
:1085D000E80FF11DE081F0E0EE0FFF1FEE0FFF1F2F |
:1085E000EE0FFF1FE654FB4D949180913201A80FCE |
:1085F000B11DEC91F0E0EE0FFF1FEE0FFF1FEE0F2D |
:10860000FF1FE754FB4DE491A091230BB091240B85 |
:10861000A90FB11D8C91E82309F457C16F5F82E166 |
:1086200049E259E220E00E942C256091860B6530DA |
:1086300009F083CF8091320190E005968A159B0561 |
:108640000CF07BCF81E066E045E059E220E00E943B |
:108650002C256091860B6F5F6093860B663008F463 |
:1086600072CF80913301882391F480913201882365 |
:1086700009F086C1F6E0F91508F078C140910401CF |
:1086800081E065E020E001E00E940F32182F809128 |
:108690003301813009F437C11E3F09F428C11D3F61 |
:1086A00009F0B4C18091320181508093320110925F |
:1086B000330182E08093040120CF80913201A80F22 |
:1086C000B11DEC91F0E0EE0FFF1FEE0FFF1FEE0F5C |
:1086D000FF1FE654FB4DE491A091230BB091240BB6 |
:1086E000AE0FB11D0C91083FA8F16F5F82E14DE222 |
:1086F00059E220E00E942C256091860B6F5FA20159 |
:10870000401B510984E121E030E000E00E94C92BC8 |
:108710006091860B0FCF80913201A80FB11DEC91B3 |
:10872000F0E0EE0FFF1FEE0FFF1FEE0FFF1FE654EE |
:10873000FB4DE4916F5FA091230BB091240BAE0F22 |
:10874000B11D4C9182E150E023E030E000E00E9456 |
:10875000C92BEECE6F5F82E1402FF5CF833059F504 |
:1087600080913201F601E80FF11DE20FF31FE08165 |
:10877000F0E0EE0FFF1FEE0FFF1FEE0FFF1FE6549E |
:10878000FB4DE491A091230BB091240BAE0FB11DD2 |
:108790000C910D30F8F2093108F4D1C0093109F01B |
:1087A000C9CE6F5F82E14FE159E220E00E94ED24E3 |
:1087B0006091860BBFCE843009F446C0853009F441 |
:1087C0005EC0863009F0B6CE2091230B3091240B89 |
:1087D00080913201FD01E80FF11DE081F0E0EE0F24 |
:1087E000FF1FEE0FFF1FEE0FFF1FE654FB4DE4913E |
:1087F000C9018E0F911DFC01E081EE2309F495C0A3 |
:10880000E13009F4D1C0E23009F4E2C0E33009F408 |
:10881000E9C0E43009F4F0C0E53009F4CFC080913C |
:108820003201A80FB11DEC91F0E0EE0FFF1FEE0F2B |
:10883000FF1FEE0FFF1FE654FB4DE4916F5F2E0FFD |
:10884000311DF90140817ECF80913201F601E80FA0 |
:10885000F11DE20FF31FE081F0E0EE0FFF1FEE0FBE |
:10886000FF1FEE0FFF1FE654FB4DE4916F5FA091D9 |
:10887000230BB091240BAE0FB11D4C9163CF8091AF |
:108880003201F601E80FF11DE20FF31FE081F0E085 |
:10889000EE0FFF1FEE0FFF1FEE0FFF1FE654FB4D05 |
:1088A000E4916F5FA091230BB091240BAE0FB11D2B |
:1088B0004C91479DA001112482E123E030E000E0CB |
:1088C0000E94C92B6091860B35CE6F5F82E145E235 |
:1088D00059E220E00E942C256091860B2BCE81E08E |
:1088E00061E040E359E220E00E942C251DCE8091FA |
:1088F00032018F5F8093320181E08093330185E004 |
:1089000080930401FACD8091320190E006968E1595 |
:108910009F050CF43FC04091040182E066E021E035 |
:1089200000E00E940F32182FB7CE6F5F82E14BE15B |
:1089300059E220E00E942C256091860BFBCD6F5FF1 |
:1089400082E143E259E220E00E94ED246091860B2F |
:108950006F5F402F50E04C50504083E122E030E008 |
:1089600000E00E94C92B6091860BE4CD4091040188 |
:1089700081E0692D20E000E00E940F32182F87CEA1 |
:108980004091040182E065E021E001E00E940F32A5 |
:10899000182F7DCE4091040182E065E021E001E0E6 |
:1089A0000E940F32182F78CE6F5F82E147E159E2C3 |
:1089B00020E00E942C256091860BBCCD6F5F82E188 |
:1089C00047E059E220E00E942C256091860BB2CD51 |
:1089D0006F5F82E143E159E220E00E942C25609123 |
:1089E000860BA8CD6F5F82E14FE059E220E00E9444 |
:1089F0002C256091860B9ECD6F5F82E14BE059E2A2 |
:108A000020E00E942C256091860B94CD1F3F59F0E9 |
:108A100010930401E0913201F0E03197E10FF11D74 |
:108A2000EC0FFD1F1181812F64960FB6F894DEBF05 |
:108A30000FBECDBFCF91DF911F910F91FF90EF90AF |
:108A4000DF90CF90BF90AF909F908F907F905F907E |
:108A50004F900895FF920F931F930E94372380E059 |
:108A600060E048E25BE220E00E942C2583E062E0C7 |
:108A70004AE15BE220E00E942C2583E063E04CE0C9 |
:108A80005BE220E00E942C2580E067E047EF5AE29D |
:108A900020E00E94ED2413E035E0F32E81E162E056 |
:108AA000412F50E021E030E000E00E94C92B81E13D |
:108AB00063E04F2D50E021E030E00E94C92B80E1BF |
:108AC0000E94E550882319F01F5F163081F180E283 |
:108AD0000E94E550882321F0F39486E0F81649F1CE |
:108AE00080E80E94E5508823C1F080E065E042EE16 |
:108AF0005AE220E00E942C2580E80E94E55088235D |
:108B0000D9F480E40E94F9508823B1F380E065E055 |
:108B10004DE85AE220E00E942C2580E40E94F950A2 |
:108B2000882309F4BBCF1F910F91FF90089511E0A6 |
:108B3000CECFFF24F394D4CF812F0E9491401817F9 |
:108B4000B9F080E065E042EA5AE220E00E942C257C |
:108B500084E690E090938D0B80938C0B80918C0B2E |
:108B600090918D0B892BD1F71F910F91FF90089554 |
:108B70008F2D0E94F93FF81641F080E065E047EB49 |
:108B80005AE220E00E942C25E3CF80E065E04CEC27 |
:108B90005AE220E00E942C25DBCF2F923F924F9289 |
:108BA0005F927F928F929F92AF92BF92CF92DF920D |
:108BB000EF92FF920F931F93CF93DF93182F0E9492 |
:108BC0003723012F10E0E801CC0FDD1FCC0FDD1F94 |
:108BD000CC0FDD1FFE01E954FB4DF49080E060E016 |
:108BE0004FE75AE220E00E942C2526E0F21609F415 |
:108BF000D9C0209115068DE290E0089FA001099F41 |
:108C0000500D189F500D11248FE0289F90011124C2 |
:108C1000420F531F495E504F80E062E020E00E9407 |
:108C20002C2532E0F31609F44EC1FF2009F0D0C123 |
:108C300080E067E045E45AE220E00E94ED24000F66 |
:108C4000111F000F111F000F111F9AEB892E94E2C4 |
:108C5000992E800E911EF4018491E091230BF091E6 |
:108C6000240BE80FF11D708008541B4DF80114917E |
:108C7000FE01E754FB4DF490C554DB4DFE01E4903A |
:108C800084E064E043E35AE220E00E94ED2485E0C2 |
:108C900064E0412F50E023E030E000E00E94C92B67 |
:108CA00089E064E04F2D50E023E030E00E94C92BC2 |
:108CB00081E164E04E2D50E023E030E00E94C92BBA |
:108CC000CF2CDD24F72CA12EBB2422C0CC15DD0532 |
:108CD0000CF4F39480E10E94E550882309F445C028 |
:108CE0008F2D90E0A816B9060CF44BC080E80E94C6 |
:108CF000E550882309F0B9C480E40E940A51882312 |
:108D000009F06DC080E40E94F950882309F055C035 |
:108D100080E064E04F2D50E023E030E000E00E946E |
:108D2000C92BCF2DD0E0CE019695982F8827979507 |
:108D30008795B6010E94E359462F80E068E226E05D |
:108D400001E00E94A12680E20E94E550882309F0FC |
:108D5000BDCF80E20E94EF50882309F0B7CF80E1B9 |
:108D60000E94E550882309F0BBCF80E10E94EF50BC |
:108D7000882309F4BBCF8F2D90E0A816B9060CF01C |
:108D8000B5CF9695982F882797958795B6010E941D |
:108D9000E359462F80E068E226E000E00E94A12629 |
:108DA000FA94A4CFF4E0FF1609F406C3F6E0FF1628 |
:108DB00009F493C3F5E0FF1629F1DF91CF911F91DC |
:108DC0000F91FF90EF90DF90CF90BF90AF909F906A |
:108DD0008F907F905F904F903F902F9008958F2DB0 |
:108DE00090E09695982F882797958795B6010E94D1 |
:108DF000E359462F80E068E226E000E00E94A126C9 |
:108E0000FE2C80CF80E067E049E559E220E00E9437 |
:108E1000ED246801CC0CDD1CCC0CDD1CCC0CDD1C65 |
:108E20002AEB34E2C20ED31EF6018491E091230BAB |
:108E3000F091240BE80FF11DE080C554DB4DFE01DD |
:108E4000A49086E690E063E270E040E150E021E02B |
:108E50000E94CA2EFE2C4FE0B42EFB9CE001112490 |
:108E600086E663E24FE09E0101E00E944F2F80E220 |
:108E70000E94E550882309F0A2C01F2D80E10E94C6 |
:108E8000E550882321F0112309F0A0C017E180E804 |
:108E90000E94E550882309F0FBC380E40E940A5138 |
:108EA00081111A2D80E40E94F950882309F085CFA2 |
:108EB0001F1539F086E663E24FE09E0100E00E9454 |
:108EC0004F2FF12ECACF80E067E04AE65AE220E059 |
:108ED0000E94ED2483E064E048E65AE220E00E942C |
:108EE0002C2583E065E046E65AE220E00E942C252E |
:108EF0006E018AEB94E2C80ED91EF6018491E091CE |
:108F0000230BF091240BE80FF11DB080FE01E55416 |
:108F1000FB4DF490C754DB4DFE011491F1E0FF16B8 |
:108F200009F4F8C3FF2039F484E065E042E65AE230 |
:108F300020E00E942C250B2DE12EE0942EC081E034 |
:108F400064E040E65AE220E00E942C2581E065E0E2 |
:108F50004EE55AE220E00E942C2580E10E94E55077 |
:108F60008111012780E20E94E5508111012780E8EC |
:108F70000E94E550882309F0A7C380E40E940A51AB |
:108F8000882329F0F1E0FF1609F459C30E2180E48B |
:108F90000E94F950882309F010CF802F812379F6A1 |
:108FA00081E064E04CE55AE220E00E942C2581E05B |
:108FB00065E04AE55AE220E00E942C25CECF1F2D25 |
:108FC0001F5F183109F05ACF10E058CF11505FCF12 |
:108FD000F1E0FF1609F0ECC080E067E04EE15AE2F4 |
:108FE00020E00E94ED24000F111F000F111F000F41 |
:108FF000111F7AEB272E74E2372E200E311EF1015D |
:109000008491E091230BF091240BE80FF11D508027 |
:1090100008541B4DF8017490FE01E754FB4DE49099 |
:10902000C554DB4DFE01B49084E064E04CE05AE2AC |
:1090300020E00E94ED2485E064E0472D50E023E02D |
:1090400030E000E00E94C92B89E064E04E2D50E042 |
:1090500023E030E00E94C92BF7EFFB1508F0FBC2BC |
:1090600040E051E04B19510983E164E021E030E038 |
:109070000E94C92BFF2427EF251510F4FF24F39439 |
:10908000152DAA24AA94CE2CDD24872C992480E8BF |
:109090000E940A51882309F452C0FF2009F4B8C283 |
:1090A0003FEFA31609F4D1C24A2D1A2D80E064E0E7 |
:1090B00050E023E030E000E00E94C92BC12FD0E057 |
:1090C000CE019695982F882797958795B6010E948F |
:1090D000E359462F80E068E226E001E00E94A126E5 |
:1090E00080E20E94E550882309F4A0C2CC15DD057A |
:1090F0000CF41F5F80E10E94E550882309F481C2CF |
:10910000812F90E0881699060CF440C0FF2480E877 |
:109110000E94F950882309F0D1C280E40E940A51CC |
:10912000882309F01EC180E40E94F950882309F0C9 |
:1091300044CE80E80E940A51882309F0AECFFF2078 |
:1091400009F47BC2C0E0D1E0C11BD10980E064E03A |
:1091500049E05AE220E00E94ED2482E064E0AE01A2 |
:1091600021E030E000E00E94C92B80E20E94E5503F |
:10917000882319F0193F08F0115080E10E94E55052 |
:10918000882329F21F3F19F21F5FC1CF9695982FB0 |
:10919000882797958795B6010E94E359462F80E06E |
:1091A00068E226E000E00E94A1261150FF24AFCF24 |
:1091B00023E0F21609F0F6CD80E067E044EF59E2D3 |
:1091C00020E00E94ED24000F111F000F111F000F5F |
:1091D000111F9AEB492E94E2592E400E511EF201B6 |
:1091E0008491E091230BF091240BE80FF11D308066 |
:1091F00008541B4DF8011491FE01E754FB4DE49017 |
:10920000C554DB4DFE01749084E064E042EE59E207 |
:1092100020E00E94ED2481E164E0472D50E023E04E |
:1092200030E000E00E94C92BCE2CDD2404EFA02EFC |
:109230000FEFB02EAC0CBD1CF32C812E99243DC039 |
:10924000CC15DD050CF4A6C0FE1409F448C0CE010F |
:109250009695982F882797958795B6010E94E35990 |
:10926000462F80E068E226E001E00E94A12680E22D |
:109270000E94E5508823D9F1CC15DD050CF4F39458 |
:1092800080E10E94E5508823E9F18F2D90E0881657 |
:1092900099060CF442C080E80E94E550882309F04A |
:1092A00007C280E40E940A51882309F047C080E485 |
:1092B0000E94F950882309F080CDCF2DD0E0CA1547 |
:1092C000DB050CF0BDCF80E064E04F2D50E023E0E3 |
:1092D00030E000E00E94C92BFE1409F0B8CF80E016 |
:1092E00064E04CED59E220E00E94ED24B0CF80E232 |
:1092F0000E94EF50882309F0BFCF80E10E94E55023 |
:10930000882319F680E10E94EF50882321F28F2DE7 |
:1093100090E0881699060CF0BECF9695982F882776 |
:1093200097958795B6010E94E359462F80E068E241 |
:1093300026E000E00E94A126FA94ADCF8F2D90E0A8 |
:109340009695982F882797958795B6010E94E3599F |
:10935000462F80E068E226E000E00E94A126F72C7C |
:10936000A6CF812F90E09695982F8827979587957F |
:109370006E2D70E00E94E359462F80E068E226E0FF |
:1093800000E00E94A126F7EFFB1508F45AC11B2D3F |
:10939000FF24C9CE80E064E040EE59E220E00E9464 |
:1093A000ED24AE014C50504081E064E022E030E01A |
:1093B00000E00E94C92B48CF80E067E047EC59E20B |
:1093C00020E00E94ED245801AA0CBB1CAA0CBB1C77 |
:1093D000AA0CBB1C2AEB34E2A20EB31EF501849149 |
:1093E000E091230BF091240BE80FF11D7080C55420 |
:1093F000DB4DFE01E490C72CFF24E8E0DE2EC7E041 |
:10940000D0E071E0872E912C1092860B0C2D10E08D |
:1094100020E00FC08D2D821B64E045EC59E220E076 |
:109420000E94ED242091860B2F5F2093860B28301D |
:10943000C0F4C801022E02C0959587950A94E2F700 |
:1094400080FDE8CF8D2D821B64E043EC59E220E0E3 |
:109450000E94ED242091860B2F5F2093860B2830ED |
:1094600040F31F2D1F5F812F65E041EC59E220E0A2 |
:109470000E94ED2480E10E94E550882319F51F2DFC |
:1094800080E20E94E550882351F0CE01811B9109B2 |
:10949000940102C0220F331F8A95E2F7C22680E8AA |
:1094A0000E94E550882309F025C180E40E940A51FA |
:1094B0008111CE2C80E40E94F950882309F07DCCE4 |
:1094C000F12EA2CF812F65E04FEB59E220E00E9400 |
:1094D000ED241830A9F610E0D3CF80E067E04AEA27 |
:1094E00059E220E00E94ED246801CC0CDD1CCC0C7C |
:1094F000DD1CCC0CDD1C2AEB34E2C20ED31EF601BF |
:109500008491E091230BF091240BE80FF11DE08092 |
:10951000C554DB4DFE01F49083E061E046EA59E278 |
:1095200020E00E94ED2483E062E04DE959E220E072 |
:109530000E94ED2483E063E04EE859E220E00E94BF |
:10954000ED2483E064E04FE759E220E00E94ED243F |
:1095500083E065E04AE759E220E00E94ED2483E0E1 |
:1095600066E042E759E220E00E94ED240E2D1092C1 |
:10957000860B60E0102F1F5F0EC06F5F81E04EE62C |
:1095800059E220E00E94ED246091860B6F5F6093AA |
:10959000860B663080F4061781F781E0612F40E783 |
:1095A00059E220E00E94ED246091860B6F5F60938A |
:1095B000860B663080F380E20E94E550882319F024 |
:1095C0000F5F0630E1F080E10E94E550882319F03A |
:1095D000002399F405E080E80E94E550882309F013 |
:1095E00083C080E40E940A5181110F2D80E40E9403 |
:1095F000F950882309F4BBCFE0CB0150ECCF00E059 |
:10960000E2CF80E10E94EF50882309F47FCD78CD2E |
:1096100080E068E240E826E000E00E94A126A12E5A |
:109620001FEFFF24F394C1E0D0E090CD80E20E94D0 |
:10963000EF50882309F45ECD59CD412F37CD012B52 |
:10964000A6CC1B2DFF24F3946ECD87EF8B15E8F489 |
:10965000172D472D2BCD81E164E04B2D50E023E009 |
:1096600030E000E00E94C92B05CDF71409F4A5CB2A |
:10967000F4018491E091230BF091240BE80FF11D8C |
:10968000F08281E08093340198CB4B2D1B2D0ECDC1 |
:109690001E1509F492CBF6018491E091230BF09111 |
:1096A000240BE80FF11D108381E08093340185CBFA |
:1096B000F31409F482CBF2018491DCCF151509F47F |
:1096C0007CCBF1018491E9CF0B1509F476CBF6013F |
:1096D0008491E091230BF091240BE80FF11D00839E |
:1096E00081E08093340169CB0E1509F466CBF60155 |
:1096F0008491EFCFC71409F460CBF5018491E09118 |
:10970000230BF091240BE80FF11DC08281E08093C0 |
:10971000340153CB84E064E044E65AE220E00E9446 |
:109720002C2509CCFF920F931F930E946A560E942A |
:109730001A41182F863021F18F3F21F10E9491406C |
:109740008F3F01F1109230011092310181E080933E |
:10975000030110923401FF24F3940E946241082F08 |
:109760008F3FA1F01092320110923301F092040168 |
:10977000802F0E9432428F3F81F30E94CD45F8CF67 |
:109780000E942A451F910F91FF9008958091340106 |
:109790008130C1F70E94372380E060E04CE65BE255 |
:1097A00020E00E942C258DE060E0412F50E021E078 |
:1097B00030E000E00E94C92B83E061E048E65BE214 |
:1097C00020E00E942C2583E062E045E65BE220E099 |
:1097D0000E942C2580E067E040E55BE220E00E94EB |
:1097E000ED2481E062E042E020E00E940F3281300F |
:1097F00049F6812F0E94F93F1817A1F080E064E03C |
:1098000046E35BE220E00E942C2584E690E0909302 |
:109810008D0B80938C0B80918C0B90918D0B892BF1 |
:10982000D1F7B0CF80E064E046E45BE220E00E9444 |
:109830002C2580E065E04CE35BE220E00E942C25D3 |
:10984000E4CF0F931F93CF93DF93082FE9010E947A |
:10985000372380E062E0AE0120E00E94ED24002387 |
:1098600009F055C08EE062E041EA5CE220E00E942F |
:10987000ED2480E067E045E85CE220E00E94ED2412 |
:1098800012E00EC00023C1F080E10E94E550882361 |
:1098900011F1043039F180E40E94E550882389F504 |
:1098A00080E20E94E550882369F780E20E94EF5031 |
:1098B000882351F3002341F7109335018EE062E0D5 |
:1098C0004DE75CE220E00E94ED2404E080E10E948C |
:1098D000E5508823F1F680E10E94EF508823D9F209 |
:1098E0000430C9F6109335018EE062E045E75CE292 |
:1098F00020E00E94ED2400E080E40E94E5508823EF |
:1099000079F2802FDF91CF911F910F91089504304C |
:1099100009F0AFCF8EE062E049E95CE220E00E940E |
:10992000ED24A7CFEF92FF920F931F93CF93DF9376 |
:10993000082FE62EF42EE9010E94372380E062E032 |
:10994000AE0120E00E94ED24013009F491C0013005 |
:1099500008F461C0023039F48EE062E04DEE5CE262 |
:1099600020E00E94ED2480E067E049ED5CE220E029 |
:109970000E94ED2411E02EC00F1580F410933501E4 |
:109980000F5F013009F464C0013008F04CC08EE074 |
:1099900062E041ED5CE220E00E94ED2480E10E9463 |
:1099A000E550882331F1E01680F410933501015021 |
:1099B000013009F455C0013008F040C08EE062E08B |
:1099C00049EB5CE220E00E94ED2480E40E94E55037 |
:1099D0008823C9F480E20E94E550882369F680E27A |
:1099E0000E94EF50882341F680E10E94E5508823D1 |
:1099F000D1F680E10E94EF508823A9F680E40E940E |
:109A0000E550882339F3802FDF91CF911F910F917B |
:109A1000FF90EF9008958EE062E04CEF5CE220E072 |
:109A20000E94ED24A0CF023009F0B8CF8EE062E0B2 |
:109A300041EC5CE220E00E94ED24B0CF023029F638 |
:109A40008EE062E049EA5CE220E00E94ED24BDCFB6 |
:109A50008EE062E049EC5CE220E00E94ED249ECFC3 |
:109A60008EE062E041EB5CE220E00E94ED24ADCFAD |
:109A70008EE062E045EF5CE220E00E94ED2473CFCF |
:109A80000F931F93CF93DF93082FE9010E94372391 |
:109A900080E062E0AE0120E00E94ED24002309F0A6 |
:109AA00055C08FE062E04DE25DE220E00E94ED24CF |
:109AB00080E067E042E15DE220E00E94ED2411E0F9 |
:109AC0000EC00023C1F080E10E94E550882311F10F |
:109AD000013039F180E40E94E550882389F580E265 |
:109AE0000E94E550882369F780E20E94EF508823A6 |
:109AF00051F3002341F7109335018FE062E04BE012 |
:109B00005DE220E00E94ED2401E080E10E94E5504A |
:109B10008823F1F680E10E94EF508823D9F20130CA |
:109B2000C9F6009335018FE062E044E05DE220E099 |
:109B30000E94ED2400E080E40E94E550882379F241 |
:109B4000802FDF91CF911F910F910895013009F07F |
:109B5000AFCF8FE062E046E25DE220E00E94ED24BC |
:109B6000A7CFDF92EF92FF920F931F93F82ED62E7E |
:109B7000E42E89010E94372380E062E0A80120E002 |
:109B80000E94ED2480E162E04F2D50E023E030E0C0 |
:109B900000E00E94C92B80E067E044E35DE220E042 |
:109BA0000E94ED2411E00EC0FE14C0F080E10E947E |
:109BB000E550882321F1DF1448F180E40E94E5504C |
:109BC0008823A9F580E20E94E550882369F780E2A6 |
:109BD0000E94EF50882351F3FE1440F71093350193 |
:109BE000F39480E162E04F2D50E023E030E000E0AC |
:109BF0000E94C92B80E10E94E5508823E1F680E1B4 |
:109C00000E94EF508823C9F2DF14B8F61093350193 |
:109C1000FA9480E162E04F2D50E023E030E000E074 |
:109C20000E94C92B80E40E94E550882359F28F2DB1 |
:109C30001F910F91FF90EF90DF900895DF92EF92C8 |
:109C4000FF920F931F93F82ED62EE42E89010E94C7 |
:109C5000372380E062E0A80120E00E94ED2480E14B |
:109C600062E04F2D50E023E030E000E00E948A2ABD |
:109C700080E067E048E45DE220E00E94ED2411E02E |
:109C80000EC0FE14C0F080E10E94E550882321F14F |
:109C9000DF1448F180E40E94E5508823A9F580E2B2 |
:109CA0000E94E550882369F780E20E94EF508823E4 |
:109CB00051F3FE1440F710933501F39480E162E014 |
:109CC0004F2D50E023E030E000E00E948A2A80E13E |
:109CD0000E94E5508823E1F680E10E94EF5088233E |
:109CE000C9F2DF14B8F610933501FA9480E162E00E |
:109CF0004F2D50E023E030E000E00E948A2A80E40B |
:109D00000E94E550882359F28F2D1F910F91FF90EB |
:109D1000EF90DF9008959F92AF92BF92CF92DF9223 |
:109D2000EF92FF920F931F93CF93DF930E943723FD |
:109D30001092260B1092350181E08093880B82E00F |
:109D40008093870B80911B078093890BAA24992409 |
:109D5000BB24B394CC24DD240E94372380E060E050 |
:109D600046E65CE220E00E942C2580E067E040E5CA |
:109D70005CE220E00E94ED24AA2009F04FC0C60159 |
:109D8000880F991F8C0D9D1D8C01000F111F000F56 |
:109D9000111F080F191F0458144DC0E0D0E008C06F |
:109DA000C530B9F02196015F1F4FC630D105E1F0F3 |
:109DB0007E01EC0CFD1C87E0E816F1048CF7CE0167 |
:109DC0008F5F682F83E0A80120E00E942C25C5301A |
:109DD00049F796E0E916F1042CF781E066E04CE4DF |
:109DE0005CE220E00E942C25992001F1C114D104ED |
:109DF00089F182E066E04B2D21E000E00E940F3205 |
:109E0000182F1E3FF9F01D3F71F5AA94992482E0A6 |
:109E1000B82ECA2CDD24AA2009F4B1CF81E061E07C |
:109E20004EE45CE220E00E942C25A9CFAA2091F408 |
:109E300081E065E04B2D20E001E00E940F32182FF9 |
:109E40001E3F09F7A3949924939495E0B92ECA2C48 |
:109E5000DD2492CF82E065E04B2D21E001E00E94FD |
:109E60000F32182FCECF1F3F09F46CC0E601C10F8F |
:109E7000D11DC130D10509F45AC0C230D10509F451 |
:109E80004BC0C330D105E9F1C430D10571F1C53003 |
:109E9000D105F9F0C630D10581F0279711F0B12E28 |
:109EA0005BCF8091170660E041E025EE3BE20E9427 |
:109EB000404D80931706B12E4FCF8091140660E07D |
:109EC00049E724EF3BE20E94B14D80931406B12E86 |
:109ED00043CF8091180660E049E723E03CE20E940E |
:109EE000B14D80931806B12E37CF8091150660E0F2 |
:109EF00042E022E13CE20E94924C80931506B12E92 |
:109F00002BCF8091890B60E044E020E23CE20E948C |
:109F1000214C8093890BC1CF8091190660E04EEFF0 |
:109F20002EE23CE20E94B14D80931906B3CF80919E |
:109F3000160661E24AEA2DE33CE20E941E4E80933F |
:109F40001606A5CF80913501813071F0823089F0FD |
:109F5000DF91CF911F910F91FF90EF90DF90CF9005 |
:109F6000BF90AF909F9008950E94D21E80913501BE |
:109F7000EDCF8091890B80931B070E94D21EF8942D |
:109F80000E947A237894E4CF1F920F920FB60F921B |
:109F900011242F933F935F936F937F938F939F939E |
:109FA000AF93BF9320B13091360120952327909134 |
:109FB0003C019223909590933C0180913B01822338 |
:109FC000892780933B0192239823392730933601C8 |
:109FD000232F292380913701822B809337019923E6 |
:109FE00061F080918B0B882309F451C081E080934C |
:109FF0008B0B1092390110923801232F207FB9F575 |
:10A0000081E380933A0180918C0B90918D0B892B89 |
:10A0100049F080918C0B90918D0B019790938D0B53 |
:10A0200080938C0B80918E0B90918F0B892B49F034 |
:10A0300080918E0B90918F0B019790938F0B809353 |
:10A040008E0B80911906882321F080918B0B813033 |
:10A0500011F1BF91AF919F918F917F916F915F911E |
:10A060003F912F910F900FBE0F901F9018958091E8 |
:10A070003A01815080933A01882329F68AE080933F |
:10A080003A018091900B822B8093900BBCCF5E980D |
:10A0900042985F98ABCF8091380190913901019639 |
:10A0A00090933901809338012091190664E670E09D |
:10A0B0000E94CF5930E06217730759F65E9A5F9A93 |
:10A0C000429A10928B0BC5CF8AB180638AB9E0E8BF |
:10A0D000F0E08081826A8083E1E8F0E080818B613A |
:10A0E000808380910601909107019093870080936F |
:10A0F0008600209108013091090180910A01909118 |
:10A100000B01821B930B96958795820F931F90935B |
:10A1100089008093880020910C0130910D0180917D |
:10A120000E0190910F01821B930B96958795820FDC |
:10A13000931F90938B0080938A0008959C01220FB7 |
:10A14000331F220F331F220F331F820F931F6AE02A |
:10A1500070E00E94CF598091080190910901680F29 |
:10A16000791FCB01885391408554914020F470931E |
:10A17000890060938800089594E1899FC0011124AB |
:10A1800066E070E00E94E35980910C0190910D010E |
:10A19000680F791FCB01895C90408552924020F472 |
:10A1A00070938B0060938A00089510928D0B10922B |
:10A1B0008C0B82E084BD85E085BD83EC87BDEEE637 |
:10A1C000F0E080818260808308952FB7F8949091A9 |
:10A1D000370189239827909337012FBF08952FB710 |
:10A1E000F8949091900B892398279093900B2FBF10 |
:10A1F00008954FB7F8943FB7F894209137019091A4 |
:10A2000036019095892382232827209337013FBF69 |
:10A210004FBF08952FB7F8949091900B89239827FA |
:10A220009093900B2FBF2FB7F8949091370189230B |
:10A230009827909337012FBF0895209137013FB79A |
:10A24000F8949091900B8227892398279093900BF4 |
:10A250003FBF9FB7F89482232827209337019FBFE1 |
:10A2600008953FB7F8942091900B90913701909505 |
:10A270008927822328272093900B3FBF08951F92A0 |
:10A280000F920FB60F9211242F938F939F93EF93FA |
:10A29000FF939091C8002091CE00E0917F01EF5F85 |
:10A2A000EF7180918001E817A1F0892F8871E09308 |
:10A2B0007F01F0E0E35AFE4F208380938101FF91FC |
:10A2C000EF919F918F912F910F900FBE0F901F9044 |
:10A2D000189582E0F2CF1F920F920FB60F921124C1 |
:10A2E0008F939F93EF93FF9390917D0180917E01D7 |
:10A2F0009817A9F0E0917E01EF5FEF71E0937E0186 |
:10A30000F0E0E35CFE4F80818093CE00FF91EF91FF |
:10A310009F918F910F900FBE0F901F901895809175 |
:10A32000C9008F7D8093C900F1CF9C0110927D01FF |
:10A3300010927E0110927F011092800197FF04C05D |
:10A3400082E08093C8003F773093CD002093CC000B |
:10A3500088E98093C90086E08093CA0008959091AF |
:10A360007F01809180019817A1F0E0918001EF5F5B |
:10A37000EF71E0938001F0E0E35AFE4F30812091CD |
:10A380008101922F80E0AC01430F511D9A01C90158 |
:10A39000089520E031E0C9010895282F90917D01B2 |
:10A3A0009F5F9F7180917E019817E1F3E92FF0E0A4 |
:10A3B000E35CFE4F208390937D018091C900806211 |
:10A3C0008093C9000895CF93DF93EC01888188239F |
:10A3D00031F021960E94CD5188818823D1F7DF91F9 |
:10A3E000CF910895CF93DF93FC018491882349F0A6 |
:10A3F000EF0121960E94CD51FE0121968491882380 |
:10A40000C9F7DF91CF9108951F920F920FB60F9267 |
:10A4100011242F933F934F935F936F938F939F9349 |
:10A42000AF93BF93CF93DF93EF93FF9380911D0181 |
:10A430008530B9F18430A9F16091C6008091820124 |
:10A440008823E9F430918C01332309F05DC0633235 |
:10A4500009F49EC06D3009F468C0E32FF0E0EF56B8 |
:10A46000F44F60833F5F30938C0180918D01909118 |
:10A470008E01860F911D90938E0180938D01FF9127 |
:10A48000EF91DF91CF91BF91AF919F918F916F919C |
:10A490005F914F913F912F910F900FBE0F901F90A2 |
:10A4A00018954091C6002091CF013091D001809144 |
:10A4B000D1019091D201281B390B37FD1FC02F33DA |
:10A4C0003105ECF6E091CF01F091D001408380910D |
:10A4D000CF019091D00101969093D0018093CF014C |
:10A4E0008091CF019091D0018F5C914041F68FE82F |
:10A4F00091E09093D0018093CF01C1CF205C3F4F7A |
:10A500002F333105FCF2BBCF343B08F4A3CF80914D |
:10A51000890190918A01019690938A018093890123 |
:10A5200010928C0110928201AACFA32FB0E0FD01FE |
:10A53000E157F44F9081ED01C057D44F888140918D |
:10A540008D0150918E01491B5109481B51095F70C3 |
:10A5500050938E0140938D012081CA010024880F01 |
:10A56000991F001C880F991F001C892F902D835C58 |
:10A570002817D1F0809187019091880101969093DE |
:10A580008801809387011092820110928C0177CF0D |
:10A590006093910B81E080938C0183E290E0909333 |
:10A5A0008E0180938D016BCF9881842F8F73835C94 |
:10A5B000981701F7AF56B44F6C933F5F3093830108 |
:10A5C0009091930B80911B019817F9F681E080938D |
:10A5D00082018091930B8235C1F62CE088E190E0F6 |
:10A5E0000FB6F894A895809360000FBE209360008A |
:10A5F000CCCF2091CF013091D0018091D1019091A9 |
:10A60000D20128173907F9F0E091D101F091D20178 |
:10A61000E0818091D1019091D20101969093D20175 |
:10A620008093D1018091D1019091D2018F5C9140B2 |
:10A6300011F08E2F08958FE891E09093D2018093CE |
:10A64000D1018E2F0895E0E08E2F0895DC01209136 |
:10A65000CF013091D0018091D1019091D201281782 |
:10A66000390701F1E091D101F091D20180818C9301 |
:10A670008091D1019091D20101969093D201809363 |
:10A68000D1018091D1019091D2018F5C914011F064 |
:10A6900081E008958FE891E09093D2018093D101F9 |
:10A6A00081E0089580E008959093C5008093C400F0 |
:10A6B0008091C0008D7F8093C00086E08093C200AF |
:10A6C0008091C1008B7F8093C1008091C00087FF83 |
:10A6D00006C08091C6008091C00087FDFACF8091AE |
:10A6E000C10088618093C1008091C100806880931F |
:10A6F000C1008FE891E09093D2018093D1018091C5 |
:10A70000D1019091D2019093D0018093CF0108950F |
:10A71000E1ECF0E08081877F808323982B98089577 |
:10A72000239A2B98E1ECF0E0808188608083089583 |
:10A73000982F8091C00085FFFCCF9093C6000895AC |
:10A74000FC019081992351F08091C00085FFFCCFDE |
:10A750009093C600319690819923B1F70895FC013A |
:10A760008491882359F094918091C00085FFFCCF9B |
:10A770009093C600319684918823A9F7089520917B |
:10A780008301263009F485C0A4E9BBE08091940BD5 |
:10A790003091950B3D535091960B4091970B8D53F3 |
:10A7A000880F880F932F92959F70892B8093940B1D |
:10A7B000273009F472C0952F9D53642F6D53522F8B |
:10A7C000585027E044E03BC0F0E09295990F990F74 |
:10A7D000907C962BEF56F44F9083942F9E5F5130D0 |
:10A7E00009F445C0E22FF0E0EF56F44F80812F5F6F |
:10A7F000E22FF0E0EF56F44F30813D532F5FE22F10 |
:10A80000F0E0EF56F44F70812F5FE22FF0E023501D |
:10A81000EF56F44F6081E92FF0E0932F92959F70EF |
:10A820008D53880F880F892BEF56F44F80834D5F2F |
:10A83000523031F1972F9D536D532C5F5350E42FBD |
:10A84000F0E03295307F892F86958695382BEF562C |
:10A85000F44F3083E42FEF5F552309F0B5CFE35079 |
:10A86000B0938501A0938401E09386010895E42FBD |
:10A87000E150B0938501A0938401E093860108958F |
:10A88000E42FE350B0938501A0938401E093860107 |
:10A890000895E0E0A4E9BBE0E3CFE1E0E1CF8091FF |
:10A8A0001C01813009F008958091C00085FFFCCF24 |
:10A8B0008BE18093C6008091C00085FFFCCF8BE1C7 |
:10A8C0008093C6008091C00085FFFCCF85E5809312 |
:10A8D000C6008091C00085FFFCCF8AEA8093C60045 |
:10A8E0008091C00085FFFCCF1092C60081E080936C |
:10A8F0001D0124EF31E044EF51E0CA010197F1F767 |
:10A9000021503040D1F7089585E080931D0124EF58 |
:10A9100031E044EF51E0CA010197F1F72150304096 |
:10A92000D1F70895BF92CF92DF92EF92FF920F93EB |
:10A930001F93DF93CF93CDB7DEB78D852E8593E23E |
:10A940009093640C8F598093650C8C858093660C72 |
:10A95000222309F053C063E070E090E020E030E093 |
:10A96000E0E0F0E0EC59F34F8081280F311D9F5F4C |
:10A97000E92FF0E0E617F707A8F33F70C9010024BC |
:10A98000880F991F001C880F991F001C892F902D7C |
:10A99000835C2F73235CFB01EC59F34F8083CB0165 |
:10A9A0000196FC01EC59F34F20830196FC01EC5910 |
:10A9B000F34F2DE02083FC0131961092100120E02E |
:10A9C000A0E0B0E08091C00085FFFCCFAC59B34F50 |
:10A9D0008C918093C6002F5FA22FB0E0AE17BF0707 |
:10A9E00088F381E080931001CF91DF911F910F9147 |
:10A9F000FF90EF90DF90CF90BF900895EF84F8889C |
:10AA000003E1C02ED12CCC0EDD1E49895A89411597 |
:10AA1000510509F4A0CF022F015063E070E010E06F |
:10AA200062C0A12FB0E01F5FFA01AE0DBF1D8C9177 |
:10AA3000AF014150504009F48BC0E12FF0E01F5F9F |
:10AA4000EE0DFF1DA0814150504009F06DC0002364 |
:10AA500009F46AC096012E5F3F4FF601E080F18055 |
:10AA600012E0C12ED12CC20ED31EF90140815181BA |
:10AA70000150382F32953F7090E08F7090702A2FE0 |
:10AA80002295269526952370880F991F880F991F68 |
:10AA9000282B235CAF73A35C10E08B2D86958695E5 |
:10AAA000835CFB01EC59F34F80838B2D90E0837026 |
:10AAB000907082959295907F9827807F9827382B69 |
:10AAC000335CFB01EB59F34F3083FB01EA59F34F41 |
:10AAD0002083FB01E959F34FA0836C5F7F4F411541 |
:10AAE000510509F43ACFF701E10FF11DB0801F5F66 |
:10AAF0004150504009F095CF002391F0F601329675 |
:10AB0000D601ED90FC9012E0C12ED12CCE0EDF1EAE |
:10AB10000190F081E02D0150309709F04CC010E019 |
:10AB200030E02DE3ADE3B9CF382F32953F7090E0A0 |
:10AB30008F7090702A2F2295269526952370880F66 |
:10AB4000991F880F991F282B235CAF73A35CA5CF97 |
:10AB5000002371F4382F32953F7090E08F70907021 |
:10AB6000880F991F880F991F282F235CADE395CF7D |
:10AB7000F6013296D601ED90FC90A2E0CA2ED12CBF |
:10AB8000CE0EDF1E4081518101504115510521F04B |
:10AB9000E0E0F0E011E054CF382F32953F7090E0C4 |
:10ABA0008F709070880F991F880F991F282F235C32 |
:10ABB00010E0ADE372CFA0E0B0E011E036CFDF935C |
:10ABC000CF930F92CDB7DEB720911D01213021F038 |
:10ABD0000F90CF91DF91089592E099834DB75EB7C2 |
:10ABE000475050400FB6F8945EBF0FBE4DBFEDB753 |
:10ABF000FEB7319685E7ADB7BEB711968C939183BA |
:10AC00002283CE0101969483838381E090E0968332 |
:10AC100085830E94925484E080931D0124EF31E0EB |
:10AC20004DB75EB7495F5F4F0FB6F8945EBF0FBE7A |
:10AC30004DBF44EF51E0CA010197F1F72150304078 |
:10AC4000D1F70F90CF91DF910895DF93CF930F92BB |
:10AC5000CDB7DEB790911D01913021F00F90CF91CB |
:10AC6000DF91089599832DB73EB7275030400FB636 |
:10AC7000F8943EBF0FBE2DBFEDB7FEB7319685E706 |
:10AC8000ADB7BEB711968C9382E081839283CE01DB |
:10AC900001969483838381E090E0968385830E946C |
:10ACA000925483E080931D0124EF31E08DB79EB76D |
:10ACB00007960FB6F8949EBF0FBE8DBF44EF51E0CC |
:10ACC000CA010197F1F721503040D1F70F90CF9191 |
:10ACD000DF9108951F93DF93CF930F92CDB7DEB727 |
:10ACE00090911D01913029F00F90CF91DF911F912C |
:10ACF000089519822DB73EB7275030400FB6F8940B |
:10AD00003EBF0FBE2DBFEDB7FEB7319685E7ADB79D |
:10AD1000BEB711968C9312E011839283CE010196F7 |
:10AD20009483838381E090E0968385830E9492548C |
:10AD300010931D0124EF31E08DB79EB707960FB633 |
:10AD4000F8949EBF0FBE8DBF44EF51E0CA0101973A |
:10AD5000F1F721503040D1F70F90CF91DF911F9143 |
:10AD60000895FF920F931F93DF93CF930F92CDB768 |
:10AD7000DEB7082FF62E142F0E949053812F6AE021 |
:10AD80000E94C35989838DB79EB707970FB6F89471 |
:10AD90009EBF0FBE8DBFEDB7FEB73196ADB7BEB744 |
:10ADA00011960C93F18281E08283CE010196948307 |
:10ADB000838381E090E0968385830E9492548DB7CF |
:10ADC0009EB707960FB6F8949EBF0FBE8DBF8091B9 |
:10ADD00010018823E1F30E9488530F90CF91DF91F7 |
:10ADE0001F910F91FF9008955058BB27AA270ED0AE |
:10ADF00078C141D130F046D120F031F49F3F11F4B9 |
:10AE00001EF436C10EF4E095E7FB2CC1E92F8BD17F |
:10AE100080F3BA17620773078407950718F071F477 |
:10AE20009EF5A3C10EF4E0950B2EBA2FA02D0B01B9 |
:10AE3000B90190010C01CA01A0011124FF27591B7F |
:10AE400099F0593F50F4503E68F11A16F040A22F85 |
:10AE5000232F342F4427585FF3CF469537952795F6 |
:10AE6000A795F0405395C9F77EF41F16BA0B620BF5 |
:10AE7000730B840BBAF09150A1F0FF0FBB1F661F3C |
:10AE8000771F881FC2F70EC0BA0F621F731F841F7F |
:10AE900048F4879577956795B795F7959E3F08F0A5 |
:10AEA000B3CF9395880F08F09927EE0F9795879564 |
:10AEB0000895F0D0E39526C10CD013C1E3D040F043 |
:10AEC000DAD030F021F45F3F19F0CCC051114EC1FF |
:10AED000CFC029D198F39923C9F35523B1F3951B1A |
:10AEE000550BBB27AA2762177307840738F09F5FAB |
:10AEF0005F4F220F331F441FAA1FA9F333D00E2E1A |
:10AF00003AF0E0E830D091505040E695001CCAF786 |
:10AF100029D0FE2F27D0660F771F881FBB1F26174B |
:10AF200037074807AB07B0E809F0BB0B802DBF011E |
:10AF3000FF2793585F4F2AF09E3F510568F092C05B |
:10AF400015C15F3FECF3983EDCF3869577956795E6 |
:10AF5000B795F7959F5FC9F7880F911D96958795CF |
:10AF600097F90895E1E0660F771F881FBB1F6217EE |
:10AF700073078407BA0720F0621B730B840BBA0BAC |
:10AF8000EE1F88F7E095089504D06894B111EEC0E3 |
:10AF90000895D1D088F09F5790F0B92F9927B751D5 |
:10AFA000A0F0D1F0660F771F881F991F1AF0BA958D |
:10AFB000C9F712C0B13081F0D8D0B1E00895D5C042 |
:10AFC000672F782F8827B85F39F0B93FCCF3869583 |
:10AFD00077956795B395D9F73EF4909580957095E0 |
:10AFE00061957F4F8F4F9F4F0895E89409C097FB5D |
:10AFF0003EF490958095709561957F4F8F4F9F4F50 |
:10B000009923A9F0F92F96E9BB279395F695879593 |
:10B0100077956795B795F111F8CFFAF4BB0F11F456 |
:10B0200060FF1BC06F5F7F4F8F4F9F4F16C08823FD |
:10B0300011F096E911C0772321F09EE8872F762F33 |
:10B0400005C0662371F096E8862F70E060E02AF074 |
:10B050009A95660F771F881FDAF7880F9695879560 |
:10B0600097F9089597F99F6780E870E060E0089588 |
:10B070009FEF80EC089500240A9416161706180610 |
:10B080000906089500240A941216130614060506EC |
:10B090000895EECF50D0E8F3E894E0E0BB279F5747 |
:10B0A000F0F02AED3FE049EC06C0EE0FBB0F661F43 |
:10B0B000771F881F28F0B23A62077307840728F0C9 |
:10B0C000B25A620B730B840BE3959A9572F7803832 |
:10B0D00030F49A95BB0F661F771F881FD2F79048F0 |
:10B0E000F1C0092E0394000C11F4882352F0BB0F19 |
:10B0F00040F4BF2B11F460FF04C06F5F7F4F8F4F90 |
:10B100009F4F0895EF93E0FF06C0A2EA2AED3FE0CB |
:10B1100049EC5FEB7BDEE5DF0F90039401FC905878 |
:10B12000ECE7F0E0DBC057FD9058440F551F59F095 |
:10B130005F3F71F04795880F97FB991F61F09F3F24 |
:10B1400079F087950895121613061406551FF2CF4D |
:10B150004695F1DF08C0161617061806991FF1CF9D |
:10B1600086957105610508940895E894BB276627C4 |
:10B170007727CB0197F908950BD0B3CF7CDF28F068 |
:10B1800081DF18F0952309F06DCF72CF1124EECF37 |
:10B19000CADFA0F3959FD1F3950F50E0551F629F32 |
:10B1A000F001729FBB27F00DB11D639FAA27F00D20 |
:10B1B000B11DAA1F649F6627B00DA11D661F829F47 |
:10B1C0002227B00DA11D621F739FB00DA11D621F2C |
:10B1D000839FA00D611D221F749F3327A00D611D49 |
:10B1E000231F849F600D211D822F762F6A2F11242B |
:10B1F0009F5750408AF0E1F088234AF0EE0FFF1F7E |
:10B20000BB1F661F771F881F91505040A9F79E3FB4 |
:10B21000510570F027CFAACF5F3FECF3983EDCF3E7 |
:10B22000869577956795B795F795E7959F5FC1F7F1 |
:10B23000FE2B880F911D9695879597F908957BDFD2 |
:10B24000E0F09E37D8F09639B8F49E3848F4672F6E |
:10B25000782F8827985FF9CF86957795679593958E |
:10B260009539D0F3B62FB1706B0F711D811D20F48D |
:10B27000879577956795939508C022C077CF9F9360 |
:10B2800009DF0F9007FCEE5F3DCF882371F4772331 |
:10B2900021F09850872B762F07C0662311F4992749 |
:10B2A0000DC09051862B70E060E02AF09A95660FF1 |
:10B2B000771F881FDAF7880F9695879597F9089575 |
:10B2C0009F3F31F0915020F4879577956795B7951A |
:10B2D000880F911D9695879597F908959F938F9361 |
:10B2E0007F936F93FF93EF939B01AC0145DFEF9149 |
:10B2F000FF9105D02F913F914F915F913DCFDF930B |
:10B30000CF931F930F93FF92EF92DF927B018C01FB |
:10B31000689405C0DA2EEF013BDFFE01E894A591A9 |
:10B320002591359145915591AEF3EF016FDDFE0109 |
:10B330009701A801DA9479F7DF90EF90FF900F91D1 |
:10B340001F91CF91DF910895629FD001739FF0010B |
:10B35000829FE00DF11D649FE00DF11D929FF00DA5 |
:10B36000839FF00D749FF00D659FF00D9927729FDC |
:10B37000B00DE11DF91F639FB00DE11DF91FBD0167 |
:10B38000CF0111240895991B79E004C0991F9617E5 |
:10B3900008F0961B881F7A95C9F780950895AA1B17 |
:10B3A000BB1B51E107C0AA1FBB1FA617B70710F0B0 |
:10B3B000A61BB70B881F991F5A95A9F780959095E2 |
:10B3C000BC01CD01089597FB092E07260AD077FD11 |
:10B3D00004D0E5DF06D000201AF4709561957F4F08 |
:10B3E0000895F6F7909581959F4F0895A1E21A2E42 |
:10B3F000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F19 |
:10B40000A217B307E407F50720F0A21BB30BE40B68 |
:10B41000F50B661F771F881F991F1A9469F76095AF |
:10B420007095809590959B01AC01BD01CF01089569 |
:10B4300097FB092E05260ED057FD04D0D7DF0AD082 |
:10B44000001C38F450954095309521953F4F4F4F53 |
:10B450005F4F0895F6F790958095709561957F4FB1 |
:10B460008F4F9F4F0895DC0101C06D9341505040B4 |
:10B47000E0F70895FB019F01E8944230C4F04532A3 |
:10B48000B4F44A3029F497FB1EF4909581959F4FB0 |
:10B49000642F77270E94CF59805D8A330CF0895D35 |
:10B4A0008193CB010097A1F716F45DE251931082CE |
:10B4B000C9010C94875AFB019F01423074F0453258 |
:10B4C00064F4642F77270E94CF59805D8A330CF093 |
:10B4D000895D8193CB010097A1F71082C9010C947B |
:10B4E000875AF999FECF92BD81BDF89A992780B508 |
:10B4F0000895262FF999FECF1FBA92BD81BD20BDB8 |
:10B500000FB6F894FA9AF99A0FBE01960895DC01E5 |
:10B51000FC01672F71917723E1F7329704C07C918A |
:10B520006D9370836291AE17BF07C8F30895F894C6 |
:02B53000FFCF4B |
:10B53200FFFFFF0101FF6A18380171023801710231 |
:02B54200010006 |
:00000001FF |
/Transportables_Koptertool/tags/V3.2/Koptertoo1_3/pk_13_bottom.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Transportables_Koptertool/tags/V3.2/LICENSE.TXT |
---|
0,0 → 1,340 |
GNU GENERAL PUBLIC LICENSE |
Version 2, June 1991 |
Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
Everyone is permitted to copy and distribute verbatim copies |
of this license document, but changing it is not allowed. |
Preamble |
The licenses for most software are designed to take away your |
freedom to share and change it. By contrast, the GNU General Public |
License is intended to guarantee your freedom to share and change free |
software--to make sure the software is free for all its users. This |
General Public License applies to most of the Free Software |
Foundation's software and to any other program whose authors commit to |
using it. (Some other Free Software Foundation software is covered by |
the GNU Library General Public License instead.) You can apply it to |
your programs, too. |
When we speak of free software, we are referring to freedom, not |
price. Our General Public Licenses are designed to make sure that you |
have the freedom to distribute copies of free software (and charge for |
this service if you wish), that you receive source code or can get it |
if you want it, that you can change the software or use pieces of it |
in new free programs; and that you know you can do these things. |
To protect your rights, we need to make restrictions that forbid |
anyone to deny you these rights or to ask you to surrender the rights. |
These restrictions translate to certain responsibilities for you if you |
distribute copies of the software, or if you modify it. |
For example, if you distribute copies of such a program, whether |
gratis or for a fee, you must give the recipients all the rights that |
you have. You must make sure that they, too, receive or can get the |
source code. And you must show them these terms so they know their |
rights. |
We protect your rights with two steps: (1) copyright the software, and |
(2) offer you this license which gives you legal permission to copy, |
distribute and/or modify the software. |
Also, for each author's protection and ours, we want to make certain |
that everyone understands that there is no warranty for this free |
software. If the software is modified by someone else and passed on, we |
want its recipients to know that what they have is not the original, so |
that any problems introduced by others will not reflect on the original |
authors' reputations. |
Finally, any free program is threatened constantly by software |
patents. We wish to avoid the danger that redistributors of a free |
program will individually obtain patent licenses, in effect making the |
program proprietary. To prevent this, we have made it clear that any |
patent must be licensed for everyone's free use or not licensed at all. |
The precise terms and conditions for copying, distribution and |
modification follow. |
GNU GENERAL PUBLIC LICENSE |
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
0. This License applies to any program or other work which contains |
a notice placed by the copyright holder saying it may be distributed |
under the terms of this General Public License. The "Program", below, |
refers to any such program or work, and a "work based on the Program" |
means either the Program or any derivative work under copyright law: |
that is to say, a work containing the Program or a portion of it, |
either verbatim or with modifications and/or translated into another |
language. (Hereinafter, translation is included without limitation in |
the term "modification".) Each licensee is addressed as "you". |
Activities other than copying, distribution and modification are not |
covered by this License; they are outside its scope. The act of |
running the Program is not restricted, and the output from the Program |
is covered only if its contents constitute a work based on the |
Program (independent of having been made by running the Program). |
Whether that is true depends on what the Program does. |
1. You may copy and distribute verbatim copies of the Program's |
source code as you receive it, in any medium, provided that you |
conspicuously and appropriately publish on each copy an appropriate |
copyright notice and disclaimer of warranty; keep intact all the |
notices that refer to this License and to the absence of any warranty; |
and give any other recipients of the Program a copy of this License |
along with the Program. |
You may charge a fee for the physical act of transferring a copy, and |
you may at your option offer warranty protection in exchange for a fee. |
2. You may modify your copy or copies of the Program or any portion |
of it, thus forming a work based on the Program, and copy and |
distribute such modifications or work under the terms of Section 1 |
above, provided that you also meet all of these conditions: |
a) You must cause the modified files to carry prominent notices |
stating that you changed the files and the date of any change. |
b) You must cause any work that you distribute or publish, that in |
whole or in part contains or is derived from the Program or any |
part thereof, to be licensed as a whole at no charge to all third |
parties under the terms of this License. |
c) If the modified program normally reads commands interactively |
when run, you must cause it, when started running for such |
interactive use in the most ordinary way, to print or display an |
announcement including an appropriate copyright notice and a |
notice that there is no warranty (or else, saying that you provide |
a warranty) and that users may redistribute the program under |
these conditions, and telling the user how to view a copy of this |
License. (Exception: if the Program itself is interactive but |
does not normally print such an announcement, your work based on |
the Program is not required to print an announcement.) |
These requirements apply to the modified work as a whole. If |
identifiable sections of that work are not derived from the Program, |
and can be reasonably considered independent and separate works in |
themselves, then this License, and its terms, do not apply to those |
sections when you distribute them as separate works. But when you |
distribute the same sections as part of a whole which is a work based |
on the Program, the distribution of the whole must be on the terms of |
this License, whose permissions for other licensees extend to the |
entire whole, and thus to each and every part regardless of who wrote it. |
Thus, it is not the intent of this section to claim rights or contest |
your rights to work written entirely by you; rather, the intent is to |
exercise the right to control the distribution of derivative or |
collective works based on the Program. |
In addition, mere aggregation of another work not based on the Program |
with the Program (or with a work based on the Program) on a volume of |
a storage or distribution medium does not bring the other work under |
the scope of this License. |
3. You may copy and distribute the Program (or a work based on it, |
under Section 2) in object code or executable form under the terms of |
Sections 1 and 2 above provided that you also do one of the following: |
a) Accompany it with the complete corresponding machine-readable |
source code, which must be distributed under the terms of Sections |
1 and 2 above on a medium customarily used for software interchange; or, |
b) Accompany it with a written offer, valid for at least three |
years, to give any third party, for a charge no more than your |
cost of physically performing source distribution, a complete |
machine-readable copy of the corresponding source code, to be |
distributed under the terms of Sections 1 and 2 above on a medium |
customarily used for software interchange; or, |
c) Accompany it with the information you received as to the offer |
to distribute corresponding source code. (This alternative is |
allowed only for noncommercial distribution and only if you |
received the program in object code or executable form with such |
an offer, in accord with Subsection b above.) |
The source code for a work means the preferred form of the work for |
making modifications to it. For an executable work, complete source |
code means all the source code for all modules it contains, plus any |
associated interface definition files, plus the scripts used to |
control compilation and installation of the executable. However, as a |
special exception, the source code distributed need not include |
anything that is normally distributed (in either source or binary |
form) with the major components (compiler, kernel, and so on) of the |
operating system on which the executable runs, unless that component |
itself accompanies the executable. |
If distribution of executable or object code is made by offering |
access to copy from a designated place, then offering equivalent |
access to copy the source code from the same place counts as |
distribution of the source code, even though third parties are not |
compelled to copy the source along with the object code. |
4. You may not copy, modify, sublicense, or distribute the Program |
except as expressly provided under this License. Any attempt |
otherwise to copy, modify, sublicense or distribute the Program is |
void, and will automatically terminate your rights under this License. |
However, parties who have received copies, or rights, from you under |
this License will not have their licenses terminated so long as such |
parties remain in full compliance. |
5. You are not required to accept this License, since you have not |
signed it. However, nothing else grants you permission to modify or |
distribute the Program or its derivative works. These actions are |
prohibited by law if you do not accept this License. Therefore, by |
modifying or distributing the Program (or any work based on the |
Program), you indicate your acceptance of this License to do so, and |
all its terms and conditions for copying, distributing or modifying |
the Program or works based on it. |
6. Each time you redistribute the Program (or any work based on the |
Program), the recipient automatically receives a license from the |
original licensor to copy, distribute or modify the Program subject to |
these terms and conditions. You may not impose any further |
restrictions on the recipients' exercise of the rights granted herein. |
You are not responsible for enforcing compliance by third parties to |
this License. |
7. If, as a consequence of a court judgment or allegation of patent |
infringement or for any other reason (not limited to patent issues), |
conditions are imposed on you (whether by court order, agreement or |
otherwise) that contradict the conditions of this License, they do not |
excuse you from the conditions of this License. If you cannot |
distribute so as to satisfy simultaneously your obligations under this |
License and any other pertinent obligations, then as a consequence you |
may not distribute the Program at all. For example, if a patent |
license would not permit royalty-free redistribution of the Program by |
all those who receive copies directly or indirectly through you, then |
the only way you could satisfy both it and this License would be to |
refrain entirely from distribution of the Program. |
If any portion of this section is held invalid or unenforceable under |
any particular circumstance, the balance of the section is intended to |
apply and the section as a whole is intended to apply in other |
circumstances. |
It is not the purpose of this section to induce you to infringe any |
patents or other property right claims or to contest validity of any |
such claims; this section has the sole purpose of protecting the |
integrity of the free software distribution system, which is |
implemented by public license practices. Many people have made |
generous contributions to the wide range of software distributed |
through that system in reliance on consistent application of that |
system; it is up to the author/donor to decide if he or she is willing |
to distribute software through any other system and a licensee cannot |
impose that choice. |
This section is intended to make thoroughly clear what is believed to |
be a consequence of the rest of this License. |
8. If the distribution and/or use of the Program is restricted in |
certain countries either by patents or by copyrighted interfaces, the |
original copyright holder who places the Program under this License |
may add an explicit geographical distribution limitation excluding |
those countries, so that distribution is permitted only in or among |
countries not thus excluded. In such case, this License incorporates |
the limitation as if written in the body of this License. |
9. The Free Software Foundation may publish revised and/or new versions |
of the General Public License from time to time. Such new versions will |
be similar in spirit to the present version, but may differ in detail to |
address new problems or concerns. |
Each version is given a distinguishing version number. If the Program |
specifies a version number of this License which applies to it and "any |
later version", you have the option of following the terms and conditions |
either of that version or of any later version published by the Free |
Software Foundation. If the Program does not specify a version number of |
this License, you may choose any version ever published by the Free Software |
Foundation. |
10. If you wish to incorporate parts of the Program into other free |
programs whose distribution conditions are different, write to the author |
to ask for permission. For software which is copyrighted by the Free |
Software Foundation, write to the Free Software Foundation; we sometimes |
make exceptions for this. Our decision will be guided by the two goals |
of preserving the free status of all derivatives of our free software and |
of promoting the sharing and reuse of software generally. |
NO WARRANTY |
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY |
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN |
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES |
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED |
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS |
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE |
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, |
REPAIR OR CORRECTION. |
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR |
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, |
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING |
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED |
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY |
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER |
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE |
POSSIBILITY OF SUCH DAMAGES. |
END OF TERMS AND CONDITIONS |
How to Apply These Terms to Your New Programs |
If you develop a new program, and you want it to be of the greatest |
possible use to the public, the best way to achieve this is to make it |
free software which everyone can redistribute and change under these terms. |
To do so, attach the following notices to the program. It is safest |
to attach them to the start of each source file to most effectively |
convey the exclusion of warranty; and each file should have at least |
the "copyright" line and a pointer to where the full notice is found. |
<one line to give the program's name and a brief idea of what it does.> |
Copyright (C) <year> <name of author> |
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 2 of the License, or |
(at your option) any later version. |
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
You should have received a copy of the GNU General Public License |
along with this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
Also add information on how to contact you by electronic and paper mail. |
If the program is interactive, make it output a short notice like this |
when it starts in an interactive mode: |
Gnomovision version 69, Copyright (C) year name of author |
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
This is free software, and you are welcome to redistribute it |
under certain conditions; type `show c' for details. |
The hypothetical commands `show w' and `show c' should show the appropriate |
parts of the General Public License. Of course, the commands you use may |
be called something other than `show w' and `show c'; they could even be |
mouse-clicks or menu items--whatever suits your program. |
You should also get your employer (if you work as a programmer) or your |
school, if any, to sign a "copyright disclaimer" for the program, if |
necessary. Here is a sample; alter the names: |
Yoyodyne, Inc., hereby disclaims all copyright interest in the program |
`Gnomovision' (which makes passes at compilers) written by James Hacker. |
<signature of Ty Coon>, 1 April 1989 |
Ty Coon, President of Vice |
This General Public License does not permit incorporating your program into |
proprietary programs. If your program is a subroutine library, you may |
consider it more useful to permit linking proprietary applications with the |
library. If this is what you want to do, use the GNU Library General |
Public License instead of this License. |
/Transportables_Koptertool/tags/V3.2/Makefile_old |
---|
0,0 → 1,401 |
# |
# v1_2 = all versions below 1.3 |
# v1_3 = differend LED Pins, 2nd Uart |
# |
LANGUAGE = de |
HWVERSION = v1_2 |
#HWVERSION = v1_3 |
ifeq ($(HWVERSION), v1_2) |
MCU = atmega644 |
TARGET = MKTOOL_1_2_$(LANGUAGE) |
endif |
ifeq ($(HWVERSION), v1_3) |
MCU = atmega644p |
TARGET = MKTOOL_1_3_$(LANGUAGE) |
endif |
F_CPU = 20000000 |
FUSE_SETTINGS = -U lfuse:w:0xe6:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m |
# Output format. (can be srec, ihex, binary) |
FORMAT = ihex |
# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization. |
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.) |
OPT = 2 |
########################################################################################################## |
# List C source files here. (C dependencies are automatically generated.) |
SRC = main.c menu.c pwm.c timer.c lcd.c font8X6.c usart.c settings.c motortest.c display.c gps.c osd.c debug.c parameter.c eeprom.c |
########################################################################################################## |
# List Assembler source files here. |
# Make them always end in a capital .S. Files ending in a lowercase .s |
# will not be considered source files but generated files (assembler |
# output from the compiler), and will be deleted upon "make clean"! |
# Even though the DOS/Win* filesystem matches both .s and .S the same, |
# it will preserve the spelling of the filenames, and gcc itself does |
# care about how the name is spelled on its command-line. |
ASRC = |
# List any extra directories to look for include files here. |
# Each directory must be seperated by a space. |
EXTRAINCDIRS = |
# Optional compiler flags. |
# -g: generate debugging information (for GDB, or for COFF conversion) |
# -O*: optimization level |
# -f...: tuning, see gcc manual and avr-libc documentation |
# -Wall...: warning level |
# -Wa,...: tell GCC to pass this to the assembler. |
# -ahlms: create assembler listing |
CFLAGS = -O$(OPT) |
CFLAGS += -funsigned-char |
CFLAGS += -funsigned-bitfields |
CFLAGS += -fpack-struct |
CFLAGS += -fshort-enums |
CFLAGS += -Wall |
CFLAGS += -Wstrict-prototypes |
CFLAGS += -Wa,-adhlns=$(<:.c=.lst) |
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) |
# Compiler flag to set the C Standard level. |
# Unremark just one line below to set the language standard to use. |
# c89 = "ANSI" C |
# gnu89 = c89 plus GCC extensions |
# c99 = ISO C99 standard (not yet fully implemented) |
# gnu99 = c99 plus GCC extensions |
#CFLAGS += -std=c89 |
#CFLAGS += -std=gnu89 |
#CFLAGS += -std=c99 |
CFLAGS += -std=gnu99 |
CFLAGS += -DF_CPU=$(F_CPU) |
ifeq ($(HWVERSION), v1_2) |
CFLAGS += -DHWVERSION1_2 |
endif |
ifeq ($(HWVERSION), v1_3) |
CFLAGS += -DHWVERSION1_3 |
endif |
ifeq ($(LANGUAGE), de) |
CFLAGS += -DLANGUAGE_DE |
endif |
ifeq ($(LANGUAGE), en) |
CFLAGS += -DLANGUAGE_EN |
endif |
ifeq ($(LANGUAGE), fr) |
CFLAGS += -DLANGUAGE_FR |
endif |
# Optional assembler flags. |
# -Wa,...: tell GCC to pass this to the assembler. |
# -ahlms: create listing |
# -gstabs: have the assembler create line number information; note that |
# for use in COFF files, additional information about filenames |
# and function names needs to be present in the assembler source |
# files -- see avr-libc docs [FIXME: not yet described there] |
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs |
# Optional linker flags. |
# -Wl,...: tell GCC to pass this to linker. |
# -Map: create map file |
# --cref: add cross reference to map file |
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref |
# Additional libraries |
# Minimalistic printf version |
#LDFLAGS += -Wl,-u,vfprintf -lprintf_min |
# Floating point printf version (requires -lm below) |
#LDFLAGS += -Wl,-u,vfprintf -lprintf_flt |
# -lm = math library |
LDFLAGS += -lm |
##LDFLAGS += -T./linkerfile/avr5.x |
# Programming support using avrdude. Settings and variables. |
# Programming hardware: |
# |
# Type: avrdude -c ? |
# to get a full listing. |
# |
AVRDUDE_PROGRAMMER = STK500v2 |
#falls Ponyser ausgewählt wird, muss sich unsere avrdude-Configdatei im Bin-Verzeichnis des Compilers befinden |
AVRDUDE_PORT = /dev/cu.SLAB_USBtoUART # programmer connected to serial device |
#AVRDUDE_PORT = lpt1 # programmer connected to parallel port |
#AVRDUDE_PORT = usb # programmer connected to USB |
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex |
AVRDUDE_WRITE_FUSE = $(FUSE_SETTINGS) |
AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep |
#avrdude -c avrispv2 -P usb -p m32 -U flash:w:blink.hex |
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) |
#AVRDUDE_FLAGS = -p $(MCU) -c $(AVRDUDE_PROGRAMMER) |
# Uncomment the following if you want avrdude's erase cycle counter. |
# Note that this counter needs to be initialized first using -Yn, |
# see avrdude manual. |
#AVRDUDE_ERASE += -y |
# Uncomment the following if you do /not/ wish a verification to be |
# performed after programming the device. |
AVRDUDE_FLAGS += -V |
# Increase verbosity level. Please use this when submitting bug |
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude> |
# to submit bug reports. |
#AVRDUDE_FLAGS += -v -v |
# --------------------------------------------------------------------------- |
# Define directories, if needed. |
#DIRAVR = c:/winavr |
#DIRAVRBIN = $(DIRAVR)/bin |
#DIRAVRUTILS = $(DIRAVR)/utils/bin |
#DIRINC = . |
#DIRLIB = $(DIRAVR)/avr/lib |
# Define programs and commands. |
SHELL = sh |
CC = avr-gcc |
OBJCOPY = avr-objcopy |
OBJDUMP = avr-objdump |
SIZE = avr-size |
# Programming support using avrdude. |
AVRDUDE = avrdude |
REMOVE = rm -f |
COPY = cp |
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex |
##ELFSIZE = $(SIZE) -A $(TARGET).elf |
ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf |
# Define Messages |
# English |
MSG_ERRORS_NONE = Errors: none |
MSG_BEGIN = -------- begin -------- |
MSG_END = -------- end -------- |
MSG_SIZE_BEFORE = Size before: |
MSG_SIZE_AFTER = Size after: |
MSG_COFF = Converting to AVR COFF: |
MSG_EXTENDED_COFF = Converting to AVR Extended COFF: |
MSG_FLASH = Creating load file for Flash: |
MSG_EEPROM = Creating load file for EEPROM: |
MSG_EXTENDED_LISTING = Creating Extended Listing: |
MSG_SYMBOL_TABLE = Creating Symbol Table: |
MSG_LINKING = Linking: |
MSG_COMPILING = Compiling: |
MSG_ASSEMBLING = Assembling: |
MSG_CLEANING = Cleaning project: |
# Define all object files. |
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) |
# Define all listing files. |
LST = $(SRC:.c=.lst) $(ASRC:.S=.lst) |
# Combine all necessary flags and optional flags. |
# Add target processor to flags. |
#ALL_CFLAGS = -mmcu=$(MCU) -DF_CPU=$(F_CPU) -I. $(CFLAGS) |
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) |
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) |
# Default target. |
all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \ |
$(TARGET).lss $(TARGET).sym sizeafter finished end |
# Eye candy. |
# AVR Studio 3.x does not check make's exit code but relies on |
# the following magic strings to be generated by the compile job. |
begin: |
@echo |
@echo $(MSG_BEGIN) |
finished: |
@echo $(MSG_ERRORS_NONE) |
end: |
@echo $(MSG_END) |
@echo |
# Display size of file. |
sizebefore: |
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi |
sizeafter: |
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi |
# Display compiler version information. |
gccversion : |
@$(CC) --version |
# Convert ELF to COFF for use in debugging / simulating in |
# AVR Studio or VMLAB. |
COFFCONVERT=$(OBJCOPY) --debugging \ |
--change-section-address .data-0x800000 \ |
--change-section-address .bss-0x800000 \ |
--change-section-address .noinit-0x800000 \ |
--change-section-address .eeprom-0x810000 |
coff: $(TARGET).elf |
@echo |
@echo $(MSG_COFF) $(TARGET).cof |
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof |
extcoff: $(TARGET).elf |
@echo |
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof |
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof |
# Program the device. |
flash: $(TARGET).hex |
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) |
eeprom: $(TARGET).eep |
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_EEPROM) |
fuse: |
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FUSE) |
reset: |
$(AVRDUDE) $(AVRDUDE_FLAGS) |
# Create final output files (.hex, .eep) from ELF output file. |
%.hex: %.elf |
@echo |
@echo $(MSG_FLASH) $@ |
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ |
%.eep: %.elf |
@echo |
@echo $(MSG_EEPROM) $@ |
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ |
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@ |
# Create extended listing file from ELF output file. |
%.lss: %.elf |
@echo |
@echo $(MSG_EXTENDED_LISTING) $@ |
$(OBJDUMP) -h -S $< > $@ |
# Create a symbol table from ELF output file. |
%.sym: %.elf |
@echo |
@echo $(MSG_SYMBOL_TABLE) $@ |
avr-nm -n $< > $@ |
# Link: create ELF output file from object files. |
.SECONDARY : $(TARGET).elf |
.PRECIOUS : $(OBJ) |
%.elf: $(OBJ) |
@echo |
@echo $(MSG_LINKING) $@ |
$(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) |
# Compile: create object files from C source files. |
%.o : %.c |
@echo |
@echo $(MSG_COMPILING) $< |
$(CC) -c $(ALL_CFLAGS) $< -o $@ |
# Compile: create assembler files from C source files. |
%.s : %.c |
$(CC) -S $(ALL_CFLAGS) $< -o $@ |
# Assemble: create object files from assembler source files. |
%.o : %.S |
@echo |
@echo $(MSG_ASSEMBLING) $< |
$(CC) -c $(ALL_ASFLAGS) $< -o $@ |
# Target: clean project. |
clean: begin clean_list finished end |
clean_list : |
@echo |
@echo $(MSG_CLEANING) |
$(REMOVE) $(TARGET).hex |
$(REMOVE) $(TARGET).eep |
$(REMOVE) $(TARGET).obj |
$(REMOVE) $(TARGET).cof |
$(REMOVE) $(TARGET).elf |
$(REMOVE) $(TARGET).map |
$(REMOVE) $(TARGET).obj |
$(REMOVE) $(TARGET).a90 |
$(REMOVE) $(TARGET).sym |
$(REMOVE) $(TARGET).lnk |
$(REMOVE) $(TARGET).lss |
$(REMOVE) $(OBJ) |
$(REMOVE) $(LST) |
$(REMOVE) $(SRC:.c=.s) |
$(REMOVE) $(SRC:.c=.d) |
@echo |
# Automatically generate C source code dependencies. |
# (Code originally taken from the GNU make user manual and modified |
# (See README.txt Credits).) |
# |
# Note that this will work with sh (bash) and sed that is shipped with WinAVR |
# (see the SHELL variable defined above). |
# This may not work with other shells or other seds. |
# |
%.d: %.c |
@set -e; $(CC) -MM $(ALL_CFLAGS) $< \ |
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \ |
[ -s $@ ] || rm -f $@ |
# Remove the '-' if you want to see the dependency files generated. |
-include $(SRC:.c=.d) |
# Listing of phony targets. |
.PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff clean clean_list flash eeprom fuse reset |
/Transportables_Koptertool/tags/V3.2/Wi232.c |
---|
0,0 → 1,450 |
/***************************************************************************** |
* Copyright (C) 2011 Christian "Cebra" Brandtner, brandtner@brandtner.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
/* |
* Wi232.c |
* Funktionen für den Zugriff auf Radiotronix Wi.232EUR Modul |
* Created on: 11.06.2011 |
* Author: cebra |
*/ |
#include <avr/io.h> |
#include <avr/pgmspace.h> |
#include <util/delay.h> |
#include <stdlib.h> |
#include <string.h> |
#include "lcd.h" |
#include "usart.h" |
#include "uart1.h" |
#include "main.h" |
#include "Wi232.h" |
#include "timer.h" |
//#include "ParaMenu.h" |
uint8_t Wi232_hardware = 0; |
/************************************************************************* |
Function: discoverWI232() |
Purpose: check if Wi232 available |
Returns: Version or 0 = timeout |
**************************************************************************/ |
void discoverWi232(void) |
{ |
int16_t RegisterWi232; |
set_WI232CMD(); |
_delay_ms(100); |
set_LED4(); |
SwitchToWi232(); /* Serielle Kanäle Wi232 mit USB verbinden*/ |
USART_Init( UART_BAUD_SELECT(57600,F_CPU) ); /* erstmal mit 57600 versuchen*/ |
lcd_printpns_at (0, 0, PSTR("search Wi.232 Modul"),0); |
lcd_printpns_at (0, 1, PSTR("with 57600 Baud"),0); |
RegisterWi232 = readWi232(regDiscover); |
Wi232_hardware = 1; |
if (RegisterWi232 == 0) |
{ |
USART_Init( UART_BAUD_SELECT(2400,F_CPU) ); /* neues Modul mit 2400 suchen*/ |
lcd_printpns_at (0, 1, PSTR("with 2400 Baud "),0); |
RegisterWi232 = readWi232(regDiscover); |
Wi232_hardware = 2; |
} |
if (RegisterWi232 == 0) |
{ |
lcd_cls(); |
lcd_printpns_at (0, 0, PSTR("no Wi.232 found"),0); |
Wi232_hardware = 0; |
} |
if (RegisterWi232 == 0xFF) |
{ |
lcd_cls(); |
lcd_printpns_at (0, 0, PSTR("Wi.232 Sytaxerror"),0); |
} |
if (RegisterWi232 != 0) |
{ |
lcd_cls(); |
if (Wi232_hardware ==1) |
lcd_printpns_at (0, 0, PSTR("Wi.232 found 57600"),0); |
if (Wi232_hardware ==2) |
{ |
lcd_printpns_at (0, 0, PSTR("Wi.232 found 2400"),0); |
if (WriteWi232(regNVDATARATE,Wi232_57600)!=0) /* NV-Ram auf 57600 setzen*/ |
{ |
lcd_printpns_at (0, 1, PSTR("Error set NV-RAM"),0); |
} |
else |
{ |
_delay_ms(1000); |
lcd_printpns_at (0, 1, PSTR("NV-RAM set to 57600"),0); |
_delay_ms(2000); |
lcd_printpns_at (0, 1, PSTR("ok "),0); |
} |
} |
lcd_printpns_at (0, 1, PSTR("Version:"),0); |
lcd_print_hex_at(9,1,RegisterWi232,0); |
} |
clr_WI232CMD(); |
clr_LED4(); |
} |
/************************************************************************* |
Function: InitWI232() |
Purpose: set Wi232Register for Mikrokopter |
Returns: 0 = ACK, FF = NAK |
**************************************************************************/ |
void InitWi232(void) |
{ |
uint8_t InitErr=0; |
discoverWi232(); /*Check if Wi232 available*/ |
if (Wi232_hardware !=0) |
{ |
lcd_printpns_at (0, 2, PSTR("Init Wi232 wait...."),0); |
set_WI232CMD(); |
_delay_ms(10); |
set_LED4(); |
SwitchToWi232(); /* Serielle Kanäle Wi232 mit USB verbinden*/ |
if (WriteWi232(regTXCHANNEL,wChan1)!=0) /*TX Channel*/ |
InitErr =1; |
if (WriteWi232(regRXCHANNEL,wChan1)!=0) /* RX Channel*/ |
InitErr =2; |
if (WriteWi232(regSLPMODE ,Sleep_Awake)!=0) /* Sleepmode*/ |
InitErr =3; |
if (WriteWi232(regPWRMODE,WbModeP13)!=0) /* Transceiver Mode/Powermode */ |
InitErr =4; |
if (WriteWi232(regTXTO,TWaitTime16)!=0) /* UART Timeout */ |
InitErr =5; |
if (WriteWi232(regUARTMTU,UartMTU64)!=0) /* UART Buffer*/ |
InitErr =6; |
if (WriteWi232(regNETGRP,66)!=0) /* Networkgroup */ |
InitErr =7; |
if (WriteWi232(regNETMODE,NetMode_Normal)!=0) /* Networkmode*/ |
InitErr =8; |
if (WriteWi232(regUSECRC ,CRC_Enable)!=0) /* CRC*/ |
InitErr =9; |
if (WriteWi232(regCSMAMODE,CSMA_En)!=0) /* CSMA*/ |
InitErr =10; |
if (WriteWi232(regDATARATE,Wi232_57600)!=0) /* Baudrate*/ |
InitErr =11; |
if (InitErr !=0) |
{ |
lcd_printpns_at (0, 2, PSTR("Wi232 InitError "),0); |
lcd_print_hex(InitErr,0); |
} |
else |
lcd_printpns_at (0, 2, PSTR("Wi232 Init ok...."),0); |
USART_Init (UART_BAUD_SELECT(57600,F_CPU)); |
clr_WI232CMD(); |
_delay_ms(10); |
clr_LED4(); |
} |
} |
/************************************************************************* |
Function: WriteWI232() |
Purpose: set Register to Wi232, Register, Value |
Returns: 0 = ACK, FF = NAK |
ACHTUNG nur für Value <0x80 |
**************************************************************************/ |
int16_t WriteWi232(uint8_t Wi232Register, uint8_t RegisterValue) |
{ |
uint8_t timeout=10; |
uint8_t tc=0; |
unsigned int v; |
USART_putc(0xff); |
USART_putc(0x02); |
USART_putc(Wi232Register); |
USART_putc(RegisterValue); |
do |
{ |
v = USART_getc(); /*ACK erwartet*/ |
_delay_ms(100); |
tc ++; |
} |
while (v==0 && tc!=timeout); |
// lcd_print_hex(v,0); |
if (v != 0x06) |
{ |
lcd_printpns_at (0, 2, PSTR("Wi.232 NAK"),0); |
return 0xFF; |
} |
if (v==0x06) |
return 0; |
return 0xFF; |
} |
/************************************************************************* |
Function: readWI232() |
Purpose: send Readcommand to Wi232, |
Returns: Registervalue, 0 = timeout 0xFF = Syntaxerror |
**************************************************************************/ |
int16_t readWi232(uint16_t Wi232Register) |
{ |
uint8_t timeout=10; |
uint8_t tc=0; |
unsigned int v; |
v = USART_getc(); /*Zeichen löschen*/ |
USART_putc(0xff); |
USART_putc(0x02); |
USART_putc(0xfe); |
USART_putc(Wi232Register); |
_delay_ms(50); |
// lcd_printpns_at (0, 2, PSTR("read Wi232"),0); |
do |
{ |
v = USART_getc(); /*ACK erwartet*/ |
_delay_ms(100); |
tc ++; |
} |
while (v==0 && tc!=timeout); |
if (tc == timeout) return 0; /* Timeout*/ |
if (v != 0x06) return 0xFF; /* Syntaxerror*/ |
lcd_print_hex(v,0); |
v = USART_getc(); /*Register*/ |
lcd_print_hex(v,0); |
v = USART_getc(); /*Value*/ |
lcd_print_hex(v,0); |
return v; |
} |
/************************************************************************* |
Function: EscapeString() |
Purpose: |
Returns: |
Quelle: Radiotronix Wi.232 Manual |
**************************************************************************/ |
int EscapeString(char *src, char src_len, char *dest) |
{ |
// The following function copies and encodes the first |
// src_len characters from *src into *dest. This |
// encoding is necessary for Wi.232 command formats. |
// The resulting string is null terminated. The size |
// of this string is the function return value. |
// --------------------------------------------------- |
uint8_t src_idx, dest_idx; |
// Save space for the command header and size bytes |
// ------------------------------------------------ |
dest_idx = 2; |
// Loop through source string and copy/encode |
// ------------------------------------------ |
for (src_idx = 0; src_idx < src_len; src_idx++) |
{ |
if (src[src_idx] > 127) |
{ |
dest[dest_idx++] = 0xFE; |
}/*if*/ |
dest[dest_idx++] = (src[src_idx] & 0x7F); |
}/*for*/ |
// Add null terminator |
// ------------------- |
dest[dest_idx] = 0; |
// Add command header |
// ------------------ |
dest[0] = 0xFF; |
dest[1] = dest_idx-2; |
// Return escape string size |
// ------------------------- |
return dest_idx; |
} |
#if defined HWVERSION3_1 || defined HWVERSION1_3 |
/************************************************************************* |
Function: Wi232USB() |
Purpose: Connect Wi232 Programmmode to PKT USB, |
Returns: |
**************************************************************************/ |
void Wi232_USB(void) |
{ |
unsigned int c0,c1; |
if (Wi232_hardware==1) |
{ |
USART_Init (UART_BAUD_SELECT(57600,F_CPU)); |
uart1_init( UART_BAUD_SELECT(57600,F_CPU) ); |
// USART_Init (UART_BAUD_SELECT(2400,F_CPU)); |
// uart1_init( UART_BAUD_SELECT(2400,F_CPU) ); |
} |
if (Wi232_hardware==2) |
{ |
USART_Init (UART_BAUD_SELECT(2400,F_CPU)); |
uart1_init( UART_BAUD_SELECT(2400,F_CPU) ); |
} |
lcd_cls (); |
SwitchToWi232(); /* Serielle Kanäle Wi232 mit USB verbinden*/ |
set_WI232CMD(); |
set_LED4(); |
lcd_printpns_at (0, 0, PSTR("Wi.232 Konfiguration "),0); |
lcd_printpns_at (0, 1, PSTR("PC mit USB verbinden"),0); |
lcd_printpns_at (0, 2, PSTR("Wi.232"),0); |
lcd_printpns_at (0, 3, PSTR("Programm starten"),0); |
lcd_printpns_at (17, 7, PSTR("Exit"),0); |
c1 = 0; |
for(;;) |
{ |
c0 = uart1_getc(); /* from USB*/ |
if ( c0 & UART_NO_DATA ) |
{ |
{ |
c1 = USART_getc(); |
if (c1 == 0) |
{} |
else |
{ |
lcd_print_hex(c1,0); |
uart1_putc (c1); /*to USB*/; |
} |
} |
} |
else |
{ |
USART_putc(c0 ); /* to Wi232*/ |
// lcd_print_hex(c0,0); |
// _delay_ms(1); |
} |
if ((get_key_press (1 << KEY_ENTER))) |
{ |
clr_WI232CMD(); |
clr_LED4(); |
// uart1_init( UART_BAUD_SELECT(57600,F_CPU) ); |
// USART_Init( UART_BAUD_SELECT(57600,F_CPU) ); |
return; |
} |
} |
} |
/************************************************************************* |
Function: Wi232_FC() |
Purpose: Connect Wi232 to PKT USB, Transparent |
Returns: |
**************************************************************************/ |
void Wi232_FC(void) |
{ |
unsigned int c0,c1; |
USART_Init (UART_BAUD_SELECT(57600,F_CPU)); |
uart1_init( UART_BAUD_SELECT(57600,F_CPU) ); |
// USART_Init (UART_BAUD_SELECT(2400,F_CPU)); |
// uart1_init( UART_BAUD_SELECT(2400,F_CPU) ); |
lcd_cls (); |
SwitchToWi232(); /* Serielle Kanäle Wi232 mit USB verbinden*/ |
lcd_printpns_at (0, 0, PSTR("Wi.232 to FC "),0); |
lcd_printpns_at (0, 1, PSTR("PC mit USB verbinden"),0); |
lcd_printpns_at (0, 2, PSTR("und Mikrokoptertool"),0); |
lcd_printpns_at (0, 3, PSTR("starten"),0); |
lcd_printpns_at (17, 7, PSTR("Exit"),0); |
c1 = 0; |
for(;;) |
{ |
c0 = uart1_getc(); /* from USB*/ |
if ( c0 & UART_NO_DATA ) |
{ |
{ |
c1 = USART_getc(); |
if (c1 == 0) |
{} |
else |
{ |
lcd_print_hex(c1,0); |
uart1_putc (c1); /*to USB*/; |
} |
} |
} |
else |
{ |
USART_putc(c0 ); /* to Wi232*/ |
lcd_print_hex(c0,0); |
// _delay_ms(1); |
} |
if ((get_key_press (1 << KEY_ENTER))) |
{ |
return; |
} |
} |
} |
#endif |
/Transportables_Koptertool/tags/V3.2/Wi232.h |
---|
0,0 → 1,149 |
/* |
* Wi232.h |
* |
* Created on: 11.06.2011 |
* Author: cebra |
*/ |
#ifndef WI232_H_ |
#define WI232_H_ |
void discoverWi232(void); |
void Wi232_USB(void); |
void Wi232_FC(void); |
void InitWi232(void); |
int16_t WriteWi232(uint8_t Wi232Register, uint8_t RegisterValue); |
int16_t readWi232(uint16_t Wi232Register); |
extern uint8_t Wi232_hardware; |
/*Non-volatile Registers*/ |
/* Name Address Description Default*/ |
#define regNVTXCHANNEL 0x00 /*Transmit channel setting 0*/ |
#define regNVRXCHANNEL 0x01 /*Receive channel setting 0*/ |
#define regNVPWRMODE 0x02 /*Operating mode settings +13 dBm widebandmode*/ |
#define regNVDATARATE 0x03 /*UART data rate 2400bps*/ |
#define regNVNETMODE 0x04 /*Network mode (Normal/Slave) Normal*/ |
#define regNVTXTO 0x05 /*Transmit wait timeout ~16ms*/ |
#define regNVNETGRP 0x06 /*Network group ID 0x00*/ |
#define regNVUSECRC 0x08 /*Enable/Disable CRC Enabled*/ |
#define regNVUARTMTU 0x09 /*Minimum transmission unit. 64 bytes*/ |
#define regNVSHOWVER 0x0A /*Enable/Disable start-up message Enabled*/ |
#define regNVCSMAMODE 0x0B /*Enable/Disable CSMA Enabled*/ |
#define regNVSLPMODE 0x0D /*Power state of module Awake*/ |
/*Non-volatile Read Only Registers*/ |
/* Name Address Description*/ |
#define regMAC0 0x22 /*These registers form the unique 48-bit MAC address.*/ |
#define regMAC1 0x23 |
#define regMAC2 0x24 |
#define regOUI0 0x25 |
#define regOUI1 0x26 |
#define regOUI2 0x27 |
/*Volatile Read/Write Registers*/ |
/* Name Address Description*/ |
#define regTXCHANNEL 0x4B /* Transmit channel setting*/ |
#define regRXCHANNEL 0x4C /* Receive channel setting*/ |
#define regPWRMODE 0x4D /* Operating mode settings*/ |
#define regDATARATE 0x4E /* UART data rate*/ |
#define regNETMODE 0x4F /* Network mode (Normal or Slave)*/ |
#define regTXTO 0x50 /* Transmit wait timeout*/ |
#define regNETGRP 0x51 /* Network group ID*/ |
#define regUSECRC 0x53 /* Enable/Disable CRC*/ |
#define regUARTMTU 0x54 /* Minimum transmission unit.*/ |
#define Reserved 0x55 |
#define regCSMAMODE 0x56 /* Enable/disable CSMA*/ |
#define regSLPMODE 0x58 /* Power state of module*/ |
#define regDiscover 0x78 /* Versionsregister*/ |
/*Wideband Channels*/ |
/*regNVTXCHAN (0x00) regTXCHAN (0x4B)*/ |
/* Channel Number Frequency*/ |
#define wChan0 0x00 /*868.300 MHz*/ |
#define wChan1 0x01 /*868.95 MHz*/ |
/*Narrowband Channels*/ |
/*regNVRXCHAN (0x01) regRXCHAN (0x4C)*/ |
/* Channel Number Frequency*/ |
#define nChan0 0x00 /*868.225 MHz*/ |
#define nChan1 0x01 /*868.375 MHz*/ |
#define nChan2 0x02 /*868.850 MHz*/ |
#define nChan3 0x03 /*869.050 MHz*/ |
#define nChan4 0x04 /*869.525 MHz*/ |
#define nChan5 0x05 /*869.850 MHz*/ |
/* Power Mode*/ |
/*regNVPWRMODE (0x02) regPWRMODE (0x4D)*/ |
/* PM1 PM1 PM0 Mode*/ |
#define NbModeN2 0x00 /*0 0 0 Narrowband Mode – -2dBm power setting (typical)*/ |
#define WbModeP2 0x01 /*0 0 1 Wideband Mode – +2dBm power setting (typical)*/ |
#define WbModeP7 0x02 /*0 1 0 Wideband Mode – +7dBm power setting (typical)*/ |
#define WbModeP13 0x03 /*0 1 1 Wideband Mode – +13dBm power setting (typical)*/ |
#define WbModeN2 0x04 /*1 0 0 Wideband Mode – -2dBm power setting (typical)*/ |
#define NbModeP2 0x05 /*1 0 1 Narrowband Mode – +2dBm power setting (typical)*/ |
#define NbModeP7 0x06 /*1 1 0 Narrowband Mode – +7dBm power setting (typical)*/ |
#define NbModeP13 0x07 /*1 1 1 Narrowband Mode – +13dBm power setting (typical)*/ |
/* Wi232 UART Baudrate*/ |
/*regNVDATARATE (0x03) regDATARATE (0x4E)*/ |
/* Baud Rate BR2 BR1 BR0*/ |
#define Wi232_2400 0x00 /*0 0 0* (default 2400)*/ |
#define Wi232_9600 0x01 /*0 0 1*/ |
#define Wi232_19200 0x02 /*0 1 0*/ |
#define Wi232_38400 0x03 /*0 1 1*/ |
#define Wi232_57600 0x04 /*1 0 0*/ |
#define Wi232_115200 0x05 /*1 0 1*/ |
#define Wi232_10400 0x06 /*1 1 0*/ |
#define Wi232_31250 0x07 /*1 1 1*/ |
/* NetworkMode*/ |
/*regNVNETMODE (0x04) regNETMODE (0x4F)*/ |
#define NetMode_Normal 0x01 /* Normalmode (default)*/ |
#define NetMode_Slave 0x00 /* Slavemode*/ |
/*Transmit Wait Timeout*/ |
/*regNVTXTO (0x05) regTXTO (0x50)*/ |
#define TWaitTimeFull 0x00 /* full Buffer required*/ |
#define TWaitTime16 0x10 /* 16 ms Delay (default)*/ |
/*Network Group*/ |
/*regNVNETGRP (0x06) regNETGRP (0x51)*/ |
#define NetWorkGroup 0x00 /* default 0, valid 0-127*/ |
/*CRC Control*/ |
/*regNVUSECRC (0x08) regUSECRC (0x53)*/ |
#define CRC_Disable 0x00 /* no CRC check*/ |
#define CRC_Enable 0x01 /* CRC check (default)*/ |
/*UART minimum transmission unit*/ |
/*regNVUARTMTU (0x09) regUARTMTU (0x54)*/ |
#define UartMTU64 64 /* default=64, valid 1-144*/ |
/*Verbose mode*/ |
/*regNVSHOWVER (0x0A)*/ |
#define ShowVers_En 0x01 /* show Startupmessage (default)*/ |
#define ShowVers_Dis 0x01 /* do not show Startupmessage*/ |
/*CSMA enable*/ |
/*regNVCSMAMODE (0x0B) regCSMAMODE (0x56)*/ |
#define CSMA_En 0x01 /* enable CSMA Carrier-sense multiple access (default)*/ |
#define CSMA_Dis 0x00 /* disable CSMA */ |
/*Sleep control*/ |
/*regNVSLPMODE (0x0D) regSLPMODE (0x58)*/ |
#define Sleep_Awake 0x00 /* Sleepmode = Awake (default)*/ |
#define Sleep 0x01 /* Sleepmode = Sleep*/ |
#define Sleep_Stby 0x02 /* Sleepmode = Standby*/ |
#endif /* WI232_H_ */ |
/Transportables_Koptertool/tags/V3.2/___TODO_22062011 |
---|
0,0 → 1,4 |
22.6.2011 Cebra |
- I2C Motortest für BL-Controller |
- zur Zeit sind durch einen Layoutfehler noch die Tasten vertauscht, in timer.h zu ändern |
test |
/Transportables_Koptertool/tags/V3.2/debug.c |
---|
0,0 → 1,315 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
// @TODO: maybe choose a smaler font for the debug data. 6x6 or 6x7 would be nice and gives some additional space for status lines |
#include <avr/io.h> |
#include <avr/pgmspace.h> |
#include <util/delay.h> |
#include <string.h> |
#include "main.h" |
#include "menu.h" |
#include "lcd.h" |
#include "usart.h" |
#include "debug.h" |
#include "timer.h" |
#include "mk-data-structs.h" |
#define TIMEOUT 200 // 2 sec |
#define ANALOGTIME 20 // 200 ms |
// WARNING: this work for NC & FC only |
// if current_hardware == MK3MAG or MKGPS the access is outside of the array... |
uint8_t AnalogNames[2][32][16 + 1]; // 32 names, 16 characters + 1 0x00 |
uint8_t AnalogNamesRead[2] = {0,0}; |
//***************************************************************************** |
// |
void GetAnalogNames (void) |
{ |
uint8_t i = AnalogNamesRead[current_hardware - 1]; |
uint8_t t = 0; |
lcd_cls (); |
lcd_printp_at (0, 3, PSTR("Reading"), 0); |
lcd_printp_at (0, 4, PSTR("Analog Names: "), 0); |
mode = 'A'; // read Names |
_delay_ms(200); |
rxd_buffer_locked = FALSE; |
timer = ANALOGTIME; |
while (i < 32) |
{ |
SendOutData ('a', ADDRESS_ANY, 1, &i, 1); |
while (!rxd_buffer_locked && timer); |
if (timer) |
{ |
Decode64 (); |
if (i == *pRxData) |
{ |
write_ndigit_number_u(14, 4, i, 2, 0); |
memcpy (AnalogNames[current_hardware - 1][*pRxData], (uint8_t *) pRxData + 1, 16); |
AnalogNames[current_hardware - 1][*pRxData][16] = 0; |
i++; |
t = 0; |
} |
else |
{ |
_delay_ms (100); |
} |
timer = ANALOGTIME; |
rxd_buffer_locked = FALSE; |
} |
else |
{ // timeout occured |
t++; |
timer = ANALOGTIME; |
if (t >= 50) |
{ |
lcd_printp_at (0, 2, PSTR("ERROR: no data"), 0); |
timer = 100; |
while (timer > 0); |
break; |
} |
} |
} |
AnalogNamesRead[current_hardware - 1] = i; |
#if 0 |
if (timer) |
{ |
for (page = 0; page < 4; page++) |
{ |
for (i = 0; i < 7; i++) |
{ |
lcd_print_at (0, i, AnalogNames[current_hardware - 1][i + page * 8], 0); |
} |
while (!get_key_press (1 << KEY_ESC)); // ESC |
} |
} |
//return; |
#endif |
} |
//***************************************************************************** |
// |
void display_debug (void) |
{ |
uint8_t i = 0; |
uint8_t tmp_dat; |
uint8_t page = 0; |
DebugData_t *DebugData; |
lcd_cls (); |
timer = TIMEOUT; |
if (AnalogNamesRead[current_hardware - 1] < 32) { |
GetAnalogNames (); |
} |
if (!timer) |
{ |
return; |
} |
mode = 'D'; // Debug Data |
rxd_buffer_locked = FALSE; |
timer = TIMEOUT; |
tmp_dat = 10; |
SendOutData ('d', ADDRESS_ANY, 1, &tmp_dat, 1); |
abo_timer = ABO_TIMEOUT; |
for (i = 0; i < 8; i++) |
{ |
lcd_print_at (0, i, AnalogNames[current_hardware - 1][i + page * 8], 0); |
} |
do |
{ |
if (rxd_buffer_locked) |
{ |
Decode64 (); |
DebugData = (DebugData_t *) pRxData; |
//lcd_printp_at (0,6,PSTR("Page"),0); |
lcd_write_number_u_at (20, 0, page); |
switch (current_hardware) |
{ |
case FC: |
lcd_printp_at (20, 1, PSTR("F"), 0); |
break; |
case NC: |
lcd_printp_at (20, 1, PSTR("N"), 0); |
break; |
default: |
lcd_printp_at (20, 1, PSTR("?"), 0); |
break; |
} |
for (i = 0; i < 8; i++) |
{ |
//lcd_print_at (0, i, AnalogNames[i + page * 8], 0); |
/* if (current_hardware == NC) |
{ |
write_ndigit_number_u (14, i, DebugData->Analog[i + page * 8], 5, 0); |
} |
else |
{*/ |
uint8_t size =0; |
if( DebugData->Analog[i + page * 8] < -9999) |
{ |
size = 7; |
} |
else if ( DebugData->Analog[i + page * 8] < -999) |
{ |
size = 6; |
} |
else if ( DebugData->Analog[i + page * 8] < -99) |
{ |
size = 5; |
} |
else if ( DebugData->Analog[i + page * 8] < 999) |
{ |
size = 4; |
} |
else if ( DebugData->Analog[i + page * 8] < 9999) |
{ |
size = 5; |
} |
else |
{ |
size = 6; |
} |
write_ndigit_number_s (19-size, i, DebugData->Analog[i + page * 8], size, 0); |
/*}*/ |
} |
timer = TIMEOUT; |
rxd_buffer_locked = FALSE; |
} |
if (!abo_timer) |
{ // renew abo every 3 sec |
// request OSD Data from NC every 100ms |
// RS232_request_mk_data (1, 'o', 100); |
tmp_dat = 10; |
SendOutData ('d', ADDRESS_ANY, 1, &tmp_dat, 1); |
abo_timer = ABO_TIMEOUT; |
} |
if (get_key_press (1 << KEY_MINUS)) |
{ |
page--; |
page &= 0x03; |
lcd_cls (); |
for (i = 0; i < 8; i++) |
{ |
lcd_print_at (0, i, AnalogNames[current_hardware - 1][i + page * 8], 0); |
} |
} |
else if (get_key_press (1 << KEY_PLUS)) |
{ |
page++; |
page &= 0x03; |
lcd_cls (); |
for (i = 0; i < 8; i++) |
{ |
lcd_print_at (0, i, AnalogNames[current_hardware - 1][i + page * 8], 0); |
} |
} |
if ((hardware == NC) && get_key_press (1 << KEY_ENTER)) |
{ |
tmp_dat = 0; |
SendOutData ('d', ADDRESS_ANY, 1, &tmp_dat, 1); |
_delay_ms (200); |
if (current_hardware == NC) |
{ |
SwitchToFC(); |
timer = TIMEOUT; |
//lcd_printpns_at (0, 7, PSTR(" \x1c \x1d Exit NC"), 0); |
} |
else |
{ |
SwitchToNC(); |
timer = TIMEOUT; |
//lcd_printpns_at (0, 7, PSTR(" \x1c \x1d Exit FC"), 0); |
} |
_delay_ms (200); |
if (AnalogNamesRead[current_hardware - 1] < 32) { |
GetAnalogNames (); |
} |
mode = 'D'; // Debug Data |
rxd_buffer_locked = FALSE; |
timer = TIMEOUT; |
tmp_dat = 10; |
SendOutData ('d', ADDRESS_ANY, 1, &tmp_dat, 1); |
lcd_cls (); |
page = 0; |
for (i = 0; i < 8; i++) |
{ |
lcd_print_at (0, i, AnalogNames[current_hardware - 1][i + page * 8], 0); |
} |
} |
} |
while (!get_key_press (1 << KEY_ESC) && timer); // ESC |
tmp_dat = 0; |
SendOutData ('d', ADDRESS_ANY, 1, &tmp_dat, 1); |
mode = 0; |
rxd_buffer_locked = FALSE; |
if (!timer) |
{ // timeout occured |
lcd_cls (); |
lcd_printp_at (0, 2, PSTR("ERROR: no data"), 0); |
timer = 100; |
while (timer > 0); |
} |
SwitchToNC(); |
} |
/Transportables_Koptertool/tags/V3.2/debug.h |
---|
0,0 → 1,36 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _DEBUG_H |
#define _DEBUG_H |
//***************************************************************************** |
// |
#if defined (__AVR_ATmega32__) |
extern uint8_t AnalogNamesRead; |
#else |
extern uint8_t AnalogNamesRead[2]; |
#endif |
//***************************************************************************** |
// |
void display_debug(void); |
#endif |
/Transportables_Koptertool/tags/V3.2/displ_val.c |
---|
0,0 → 1,88 |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include "main.h" |
#include "lcd.h" |
#include "usart.h" |
// Insgesamt 32 Werte können angezeigt werden |
// jeweils 8 Stück werden gleichzeitg angezeigt |
// Auswahl über Tasten |
uint8_t displ_page; |
void displ_get_text (uint8_t number) |
{ |
#if 0 |
uint8_t text[17]; |
uint8_t i; |
buffer[0] = '#'; |
buffer[1] = 'a'; |
buffer[2] = 'a'; |
buffer[3] = number; |
buffer[4] = 0; |
buffer[5] = 0; |
// base64_send(6); |
do |
{ |
// get_message (); |
} |
while (buffer[1] != 'A'); |
for (i = 0; i < 16; i++) |
text[i] = buffer[i]; |
text[16] = 0x00; |
lcd_print_at (0, (number & 0x07), text, 0); |
#endif |
} |
void displ_values (void) |
{ |
#if 0 |
uint8_t displ_page, i; |
int16_t value; |
uint8_t text[17]; |
displ_page = 0; // Page 0..3 (4 Pages zu je 8 Werte) |
lcd_cls (); // LCD löschen |
do |
{ |
for (i = 0; i < 8; i++) // Texte lesen und anzeigen |
displ_get_text (i + displ_page * 8); |
do |
{ |
// get_message (); |
if (buffer[1] == 'D') |
{ |
for (i = 0; i < 8; i++) |
{ |
value = buffer[i * 2 + displ_page * 16 + 2] + 256 * buffer[i * 2 + displ_page * 16 + 3]; |
itoa (value, text, 10); |
lcd_printp_at (14, i, PSTR(" "), 0); |
lcd_print_at (14, i, text, 0); |
} |
} |
} |
while (key == key_nokey); |
if (key == key_minus) |
displ_page++; |
if (key == key_plus) |
displ_page--; |
displ_page &= 0x03; |
} |
while (key != key_enter); |
#endif |
} |
/Transportables_Koptertool/tags/V3.2/displ_val.h |
---|
0,0 → 1,9 |
#ifndef _DISPL_VAL_H |
#define _DISPL_VAL_H |
//***************************************************************************** |
// |
void displ_values(void); |
#endif |
/Transportables_Koptertool/tags/V3.2/display.h |
---|
0,0 → 1,27 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _DISPLAY_H |
#define _DISPLAY_H |
//***************************************************************************** |
// |
void display_data (void); |
#endif |
/Transportables_Koptertool/tags/V3.2/eeprom.c |
---|
0,0 → 1,108 |
/***************************************************************************** |
* Copyright (C) 2010 seb@exse.net * |
* Copyright (C) 2011 Christian Brandtner brandtner@brandtner.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
/*14.6.2011 Parameter erweitert Wi232 Cebra */ |
#include <avr/io.h> |
#include <avr/pgmspace.h> |
#include <util/delay.h> |
#include <stdlib.h> |
#include <string.h> |
#include <avr/eeprom.h> |
#include "lcd.h" |
#include "main.h" |
#include "timer.h" |
#include "eeprom.h" |
#include "Wi232.h" |
#define EEpromVersion 2 |
//***************************************************************************** |
// |
uint8_t EE_LowBat EEMEM= 137; |
uint8_t EE_DisplayTimeout EEMEM= 0; |
uint8_t EE_DisplayLanguage EEMEM= 0; |
uint8_t EE_WiTXRXChannel EEMEM= 1; |
uint8_t EE_WiNetworkGroup EEMEM=66; |
uint8_t EE_WiNetworkMode EEMEM=NetMode_Slave; |
uint8_t EE_PKTVersion EEMEM=EEpromVersion; |
uint8_t EE_LCD_Orientation EEMEM=0; |
volatile uint8_t DisplayTimeout; |
volatile uint8_t DisplayLanguage; |
volatile uint8_t WiTXRXChannel; |
volatile uint8_t WiNetworkGroup; |
volatile uint8_t WiNetworkMode; |
//***************************************************************************** |
// |
void ReadParameter (void) |
{ |
MK_LowBat = eeprom_read_byte(&EE_LowBat); |
DisplayTimeout = eeprom_read_byte(&EE_DisplayTimeout); |
DisplayLanguage = eeprom_read_byte(&EE_DisplayLanguage); |
WiTXRXChannel =eeprom_read_byte(&EE_WiTXRXChannel); |
WiNetworkGroup =eeprom_read_byte(&EE_WiNetworkGroup); |
WiNetworkMode =eeprom_read_byte(&EE_WiNetworkMode); |
LCD_ORIENTATION = eeprom_read_byte(&EE_LCD_Orientation); |
if (eeprom_read_byte(&EE_PKTVersion)!= EEpromVersion) |
{ /* EEPROM auf Default setzen*/ |
MK_LowBat = 137; |
DisplayTimeout = 0; |
DisplayLanguage = 0; |
WiTXRXChannel = 1; |
WiNetworkGroup = 66; |
WiNetworkMode = NetMode_Slave; |
LCD_ORIENTATION = 0; |
eeprom_write_byte(&EE_LowBat, MK_LowBat); |
eeprom_write_byte(&EE_DisplayTimeout, DisplayTimeout); |
eeprom_write_byte(&EE_DisplayLanguage, DisplayLanguage); |
eeprom_write_byte(&EE_WiTXRXChannel, WiTXRXChannel); |
eeprom_write_byte(&EE_WiNetworkGroup, WiNetworkGroup); |
eeprom_write_byte(&EE_WiNetworkMode, WiNetworkMode); |
eeprom_write_byte(&EE_PKTVersion,EEpromVersion); |
eeprom_write_byte(&EE_LCD_Orientation, LCD_ORIENTATION); |
lcd_cls (); |
lcd_printp (PSTR("EEPROM Parameter\r\n"), 0); |
lcd_printp (PSTR("auf Default gesetzt\r\n"), 0); |
lcd_printp (PSTR("weiter mit ENTER\r\n"), 0); |
while (!(get_key_press (1 << KEY_ENTER))); |
return; |
} |
} |
//***************************************************************************** |
// |
void WriteParameter (void) |
{ |
eeprom_write_byte(&EE_LowBat, MK_LowBat); |
eeprom_write_byte(&EE_DisplayTimeout, DisplayTimeout); |
eeprom_write_byte(&EE_DisplayLanguage, DisplayLanguage); |
eeprom_write_byte(&EE_WiTXRXChannel, WiTXRXChannel); |
eeprom_write_byte(&EE_WiNetworkGroup, WiNetworkGroup); |
eeprom_write_byte(&EE_WiNetworkMode, WiNetworkMode); |
eeprom_write_byte(&EE_LCD_Orientation, LCD_ORIENTATION); |
} |
/Transportables_Koptertool/tags/V3.2/eeprom.h |
---|
0,0 → 1,32 |
/***************************************************************************** |
* Copyright (C) 2010 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _EEPROM_H |
#define _EEPROM_H |
void ReadParameter (void); |
void WriteParameter (void); |
uint8_t MK_LowBat; |
extern volatile uint8_t DisplayTimeout; |
extern volatile uint8_t DisplayLanguage; |
extern volatile uint8_t WiTXRXChannel; |
extern volatile uint8_t WiNetworkGroup; |
extern volatile uint8_t WiNetworkMode; |
#endif |
/Transportables_Koptertool/tags/V3.2/font8X6.c |
---|
0,0 → 1,158 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* - font provided by Claas Anders "CaScAdE" Rathje * |
* - umlauts and special characters by Peter "woggle" Mack * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/pgmspace.h> |
// one byte is a column |
// bit 7 is the bottom |
prog_uint8_t font8x6[128][6] = |
{ |
{ 0x78,0x15,0x14,0x15,0x78,0x00 }, // ASCII - 0 'Ä' |
{ 0x20,0x55,0x54,0x55,0x78,0x00 }, // ASCII - 1 'ä' |
{ 0x38,0x45,0x44,0x45,0x38,0x00 }, // ASCII - 2 'Ö' |
{ 0x30,0x49,0x48,0x49,0x30,0x00 }, // ASCII - 3 'ö' |
{ 0x3c,0x41,0x40,0x41,0x3c,0x00 }, // ASCII - 4 'Ü' |
{ 0x38,0x41,0x40,0x21,0x78,0x00 }, // ASCII - 5 'ü' |
{ 0x7e,0x15,0x15,0x15,0x0a,0x00 }, // ASCII - 6 'ß' |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 7 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 8 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 9 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 10 A (not useable) |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 11 B |
{ 0x10,0x38,0x54,0x10,0x10,0x1e }, // ASCII - 12 C Enter Symbol |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 13 D (not useable) |
{ 0x10,0x10,0x10,0x10,0x10,0x10 }, // ASCII - 14 E hor. line |
{ 0x10,0x10,0x10,0x7c,0x10,0x10 }, // ASCII - 15 F hor. line with tick mark |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 16 10 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 17 11 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 18 12 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 19 13 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 20 14 |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 21 15 |
{ 0x04,0x02,0x7f,0x02,0x04,0x00 }, // ASCII - 22 16 Arrow up |
{ 0x10,0x20,0x7f,0x20,0x10,0x00 }, // ASCII - 23 17 Arrow down |
{ 0x10,0x38,0x54,0x10,0x10,0x10 }, // ASCII - 24 18 <- |
{ 0x10,0x10,0x10,0x54,0x38,0x10 }, // ASCII - 25 19 -> |
{ 0x10,0x18,0x1c,0x1c,0x18,0x10 }, // ASCII - 26 1A ^ |
{ 0x08,0x18,0x38,0x38,0x18,0x08 }, // ASCII - 27 1B v |
{ 0x00,0x08,0x1c,0x3e,0x7f,0x00 }, // ASCII - 28 1C < |
{ 0x00,0x7f,0x3e,0x1c,0x08,0x00 }, // ASCII - 29 1D > |
{ 0x06,0x09,0x09,0x09,0x06,0x00 }, // ASCII - 30 1E '°' |
{ 0x06,0x49,0x7d,0x49,0x06,0x00 }, // ASCII - 31 1F RC-Tx |
{ 0x00,0x00,0x00,0x00,0x00,0x00 }, // ASCII - 32 20 ' ' |
{ 0x00,0x00,0x2f,0x00,0x00,0x00 }, // ASCII - 33 21 '!' |
{ 0x00,0x07,0x00,0x07,0x00,0x00 }, // ASCII - 34 22 '"' |
{ 0x14,0x7f,0x14,0x7f,0x14,0x00 }, // ASCII - 35 23 '#' |
{ 0x24,0x2a,0x6b,0x2a,0x12,0x00 }, // ASCII - 36 24 '$' |
{ 0x23,0x13,0x08,0x64,0x62,0x00 }, // ASCII - 37 25 '%' |
{ 0x36,0x49,0x55,0x22,0x50,0x00 }, // ASCII - 38 26 '&' |
{ 0x00,0x05,0x03,0x00,0x00,0x00 }, // ASCII - 39 27 ''' |
{ 0x00,0x1c,0x22,0x41,0x00,0x00 }, // ASCII - 40 28 '(' |
{ 0x00,0x41,0x22,0x1c,0x00,0x00 }, // ASCII - 41 29 ')' |
{ 0x14,0x08,0x3e,0x08,0x14,0x00 }, // ASCII - 42 2a '*' |
{ 0x08,0x08,0x3e,0x08,0x08,0x00 }, // ASCII - 43 2b '+' |
{ 0x00,0x50,0x30,0x00,0x00,0x00 }, // ASCII - 44 2c ',' |
{ 0x08,0x08,0x08,0x08,0x08,0x00 }, // ASCII - 45 2d '-' |
{ 0x00,0x60,0x60,0x00,0x00,0x00 }, // ASCII - 46 2e '.' |
{ 0x20,0x10,0x08,0x04,0x02,0x00 }, // ASCII - 47 2f '/' |
{ 0x3e,0x51,0x49,0x45,0x3e,0x00 }, // ASCII - 48 30 '0' |
{ 0x00,0x42,0x7f,0x40,0x00,0x00 }, // ASCII - 49 31 '1' |
{ 0x42,0x61,0x51,0x49,0x46,0x00 }, // ASCII - 50 32 '2' |
{ 0x21,0x41,0x45,0x4b,0x31,0x00 }, // ASCII - 51 33 '3' |
{ 0x18,0x14,0x12,0x7f,0x10,0x00 }, // ASCII - 52 34 '4' |
{ 0x27,0x45,0x45,0x45,0x39,0x00 }, // ASCII - 53 35 '5' |
{ 0x3c,0x4a,0x49,0x49,0x30,0x00 }, // ASCII - 54 36 '6' |
{ 0x03,0x01,0x71,0x09,0x07,0x00 }, // ASCII - 55 37 '7' |
{ 0x36,0x49,0x49,0x49,0x36,0x00 }, // ASCII - 56 38 '8' |
{ 0x06,0x49,0x49,0x29,0x1e,0x00 }, // ASCII - 57 39 '9' |
{ 0x00,0x36,0x36,0x00,0x00,0x00 }, // ASCII - 58 3a ':' |
{ 0x00,0x56,0x36,0x00,0x00,0x00 }, // ASCII - 59 3b ';' |
{ 0x08,0x14,0x22,0x41,0x00,0x00 }, // ASCII - 60 3c '<' |
{ 0x14,0x14,0x14,0x14,0x14,0x00 }, // ASCII - 61 3d '=' |
{ 0x00,0x41,0x22,0x14,0x08,0x00 }, // ASCII - 62 3e '>' |
{ 0x02,0x01,0x51,0x09,0x06,0x00 }, // ASCII - 63 3f '?' |
{ 0x32,0x49,0x79,0x41,0x3e,0x00 }, // ASCII - 64 40 '@' |
{ 0x7e,0x11,0x11,0x11,0x7e,0x00 }, // ASCII - 65 41 'A' |
{ 0x7f,0x49,0x49,0x49,0x36,0x00 }, // ASCII - 66 42 'B' |
{ 0x3e,0x41,0x41,0x41,0x22,0x00 }, // ASCII - 67 43 'C' |
{ 0x7f,0x41,0x41,0x22,0x1c,0x00 }, // ASCII - 68 44 'D' |
{ 0x7f,0x49,0x49,0x49,0x41,0x00 }, // ASCII - 69 45 'E' |
{ 0x7f,0x09,0x09,0x09,0x01,0x00 }, // ASCII - 70 46 'F' |
{ 0x3e,0x41,0x49,0x49,0x7a,0x00 }, // ASCII - 71 47 'G' |
{ 0x7f,0x08,0x08,0x08,0x7f,0x00 }, // ASCII - 72 48 'H' |
{ 0x00,0x41,0x7f,0x41,0x00,0x00 }, // ASCII - 73 49 'I' |
{ 0x20,0x40,0x41,0x3f,0x01,0x00 }, // ASCII - 74 4a 'J' |
{ 0x7f,0x08,0x14,0x22,0x41,0x00 }, // ASCII - 75 4b 'K' |
{ 0x7f,0x40,0x40,0x40,0x40,0x00 }, // ASCII - 76 4c 'L' |
{ 0x7f,0x02,0x0c,0x02,0x7f,0x00 }, // ASCII - 77 4d 'M' |
{ 0x7f,0x04,0x08,0x10,0x7f,0x00 }, // ASCII - 78 4e 'N' |
{ 0x3e,0x41,0x41,0x41,0x3e,0x00 }, // ASCII - 79 4f 'O' |
{ 0x7f,0x09,0x09,0x09,0x06,0x00 }, // ASCII - 80 50 'P' |
{ 0x3e,0x41,0x51,0x21,0x5e,0x00 }, // ASCII - 81 51 'Q' |
{ 0x7f,0x09,0x19,0x29,0x46,0x00 }, // ASCII - 82 52 'R' |
{ 0x46,0x49,0x49,0x49,0x31,0x00 }, // ASCII - 83 53 'S' |
{ 0x01,0x01,0x7f,0x01,0x01,0x00 }, // ASCII - 84 54 'T' |
{ 0x3f,0x40,0x40,0x40,0x3f,0x00 }, // ASCII - 85 55 'U' |
{ 0x1f,0x20,0x40,0x20,0x1f,0x00 }, // ASCII - 86 56 'V' |
{ 0x3f,0x40,0x38,0x40,0x3f,0x00 }, // ASCII - 87 57 'W' |
{ 0x63,0x14,0x08,0x14,0x63,0x00 }, // ASCII - 88 58 'X' |
{ 0x07,0x08,0x70,0x08,0x07,0x00 }, // ASCII - 89 59 'Y' |
{ 0x61,0x51,0x49,0x45,0x43,0x00 }, // ASCII - 90 5a 'Z' |
{ 0x7f,0x41,0x41,0x00,0x00,0x00 }, // ASCII - 91 5b '[' |
{ 0x02,0x04,0x08,0x10,0x20,0x00 }, // ASCII - 92 5c '\' |
{ 0x00,0x41,0x41,0x7f,0x00,0x00 }, // ASCII - 93 5d ']' |
{ 0x04,0x02,0x01,0x02,0x04,0x00 }, // ASCII - 94 5e '^' |
{ 0x40,0x40,0x40,0x40,0x40,0x00 }, // ASCII - 95 5f '_' |
{ 0x00,0x01,0x02,0x04,0x00,0x00 }, // ASCII - 96 60 '`' |
{ 0x20,0x54,0x54,0x54,0x78,0x00 }, // ASCII - 97 61 'a' |
{ 0x7f,0x48,0x44,0x44,0x38,0x00 }, // ASCII - 98 62 'b' |
{ 0x38,0x44,0x44,0x44,0x20,0x00 }, // ASCII - 99 63 'c' |
{ 0x38,0x44,0x44,0x48,0x7f,0x00 }, // ASCII - 100 64 'd' |
{ 0x38,0x54,0x54,0x54,0x18,0x00 }, // ASCII - 101 65 'e' |
{ 0x08,0x7e,0x09,0x01,0x02,0x00 }, // ASCII - 102 66 'f' |
{ 0x0c,0x52,0x52,0x52,0x3e,0x00 }, // ASCII - 103 67 'g' |
{ 0x7f,0x08,0x04,0x04,0x78,0x00 }, // ASCII - 104 68 'h' |
{ 0x00,0x44,0x7d,0x40,0x00,0x00 }, // ASCII - 105 69 'i' |
{ 0x20,0x40,0x44,0x3d,0x00,0x00 }, // ASCII - 106 6a 'j' |
{ 0x7f,0x10,0x28,0x44,0x00,0x00 }, // ASCII - 107 6b 'k' |
{ 0x00,0x41,0x7f,0x40,0x00,0x00 }, // ASCII - 108 6c 'l' |
{ 0x7c,0x04,0x18,0x04,0x78,0x00 }, // ASCII - 109 6d 'm' |
{ 0x7c,0x08,0x04,0x04,0x78,0x00 }, // ASCII - 110 6e 'n' |
{ 0x38,0x44,0x44,0x44,0x38,0x00 }, // ASCII - 111 6f 'o' |
{ 0x7c,0x14,0x14,0x14,0x08,0x00 }, // ASCII - 112 70 'p' |
{ 0x08,0x14,0x14,0x18,0x7c,0x00 }, // ASCII - 113 71 'q' |
{ 0x7c,0x08,0x04,0x04,0x08,0x00 }, // ASCII - 114 72 'r' |
{ 0x48,0x54,0x54,0x54,0x20,0x00 }, // ASCII - 115 73 's' |
{ 0x04,0x3f,0x44,0x40,0x20,0x00 }, // ASCII - 116 74 't' |
{ 0x3c,0x40,0x40,0x20,0x7c,0x00 }, // ASCII - 117 75 'u' |
{ 0x1c,0x20,0x40,0x20,0x1c,0x00 }, // ASCII - 118 76 'v' |
{ 0x3c,0x40,0x38,0x40,0x3c,0x00 }, // ASCII - 119 77 'w' |
{ 0x44,0x28,0x10,0x28,0x44,0x00 }, // ASCII - 120 78 'x' |
{ 0x0c,0x50,0x50,0x50,0x3c,0x00 }, // ASCII - 121 79 'y' |
{ 0x44,0x64,0x54,0x4c,0x44,0x00 }, // ASCII - 122 7a 'z' |
{ 0x00,0x08,0x36,0x41,0x00,0x00 }, // ASCII - 123 7b '{' |
{ 0x00,0x00,0x7f,0x00,0x00,0x00 }, // ASCII - 124 7c '|' |
{ 0x00,0x41,0x36,0x08,0x00,0x00 }, // ASCII - 125 7d '}' |
{ 0x08,0x08,0x2a,0x1c,0x08,0x00 }, // ASCII - 126 7e -> |
{ 0x08,0x1c,0x2a,0x08,0x08,0x00 }, // ASCII - 127 7f <- |
}; |
/Transportables_Koptertool/tags/V3.2/font8x6.h |
---|
0,0 → 1,31 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* - font provided by Claas Anders "CaScAdE" Rathje * |
* - umlauts and special characters by Peter "woggle" Mack * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _FONT8X6_H |
#define _FONT8X6_H |
#include <avr/pgmspace.h> |
//***************************************************************************** |
// |
extern prog_uint8_t font8x6[128][6]; |
#endif |
/Transportables_Koptertool/tags/V3.2/font8x8.c |
---|
0,0 → 1,271 |
/* |
* font8x8.c |
* LCD-OSD |
* |
* Created by Peter Mack on 26.12.09. |
* Copyright 2009 SCS GmbH & Co. KG. All rights reserved. |
* |
*/ |
#include <avr/pgmspace.h> |
prog_uint8_t font8x8[256][8]={ |
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 0x00 |
{0x7E,0x81,0x95,0xB1,0xB1,0x95,0x81,0x7E}, // 0x01 |
{0x7E,0xFF,0xEB,0xCF,0xCF,0xEB,0xFF,0x7E}, // 0x02 |
{0x0E,0x1F,0x3F,0x7E,0x3F,0x1F,0x0E,0x00}, // 0x03 |
{0x08,0x1C,0x3E,0x7F,0x3E,0x1C,0x08,0x00}, // 0x04 |
{0x38,0x3A,0x9F,0xFF,0x9F,0x3A,0x38,0x00}, // 0x05 |
{0x10,0x38,0xBC,0xFF,0xBC,0x38,0x10,0x00}, // 0x06 |
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 0x07 |
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 0x08 |
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 0x09 |
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 0x0A |
{0x70,0xF8,0x88,0x88,0xFD,0x7F,0x07,0x0F}, // 0x0B |
{0x00,0x4E,0x5F,0xF1,0xF1,0x5F,0x4E,0x00}, // 0x0C |
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 0x0D |
{0xC0,0xFF,0x7F,0x05,0x05,0x65,0x7F,0x3F}, // 0x0E |
{0x99,0x5A,0x3C,0xE7,0xE7,0x3C,0x5A,0x99}, // 0x0F |
{0x7F,0x3E,0x3E,0x1C,0x1C,0x08,0x08,0x00}, // 0x10 |
{0x08,0x08,0x1C,0x1C,0x3E,0x3E,0x7F,0x00}, // 0x11 |
{0x00,0x24,0x66,0xFF,0xFF,0x66,0x24,0x00}, // 0x12 |
{0x00,0x5F,0x5F,0x00,0x00,0x5F,0x5F,0x00}, // 0x13 |
{0x06,0x0F,0x09,0x7F,0x7F,0x01,0x7F,0x7F}, // 0x14 |
{0xDA,0xBF,0xA5,0xA5,0xFD,0x59,0x03,0x02}, // 0x15 |
{0x00,0x70,0x70,0x70,0x70,0x70,0x70,0x00}, // 0x16 |
{0x80,0x94,0xB6,0xFF,0xFF,0xB6,0x94,0x80}, // 0x17 |
{0x00,0x04,0x06,0x7F,0x7F,0x06,0x04,0x00}, // 0x18 |
{0x00,0x10,0x30,0x7F,0x7F,0x30,0x10,0x00}, // 0x19 |
{0x08,0x08,0x08,0x2A,0x3E,0x1C,0x08,0x00}, // 0x1A |
{0x08,0x1C,0x3E,0x2A,0x08,0x08,0x08,0x00}, // 0x1B |
{0x3C,0x3C,0x20,0x20,0x20,0x20,0x20,0x00}, // 0x1C |
{0x08,0x1C,0x3E,0x08,0x08,0x3E,0x1C,0x08}, // 0x1D |
{0x30,0x38,0x3C,0x3E,0x3E,0x3C,0x38,0x30}, // 0x1E |
{0x06,0x0E,0x1E,0x3E,0x3E,0x1E,0x0E,0x06}, // 0x1F |
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 0x20 |
{0x00,0x06,0x5F,0x5F,0x06,0x00,0x00,0x00}, // 0x21 |
{0x00,0x07,0x07,0x00,0x07,0x07,0x00,0x00}, // 0x22 |
{0x14,0x7F,0x7F,0x14,0x7F,0x7F,0x14,0x00}, // 0x23 |
{0x24,0x2E,0x6B,0x6B,0x3A,0x12,0x00,0x00}, // 0x24 |
{0x46,0x66,0x30,0x18,0x0C,0x66,0x62,0x00}, // 0x25 |
{0x30,0x7A,0x4F,0x5D,0x37,0x7A,0x48,0x00}, // 0x26 |
{0x04,0x07,0x03,0x00,0x00,0x00,0x00,0x00}, // 0x27 |
{0x00,0x1C,0x3E,0x63,0x41,0x00,0x00,0x00}, // 0x28 |
{0x00,0x41,0x63,0x3E,0x1C,0x00,0x00,0x00}, // 0x29 |
{0x08,0x2A,0x3E,0x1C,0x1C,0x3E,0x2A,0x08}, // 0x2A |
{0x08,0x08,0x3E,0x3E,0x08,0x08,0x00,0x00}, // 0x2B |
{0x00,0xA0,0xE0,0x60,0x00,0x00,0x00,0x00}, // 0x2C |
{0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00}, // 0x2D |
{0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00}, // 0x2E |
{0x60,0x30,0x18,0x0C,0x06,0x03,0x01,0x00}, // 0x2F |
{0x3E,0x7F,0x59,0x4D,0x7F,0x3E,0x00,0x00}, // 0x30 |
{0x42,0x42,0x7F,0x7F,0x40,0x40,0x00,0x00}, // 0x31 |
{0x62,0x73,0x59,0x49,0x6F,0x66,0x00,0x00}, // 0x32 |
{0x22,0x63,0x49,0x49,0x7F,0x36,0x00,0x00}, // 0x33 |
{0x18,0x1C,0x16,0x13,0x7F,0x7F,0x10,0x00}, // 0x34 |
{0x27,0x67,0x45,0x45,0x7D,0x39,0x00,0x00}, // 0x35 |
{0x3C,0x7E,0x4B,0x49,0x79,0x30,0x00,0x00}, // 0x36 |
{0x03,0x63,0x71,0x19,0x0F,0x07,0x00,0x00}, // 0x37 |
{0x36,0x7F,0x49,0x49,0x7F,0x36,0x00,0x00}, // 0x38 |
{0x06,0x4F,0x49,0x69,0x3F,0x1E,0x00,0x00}, // 0x39 |
{0x00,0x00,0x6C,0x6C,0x00,0x00,0x00,0x00}, // 0x3A |
{0x00,0xA0,0xEC,0x6C,0x00,0x00,0x00,0x00}, // 0x3B |
{0x08,0x1C,0x36,0x63,0x41,0x00,0x00,0x00}, // 0x3C |
{0x14,0x14,0x14,0x14,0x14,0x14,0x00,0x00}, // 0x3D |
{0x00,0x41,0x63,0x36,0x1C,0x08,0x00,0x00}, // 0x3E |
{0x02,0x03,0x51,0x59,0x0F,0x06,0x00,0x00}, // 0x3F |
{0x3E,0x7F,0x41,0x5D,0x5D,0x1F,0x1E,0x00}, // 0x40 |
{0x7C,0x7E,0x13,0x13,0x7E,0x7C,0x00,0x00}, // 0x41 |
{0x41,0x7F,0x7F,0x49,0x49,0x7F,0x36,0x00}, // 0x42 |
{0x1C,0x3E,0x63,0x41,0x41,0x63,0x22,0x00}, // 0x43 |
{0x41,0x7F,0x7F,0x41,0x63,0x7F,0x1C,0x00}, // 0x44 |
{0x41,0x7F,0x7F,0x49,0x5D,0x41,0x63,0x00}, // 0x45 |
{0x41,0x7F,0x7F,0x49,0x1D,0x01,0x03,0x00}, // 0x46 |
{0x1C,0x3E,0x63,0x41,0x51,0x73,0x72,0x00}, // 0x47 |
{0x7F,0x7F,0x08,0x08,0x7F,0x7F,0x00,0x00}, // 0x48 |
{0x00,0x41,0x7F,0x7F,0x41,0x00,0x00,0x00}, // 0x49 |
{0x30,0x70,0x40,0x41,0x7F,0x3F,0x01,0x00}, // 0x4A |
{0x41,0x7F,0x7F,0x08,0x1C,0x77,0x63,0x00}, // 0x4B |
{0x41,0x7F,0x7F,0x41,0x40,0x60,0x70,0x00}, // 0x4C |
{0x7F,0x7F,0x06,0x0C,0x06,0x7F,0x7F,0x00}, // 0x4D |
{0x7F,0x7F,0x06,0x0C,0x18,0x7F,0x7F,0x00}, // 0x4E |
{0x1C,0x3E,0x63,0x41,0x63,0x3E,0x1C,0x00}, // 0x4F |
{0x41,0x7F,0x7F,0x49,0x09,0x0F,0x06,0x00}, // 0x50 |
{0x1E,0x3F,0x21,0x71,0x7F,0x5E,0x00,0x00}, // 0x51 |
{0x41,0x7F,0x7F,0x19,0x39,0x6F,0x46,0x00}, // 0x52 |
{0x26,0x67,0x4D,0x59,0x7B,0x32,0x00,0x00}, // 0x53 |
{0x03,0x41,0x7F,0x7F,0x41,0x03,0x00,0x00}, // 0x54 |
{0x7F,0x7F,0x40,0x40,0x7F,0x7F,0x00,0x00}, // 0x55 |
{0x1F,0x3F,0x60,0x60,0x3F,0x1F,0x00,0x00}, // 0x56 |
{0x7F,0x7F,0x30,0x18,0x30,0x7F,0x7F,0x00}, // 0x57 |
{0x63,0x77,0x1C,0x08,0x1C,0x77,0x63,0x00}, // 0x58 |
{0x07,0x4F,0x78,0x78,0x4F,0x07,0x00,0x00}, // 0x59 |
{0x67,0x73,0x59,0x4D,0x47,0x63,0x71,0x00}, // 0x5A |
{0x00,0x7F,0x7F,0x41,0x41,0x00,0x00,0x00}, // 0x5B |
{0x01,0x03,0x06,0x0C,0x18,0x30,0x60,0x00}, // 0x5C |
{0x00,0x41,0x41,0x7F,0x7F,0x00,0x00,0x00}, // 0x5D |
{0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00}, // 0x5E |
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, // 0x5F |
{0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00}, // 0x60 |
{0x20,0x74,0x54,0x54,0x3C,0x78,0x40,0x00}, // 0x61 |
{0x41,0x3F,0x7F,0x44,0x44,0x7C,0x38,0x00}, // 0x62 |
{0x38,0x7C,0x44,0x44,0x6C,0x28,0x00,0x00}, // 0x63 |
{0x30,0x78,0x48,0x49,0x3F,0x7F,0x40,0x00}, // 0x64 |
{0x38,0x7C,0x54,0x54,0x5C,0x18,0x00,0x00}, // 0x65 |
{0x48,0x7E,0x7F,0x49,0x03,0x02,0x00,0x00}, // 0x66 |
{0x98,0xBC,0xA4,0xA4,0xF8,0x7C,0x04,0x00}, // 0x67 |
{0x41,0x7F,0x7F,0x08,0x04,0x7C,0x78,0x00}, // 0x68 |
{0x00,0x44,0x7D,0x7D,0x40,0x00,0x00,0x00}, // 0x69 |
{0x40,0xC4,0x84,0xFD,0x7D,0x00,0x00,0x00}, // 0x6A |
{0x41,0x7F,0x7F,0x10,0x38,0x6C,0x44,0x00}, // 0x6B |
{0x00,0x41,0x7F,0x7F,0x40,0x00,0x00,0x00}, // 0x6C |
{0x7C,0x7C,0x0C,0x18,0x0C,0x7C,0x78,0x00}, // 0x6D |
{0x7C,0x7C,0x04,0x04,0x7C,0x78,0x00,0x00}, // 0x6E |
{0x38,0x7C,0x44,0x44,0x7C,0x38,0x00,0x00}, // 0x6F |
{0x84,0xFC,0xF8,0xA4,0x24,0x3C,0x18,0x00}, // 0x70 |
{0x18,0x3C,0x24,0xA4,0xF8,0xFC,0x84,0x00}, // 0x71 |
{0x44,0x7C,0x78,0x44,0x1C,0x18,0x00,0x00}, // 0x72 |
{0x48,0x5C,0x54,0x54,0x74,0x24,0x00,0x00}, // 0x73 |
{0x00,0x04,0x3E,0x7F,0x44,0x24,0x00,0x00}, // 0x74 |
{0x3C,0x7C,0x40,0x40,0x3C,0x7C,0x40,0x00}, // 0x75 |
{0x1C,0x3C,0x60,0x60,0x3C,0x1C,0x00,0x00}, // 0x76 |
{0x3C,0x7C,0x60,0x30,0x60,0x7C,0x3C,0x00}, // 0x77 |
{0x44,0x6C,0x38,0x10,0x38,0x6C,0x44,0x00}, // 0x78 |
{0x9C,0xBC,0xA0,0xA0,0xFC,0x7C,0x00,0x00}, // 0x79 |
{0x4C,0x64,0x74,0x5C,0x4C,0x64,0x00,0x00}, // 0x7A |
{0x08,0x08,0x3E,0x77,0x41,0x41,0x00,0x00}, // 0x7B |
{0x00,0x00,0x00,0x77,0x77,0x00,0x00,0x00}, // 0x7C |
{0x41,0x41,0x77,0x3E,0x08,0x08,0x00,0x00}, // 0x7D |
{0x02,0x03,0x01,0x03,0x02,0x03,0x01,0x00}, // 0x7E |
{0x78,0x7C,0x46,0x43,0x46,0x7C,0x78,0x00}, // 0x7F |
{0x1E,0xBF,0xE1,0x61,0x33,0x12,0x00,0x00}, // 0x80 |
{0x3A,0x7A,0x40,0x40,0x7A,0x7A,0x40,0x00}, // 0x81 |
{0x38,0x7C,0x56,0x57,0x5D,0x18,0x00,0x00}, // 0x82 |
{0x02,0x23,0x75,0x55,0x55,0x7D,0x7B,0x42}, // 0x83 |
{0x21,0x75,0x54,0x54,0x7D,0x79,0x40,0x00}, // 0x84 |
{0x20,0x75,0x57,0x56,0x7C,0x78,0x40,0x00}, // 0x85 |
{0x00,0x22,0x77,0x55,0x55,0x7F,0x7A,0x40}, // 0x86 |
{0x1C,0xBE,0xE2,0x62,0x36,0x14,0x00,0x00}, // 0x87 |
{0x02,0x3B,0x7D,0x55,0x55,0x5D,0x1B,0x02}, // 0x88 |
{0x39,0x7D,0x54,0x54,0x5D,0x19,0x00,0x00}, // 0x89 |
{0x38,0x7D,0x57,0x56,0x5C,0x18,0x00,0x00}, // 0x8A |
{0x01,0x45,0x7C,0x7C,0x41,0x01,0x00,0x00}, // 0x8B |
{0x02,0x03,0x45,0x7D,0x7D,0x43,0x02,0x00}, // 0x8C |
{0x00,0x45,0x7F,0x7E,0x40,0x00,0x00,0x00}, // 0x8D |
{0x79,0x7D,0x26,0x26,0x7D,0x79,0x00,0x00}, // 0x8E |
{0x70,0x7A,0x2D,0x2D,0x7A,0x70,0x00,0x00}, // 0x8F |
{0x44,0x7C,0x7E,0x57,0x55,0x44,0x00,0x00}, // 0x90 |
{0x20,0x74,0x54,0x54,0x7C,0x7C,0x54,0x54}, // 0x91 |
{0x7C,0x7E,0x0B,0x09,0x7F,0x7F,0x49,0x00}, // 0x92 |
{0x32,0x7B,0x49,0x49,0x7B,0x32,0x00,0x00}, // 0x93 |
{0x32,0x7A,0x48,0x48,0x7A,0x32,0x00,0x00}, // 0x94 |
{0x30,0x79,0x4B,0x4A,0x78,0x30,0x00,0x00}, // 0x95 |
{0x3A,0x7B,0x41,0x41,0x7B,0x7A,0x40,0x00}, // 0x96 |
{0x38,0x79,0x43,0x42,0x78,0x78,0x40,0x00}, // 0x97 |
{0xBA,0xBA,0xA0,0xA0,0xFA,0x7A,0x00,0x00}, // 0x98 |
{0x39,0x7D,0x44,0x44,0x44,0x7D,0x39,0x00}, // 0x99 |
{0x3D,0x7D,0x40,0x40,0x7D,0x3D,0x00,0x00}, // 0x9A |
{0x38,0x7C,0x64,0x54,0x4C,0x7C,0x38,0x00}, // 0x9B |
{0x68,0x7E,0x7F,0x49,0x43,0x66,0x20,0x00}, // 0x9C |
{0x5C,0x3E,0x73,0x49,0x67,0x3E,0x1D,0x00}, // 0x9D |
{0x44,0x6C,0x38,0x38,0x6C,0x44,0x00,0x00}, // 0x9E |
{0x40,0xC8,0x88,0xFE,0x7F,0x09,0x0B,0x02}, // 0x9F |
{0x20,0x74,0x56,0x57,0x7D,0x78,0x40,0x00}, // 0xA0 |
{0x00,0x44,0x7E,0x7F,0x41,0x00,0x00,0x00}, // 0xA1 |
{0x30,0x78,0x48,0x4A,0x7B,0x31,0x00,0x00}, // 0xA2 |
{0x38,0x78,0x40,0x42,0x7B,0x79,0x40,0x00}, // 0xA3 |
{0x7A,0x7B,0x09,0x0B,0x7A,0x73,0x01,0x00}, // 0xA4 |
{0x7A,0x7B,0x19,0x33,0x7A,0x7B,0x01,0x00}, // 0xA5 |
{0x00,0x26,0x2F,0x29,0x2F,0x2F,0x28,0x00}, // 0xA6 |
{0x00,0x26,0x2F,0x29,0x29,0x2F,0x26,0x00}, // 0xA7 |
{0x30,0x78,0x4D,0x45,0x60,0x20,0x00,0x00}, // 0xA8 |
{0x1C,0x22,0x7D,0x4B,0x5B,0x65,0x22,0x1C}, // 0xA9 |
{0x08,0x08,0x08,0x08,0x38,0x38,0x00,0x00}, // 0xAA |
{0x61,0x3F,0x1F,0xCC,0xEE,0xAB,0xB9,0x90}, // 0xAB |
{0x61,0x3F,0x1F,0x4C,0x66,0x73,0xD9,0xF8}, // 0xAC |
{0x00,0x00,0x60,0xFA,0xFA,0x60,0x00,0x00}, // 0xAD |
{0x08,0x1C,0x36,0x22,0x08,0x1C,0x36,0x22}, // 0xAE |
{0x22,0x36,0x1C,0x08,0x22,0x36,0x1C,0x08}, // 0xAF |
{0xAA,0x00,0x55,0x00,0xAA,0x00,0x55,0x00}, // 0xB0 |
{0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55}, // 0xB1 |
{0x55,0xFF,0xAA,0xFF,0x55,0xFF,0xAA,0xFF}, // 0xB2 |
{0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00}, // 0xB3 |
{0x10,0x10,0x10,0xFF,0xFF,0x00,0x00,0x00}, // 0xB4 |
{0x70,0x78,0x2C,0x2E,0x7B,0x71,0x00,0x00}, // 0xB5 |
{0x72,0x79,0x2D,0x2D,0x79,0x72,0x00,0x00}, // 0xB6 |
{0x71,0x7B,0x2E,0x2C,0x78,0x70,0x00,0x00}, // 0xB7 |
{0x1C,0x22,0x5D,0x55,0x55,0x41,0x22,0x1C}, // 0xB8 |
{0x14,0x14,0xF7,0xF7,0x00,0xFF,0xFF,0x00}, // 0xB9 |
{0x00,0x00,0xFF,0xFF,0x00,0xFF,0xFF,0x00}, // 0xBA |
{0x14,0x14,0xF4,0xF4,0x04,0xFC,0xFC,0x00}, // 0xBB |
{0x14,0x14,0x17,0x17,0x10,0x1F,0x1F,0x00}, // 0xBC |
{0x18,0x3C,0x24,0xE7,0xE7,0x24,0x24,0x00}, // 0xBD |
{0x2B,0x2F,0xFC,0xFC,0x2F,0x2B,0x00,0x00}, // 0xBE |
{0x10,0x10,0x10,0xF0,0xF0,0x00,0x00,0x00}, // 0xBF |
{0x00,0x00,0x00,0x1F,0x1F,0x10,0x10,0x10}, // 0xC0 |
{0x10,0x10,0x10,0x1F,0x1F,0x10,0x10,0x10}, // 0xC1 |
{0x10,0x10,0x10,0xF0,0xF0,0x10,0x10,0x10}, // 0xC2 |
{0x00,0x00,0x00,0xFF,0xFF,0x10,0x10,0x10}, // 0xC3 |
{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10}, // 0xC4 |
{0x10,0x10,0x10,0xFF,0xFF,0x10,0x10,0x10}, // 0xC5 |
{0x22,0x77,0x55,0x57,0x7E,0x7B,0x41,0x00}, // 0xC6 |
{0x72,0x7B,0x2D,0x2F,0x7A,0x73,0x01,0x00}, // 0xC7 |
{0x00,0x00,0x1F,0x1F,0x10,0x17,0x17,0x14}, // 0xC8 |
{0x00,0x00,0xFC,0xFC,0x04,0xF4,0xF4,0x14}, // 0xC9 |
{0x14,0x14,0x17,0x17,0x10,0x17,0x17,0x14}, // 0xCA |
{0x14,0x14,0xF4,0xF4,0x04,0xF4,0xF4,0x14}, // 0xCB |
{0x00,0x00,0xFF,0xFF,0x00,0xF7,0xF7,0x14}, // 0xCC |
{0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14}, // 0xCD |
{0x14,0x14,0xF7,0xF7,0x00,0xF7,0xF7,0x14}, // 0xCE |
{0x66,0x3C,0x3C,0x24,0x3C,0x3C,0x66,0x00}, // 0xCF |
{0x05,0x27,0x72,0x57,0x7D,0x38,0x00,0x00}, // 0xD0 |
{0x49,0x7F,0x7F,0x49,0x63,0x7F,0x1C,0x00}, // 0xD1 |
{0x46,0x7D,0x7D,0x55,0x55,0x46,0x00,0x00}, // 0xD2 |
{0x45,0x7D,0x7C,0x54,0x55,0x45,0x00,0x00}, // 0xD3 |
{0x44,0x7D,0x7F,0x56,0x54,0x44,0x00,0x00}, // 0xD4 |
{0x0A,0x0E,0x08,0x00,0x00,0x00,0x00,0x00}, // 0xD5 |
{0x00,0x44,0x7E,0x7F,0x45,0x00,0x00,0x00}, // 0xD6 |
{0x02,0x45,0x7D,0x7D,0x45,0x02,0x00,0x00}, // 0xD7 |
{0x01,0x45,0x7C,0x7C,0x45,0x01,0x00,0x00}, // 0xD8 |
{0x10,0x10,0x10,0x1F,0x1F,0x00,0x00,0x00}, // 0xD9 |
{0x00,0x00,0x00,0xF0,0xF0,0x10,0x10,0x10}, // 0xDA |
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, // 0xDB |
{0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0}, // 0xDC |
{0x00,0x00,0x00,0x77,0x77,0x00,0x00,0x00}, // 0xDD |
{0x00,0x45,0x7F,0x7E,0x44,0x00,0x00,0x00}, // 0xDE |
{0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F}, // 0xDF |
{0x38,0x7C,0x46,0x47,0x45,0x7C,0x38,0x00}, // 0xE0 |
{0xFC,0xFE,0x2A,0x2A,0x3E,0x14,0x00,0x00}, // 0xE1 |
{0x3A,0x7D,0x45,0x45,0x45,0x7D,0x3A,0x00}, // 0xE2 |
{0x38,0x7C,0x45,0x47,0x46,0x7C,0x38,0x00}, // 0xE3 |
{0x32,0x7B,0x49,0x4B,0x7A,0x33,0x01,0x00}, // 0xE4 |
{0x3A,0x7F,0x45,0x47,0x46,0x7F,0x39,0x00}, // 0xE5 |
{0x80,0xFE,0x7E,0x20,0x20,0x3E,0x1E,0x00}, // 0xE6 |
{0x42,0x7E,0x7E,0x54,0x1C,0x08,0x00,0x00}, // 0xE7 |
{0x41,0x7F,0x7F,0x55,0x14,0x1C,0x08,0x00}, // 0xE8 |
{0x3C,0x7C,0x42,0x43,0x7D,0x3C,0x00,0x00}, // 0xE9 |
{0x3A,0x79,0x41,0x41,0x79,0x3A,0x00,0x00}, // 0xEA |
{0x3C,0x7D,0x43,0x42,0x7C,0x3C,0x00,0x00}, // 0xEB |
{0xB8,0xB8,0xA2,0xA3,0xF9,0x78,0x00,0x00}, // 0xEC |
{0x0C,0x5C,0x72,0x73,0x5D,0x0C,0x00,0x00}, // 0xED |
{0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00}, // 0xEE |
{0x00,0x00,0x02,0x03,0x01,0x00,0x00,0x00}, // 0xEF |
{0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00}, // 0xF0 |
{0x44,0x44,0x5F,0x5F,0x44,0x44,0x00,0x00}, // 0xF1 |
{0x28,0x28,0x28,0x28,0x28,0x28,0x00,0x00}, // 0xF2 |
{0x71,0x35,0x1F,0x4C,0x66,0x73,0xD9,0xF8}, // 0xF3 |
{0x06,0x0F,0x09,0x7F,0x7F,0x01,0x7F,0x7F}, // 0xF4 |
{0xDA,0xBF,0xA5,0xA5,0xFD,0x59,0x03,0x02}, // 0xF5 |
{0x08,0x08,0x6B,0x6B,0x08,0x08,0x00,0x00}, // 0xF6 |
{0x00,0x80,0xC0,0x40,0x00,0x00,0x00,0x00}, // 0xF7 |
{0x00,0x06,0x0F,0x09,0x0F,0x06,0x00,0x00}, // 0xF8 |
{0x02,0x02,0x00,0x00,0x02,0x02,0x00,0x00}, // 0xF9 |
{0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x00}, // 0xFA |
{0x00,0x12,0x13,0x1F,0x1F,0x10,0x10,0x00}, // 0xFB |
{0x00,0x11,0x15,0x15,0x1F,0x1F,0x0A,0x00}, // 0xFC |
{0x00,0x19,0x1D,0x15,0x17,0x12,0x00,0x00}, // 0xFD |
{0x00,0x00,0x3C,0x3C,0x3C,0x3C,0x00,0x00}, // 0xFE |
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} // 0xFF |
}; |
/Transportables_Koptertool/tags/V3.2/font8x8.h |
---|
0,0 → 1,19 |
/* |
* font8x8.h |
* LCD-OSD |
* |
* Created by Peter Mack on 26.12.09. |
* Copyright 2009 SCS GmbH & Co. KG. All rights reserved. |
* |
*/ |
#ifndef _FONT8X8_H |
#define _FONT8X8_H |
#include <avr/pgmspace.h> |
//***************************************************************************** |
// |
extern prog_uint8_t font8x8[256][8]; |
#endif |
/Transportables_Koptertool/tags/V3.2/gps.c |
---|
0,0 → 1,360 |
/***************************************************************************** |
* Copyright (C) 2010 Sebastian Boehm, seb@exse.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include "main.h" |
#include "lcd.h" |
#include "timer.h" |
#include "usart.h" |
#define TIMEOUT 200 // 2 sec |
uint8_t ck_a = 0; |
uint8_t ck_b = 0; |
uint8_t UBX_class = 0; |
uint8_t UBX_id = 0; |
uint8_t UBX_buffer[250]; |
uint8_t UBX_payload_counter = 0; |
void checksum(uint8_t); |
void UBX_process(void); |
uint32_t join_4_bytes(uint8_t*); |
uint8_t display_mode = 0; |
void gps(void) |
{ |
lcd_cls(); |
display_mode = 2; |
if (hardware == FC) |
{ |
lcd_printp_at(0, 3, PSTR("Only with NC !"), 0); |
timer = 100; |
while (timer > 0); |
return; |
} |
if(current_hardware != NC) SwitchToNC(); |
SwitchToGPS(); |
uint8_t mode = 0; |
// SendOutData ('d', ADDRESS_ANY, 1, &tmp_dat, 1); |
timer = TIMEOUT; |
uint8_t data = 0; |
uint8_t length = 0; |
uint8_t UBX_ck_a = 0; |
do |
{ |
// if (rxFlag == 1) |
if (uart_getc_nb(&data)) |
{ |
//rxFlag = 0; |
//data = rx_byte; |
timer = TIMEOUT; |
switch(mode) |
{ |
case 0: // init 1 |
if(data == 0xB5) |
{ |
UBX_payload_counter = 0; |
UBX_id = 0; |
UBX_class = 0; |
ck_a = 0; |
ck_b = 0; |
mode++; |
} |
break; |
case 1: // init 2 |
if(data == 0x62) |
{ |
mode++; |
} |
else |
{ |
mode = 0; |
} |
break; |
case 2: //class |
if(data != 1) |
{ |
mode = 0; |
} |
else |
{ |
checksum(data); |
UBX_class = data; |
mode++; |
} |
break; |
case 3: // id |
if((data != 48)&&(data != 6)&&(data != 18)&&(data != 2)) |
{ |
mode = 0; |
} |
else |
{ |
UBX_id = data; |
checksum(data); |
mode++; |
} |
break; |
case 4: // length lo |
if(data > 250) |
{ |
mode = 0; |
} |
else |
{ |
checksum(data); |
length = data; |
mode++; |
} |
break; |
case 5: // length hi |
if(data != 0) |
{ |
mode = 0; |
} |
else |
{ |
checksum(data); |
mode++; |
} |
break; |
case 6: // length hi |
length--; |
UBX_buffer[UBX_payload_counter] = data; |
checksum(data); |
UBX_payload_counter++; |
if(length==0) |
{ |
mode++; |
}; |
break; |
case 7: // check lo |
mode++; |
UBX_ck_a = data; |
break; |
case 8: // check hi |
mode=0; |
if((UBX_ck_a == ck_a)&&(data == ck_b)) |
{ |
UBX_process(); |
} |
} |
// write_ndigit_number_u (14, 0, data, 3, 0); |
} |
} |
while (!get_key_press (1 << KEY_ESC) && timer); |
get_key_press(KEY_ALL); |
SwitchToNC(); |
} |
void UBX_process() |
{ |
if ((get_key_press (1 << KEY_MINUS))||(display_mode ==2)) |
{ |
if (display_mode != 1) |
{ |
lcd_cls(); |
lcd_printp_at (0,0, PSTR("Fix Type : "), 0); |
lcd_printp_at (0,1, PSTR("Sat : "), 0); |
lcd_printp_at (0,2, PSTR("Accuracy : "), 0); |
lcd_printp_at (0,3, PSTR("PDOP : "), 0); |
lcd_printp_at (0,4, PSTR("Speed : "), 0); |
lcd_printp_at (0,5, PSTR("Long : "), 0); |
lcd_printp_at (0,6, PSTR("Lat : "), 0); |
lcd_printp_at (0,7, PSTR("Alt : "), 0); |
} |
display_mode = 1; |
} |
if (get_key_press (1 << KEY_PLUS)) |
{ |
if (display_mode == 1) |
{ |
lcd_cls(); |
} |
display_mode = 0; |
} |
if((UBX_class == 1)&&(UBX_id == 48)&&(display_mode == 0)) |
{ |
uint8_t channels = UBX_buffer[4]; |
uint8_t i = 0; |
for(i = 0; i < channels; i++) |
{ |
if (i > 15) break; |
uint8_t line; |
uint8_t col; |
if(i > 7) |
{ |
line = i-7;col = 11; |
} |
else |
{ |
col = 0; line = i; |
} |
write_ndigit_number_u (col, line, UBX_buffer[9 + 12*i], 3, 0); |
write_ndigit_number_u (col+4, line, UBX_buffer[12 + 12*i], 2, 0); |
if((UBX_buffer[10 + 12*i] & 3) == 3) |
{ |
lcd_printp_at (col+7,line, PSTR("O"), 0); |
} |
else if((UBX_buffer[10 + 12*i] & 1) == 1) |
{ |
lcd_printp_at (col+7,line, PSTR("X"), 0); |
} |
else if(UBX_buffer[11 + 12*i] > 4) |
{ |
lcd_printp_at (col+7,line, PSTR("x"), 0); |
} |
else if(UBX_buffer[11 + 12*i] > 1) |
{ |
lcd_printp_at (col+7,line, PSTR("-"), 0); |
} |
else |
{ |
lcd_printp_at (col+7,line, PSTR(" "), 0); |
} |
} |
} |
if(display_mode == 1) |
{ |
if((UBX_class == 1)&&(UBX_id == 6))//SVINFO |
{ |
switch (UBX_buffer[10]) |
{ |
case 4: |
case 3: |
lcd_printp_at (11,0, PSTR("3D"), 0); |
break; |
case 2: |
lcd_printp_at (11,0, PSTR("2D"), 0); |
break; |
default: |
lcd_printp_at (11,0, PSTR("no"), 0); |
} |
if((UBX_buffer[11] & 3) == 3) |
{ |
lcd_printp_at (17,0, PSTR("D"), 0); |
} |
else |
{ |
lcd_printp_at (17,0, PSTR(" "), 0); |
} |
if((UBX_buffer[11] & 1) == 1) |
{ |
lcd_printp_at (14,0, PSTR("ok"), 0); |
} |
else |
{ |
lcd_printp_at (14,0, PSTR(" "), 0); |
} |
lcd_write_number_u_at (11, 1, UBX_buffer[47]); |
uint16_t pdop = UBX_buffer[44]+UBX_buffer[45]*255; |
write_ndigit_number_u (11, 3, pdop/100, 2, 0); |
lcd_printp_at (13,3, PSTR("."), 0); |
write_ndigit_number_u (14, 3, (pdop % 100),2, 1); |
uint16_t acc = (uint16_t)join_4_bytes(&UBX_buffer[24]); |
write_ndigit_number_u (11, 2, acc, 5, 0); |
lcd_printp_at (17,2, PSTR("cm"), 0); |
} |
if((UBX_class == 1)&&(UBX_id == 18))//VELNED |
{ |
uint16_t speed = (uint16_t)((join_4_bytes(&UBX_buffer[20])*60*60)/100000); |
write_ndigit_number_u (11, 4, speed, 3, 0); |
lcd_printp_at (15,4, PSTR("km/h"), 0); |
} |
if((UBX_class == 1)&&(UBX_id == 2))//POSLLH |
{ |
uint16_t height = (uint16_t)(join_4_bytes(&UBX_buffer[16])/1000); |
write_ndigit_number_u (11, 7, height, 4, 0); |
lcd_printp_at (16,7, PSTR("m"), 0); |
uint32_t lon = join_4_bytes(&UBX_buffer[4]); |
write_ndigit_number_u (11, 5, (uint16_t)(lon/10000000), 3, 0); |
lcd_printp_at (14,5, PSTR("."), 0); |
write_ndigit_number_u (15, 5, (uint16_t)((lon/1000) % 10000), 4, 1); |
write_ndigit_number_u (19, 5, (uint16_t)((lon/10) % 100), 2, 1); |
uint32_t lat = join_4_bytes(&UBX_buffer[8]); |
write_ndigit_number_u (11, 6, (uint16_t)(lat/10000000), 3, 0); |
lcd_printp_at (14,6, PSTR("."), 0); |
write_ndigit_number_u (15, 6, (uint16_t)((lat/1000) % 10000), 4, 1); |
write_ndigit_number_u (19, 6, (uint16_t)((lat/10) % 100), 2, 1); |
} |
} |
} |
union long_union { |
uint32_t dword; |
uint8_t byte[4]; |
} longUnion; |
union int_union { |
uint16_t dword; |
uint8_t byte[2]; |
} intUnion; |
uint32_t join_4_bytes(uint8_t Buffer[]) |
{ |
longUnion.byte[0] = *Buffer; |
longUnion.byte[1] = *(Buffer+1); |
longUnion.byte[2] = *(Buffer+2); |
longUnion.byte[3] = *(Buffer+3); |
return(longUnion.dword); |
} |
void checksum(uint8_t data) |
{ |
ck_a += data; |
ck_b += ck_a; |
} |
/Transportables_Koptertool/tags/V3.2/gps.h |
---|
0,0 → 1,8 |
#ifndef _GPS_H |
#define _GPS_H |
//***************************************************************************** |
// |
void gps (void); |
#endif |
/Transportables_Koptertool/tags/V3.2/jeti.c |
---|
0,0 → 1,261 |
/***************************************************************************** |
* Copyright (C) 2009-2010 Peter "woggle" Mack, mac@denich.net * |
* * |
* see this fine thread on RCLine: * |
* http://www.rclineforum.de/forum/thread.php?threadid=226786 * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include <util/delay.h> |
#include "main.h" // LEDs |
#include "timer.h" // Keys |
#include "lcd.h" |
#include "jeti.h" |
#include "usart.h" |
#define font8x8 |
uint8_t JetiBuffer[32]; // 32 characters |
volatile uint8_t JetiBufferReady; |
//***************************************************************************** |
// |
#if 0 |
ISR (USART_RXC_vect) |
{ |
uint8_t stat; |
uint8_t rh; |
uint8_t rl; |
static uint8_t jbp; |
stat = UCSRA; |
rh = UCSRB; |
rl = UDR; |
if (stat & ((1 << FE) | (1 << DOR0) | (1 << UPE))) |
{ // discard buffer and start new on any error |
JetiBufferReady = 0; |
jbp = 0; |
//1234567890123456 |
lcd_printpj_at (0, 3, PSTR(" Communication "), 0); |
lcd_printpj_at (0, 4, PSTR(" Error "), 0); |
// LED6_TOGGLE; |
} |
else if ((rh & (1 << RXB8)) == 0) |
{ // control |
if (rl == 0xfe) |
{ // start condition |
JetiBufferReady = 0; |
jbp = 0; |
// LED1_ON; |
} |
else if (rl == 0xff) |
{ // stop condition |
JetiBufferReady = 1; |
// LED1_OFF; |
} |
} |
else |
{ // data |
if (jbp < 32) |
{ |
JetiBuffer[jbp++] = rl; |
} |
} |
} |
#endif |
//***************************************************************************** |
// |
void JETI_Init (void) |
{ |
DDRD &= ~(1 << DDD3); // set TXD1 pin as input |
PORTD &= ~(1 << PORTD3); // disable pullup on TXD1 pin |
// set clock divider |
#undef BAUD |
#define BAUD 9600 |
#include <util/setbaud.h> |
UBRRH = UBRRH_VALUE; |
UBRRL = UBRRL_VALUE; |
#if USE_2X |
UCSR1A |= (1 << U2X1); // enable double speed operation |
#else |
UCSRA &= ~(1 << U2X); // disable double speed operation |
#endif |
// set 9O1 |
UCSRC = (1 << UPM1) | (1 << UPM1) | (1 << UCSZ1) | (1 << UCSZ0); |
UCSRB = (1 << UCSZ2); |
// flush receive buffer |
while ( UCSRA & (1 << RXC) ) UDR; |
} |
//***************************************************************************** |
// disable the txd pin of usart |
void JETI_DisableTXD (void) |
{ |
UCSRB &= ~(1 << TXEN); // disable TX} |
} |
//***************************************************************************** |
// enable the txd pin of usart |
void JETI_EnableTXD (void) |
{ |
UCSRB |= (1 << TXEN); // enable TX |
} |
//***************************************************************************** |
// |
void JETI_putw (uint16_t c) |
{ |
loop_until_bit_is_set(UCSRA, UDRE); |
UCSRB &= ~(1 << TXB8); |
if (c & 0x0100) |
{ |
UCSRB |= (1 << TXB8); |
} |
UDR = c; |
} |
//***************************************************************************** |
// |
void JETI_putc (uint8_t c) |
{ |
loop_until_bit_is_set(UCSRA, UDRE); |
// UCSRB &= ~(1 << TXB8); |
UCSRB |= (1 << TXB8); |
UDR = c; |
} |
//***************************************************************************** |
// |
void JETI_puts (char *s) |
{ |
while (*s) |
{ |
JETI_putc (*s); |
s++; |
} |
} |
//***************************************************************************** |
// |
void JETI_puts_p (const char *s) |
{ |
while (pgm_read_byte(s)) |
{ |
JETI_putc (pgm_read_byte(s)); |
s++; |
} |
} |
//***************************************************************************** |
// |
void JETI_put_start (void) |
{ |
loop_until_bit_is_set(UCSRA, UDRE); |
UCSRB &= ~(1 << TXB8); |
UDR = 0xFE; |
} |
//***************************************************************************** |
// |
void JETI_put_stop (void) |
{ |
loop_until_bit_is_set(UCSRA, UDRE); |
UCSRB &= ~(1 << TXB8); |
UDR = 0xFF; |
} |
//***************************************************************************** |
// |
void jeti (void) |
{ |
uint8_t key; |
uint8_t i; |
// enable Rx |
UCSRB |= (1 << RXEN); |
UCSRB |= (1 << RXCIE); |
lcd_cls (); |
lcd_printp_at (0, 0, PSTR("Jeti Box Display"), 0); |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b \x1c \x1d"), 0); |
#ifdef font8x8 |
lcd_line(0, 21, 127, 21, 1); |
lcd_line(0, 22, 127, 22, 1); |
lcd_line(0, 40, 127, 40, 1); |
lcd_line(0, 41, 127, 41, 1); |
#else |
lcd_rect(10, 22, 98, 18, 1); |
#endif |
do |
{ |
if (JetiBufferReady) |
{ |
JETI_EnableTXD(); |
// LED2_ON; |
for (i = 0; i < 16; i++) |
{ |
#ifdef font8x8 |
lcd_putc_jeti(i, 3, JetiBuffer[i], 0); |
#else |
lcd_putc (2 + i, 3, JetiBuffer[i], 0); |
#endif |
} |
for (i = 0; i < 16; i++) |
{ |
#ifdef font8x8 |
lcd_putc_jeti(i, 4, JetiBuffer[i + 16], 0); |
#else |
lcd_putc (2 + i, 4, JetiBuffer[i + 16], 0); |
#endif |
} |
JetiBufferReady = 0; // invalidate buffer |
// LED2_OFF; |
_delay_ms (1); // |
// Writing to the display takes aprox. 5.8 ms @ 7 MHz and 3.2 ms @ 20 MHz. |
// With the additional 4 ms we had a 10 ms delay. |
// 10 ms works perfect with the MUI30 and the MT125 |
// But not with the TU transceiver module. |
key = get_key_short ((1 << KEY_MINUS) | (1 << KEY_PLUS) | (1 << KEY_ESC) | (1 << KEY_ENTER)); |
key = (key << 1) | (key >> 3); |
key = (~key) & 0xf0; |
JETI_putw((uint16_t) key); |
_delay_ms (1); |
JETI_DisableTXD(); |
} |
} |
while (!get_key_long (1 << KEY_ESC)); |
get_key_press(KEY_ALL); |
// disable Rx |
UCSRB &= ~(1 << RXCIE); |
UCSRB &= ~(1 << RXEN); |
} |
/Transportables_Koptertool/tags/V3.2/jeti.h |
---|
0,0 → 1,41 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* see this fine thread on RCLine: * |
* http://www.rclineforum.de/forum/thread.php?threadid=226786 * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _JETI_H |
#define _JETI_H |
//***************************************************************************** |
// |
void JETI_Init (void); |
void JETI_DisableTXD (void); |
void JETI_EnableTXD (void); |
void JETI_putw (uint16_t c); |
void JETI_putc (uint8_t c); |
void JETI_puts (char *s); |
void JETI_puts_p (const char *s); |
void JETI_put_start (void); |
void JETI_put_stop (void); |
void jeti (void); |
#endif |
/Transportables_Koptertool/tags/V3.2/lcd.c |
---|
0,0 → 1,1171 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* - original LCD control by Thomas "thkais" Kaiser * |
* - special number formating routines taken from C-OSD * |
* from Claas Anders "CaScAdE" Rathje * |
* - some extension, ellipse and circ_line by Peter "woggle" Mack * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/pgmspace.h> |
#include <util/delay.h> |
#include <stdlib.h> |
#include <string.h> |
#include <math.h> |
#include "font8x6.h" |
//#include "font8x8.h" |
#include "main.h" |
#include "lcd.h" |
#define DISP_W 128 |
#define DISP_H 64 |
#define DISP_BUFFER ((DISP_H * DISP_W) / 8) |
#define Jeti 0 // Jeti Routinen |
volatile uint8_t display_buffer[DISP_BUFFER]; // Display-Puffer, weil nicht zurückgelesen werden kann |
volatile uint16_t display_buffer_pointer; // Pointer auf das aktuell übertragene Byte |
volatile uint8_t display_buffer_counter; // Hilfszähler zur Selektierung der Page |
volatile uint8_t display_page_counter; // aktuelle Page-Nummer |
volatile uint8_t display_mode; // Modus für State-Machine |
volatile uint8_t LCD_ORIENTATION; |
// DOG: 128 x 64 with 6x8 Font => 21 x 8 |
// MAX7456: 30 x 16 |
uint8_t lcd_xpos; |
uint8_t lcd_ypos; |
void send_byte (uint8_t data) |
{ |
clr_cs (); |
SPDR = data; |
while (!(SPSR & (1<<SPIF))); |
//SPSR = SPSR; |
set_cs (); |
} |
void lcd_cls (void) |
{ |
uint16_t i, j; |
// memset (display_buffer, 0, 1024); |
for (i = 0; i < DISP_BUFFER; i++) |
display_buffer[i] = 0x00; |
for (i = 0; i < 8; i++) |
{ |
clr_A0 (); |
send_byte (0xB0 + i); //1011xxxx |
send_byte (0x10); //00010000 |
// send_byte(0x04); //00000100 gedreht plus 4 Byte |
// send_byte(0x00); //00000000 |
send_byte (LCD_ORIENTATION); //00000000 |
set_A0 (); |
for (j = 0; j < 128; j++) |
send_byte (0x00); |
} |
lcd_xpos = 0; |
lcd_ypos = 0; |
} |
void wait_1ms (void) |
{ |
_delay_ms (1.0); |
} |
void wait_ms (uint16_t time) |
{ |
uint16_t i; |
for (i = 0; i < time; i++) |
wait_1ms (); |
} |
void LCD_Init (void) |
{ |
lcd_xpos = 0; |
lcd_ypos = 0; |
// DDRB = 0xFF; |
// SPI max. speed |
// the DOGM128 lcd controller can work at 20 MHz |
SPCR = (1 << SPE) | (1 << MSTR) | (1 << CPHA) | (1 << CPOL); |
SPSR = (1 << SPI2X); |
set_cs (); |
clr_reset (); |
wait_ms (10); |
set_reset (); |
clr_cs (); |
clr_A0 (); |
send_byte (0x40); |
if (LCD_ORIENTATION == 0) |
{ |
send_byte (0xA1); // A1 normal A0 reverse(original) |
send_byte (0xC0); // C0 normal C8 reverse(original) |
} |
else |
{ |
send_byte (0xA0); // A1 normal A0 reverse(original) |
send_byte (0xC8); // C0 normal C8 reverse(original) |
} |
send_byte (0xA6); |
send_byte (0xA2); |
send_byte (0x2F); |
send_byte (0xF8); |
send_byte (0x00); |
send_byte (0x27); |
send_byte (0x81); |
send_byte (0x16); |
send_byte (0xAC); |
send_byte (0x00); |
send_byte (0xAF); |
lcd_cls (); |
} |
void set_adress (uint16_t adress, uint8_t data) |
{ |
uint8_t page; |
uint8_t column; |
page = adress >> 7; |
clr_A0 (); |
send_byte (0xB0 + page); |
// column = (adress & 0x7F) + 4; Wenn gedreht |
// column = (adress & 0x7F); |
column = (adress & 0x7F) + LCD_ORIENTATION; |
send_byte (0x10 + (column >> 4)); |
send_byte (column & 0x0F); |
set_A0 (); |
send_byte (data); |
} |
void scroll (void) |
{ |
uint16_t adress; |
for (adress = 0; adress < 896; adress++) |
{ |
display_buffer[adress] = display_buffer[adress + 128]; |
set_adress (adress, display_buffer[adress]); |
} |
for (adress = 896; adress < 1024; adress++) |
{ |
display_buffer[adress] = 0; |
set_adress (adress, 0); |
} |
} |
// |
// x,y = character-Pos. ! |
// |
// mode: 0=Overwrite, 1 = OR, 2 = XOR, 3 = AND, 4 = Delete |
void lcd_putc (uint8_t x, uint8_t y, uint8_t c, uint8_t mode) |
{ |
uint8_t ch; |
uint8_t i; |
uint16_t adress; |
switch (c) |
{ // ISO 8859-1 |
case 0xc4: // Ä |
c = 0x00; |
break; |
case 0xe4: // ä |
c = 0x01; |
break; |
case 0xd6: // Ö |
c = 0x02; |
break; |
case 0xf6: // ö |
c = 0x03; |
break; |
case 0xdc: // Ü |
c = 0x04; |
break; |
case 0xfc: // ü |
c = 0x05; |
break; |
case 0xdf: // ß |
//c = 0x06; |
c = 0x1e; // ° (used by Jeti) |
break; |
} |
c &= 0x7f; |
adress = y * 128 + x * 6; |
adress &= 0x3FF; |
for (i = 0; i < 6; i++) |
{ |
ch = pgm_read_byte (&font8x6[0][0] + i + c * 6); |
switch (mode) |
{ |
case 0: |
display_buffer[adress+i] = ch; |
break; |
case 1: |
display_buffer[adress+i] |= ch; |
break; |
case 2: |
display_buffer[adress+i] ^= ch; |
break; |
case 3: |
display_buffer[adress+i] &= ch; |
break; |
case 4: |
display_buffer[adress+i] &= ~ch; |
break; |
} |
set_adress (adress + i, display_buffer[adress + i]); |
} |
} |
#if Jeti |
void lcd_putc_jeti (uint8_t x, uint8_t y, uint8_t c, uint8_t mode) |
{ |
uint8_t ch; |
uint8_t i; |
uint16_t adress; |
switch (c) |
{ |
case 0x7e: |
c = 0x1a; // -> |
break; |
case 0x7f: |
c = 0x1b; // <- |
break; |
case 0xdf: |
c = 0xf8; // ° |
break; |
} |
adress = y * 128 + x * 8; |
adress &= 0x3FF; |
for (i = 0; i < 8; i++) |
{ |
ch = pgm_read_byte (&font8x8[0][0] + i + c * 8); |
switch (mode) |
{ |
case 0: |
display_buffer[adress+i] = ch; |
break; |
case 1: |
display_buffer[adress+i] |= ch; |
break; |
case 2: |
display_buffer[adress+i] ^= ch; |
break; |
case 3: |
display_buffer[adress+i] &= ch; |
break; |
case 4: |
display_buffer[adress+i] &= ~ch; |
break; |
} |
set_adress (adress + i, display_buffer[adress + i]); |
} |
} |
void lcd_printpj (const char *text, uint8_t mode) |
{ |
while (pgm_read_byte(text)) |
{ |
switch (pgm_read_byte(text)) |
{ |
case 0x0D: |
lcd_xpos = 0; |
break; |
case 0x0A: |
new_line(); |
break; |
default: |
lcd_putc_jeti (lcd_xpos, lcd_ypos, pgm_read_byte(text), mode); |
lcd_xpos++; |
if (lcd_xpos > 20) |
{ |
lcd_xpos = 0; |
new_line (); |
} |
break; |
} |
text++; |
} |
} |
void lcd_printpj_at (uint8_t x, uint8_t y, const char *text, uint8_t mode) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
lcd_printpj (text, mode); |
} |
#endif |
void new_line (void) |
{ |
lcd_ypos++; |
if (lcd_ypos > 7) |
{ |
scroll (); |
lcd_ypos = 7; |
} |
} |
void lcd_printpns (const char *text, uint8_t mode) |
{ |
while (pgm_read_byte(text)) |
{ |
switch (pgm_read_byte(text)) |
{ |
case 0x0D: |
lcd_xpos = 0; |
break; |
case 0x0A: |
new_line(); |
break; |
default: |
lcd_putc (lcd_xpos, lcd_ypos, pgm_read_byte(text), mode); |
lcd_xpos++; |
if (lcd_xpos > 20) |
{ |
lcd_xpos = 0; |
// new_line (); |
} |
break; |
} |
text++; |
} |
} |
void lcd_printpns_at (uint8_t x, uint8_t y, const char *text, uint8_t mode) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
lcd_printpns (text, mode); |
} |
void lcd_printp (const char *text, uint8_t mode) |
{ |
while (pgm_read_byte(text)) |
{ |
switch (pgm_read_byte(text)) |
{ |
case 0x0D: |
lcd_xpos = 0; |
break; |
case 0x0A: |
new_line(); |
break; |
default: |
lcd_putc (lcd_xpos, lcd_ypos, pgm_read_byte(text), mode); |
lcd_xpos++; |
if (lcd_xpos > 20) |
{ |
lcd_xpos = 0; |
new_line (); |
} |
break; |
} |
text++; |
} |
} |
void lcd_printp_at (uint8_t x, uint8_t y, const char *text, uint8_t mode) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
lcd_printp (text, mode); |
} |
void lcd_print (uint8_t *text, uint8_t mode) |
{ |
while (*text) |
{ |
switch (*text) |
{ |
case 0x0D: |
lcd_xpos = 0; |
break; |
case 0x0A: |
new_line(); |
break; |
default: |
lcd_putc (lcd_xpos, lcd_ypos, *text, mode); |
lcd_xpos++; |
if (lcd_xpos > 20) |
{ |
lcd_xpos = 0; |
new_line (); |
} |
break; |
} |
text++; |
} |
} |
void lcd_print_at (uint8_t x, uint8_t y, uint8_t *text, uint8_t mode) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
lcd_print (text, mode); |
} |
void print_display (uint8_t *text) |
{ |
while (*text) |
{ |
lcd_putc (lcd_xpos, lcd_ypos, *text, 0); |
lcd_xpos++; |
if (lcd_xpos >= 20) |
{ |
lcd_xpos = 0; |
new_line (); |
} |
text++; |
} |
} |
void print_display_at (uint8_t x, uint8_t y, uint8_t *text) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
print_display (text); |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Plot (set one Pixel) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// mode: |
// 0=Clear, 1=Set, 2=XOR |
void lcd_plot (uint8_t xpos, uint8_t ypos, uint8_t mode) |
{ |
uint16_t adress; |
uint8_t mask; |
if ((xpos < DISP_W) && (ypos < DISP_H)) |
{ |
adress = (ypos / 8) * DISP_W + xpos; // adress = 0/8 * 128 + 0 = 0 |
mask = 1 << (ypos & 0x07); // mask = 1<<0 = 1 |
adress &= DISP_BUFFER - 1; |
switch (mode) |
{ |
case 0: |
display_buffer[adress] &= ~mask; |
break; |
case 1: |
display_buffer[adress] |= mask; |
break; |
case 2: |
display_buffer[adress] ^= mask; |
break; |
} |
set_adress (adress, display_buffer[adress]); |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Line (draws a line from x1,y1 to x2,y2 |
// + Based on Bresenham line-Algorithm |
// + found in the internet, modified by thkais 2007 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_line (unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, uint8_t mode) |
{ |
int x, y, count, xs, ys, xm, ym; |
x = (int) x1; |
y = (int) y1; |
xs = (int) x2 - (int) x1; |
ys = (int) y2 - (int) y1; |
if (xs < 0) |
xm = -1; |
else |
if (xs > 0) |
xm = 1; |
else |
xm = 0; |
if (ys < 0) |
ym = -1; |
else |
if (ys > 0) |
ym = 1; |
else |
ym = 0; |
if (xs < 0) |
xs = -xs; |
if (ys < 0) |
ys = -ys; |
lcd_plot ((unsigned char) x, (unsigned char) y, mode); |
if (xs > ys) // Flat Line <45 degrees |
{ |
count = -(xs / 2); |
while (x != x2) |
{ |
count = count + ys; |
x = x + xm; |
if (count > 0) |
{ |
y = y + ym; |
count = count - xs; |
} |
lcd_plot ((unsigned char) x, (unsigned char) y, mode); |
} |
} |
else // Line >=45 degrees |
{ |
count =- (ys / 2); |
while (y != y2) |
{ |
count = count + xs; |
y = y + ym; |
if (count > 0) |
{ |
x = x + xm; |
count = count - ys; |
} |
lcd_plot ((unsigned char) x, (unsigned char) y, mode); |
} |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Filled rectangle |
// + x1, y1 = upper left corner |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_frect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy, uint8_t mode) |
{ |
uint16_t x2, y2; |
uint16_t i; |
if (x1 >= DISP_W) |
x1 = DISP_W - 1; |
if (y1 >= DISP_H) |
y1 = DISP_H - 1; |
x2 = x1 + widthx; |
y2 = y1 + widthy; |
if (x2 > DISP_W) |
x2 = DISP_W; |
if (y2 > DISP_H) |
y2 = DISP_H; |
for (i = y1; i <= y2; i++) |
{ |
lcd_line (x1, i, x2, i, mode); |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + outline of rectangle |
// + x1, y1 = upper left corner |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_rect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy, uint8_t mode) |
{ |
uint16_t x2, y2; |
if (x1 >= DISP_W) |
x1 = DISP_W - 1; |
if (y1 >= DISP_H) |
y1 = DISP_H - 1; |
x2 = x1 + widthx; |
y2 = y1 + widthy; |
if (x2 > DISP_W) |
x2 = DISP_W; |
if (y2 > DISP_H) |
y2 = DISP_H; |
lcd_line (x1, y1, x2, y1, mode); |
lcd_line (x2, y1, x2, y2, mode); |
lcd_line (x2, y2, x1, y2, mode); |
lcd_line (x1, y2, x1, y1, mode); |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + outline of a circle |
// + Based on Bresenham-algorithm found in wikipedia |
// + modified by thkais (2007) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_circle (int16_t x0, int16_t y0, int16_t radius, uint8_t mode) |
{ |
int16_t f = 1 - radius; |
int16_t ddF_x = 0; |
int16_t ddF_y = -2 * radius; |
int16_t x = 0; |
int16_t y = radius; |
lcd_plot (x0, y0 + radius, mode); |
lcd_plot (x0, y0 - radius, mode); |
lcd_plot (x0 + radius, y0, mode); |
lcd_plot (x0 - radius, y0, mode); |
while (x < y) |
{ |
if (f >= 0) |
{ |
y --; |
ddF_y += 2; |
f += ddF_y; |
} |
x ++; |
ddF_x += 2; |
f += ddF_x + 1; |
lcd_plot (x0 + x, y0 + y, mode); |
lcd_plot (x0 - x, y0 + y, mode); |
lcd_plot (x0 + x, y0 - y, mode); |
lcd_plot (x0 - x, y0 - y, mode); |
lcd_plot (x0 + y, y0 + x, mode); |
lcd_plot (x0 - y, y0 + x, mode); |
lcd_plot (x0 + y, y0 - x, mode); |
lcd_plot (x0 - y, y0 - x, mode); |
} |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + filled Circle |
// + modified circle-algorithm thkais (2007) |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
void lcd_fcircle (int16_t x0, int16_t y0, int16_t radius) |
{ |
int16_t f = 1 - radius; |
int16_t ddF_x = 0; |
int16_t ddF_y = -2 * radius; |
int16_t x = 0; |
int16_t y = radius; |
lcd_line (x0, y0 + radius, x0, y0 - radius, 1); |
lcd_line (x0 + radius, y0, x0 - radius, y0, 1); |
while (x < y) |
{ |
if (f >= 0) |
{ |
y--; |
ddF_y += 2; |
f += ddF_y; |
} |
x++; |
ddF_x += 2; |
f += ddF_x + 1; |
lcd_line (x0 + x, y0 + y, x0 - x, y0 + y, 1); |
lcd_line (x0 + x, y0 - y, x0 - x, y0 - y, 1); |
lcd_line (x0 + y, y0 + x, x0 - y, y0 + x, 1); |
lcd_line (x0 + y, y0 - x, x0 - y, y0 - x, 1); |
} |
} |
//***************************************************************************** |
// |
void lcd_circ_line (uint8_t x, uint8_t y, uint8_t r, uint16_t deg, uint8_t mode) |
{ |
uint8_t xc, yc; |
double deg_rad; |
deg_rad = (deg * M_PI) / 180.0; |
yc = y - (uint8_t) round (cos (deg_rad) * (double) r); |
xc = x + (uint8_t) round (sin (deg_rad) * (double) r); |
lcd_line (x, y, xc, yc, mode); |
} |
//***************************************************************************** |
// |
void lcd_ellipse_line (uint8_t x, uint8_t y, uint8_t rx, uint8_t ry, uint16_t deg, uint8_t mode) |
{ |
uint8_t xc, yc; |
double deg_rad; |
deg_rad = (deg * M_PI) / 180.0; |
yc = y - (uint8_t) round (cos (deg_rad) * (double) ry); |
xc = x + (uint8_t) round (sin (deg_rad) * (double) rx); |
lcd_line (x, y, xc, yc, mode); |
} |
//***************************************************************************** |
// |
void lcd_ellipse (int16_t x0, int16_t y0, int16_t rx, int16_t ry, uint8_t mode) |
{ |
const int16_t rx2 = rx * rx; |
const int16_t ry2 = ry * ry; |
int16_t F = round (ry2 - rx2 * ry + 0.25 * rx2); |
int16_t ddF_x = 0; |
int16_t ddF_y = 2 * rx2 * ry; |
int16_t x = 0; |
int16_t y = ry; |
lcd_plot (x0, y0 + ry, mode); |
lcd_plot (x0, y0 - ry, mode); |
lcd_plot (x0 + rx, y0, mode); |
lcd_plot (x0 - rx, y0, mode); |
// while ( 2*ry2*x < 2*rx2*y ) { we can use ddF_x and ddF_y |
while (ddF_x < ddF_y) |
{ |
if(F >= 0) |
{ |
y -= 1; // south |
ddF_y -= 2 * rx2; |
F -= ddF_y; |
} |
x += 1; // east |
ddF_x += 2 * ry2; |
F += ddF_x + ry2; |
lcd_plot (x0 + x, y0 + y, mode); |
lcd_plot (x0 + x, y0 - y, mode); |
lcd_plot (x0 - x, y0 + y, mode); |
lcd_plot (x0 - x, y0 - y, mode); |
} |
F = round (ry2 * (x + 0.5) * (x + 0.5) + rx2 * (y - 1) * (y - 1) - rx2 * ry2); |
while(y > 0) |
{ |
if(F <= 0) |
{ |
x += 1; // east |
ddF_x += 2 * ry2; |
F += ddF_x; |
} |
y -=1; // south |
ddF_y -= 2 * rx2; |
F += rx2 - ddF_y; |
lcd_plot (x0 + x, y0 + y, mode); |
lcd_plot (x0 + x, y0 - y, mode); |
lcd_plot (x0 - x, y0 + y, mode); |
lcd_plot (x0 - x, y0 - y, mode); |
} |
} |
//***************************************************************************** |
// |
void lcd_ecircle (int16_t x0, int16_t y0, int16_t radius, uint8_t mode) |
{ |
lcd_ellipse (x0, y0, radius + 3, radius, mode); |
} |
//***************************************************************************** |
// |
void lcd_ecirc_line (uint8_t x, uint8_t y, uint8_t r, uint16_t deg, uint8_t mode) |
{ |
lcd_ellipse_line(x, y, r + 3, r, deg, mode); |
} |
//***************************************************************************** |
// |
void lcd_view_font (uint8_t page) |
{ |
int x; |
int y; |
lcd_cls (); |
lcd_printp (PSTR(" 0123456789ABCDEF\r\n"), 0); |
// lcd_printpns_at (0, 7, PSTR(" \x16 \x17 Exit"), 0); |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b Exit"), 0); |
lcd_ypos = 2; |
for (y = page * 4 ; y < (page * 4 + 4); y++) |
{ |
if (y < 10) |
{ |
lcd_putc (0, lcd_ypos, '0' + y, 0); |
} |
else |
{ |
lcd_putc (0, lcd_ypos, 'A' + y - 10, 0); |
} |
lcd_xpos = 2; |
for (x = 0; x < 16; x++) |
{ |
lcd_putc (lcd_xpos, lcd_ypos, y * 16 + x, 0); |
lcd_xpos++; |
} |
lcd_ypos++; |
} |
} |
uint8_t hdigit (uint8_t d) |
{ |
if (d < 10) |
{ |
return '0' + d; |
} |
else |
{ |
return 'A' + d - 10; |
} |
} |
void lcd_print_hex_at (uint8_t x, uint8_t y, uint8_t h, uint8_t mode) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
lcd_putc (lcd_xpos++, lcd_ypos, hdigit (h >> 4), mode); |
lcd_putc (lcd_xpos, lcd_ypos, hdigit (h & 0x0f), mode); |
} |
void lcd_print_hex (uint8_t h, uint8_t mode) |
{ |
// lcd_xpos = x; |
// lcd_ypos = y; |
lcd_putc (lcd_xpos++, lcd_ypos, hdigit (h >> 4), mode); |
lcd_putc (lcd_xpos++, lcd_ypos, hdigit (h & 0x0f), mode); |
lcd_putc (lcd_xpos++, lcd_ypos, ' ', mode); |
} |
void lcd_write_number_u (uint8_t number) |
{ |
uint8_t num = 100; |
uint8_t started = 0; |
while (num > 0) |
{ |
uint8_t b = number / num; |
if (b > 0 || started || num == 1) |
{ |
lcd_putc (lcd_xpos++, lcd_ypos, '0' + b, 0); |
started = 1; |
} |
number -= b * num; |
num /= 10; |
} |
} |
void lcd_write_number_u_at (uint8_t x, uint8_t y, uint8_t number) |
{ |
lcd_xpos = x; |
lcd_ypos = y; |
lcd_write_number_u (number); |
} |
/** |
* Write only some digits of a unsigned <number> at <x>/<y> to MAX7456 display memory |
* <num> represents the largest multiple of 10 that will still be displayable as |
* the first digit, so num = 10 will be 0-99 and so on |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 007 instead of 7 |
*/ |
void write_ndigit_number_u (uint8_t x, uint8_t y, uint16_t number, int16_t length, uint8_t pad) |
{ |
char s[7]; |
utoa(number, s, 10 ); |
uint8_t len = strlen(s); |
if (length < len) |
{ |
for (uint8_t i = 0; i < length; i++) |
{ |
lcd_putc (x++, y, '*', 0); |
} |
return; |
} |
for (uint8_t i = 0; i < length - len; i++) |
{ |
if (pad) |
{ |
lcd_putc (x++, y, '0', 0); |
} |
else |
{ |
lcd_putc (x++, y, ' ', 0); |
} |
} |
lcd_print_at(x, y, (uint8_t*)s, 0); |
} |
/** |
* Write only some digits of a signed <number> at <x>/<y> to MAX7456 display memory |
* <num> represents the largest multiple of 10 that will still be displayable as |
* the first digit, so num = 10 will be 0-99 and so on |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 007 instead of 7 |
*/ |
void write_ndigit_number_s (uint8_t x, uint8_t y, int16_t number, int16_t length, uint8_t pad) |
{ |
char s[7]; |
itoa(number, s, 10 ); |
uint8_t len = strlen(s); |
if (length < len) |
{ |
for (uint8_t i = 0; i < length; i++) |
{ |
lcd_putc (x++, y, '*', 0); |
} |
return; |
} |
for (uint8_t i = 0; i < length - len; i++) |
{ |
if (pad) |
{ |
lcd_putc (x++, y, '0', 0); |
} |
else |
{ |
lcd_putc (x++, y, ' ', 0); |
} |
} |
lcd_print_at(x, y, (uint8_t*)s, 0); |
} |
/** |
* Write only some digits of a unsigned <number> at <x>/<y> to MAX7456 display memory |
* as /10th of the value |
* <num> represents the largest multiple of 10 that will still be displayable as |
* the first digit, so num = 10 will be 0-99 and so on |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 007 instead of 7 |
*/ |
void write_ndigit_number_u_10th (uint8_t x, uint8_t y, uint16_t number, int16_t length, uint8_t pad) |
{ |
char s[7]; |
itoa(number, s, 10 ); |
uint8_t len = strlen(s); |
if (length < len) |
{ |
for (uint8_t i = 0; i < length; i++) |
{ |
lcd_putc (x++, y, '*', 0); |
} |
return; |
} |
for (uint8_t i = 0; i < length - len; i++) |
{ |
if (pad) |
{ |
lcd_putc (x++, y, '0', 0); |
} |
else |
{ |
lcd_putc (x++, y, ' ', 0); |
} |
} |
char rest = s[len - 1]; |
s[len - 1] = 0; |
if (len == 1) |
{ |
lcd_putc (x-1, y, '0', 0); |
} |
else if (len == 2 && s[0] == '-') |
{ |
lcd_putc (x-1, y, '-', 0); |
lcd_putc (x, y, '0', 0); |
} |
else |
{ |
lcd_print_at(x, y, (uint8_t*)s, 0); |
} |
x += len - 1; |
lcd_putc (x++, y, '.', 0); |
lcd_putc (x++, y, rest, 0); |
} |
void write_ndigit_number_u_100th (uint8_t x, uint8_t y, uint16_t number, int16_t length, uint8_t pad) |
{ |
uint8_t num = 100; |
while (num > 0) |
{ |
uint8_t b = number / num; |
if ((num / 10) == 1) |
{ |
lcd_putc (x++, y, '.', 0); |
} |
lcd_putc (x++, y, '0' + b, 0); |
number -= b * num; |
num /= 10; |
} |
} |
/** |
* Write only some digits of a signed <number> at <x>/<y> to MAX7456 display memory |
* as /10th of the value |
* <num> represents the largest multiple of 10 that will still be displayable as |
* the first digit, so num = 10 will be 0-99 and so on |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 007 instead of 7 |
*/ |
void write_ndigit_number_s_10th (uint8_t x, uint8_t y, int16_t number, int16_t length, uint8_t pad) |
{ |
char s[7]; |
itoa (number, s, 10 ); |
uint8_t len = strlen(s); |
if (length < len) |
{ |
for (uint8_t i = 0; i < length; i++) |
{ |
lcd_putc (x++, y, '*', 0); |
} |
return; |
} |
for (uint8_t i = 0; i < length - len; i++) |
{ |
if (pad) |
{ |
lcd_putc (x++, y, '0', 0); |
} |
else |
{ |
lcd_putc (x++, y, ' ', 0); |
} |
} |
char rest = s[len - 1]; |
s[len - 1] = 0; |
if (len == 1) |
{ |
lcd_putc (x-1, y, '0', 0); |
} |
else if (len == 2 && s[0] == '-') |
{ |
lcd_putc (x-1, y, '-', 0); |
lcd_putc (x, y, '0', 0); |
} |
else |
{ |
lcd_print_at(x, y, (uint8_t*)s, 0); |
} |
x += len - 1; |
lcd_putc (x++, y, '.', 0); |
lcd_putc (x++, y, rest, 0); |
} |
/** |
* write <seconds> as human readable time at <x>/<y> to MAX7456 display mem |
*/ |
void write_time (uint8_t x, uint8_t y, uint16_t seconds) |
{ |
uint16_t min = seconds / 60; |
seconds -= min * 60; |
write_ndigit_number_u (x, y, min, 2, 0); |
lcd_putc (x + 2, y, ':', 0); |
write_ndigit_number_u (x + 3, y, seconds, 2, 1); |
} |
/** |
* wirte a <position> at <x>/<y> assuming it is a gps position for long-/latitude |
*/ |
void write_gps_pos (uint8_t x, uint8_t y, int32_t position) |
{ |
if (position < 0) |
{ |
position ^= ~0; |
position++; |
lcd_putc (x++, y, '-', 0); |
} |
else |
{ |
lcd_putc (x++, y, ' ', 0); |
} |
write_ndigit_number_u (x, y, (uint16_t) (position / (int32_t) 10000000), 3, 1); |
lcd_putc (x + 3, y, '.', 0); |
position = position - ((position / (int32_t) 10000000) * (int32_t) 10000000); |
write_ndigit_number_u (x + 4, y, (uint16_t) (position / (int32_t) 1000), 4, 1); |
position = position - ((uint16_t) (position / (int32_t) 1000) * (int32_t) 1000); |
write_ndigit_number_u (x + 8, y, (uint16_t) position, 3, 1); |
lcd_putc (x + 11, y, 0x1e, 0); // degree symbol |
} |
/Transportables_Koptertool/tags/V3.2/lcd.h |
---|
0,0 → 1,122 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* - original LCD control by Thomas "thkais" Kaiser * |
* - special number formating routines taken from C-OSD * |
* from Claas Anders "CaScAdE" Rathje * |
* - some extension, ellipse and circ_line by Peter "woggle" Mack * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _LCD_H |
#define _LCD_H |
//***************************************************************************** |
// |
extern volatile uint8_t LCD_ORIENTATION; |
extern uint8_t lcd_xpos; |
extern uint8_t lcd_ypos; |
//***************************************************************************** |
// |
void LCD_Init (void); |
void lcd_putc (uint8_t x, uint8_t y, uint8_t c, uint8_t mode); |
//void send_byte (uint8_t data); |
void lcd_print (uint8_t *text, uint8_t mode); |
void lcd_print_at (uint8_t x, uint8_t y, uint8_t *text, uint8_t mode); |
void lcd_printp (const char *text, uint8_t mode); |
void lcd_printp_at (uint8_t x, uint8_t y, const char *text, uint8_t mode); |
void lcd_printpns (const char *text, uint8_t mode); |
void lcd_printpns_at (uint8_t x, uint8_t y, const char *text, uint8_t mode); |
void lcd_cls (void); |
void print_display (uint8_t *text); |
void print_display_at (uint8_t x, uint8_t y, uint8_t *text); |
// Jeti |
void lcd_putc_jeti (uint8_t x, uint8_t y, uint8_t c, uint8_t mode); |
void lcd_printpj (const char *text, uint8_t mode); |
void lcd_printpj_at (uint8_t x, uint8_t y, const char *text, uint8_t mode); |
void lcd_plot (uint8_t x, uint8_t y, uint8_t mode); |
void lcd_line (unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, uint8_t mode); |
void lcd_rect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy, uint8_t mode); |
void lcd_frect (uint8_t x1, uint8_t y1, uint8_t widthx, uint8_t widthy, uint8_t mode); |
void lcd_circle (int16_t x0, int16_t y0, int16_t radius, uint8_t mode); |
void lcd_fcircle (int16_t x0, int16_t y0, int16_t radius); |
void lcd_circ_line (uint8_t x, uint8_t y, uint8_t r, uint16_t deg, uint8_t mode); |
void lcd_ellipse (int16_t x0, int16_t y0, int16_t rx, int16_t ry, uint8_t mode); |
void lcd_ellipse_line (uint8_t x, uint8_t y, uint8_t rx, uint8_t ry, uint16_t deg, uint8_t mode); |
void lcd_ecircle (int16_t x0, int16_t y0, int16_t radius, uint8_t mode); |
void lcd_ecirc_line (uint8_t x, uint8_t y, uint8_t r, uint16_t deg, uint8_t mode); |
void lcd_view_font (uint8_t page); |
void lcd_print_hex_at (uint8_t x, uint8_t y, uint8_t h, uint8_t mode); |
void lcd_write_number_u (uint8_t number); |
void lcd_write_number_u_at (uint8_t x, uint8_t y, uint8_t number); |
void lcd_print_hex (uint8_t h, uint8_t mode); |
/** |
* Write only some digits of a unsigned <number> at <x>/<y> |
* <length> represents the length to rightbound the number |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 007 instead of 7 |
*/ |
void write_ndigit_number_u (uint8_t x, uint8_t y, uint16_t number, int16_t length, uint8_t pad); |
/** |
* Write only some digits of a signed <number> at <x>/<y> |
* <length> represents the length to rightbound the number |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 007 instead of 7 |
*/ |
void write_ndigit_number_s (uint8_t x, uint8_t y, int16_t number, int16_t length, uint8_t pad); |
/** |
* Write only some digits of a unsigned <number> at <x>/<y> as /10th of the value |
* <length> represents the length to rightbound the number |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 00.7 instead of .7 |
*/ |
void write_ndigit_number_u_10th (uint8_t x, uint8_t y, uint16_t number, int16_t length, uint8_t pad); |
/** |
* Write only some digits of a unsigned <number> at <x>/<y> as /100th of the value |
* <length> represents the length to rightbound the number |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 00.7 instead of .7 |
*/ |
void write_ndigit_number_u_100th (uint8_t x, uint8_t y, uint16_t number, int16_t length, uint8_t pad); |
/** |
* Write only some digits of a signed <number> at <x>/<y> as /10th of the value |
* <length> represents the length to rightbound the number |
* <pad> = 1 will cause blank spaced to be filled up with zeros e.g. 00.7 instead of .7 |
*/ |
void write_ndigit_number_s_10th (uint8_t x, uint8_t y, int16_t number, int16_t length, uint8_t pad); |
/** |
* write <seconds> as human readable time at <x>/<y> |
*/ |
void write_time (uint8_t x, uint8_t y, uint16_t seconds); |
/** |
* wirte a <position> at <x>/<y> assuming it is a gps position for long-/latitude |
*/ |
void write_gps_pos (uint8_t x, uint8_t y, int32_t position); |
#endif |
/Transportables_Koptertool/tags/V3.2/main.c |
---|
0,0 → 1,282 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009-2010 Peter "woggle" Mack, mac@denich.net * |
* Copyright (C) 2011 Christian "Cebra" Brandtner, brandtner@brandtner.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
* * |
* Credits to: * |
* Holger Buss & Ingo Busker from mikrokopter.de for the MK project + SVN * |
* http://www.mikrokopter.de * |
* Gregor "killagreg" Stobrawa for his version of the MK code * |
* Thomas Kaiser "thkais" for the original project. See * |
* http://www.ft-fanpage.de/mikrokopter/ * |
* http://forum.mikrokopter.de/topic-4061-1.html * |
* Claas Anders "CaScAdE" Rathje for providing the font and his C-OSD code * |
* http://www.mylifesucks.de/oss/c-osd/ * |
*****************************************************************************/ |
#include <inttypes.h> |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include <avr/eeprom.h> |
#include <util/delay.h> |
#include <avr/wdt.h> |
/* Watchdog integrieren und abschalten, wird für Bootloader benötigt*/ |
void wdt_init(void) __attribute__((naked)) __attribute__((section(".init1"))); |
void wdt_init(void) |
{ |
MCUSR = 0; |
wdt_disable(); |
return; |
} |
#include "main.h" |
#include "lcd.h" |
#include "usart.h" |
#include "uart1.h" |
#include "mk-data-structs.h" |
#include "parameter.h" |
#include "menu.h" |
#include "display.h" |
#include "timer.h" |
#include "eeprom.h" |
#include "Wi232.h" |
#if defined HWVERSION3_1 || defined HWVERSION1_3 |
#include "motortestI2C.h" |
#endif |
#define MTEST 1 // Menu Test (skip FC/NC detection) |
Version_t *version; |
volatile uint8_t mode = 0; |
uint8_t hardware = 0; |
uint8_t current_hardware = 0; |
//uint8_t no_hardware = 0; |
mk_param_struct_t *mk_param_struct; |
int main (void) |
{ |
uint8_t timeout; |
uint8_t val =0; |
// enable pull ups for the 4 keys |
PORTA |= (1<<PORTA4)|(1<<PORTA5)|(1<<PORTA6)|(1<<PORTA7); |
#ifdef HWVERSION1_2 |
DDRC |= (1<<DDC0)|(1<<DDC1); |
DDRD |= (1<<DDD7); |
DDRB = 0xFF; |
#endif |
#ifdef HWVERSION1_3 |
DDRC |= (1<<DDC2); |
DDRD |= (1<<DDD6) |(1<<DDD7); |
DDRB = 0xFF; |
#endif |
#ifdef HWVERSION3_1 |
DDRD |= (1<<DDD7)|(1<<DDD6); |
DDRC = 0xFF; |
DDRB = 0xFF; |
set_LED1(); |
set_LED2(); |
set_LED3(); |
set_LED4(); |
set_BEEP(); |
set_D_LIGHT(); |
clr_WI232CMD(); |
_delay_ms(250); |
clr_LED1(); |
clr_LED2(); |
clr_LED3(); |
clr_LED4(); |
clr_BEEP(); |
#endif |
Display_on = 1; |
LCD_Init (); |
USART_Init (UART_BAUD_SELECT(USART_BAUD,F_CPU)); |
#if defined HWVERSION3_1 || defined HWVERSION1_3 |
uart1_init (UART_BAUD_SELECT(USART_BAUD,F_CPU)); /* USB*/ |
uart1_putc('R'); |
I2C_Init(); |
#endif |
TIMER0_Init (); |
TIMER1_Init (); // pwm |
sei (); |
#ifdef HWVERSION3_1 |
InitWi232(); |
_delay_ms(2000); |
hardware = NO; |
current_hardware = 0; |
#endif |
ReadParameter (); |
// switch to NC |
USART_putc (0x1b); |
USART_putc (0x1b); |
USART_putc (0x55); |
USART_putc (0xaa); |
USART_putc (0x00); |
mode = 'V'; |
#if MTEST |
do |
{ |
timeout = 50; |
lcd_cls (); |
lcd_printpns_at (0,0,PSTR("Portables Koptertool"), 0); |
lcd_printpns_at (0,1,PSTR("for FC V "), 0); |
lcd_printpns_at (10,1,PSTR(FC_Version),0); |
lcd_printpns_at (0,2,PSTR("GNU GPL License"), 0); |
lcd_printpns_at (0,3,PSTR("checking hardware..."), 0); |
lcd_printpns_at (0, 7, PSTR("Skip FC-Check"), 0); |
while (!rxd_buffer_locked && timeout) |
{ |
SendOutData('v', ADDRESS_ANY, 0); |
timer = 20; |
while (timer > 0); |
timeout--; |
if (get_key_press (1 << KEY_MINUS)) |
{ |
for (;;) |
{ |
hardware = NO; |
main_menu (); |
} |
} |
//#ifdef HWVERSION1_3 |
// debug1(); |
//#endif |
} |
if(timeout == 0) |
{ |
lcd_printpns_at (0,4,PSTR("ERROR:"), 0); |
lcd_printpns_at (0,5,PSTR("no hardware detected"), 0); |
timer = 90; |
//#ifdef HWVERSION1_3 |
// debug1(); |
//#endif |
while (timer > 0); |
} |
} |
while(timeout == 0); |
Decode64 (); |
version = (Version_t *) pRxData; |
lcd_cls (); |
lcd_printp (PSTR("PMK-Tool GNU GPL\r\n"), 0); |
lcd_printp (PSTR("found:\r\n\n"), 0); |
if ((rxd_buffer[1] - 'a') == ADDRESS_FC) |
{ |
lcd_printp (PSTR("Flight-Ctrl\r\n"), 0); |
hardware = FC; |
current_hardware = hardware; |
} |
else if ((rxd_buffer[1] - 'a') == ADDRESS_NC) |
{ |
lcd_printp (PSTR("Navi-Ctrl\r\n"), 0); |
hardware = NC; |
current_hardware = hardware; |
} |
lcd_printp (PSTR("Version: "), 0); |
lcd_write_number_u (version->SWMajor); |
lcd_printp (PSTR("."), 0); |
lcd_write_number_u (version->SWMinor); |
lcd_putc (lcd_xpos, lcd_ypos, version->SWPatch + 'a', 0); |
#else |
lcd_cls (); |
lcd_printp (PSTR("PKT-Test\r\n"), 0); |
#endif |
timer = 50; |
while (timer > 0); |
SwitchToFC(); |
//Delay |
timer = 50; |
while (timer > 0); |
#if MTEST |
// EEprom Version / Struktur prüfen |
val = load_setting(1); //Parameterset 1 holen |
if (mk_param_struct->Revision != EEProm_Version) |
{ |
lcd_cls (); |
lcd_printp (PSTR("EEPromRev."), 0); |
lcd_write_number_u (EEProm_Version); |
lcd_printp (PSTR(" erwartet\r\n"), 0); |
lcd_printp (PSTR("EEPromRev."), 0); |
lcd_write_number_u (mk_param_struct->Revision); |
lcd_printp (PSTR(" gefunden\r\n"), 0); |
lcd_printp (PSTR("PMK-Tool nur mit\r\n"), 0); |
lcd_printp (PSTR("FC Software "), 0); |
lcd_printp (PSTR(FC_Version),0); |
lcd_printp (PSTR("\r\nkompatibel"), 0); |
while (mk_param_struct->Revision != EEProm_Version); |
} |
#endif |
mode = 0; |
rxd_buffer_locked = FALSE; |
timer = 200; |
while (timer > 0); |
for (;;) |
{ |
main_menu (); |
} |
} |
/Transportables_Koptertool/tags/V3.2/main.h |
---|
0,0 → 1,100 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
* * |
* Credits to: * |
* Holger Buss & Ingo Busker from mikrokopter.de for the MK project + SVN * |
* http://www.mikrokopter.de * |
* Gregor "killagreg" Stobrawa for his version of the MK code * |
* Thomas Kaiser "thkais" for the original project. See * |
* http://www.ft-fanpage.de/mikrokopter/ * |
* http://forum.mikrokopter.de/topic-4061-1.html * |
* Claas Anders "CaScAdE" Rathje for providing the font and his C-OSD code * |
* http://www.mylifesucks.de/oss/c-osd/ * |
*****************************************************************************/ |
#ifndef _MAIN_H |
#define _MAIN_H |
/* Fusebits für Hardware 1.2 D7 DF FF */ |
/* Fusebits für Hardware 1.3 */ |
/* Fusebits für Hardware 3.x */ |
/*****************************************************************************/ |
/* hier die entsprechende Hardwareversion der Leiterplatte einstellen */ |
//#define HWVERSION1_2 /* Hardware sebseb7*/ |
//#define HWVERSION1_3 /* Hardware sebseb7*/ |
#define HWVERSION3_1 /* Hardware Cebra Juni 2011*/ |
/*****************************************************************************/ |
#define set_cs() (PORTB |= (1 << PB4)) |
#define clr_cs() (PORTB &= ~(1 << PB4)) |
#define set_reset() (PORTB |= (1 << PB2)) |
#define clr_reset() (PORTB &= ~(1 << PB2)) |
#define set_A0() (PORTB |= (1 << PB3)) // Data |
#define clr_A0() (PORTB &= ~(1 << PB3)) // Command |
#define set_scl() (PORTB |= (1 << PB7)) |
#define clr_scl() (PORTB &= ~(1 << PB7)) |
#define set_si() (PORTB |= (1 << PB5)) |
#define clr_si() (PORTB &= ~(1 << PB5)) |
#define set_LED1() (PORTC &= ~(1 << PC3)) |
#define clr_LED1() (PORTC |= (1 << PC3)) |
#define set_LED2() (PORTC &= ~(1 << PC2)) |
#define clr_LED2() (PORTC |= (1 << PC2)) |
#define set_LED3() (PORTB &= ~(1 << PB1)) |
#define clr_LED3() (PORTB |= (1 << PB1)) |
#define set_LED4() (PORTB &= ~(1 << PB0)) |
#define clr_LED4() (PORTB |= (1 << PB0)) |
#ifdef HWVERSION3_1 |
#define set_BEEP() (PORTC &= ~(1 << PC6)) |
#define clr_BEEP() (PORTC |= (1 << PC6)) |
#endif |
#ifdef HWVERSION3_3 |
#define set_BEEP() (PORTC &= ~(1 << PC7)) |
#define clr_BEEP() (PORTC |= (1 << PC7)) |
#endif |
#define set_D_LIGHT() (PORTD |= (1 << PD7)) |
#define clr_D_LIGHT() (PORTD &= ~(1 << PD7)) |
#define set_WI232CMD() (PORTD &= ~(1 << PD6)) |
#define clr_WI232CMD() (PORTD |= (1 << PD6)) |
#define NO 0 |
#define NC 1 |
#define FC 2 |
#define MK3MAG 3 |
#define MKGPS 4 |
#define Wi232 5 |
#define ENABLE_PWM |
//***************************************************************************** |
// |
extern volatile uint8_t mode; |
extern uint8_t hardware; |
extern uint8_t current_hardware; |
#endif |
/Transportables_Koptertool/tags/V3.2/menu.c |
---|
0,0 → 1,532 |
/***************************************************************************** |
* Copyright (C) 2009-2010 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include <avr/wdt.h> |
#include "main.h" |
#include "lcd.h" |
#include "parameter.h" |
#include "menu.h" |
#include "display.h" |
#include "motortest.h" |
#if defined HWVERSION3_1 || defined HWVERSION1_3 |
#include "motortestI2C.h" |
#endif |
#include "debug.h" |
#include "timer.h" |
#include "osd.h" |
#include "gps.h" |
#include "pwm.h" |
#include "eeprom.h" |
#include "setup.h" |
#include "uart1.h" |
//#include "jeti.h" |
#include "mk-data-structs.h" |
#include "Wi232.h" |
//#define ITEMS_PKT 7 |
// |
//prog_char param_menuitems_pkt[ITEMS_PKT][15]= // zeilen,zeichen+1 |
//{ |
// "LowBat Warn ", |
// "Displ.Timeout", |
// "LCD Orient. ", |
// "Language ", |
// "Wi TX/RX Chan", |
// "Wi NetW. Grp.", |
// "Wi NetW. Mode", |
// |
//}; |
#define ITEMS_NC 10 |
prog_char param_menuitems_nc[ITEMS_NC][15]= // zeilen,zeichen+1 |
{ |
"OSD ", |
"3D Lage ", |
"Display ", |
"Parameters ", |
"Debug Data ", |
"Motor Test ", |
"GPS Info ", |
"Setup PMK ", |
"Version ", |
"USB to FC ", |
}; |
#define ITEMS_FC 7 |
prog_char param_menuitems_fc[ITEMS_FC][15]= // zeilen,zeichen+1 |
{ |
"Display ", |
"Parameters ", |
"Debug Data ", |
"Motor Test ", |
"Setup PMK ", |
"Version ", |
"USB to FC ", |
}; |
#define ITEMS_NO 6 |
prog_char param_menuitems_no[ITEMS_NO][15]= // zeilen,zeichen+1 |
{ |
"I2C Motortest", |
"Setup PMK ", |
"Version ", |
"USB to FC ", |
"Konfig Wi.232", |
"PKT SW-Update", |
}; |
//***************************************************************************** |
// print cursor |
void menu_set_cursor (uint8_t before, uint8_t line, uint8_t pos) |
{ |
lcd_printp_at (pos, before, PSTR(" "), 0); |
lcd_printp_at (pos, line, PSTR("\x1D"), 0); |
} |
//***************************************************************************** |
// |
uint8_t menu_choose (uint8_t min, uint8_t max, uint8_t pos, uint8_t start) |
{ |
uint8_t line = start; |
uint8_t before = start; |
uint8_t k; |
menu_set_cursor (line, line, pos); |
do |
{ |
if (get_key_press (1 << KEY_PLUS)) |
{ |
if (line < max) |
{ |
line ++; |
} |
else |
{ |
line = min; |
} |
} |
if (get_key_press (1 << KEY_MINUS)) |
{ |
if (line > min) |
{ |
line --; |
} |
else |
{ |
line = max; |
} |
} |
if (line != before) |
{ |
menu_set_cursor (before, line, pos); |
before = line; |
} |
} |
while (!(k = get_key_press ((1 << KEY_ENTER) | (1 << KEY_ESC)))); |
if (k & (1 << KEY_ESC)) |
{ |
line = 255; |
} |
return line; |
} |
uint8_t menu_choose2 (uint8_t min, uint8_t max,uint8_t start, uint8_t return_at_start,uint8_t return_at_end) |
{ |
uint8_t pos = 1; |
uint8_t line = start; |
uint8_t before = start; |
uint8_t k; |
menu_set_cursor (line, line, pos); |
do |
{ |
if (get_key_press (1 << KEY_PLUS)) |
{ |
if (line < max) |
{ |
line ++; |
} |
else |
{ |
if(return_at_end == 1) |
{ |
return 254; |
} |
else |
{ |
//line = min; |
} |
} |
} |
if (get_key_press (1 << KEY_MINUS)) |
{ |
if (line > min) |
{ |
line --; |
} |
else |
{ |
if(return_at_start == 1) |
{ |
return 253; |
} |
else |
{ |
//line = max; |
} |
} |
} |
if (line != before) |
{ |
menu_set_cursor (before, line, pos); |
before = line; |
} |
} |
while (!(k = get_key_press ((1 << KEY_ENTER) | (1 << KEY_ESC)))); |
if (k & (1 << KEY_ESC)) |
{ |
line = 255; |
} |
return line; |
} |
uint8_t menu_choose3 (uint8_t min, uint8_t max,uint8_t start, uint8_t return_at_start,uint8_t return_at_end) |
{ |
uint8_t pos = 1; |
uint8_t line = start; |
uint8_t before = start; |
menu_set_cursor (line, line, pos); |
do |
{ |
if (get_key_press (1 << KEY_PLUS)) |
{ |
if (line < max) |
{ |
line ++; |
} |
else |
{ |
if(return_at_end == 1) |
{ |
return 254; |
} |
else |
{ |
//line = min; |
} |
} |
} |
if (get_key_press (1 << KEY_MINUS)) |
{ |
if (line > min) |
{ |
line --; |
} |
else |
{ |
if(return_at_start == 1) |
{ |
return 253; |
} |
else |
{ |
//line = max; |
} |
} |
} |
if (line != before) |
{ |
menu_set_cursor (before, line, pos); |
before = line; |
} |
} |
while (!(get_key_press (1 << KEY_ENTER))); |
return line; |
} |
void main_menu(void) |
{ |
uint8_t ii = 0; |
uint8_t offset = 0; |
uint8_t size = 0; |
if(hardware == NC) size = ITEMS_NC ; |
if(hardware == FC) size = ITEMS_FC ; |
if(hardware == NO) size = ITEMS_NO ; |
uint8_t dmode = 0; |
uint8_t target_pos = 1; |
uint8_t val =0; |
while(1) |
{ |
lcd_cls (); |
lcd_printp_at (0, 0, PSTR("PMK-Tool=FC "), 0); |
lcd_printp (PSTR(FC_Version),0); |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b \x0c"), 0); |
while(1) |
{ |
ii = 0; |
if(offset > 0) |
{ |
lcd_printp_at(1,1, PSTR("\x1a"), 0); |
} |
for(ii = 0;ii < 6 ; ii++) |
{ |
if((ii+offset) < size) |
{ |
if(hardware == NC) |
{ |
lcd_printp_at(3,ii+1,param_menuitems_nc[ii+offset], 0); |
} |
else |
if(hardware == FC) |
{ |
lcd_printp_at(3,ii+1,param_menuitems_fc[ii+offset], 0); |
} |
else |
{ |
lcd_printp_at(3,ii+1,param_menuitems_no[ii+offset], 0); |
} |
} |
if((ii == 5)&&(ii+offset < (size-1))) |
{ |
lcd_printp_at(1,6, PSTR("\x1b"), 0); |
} |
} |
if(dmode == 0) |
{ |
if(offset == 0) |
{ |
if(size > 6) |
{ |
val = menu_choose3 (1, 5, target_pos,0,1); |
} |
else |
{ |
val = menu_choose3 (1, size, target_pos,0,0); |
} |
} |
else |
{ |
val = menu_choose3 (2, 5, target_pos,1,1); |
} |
} |
if(dmode == 1) |
{ |
if(offset+7 > size) |
{ |
val = menu_choose3 (2, 6, target_pos,1,0); |
} |
else |
{ |
val = menu_choose3 (2, 5, target_pos,1,1); |
} |
} |
if(val == 254) |
{ |
offset++; |
dmode = 1; |
target_pos = 5; |
}else if(val == 253) |
{ |
offset--; |
dmode = 0; |
target_pos = 2; |
}else if(val == 255) |
{ |
// nothing |
} |
else |
{ |
break; |
} |
} |
target_pos = val; |
if(hardware == NC) |
{ |
if((val+offset) == 1 ) osd(OSD_Mode); |
if((val+offset) == 2 ) osd(THREE_D_Mode); |
// if((val+offset) == 3 ) jeti(); |
if((val+offset) == 3 ) display_data(); |
if((val+offset) == 4 ) edit_parameter(); |
if((val+offset) == 5 ) display_debug(); |
if((val+offset) == 6 ) motor_test(); |
if((val+offset) == 7 ) gps(); |
if((val+offset) == 8 ) PMK_Setup(); |
if((val+offset) == 9) Show_Version(); |
#if defined HWVERSION3_1 || defined HWVERSION1_3 |
if((val+offset) == 10) Wi232_FC(); |
#else |
if((val+offset) == 10) Show_Error_HW(); |
#endif |
} |
if(hardware == FC) |
{ |
if((val+offset) == 1 ) display_data(); |
if((val+offset) == 2 ) edit_parameter(); |
if((val+offset) == 3 ) display_debug(); |
if((val+offset) == 4 ) motor_test(); |
if((val+offset) == 5 ) PMK_Setup(); |
if((val+offset) == 6 ) Show_Version(); |
#if defined HWVERSION3_1 || defined HWVERSION1_3 |
if((val+offset) == 7) Wi232_FC(); |
#else |
if((val+offset) == 7) Show_Error_HW(); |
#endif |
} |
if(hardware == NO) |
{ |
if((val+offset) == 1 ) ; |
// if((val+offset) == 1 ) motor_i2c(); noch nicht freigegeben |
if((val+offset) == 2 ) PMK_Setup(); |
if((val+offset) == 3 ) Show_Version(); |
#if defined HWVERSION3_1 || defined HWVERSION1_3 |
if((val+offset) == 4) Wi232_FC(); |
if((val+offset) == 5) Wi232_USB(); |
#else |
if((val+offset) == 4) Show_Error_HW(); |
if((val+offset) == 5) Show_Error_HW(); |
#endif |
if((val+offset) == 6) |
{ |
lcd_cls(); |
lcd_printpns_at (0, 0, PSTR("Connect PC to PKT-USB"),0); |
lcd_printpns_at (0, 1, PSTR("Press 'Start' on PKT"),0); |
lcd_printpns_at (0, 2, PSTR("Then start avrdude:"),0); |
lcd_printpns_at (0, 3, PSTR("avrdude -pm644p -cavr"),0); |
lcd_printpns_at (0, 4, PSTR("109 -Pcom? -b115200 -"),0); |
lcd_printpns_at (0, 5, PSTR("Uflash:w:NEWSOFTWARE"),0); |
lcd_printpns_at (0, 6, PSTR(".hex:a"),0); |
// avrdude -pm644p -cavr109 -P/dev/ttyUSB1 -b115200 -V -Uflash:w:GPL_PKT_V3.1L_FC0.84_HW3x.hex:a |
lcd_printpns_at (0, 7, PSTR("Back Start"),0); |
do |
if ((get_key_press (1 << KEY_MINUS))) {return;} |
while (!(get_key_press (1 << KEY_ENTER))); |
{ |
/* start bootloader with Reset, Hold KEY_ENTER*/ |
wdt_enable( WDTO_250MS ); |
while (1) { ; } |
} |
} |
} |
} |
} |
void Show_Error_HW(void) |
{ |
lcd_cls (); |
lcd_printpns_at (0,0,PSTR("Mit dieser Hardware"), 0); |
lcd_printpns_at (0,1,PSTR("nicht moeglich!"), 0); |
lcd_printpns_at (0,7,PSTR(" zurueck"), 0); |
while (!(get_key_press (1 << KEY_ENTER))); |
return; |
} |
void Show_Version(void) |
{ |
lcd_cls (); |
lcd_printpns_at (0,0,PSTR("PMK Tool 3.2"), 0); |
lcd_printpns_at (0,1,PSTR("for FC "), 0); |
lcd_printpns_at (8,1,PSTR(FC_Version),0); |
lcd_printpns_at (0,2,PSTR("(C) GNU GPL License"), 0); |
lcd_printpns_at (0,3,PSTR(" NO WARRANTY"), 0); |
lcd_printpns_at (0,4,PSTR("2008 Thomas Kaiser"), 0); |
lcd_printpns_at (0,5,PSTR("2009-2010 Peter Mack"), 0); |
lcd_printpns_at (0,6,PSTR("2010 Sebastian Boehm"), 0); |
lcd_printpns_at (0,7,PSTR("2011 Chr. Brandtner "), 0); |
while (!(get_key_press (1 << KEY_ENTER))); |
return; |
} |
/Transportables_Koptertool/tags/V3.2/menu.h |
---|
0,0 → 1,45 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _MENU_H |
#define _MENU_H |
//***************************************************************************** |
// |
#define CURSOR_COL 1 // column where the menu cursor is displayed |
#define MENU_LINE 1 // starting line of menu |
#define MENU_COL 3 // column where the menu starts |
#define OSD_Mode 1 // OSD Anzeige als OSD |
#define THREE_D_Mode 2 // OSD Anzeige in 3D Position |
//***************************************************************************** |
// |
//***************************************************************************** |
// |
void main_menu (void); |
void light_toggle(void); |
void Show_Version(void); |
void Show_Error_HW(void); |
void Uart1_debug(void); |
uint8_t menu_choose (uint8_t min, uint8_t max, uint8_t pos, uint8_t start); |
uint8_t menu_choose2 (uint8_t min, uint8_t max,uint8_t start,uint8_t return_at_start,uint8_t return_at_end); |
uint8_t menu_choose3 (uint8_t min, uint8_t max,uint8_t start, uint8_t return_at_start,uint8_t return_at_end); |
#endif |
/Transportables_Koptertool/tags/V3.2/mk-data-structs.h |
---|
0,0 → 1,297 |
/**************************************************************************** |
* Copyright (C) 2009 by Claas Anders "CaScAdE" Rathje * |
* admiralcascade@gmail.com * |
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
****************************************************************************/ |
/* ########################################################################## |
* gain some fake arm compat :) |
* ##########################################################################*/ |
#ifndef _MK_DATA_STRUCTS_H |
#define _MK_DATA_STRUCTS_H |
// FC Version 0.82 |
#define EEProm_Version 85 // FC EEProm Revision / Struktur FC 0.82 |
#define FC_Version "0.82/0.84" //Softwareversion der FC |
#define u8 uint8_t |
#define s8 int8_t |
#define u16 uint16_t |
#define s16 int16_t |
#define u32 uint32_t |
#define s32 int32_t |
//***************************************************************************** |
// |
#define NUMBER_OF_DEBUG_DATAS 32 |
#define ANALOG_NAME_LENGTH 16 |
// Version of supported serial protocol |
#define MIN_VERSION 7 |
#define MAX_VERSION 10 |
// Setting index |
#define SETTING_1 1 |
#define SETTING_2 2 |
#define SETTING_3 3 |
#define SETTING_4 4 |
#define SETTING_5 5 |
#define SETTING_CURRENT 0xff |
typedef struct |
{ |
unsigned char SWMajor; |
unsigned char SWMinor; |
unsigned char ProtoMajor; |
unsigned char ProtoMinor; |
unsigned char SWPatch; |
unsigned char HardwareError[5]; |
} __attribute__((packed)) Version_t; |
/* |
* FC Debug Struct |
* portions taken and adapted from |
* http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.72p%2Fuart.h |
*/ |
typedef struct { |
uint8_t Digital[2]; |
// NC: unsigned; FC: signed !!!! |
int16_t Analog[32]; // Debugvalues |
} __attribute__((packed)) DebugData_t; |
//typedef struct { |
// uint8_t line; |
// uint8_t text[20]; |
//} __attribute__((packed)) Display_t; |
//typedef struct |
//{ |
// uint8_t Revision; |
// int8_t Name[12]; |
// int8_t Motor[16][4]; |
// uint8_t crc; |
//} __attribute__((packed)) Mixer_t; |
/* |
* NaviCtrl OSD Structs |
* portions taken and adapted from |
* http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=NaviCtrl&path=%2Ftags%2FV0.15c%2Fuart1.h |
*/ |
//typedef struct |
//{ |
// signed int Winkel[3]; // nick, roll, compass in 0,1.^ |
// signed char Centroid[3]; |
// signed char reserve[5]; |
//} __attribute__((packed)) Data3D_t; |
typedef struct { |
s32 Longitude; // in 1E-7 deg |
s32 Latitude; // in 1E-7 deg |
s32 Altitude; // in mm |
u8 Status; // validity of data |
} __attribute__((packed)) GPS_Pos_t; |
typedef struct { |
u16 Distance; // distance to target in cm |
s16 Bearing; // course to target in deg |
} __attribute__((packed)) GPS_PosDev_t; |
typedef struct |
{ |
u8 Version; // version of the data structure |
GPS_Pos_t CurrentPosition; // see ubx.h for details |
GPS_Pos_t TargetPosition; |
GPS_PosDev_t TargetPositionDeviation; |
GPS_Pos_t HomePosition; |
GPS_PosDev_t HomePositionDeviation; |
u8 WaypointIndex; // index of current waypoints running from 0 to WaypointNumber-1 |
u8 WaypointNumber; // number of stored waypoints |
u8 SatsInUse; // number of satellites used for position solution |
s16 Altimeter; // hight according to air pressure |
s16 Variometer; // climb(+) and sink(-) rate |
u16 FlyingTime; // in seconds |
u8 UBat; // Battery Voltage in 0.1 Volts |
u16 GroundSpeed; // speed over ground in cm/s (2D) |
s16 Heading; // current flight direction in . as angle to north |
s16 CompassHeading; // current compass value in . |
s8 AngleNick; // current Nick angle in 1. |
s8 AngleRoll; // current Rick angle in 1. |
u8 RC_Quality; // RC_Quality |
u8 FCFlags; // Flags from FC |
u8 NCFlags; // Flags from NC |
u8 Errorcode; // 0 --> okay |
u8 OperatingRadius; // current operation radius around the Home Position in m |
s16 TopSpeed; // velocity in vertical direction in cm/s |
u8 TargetHoldTime; // time in s to stay at the given target, counts down to 0 if target has been reached |
u8 RC_RSSI; // Receiver signal strength (since version 2 added) |
s16 SetpointAltitude; // setpoint for altitude |
u8 Gas; // for future use |
u16 Current; // actual current in 0.1A steps |
u16 UsedCapacity; // used capacity in mAh |
} __attribute__((packed)) NaviData_t; |
/* |
* MikroKopter Flags |
* taken from |
* http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.73d%2Ffc.h |
*/ |
#define FCFLAG_MOTOR_RUN 0x01 |
#define FCFLAG_FLY 0x02 |
#define FCFLAG_CALIBRATE 0x04 |
#define FCFLAG_START 0x08 |
#define FCFLAG_NOTLANDUNG 0x10 |
#define FCFLAG_LOWBAT 0x20 |
#define FCFLAG_SPI_RX_ERR 0x40 |
#define FCFLAG_I2CERR 0x80 |
/* |
* NaviCtrl Flags |
* taken from |
* http://mikrocontroller.cco-ev.de/mikrowebsvn/filedetails.php?repname=NaviCtrl&path=%2Ftags%2FV0.15c%2Fuart1.h |
*/ |
#define NC_FLAG_FREE 0x01 |
#define NC_FLAG_PH 0x02 |
#define NC_FLAG_CH 0x04 |
#define NC_FLAG_RANGE_LIMIT 0x08 |
#define NC_FLAG_NOSERIALLINK 0x10 |
#define NC_FLAG_TARGET_REACHED 0x20 |
#define NC_FLAG_MANUAL_CONTROL 0x40 |
#define NC_FLAG_8 0x80 |
typedef struct |
{ |
unsigned char Revision; |
unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Hoehe_HoverBand; // Wert : 0-250 |
unsigned char Hoehe_GPS_Z; // Wert : 0-250 |
unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char Gyro_D; // Wert : 0-250 |
unsigned char Gyro_Gier_P; // Wert : 10-250 |
unsigned char Gyro_Gier_I; // Wert : 0-250 |
unsigned char Gyro_Stability; // Wert : 0-16 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
//--- Seit V0.75 |
unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoRollComp; // Wert : 0-250 |
unsigned char ServoRollMin; // Wert : 0-250 |
unsigned char ServoRollMax; // Wert : 0-250 |
//--- |
unsigned char ServoNickRefresh; // Speed of the Servo |
unsigned char ServoManualControlSpeed;// |
unsigned char CamOrientation; // |
unsigned char Servo3; // Value or mapping of the Servo Output |
unsigned char Servo4; // Value or mapping of the Servo Output |
unsigned char Servo5; // Value or mapping of the Servo Output |
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping |
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag |
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag |
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung) |
unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden |
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt |
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt |
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung) |
unsigned char Driftkomp; |
unsigned char DynamicStability; |
unsigned char UserParam5; // Wert : 0-250 |
unsigned char UserParam6; // Wert : 0-250 |
unsigned char UserParam7; // Wert : 0-250 |
unsigned char UserParam8; // Wert : 0-250 |
//---Output --------------------------------------------- |
unsigned char J16Bitmask; // for the J16 Output |
unsigned char J16Timing; // for the J16 Output |
unsigned char J17Bitmask; // for the J17 Output |
unsigned char J17Timing; // for the J17 Output |
// seit version V0.75c |
unsigned char WARN_J16_Bitmask; // for the J16 Output |
unsigned char WARN_J17_Bitmask; // for the J17 Output |
//---NaviCtrl--------------------------------------------- |
unsigned char NaviGpsModeControl; // Parameters for the Naviboard |
unsigned char NaviGpsGain; |
unsigned char NaviGpsP; |
unsigned char NaviGpsI; |
unsigned char NaviGpsD; |
unsigned char NaviGpsPLimit; |
unsigned char NaviGpsILimit; |
unsigned char NaviGpsDLimit; |
unsigned char NaviGpsACC; |
unsigned char NaviGpsMinSat; |
unsigned char NaviStickThreshold; |
unsigned char NaviWindCorrection; |
unsigned char NaviSpeedCompensation; |
unsigned char NaviOperatingRadius; |
unsigned char NaviAngleLimitation; |
unsigned char NaviPH_LoginTime; |
//---Ext.Ctrl--------------------------------------------- |
unsigned char ExternalControl; // for serial Control |
//---CareFree--------------------------------------------- |
unsigned char OrientationAngle; // Where is the front-direction? |
unsigned char OrientationModeControl; // switch for CareFree |
unsigned char MotorSafetySwitch; |
//------------------------------------------------ |
unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoCompInvert; // // 0x01 = Nick, 0x02 = Roll 0 oder 1 // WICHTIG!!! am Ende lassen |
unsigned char ExtraConfig; // bitcodiert |
char Name[12]; |
unsigned char crc; |
} __attribute__((packed)) mk_param_struct_t; |
#endif |
/Transportables_Koptertool/tags/V3.2/motortest.c |
---|
0,0 → 1,136 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include <string.h> |
#include "main.h" |
#include "motortest.h" |
#include "lcd.h" |
#include "usart.h" |
#include "timer.h" |
uint8_t m; |
uint8_t mmode; |
uint8_t v; |
volatile uint8_t i2c_state; |
volatile uint8_t motor_addr = 0; |
//***************************************************************************** |
// |
void motor (uint8_t m,uint8_t v) |
{ |
memset (buffer, 0, 16); |
if(m == 0) |
{ |
memset (buffer, v, 16); |
} |
else |
{ |
buffer[m-1] = v; |
} |
SendOutData('t', ADDRESS_FC, 1, buffer, 16); |
} |
//***************************************************************************** |
// |
void motor_test (void) |
{ |
//uint8_t m; |
lcd_cls (); |
mmode = 1; |
m = 0; |
v = 0; |
lcd_printp (PSTR("Motor Test"), 0); |
lcd_printpns_at (2, 2, PSTR("Motor: All"), 0); |
lcd_printpns_at (2, 3, PSTR("Value: 0"), 0); |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back \x0c"), 0); |
lcd_printp_at (0, 2, PSTR("\x1D"), 0); |
if (hardware == NC && current_hardware == NC) |
{ |
SwitchToFC(); |
} |
do |
{ |
if ((mmode == 0) && (get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) && (v < 254)) |
{ |
v++; |
write_ndigit_number_u (9, 3, v, 3, 0); |
lcd_frect ((8*1), (8*5), (v * (14*8)) / 255, 6, 1); |
} |
if ((mmode == 0) && (get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) && (v > 0)) |
{ |
lcd_frect ((8*1), (8*5), (v * (14*8)) / 255, 6, 0); |
v--; |
write_ndigit_number_u (9, 3, v, 3, 0); |
lcd_frect ((8*1), (8*5), (v * (14*8)) / 255, 6, 1); |
} |
if ((mmode == 1) && (get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) && (m < 16)) |
{ |
m++; |
write_ndigit_number_u (9, 2, m, 3, 0); |
} |
if ((mmode == 1) && (get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) && (m > 0)) |
{ |
m--; |
if(m > 0) write_ndigit_number_u (9, 2, m, 3, 0); |
if(m == 0) lcd_printpns_at (9, 2, PSTR("All"), 0); |
} |
if (get_key_press (1 << KEY_ENTER)) |
{ |
if(mmode == 0) |
{ |
lcd_printp_at (0, 2, PSTR("\x1D"), 0); |
lcd_printp_at (0, 3, PSTR(" "), 0); |
mmode = 1; |
} |
else |
{ |
lcd_printp_at (0, 2, PSTR(" "), 0); |
lcd_printp_at (0, 3, PSTR("\x1D"), 0); |
mmode = 0; |
}; |
} |
motor (m,v); |
} |
while (!get_key_press (1 << KEY_ESC)); |
// switch all engines off at exit ! |
memset (buffer, 0, 16); |
SendOutData('t', ADDRESS_FC, 1, buffer, 16); |
} |
/Transportables_Koptertool/tags/V3.2/motortest.h |
---|
0,0 → 1,27 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _MOTORTEST_H |
#define _MOTORTEST_H |
//***************************************************************************** |
// |
void motor_test (void); |
#endif |
/Transportables_Koptertool/tags/V3.2/motortestI2C.c |
---|
0,0 → 1,209 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include <string.h> |
#include <util/twi.h> |
#include "main.h" |
#include "motortestI2C.h" |
#include "lcd.h" |
#include "usart.h" |
#include "timer.h" |
uint8_t m; |
#define SCL_FREQ 200000L |
#define I2C_STATE_TX_ADDRESS 0 |
#define I2C_STATE_TX_DATA 1 |
#define I2C_STATE_TX_STOP 2 |
#define I2C_STATE_RX_ADDRESS 3 |
#define I2C_STATE_RX_1BYTE 4 |
#define I2C_STATE_RX_2BYTE 5 |
volatile uint8_t i2c_state; |
uint8_t motor_addr_I2C = 0; |
//***************************************************************************** |
// |
void I2C_Init(void) |
{ |
uint8_t sreg = SREG; |
cli(); |
DDRC &= ~(1<<DDC1); // SDA is input |
DDRC |= (1<<DDC0); // SCL is output |
PORTC |= (1<<PORTC0)|(1<<PORTC1); // pull up SDA and SCL |
// prescaler 1 (TWPS1 = 0, TWPS0 = 0) |
TWSR &= ~((1<<TWPS1)|(1<<TWPS0)); |
TWBR = ((F_CPU/SCL_FREQ)-16)/2; |
i2c_state = I2C_STATE_TX_ADDRESS; |
SREG = sreg; |
} |
//***************************************************************************** |
// |
void I2C_Start(uint8_t start_state) |
{ |
i2c_state = start_state; |
// generate start condition and enable interrupts |
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN) | (1<<TWIE); |
} |
//***************************************************************************** |
// |
void I2C_Stop(uint8_t start_state) |
{ |
i2c_state = start_state; |
// generate stop condition and disable interrupt |
TWCR = (1<<TWINT) | (1<<TWSTO) | (1<<TWEN); |
} |
//***************************************************************************** |
// |
void I2C_WriteByte(int8_t b) |
{ |
TWDR = b; |
// clear interrupt flag (TWINT = 1) |
// enable i2c bus (TWEN = 1) |
// enable interrupt (TWIE = 1) |
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE); |
} |
//***************************************************************************** |
// |
void I2C_ReceiveByte(void) |
{ |
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE) | (1<<TWEA); |
} |
//***************************************************************************** |
// |
void I2C_ReceiveLastByte(void) |
{ |
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE); |
} |
//***************************************************************************** |
// |
ISR (TWI_vect) |
{ |
int8_t mrCurrent; |
int8_t mrMaxpwm; |
switch (i2c_state++) |
{ |
// TWI Master Transmit |
case I2C_STATE_TX_ADDRESS: |
I2C_WriteByte(0x52 + (motor_addr_I2C * 2) ); // select slave adress in tx mode |
break; |
case I2C_STATE_TX_DATA: |
I2C_WriteByte(m); |
break; |
case I2C_STATE_TX_STOP: |
if(TWSR == TW_MT_DATA_NACK) // Data transmitted, NACK received |
{ |
// error occured |
} |
I2C_Stop(I2C_STATE_TX_ADDRESS); |
I2C_Start(I2C_STATE_RX_ADDRESS); // Repeated start -> switch slave or switch Master Transmit -> Master Receive |
break; |
// Master Receive Data |
case I2C_STATE_RX_ADDRESS: |
I2C_WriteByte(0x53 + (motor_addr_I2C * 2) ); // select slave adress in rx mode |
if(TWSR != TW_MR_SLA_ACK) // SLA+R transmitted, if not ACK received |
{ // no response from the addressed slave received |
I2C_Stop(I2C_STATE_TX_ADDRESS); |
} |
else |
{ |
I2C_ReceiveByte(); //Transmit 1st byte |
} |
break; |
case I2C_STATE_RX_1BYTE: //Read 1st byte and transmit 2nd Byte |
mrCurrent = TWDR; |
I2C_ReceiveLastByte(); // nack |
break; |
case I2C_STATE_RX_2BYTE: |
//Read 2nd byte |
mrMaxpwm = TWDR;; |
I2C_Stop(I2C_STATE_TX_ADDRESS); |
break; |
default: |
I2C_Stop(I2C_STATE_TX_ADDRESS); |
break; |
} |
} |
//***************************************************************************** |
// |
void motor_i2c (void) |
{ |
uint8_t blc = 0; |
lcd_cls (); |
m = 0; |
lcd_printp (PSTR("I2C Motor Test"), 0); |
lcd_printpns_at (0, 7, PSTR("dec inc Exit Oxff"), 0); |
lcd_printp (PSTR("BLC #"), 0); |
do |
{ |
if ((get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) && (m < 254)) |
{ |
m++; |
} |
if ((get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) && (m > 0)) |
{ |
lcd_frect (GX, GY, (m * 108) / 255, 10, 0); |
m--; |
} |
if (get_key_press (1 << KEY_ENTER)) |
{ |
lcd_frect (GX, GY, (m * 108) / 255, 10, 0); |
m = 0; |
} |
} |
while (!get_key_press (1 << KEY_ESC)); |
// switch all engines off at exit ! |
} |
/Transportables_Koptertool/tags/V3.2/motortestI2C.h |
---|
0,0 → 1,37 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _MOTORTESTI2C_H |
#define _MOTORTESTI2C_H |
//***************************************************************************** |
// |
#define MX 0 |
#define MY 3 |
#define GX (MX + 3) * 6 + 1 // 3 for 3 digits |
#define GY MY * 8 - 2 |
#define MAXGX 128 - GX |
//***************************************************************************** |
// |
void motor_i2c (void); |
void I2C_Init(void); |
#endif |
/Transportables_Koptertool/tags/V3.2/osd.c |
---|
0,0 → 1,674 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* based on the C-OSD code from CaScAdE * |
* http://www.mylifesucks.de/oss/c-osd/ * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include "main.h" |
#include "osd.h" |
#include "lcd.h" |
#include "timer.h" |
#include "usart.h" |
#include "eeprom.h" |
#include "mk-data-structs.h" |
#define COSD_WASFLYING 4 |
/* ########################################################################## |
* global definitions and global vars |
* ##########################################################################*/ |
NaviData_t *naviData; |
// stats for after flight |
int16_t max_Altimeter = 0; |
uint16_t max_GroundSpeed = 0; |
int16_t max_Distance = 0; |
uint8_t min_UBat = 255; |
uint16_t max_FlyingTime = 0; |
uint16_t max_Current = 0; |
uint16_t max_Capacity = 0; |
// cache old vars for blinking attribute, checkup is faster than full |
// attribute write each time |
volatile uint8_t last_UBat = 255; |
volatile uint8_t last_RC_Quality = 255; |
volatile uint16_t ftimer = 0; |
// store stats description in progmem to save space |
const char stats_item_0[] PROGMEM = "max Altitude:"; |
const char stats_item_1[] PROGMEM = "max Speed :"; |
const char stats_item_2[] PROGMEM = "max Distance:"; |
const char stats_item_3[] PROGMEM = "min Voltage :"; |
const char stats_item_4[] PROGMEM = "max Time :"; |
#if 1 |
const char stats_item_5[] PROGMEM = "max Current :"; |
const char stats_item_6[] PROGMEM = "UsedCapacity:"; |
#else |
const char stats_item_5[] PROGMEM = "Long. :"; |
const char stats_item_6[] PROGMEM = "Lat. :"; |
#endif |
const char *stats_item_pointers[] PROGMEM = { |
stats_item_0, |
stats_item_1, |
stats_item_2, |
stats_item_3, |
stats_item_4, |
stats_item_5, |
stats_item_6 |
}; |
//char* rose = "-+-N-+-O-+-S-+-W-+-N-+-O-+-S-+-W-+-N-+-O-+-S-+-W"; |
const char rose[48] PROGMEM = { |
0x0e, 0x0f, 0x0e, 'N', 0x0e, 0x0f, 0x0e, 'O', 0x0e, 0x0f, 0x0e, 'S', |
0x0e, 0x0f, 0x0e, 'W', 0x0e, 0x0f, 0x0e, 'N', 0x0e, 0x0f, 0x0e, 'O', |
0x0e, 0x0f, 0x0e, 'S', 0x0e, 0x0f, 0x0e, 'W', 0x0e, 0x0f, 0x0e, 'N', |
0x0e, 0x0f, 0x0e, 'O', 0x0e, 0x0f, 0x0e, 'S', 0x0e, 0x0f, 0x0e, 'W'}; |
// the center is char 19 (north), we add the current heading in 8th |
// which would be 22.5 degrees, but float would bloat up the code |
// and *10 / 225 would take ages... so we take the uncorrect way |
const char str_NE[] PROGMEM = "NE"; |
const char str_E[] PROGMEM = "E "; |
const char str_SE[] PROGMEM = "SE"; |
const char str_S[] PROGMEM = "S "; |
const char str_SW[] PROGMEM = "SW"; |
const char str_W[] PROGMEM = "W "; |
const char str_NW[] PROGMEM = "NW"; |
const char str_N[] PROGMEM = "N "; |
const char *directions_p[8] PROGMEM = { |
str_NE, |
str_E, |
str_SE, |
str_S, |
str_SW, |
str_W, |
str_NW, |
str_N |
}; |
// Flags |
uint8_t COSD_FLAGS2 = 0; |
GPS_Pos_t last5pos[7]; |
uint8_t error = 0; |
/** |
* convert the <heading> gotton from NC into an index |
*/ |
uint8_t heading_conv (uint16_t heading) |
{ |
if (heading > 23 && heading < 68) |
{ |
return 0; //direction = "NE"; |
} |
else if (heading > 67 && heading < 113) |
{ |
return 1; //direction = "E "; |
} |
else if (heading > 112 && heading < 158) |
{ |
return 2; //direction = "SE"; |
} |
else if (heading > 157 && heading < 203) |
{ |
return 3; //direction = "S "; |
} |
else if (heading > 202 && heading < 248) |
{ |
return 4; //direction = "SW"; |
} |
else if (heading > 247 && heading < 293) |
{ |
return 5; //direction = "W "; |
} |
else if (heading > 292 && heading < 338) |
{ |
return 6; //direction = "NW"; |
} |
return 7; //direction = "N "; |
} |
/** |
* draw a compass rose at <x>/<y> for <heading> |
*/ |
void draw_compass (uint8_t x, uint8_t y, uint16_t heading) |
{ |
uint8_t front = 19 + (heading / 22); |
for (uint8_t i = 0; i < 9; i++) |
{ |
lcd_putc (x++, y, pgm_read_byte(&rose[front - 4 + i]), 0); |
} |
} |
void D_Position(void) |
{ |
return; |
} |
/* ########################################################################## |
* variometer |
* ##########################################################################*/ |
/** |
* draw variometer arrows at <x>/<y> according to <variometer> |
*/ |
void draw_variometer (uint8_t x, uint8_t y, uint8_t width_x, uint8_t width_y, int16_t variometer) |
{ |
lcd_rect (x, y - ((width_y - 1) / 2), width_x, width_y, 1); |
lcd_frect (x + 1, y - ((width_y - 1) / 2) + 1, width_x - 2, width_y - 2, 0); |
lcd_line (x, y, x + width_x, y, 1); |
if (variometer > 0) |
{ // gain height |
switch (variometer / 5) |
{ |
case 0: |
lcd_frect (x + 3, y - 1, 3, 1, 1); |
break; |
case 1: |
lcd_frect (x + 2, y - 3, 5, 3, 1); |
break; |
case 2: |
lcd_frect (x + 2, y - 4, 5, 4, 1); |
break; |
default: |
lcd_frect (x + 1, y - 5, 7, 5, 1); |
break; |
} |
} |
else |
{ // sink |
switch (variometer / -5) |
{ |
case 0: |
lcd_frect (x + 3, y, 3, 1, 1); |
break; |
case 1: |
lcd_frect (x + 2, y, 5, 3, 1); |
break; |
case 2: |
lcd_frect (x + 2, y, 5, 4, 1); |
break; |
default: |
lcd_frect (x + 1, y, 7, 5, 1); |
break; |
} |
} |
} |
#define TIMEOUT 200 // 2 sec |
void print_statistics (void) |
{ |
uint8_t line = 0; |
lcd_cls (); |
// max Altitude |
lcd_printpns_at (0, line, stats_item_pointers[0], 0); |
write_ndigit_number_s (13, line, max_Altimeter / 30, 4, 0); |
lcd_putc (17, line, 'm', 0); |
// max Speed |
lcd_printpns_at (0, ++line, stats_item_pointers[1], 0); |
write_ndigit_number_u (14, line, (uint16_t) (((uint32_t) max_GroundSpeed * (uint32_t) 9) / (uint32_t) 250), 3, 0); |
lcd_printpns_at(17, line, PSTR("km/h"), 0); |
// max Distance |
lcd_printpns_at (0, ++line, stats_item_pointers[2], 0); |
write_ndigit_number_u (14, line, max_Distance / 10, 3, 0); |
lcd_putc (17, line, 'm', 0); |
// max time |
lcd_printpns_at (0, ++line, stats_item_pointers[4], 0); |
write_time (13, line, max_FlyingTime); |
// min voltage |
lcd_printpns_at (0, ++line, stats_item_pointers[3], 0); |
write_ndigit_number_u_10th (13, line, min_UBat, 3, 0); |
lcd_putc (17, line, 'V', 0); |
#if 1 |
// max Current |
lcd_printpns_at (0, ++line, stats_item_pointers[5], 0); |
write_ndigit_number_u_10th (13, line, max_Current, 3, 0); |
lcd_putc (17, line, 'A', 0); |
// Used Capacity |
lcd_printpns_at (0, ++line, stats_item_pointers[6], 0); |
write_ndigit_number_u (13, line, max_Capacity, 4, 0); |
lcd_printpns_at(17, line, PSTR("mAh"), 0); |
#else |
// longitude |
lcd_printpns_at (0, ++line, stats_item_pointers[5], 0); |
write_gps_pos (8, line, naviData->CurrentPosition.Longitude); |
// latitude |
lcd_printpns_at (0, ++line, stats_item_pointers[6], 0); |
write_gps_pos (8, line, naviData->CurrentPosition.Latitude); |
#endif |
while (!get_key_press (1 << KEY_ESC)) |
timer = TIMEOUT; |
COSD_FLAGS2 &= ~COSD_WASFLYING; |
get_key_press(KEY_ALL); |
lcd_cls(); |
} |
void print_position (void) |
{ |
lcd_cls (); |
uint8_t ij =0; |
for(ij=0;ij<7;ij++) |
{ |
uint32_t lon = last5pos[ij].Longitude; |
write_ndigit_number_u (0, ij+1, (uint16_t)(lon/10000000), 3, 0); |
lcd_printp_at (3,ij+1, PSTR("."), 0); |
write_ndigit_number_u (4, ij+1, (uint16_t)((lon/1000) % 10000), 4, 1); |
write_ndigit_number_u (8, ij+1, (uint16_t)((lon/10) % 100), 2, 1); |
uint32_t lat = last5pos[ij].Latitude; |
write_ndigit_number_u (10, ij+1, (uint16_t)(lat/10000000), 3, 0); |
lcd_printp_at (13,ij+1, PSTR("."), 0); |
write_ndigit_number_u (14, ij+1, (uint16_t)((lat/1000) % 10000), 4, 1); |
write_ndigit_number_u (18, ij+1, (uint16_t)((lat/10) % 100), 2, 1); |
} |
while (!get_key_press (1 << KEY_MINUS) && !get_key_press (1 << KEY_ESC) && !get_key_press (1 << KEY_ENTER)) |
timer = TIMEOUT; |
get_key_press(KEY_ALL); |
lcd_cls(); |
} |
void osd (uint8_t ShowMode) |
{ |
uint8_t flag; |
uint8_t tmp_dat; |
uint8_t OSD_Mode; |
// Clear statistics |
max_Altimeter = 0; |
max_GroundSpeed = 0; |
max_Distance = 0; |
min_UBat = 255; |
max_FlyingTime = 0; |
// flags from last round to check for changes |
uint8_t old_FCFlags = 0; |
uint16_t old_hh = 0; |
uint8_t old_AngleNick = 0; |
uint8_t old_AngleRoll = 0; |
OSD_Mode = ShowMode; |
if(error == 0) lcd_cls(); |
if(error == 1) lcd_printp_at (0, 0, PSTR(" "), 0); |
if (hardware == FC) |
{ |
lcd_printp_at(0, 3, PSTR("Only with NC !"), 0); |
timer = 100; |
while (timer > 0); |
return; |
} |
SwitchToNC(); |
mode = 'O'; |
// disable debug... |
// RS232_request_mk_data (0, 'd', 0); |
tmp_dat = 0; |
SendOutData ('d', ADDRESS_ANY, 1, &tmp_dat, 1); |
// request OSD Data from NC every 100ms |
// RS232_request_mk_data (1, 'o', 100); |
tmp_dat = 10; |
SendOutData ('o', ADDRESS_NC, 1, &tmp_dat, 1); |
flag = 0; |
timer = TIMEOUT; |
abo_timer = ABO_TIMEOUT; |
do |
{ |
if (rxd_buffer_locked) |
{ |
timer = TIMEOUT; |
Decode64 (); |
naviData = (NaviData_t *) pRxData; |
if(error == 1) lcd_cls(); |
error = 0; |
GPS_Pos_t currpos; |
currpos.Latitude = naviData->CurrentPosition.Latitude; |
currpos.Longitude = naviData->CurrentPosition.Longitude; |
if((currpos.Latitude != last5pos[0].Latitude)&&(currpos.Longitude != last5pos[0].Longitude)) |
{ |
last5pos[6] = last5pos[5]; |
last5pos[5] = last5pos[4]; |
last5pos[4] = last5pos[3]; |
last5pos[3] = last5pos[2]; |
last5pos[2] = last5pos[1]; |
last5pos[1] = last5pos[0]; |
last5pos[0] = currpos; |
} |
flag = 1; |
if (OSD_Mode == 1) |
{ |
if (naviData->FCFlags & FCFLAG_MOTOR_RUN) |
{ // should be engines running |
// motors are on, assume we were/are flying |
COSD_FLAGS2 |= COSD_WASFLYING; |
} |
else |
{ // stats |
// if ((COSD_FLAGS2 & COSD_WASFLYING) || (get_key_press (1 << KEY_ENTER))) |
if (get_key_press (1 << KEY_ENTER)) |
{ |
print_statistics (); |
} |
if (get_key_press (1 << KEY_PLUS)) |
{ |
print_position (); |
} |
} |
// lcd_printpns_at (0, 3, PSTR("012345678901234567890"), 0); |
lcd_ecircle(22, 35, 16, 1); |
// Ground Speed |
write_ndigit_number_u (1, 0, (uint16_t) (((uint32_t) naviData->GroundSpeed * (uint32_t) 9) / (uint32_t) 250), 3, 0); |
lcd_printpns_at(4, 0, PSTR("km/h"), 0); |
// Compass |
write_ndigit_number_u (14, 0, naviData->CompassHeading, 3, 0); |
lcd_putc (17, 0, 0x1E, 0); // degree symbol |
lcd_printpns_at (18, 0, (const char *) (pgm_read_word ( &(directions_p[heading_conv(naviData->CompassHeading)]))), 0); |
draw_compass (12, 1, naviData->CompassHeading); |
// Altitude |
//note:lephisto:according to several sources it's /30 |
if (naviData->Altimeter > 300 || naviData->Altimeter < -300) |
{ |
// above 10m only write full meters |
write_ndigit_number_s (0, 1, naviData->Altimeter / 30, 4, 0); |
} |
else |
{ |
// up to 10m write meters.dm |
write_ndigit_number_s_10th (0, 1, naviData->Altimeter / 3, 3, 0); |
} |
lcd_putc (4, 1, 'm', 0); |
draw_variometer (55, 7, 9, 13, naviData->Variometer); |
// TODO: verify correctness |
uint16_t heading_home = (naviData->HomePositionDeviation.Bearing + 360 - naviData->CompassHeading) % 360; |
lcd_ecirc_line (22, 35, 15, old_hh, 0); |
old_hh = heading_home; |
lcd_ecirc_line (22, 35, 15, heading_home, 1); |
write_ndigit_number_u (7, 3, heading_home, 3, 0); |
lcd_putc (10, 3, 0x1e, 0); // degree symbol |
write_ndigit_number_u (7, 2, naviData->HomePositionDeviation.Distance / 10, 3, 0); |
lcd_putc (10, 2, 'm', 0); |
// Sats in use |
lcd_printp_at(10, 4, PSTR("Sats"), 0); |
write_ndigit_number_u (8, 4, naviData->SatsInUse, 2, 0); |
if (naviData->NCFlags & NC_FLAG_MANUAL_CONTROL) |
{ |
lcd_putc (19, 4, 'M', 0); // rc transmitter |
} |
else |
{ |
lcd_putc (19, 4, 'X', 0); // clear |
} |
#if 0 |
lcd_printp_at(11, 5, PSTR("Mode:"), 0); |
if (naviData->NCFlags & NC_FLAG_CH) |
{ |
lcd_printpns_at (17, 5, PSTR("CH "), 0); |
} |
else if (naviData->NCFlags & NC_FLAG_PH) |
{ |
lcd_printpns_at (17, 5, PSTR("PH "), 0); |
} |
else |
{ // (naviData->NCFlags & NC_FLAG_FREE) |
lcd_printpns_at (17, 5, PSTR("Free"), 0); // sat2 (free) |
} |
#endif |
if (naviData->NCFlags & NC_FLAG_CH) |
{ |
lcd_printpns_at (10, 5, PSTR("Coming Home"), 0); |
} |
else if (naviData->NCFlags & NC_FLAG_PH) |
{ |
lcd_printpns_at (10, 5, PSTR("Pos. Hold "), 0); |
} |
else |
{ // (naviData->NCFlags & NC_FLAG_FREE) |
lcd_printpns_at (10, 5, PSTR("Free "), 0); |
} |
// Flying time |
write_time (7, 6, naviData->FlyingTime); |
// lcd_printp_at (7, 6, PSTR("Fly"), 0); |
// RC |
write_ndigit_number_u (15, 6, naviData->RC_Quality, 3, 0); |
lcd_putc (18, 6, 0x1F, 0); // RC-transmitter |
if (naviData->NCFlags & NC_FLAG_NOSERIALLINK) |
{ |
lcd_printpns_at(19, 6, PSTR(" "), 0); // clear |
} |
else |
{ |
lcd_printpns_at(19, 6, PSTR("PC"), 0); |
} |
// Battery level |
write_ndigit_number_u_10th (0, 7, naviData->UBat, 3, 0); |
lcd_putc (4, 7, 'V', 0); |
// Akku Warnung |
if (naviData->UBat < MK_LowBat) |
{ //Beeper ein |
#ifdef HWVERSION1_2 |
PORTC &= ~(1<<PORTC6); |
#endif |
#ifdef HWVERSION1_3 |
PORTC &= ~(1<<PORTC6); |
#endif |
#ifdef HWVERSION3_1 |
set_BEEP(); |
#endif |
} |
if (naviData->UBat < MK_LowBat+2) //bei kurzzeitigen Schwankungen Beeper erst wieder aus wenn UBat 0,2 V höher als Warnschwelle |
{//Beeper aus |
#ifdef HWVERSION1_2 |
PORTC |= (1<<PORTC6); |
#endif |
#ifdef HWVERSION1_3 |
PORTC |= (1<<PORTC6); |
#endif |
#ifdef HWVERSION3_1 |
clr_BEEP(); |
#endif |
} |
// Akku Warnung Ende |
// Current |
write_ndigit_number_u_10th (7, 7, naviData->Current, 3, 0); |
lcd_putc (11, 7, 'A', 0); |
// Capacity |
write_ndigit_number_u (14, 7, naviData->UsedCapacity, 4, 0); |
lcd_printpns_at(18, 7, PSTR("mAh"), 0); |
// remember statistics (only when engines running) |
if (naviData->FCFlags & FCFLAG_MOTOR_RUN) |
{ |
if (naviData->Altimeter > max_Altimeter) max_Altimeter = naviData->Altimeter; |
if (naviData->GroundSpeed > max_GroundSpeed) max_GroundSpeed = naviData->GroundSpeed; |
if (naviData->HomePositionDeviation.Distance > max_Distance) max_Distance = naviData->HomePositionDeviation.Distance; |
if (naviData->UBat < min_UBat) min_UBat = naviData->UBat; |
if (naviData->FlyingTime > max_FlyingTime) max_FlyingTime = naviData->FlyingTime; |
if (naviData->Current > max_Current) max_Current = naviData->Current; |
if (naviData->UsedCapacity > max_Capacity) max_Capacity = naviData->UsedCapacity; |
} |
// remember last values |
last_RC_Quality = naviData->RC_Quality; |
last_UBat = naviData->UBat; |
old_FCFlags = naviData->FCFlags; |
rxd_buffer_locked = FALSE; |
} |
else |
{ |
lcd_printpns_at(0, 0, PSTR("N:"), 0); |
lcd_printpns_at(0, 1, PSTR("R:"), 0); |
write_ndigit_number_s (2, 0, naviData->AngleNick, 3, 0); |
write_ndigit_number_s (2, 1, naviData->AngleRoll, 3, 0); |
lcd_line(0,32,128,32,1); |
lcd_line(64,0,64,64,1); |
uint8_t Nick = ((naviData->AngleNick/2)+32); |
uint8_t Roll = -naviData->AngleRoll+64; |
uint16_t head_home = (naviData->HomePositionDeviation.Bearing + 360 - naviData->CompassHeading) % 360; |
write_ndigit_number_s (2, 2,head_home, 5, 0); |
lcd_printpns_at(0, 2, PSTR("K:"), 0); |
lcd_ecircle(old_AngleRoll,old_AngleNick, 10, 0); |
lcd_ecirc_line (old_AngleRoll, old_AngleNick, 9, old_hh, 0); |
lcd_ecircle(Roll, Nick, 10, 1); |
lcd_ecirc_line (Roll, Nick, 9, head_home, 1); |
old_hh = head_home; |
old_AngleNick = Nick; |
old_AngleRoll = Roll; |
// remember last values |
last_RC_Quality = naviData->RC_Quality; |
last_UBat = naviData->UBat; |
old_FCFlags = naviData->FCFlags; |
rxd_buffer_locked = FALSE; |
} |
if (!abo_timer) |
{ // renew abo every 3 sec |
// request OSD Data from NC every 100ms |
// RS232_request_mk_data (1, 'o', 100); |
tmp_dat = 10; |
SendOutData ('o', ADDRESS_NC, 1, &tmp_dat, 1); |
abo_timer = ABO_TIMEOUT; |
} |
} |
} |
while (!get_key_press (1 << KEY_ESC) && timer); |
// disable OSD Data from NC |
// RS232_request_mk_data (1, 'o', 0); |
tmp_dat = 0; |
SendOutData ('o', ADDRESS_NC, 1, &tmp_dat, 1); |
mode = 0; |
rxd_buffer_locked = FALSE; |
if (!timer) |
{ // timeout occured |
if (flag) |
{ |
lcd_cls (); |
} |
error = 1; |
uint8_t ij =0; |
for(ij=0;ij<7;ij++) |
{ |
uint32_t lon = last5pos[ij].Longitude; |
write_ndigit_number_u (0, ij+1, (uint16_t)(lon/10000000), 3, 0); |
lcd_printp_at (3,ij+1, PSTR("."), 0); |
write_ndigit_number_u (4, ij+1, (uint16_t)((lon/1000) % 10000), 4, 1); |
write_ndigit_number_u (8, ij+1, (uint16_t)((lon/10) % 100), 2, 1); |
uint32_t lat = last5pos[ij].Latitude; |
write_ndigit_number_u (10, ij+1, (uint16_t)(lat/10000000), 3, 0); |
lcd_printp_at (13,ij+1, PSTR("."), 0); |
write_ndigit_number_u (14, ij+1, (uint16_t)((lat/1000) % 10000), 4, 1); |
write_ndigit_number_u (18, ij+1, (uint16_t)((lat/10) % 100), 2, 1); |
} |
lcd_printp_at (0, 0, PSTR("ERROR: no data"), 0); |
timer = 100; |
while (timer > 0); |
if (get_key_press (1 << KEY_PLUS)) |
{ |
print_position (); |
} |
osd(OSD_Mode); |
} |
} |
/Transportables_Koptertool/tags/V3.2/osd.h |
---|
0,0 → 1,29 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* based on the C-OSD code from CaScAdE * |
* http://www.mylifesucks.de/oss/c-osd/ * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _OSD_H |
#define _OSD_H |
//***************************************************************************** |
// |
void osd (uint8_t ShowMode); |
#endif |
/Transportables_Koptertool/tags/V3.2/parameter.c |
---|
0,0 → 1,1388 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* Copyright (C) 2010 Sebastian Boehm, seb@exse.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/pgmspace.h> |
#include <util/delay.h> |
#include <string.h> |
#include <stdlib.h> |
#include "main.h" |
#include "lcd.h" |
#include "timer.h" |
#include "usart.h" |
#include "mk-data-structs.h" |
#include "parameter.h" |
#include "menu.h" |
#include "eeprom.h" |
#include "parameter_names.h" |
#define TIMEOUT 500 // 5 sec |
uint8_t display_settings_menu (void); |
uint8_t display_param_menu (uint8_t); |
uint8_t load_setting (uint8_t); |
uint8_t write_setting (uint8_t); |
uint8_t display_section_menu(void); |
void edit_param(uint8_t); |
void copy_setting(void); |
mk_param_struct_t *mk_param_struct; |
uint8_t ii; |
volatile uint8_t offset = 0; |
volatile uint8_t dmode = 0; |
volatile uint8_t target_pos = 1; |
volatile uint8_t offset2 = 0; |
volatile uint8_t pmode = 0; |
volatile uint8_t target_pos2 = 1; |
uint8_t changes = 0; |
#define OFFSETOF(type, field) ((unsigned int) &(((type *) 0)->field)) |
#define MKOSO(field) (uint8_t)OFFSETOF(mk_param_struct_t, field) |
// Typ(1=mit Poti,0=ohne Poti,2=bitfield,3=serCh,4=LEDmask,5 Angle,6 Empfaenger ), |
// min, |
// max, |
// struct-name, |
// default1, |
// default2, |
// default3+4+5 |
prog_uchar param_config[8*PARAM_COUNT]= |
{ |
// group 0 (kanaele) 15 |
0,0,1,12 ,MKOSO(Kanalbelegung)+2,1,1,1, // gas |
0,0,1,12 ,MKOSO(Kanalbelegung)+3,2,2,2, // gier |
0,0,1,12 ,MKOSO(Kanalbelegung),3,3,3, // nick |
0,0,1,12 ,MKOSO(Kanalbelegung)+1,4,4,4, // roll |
0,3,1,25 ,MKOSO(Kanalbelegung)+4,5,5,5, // poti1 |
0,3,1,25 ,MKOSO(Kanalbelegung)+5,6,6,6, // poti2 |
0,3,1,25 ,MKOSO(Kanalbelegung)+6,7,7,7, // poti3 |
0,3,1,25 ,MKOSO(Kanalbelegung)+7,8,8,8, // poti4 |
0,3,1,25 ,MKOSO(Kanalbelegung)+8,9,9,9, // poti5 |
0,3,1,25 ,MKOSO(Kanalbelegung)+9,10,10,10, // poti6 |
0,3,1,25 ,MKOSO(Kanalbelegung)+10,11,11,11, // poti7 |
0,3,1,25 ,MKOSO(Kanalbelegung)+11,12,12,12, // poti8 |
//26.3.2011 0.82 CB |
0,0,0,12 ,MKOSO(MotorSafetySwitch),0,0,0, // Motor Sicherungsswitch |
// |
0,2,0,0x04,MKOSO(ExtraConfig),0,0,0, //erweiterte signal pruefung |
0,6,0,5 ,MKOSO(Receiver),1,1,1, |
// group 1 (main) 8 |
1,2,0,0x01,MKOSO(GlobalConfig),0,0,1, //hoehenregler |
1,2,0,0x20,MKOSO(GlobalConfig),1,1,1, //gps |
1,2,0,0x08,MKOSO(GlobalConfig),1,1,1, //kompass |
1,2,0,0x10,MKOSO(GlobalConfig),0,0,0, //feste ausrichtung |
1,2,0,0x04,MKOSO(ExtraConfig),0,0,0, //erweiterte signal pruefung |
1,2,0,0x40,MKOSO(GlobalConfig),1,1,1, //achsentkopplung |
1,2,0,0x80,MKOSO(GlobalConfig),0,0,0, //drehratenbregrenzung |
1,2,0,0x04,MKOSO(GlobalConfig),0,0,0, //heading hold |
// group 2 (stick) 4 |
2,0,0,20 ,MKOSO(Stick_P),8,8,8, |
2,0,0,20 ,MKOSO(Stick_D),16,16,16, |
2,1,0,247 ,MKOSO(Gier_P),6,6,6, |
2,1,0,247 ,MKOSO(ExternalControl),0,0,0, |
// group3 : looping 9 |
3,2,0,0x01,MKOSO(BitConfig),0,0,0, //oben |
3,2,0,0x02,MKOSO(BitConfig),0,0,0, //unten |
3,2,0,0x04,MKOSO(BitConfig),0,0,0, //links |
3,2,0,0x08,MKOSO(BitConfig),0,0,0, //rechts |
3,1,0,247 ,MKOSO(LoopGasLimit),50,50,50, |
3,0,0,247 ,MKOSO(LoopThreshold),90,90,90, |
3,0,0,247 ,MKOSO(LoopHysterese),50,50,50, |
3,0,0,247 ,MKOSO(WinkelUmschlagNick),78,78,78, |
3,0,0,247 ,MKOSO(WinkelUmschlagRoll),78,78,78, |
// group 4 (hoehe) 13 |
4,2,0,0x01,MKOSO(GlobalConfig),1,1,1, //hoehenrelger |
4,2,0,0x01,MKOSO(ExtraConfig),0,0,0, //vario oder hoeenbergenzung |
4,2,0,0x02,MKOSO(GlobalConfig),1,1,1, //hoehenschalter |
4,2,0,0x02,MKOSO(ExtraConfig),1,1,1, //variobeep |
4,1,0,247 ,MKOSO(MaxHoehe),255,255,255, |
4,0,0,247 ,MKOSO(Hoehe_MinGas),30,30,30, |
4,1,0,247 ,MKOSO(Hoehe_P),15,15,15, |
4,1,0,247 ,MKOSO(Luftdruck_D),30,30,30, |
4,1,0,247 ,MKOSO(Hoehe_ACC_Wirkung),0,0,0, |
4,0,0,247 ,MKOSO(Hoehe_Verstaerkung),15,15,15, |
4,0,0,247 ,MKOSO(Hoehe_HoverBand),8,8,8, |
4,1,0,247 ,MKOSO(Hoehe_GPS_Z),64,64,64, |
4,0,0,247 ,MKOSO(Hoehe_StickNeutralPoint),0,0,0, |
// Typ(1=mit Poti,0=ohne Poti,2=bitfield,3=serCh,4=LEDmask,5 Angle,6 Empfaenger), |
// min, |
// max, |
// struct-name, |
// default1, |
// default2, |
// default3+4+5 |
// group 5 : kamera 16 |
5,1,0,247,MKOSO(ServoNickControl),100,100,100, |
5,0,0,247,MKOSO(ServoNickComp),40,40,40, |
5,2,0,0x01,MKOSO(ServoCompInvert),1,1,1, |
5,0,0,247,MKOSO(ServoNickMin),0,0,0, |
5,0,0,247,MKOSO(ServoNickMax),247,247,247, |
5,1,0,247,MKOSO(ServoRollControl),100,100,100, |
5,0,0,247,MKOSO(ServoRollComp),40,40,40, |
5,2,0,0x01,MKOSO(ServoCompInvert),0,0,0, |
5,0,0,247,MKOSO(ServoRollMin),0,0,0, |
5,0,0,247,MKOSO(ServoRollMax),247,247,247, |
5,0,2,8 ,MKOSO(ServoNickRefresh),6,6,6, |
//26.3.2011 0.82 CB |
5,0,0,247 ,MKOSO(ServoManualControlSpeed),40,40,40, |
5,5,0,247 ,MKOSO(CamOrientation),0,0,0, |
// |
5,1,0,247,MKOSO(Servo3),125,125,125, |
5,1,0,247,MKOSO(Servo4),125,125,125, |
5,1,0,247,MKOSO(Servo5),125,125,125, |
// group 6 : navictrl 17 |
6,2,0,0x20,MKOSO(GlobalConfig),1,1,1, //gps |
6,1,0,247,MKOSO(NaviGpsModeControl),254,254,254, |
6,1,0,247,MKOSO(NaviGpsGain),100,100,100, |
6,0,0,247,MKOSO(NaviStickThreshold),8,8,8, |
6,0,0,247,MKOSO(NaviGpsMinSat),6,6,6, |
6,1,0,247,MKOSO(NaviGpsP),90,90,90, |
6,1,0,247,MKOSO(NaviGpsI),90,90,90, |
6,1,0,247,MKOSO(NaviGpsD),90,90,90, |
6,1,0,247,MKOSO(NaviGpsPLimit),75,75,75, |
6,1,0,247,MKOSO(NaviGpsILimit),75,75,75, |
6,1,0,247,MKOSO(NaviGpsDLimit),75,75,75, |
6,1,0,247,MKOSO(NaviGpsACC),0,0,0, |
// |
6,1,0,247,MKOSO(NaviWindCorrection),90,90,90, |
6,1,0,247,MKOSO(NaviSpeedCompensation),30,30,30, |
6,1,0,247,MKOSO(NaviOperatingRadius),100,100,100, |
6,1,0,247,MKOSO(NaviAngleLimitation),100,100,100, |
6,0,0,247,MKOSO(NaviPH_LoginTime),2,2,2, |
// group 7 : ausgaenge 9 |
7,4,0,255,MKOSO(J16Bitmask),95,95,95, |
7,1,0,247,MKOSO(J16Timing),30,30,30, |
7,4,0,255,MKOSO(J17Bitmask),243,243,243, |
7,1,0,247,MKOSO(J17Timing),30,30,30, |
7,2,0,0x10,MKOSO(BitConfig),0,0,0,//CFG_MOTOR_BLINK |
7,4,0,255,MKOSO(WARN_J16_Bitmask),170,170,170, |
7,2,0,0x20,MKOSO(BitConfig),1,1,1,//CFG_MOTOR_OFF_LED1 |
7,4,0,255,MKOSO(WARN_J17_Bitmask),170,170,170, |
7,2,0,0x40,MKOSO(BitConfig),1,1,1,//CFG_MOTOR_OFF_LED2 |
// group 8 : versch. 7 |
8,0,0,247,MKOSO(Gas_Min),8,8,8, |
8,0,0,247,MKOSO(Gas_Max),230,230,230, |
8,1,0,247,MKOSO(KompassWirkung),128,128,128, |
8,1,0,247,MKOSO(OrientationModeControl),0,0,0, |
8,0,0,247,MKOSO(UnterspannungsWarnung),33,33,33, |
8,0,0,247,MKOSO(NotGasZeit),90,90,90, |
8,0,0,247,MKOSO(NotGas),45,45,45, |
// group 9 : gyro 12 |
9,1,0,247,MKOSO(Gyro_P),100,100,100, |
9,1,0,247,MKOSO(Gyro_I),120,120,120, |
9,1,0,247,MKOSO(Gyro_D),10,10,10, |
9,1,0,247,MKOSO(Gyro_Gier_P),100,100,100, |
9,1,0,247,MKOSO(Gyro_Gier_I),120,120,120, |
9,1,0,247,MKOSO(DynamicStability),70,70,70, |
9,2,0,0x80,MKOSO(GlobalConfig),0,0,0, //drehratenbregrenzung |
9,0,0,247,MKOSO(GyroAccFaktor),27,27,27, |
9,0,0,247,MKOSO(GyroAccAbgleich),32,32,32, |
9,1,0,247,MKOSO(I_Faktor),16,16,16, |
9,0,0,247,MKOSO(Driftkomp),0,0,0, |
9,0,0,8,MKOSO(Gyro_Stability),100,100,100, |
// group 10: benutzer 8 |
10,1,0,247,MKOSO(UserParam1),0,0,0, |
10,1,0,247,MKOSO(UserParam2),0,0,0, |
10,1,0,247,MKOSO(UserParam3),0,0,0, |
10,1,0,247,MKOSO(UserParam4),0,0,0, |
10,1,0,247,MKOSO(UserParam5),0,0,0, |
10,1,0,247,MKOSO(UserParam6),0,0,0, |
10,1,0,247,MKOSO(UserParam7),0,0,0, |
10,1,0,247,MKOSO(UserParam8),0,0,0, |
// group 11: achskoppl 4 |
11,2,0,0x40,MKOSO(GlobalConfig),0,0,0, //achsentkopplung |
11,1,0,247,MKOSO(AchsKopplung1),90,90,90, |
11,1,0,247,MKOSO(AchsKopplung2),80,80,80, |
11,1,0,247,MKOSO(CouplingYawCorrection),70,70,70, |
// group 12: mixer |
12,5,0,23,MKOSO(OrientationAngle),0,0,0, |
}; |
void edit_parameter (void) |
{ |
SwitchToFC(); |
uint8_t setting; |
setting = display_settings_menu(); |
if(setting == 6) |
{ |
copy_setting(); |
return; |
} |
if(setting == 255) return; |
uint8_t setting_loaded = load_setting(setting); |
if(setting_loaded == 255) return; |
offset = 0; |
dmode = 0; |
target_pos = 1; |
changes =0; |
uint8_t group =0; |
do |
{ |
group = display_section_menu(); |
if(group != 255) |
{ |
offset2 = 0; |
pmode = 0; |
target_pos2 = 1; |
uint8_t param; |
do |
{ |
param = display_param_menu(group); |
if(param != 255) |
{ |
edit_param(param); |
} |
} |
while(param != 255); |
} |
} |
while(group != 255); |
if(changes == 1) |
{ |
lcd_cls(); |
lcd_printp_at (0, 0, PSTR("Save Setting x?"), 0); |
write_ndigit_number_u(13,0,setting, 1,0); |
lcd_printp_at (3, 1, PSTR("yes"), 0); |
lcd_printp_at (3, 2, PSTR("no"), 0); |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b Exit \x0c"), 0); |
uint8_t val = menu_choose2 (1, 2, 2,0,0); |
if(val == 1) |
{ |
uint8_t setting_written = write_setting(setting); |
if(setting_written == setting) |
{ |
lcd_printp_at (0, 4, PSTR("saved and"), 0); |
lcd_printp_at (0, 5, PSTR("activated"), 0); |
} |
else |
{ |
lcd_printp_at (0, 4, PSTR("ERROR"), 0); |
} |
timer = 100; |
while (timer > 0); |
} |
} |
} |
void copy_setting(void) |
{ |
uint8_t fromsetting = 3; |
uint8_t tosetting = 5; |
lcd_cls(); |
lcd_printp_at (0, 0, PSTR("Copy Setting:"), 0); |
lcd_printp_at (3, 2, PSTR("From Setting:"), 0); |
lcd_printp_at (3, 3, PSTR(" To Setting:"), 0); |
// 123456789012345678901 |
// x x x |
lcd_printpns_at (0, 7, PSTR("From To Back Do"), 0); |
do |
{ |
write_ndigit_number_u(17,2,fromsetting, 1,0); |
write_ndigit_number_u(17,3,tosetting, 1,0); |
if(get_key_press (1 << KEY_MINUS)) |
{ |
fromsetting++; |
if(fromsetting == 6) fromsetting = 1; |
} |
if(get_key_press (1 << KEY_PLUS)) |
{ |
tosetting++; |
if(tosetting == 6) tosetting = 1; |
} |
if(get_key_press (1 << KEY_ENTER)) |
{ |
lcd_printp_at (0, 5, PSTR("Really want to copy?"), 0); |
do |
{ |
if(get_key_press (1 << KEY_ENTER)) |
{ |
uint8_t loaded = load_setting(fromsetting); |
if(loaded == fromsetting) |
{ |
uint8_t written = write_setting(tosetting); |
if(written == tosetting) |
{ |
lcd_printp_at (0, 5, PSTR("written and activated"), 0); |
} |
else |
{ |
lcd_printp_at (0, 5, PSTR("ERROR "), 0); |
} |
} |
else |
{ |
lcd_printp_at (0, 5, PSTR("ERROR "), 0); |
} |
timer = 100; |
while (timer > 0); |
return; |
} |
}while (!get_key_short (1 << KEY_ESC)); |
lcd_printp_at (0, 5, PSTR(" "), 0); |
} |
} |
while (!get_key_short (1 << KEY_ESC)); |
} |
// write_ndigit_number_u (0,0, *(((uint8_t*)mk_param_struct) + OFFSETOF(mk_param_struct_t, GlobalConfig)) , 6, 0);//evtl. den cast auf uint16_t machen |
// lcd_printp_at (pos, before, PSTR(" "), 0); |
// |
// oben \x1a unten \x1b |
// lcd_printp_at (pos, line, PSTR("\x1D"), 0); |
void edit_param(uint8_t param) |
{ |
lcd_cls(); |
uint8_t type = pgm_read_byte(param_config+(8*param)+1); |
lcd_printp_at (0, 0, PSTR("Edit Setting:"), 0); |
if (type != 6) lcd_printp_at(0,2,param_names[param][DisplayLanguage], 0); |
if(type == 2)// ja/nein |
{ |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b Back \x0c"), 0); |
lcd_printp_at (3, 4, PSTR("Y"), 0); |
lcd_printp_at (3, 5, PSTR("N"), 0); |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)); |
uint8_t defaultvalue = pgm_read_byte(param_config+(8*param)+5); |
uint8_t bitmap = pgm_read_byte(param_config+(8*param)+3); |
uint8_t newvalue = value; |
if(defaultvalue == 1) lcd_printp_at (4, 4, PSTR("*"), 0); |
if(defaultvalue == 0) lcd_printp_at (4, 5, PSTR("*"), 0); |
do |
{ |
if(newvalue & bitmap) |
{ |
lcd_printp_at (1, 4, PSTR("\x1D"), 0); |
lcd_printp_at (1, 5, PSTR(" "), 0); |
} |
else |
{ |
lcd_printp_at (1, 4, PSTR(" "), 0); |
lcd_printp_at (1, 5, PSTR("\x1D"), 0); |
} |
if(get_key_press (1 << KEY_MINUS)) |
{ |
newvalue ^= bitmap; |
} |
if(get_key_press (1 << KEY_PLUS)) |
{ |
newvalue ^= bitmap; |
} |
if(get_key_press (1 << KEY_ENTER)) |
{ |
if(newvalue != value) |
{ |
*(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)) = newvalue; |
changes=1; |
} |
break; |
} |
if(get_key_long (1 << KEY_ESC)) |
{ |
if(defaultvalue == 1) |
{ |
newvalue |= bitmap; |
} |
else |
{ |
newvalue &= ~bitmap; |
} |
} |
}while (!get_key_short (1 << KEY_ESC)); |
} |
if(type == 0)// ohne poti |
{ |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back \x0c"), 0); |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)); |
uint8_t min =pgm_read_byte(param_config+(8*param)+2); |
uint8_t max = pgm_read_byte(param_config+(8*param)+3); |
uint8_t defaultvalue = pgm_read_byte(param_config+(8*param)+5); |
lcd_printpns_at (4, 4, PSTR("( - ) (d: )"), 0); |
write_ndigit_number_u (5, 4, min, 3, 0); |
write_ndigit_number_u (9, 4, max, 3, 0); |
write_ndigit_number_u (17, 4, defaultvalue, 3, 0); |
uint8_t newvalue = value; |
do |
{ |
write_ndigit_number_u (0, 4, newvalue, 3, 0); |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
if(get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) |
{ |
if((newvalue+1) <= max) |
{ |
newvalue++; |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
} |
} |
if(get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) |
{ |
if((newvalue-1)>=min) |
{ |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 0); |
newvalue--; |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
} |
} |
if(get_key_press (1 << KEY_ENTER)) |
{ |
if(newvalue != value) |
{ |
*(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)) = newvalue; |
changes=1; |
} |
break; |
} |
if(get_key_long (1 << KEY_ESC)) |
{ |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 0); |
newvalue = defaultvalue; |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
} |
}while (!get_key_short (1 << KEY_ESC)); |
} |
if(type == 1)// mit poti |
{ |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back \x0c\x0c"), 0); |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)); |
uint8_t min =pgm_read_byte(param_config+(8*param)+2); |
uint8_t max = pgm_read_byte(param_config+(8*param)+3); |
uint8_t defaultvalue = pgm_read_byte(param_config+(8*param)+5); |
lcd_printpns_at (4, 4, PSTR("( - ) (d:Po )"), 0); |
write_ndigit_number_u (5, 4, min, 3, 0); |
write_ndigit_number_u (9, 4, max, 3, 0); |
if(defaultvalue > 247) |
{ |
write_ndigit_number_u (19, 4, 256-defaultvalue, 1, 0); |
} |
else |
{ |
write_ndigit_number_u (17, 4, defaultvalue, 3, 0); |
} |
uint8_t newvalue = value; |
uint8_t mode = 0; |
if(value > 247) |
{ |
mode=1; |
} |
else |
{ |
} |
uint8_t tempv = 255; |
do |
{ |
if(get_key_long (1 << KEY_ENTER)) |
{ |
if(mode == 0) |
{ |
mode = 1; |
lcd_frect ((8*0), (8*5), 128, 6, 0); |
tempv = newvalue; |
newvalue = 255; |
} |
else |
{ |
mode = 0; |
if(tempv == 255) |
{ |
if (defaultvalue > 247) |
{ |
newvalue = min; |
} |
else |
{ |
newvalue = defaultvalue; |
} |
} |
else |
{ |
newvalue = tempv; |
} |
} |
} |
if(mode==0) |
{ |
write_ndigit_number_u (0, 4, newvalue, 3, 0); |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
if(get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) |
{ |
if((newvalue+1) <= max) |
{ |
newvalue++; |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
} |
} |
if(get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) |
{ |
if((newvalue-1)>=min) |
{ |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 0); |
newvalue--; |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
} |
} |
} |
else |
{ |
lcd_printpns_at (0, 4, PSTR("Po"), 0); |
write_ndigit_number_u (2, 4, 256-newvalue, 1, 0); |
if(get_key_press (1 << KEY_PLUS)) |
{ |
if(newvalue > 248) |
{ |
newvalue--; |
} |
} |
if(get_key_press (1 << KEY_MINUS)) |
{ |
if(newvalue < 255) |
{ |
newvalue++; |
} |
} |
} |
if(get_key_short (1 << KEY_ENTER)) |
{ |
if(newvalue != value) |
{ |
*(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)) = newvalue; |
changes=1; |
} |
break; |
} |
if(get_key_long (1 << KEY_ESC)) |
{ |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 0); |
newvalue = defaultvalue; |
if(newvalue > 247) |
{ |
mode =1; |
} |
else |
{ |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
mode =0; |
} |
} |
}while (!get_key_short (1 << KEY_ESC)); |
} |
if(type == 3)// serCH |
{ |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back \x0c"), 0); |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)); |
uint8_t min =pgm_read_byte(param_config+(8*param)+2); |
uint8_t max = pgm_read_byte(param_config+(8*param)+3); |
uint8_t defaultvalue = pgm_read_byte(param_config+(8*param)+5); |
lcd_printpns_at (4, 4, PSTR("(1-S12/W) (d: )"), 0); |
// write_ndigit_number_u (5, 4, min, 3, 0); |
// write_ndigit_number_u (9, 4, max, 3, 0); |
write_ndigit_number_u (17, 4, defaultvalue, 3, 0); |
uint8_t newvalue = value; |
do |
{ |
if (newvalue<=(max-13)) |
{ |
write_ndigit_number_u (0, 4, newvalue, 3, 0); |
} |
else |
if (newvalue<=(max-1)) |
{ |
lcd_printpns_at (0, 4, PSTR("S"), 0); |
write_ndigit_number_u (1, 4, (newvalue-12), 2, 0); |
} |
if (newvalue==max) |
{ |
lcd_printpns_at (0, 4, PSTR("WPE"), 0); |
} |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
if(get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) |
{ |
if((newvalue+1) <= max) |
{ |
newvalue++; |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
} |
} |
if(get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) |
{ |
if((newvalue-1)>=min) |
{ |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 0); |
newvalue--; |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
} |
} |
if(get_key_press (1 << KEY_ENTER)) |
{ |
if(newvalue != value) |
{ |
*(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)) = newvalue; |
changes=1; |
} |
break; |
} |
if(get_key_long (1 << KEY_ESC)) |
{ |
lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 0); |
newvalue = defaultvalue; |
//lcd_frect ((8*0), (8*5), (newvalue * (16*8)) / max, 6, 1); |
} |
}while (!get_key_short (1 << KEY_ESC)); |
} |
if(type == 4) // led bitfeld |
{ |
lcd_printpns_at (0, 7, PSTR(" \x19 Set Back \x0c"), 0); |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)); |
uint8_t defaultvalue = pgm_read_byte(param_config+(8*param)+5); |
uint8_t pos = 0; |
uint8_t newvalue = value; |
do |
{ |
for(ii=0;ii<8;ii++) |
{ |
if(newvalue & (1 << ii)) |
{ |
lcd_printpns_at (8-ii, 4,PSTR("X"),0); |
} |
else |
{ |
lcd_printpns_at (8-ii, 4,PSTR("O"),0); |
} |
} |
lcd_printpns_at (pos+1, 5,PSTR("\x1a"),0); |
if(get_key_press (1 << KEY_MINUS)) |
{ |
lcd_printpns_at (pos+1, 5,PSTR(" "),0); |
pos++; |
if(pos == 8) pos = 0; |
} |
if(get_key_press (1 << KEY_PLUS)) |
{ |
newvalue ^= (1<<(7-pos)); |
} |
if(get_key_press (1 << KEY_ENTER)) |
{ |
if(newvalue != value) |
{ |
*(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)) = newvalue; |
changes=1; |
} |
break; |
} |
if(get_key_long (1 << KEY_ESC)) |
{ |
newvalue = defaultvalue; |
} |
}while (!get_key_short (1 << KEY_ESC)); |
} |
if(type == 6) // receiver |
{ |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b Back \x0c"), 0); |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)); |
uint8_t defaultvalue = pgm_read_byte(param_config+(8*param)+5); |
lcd_printpns_at (3, 1,PSTR("PPM"),0); |
lcd_printpns_at (3, 2,PSTR("Spektrum"),0); |
lcd_printpns_at (3, 3,PSTR("Spektrum HiRes"),0); |
lcd_printpns_at (3, 4,PSTR("Spektrum LoRes"),0); |
lcd_printpns_at (3, 5,PSTR("Jeti"),0); |
lcd_printpns_at (3, 6,PSTR("ACT DSL"),0); |
uint8_t newvalue = value; |
do |
{ |
for(ii=0;ii<6;ii++) |
{ |
if(newvalue == ii) |
{ |
lcd_printpns_at (1, ii+1,PSTR(">"),0); |
} |
else |
{ |
lcd_printpns_at (1, ii+1,PSTR(" "),0); |
} |
} |
if(get_key_press (1 << KEY_PLUS)) |
{ |
newvalue++; |
if(newvalue == 6) newvalue = 0; |
} |
if(get_key_press (1 << KEY_MINUS)) |
{ |
if(newvalue == 0) newvalue = 6; |
newvalue--; |
} |
if(get_key_press (1 << KEY_ENTER)) |
{ |
if(newvalue != value) |
{ |
*(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)) = newvalue; |
changes=1; |
} |
break; |
} |
if(get_key_long (1 << KEY_ESC)) |
{ |
newvalue = defaultvalue; |
} |
}while (!get_key_short (1 << KEY_ESC)); |
} |
if(type == 5) // Angle |
{ |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b Back \x0c"), 0); |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)); |
uint8_t defaultvalue = pgm_read_byte(param_config+(8*param)+5); |
lcd_ecircle(102, 35, 16, 1); |
uint8_t newvalue = value; |
uint8_t oldvalue = newvalue; |
do |
{ |
if(oldvalue != newvalue) lcd_ecirc_line (102, 35, 15, oldvalue*15, 0); |
oldvalue = newvalue; |
lcd_ecirc_line (102, 35, 15, newvalue*15, 1); |
if(get_key_press (1 << KEY_PLUS)) |
{ |
newvalue++; |
if(newvalue == 24) newvalue = 0; |
} |
if(get_key_press (1 << KEY_MINUS)) |
{ |
if(newvalue == 0) newvalue = 24; |
newvalue--; |
} |
if(get_key_press (1 << KEY_ENTER)) |
{ |
if(newvalue != value) |
{ |
*(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*param)+4)) = newvalue; |
changes=1; |
} |
break; |
} |
if(get_key_long (1 << KEY_ESC)) |
{ |
newvalue = defaultvalue; |
} |
}while (!get_key_short (1 << KEY_ESC)); |
} |
// while (!get_key_press (1 << KEY_ESC)); |
} |
uint8_t display_param_menu(uint8_t group) |
{ |
uint8_t items[20]; |
uint8_t size=0; |
for(ii = 0;ii < PARAM_COUNT; ii++) |
{ |
if(pgm_read_byte(param_config+(8*ii)) == (group-1)) |
{ |
items[size] = ii; |
size++; |
} |
} |
// offset2=0; |
// target_pos2=1; |
// pmode =0; |
uint8_t val =0 ; |
while(1) |
{ |
lcd_cls (); |
lcd_printp_at (0, 0, PSTR("Choose Parameter:"), 0); |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b Back \x0c"), 0); |
ii = 0; |
if(offset2 > 0) |
{ |
lcd_printp_at(1,1, PSTR("\x1a"), 0); |
} |
for(ii = 0;ii < 6 ; ii++) |
{ |
if((ii+offset2) < size) |
{ |
lcd_printp_at(3,ii+1,param_names[items[ii+offset2]][DisplayLanguage], 0); |
// this reads the the offset in the struct from the pgm configuration table and then reads the value from the struct |
uint8_t type = pgm_read_byte(param_config+(8*items[ii+offset2])+1); |
if(type == 0) |
{ |
write_ndigit_number_u (18, ii+1, *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)), 3, 0); |
} |
if(type == 1) |
{ |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)); |
if(value < 248) |
write_ndigit_number_u (18, ii+1, value, 3, 0); |
if(value >= 248) |
{ |
lcd_printp_at (18, ii+1, PSTR(" P"), 0); |
write_ndigit_number_u (20, ii+1, 256-value, 1, 0); |
} |
} |
if(type == 2) |
{ |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)); |
uint8_t bitmap = pgm_read_byte(param_config+(8*items[ii+offset2])+3); |
if(value & bitmap) |
{ |
lcd_printp_at (18, ii+1, PSTR(" Y"), 0); |
} |
else |
{ |
lcd_printp_at (18, ii+1, PSTR(" N"), 0); |
} |
} |
if(type == 3) |
{ |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)); |
if (value<=12) |
// write_ndigit_number_u (18, ii+1, *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)), 3, 0); |
write_ndigit_number_u (18, ii+1, value, 3, 0); |
else |
if (value<=(24)) |
{ |
lcd_printpns_at (18, ii+1, PSTR("S"), 0); |
write_ndigit_number_u (19, ii+1, (value-12), 2, 0); |
} |
if (value==25) |
lcd_printpns_at (18, ii+1, PSTR("WPE"), 0); |
} |
if(type == 4) |
{ |
write_ndigit_number_u (18, ii+1, *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)), 3, 0); |
} |
if(type == 5) |
{ |
write_ndigit_number_u (18, ii+1, (*(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)))*15, 3, 0); |
} |
if(type == 6) |
{ |
uint8_t value = *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)); |
if(value == 0) |
{ |
lcd_printp_at (18, ii+1, PSTR("PPM"), 0); |
} |
else if(value == 1) |
{ |
lcd_printp_at (18, ii+1, PSTR(" SP"), 0); |
} |
else if(value == 2) |
{ |
lcd_printp_at (18, ii+1, PSTR("SPh"), 0); |
} |
else if(value == 3) |
{ |
lcd_printp_at (18, ii+1, PSTR("SPl"), 0); |
} |
else if(value == 4) |
{ |
lcd_printp_at (18, ii+1, PSTR("Jet"), 0); |
} |
else if(value == 5) |
{ |
lcd_printp_at (18, ii+1, PSTR("ACT"), 0); |
} |
else |
{ |
write_ndigit_number_u (18, ii+1, *(((uint8_t*)mk_param_struct) + pgm_read_byte(param_config+(8*items[ii+offset2])+4)), 3, 0); |
} |
} |
} |
if((ii == 5)&&(ii+offset2 < (size-1))) |
{ |
lcd_printp_at(1,6, PSTR("\x1b"), 0); |
} |
} |
/* write_ndigit_number_u (0, 0,offset2, 3, 0); |
write_ndigit_number_u (4, 0,target_pos2, 3, 0); |
write_ndigit_number_u (7, 0,pmode, 3, 0); |
write_ndigit_number_u (10, 0,size, 3, 0); |
write_ndigit_number_u (14, 0,val, 3, 0); |
write_ndigit_number_u (17, 0,group, 3, 0); |
*/ |
if(pmode == 0) |
{ |
if(offset2 == 0) |
{ |
if(size > 6) |
{ |
val = menu_choose2 (1, 5, target_pos2,0,1); |
} |
else |
{ |
val = menu_choose2 (1, size, target_pos2,0,0); |
} |
} |
else |
{ |
val = menu_choose2 (2, 5, target_pos2,1,1); |
} |
} |
if(pmode == 1) |
{ |
if(offset2+7 > size) |
{ |
val = menu_choose2 (2, 6, target_pos2,1,0); |
} |
else |
{ |
val = menu_choose2 (2, 5, target_pos2,1,1); |
} |
} |
if(val == 254) |
{ |
offset2++; |
pmode = 1; |
target_pos2 = 5; |
}else if(val == 253) |
{ |
offset2--; |
pmode = 0; |
target_pos2 = 2; |
} |
else |
{ |
break; |
} |
} |
if(val != 255) |
{ |
target_pos2=val; |
return items[val+offset2-1]; |
} |
else |
{ |
return val; |
} |
} |
uint8_t display_section_menu(void) |
{ |
uint8_t size = PAGES; |
uint8_t val =0; |
while(1) |
{ |
lcd_cls (); |
lcd_printp_at (0, 0, PSTR("Choose Section:"), 0); |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b Back \x0c"), 0); |
// write_ndigit_number_u(0,0,dmode,2,0); |
// write_ndigit_number_u(2,0,offset,2,0); |
// write_ndigit_number_u(4,0,target_pos,2,0); |
ii = 0; |
if(offset > 0) |
{ |
lcd_printp_at(1,1, PSTR("\x1a"), 0); |
} |
for(ii = 0;ii < 6 ; ii++) |
{ |
if((ii+offset) < size) |
{ |
lcd_printp_at(3,ii+1,param_pages[ii+offset][DisplayLanguage], 0); |
} |
if((ii == 5)&&(ii+offset < (size-1))) |
{ |
lcd_printp_at(1,6, PSTR("\x1b"), 0); |
} |
} |
if(dmode == 0) |
{ |
if(offset == 0) |
{ |
if(size > 6) |
{ |
val = menu_choose2 (1, 5, target_pos,0,1); |
} |
else |
{ |
val = menu_choose2 (1, size, target_pos,0,0); |
} |
} |
else |
{ |
val = menu_choose2 (2, 5, target_pos,1,1); |
} |
} |
if(dmode == 1) |
{ |
if(offset+7 > size) |
{ |
val = menu_choose2 (2, 6, target_pos,1,0); |
} |
else |
{ |
val = menu_choose2 (2, 5, target_pos,1,1); |
} |
} |
if(val == 254) |
{ |
offset++; |
dmode = 1; |
target_pos = 5; |
}else if(val == 253) |
{ |
offset--; |
dmode = 0; |
target_pos = 2; |
} |
else |
{ |
break; |
} |
} |
// write_ndigit_number_u(0,0,val,2,0); |
// menu_choose2 (2, 5, target_pos,1,1); |
if(val != 255) |
{ |
target_pos=val; |
return val+offset; |
} |
else |
{ |
return val; |
} |
} |
uint8_t display_settings_menu (void) |
{ |
uint8_t status; |
lcd_cls (); |
uint8_t setting = 0; |
lcd_printp_at (0, 0, PSTR("Edit Setting:"), 0); |
lcd_printpns_at (0, 7, PSTR(" \x1a \x1b Back \x0c"), 0); |
for(setting=1;setting<6;setting++) |
{ |
status = load_setting(setting); |
if(status == 255) return 255; |
write_ndigit_number_u (3, setting, status, 1, 0); |
lcd_print_at (5,setting,(uint8_t*)mk_param_struct->Name, 0); |
} |
lcd_printp_at (3, 6, PSTR("Copy Setting"), 0); |
status = load_setting(0xff); |
if(status == 255) return 255; |
setting = menu_choose (1, 6, 1,status); |
return setting; |
} |
uint8_t load_setting(uint8_t setting) |
{ |
mode = 'Q'; // Settings |
uint8_t timeout = 50; |
rxd_buffer_locked = FALSE; |
while (!rxd_buffer_locked && timeout) |
{ |
SendOutData ('q', ADDRESS_FC, 1, &setting, 1); |
// _delay_ms(50); |
timer = 20; |
while (timer > 0); |
timeout--; |
} |
if (timeout != 0) |
{ |
Decode64 (); |
setting = *pRxData; |
mk_param_struct = (mk_param_struct_t *) (pRxData + 1) ; |
} |
else |
{ // timeout occured |
lcd_printp_at (0, 2, PSTR("ERROR: no data"), 0); |
timer = 100; |
while (timer > 0); |
setting = 255; |
} |
return setting; |
} |
uint8_t write_setting(uint8_t setting) |
{ |
mode = 'S'; // Settings |
uint8_t timeout = 50; |
rxd_buffer_locked = FALSE; |
while (!rxd_buffer_locked && timeout) |
{ |
SendOutData ('s', ADDRESS_FC, 2, &setting, 1, mk_param_struct, sizeof(mk_param_struct_t)); |
// _delay_ms(50); |
timer = 20; |
while (timer > 0); |
timeout--; |
} |
if (timeout != 0) |
{ |
Decode64 (); |
setting = *pRxData; |
} |
else |
{ // timeout occured |
lcd_printp_at (0, 2, PSTR("ERROR: no data"), 0); |
timer = 100; |
while (timer > 0); |
setting = 255; |
} |
return setting; |
} |
/Transportables_Koptertool/tags/V3.2/parameter.h |
---|
0,0 → 1,36 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _PARAMETER_H |
#define _PARAMETER_H |
//***************************************************************************** |
// |
void edit_parameter (void); |
uint8_t load_setting(uint8_t setting); |
#endif |
/Transportables_Koptertool/tags/V3.2/parameter_names.h |
---|
0,0 → 1,217 |
/***************************************************************************** |
* Copyright (C) 2010 Sebastian Boehm, seb@exse.net * |
* Copyright [C] 2011 Christian Brandtner brandtner@brandtner.net * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
* 04/2011 Adding Multilanguage Support (Christian Brandtner) * |
*****************************************************************************/ |
#define PAGES 13 |
#define PARAM_COUNT 123 |
#define PARAM_LENGTH 15 |
#define PARAM_NUM_LANG 3 |
prog_char param_pages[PAGES][PARAM_NUM_LANG][PARAM_LENGTH]= // zeilen,zeichen+1 |
{ |
{"Kanaele D","Canaux F","Channel E"}, |
{"Main ","Config ","main "}, |
{"Stick ","Manche ","stick "}, |
{"Looping ","Looping ","Looping "}, |
{"Hoehe ","Altitude ","Altitude "}, |
{"Kamera ","Camera ","Camera "}, |
{"NaviCtrl ","NaviCtrl ","NaviCtrl "}, |
{"Ausgaenge ","Sorties ","Outputs "}, |
{"Versch. ","Divers ","Divers "}, |
{"Gyro ","Gyro ","Gyro "}, |
{"Benutzer ","Parametres","User "}, |
{"Achskoppl.","Coupl Axes","Coupl Axes"}, |
{"Mixer ","Config Mix","Config Mix"} |
}; |
//Namen |
prog_char param_names[PARAM_COUNT][PARAM_NUM_LANG][PARAM_LENGTH]= |
{ |
// German French Englisch |
// group 0 (kanaele) |
{"Gas ","Gaz ","Throttle "}, |
{"Gier ","Lacet ","Gier "}, |
{"Nick ","Tangage ","Nick "}, |
{"Roll ","Roulis ","Roll "}, |
{"Poti 1 ","Poti 1 ","Poti 1 "}, |
{"Poti 2 ","Poti 2 ","Poti 2 "}, |
{"Poti 3 ","Poti 3 ","Poti 3 "}, |
{"Poti 4 ","Poti 4 ","Poti 4 "}, |
{"Poti 5 ","Poti 5 ","Poti 5 "}, |
{"Poti 6 ","Poti 6 ","Poti 6 "}, |
{"Poti 7 ","Poti 7 ","Poti 7 "}, |
{"Poti 8 ","Poti 8 ","Poti 8 "}, |
{"Motor Sich.Sch","Mot.Safety Sw.","Mot.Safety Sw."}, |
{"Erw. Sig. Pr. ","Ctrl Ren Recep","Enh. Sig.Check"}, |
{"Empfaenger Typ","Type Recepteur","Receiver Type "}, |
// group 1 (main) |
{"Hoehenregeler ","Ctrl Altitude ","Ctrl Altitude "}, |
{"GPS ","GPS ","GPS "}, |
{"Kompass ","Compas ","Compass "}, |
{"KompFest Ausr.","Maintien Cap ","CompOrient.Fix"}, |
{"Erw. Sig. Pr. ","Ctrl Ren Recep","Sens.RcvSigVal"}, |
{"Achs(e.)koppl.","Deceuplage Axe","Axis Couping "}, |
{"HöhenF.Schalt.","Limit Vit. Rot","RotRate limit."}, |
{"Heading Hold ","Orient. fixe ","Nick/Roll "}, |
// group 2 (stick) |
{"Nick/Roll P ","Roul/Tang P ","Nick/Roll P "}, |
{"Nick/Roll D ","Roul/Tang D ","Nick/Roll D "}, |
{"Gier P ","Lacet P ","Gier P "}, |
{"Externe Kontr.","Ctrl Externe ","Extern Ctrl "}, |
// group3 : looping |
{"Looping oben ","Looping Avant ","Looping up "}, |
{"Looping unten ","Looping Arrier","Looping down "}, |
{"Looping links ","Looping Gauche","Looping left "}, |
{"Looping rechts","Looping Droite","Looping right "}, |
{"Gas Limit ","Limite Gaz ","Throttle Limit"}, |
{"Ansprechschw. ","Seuil Reponse ","Seuil Reponse "}, |
{"Hysterese ","Hysteresis ","Hysteresis "}, |
{"Umkehrp. Nick ","Invers Roulis ","Nick Invers "}, |
{"Umkehrp. Roll ","Invers Tangage","Roll Invers "}, |
// group 4 (hoehe) |
{"Hoehenregelung","Ctrl Altitude ","Altitude Ctrl "}, |
{"Y:HBeg,N:Vario","Y:LimH,N:Vario","Y:LimH,N:Vario"}, |
{"Schalter f. H.","Swith hauteur ","Switch f. High"}, |
{"akust. Vario ","Vario acoustic","acoustic Vario"}, |
{"Sollhöhe ","Hauteur Max ","Setpoint "}, |
{"Min. Gas ","Gaz min ","min. throttle "}, |
{"Hoehe P ","Altitude P ","Altitude P "}, |
{"Luftdruck D ","Pression D ","Barometric D "}, |
{"Z-ACC ","ACC Z ","ACC Z "}, |
{"Verstaerkung/R","Gain/Frequence","gain/rate "}, |
{"Schwebegas +/-","Var vol stat ","hoover varia. "}, |
{"GPS Z ","GPS Z ","GPS Z "}, |
{"Stick Neutr. P","Pos Neutre Man","stick neutr. P"}, |
// group 5 : kamera |
{"Nick S. Anst. ","Asser tangage ","nick serv ctrl"}, |
{"Nick Kompens. ","Comp tangage ","nick compens. "}, |
{"Nick Umkehren ","Inverser dir ","nick inv. dir."}, |
{"Nick Servo min","Servo min ","nick servo min"}, |
{"Nick Servo max","servo max ","nick servo max"}, |
{"Roll S. Anst. ","Asser roulis ","roll serv ctrl"}, |
{"Roll Kompens. ","Comp tangage ","roll compens. "}, |
{"Roll Umkehren ","Inverser dir ","roll inv. dir."}, |
{"Roll Servo min","Servo min ","roll servo min"}, |
{"Roll Servo max","servo max ","roll servo max"}, |
{"Anst. Geschw. ","Taux refresh ","servo refresh "}, |
{"Manuelle Gesch","mauell Speed ","manuell Speed "}, |
{"Cam Richtung ","Cam Orient ","Cam Orient "}, |
{"Servo 3 ","Servo 3 ","Servo 3 "}, |
{"Servo 4 ","Servo 4 ","Servo 4 "}, |
{"Servo 5 ","Servo 5 ","Servo 5 "}, |
// group 6 : navictrl |
{"GPS ","Activer GPS ","enable GPS "}, |
{"GPS Modus St. ","Def mode GPS ","GPS mode contr"}, |
{"GPS Verstaerk.","Gain GPS ","GPS Gain "}, |
{"GPS St. Schw. ","Seuil manche ","GPS stick thre"}, |
{"Min. Sat. ","Nbre Min. Sat.","Min. Sat. "}, |
{"GPS-P ","GPS-P ","GPS-P "}, |
{"GPS-I ","GPS-I ","GPS-I "}, |
{"GPS-D ","GPS-D ","GPS-D "}, |
{"P Limit ","Limite P ","Limit P "}, |
{"I Limit ","Limite I ","Limit I "}, |
{"D Limit ","Limite D ","Limit D "}, |
{"GPS Acc ","Accel GPS ","GPS Acc "}, |
{"GPS Windkorr. ","Correct vent ","GPS Wind Corr."}, |
{"Bremswirkung ","Compens vit ","Speed compens."}, |
{"GPS max. Rad. ","Rayon GPS max ","GPS max.radius"}, |
{"GPS Winkel Li.","Limit angl GPS","GPS angl.limit"}, |
{"PH Login time ","Tps memoris ","PH login time "}, |
// group 7 : ausgaenge |
{"J16 Bitmaske ","Bitmask S1 ","Out1 Bitmask "}, |
{"J16 Timing ","Horloge S1 ","Out1 timing "}, |
{"J17 Bitmaske ","Bitmask S2 ","Out2 Bitmask "}, |
{"J17 Timing ","Horloge S2 ","Out2 timing "}, |
{"nur mit Motor ","Actif au repos","act. wi. motor"}, |
{"J16 Untersp. W","Al undervoltag","Out1 undervolt"}, |
{"aktiv ","actif ","activ "}, |
{"J17 Untersp. W","Al undervoltag","Out2 undervolt"}, |
{"aktiv ","actif ","activ "}, |
// group 8 : versch. |
{"Min. Gas ","Gaz Min. ","min. throttle "}, |
{"Max. Gas ","Gaz Max. ","max. throttle "}, |
{"Kompasswirkung","Effet compas ","compass effect"}, |
{"Carefree St. ","Carefree Ctrl ","Carefree Ctrl "}, |
{"Unterspannung ","Sous tension ","undervoltage "}, |
{"Not Gas Zeit ","Duree secours ","Emerg.Thr.Time"}, |
{"Not Gas ","Gaz de secours","Emerg.Throttle"}, |
// group 9 : gyro |
{"Gyro P ","Gyro P ","Gyro P "}, |
{"Gyro I ","Gyro I ","Gyro I "}, |
{"Gyro D ","Gyro D ","Gyro D "}, |
{"Gier P ","Lacet P ","Lacet P "}, |
{"Gier I ","Lacet I ","Lacet I "}, |
{"Dynamische St.","Stab dynamique","dynamic stabi."}, |
{"Drehratenbeg. ","Limit vit Rota","RotRate limit."}, |
{"ACC/Gyro Fak. ","ACC/Gyro Fact ","ACC/Gyro Fact "}, |
{"ACC/Gyro Komp.","Comp ACC/Gyro ","Comp ACC/Gyro "}, |
{"Hauptregler I ","Regul princ I ","Main I "}, |
{"Drifkompensat.","Compens deriv ","drift Compens."}, |
{"Gyro stab. ","Gyro stability","Gyro stability"}, |
// group 10: benutzer |
{"Parameter 1 ","Parameter 1 ","Parameter 1 "}, |
{"Parameter 2 ","Parameter 2 ","Parameter 2 "}, |
{"Parameter 3 ","Parameter 3 ","Parameter 3 "}, |
{"Parameter 4 ","Parameter 4 ","Parameter 4 "}, |
{"Parameter 5 ","Parameter 5 ","Parameter 5 "}, |
{"Parameter 6 ","Parameter 6 ","Parameter 6 "}, |
{"Parameter 7 ","Parameter 7 ","Parameter 7 "}, |
{"Parameter 8 ","Parameter 8 ","Parameter 8 "}, |
// group 11: achskoppl |
{"Achs(e.)koppl.","(De)Coupl Axes","(De)Coupl Axes"}, |
{"Gier pos. Kopp","Retroac lacet ","Retroac lacet "}, |
{"Nick/Roll Kopp","Retro roul/tan","Retro roul/tan"}, |
{"Gier Korrektur","Correct lacet ","Correct lacet "}, |
// group 12: mixer |
{"Orientierung ","Orientierung ","Orientation "} |
}; |
/Transportables_Koptertool/tags/V3.2/pwm.c |
---|
0,0 → 1,205 |
/***************************************************************************** |
* Copyright (C) 2010 seb@exse.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <inttypes.h> |
#include <stdlib.h> |
#include <avr/pgmspace.h> |
#include <math.h> |
#include "main.h" |
#include "osd.h" |
#include "lcd.h" |
#include "timer.h" |
#include "usart.h" |
#include "mk-data-structs.h" |
NaviData_t *naviData; |
#define TIMEOUT 200 // 2 sec |
void pwm (void) |
{ |
if (hardware == FC) |
{ |
lcd_printp_at(0, 3, PSTR("Only with NC !"), 0); |
timer = 100; |
while (timer > 0); |
return; |
} |
lcd_cls(); |
SwitchToNC(); |
mode = 'O'; |
// disable debug... |
// RS232_request_mk_data (0, 'd', 0); |
uint8_t tmp_dat; |
tmp_dat = 0; |
SendOutData ('d', ADDRESS_ANY, 1, &tmp_dat, 1); |
// request OSD Data from NC every 100ms |
// RS232_request_mk_data (1, 'o', 100); |
tmp_dat = 10; |
SendOutData ('o', ADDRESS_NC, 1, &tmp_dat, 1); |
timer = TIMEOUT; |
abo_timer = ABO_TIMEOUT; |
lcd_printp_at(0, 0, PSTR("GPS Alt:"), 0); |
lcd_printp_at(0, 1, PSTR("Bar Alt:"), 0); |
lcd_printp_at(0, 2, PSTR("Distance:"), 0); |
lcd_printp_at(0, 3, PSTR("Bearing:"), 0); |
lcd_printp_at(0, 4, PSTR("V-Angle:"), 0); |
uint16_t bearing = 36; |
do |
{ |
if (rxd_buffer_locked) |
{ |
timer = TIMEOUT; |
Decode64 (); |
naviData = (NaviData_t *) pRxData; |
GPS_Pos_t currpos; |
currpos.Latitude = naviData->CurrentPosition.Latitude; |
currpos.Longitude = naviData->CurrentPosition.Longitude; |
write_ndigit_number_u (11, 2, naviData->HomePositionDeviation.Distance / 10, 3, 0); |
lcd_putc (14, 2, 'm', 0); |
write_ndigit_number_u (11, 3, naviData->HomePositionDeviation.Bearing, 3, 0); |
lcd_putc (14, 3, 'm', 0); |
if (naviData->Altimeter > 300 || naviData->Altimeter < -300) |
{ |
// above 10m only write full meters |
write_ndigit_number_s (10, 1, naviData->Altimeter / 30, 4, 0); |
} |
else |
{ |
// up to 10m write meters.dm |
write_ndigit_number_s_10th (10, 1, naviData->Altimeter / 3, 3, 0); |
} |
lcd_putc (14, 1, 'm', 0); |
if (((naviData->HomePosition.Altitude - naviData->CurrentPosition.Altitude)/1000) > 100 || ((naviData->HomePosition.Altitude - naviData->CurrentPosition.Altitude)/1000) < -100) |
{ |
// above 10m only write full meters |
write_ndigit_number_s (9, 0, (naviData->HomePosition.Altitude - naviData->CurrentPosition.Altitude) / 1000, 5, 0); |
} |
else |
{ |
// up to 10m write meters.dm |
write_ndigit_number_s_10th (9, 0, (naviData->HomePosition.Altitude - naviData->CurrentPosition.Altitude) / 100, 4, 0); |
} |
lcd_putc (14, 0, 'm', 0); |
uint16_t deg = atan2(naviData->Altimeter / 3, naviData->HomePositionDeviation.Distance)*180/M_PI; |
if(deg>90)deg=90; |
if(deg<0)deg=0; |
write_ndigit_number_s (11, 4, deg , 4, 0); |
// wenn hoeher 10 order weiter weg als 10 |
if((naviData->Altimeter > 300)||( naviData->HomePositionDeviation.Distance > 100)) |
{ |
set_pwm_b(deg); |
} |
// wenn weiter weg als 20 |
if ( naviData->HomePositionDeviation.Distance > 200) |
{ |
//set_pwm_a(360-naviData->HomePositionDeviation.Bearing); |
} |
set_pwm_a(360-bearing); |
write_ndigit_number_s (7, 7, bearing, 5, 0); |
write_ndigit_number_s (0, 7, OCR1A, 5, 0); |
write_ndigit_number_u (0, 6, naviData->UBat, 4, 0); |
uint8_t cell = (naviData->UBat)/4; |
if(naviData->UBat < 127) |
cell = (naviData->UBat)/3; |
write_ndigit_number_u (10, 6, cell, 4, 0); |
lcd_frect ((8*0), (8*5), (cell-34)*16 , 6, 1); |
rxd_buffer_locked = FALSE; |
} |
if (!abo_timer) |
{ // renew abo every 3 sec |
// request OSD Data from NC every 100ms |
// RS232_request_mk_data (1, 'o', 100); |
tmp_dat = 10; |
SendOutData ('o', ADDRESS_NC, 1, &tmp_dat, 1); |
abo_timer = ABO_TIMEOUT; |
} |
if (get_key_press (1 << KEY_PLUS)) |
{ |
bearing+=36; |
} |
if (get_key_press (1 << KEY_MINUS)) |
{ |
bearing-=36; |
} |
} |
while (!get_key_press (1 << KEY_ESC) && timer); |
tmp_dat = 0; |
SendOutData ('o', ADDRESS_NC, 1, &tmp_dat, 1); |
mode = 0; |
rxd_buffer_locked = FALSE; |
if (!timer) |
{ // timeout occured |
lcd_cls (); |
lcd_printp_at (0, 0, PSTR("ERROR: no data"), 0); |
timer = 100; |
while (timer > 0); |
pwm(); |
} |
} |
/Transportables_Koptertool/tags/V3.2/pwm.h |
---|
0,0 → 1,27 |
/***************************************************************************** |
* Copyright (C) 2010 seb@exse.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _PWM_H |
#define _PWM_H |
//***************************************************************************** |
// |
void pwm (void); |
#endif |
/Transportables_Koptertool/tags/V3.2/settings.c |
---|
0,0 → 1,51 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009-2010 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/pgmspace.h> |
#include <avr/interrupt.h> |
#include "main.h" |
#include "menu.h" |
#include "lcd.h" |
#include "settings.h" |
#include "timer.h" |
#include "eeprom.h" |
//***************************************************************************** |
// |
void set_toggledisplay(void) |
{ |
cli(); |
if (LCD_ORIENTATION == 0) |
LCD_ORIENTATION = 4; |
else |
LCD_ORIENTATION = 0; |
WriteParameter (); |
LCD_Init(); |
sei(); |
} |
/Transportables_Koptertool/tags/V3.2/settings.h |
---|
0,0 → 1,29 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009-2010 Peter "woggle" Mack, mac@denich.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _SETTINGS_H |
#define _SETTINGS_H |
//***************************************************************************** |
// |
void set_toggledisplay(void); |
#endif |
/Transportables_Koptertool/tags/V3.2/setup.c |
---|
0,0 → 1,358 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* Copyright (C) 2011 Christian Brandtner brandtner@brandtner.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
* Einstellen der Variablen Parameter des P-MKTool * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include <string.h> |
#include "main.h" |
#include "setup.h" |
#include "lcd.h" |
#include "eeprom.h" |
#include "timer.h" |
#include "menu.h" |
uint8_t spalte; |
uint8_t mmode; |
uint8_t zeile; |
uint8_t edit; |
uint8_t MenuItems; |
uint8_t LCD_Ausrichtung; |
uint8_t edit =0; |
// |
#define ITEMS_PKT 7 |
prog_char param_menuitems_pkt[ITEMS_PKT][15]= // zeilen,zeichen+1 |
{ |
"LowBat Warn ", |
"Displ.Timeout", |
"LCD Orient. ", |
"Language ", |
"Wi TX/RX Chan", |
"Wi NetW. Grp.", |
"Wi NetW. Mode", |
}; |
/***********************************************************************************************//***********************************************************************************************/ |
uint8_t Edit_Int10th_Value(uint8_t Value, uint8_t min, uint8_t max,const char *Text) |
{ |
lcd_cls(); |
lcd_printpns_at (0, 2, Text, 0); |
write_ndigit_number_u_10th (16, 2,Value, 3, 0); |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back "), 0); |
do |
{ |
if ((get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) && (Value < max)) |
{ |
edit=1; |
Value++; |
write_ndigit_number_u_10th (16, 2,Value, 3, 0); |
} |
if ((get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) && (Value > min)) |
{ |
edit=1; |
Value--; |
write_ndigit_number_u_10th (16, 2,Value, 3, 0); |
} |
} |
while (!get_key_press (1 << KEY_ESC)); |
return Value; |
} |
/***********************************************************************************************//***********************************************************************************************/ |
uint8_t Edit_Int_Value(uint8_t Value, uint8_t min, uint8_t max,const char *Text) |
{ |
lcd_cls(); |
lcd_printpns_at (0, 2, Text, 0); |
write_ndigit_number_u (16, 2, Value, 3, 0); |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back "), 0); |
do |
{ |
if ((get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) && (Value < max)) |
{ |
edit=1; |
Value++; |
write_ndigit_number_u (16, 2,Value, 3, 0); |
} |
if ((get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) && (Value > min)) |
{ |
edit=1; |
Value--; |
write_ndigit_number_u (16, 2,Value, 3, 0); |
} |
} |
while (!get_key_press (1 << KEY_ESC)); |
return Value; |
} |
/***********************************************************************************************//***********************************************************************************************/ |
uint8_t Edit_Wi_NetMode_Value(uint8_t Value, uint8_t min, uint8_t max,const char *Text) |
{ |
lcd_cls(); |
lcd_printpns_at (0, 2, Text, 0); |
switch (Value) |
{ |
case 0x0 :lcd_printpns_at (15, 2, PSTR("Slave "), 0);break; |
case 0x1 :lcd_printpns_at (15, 2, PSTR("Normal"), 0);break; |
break; |
} |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back "), 0); |
do |
{ |
if ((get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) && (Value == 0)) |
{ |
edit=1; |
Value=1; |
lcd_printpns_at (15, 2, PSTR("Normal"), 0); |
} |
if ((get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) && (Value == 1)) |
{ |
edit=1; |
Value=0; |
lcd_printpns_at (15, 2, PSTR("Slave "), 0); |
} |
} |
while (!get_key_press (1 << KEY_ESC)); |
return Value; |
} |
/***********************************************************************************************//***********************************************************************************************/ |
uint8_t Edit_Language(uint8_t Value, uint8_t min, uint8_t max,const char *Text) |
{ |
lcd_cls(); |
lcd_printpns_at (0, 2, Text, 0); |
switch (Value) |
{ |
case 0x0 :lcd_printpns_at (14, 2, PSTR("Deutsch"), 0);break; |
case 0x1 :lcd_printpns_at (14, 2, PSTR("France"), 0);break; |
case 0x2 :lcd_printpns_at (14, 2, PSTR("English"), 0);break; |
break; |
} |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back "), 0); |
do |
{ |
if ((get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) && (Value < max)) |
{ |
edit=1; |
Value++; |
switch (Value) |
{ |
case 0x0 :lcd_printpns_at (14, 2, PSTR("Deutsch"), 0);break; |
case 0x1 :lcd_printpns_at (14, 2, PSTR("France "), 0);break; |
case 0x2 :lcd_printpns_at (14, 2, PSTR("English"), 0);break; |
break; |
} |
} |
if ((get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) && (Value > min)) |
{ |
edit=1; |
Value--; |
switch (Value) |
{ |
case 0x0 :lcd_printpns_at (14, 2, PSTR("Deutsch"), 0);break; |
case 0x1 :lcd_printpns_at (14, 2, PSTR("France "), 0);break; |
case 0x2 :lcd_printpns_at (14, 2, PSTR("English"), 0);break; |
break; |
} |
} |
} |
while (!get_key_press (1 << KEY_ESC)); |
return Value; |
} |
/***********************************************************************************************/ |
uint8_t Edit_Orientation(uint8_t Value, uint8_t min, uint8_t max,const char *Text) |
{ |
lcd_cls(); |
lcd_printpns_at (0, 2, Text, 0); |
switch (Value) |
{ |
case 0x0 :lcd_printpns_at (14, 2, PSTR("Normal "), 0);break; |
case 0x4 :lcd_printpns_at (14, 2, PSTR("Reverse"), 0);break; |
break; |
} |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back "), 0); |
do |
{ |
if ((get_key_press (1 << KEY_PLUS) || get_key_rpt (1 << KEY_PLUS)) && (Value == 0)) |
{ |
edit=2; |
Value=4; |
lcd_printpns_at (14, 2, PSTR("Reverse"), 0); |
} |
if ((get_key_press (1 << KEY_MINUS) || get_key_rpt (1 << KEY_MINUS)) && (Value == 4)) |
{ |
edit=2; |
Value=0; |
lcd_printpns_at (14, 2, PSTR("Normal "), 0); |
} |
} |
while (!get_key_press (1 << KEY_ESC)); |
return Value; |
} |
void PMK_Setup (void) |
{ |
uint8_t ii = 0; |
uint8_t offset = 0; |
uint8_t size = 0; |
size = ITEMS_PKT ; |
uint8_t dmode = 0; |
uint8_t target_pos = 1; |
uint8_t val; |
lcd_cls (); |
mmode = 0; |
edit=0; |
zeile = 1; |
MenuItems =2; |
LCD_Ausrichtung = LCD_ORIENTATION; |
val = 0; |
while(1) |
{ |
lcd_cls (); |
lcd_printp_at (0, 0, PSTR("PMK-Tool Setup"), 0); |
lcd_printpns_at (0, 7, PSTR(" \x18 \x19 Back \x0c "), 0); |
while(1) |
{ |
ii = 0; |
if(offset > 0) |
{ |
lcd_printp_at(1,1, PSTR("\x1a"), 0); |
} |
for(ii = 0;ii < 6 ; ii++) |
{ |
if((ii+offset) < size) |
{ |
lcd_printp_at(3,ii+1,param_menuitems_pkt[ii+offset], 0); |
} |
if((ii == 5)&&(ii+offset < (size-1))) |
{ |
lcd_printp_at(1,6, PSTR("\x1b"), 0); |
} |
} |
if(dmode == 0) |
{ |
if(offset == 0) |
{ |
if(size > 6) |
{ |
val = menu_choose2 (1, 5, target_pos,0,1); |
} |
else |
{ |
val = menu_choose2 (1, size, target_pos,0,0); |
} |
} |
else |
{ |
val = menu_choose2 (2, 5, target_pos,1,1); |
} |
} |
if(dmode == 1) |
{ |
if(offset+7 > size) |
{ |
val = menu_choose2 (2, 6, target_pos,1,0); |
} |
else |
{ |
val = menu_choose2 (2, 5, target_pos,1,1); |
} |
} |
if(val == 254) |
{ |
offset++; |
dmode = 1; |
target_pos = 5; |
}else if(val == 253) |
{ |
offset--; |
dmode = 0; |
target_pos = 2; |
}else if(val == 255) |
{ /* Ende mit BACK, speichern */ |
if (edit==1) WriteParameter(); |
if (edit==2) /* LCD hat sich geändert*/ |
{ |
LCD_ORIENTATION = LCD_Ausrichtung; |
WriteParameter(); |
cli(); |
LCD_Init(); |
sei(); |
} |
return; |
} |
else |
{ |
break; |
} |
} |
target_pos = val; |
if((val+offset) == 1 ) MK_LowBat = Edit_Int10th_Value(MK_LowBat,33,170,PSTR("LowBat Warn V:")); |
if((val+offset) == 2 ) DisplayTimeout = Edit_Int_Value(DisplayTimeout,0,254,PSTR("Disp.Timeout :")); |
if((val+offset) == 3 ) LCD_Ausrichtung = Edit_Orientation(LCD_Ausrichtung,0,4,PSTR("LCD Orient.: ")); |
if((val+offset) == 4 ) DisplayLanguage = Edit_Language(DisplayLanguage,0,2,PSTR("Language : ")); |
if((val+offset) == 5 ) WiTXRXChannel = Edit_Int_Value(WiTXRXChannel,0,0x79,PSTR("Wi TX/RX Chan:")); |
if((val+offset) == 6 ) WiNetworkGroup = Edit_Int_Value(WiNetworkGroup,0,0x79,PSTR("Wi NetW. Grp.:")); |
if((val+offset) == 7 ) WiNetworkMode = Edit_Wi_NetMode_Value(WiNetworkMode,0,1,PSTR("Wi NetW. Mode:")); |
} |
} |
/Transportables_Koptertool/tags/V3.2/setup.h |
---|
0,0 → 1,28 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* Copyright (C) 2011 Christian Brandtner brandtner@brandtner.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _setup_H |
#define _setup_H |
//***************************************************************************** |
// |
void PMK_Setup (void); |
#endif |
/Transportables_Koptertool/tags/V3.2/timer.c |
---|
0,0 → 1,293 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* based on the key handling by Peter Dannegger * |
* see www.mikrocontroller.net * |
* Copyright (C) 2011 Christian Brandtner brandtner@brandtner.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
* 22.03.2011 Zeitgesteuerte Displaybeleuchtung C.B. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include <string.h> |
#include "main.h" |
#include "timer.h" |
#include "eeprom.h" |
#include "lcd.h" |
volatile uint16_t timer; |
volatile uint16_t abo_timer; |
volatile uint8_t pwm1 = 255; |
#define FRAME_LENGTH 20 |
uint16_t icrval = (F_CPU / 64) * FRAME_LENGTH / 1000 ; |
uint16_t minocr_a = (F_CPU / 64) * 1 / 1000;// 312 |
uint16_t maxocr_a = (F_CPU / 64) * 2 / 1000;// 624 |
uint16_t minocr_b = (F_CPU / 64) * 1 / 1000;// 312 |
uint16_t maxocr_b = (F_CPU / 64) * 2 / 1000;// 624 |
uint8_t key_state = 0; // debounced and inverted key state: |
// bit = 1: key pressed |
uint8_t key_press = 0; // key press detect |
uint8_t key_rpt; // key long press and repeat |
uint16_t DisplayTime = 0; // Leuchtdauer |
volatile uint8_t Display_on;// Flag Display on/off |
//***************************************************************************** |
// |
#if defined (__AVR_ATmega32__) |
ISR(TIMER0_COMP_vect) // Timer-Interrupt (100 Hz) |
#else |
ISR(TIMER0_COMPA_vect) // Timer-Interrupt (100 Hz) |
#endif |
{ |
static uint8_t ct0 = 0; |
static uint8_t ct1 = 0; |
static uint8_t rpt = 0; |
uint8_t i; |
// Key handling by Peter Dannegger |
// see www.mikrocontroller.net |
i = key_state ^ ~KEY_PIN; // key changed ? |
ct0 = ~(ct0 & i); // reset or count ct0 |
ct1 = ct0 ^ (ct1 & i); // reset or count ct1 |
i &= (ct0 & ct1); // count until roll over ? |
key_state ^= i; // then toggle debounced state |
key_press |= (key_state & i); // 0->1: key press detect |
if (i!=0) |
{ // Displaylicht einschalten, und bzw. Timeoutzählerreset wenn Taste gedrückt wurde |
if (Display_on ==0) |
{ // einschalten |
// PORTD &= ~(1<<PORTD7); |
#ifdef HWVERSION1_2 |
PORTC &= ~(1<<PORTC0); |
PORTC &= ~(1<<PORTC1); |
PORTD &= ~(1<<PORTD7); |
#endif |
#ifdef HWVERSION1_3 |
PORTD &= ~(1<<PORTD6); |
PORTC &= ~(1<<PORTC2); |
PORTD &= ~(1<<PORTD7); |
#endif |
#ifdef HWVERSION3_1 |
set_D_LIGHT(); |
#endif |
} // if Display_on ==0 |
Display_on =1; // Flag Display on |
DisplayTime = 0; // Timer Reset |
} |
if ((key_state & REPEAT_MASK) == 0) // check repeat function |
{ |
rpt = REPEAT_START; // start delay |
} |
if (--rpt == 0) |
{ |
rpt = REPEAT_NEXT; // repeat delay |
key_rpt |= (key_state & REPEAT_MASK); |
} |
if (timer > 0) |
{ |
timer --; |
} |
if (abo_timer > 0) |
{ |
abo_timer --; |
} |
if (DisplayTimeout > 0) |
{ |
if (Display_on==1) |
{ |
DisplayTime++; |
if ((DisplayTime/100) == DisplayTimeout) //ISR läuft mit 100Hz |
{ //Displaylicht ausschalten |
// PORTD |= (1<<PORTD7); |
#ifdef HWVERSION1_2 |
PORTC |= (1<<PORTC0); |
PORTC |= (1<<PORTC1); |
PORTD |= (1<<PORTD7); |
#endif |
#ifdef HWVERSION1_3 |
PORTD |= (1<<PORTD6); |
PORTD |= (1<<PORTD7); |
PORTC |= (1<<PORTC2); |
#endif |
#ifdef HWVERSION3_1 |
clr_D_LIGHT(); |
#endif |
Display_on = 0; // Flag Display off |
} |
} |
} |
} |
void TIMER1_Init (void) |
{ |
DDRD |= (1<<PORTD4)|(1<<PORTD5); |
TCCR1A |= (1<<COM1B1) |(1<<COM1A1) | (1<<WGM11); |
TCCR1B |= (1<<CS11)|(1<<CS10)| (1<<WGM12)| (1<<WGM13); |
ICR1 = icrval; |
OCR1A = minocr_a + ((maxocr_a-minocr_a)/2); |
OCR1B = minocr_b + ((maxocr_b-minocr_b)/2); |
// OCR1A = minocr_a; |
// OCR1B = maxocr_b; |
} |
void set_pwm_a(uint16_t value) |
{ |
uint16_t setv = ((value * 9) / 10 ) + minocr_a; |
if((setv > 311)&&(setv < 637)) |
{ |
OCR1A = setv; |
} |
} |
void set_pwm_b(uint8_t value) |
{ |
uint16_t setv = ((value * 4 * 5 ) / 6 ) + minocr_b; |
if((setv > 200)&&(setv < 750)) |
{ |
OCR1B = setv; |
} |
} |
//***************************************************************************** |
// |
void TIMER0_Init (void) |
{ |
timer = 0; |
#if defined (__AVR_ATmega32__) |
TCCR0 = (1 << CS02) | (1 << CS00) | (1 << WGM01); // Prescaler 1024 |
OCR0 = (F_CPU / (100L * 1024L)) ; |
TIMSK |= (1 << OCIE0); // enable interrupt for OCR |
#else |
TCCR0A = (1 << WGM01); |
TCCR0B = (1 << CS02) | (1 << CS00); |
OCR0A = (F_CPU / (100L * 1024L)) ; |
TIMSK0 |= (1 << OCIE0A); // enable interrupt for OCR |
#endif |
} |
//***************************************************************************** |
// |
uint8_t get_key_press (uint8_t key_mask) |
{ |
uint8_t sreg = SREG; |
// disable all interrupts |
cli(); |
key_mask &= key_press; // read key(s) |
key_press ^= key_mask; // clear key(s) |
SREG = sreg; // restore status register |
return key_mask; |
} |
//***************************************************************************** |
// |
uint8_t get_key_rpt (uint8_t key_mask) |
{ |
uint8_t sreg = SREG; |
// disable all interrupts |
cli(); |
key_mask &= key_rpt; // read key(s) |
key_rpt ^= key_mask; // clear key(s) |
SREG = sreg; // restore status register |
return key_mask; |
} |
//***************************************************************************** |
// |
uint8_t get_key_short (uint8_t key_mask) |
{ |
uint8_t ret; |
uint8_t sreg = SREG; |
// disable all interrupts |
cli(); |
ret = get_key_press (~key_state & key_mask); |
SREG = sreg; // restore status register |
return ret; |
} |
//***************************************************************************** |
// |
uint8_t get_key_long (uint8_t key_mask) |
{ |
return get_key_press (get_key_rpt (key_mask)); |
} |
//***************************************************************************** |
// |
uint8_t get_key_long2 (uint8_t key_mask) |
{ |
return get_key_press (get_key_rpt (key_press^key_mask)); |
} |
//***************************************************************************** |
// |
uint8_t get_key_long_rpt (uint8_t key_mask) |
{ |
return get_key_rpt (~key_press^key_mask); |
} |
/Transportables_Koptertool/tags/V3.2/timer.h |
---|
0,0 → 1,73 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* based on the key handling by Peter Dannegger * |
* see www.mikrocontroller.net * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _TIMER_H |
#define _TIMER_H |
#define KEY_PIN PINA |
#if defined HWVERSION1_2 || defined HWVERSION1_3 || defined HWVERSION3_2 |
#define KEY_ENTER PA7 |
#define KEY_ESC PA6 |
#define KEY_PLUS PA5 |
#define KEY_MINUS PA4 |
#endif |
#ifdef HWVERSION3_1 /*in der Hardwareversion sind die Tasten im Layout verdreht*/ |
#define KEY_ENTER PA4 |
#define KEY_ESC PA5 |
#define KEY_PLUS PA6 |
#define KEY_MINUS PA7 |
#endif |
#define KEY_ALL ((1 << KEY_PLUS) | (1 << KEY_MINUS) | (1 << KEY_ENTER) | (1 << KEY_ESC)) |
#define REPEAT_MASK ((1 << KEY_PLUS) | (1 << KEY_MINUS) | (1 << KEY_ENTER) | (1 << KEY_ESC)) // repeat: MODE |
#define REPEAT_START 50 // after 500ms |
#define REPEAT_NEXT 10 // every 100ms |
#define ABO_TIMEOUT 300 // 3 sec |
extern volatile uint8_t Display_on; |
extern volatile uint16_t timer; |
extern volatile uint16_t abo_timer; |
extern uint16_t minocr_a; |
extern uint16_t maxocr_a; |
extern uint16_t minocr_b; |
extern uint16_t maxocr_b; |
void TIMER0_Init (void); |
void TIMER1_Init (void); |
uint8_t get_key_press (uint8_t key_mask); |
uint8_t get_key_rpt (uint8_t key_mask); |
uint8_t get_key_short (uint8_t key_mask); |
uint8_t get_key_long (uint8_t key_mask); |
uint8_t get_key_long2 (uint8_t key_mask); |
uint8_t get_key_long_rpt (uint8_t key_mask); |
void set_pwm_a (uint16_t); |
void set_pwm_b (uint8_t); |
#endif |
/Transportables_Koptertool/tags/V3.2/uart1.c |
---|
0,0 → 1,273 |
/************************************************************************* |
Title: Interrupt UART library with receive/transmit circular buffers |
Author: Peter Fleury <pfleury@gmx.ch> http://jump.to/fleury |
File: $Id: uart.c,v 1.6.2.2 2009/11/29 08:56:12 Peter Exp $ |
Software: AVR-GCC 4.1, AVR Libc 1.4.6 or higher |
Hardware: any AVR with built-in UART, |
License: GNU General Public License |
DESCRIPTION: |
An interrupt is generated when the UART has finished transmitting or |
receiving a byte. The interrupt handling routines use circular buffers |
for buffering received and transmitted data. |
The UART_RX_BUFFER_SIZE and UART_TX_BUFFER_SIZE variables define |
the buffer size in bytes. Note that these variables must be a |
power of 2. |
USAGE: |
Refere to the header file uart.h for a description of the routines. |
See also example test_uart.c. |
NOTES: |
Based on Atmel Application Note AVR306 |
LICENSE: |
Copyright (C) 2006 Peter Fleury |
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 2 of the License, or |
any later version. |
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
*************************************************************************/ |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include "uart1.h" |
#include "main.h" |
/* |
* constants and macros |
*/ |
//#define __AVR_ATmega644P__ |
#if defined HWVERSION3_1 || defined HWVERSION1_3 |
/* size of RX/TX buffers */ |
#define UART_RX_BUFFER_MASK ( UART_RX_BUFFER_SIZE - 1) |
#define UART_TX_BUFFER_MASK ( UART_TX_BUFFER_SIZE - 1) |
#if ( UART_RX_BUFFER_SIZE & UART_RX_BUFFER_MASK ) |
#error RX buffer size is not a power of 2 |
#endif |
#if ( UART_TX_BUFFER_SIZE & UART_TX_BUFFER_MASK ) |
#error TX buffer size is not a power of 2 |
#endif |
/* ATmega with two USART */ |
#define ATMEGA_USART1 |
#define UART1_RECEIVE_INTERRUPT SIG_USART1_RECV |
#define UART1_TRANSMIT_INTERRUPT SIG_USART1_DATA |
#define UART1_STATUS UCSR1A |
#define UART1_CONTROL UCSR1B |
#define UART1_DATA UDR1 |
#define UART1_UDRIE UDRIE1 |
/* |
* module global variables |
*/ |
static volatile unsigned char UART1_TxBuf[UART_TX_BUFFER_SIZE]; |
static volatile unsigned char UART1_RxBuf[UART_RX_BUFFER_SIZE]; |
static volatile unsigned char UART1_TxHead; |
static volatile unsigned char UART1_TxTail; |
static volatile unsigned char UART1_RxHead; |
static volatile unsigned char UART1_RxTail; |
static volatile unsigned char UART1_LastRxError; |
/* |
* these functions are only for ATmegas with two USART |
*/ |
SIGNAL(UART1_RECEIVE_INTERRUPT) |
/************************************************************************* |
Function: UART1 Receive Complete interrupt |
Purpose: called when the UART1 has received a character |
**************************************************************************/ |
{ |
unsigned char tmphead; |
unsigned char data; |
unsigned char usr; |
unsigned char lastRxError; |
/* read UART status register and UART data register */ |
usr = UART1_STATUS; |
data = UART1_DATA; |
/* */ |
lastRxError = (usr & (_BV(FE1)|_BV(DOR1)) ); |
/* calculate buffer index */ |
tmphead = ( UART1_RxHead + 1) & UART_RX_BUFFER_MASK; |
if ( tmphead == UART1_RxTail ) { |
/* error: receive buffer overflow */ |
lastRxError = UART_BUFFER_OVERFLOW >> 8; |
}else{ |
/* store new index */ |
UART1_RxHead = tmphead; |
/* store received data in buffer */ |
UART1_RxBuf[tmphead] = data; |
} |
UART1_LastRxError = lastRxError; |
} |
SIGNAL(UART1_TRANSMIT_INTERRUPT) |
/************************************************************************* |
Function: UART1 Data Register Empty interrupt |
Purpose: called when the UART1 is ready to transmit the next byte |
**************************************************************************/ |
{ |
unsigned char tmptail; |
if ( UART1_TxHead != UART1_TxTail) { |
/* calculate and store new buffer index */ |
tmptail = (UART1_TxTail + 1) & UART_TX_BUFFER_MASK; |
UART1_TxTail = tmptail; |
/* get one byte from buffer and write it to UART */ |
UART1_DATA = UART1_TxBuf[tmptail]; /* start transmission */ |
}else{ |
/* tx buffer empty, disable UDRE interrupt */ |
UART1_CONTROL &= ~_BV(UART1_UDRIE); |
} |
} |
/************************************************************************* |
Function: uart1_init() |
Purpose: initialize UART1 and set baudrate |
Input: baudrate using macro UART_BAUD_SELECT() |
Returns: none |
**************************************************************************/ |
void uart1_init(unsigned int baudrate) |
{ |
UART1_TxHead = 0; |
UART1_TxTail = 0; |
UART1_RxHead = 0; |
UART1_RxTail = 0; |
/* Set baud rate */ |
if ( baudrate & 0x8000 ) |
{ |
UART1_STATUS = (1<<U2X1); //Enable 2x speed |
baudrate &= ~0x8000; |
} |
UBRR1H = (unsigned char)(baudrate>>8); |
UBRR1L = (unsigned char) baudrate; |
/* Enable USART receiver and transmitter and receive complete interrupt */ |
UART1_CONTROL = _BV(RXCIE1)|(1<<RXEN1)|(1<<TXEN1); |
/* Set frame format: asynchronous, 8data, no parity, 1stop bit */ |
#ifdef URSEL1 |
UCSR1C = (1<<URSEL1)|(3<<UCSZ10); |
#else |
UCSR1C = (3<<UCSZ10); |
#endif |
}/* uart_init */ |
/************************************************************************* |
Function: uart1_getc() |
Purpose: return byte from ringbuffer |
Returns: lower byte: received byte from ringbuffer |
higher byte: last receive error |
**************************************************************************/ |
unsigned int uart1_getc(void) |
{ |
unsigned char tmptail; |
unsigned char data; |
if ( UART1_RxHead == UART1_RxTail ) { |
return UART_NO_DATA; /* no data available */ |
} |
/* calculate /store buffer index */ |
tmptail = (UART1_RxTail + 1) & UART_RX_BUFFER_MASK; |
UART1_RxTail = tmptail; |
/* get data from receive buffer */ |
data = UART1_RxBuf[tmptail]; |
return (UART1_LastRxError << 8) + data; |
}/* uart1_getc */ |
/************************************************************************* |
Function: uart1_putc() |
Purpose: write byte to ringbuffer for transmitting via UART |
Input: byte to be transmitted |
Returns: none |
**************************************************************************/ |
void uart1_putc(unsigned char data) |
{ |
unsigned char tmphead; |
tmphead = (UART1_TxHead + 1) & UART_TX_BUFFER_MASK; |
while ( tmphead == UART1_TxTail ){ |
;/* wait for free space in buffer */ |
} |
UART1_TxBuf[tmphead] = data; |
UART1_TxHead = tmphead; |
/* enable UDRE interrupt */ |
UART1_CONTROL |= _BV(UART1_UDRIE); |
}/* uart1_putc */ |
/************************************************************************* |
Function: uart1_puts() |
Purpose: transmit string to UART1 |
Input: string to be transmitted |
Returns: none |
**************************************************************************/ |
void uart1_puts(const char *s ) |
{ |
while (*s) |
uart1_putc(*s++); |
}/* uart1_puts */ |
/************************************************************************* |
Function: uart1_puts_p() |
Purpose: transmit string from program memory to UART1 |
Input: program memory string to be transmitted |
Returns: none |
**************************************************************************/ |
void uart1_puts_p(const char *progmem_s ) |
{ |
register char c; |
while ( (c = pgm_read_byte(progmem_s++)) ) |
uart1_putc(c); |
}/* uart1_puts_p */ |
#endif |
/Transportables_Koptertool/tags/V3.2/uart1.h |
---|
0,0 → 1,162 |
#ifndef UART_H |
#define UART_H |
/************************************************************************ |
Title: Interrupt UART library with receive/transmit circular buffers |
Author: Peter Fleury <pfleury@gmx.ch> http://jump.to/fleury |
File: $Id: uart.h,v 1.8.2.1 2007/07/01 11:14:38 peter Exp $ |
Software: AVR-GCC 4.1, AVR Libc 1.4 |
Hardware: any AVR with built-in UART, tested on AT90S8515 & ATmega8 at 4 Mhz |
License: GNU General Public License |
Usage: see Doxygen manual |
LICENSE: |
Copyright (C) 2006 Peter Fleury |
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation; either version 2 of the License, or |
any later version. |
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
************************************************************************/ |
/** |
* @defgroup pfleury_uart UART Library |
* @code #include <uart.h> @endcode |
* |
* @brief Interrupt UART library using the built-in UART with transmit and receive circular buffers. |
* |
* This library can be used to transmit and receive data through the built in UART. |
* |
* An interrupt is generated when the UART has finished transmitting or |
* receiving a byte. The interrupt handling routines use circular buffers |
* for buffering received and transmitted data. |
* |
* The UART_RX_BUFFER_SIZE and UART_TX_BUFFER_SIZE constants define |
* the size of the circular buffers in bytes. Note that these constants must be a power of 2. |
* You may need to adapt this constants to your target and your application by adding |
* CDEFS += -DUART_RX_BUFFER_SIZE=nn -DUART_RX_BUFFER_SIZE=nn to your Makefile. |
* |
* @note Based on Atmel Application Note AVR306 |
* @author Peter Fleury pfleury@gmx.ch http://jump.to/fleury |
*/ |
/**@{*/ |
#if (__GNUC__ * 100 + __GNUC_MINOR__) < 304 |
#error "This library requires AVR-GCC 3.4 or later, update to newer AVR-GCC compiler !" |
#endif |
/* |
** constants and macros |
*/ |
/** @brief UART Baudrate Expression |
* @param xtalcpu system clock in Mhz, e.g. 4000000L for 4Mhz |
* @param baudrate baudrate in bps, e.g. 1200, 2400, 9600 |
*/ |
#define UART_BAUD_SELECT(baudRate,xtalCpu) ((xtalCpu)/((baudRate)*16l)-1) |
/** @brief UART Baudrate Expression for ATmega double speed mode |
* @param xtalcpu system clock in Mhz, e.g. 4000000L for 4Mhz |
* @param baudrate baudrate in bps, e.g. 1200, 2400, 9600 |
*/ |
#define UART_BAUD_SELECT_DOUBLE_SPEED(baudRate,xtalCpu) (((xtalCpu)/((baudRate)*8l)-1)|0x8000) |
/** Size of the circular receive buffer, must be power of 2 */ |
#ifndef UART_RX_BUFFER_SIZE |
#define UART_RX_BUFFER_SIZE 32 |
#endif |
/** Size of the circular transmit buffer, must be power of 2 */ |
#ifndef UART_TX_BUFFER_SIZE |
#define UART_TX_BUFFER_SIZE 32 |
#endif |
/* test if the size of the circular buffers fits into SRAM */ |
#if ( (UART_RX_BUFFER_SIZE+UART_TX_BUFFER_SIZE) >= (RAMEND-0x60 ) ) |
#error "size of UART_RX_BUFFER_SIZE + UART_TX_BUFFER_SIZE larger than size of SRAM" |
#endif |
/* |
** high byte error return code of uart_getc() |
*/ |
#define UART_FRAME_ERROR 0x0800 /* Framing Error by UART */ |
#define UART_OVERRUN_ERROR 0x0400 /* Overrun condition by UART */ |
#define UART_BUFFER_OVERFLOW 0x0200 /* receive ringbuffer overflow */ |
#define UART_NO_DATA 0x0100 /* no receive data available */ |
/* |
** function prototypes |
*/ |
/** |
@brief Initialize UART and set baudrate |
@param baudrate Specify baudrate using macro UART_BAUD_SELECT() |
@return none |
*/ |
extern void uart_init(unsigned int baudrate); |
/** |
* @brief Get received byte from ringbuffer |
* |
* Returns in the lower byte the received character and in the |
* higher byte the last receive error. |
* UART_NO_DATA is returned when no data is available. |
* |
* @param void |
* @return lower byte: received byte from ringbuffer |
* @return higher byte: last receive status |
* - \b 0 successfully received data from UART |
* - \b UART_NO_DATA |
* <br>no receive data available |
* - \b UART_BUFFER_OVERFLOW |
* <br>Receive ringbuffer overflow. |
* We are not reading the receive buffer fast enough, |
* one or more received character have been dropped |
* - \b UART_OVERRUN_ERROR |
* <br>Overrun condition by UART. |
* A character already present in the UART UDR register was |
* not read by the interrupt handler before the next character arrived, |
* one or more received characters have been dropped. |
* - \b UART_FRAME_ERROR |
* <br>Framing Error by UART |
*/ |
extern unsigned int uart_getc(void); |
/** |
* @brief Put byte to ringbuffer for transmitting via UART |
* @param data byte to be transmitted |
* @return none |
*/ |
/** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ |
extern void uart1_init(unsigned int baudrate); |
/** @brief Get received byte of USART1 from ringbuffer. (only available on selected ATmega) @see uart_getc */ |
extern unsigned int uart1_getc(void); |
/** @brief Put byte to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_putc */ |
extern void uart1_putc(unsigned char data); |
/** @brief Put string to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_puts */ |
extern void uart1_puts(const char *s ); |
/** @brief Put string from program memory to ringbuffer for transmitting via USART1 (only available on selected ATmega) @see uart_puts_p */ |
extern void uart1_puts_p(const char *s ); |
/** @brief Macro to automatically put a string constant into program memory */ |
#define uart1_puts_P(__s) uart1_puts_p(PSTR(__s)) |
/**@}*/ |
#endif // UART_H |
/Transportables_Koptertool/tags/V3.2/usart.c |
---|
0,0 → 1,623 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* taken some ideas from the C-OSD code from CaScAdE * |
* the MK communication routines are taken from the MK source * |
* (killagreg version) * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include <avr/wdt.h> |
#include <util/delay.h> |
#include <stdarg.h> |
#include "main.h" |
#include "usart.h" |
#include "lcd.h" |
uint8_t buffer[30]; |
volatile uint8_t txd_buffer[TXD_BUFFER_LEN]; |
volatile uint8_t txd_complete = TRUE; |
volatile uint8_t rxd_buffer[RXD_BUFFER_LEN]; |
volatile uint8_t rxd_buffer_locked = FALSE; |
volatile uint8_t ReceivedBytes = 0; |
volatile uint8_t *pRxData = 0; |
volatile uint8_t RxDataLen = 0; |
volatile uint16_t stat_crc_error = 0; |
volatile uint16_t stat_overflow_error = 0; |
volatile uint8_t rx_byte; |
volatile uint8_t rxFlag = 0; |
#define UART_RXBUFSIZE 64 |
#define UART_NO_DATA 0x0100 /* no receive data available */ |
volatile static uint8_t rxbuf[UART_RXBUFSIZE]; |
volatile static uint8_t *volatile rxhead, *volatile rxtail; |
//***************************************************************************** |
// USART1 transmitter ISR |
/* |
ISR (USART1_TX_vect) |
{ |
static uint16_t ptr_txd1_buffer = 0; |
uint8_t tmp_tx1; |
if(!txd1_complete) // transmission not completed |
{ |
ptr_txd1_buffer++; // [0] was already sent |
tmp_tx1 = txd1_buffer[ptr_txd1_buffer]; |
// if terminating character or end of txd buffer was reached |
if((tmp_tx1 == '\r') || (ptr_txd1_buffer == TXD_BUFFER_LEN)) |
{ |
ptr_txd1_buffer = 0; // reset txd pointer |
txd1_complete = TRUE; // stop transmission |
} |
UDR1 = tmp_tx1; // send current byte will trigger this ISR again |
} |
// transmission completed |
else ptr_txd1_buffer = 0; |
} |
*/ |
#ifdef USART_INT |
//***************************************************************************** |
// USART0 transmitter ISR |
ISR (USART_TXC_vect) |
{ |
static uint16_t ptr_txd_buffer = 0; |
uint8_t tmp_tx; |
if(!txd_complete) // transmission not completed |
{ |
ptr_txd_buffer++; // [0] was already sent |
tmp_tx = txd_buffer[ptr_txd_buffer]; |
// if terminating character or end of txd buffer was reached |
if((tmp_tx == '\r') || (ptr_txd_buffer == TXD_BUFFER_LEN)) |
{ |
ptr_txd_buffer = 0; // reset txd pointer |
txd_complete = TRUE; // stop transmission |
} |
UDR = tmp_tx; // send current byte will trigger this ISR again |
} |
// transmission completed |
else ptr_txd_buffer = 0; |
} |
#endif |
//***************************************************************************** |
// |
// |
//uint8_t uart_getc_nb(uint8_t *c) |
//{ |
// if (rxhead==rxtail) return 0; |
// *c = *rxtail; |
// if (++rxtail == (rxbuf + UART_RXBUFSIZE)) rxtail = rxbuf; |
// return 1; |
//} |
ISR (USART_RXC_vect) |
{ |
static uint16_t crc; |
static uint8_t ptr_rxd_buffer = 0; |
uint8_t crc1, crc2; |
uint8_t c; |
if (current_hardware == Wi232) |
{ |
/* rx_byte = c; |
rxFlag = 1;*/ |
int diff; |
uint8_t c; |
c=UDR; |
diff = rxhead - rxtail; |
if (diff < 0) diff += UART_RXBUFSIZE; |
if (diff < UART_RXBUFSIZE -1) |
{ |
*rxhead = c; |
++rxhead; |
if (rxhead == (rxbuf + UART_RXBUFSIZE)) rxhead = rxbuf; |
}; |
// USART_putc (c); |
return; |
} |
if (current_hardware == MKGPS) |
{ |
/* rx_byte = c; |
rxFlag = 1;*/ |
int diff; |
uint8_t c; |
c=UDR; |
diff = rxhead - rxtail; |
if (diff < 0) diff += UART_RXBUFSIZE; |
if (diff < UART_RXBUFSIZE -1) |
{ |
*rxhead = c; |
++rxhead; |
if (rxhead == (rxbuf + UART_RXBUFSIZE)) rxhead = rxbuf; |
}; |
return; |
} |
c = UDR; // catch the received byte |
if (rxd_buffer_locked) |
{ |
return; // if rxd buffer is locked immediately return |
} |
// the rxd buffer is unlocked |
if ((ptr_rxd_buffer == 0) && (c == '#')) // if rxd buffer is empty and syncronisation character is received |
{ |
rxd_buffer[ptr_rxd_buffer++] = c; // copy 1st byte to buffer |
crc = c; // init crc |
} |
else if (ptr_rxd_buffer < RXD_BUFFER_LEN) // collect incomming bytes |
{ |
if(c != '\r') // no termination character |
{ |
rxd_buffer[ptr_rxd_buffer++] = c; // copy byte to rxd buffer |
crc += c; // update crc |
} |
else // termination character was received |
{ |
// the last 2 bytes are no subject for checksum calculation |
// they are the checksum itself |
crc -= rxd_buffer[ptr_rxd_buffer-2]; |
crc -= rxd_buffer[ptr_rxd_buffer-1]; |
// calculate checksum from transmitted data |
crc %= 4096; |
crc1 = '=' + crc / 64; |
crc2 = '=' + crc % 64; |
// compare checksum to transmitted checksum bytes |
if((crc1 == rxd_buffer[ptr_rxd_buffer-2]) && (crc2 == rxd_buffer[ptr_rxd_buffer-1])) |
{ // checksum valid |
rxd_buffer[ptr_rxd_buffer] = '\r'; // set termination character |
ReceivedBytes = ptr_rxd_buffer + 1;// store number of received bytes |
if (mode == rxd_buffer[2]) |
{ |
rxd_buffer_locked = TRUE; // lock the rxd buffer |
// if 2nd byte is an 'R' enable watchdog that will result in an reset |
if(rxd_buffer[2] == 'R') {wdt_enable(WDTO_250MS);} // Reset-Commando |
} |
} |
else |
{ // checksum invalid |
stat_crc_error++; |
rxd_buffer_locked = FALSE; // unlock rxd buffer |
} |
ptr_rxd_buffer = 0; // reset rxd buffer pointer |
} |
} |
else // rxd buffer overrun |
{ |
//LED4_TOGGLE; |
stat_overflow_error++; |
ptr_rxd_buffer = 0; // reset rxd buffer |
rxd_buffer_locked = FALSE; // unlock rxd buffer |
} |
} |
/************************************************************************* |
Function: uart0_getc() |
Purpose: return byte from ringbuffer |
Returns: lower byte: received byte from ringbuffer |
higher byte: last receive error |
**************************************************************************/ |
char USART_getc(void) |
{ |
char val; |
// while(rxhead==rxtail) ; |
if (rxhead==rxtail) return val=0; |
val = *rxtail; |
if (++rxtail == (rxbuf + UART_RXBUFSIZE)) rxtail = rxbuf; |
return val; |
} |
uint8_t uart_getc_nb(uint8_t *c) |
{ |
if (rxhead==rxtail) return 0; |
*c = *rxtail; |
if (++rxtail == (rxbuf + UART_RXBUFSIZE)) rxtail = rxbuf; |
return 1; |
} |
//***************************************************************************** |
// |
//***************************************************************************** |
// |
void USART_Init (unsigned int baudrate) |
{ |
// set clock divider |
// #undef BAUD |
//#define BAUD baudrate |
// #include <util/setbaud.h> |
// UBRRH = UBRRH_VALUE; |
// UBRRL = UBRRL_VALUE; |
UBRRH = (unsigned char)(baudrate>>8); |
UBRRL = (unsigned char) baudrate; |
#if USE_2X |
UCSRA |= (1 << U2X); // enable double speed operation |
#else |
UCSRA &= ~(1 << U2X); // disable double speed operation |
#endif |
// set 8N1 |
#if defined (__AVR_ATmega8__) || defined (__AVR_ATmega32__) |
UCSRC = (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0); |
#else |
UCSRC = (1 << UCSZ1) | (1 << UCSZ0); |
#endif |
UCSRB &= ~(1 << UCSZ2); |
// flush receive buffer |
while ( UCSRA & (1 << RXC) ) UDR; |
UCSRB |= (1 << RXEN) | (1 << TXEN); |
#ifdef USART_INT |
UCSRB |= (1 << RXCIE) | (1 << TXCIE); |
#else |
UCSRB |= (1 << RXCIE); |
#endif |
rxhead = rxtail = rxbuf; |
} |
//***************************************************************************** |
// disable the txd pin of usart |
void USART_DisableTXD (void) |
{ |
#ifdef USART_INT |
UCSRB &= ~(1 << TXCIE); // disable TX-Interrupt |
#endif |
UCSRB &= ~(1 << TXEN); // disable TX in USART |
DDRB &= ~(1 << DDB3); // set TXD pin as input |
PORTB &= ~(1 << PORTB3); // disable pullup on TXD pin |
} |
//***************************************************************************** |
// enable the txd pin of usart |
void USART_EnableTXD (void) |
{ |
DDRB |= (1 << DDB3); // set TXD pin as output |
PORTB &= ~(1 << PORTB3); // disable pullup on TXD pin |
UCSRB |= (1 << TXEN); // enable TX in USART |
#ifdef USART_INT |
UCSRB |= (1 << TXCIE); // enable TX-Interrupt |
#endif |
} |
//***************************************************************************** |
// short script to directly send a request thorugh usart including en- and disabling it |
// where <address> is the address of the receipient, <label> is which data set to request |
// and <ms> represents the milliseconds delay between data |
void USART_request_mk_data (uint8_t cmd, uint8_t addr, uint8_t ms) |
{ |
USART_EnableTXD (); // re-enable TXD pin |
unsigned char mstenth = ms/10; |
SendOutData(cmd, addr, 1, &mstenth, 1); |
// wait until command transmitted |
while (txd_complete == FALSE); |
USART_DisableTXD (); // disable TXD pin again |
} |
//***************************************************************************** |
// |
void USART_putc (char c) |
{ |
#ifdef USART_INT |
#else |
loop_until_bit_is_set(UCSRA, UDRE); |
UDR = c; |
#endif |
} |
//***************************************************************************** |
// |
void USART_puts (char *s) |
{ |
#ifdef USART_INT |
#else |
while (*s) |
{ |
USART_putc (*s); |
s++; |
} |
#endif |
} |
//***************************************************************************** |
// |
void USART_puts_p (const char *s) |
{ |
#ifdef USART_INT |
#else |
while (pgm_read_byte(s)) |
{ |
USART_putc (pgm_read_byte(s)); |
s++; |
} |
#endif |
} |
//***************************************************************************** |
// |
void SendOutData(uint8_t cmd, uint8_t addr, uint8_t numofbuffers, ...) // uint8_t *pdata, uint8_t len, ... |
{ |
va_list ap; |
uint16_t pt = 0; |
uint8_t a,b,c; |
uint8_t ptr = 0; |
uint16_t tmpCRC = 0; |
uint8_t *pdata = 0; |
int len = 0; |
txd_buffer[pt++] = '#'; // Start character |
txd_buffer[pt++] = 'a' + addr; // Address (a=0; b=1,...) |
txd_buffer[pt++] = cmd; // Command |
va_start(ap, numofbuffers); |
if(numofbuffers) |
{ |
pdata = va_arg (ap, uint8_t*); |
len = va_arg (ap, int); |
ptr = 0; |
numofbuffers--; |
} |
while(len) |
{ |
if(len) |
{ |
a = pdata[ptr++]; |
len--; |
if((!len) && numofbuffers) |
{ |
pdata = va_arg(ap, uint8_t*); |
len = va_arg(ap, int); |
ptr = 0; |
numofbuffers--; |
} |
} |
else a = 0; |
if(len) |
{ |
b = pdata[ptr++]; |
len--; |
if((!len) && numofbuffers) |
{ |
pdata = va_arg(ap, uint8_t*); |
len = va_arg(ap, int); |
ptr = 0; |
numofbuffers--; |
} |
} |
else b = 0; |
if(len) |
{ |
c = pdata[ptr++]; |
len--; |
if((!len) && numofbuffers) |
{ |
pdata = va_arg(ap, uint8_t*); |
len = va_arg(ap, int); |
ptr = 0; |
numofbuffers--; |
} |
} |
else c = 0; |
txd_buffer[pt++] = '=' + (a >> 2); |
txd_buffer[pt++] = '=' + (((a & 0x03) << 4) | ((b & 0xf0) >> 4)); |
txd_buffer[pt++] = '=' + (((b & 0x0f) << 2) | ((c & 0xc0) >> 6)); |
txd_buffer[pt++] = '=' + ( c & 0x3f); |
} |
va_end(ap); |
for(a = 0; a < pt; a++) |
{ |
tmpCRC += txd_buffer[a]; |
} |
tmpCRC %= 4096; |
txd_buffer[pt++] = '=' + tmpCRC / 64; |
txd_buffer[pt++] = '=' + tmpCRC % 64; |
txd_buffer[pt++] = '\r'; |
txd_complete = FALSE; |
#ifdef USART_INT |
UDR = txd_buffer[0]; // initiates the transmittion (continued in the TXD ISR) |
#else |
for(a = 0; a < pt; a++) |
{ |
loop_until_bit_is_set(UCSRA, UDRE); |
UDR = txd_buffer[a]; |
} |
txd_complete = TRUE; |
#endif |
} |
//***************************************************************************** |
// |
void Decode64 (void) |
{ |
uint8_t a,b,c,d; |
uint8_t ptrIn = 3; |
uint8_t ptrOut = 3; |
uint8_t len = ReceivedBytes - 6; |
while (len) |
{ |
a = rxd_buffer[ptrIn++] - '='; |
b = rxd_buffer[ptrIn++] - '='; |
c = rxd_buffer[ptrIn++] - '='; |
d = rxd_buffer[ptrIn++] - '='; |
//if(ptrIn > ReceivedBytes - 3) break; |
if (len--) |
rxd_buffer[ptrOut++] = (a << 2) | (b >> 4); |
else |
break; |
if (len--) |
rxd_buffer[ptrOut++] = ((b & 0x0f) << 4) | (c >> 2); |
else |
break; |
if (len--) |
rxd_buffer[ptrOut++] = ((c & 0x03) << 6) | d; |
else |
break; |
} |
pRxData = &rxd_buffer[3]; |
RxDataLen = ptrOut - 3; |
} |
//***************************************************************************** |
// |
void SwitchToNC (void) |
{ |
if(hardware == NC) |
{ |
// switch to NC |
USART_putc (0x1b); |
USART_putc (0x1b); |
USART_putc (0x55); |
USART_putc (0xaa); |
USART_putc (0x00); |
current_hardware = NC; |
_delay_ms (50); |
} |
} |
//***************************************************************************** |
// |
//***************************************************************************** |
// |
void SwitchToWi232 (void) |
{ |
// if(hardware == NC) |
{ |
// switch to Wi232 |
current_hardware = Wi232; |
_delay_ms (50); |
} |
} |
//***************************************************************************** |
// |
void SwitchToFC (void) |
{ |
uint8_t cmd; |
if (current_hardware == NC) |
{ |
// switch to FC |
cmd = 0x00; // 0 = FC, 1 = MK3MAG, 2 = MKGPS |
SendOutData('u', ADDRESS_NC, 1, &cmd, 1); |
current_hardware = FC; |
_delay_ms (50); |
} |
} |
//***************************************************************************** |
// |
void SwitchToMAG (void) |
{ |
uint8_t cmd; |
if (current_hardware == NC) |
{ |
// switch to MK3MAG |
cmd = 0x01; // 0 = FC, 1 = MK3MAG, 2 = MKGPS |
SendOutData('u', ADDRESS_NC, 1, &cmd, 1); |
current_hardware = MK3MAG; |
_delay_ms (50); |
} |
} |
//***************************************************************************** |
// |
void SwitchToGPS (void) |
{ |
uint8_t cmd; |
if (current_hardware == NC) |
{ |
// switch to MKGPS |
cmd = 0x02; // 0 = FC, 1 = MK3MAG, 2 = MKGPS |
SendOutData('u', ADDRESS_NC, 1, &cmd, 1); |
current_hardware = MKGPS; |
_delay_ms (50); |
} |
} |
/Transportables_Koptertool/tags/V3.2/usart.h |
---|
0,0 → 1,137 |
/***************************************************************************** |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* taken some ideas from the C-OSD code from CaScAdE * |
* the MK communication routines are taken from the MK source * |
* (killagreg version) * |
* * |
* This program is free software; you can redistribute it and/or modify * |
* it under the terms of the GNU General Public License as published by * |
* the Free Software Foundation; either version 2 of the License. * |
* * |
* This program is distributed in the hope that it will be useful, * |
* but WITHOUT ANY WARRANTY; without even the implied warranty of * |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
* GNU General Public License for more details. * |
* * |
* You should have received a copy of the GNU General Public License * |
* along with this program; if not, write to the * |
* Free Software Foundation, Inc., * |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
* * |
*****************************************************************************/ |
#ifndef _USART_H |
#define _USART_H |
//***************************************************************************** |
// |
#ifndef FALSE |
#define FALSE 0 |
#endif |
#ifndef TRUE |
#define TRUE 1 |
#endif |
// addresses |
#define ADDRESS_ANY 0 |
#define ADDRESS_FC 1 |
#define ADDRESS_NC 2 |
#define ADDRESS_MAG 3 |
// must be at least 4('#'+Addr+'CmdID'+'\r')+ (80 * 4)/3 = 111 bytes |
#define TXD_BUFFER_LEN 60 |
#define RXD_BUFFER_LEN 180 |
// Baud rate of the USART |
#define USART_BAUD 57600 |
//#define USART_BAUD 125000 |
//***************************************************************************** |
// |
extern uint8_t buffer[30]; |
extern volatile uint8_t txd_buffer[TXD_BUFFER_LEN]; |
extern volatile uint8_t txd_complete; |
extern volatile uint8_t rxd_buffer[RXD_BUFFER_LEN]; |
extern volatile uint8_t rxd_buffer_locked; |
extern volatile uint8_t ReceivedBytes; |
extern volatile uint8_t *pRxData; |
extern volatile uint8_t RxDataLen; |
extern volatile uint16_t stat_crc_error; |
extern volatile uint16_t stat_overflow_error; |
extern volatile uint8_t rxFlag; |
extern volatile uint8_t rx_byte; |
//extern volatile static uint8_t *volatile rxhead, *volatile rxtail; |
//***************************************************************************** |
// |
void USART_Init (unsigned int baudrate); |
void USART_DisableTXD (void); |
void USART_EnableTXD (void); |
void USART_request_mk_data (uint8_t cmd, uint8_t addr, uint8_t ms); |
void USART_putc (char c); |
void USART_puts (char *s); |
void USART_puts_p (const char *s); |
extern char USART_getc(void); |
void SendOutData (uint8_t cmd, uint8_t addr, uint8_t numofbuffers, ...); // uint8_t *pdata, uint8_t len, ... |
//void SendOutData(uint8_t cmd, uint8_t addr, uint8_t numofbuffers, uint8_t *pdata, uint8_t len); // uint8_t *pdata, uint8_t len, ... |
void Decode64 (void); |
void SwitchToNC (void); |
void SwitchToFC (void); |
void SwitchToMAG (void); |
void SwitchToGPS (void); |
void SwitchToWi232 (void); |
void debug1(void); |
uint8_t uart_getc_nb(uint8_t*); |
//***************************************************************************** |
//Anpassen der seriellen Schnittstellen Register |
#define USART_RXC_vect USART0_RX_vect |
//----------------------- |
#define UCSRA UCSR0A |
#define UCSRB UCSR0B |
#define UCSRC UCSR0C |
#define UDR UDR0 |
#define UBRRL UBRR0L |
#define UBRRH UBRR0H |
// UCSRA |
#define RXC RXC0 |
#define TXC TXC0 |
#define UDRE UDRE0 |
#define FE FE0 |
#define UPE UPE0 |
#define U2X U2X0 |
#define MPCM MPCM0 |
// UCSRB |
#define RXCIE RXCIE0 |
#define TXCIE TXCIE0 |
#define UDRIE UDRIE0 |
#define TXEN TXEN0 |
#define RXEN RXEN0 |
#define UCSZ2 UCSZ02 |
#define RXB8 RXB80 |
#define TXB8 TXB80 |
// UCSRC |
#define UMSEL1 UMSEL01 |
#define UMSEL0 UMSEL00 |
#define UPM1 UPM01 |
#define UPM0 UPM00 |
#define USBS USBS0 |
#define UCSZ1 UCSZ01 |
#define UCSZ0 UCSZ00 |
#define UCPOL UCPOL0 |
//----------------------- |
#endif |