From eb2ff799329605d3ce7c5fc21a9987991a035230 Mon Sep 17 00:00:00 2001 From: andrey Date: Wed, 23 Sep 2026 01:28:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=B4=D0=B8=D1=81=D0=BA=D1=80=D0=B5=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=A1=D0=98=D0=A4=D0=A3=20=D0=BE=D1=82=20=D0=BE?= =?UTF-8?q?=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=86=D0=B8?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=20=D0=B2=20166?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фронты START/STOP обрабатывают�� при прин�тии командного �лова CAN/RS, а окончание импуль�а об�луживает�� таймером. STOP имеет приоритет, перекрытие выходов и�ключено, �охранена защита от �амопу�ка при включении. Загрузка параметров больше не подмен�ет живые команды нагрузки. Добавлены подробные ру��кие комментарии во в�е �об�твенные C-модули и о�новные заголовки, опи�ание поведени� и host-те�т автомата. Обновлены файлы прошивки. Полна� �борка TI 22.6.1.LTS и те�ты пройдены; проверка на физиче�кой плате не выполн�ла�ь. --- Bin/UKSSTMS320F28335.bin | Bin 27312 -> 30166 bytes Bin/UKSSTMS320F28335.hex | 1818 ++++++++++---------- Bin/UKSSTMS320F28335.map | 12 +- Bin/UKSSTMS320F28335.out | Bin 304602 -> 308870 bytes Doc/SIFU_START_STOP.md | 104 ++ Doc/START_STOP_weak_points.md | 4 + Doc/UMP_LOGGER.md | 4 + Source/Internal/ADC.c | 6 + Source/Internal/DAC.c | 26 +- Source/Internal/Include/ADC.h | 3 + Source/Internal/Include/DAC.h | 12 +- Source/Internal/Include/GPIO_table.h | 3 + Source/Internal/Include/RS485.h | 3 + Source/Internal/Include/bios_dsp.h | 3 + Source/Internal/Include/caliber.h | 3 + Source/Internal/Include/cntrl_adr.h | 3 + Source/Internal/Include/crc16.h | 3 + Source/Internal/Include/ecan.h | 3 + Source/Internal/Include/filter_bat2.h | 3 + Source/Internal/Include/kanal.h | 3 + Source/Internal/Include/log_to_mem.h | 3 + Source/Internal/Include/measure.h | 3 + Source/Internal/Include/message.h | 3 + Source/Internal/Include/package.h | 11 +- Source/Internal/Include/peripher.h | 4 + Source/Internal/Include/pulto.h | 3 + Source/Internal/Include/spise2p.h | 3 + Source/Internal/Include/tools.h | 3 + Source/Internal/Include/ump_control_impl.h | 83 + Source/Internal/Include/ump_pulse.h | 69 + Source/Internal/RS485.c | 9 + Source/Internal/bios.c | 6 + Source/Internal/cntrl_adr.c | 5 + Source/Internal/crc16.c | 6 + Source/Internal/ecan.c | 26 +- Source/Internal/filter_bat2.c | 5 + Source/Internal/kanal.c | 5 + Source/Internal/log_to_mem.c | 6 + Source/Internal/main.c | 33 +- Source/Internal/measure.c | 8 + Source/Internal/message.c | 35 +- Source/Internal/peripher.c | 6 + Source/Internal/pulto.c | 5 + Source/Internal/spise2p.c | 12 + Source/Internal/tools.c | 5 + tests/ump_logger/recorder_test.c | 3 +- tests/ump_logger/stubs/DAC.h | 3 +- tests/ump_pulse/control_test.c | 97 ++ tests/ump_pulse/run_test.py | 38 + 49 files changed, 1564 insertions(+), 950 deletions(-) create mode 100644 Doc/SIFU_START_STOP.md create mode 100644 Source/Internal/Include/ump_control_impl.h create mode 100644 Source/Internal/Include/ump_pulse.h create mode 100644 tests/ump_pulse/control_test.c create mode 100644 tests/ump_pulse/run_test.py diff --git a/Bin/UKSSTMS320F28335.bin b/Bin/UKSSTMS320F28335.bin index ac9196dd69a8c248621f5375c71ce6171ac34191..8d99660986eeaba7e86db2985cbd0ececc3a6780 100644 GIT binary patch delta 10173 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 Xc&anuXD2+D;Q1V$J@EV&JP7?a*$%>( delta 7085 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 diff --git a/Bin/UKSSTMS320F28335.hex b/Bin/UKSSTMS320F28335.hex index 12a5d2a..3c69ee1 100644 --- a/Bin/UKSSTMS320F28335.hex +++ b/Bin/UKSSTMS320F28335.hex @@ -1,4 +1,4 @@ -:20000000AA08000000000000000000000000000000000000B9B46A02000067B600FFC0DA9F +:20000000AA080000000000000000000000000000000000006AB56202000017B700FFC0DA44 :2000200000000000C1C081C1400101C3C003800241C201C6C006800741C70005C1C581C4C4 :20004000400401CCC00C800D41CD000FC1CF81CE400E000AC1CA81CB400B01C9C0098008A5 :2000600041C801D8C018801941D9001BC1DB81DA401A001EC1DE81DF401F01DDC01D801CD4 @@ -23,913 +23,923 @@ :2002C000D209320F190FEC13F212C206A30256030E00050FD80EB20C1C0C140400005C03AC :2002E0001100090500050000000019081708D50AD30AFFFFA2DE00000000FFFFA3DE0000E1 :200300000000FFFFA4DE00000000FFFFA5DE00000000F4FFB2DE0000000000000000000059 -:20032000F29F000024A00000ED9F0000E89F0000FFFF42DF00000000FFFF43DF0000000016 +:2003200008A000003AA0000003A00000FE9F0000FFFF42DF00000000FFFF43DF00000000BC :20034000FFFF44DF00000000FFFF45DF00000000FFFF46DF00000000FEFF4CDF000000000F :200360000000FEFF4EDF000000000000FFFF18DF00000000FFFF19DF00000000FEFF26DF66 :20038000000000000000FEFF28DF000000000000FEFF2ADF000000000000FEFF2CDF00004B :2003A00000000000EEFF2ADD00004A0C023E4A0C023E0000803F0000803F6C09F93B6C0981 :2003C000F93B6C09F93B6C09F93B0000803FFFFF08DE00000000FFFF09DE00000000FFFF11 :2003E0000ADE00000000FFFF0FDE00001400FFFF12DE00000100F0FFB0DA00003F00060069 -:200400005B004F0066006D007D0007007F006F00400000000000000079000000FFFF75DFE2 -:2004200000000600FFFF77DF00000000FFFF78DF00000000FEFF7CDF000000000000FFFFB7 -:200440006CDF00000000FFFF6DDF00000000FFFF6EDF00000100FEFF9CDF00005DB6000030 -:20046000FEFF9EDF00005DB60000FEFFA0DF000000000000FEFFA2DF000000000000FFFFF7 -:200480003CDD00000000FFFF3DDD00000000FBFF8EDF000008000C00100000000400FFFF9E -:2004A00098DF00000A00FFFF99DF00000100FFFFA7DF00000100FFFFA8DF00000100FCFF3E -:2004C00094DF00000000000000000000FFFF00D000000100FFFF40DE00000000FFFF41DCA3 -:1004E00000000000FFFF29DD000000000000000008 -:2004F00067360000008002FEA4C5A927013B008FC0DBC7924196A9A8AB81A98A01BEC418B5 -:2005100000E04192C4984148046CC44E026D00BE008FC0DBA9A8AB81A98A1F765C03A6CC44 -:20053000010088FFC4CDFFFDA8CAA993D8FF01F1C49601910B9982FE060010E70B0001E81E -:20055000EAFA20E740000DE8BA9E6FE819F000E7100000E7490000E70000007710E74000F7 -:200570004076C2B502E8010250E8000040769AB20600A71EA59243880960C40605610102AE -:200590004156C4000B6F00BE096FA706C40F036201BE046F01020156C400A6920600BDB25E -:2005B0007AD178D0013BBDAA808DC0DB9A92929EA985A9BD120F007700770077007789E6F1 -:2005D000010002E8401640769AB27BD11F765C0379D0013B03E226009A92929EA985A9BD08 -:2005F000120F007700770077007789E6010002E8401640769AB200D11F765C0303E228006A -:20061000008FC0DB013BA9A8A181A98A74D0C8E29400008F30DFA9A8A181A98AC49202524E -:20063000046002E8D123056F02E8E1300AE8010040769AB2013B008F2ADD0356A1010156E0 -:20065000A40001D9A192045203E2C400DA64BE86BE8B0600BDB2BDAA03E2BD0404FE005239 -:20067000A95906601F765C030B920B2B0C96A1921F765C0307540A63008FC0DB013BA9A8F3 -:20069000A181A98AC44FEDFF0102008F86DE013BA9A8A181A9837FD0008FC0DB944CC4E226 -:2006B000C500EDFFEA01A19207544F63A9A8A181A98AC44D4A6C00BEA6921F767D03A985A8 -:2006D00000D5A71E009B009207520260019B0356A8011F765C030793A99F2765013B008FBD -:2006F000C0DBA9A8A581A98AC492A9CD0080A9CC0060A8CA0A60008F86DEA9A8A581A98A0B -:2007100001DEA706C40DA71E1F767D03009B009207520260019B0356A8011F765C0301DD3A -:200730000793A99FA555DC62A6920761A985421EA706C0006FB5A71EA7BD120F0077007798 -:200750000077007789E60000A192089E1F767D03A988029242617FD0008FC0DB949316D050 -:20077000D3FF9492C1FFA8CAA940146C1F767D03019205520C6002E849280CE8010094E6A1 -:20079000080014AD0465A6920250A988A692E3FF6801A1921F765C030754E2FF8401A6400B -:2007B0000F6C79D0C8E29401007720E74000AFE2280400E72000007790E800760E6F78D07A -:2007D000C8E29401007720E74000AFE2260400E72000007790E800761F767D030392696171 -:2007F000A692E3FFDE001F767D03019202521F61A1400F6C79D0008FC0DBC8E294011F76D2 -:200810005C0320E74000AFE2280400E720003B6F78D0008FC0DBC8E294011F765C0320E708 -:200830004000AFE2260400E720002D6F08BEA192A672008FC0DB013BA9A8A681A9838076F9 -:2008500086DEA606A181A71E18D0C7929596A19206520D6378D0C8E294011F765C0320E7A8 -:200870004000AFE2220400E720000D6F78D0C8E294011F765C0320E74000AFE2240400E78C -:200890002000007716E8000D14AD136512E8401A14AD0F63A12D008F00D950E800B212357F -:2008B0000156A400407638B502E8411640769AB216D0008FC0DB26E8000D94937FD0D0FFD7 -:2008D000949232E8401AC9FFA8CAA940036C02E8001150E80148A9A8013B18D08CE6000079 -:2008F000A1818CE60900A983A9A8A181A98A13E29501432BA6BF120FC493A892CDFF01F0AC -:200910000190A980A61BECFF3461A692C852316130D09592FB9CA6540363A845186D008FC9 -:20093000C0DBA9A8A181A98A30D0A69294540F6248D0945428651F765C03A7CC01000B18BD -:20095000F7FF82FF431A10000B981D6F4392A7CD01001F765C03205097FF0B18FBFFA91852 -:20097000FFFEA9CB43970356A70207900B980B6F1F765C03A7CC0100431A01000B18EFFF8F -:2009900083FF0B981F765C030E92E0FF8C00AD5CA19283DCA45C40760080EFFF8400808DD3 -:2009B000C0DB013BA9AAA681A98A8CE6000078D078D113E2940079D092929A9EA985A9BDDE -:2009D000120F007700770077007789E604000077CFE6210002E8081840769AB21F765C034A -:2009F00003E2220002E8101CCFE621000FE8303340769AB27AD11F765C0378D0013B008F46 -:200A1000C0DB03E224009A92949EA985A9BD120F007700770077007789E6010002E80818B9 -:200A300040769AB27BD11F765C0379D0013B008FC0DB03E226009A92949EA985A9BD120F97 -:200A5000007700770077007789E6010002E8081840769AB21F765C0303E22800236FA9A84A -:200A7000013BA681A98A8CE6000078D013E2940040765C80176FA9A8A181A98A8CE600005D -:200A900018D013E294000E6F008FC0DBA9A8A181A983A9A8A181A98AC52B18D0C51A0080B2 -:200AB000942B84FEAFE2BE04BE86BE8B0600BDB2BDAA02FE0052A92706601F765C030B9210 -:200AD0000B2B0C96008FC0DB013BA9A8AB81A98AC492A94FEDFFCB00CDFF0190A92F422B71 -:200AF000AB92075260610356AB01A95A1F767D034218FFFB008DC0DEA22D1006412B22562A -:200B10000190A95D0356A201A007A98A20FFE80340764680013B019B019089FFA2954298D0 -:200B3000A82D4218FFF71006412B22560190A95D0356AC01A007A98A20FFE8034076468089 -:200B500001908AFF4298AB9206522D60029A4218FFEFA294013BA92D1006412B22560190B8 -:200B7000A95D0356AC01A007A98A20FFE80340764680013B039B0190A2958BFF4298A82D1E -:200B90004218FFDF10062256412B0190A95D0356AC01A007A98A20FFE80340764680019085 -:200BB0008CFF42984292C0FF42CDBFFF42CA008F86DE013BC0FF42CAC0FF42CAC3FF4090FD -:200BD000A8CA4296A9A8AB81A9837FD0008FC0DBC4E2C500944C416D408F30DFA9A0AB814D -:200BF000A9830356C501408F2ADD0156A500AFE2C50100E7400000778CE60000A9A8AB81E4 -:200C1000A6BF120FA98318D148D0A6929D7E95541163408F30DEA9A0AB81A983421A08007F -:200C3000A9A8C581A98AC443056CAA920360421A000142920761AA9205601F765C030B1A70 -:200C500002001F765C030E921E60AD5CAB9282DCA45C40760080176FA9A8AB81A98A8CE6EE -:200C7000000018D013E294000E6F008FC0DBA9A8AB81A983A9A8AB81A98AC52B18D0C51A3C -:200C90000080942B82FEBE86BE8B060000BE013B008FC0DBA9A8A681A98A01DE18D0A69224 -:200CB000C41800E01852942BF46400BE013B008FC0DB408F80DFA9A8A681A98A0356A601EA -:200CD0000156A50070D0C8E294001F767D0303E2C500019206521760408F30DFA9A0A6811B -:200CF000A983C59203520F60A640056D18D094288601096F008FC0DBA9A8A681A98A18D0E5 -:200D10009428300201DEA6920452D264019201521060008FC0DB1F765C03A9A80781A98AB2 -:200D3000C41A0040CC1A0040D41A0040DC1A00401F767D03019206520760008FC0DBC41A8C -:200D50000040CC1A00401F767D030692036140765C8006008076F9151F765C03408FF22B90 -:200D7000008F3E4900B61202BDB2AC2B013B1AC21EA020A81F767D0310C31F765C031C1E89 -:200D9000008F30DFA9A8AC81A98AC42B008F30DEA9A8AC81A98AAC92019CC4211052A92DBF -:200DB000F0641F767D03019206521860008F30DF408F30DEBF56C4031F765C03BF56C50131 -:200DD000BF56CC03CD2BBF56D402BF56D503BF56DC02BF56DD0210282C011F767D0301925B -:200DF00001521F601F765C03AC2B013BBF5610C8008F30DFA9A8AC81A98ABF56C403008F63 -:200E100030DEA9A8AC81A98AAC92AC9301F002910190A8CAC496AC92019CA92D0452E96451 -:200E30001F767D03009209523460008F30DF408F30DEC42BBF56C50108D0BF56CC010ED12E -:200E5000CD2BBF56D404BF56D503BF56DC04BF56DD02BF56E404BF56E505BF56EC04BF56B1 -:200E7000ED04BF56F406BF56FC05BF56940609D0BF5694070AD0BF5694060BD0BF56940601 -:200E90000CD0BF5694060DD0BF569408BF569C08AC2B013B90E50356AC01807652DF008F2C -:200EB00088DF5AFF0156A600A9A8AC81A98AC6C3408F5EDFA9A9C42B0156A500AC92019C07 -:200ED000A92D03E2C5000652E764AC2B013B00BE0356AC01008F42DC0156A400AC92019C85 -:200EF000C4C2A92D1C52F564AC2B013B0356AC01008FC0DE0156A400AC92019CC4C2A92D47 -:200F10002052F564AC2BC0762ED71235408F40D7008F00D90156A5000156A400AC92019C7D -:200F300011F68524A92D185211F68424EF64AC2B1235008FC0DD0156A400AC92019CA92DB9 -:200F5000045211F68424F5641F767D030092A993FF9D01532269A993FD9D015315690752C4 -:200F70000A61095222601F765C03BF56070FBF56080D1B6F1F765C03BF560608BF5607080B -:200F9000BF560808126F1F765C03BF560608BF560710BF560810096F1F765C03BF56060A9A -:200FB000BF560714BF560814BE8B06001F767D0305921F765C030780026104DF00D5013BF3 -:200FD00000D40356A5038076F0D8A4810156A60001DCA492C62B0852F56401DDA59202522C -:200FF000F0641F767D03019204526D61A79200D52D65013BA592A2FF008FF0D8CBFFA594B3 -:20101000A3FFA927A9A8AB81A61E0356AB04A92D019BA592ACEA189A67FFA594C699A988E5 -:20103000A2FFCBFFA594189CA3FFA92701DDA9A8AB81A98A0356AB04A92DA692ACEA019A01 -:2010500066FFC498A792A554D66200D5013B008FF0D803BEA9A8A581A71EA592A672A9A850 -:20107000A681A98A08D001DDC7929496A5920352EF641F767D030192008FF8D8025204602F -:20109000A9280003036FA928000FFC981F767D0305920961408FF0D8A58A0FDCC41AFF00E2 -:2010B000F51A003F1F767D03019206521260408FF0D8A58A0FDCC41A3000FD1A00E0CD1AC3 -:2010D0000030076F008FF8D8C41A0F00F41AFC01008FF0D8A48308DC01DDC51A0100F41AD5 -:2010F0000700FC1A00E00600BDB2BDAABDA203E2BD0403E2BD0503E2BD060CFE1F767D0394 -:201110004496019206520860449206601F765C030B920B2B0C961F765C030792008F30DEC3 -:20113000013B4494A988A9A84481A98A808DC0DBC4924696449201F0019047964492A0FF8D -:20115000A92D499603354896049AAC94A95BA9AAA681A98A457EC44FEDFFBE02008FBCDD7B -:20117000A9A84481A98A64BE4492A672C4E2C405A9AAA681A98A8CE62800408D80DF13E22F -:20119000C40044920356A9010156A1004C1E02E891340BE801E0AFE2C10020E72800407686 -:2011B0009AB2442D008FC0DD1235AFE2C10110E740000156A40003E2C100407638B5013BE5 -:2011D0008CE60000A9AA4481A6BF120FA98A70D0408F2ADD947E4C060156A500A685A9BDB5 -:2011F000120F007700770077007789E60000408D5EDF21E3C5414C0600E70C000156A10022 -:2012100000E72101AFE2C10320E7C80002E8512B0BE8010040769AB2AFE2C10110E74000AB -:20123000007703E2C1004076C2B5013B008F88DF8CE60000A9A84481A98A13E2C4004492D8 -:20125000A940ECFFAA001F765C03CFE62000AFE22A0140762A80452D008F00D912350156A3 -:20127000A400407638B54488008F30DF013BA9A8A681A98A1F765C0303E22C00C492035216 -:20129000086012E8000D14AD046390E503E22C00008F30DFA9A8A681A98AC49202520860C6 -:2012B00012E8B01414AD046390E503E22C0001E8A9FDAFE22C0508E8992740769AB21F761A -:2012D0005C03CFE606000E921660008FC0DB4588013BA9A88CE6280018D0A681A98381DE16 -:2012F000A9A8A681A98A13E295008CE6330018D013E29403013BCFE62000AFE22A01408DF6 -:201310005EDF0356A301AFE6000020E740000156A10000E70100AFE2C10020E7080002E87C -:20133000512B0BE8010040769AB2AFE2C10110E74000007703E2C1004076C2B5013B408F4C -:2013500088DF8CE60000A9A0A381A61EABBF120F68B6C63F4892A772008FC0DBA9A8A7812F -:20137000A61EA9A04681A71EAA286900C792C696A9A04481A71E4892AA72A9A8AA81A61ECB -:20139000AA286A00C792C6964892AA72A9A8AA81A98AC43F116F1F767D03019201520660C3 -:2013B000CFE62000AFE60000036FCFE620001F765C0303E22A00008F88DFA9A84481A98331 -:2013D000A9A84681A98AC8E2C400008F88DFA9A8A381A98A4488C8E2C401008FC0DBA9A8F0 -:2013F000A681A98AC8E2C505432BC492CDFF01F00190008F88DFA959A9A8A681A98A96E6DE -:20141000050096E60D00C8E2C400CFE6290020E7280040769AB201E8C9F400D50CE8D1CCA5 -:2014300094E6080014AD0B651F765C03C8E21000007794E6050014AD026501D54492013B35 -:20145000008F52DF1F765C030356A901412B0156A4001E064076468000520A614393A1CCBE -:201470000100045187FFA818FFFEA8CA4396008F88DF013BA9A8A381A98AC8E2C400CFE67B -:20149000290020E7280040769AB201E8C9F400D50CE8D1CC94E6080014AD0B651F765C032F -:2014B000C8E21000007794E6050014AD026501D5013B008F52DF1F765C030356A301412B15 -:2014D0000156A4001E064076468000520A614393A1CC0100045187FFA818FFFEA8CA43967D -:2014F0001F767D0301920652606047925E60008FC0DB013BA9A84581A98A30D0C8E2940097 -:20151000007794E6060014AD0A654393A1CC0100205187FFA818FFFEA8CA4396008F30DFB3 -:20153000A9A84481A98AC49203522760008FC0DBA9A84581A98A48D0412BC8E2940000D515 -:2015500094E6060014AD026301D54992008F94DF1F765C030356A9010156A4001E06407656 -:20157000468000520A614393A1CC0100085187FFA818FFFEA8CA4396008F30DF013BA9A882 -:201590004481A98AC49202521060008FC0DBA9A84581A98A48D0C8E29400007794E6060068 -:2015B00014AD0365431A10004492015204610352E0FF87004392E1FF84001F767803089259 -:2015D0007F601F7678032A060C192C0F036728062C1E2C8A8CE62000A9A801092C1E13E2B8 -:2015F000C4002C8A1F765C03AFE22A00A9A81F7678038CE6000001092C1E13E2C4002C8A1C -:201610008CE62B00A9A801092C1E13E2C4032C83013B008F88DFA9A001092C1EA9A8448128 -:20163000A71EC792C5962C83A9A001092C1EA9A84681A71EC792C5962C83A9A001092C1EF8 -:20165000A9A8A381A71EC792C5962C8A1F765C03A9A80109AFE22C001F7678038CE6000048 -:201670002C1E13E2C4002C8A8CE63200A9A801092C1E13E2C4022C83008FC0DBA5C4A9A80A -:201690004481A71E01DE70DF2CC2C792C5962CC5A70601092C1E1F765C0310921F76780348 -:2016B000C7962CC5A70601092C1E4392C7962CC5A70601092C1E1F765C030E92C7961F7621 -:2016D0005C030E921560AD5C459283DCA45C407600800E6F008FC0DBA9A8A681A983A9A875 -:2016F000A681A98AC52B18D0C51A0080942B8CFEAFE2BE06AFE2BE05AFE2BE04BE82BE8680 -:20171000BE8B06001B76F0FF00E2BD0030E60006422916562576006F1B76F0FF00E2BD002F -:2017300030E6000602FE422916561F7633003892419623760008267600003892382B21288A -:20175000FFFF1029103B419238962576006F1B76F0FF00E2BD0030E6000602FE422916563A -:201770001F763300389241962376000826760000381890002128FFFF1029103B4192389667 -:201790002576006F1B76F0FF00E2BD0030E6000602FE422916561F7633003892419623761B -:2017B000000826760000381890002128FFFF1029103B419238962576006F1B76F0FF00E2BD -:2017D000BD0030E6000602FE422916561F76330038924196237600082676000038189C00B7 -:2017F0002128FFFF1029103B419238962576006F1B76F0FF00E2BD0030E6000602FE4229BD -:2018100016561F76330038924196237600082676000038189E002128FFFF1029103B41921A -:2018300038962576006F1B76F0FF00E2BD0030E6000602FE422916561F763300229241965B -:2018500023760101221868002128FFFF1029103B419222962576006F1B76F0FF00E2BD00BC -:2018700030E6000602FE422916561F76330022924196237601012292222B2128FFFF1029F6 -:20189000103B419222962576006F1B76F0FF00E2BD0030E6000602FE422916561F7633007E -:2018B000229241962376010026760101221878002128FFFF1029103B419222962576006F43 -:2018D0001B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF00E2BD0030E66E -:2018F00000064229165610292576006F1B76F0FF00E2BD0030E600064229165610292576D2 -:20191000006F1B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF00E2BD00D4 -:2019300030E600064229165610292576006F1B76F0FF00E2BD0030E6000642291656102916 -:201950002576006F1B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF00E2B6 -:20197000BD0030E600064229165610292576006F1B76F0FF00E2BD0030E600064229165652 -:2019900010292576006F1B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF1F -:2019B00000E2BD0030E600064229165610292576006F1B76F0FF00E2BD0030E6000642299C -:2019D000165610292576006F1B76F0FF00E2BD0030E6000602FE422916561F7633002292BA -:2019F000419623760100267601012292222B2128FFFF1029103B419222962576006F1B76D6 -:201A1000F0FF00E2BD0030E6000602FE422916561F7633002C924196237620002676390149 -:201A30002C922C2B2128FFFF1029103B41922C962576006F1B76F0FF00E2BD0030E60006DC -:201A500002FE422916561F7633002C92419623762000267639012C1832002128FFFF1029BD -:201A7000103B41922C962576006F1B76F0FF00E2BD0030E6000602FE422916561F76330092 -:201A90002292419623760100267601012218F8002128FFFF1029103B419222962576006FE1 -:201AB0001B76F0FF00E2BD0030E6000602FE422916561F763300229241962376010026767B -:201AD00001012218FA002128FFFF1029103B419222962576006F1B76F0FF00E2BD0030E62B -:201AF000000602FE422916561F763300309241962376800026760000301803002128FFFF51 -:201B10001029103B419230962576006F1B76F0FF00E2BD0030E6000602FE422916561F76E7 -:201B30003300329241962376000126760001321875002128FFFF1029103B419232962576D0 -:201B5000006F1B76F0FF00E2BD0030E6000602FE422916561F7633003292419623760001F7 -:201B7000267600013218FD002128FFFF1029103B419232962576006F1B76F0FF00E2BD00E2 -:201B900030E6000602FE422916561F7633003092419623768000267600002C18230021287C -:201BB000FFFF1029103B419230962576006F1B76F0FF00E2BD0030E6000602FE42291656DE -:201BD0001F763300329241962376000126760001321871002128FFFF1029103B419232963A -:201BF0002576006F1B76F0FF00E2BD0030E6000602FE422916561F763300329241962376BD -:201C10000001267600013292322B2128FFFF1029103B419232962576006F1B76F0FF00E223 -:201C3000BD0030E60006422916562376390110292576006F1B76F0FF00E2BD0030E6000693 -:201C5000422916562576006F1B76F0FF00E2BD0030E600064229165610292576006F1B76AD -:201C7000F0FF00E2BD0030E6000602FE422916561F7633002C9241962376200026763901E7 -:201C90002C1837002128FFFF1029103B41922C962576006F1B76F0FF00E2BD0030E6000614 -:201CB00002FE422916561F7633002C92419623762000267639012C922C2B2128FFFF1029BC -:201CD000103B41922C962576006F1B76F0FF00E2BD0030E6000602FE422916561F76330030 -:201CF0002C92419623762000267639012C1833002128FFFF1029103B41922C962576006FCF -:201D10001B76F0FF00E2BD0030E6000602FE422916561F7633002C924196237620002676EF -:201D300039012C1822002128FFFF1029103B41922C962576006F1B76F0FF00E2BD0030E654 -:201D5000000602FE422916561F76330038924196237600082676000038189F002128FFFFBA -:201D70001029103B419238962576006F1B76F0FF00E2BD0030E6000602FE422916561F767D -:201D900033003892419623760008267600003892382B2128FFFF1029103B419238962576EE -:201DB000006F1B76F0FF00E2BD0030E60006422916562576006F1B76F0FF00E2BD0030E653 -:201DD0000006422916562376390110292576006F1B76F0FF00E2BD0030E6000642291656EE -:201DF0002376391110292576006F1B76F0FF00E2BD0030E600064229165610292576006F58 -:201E10001B76F0FF00E2BD0030E6000602FE422916561F763300309241962376800026768A -:201E30000000301801002128FFFF1029103B419230962576006F1B76F0FF00E2BD0030E6A6 -:201E5000000602FE422916561F7633003092419623768000267600002C922C2B2128FFFF23 -:201E70001029103B419230962576006F1B76F0FF00E2BD0030E6000602FE422916561F7684 -:201E900033002A92419623761000267610012A922A2B2128FFFF1029103B41922A9625760C -:201EB000006F1B76F0FF00E2BD0030E6000602FE422916561F7633002A924196237610008D -:201ED000267610012A1802002128FFFF1029103B41922A962576006F1B76F0FF00E2BD007A -:201EF00030E6000602FE422916561F76330024924196237602002676000024181F002128AF -:201F1000FFFF1029103B419224962576006F1B76F0FF00E2BD0030E6000602FE4229165686 -:201F30001F763300269241962376040026763D012692262B2128FFFF1029103B4192269660 -:201F50002576006F1B76F0FF00E2BD0030E6000602FE422916561F76330024924196237667 -:201F700002002676000024180F002128FFFF1029103B419224962576006F1B76F0FF00E2A4 -:201F9000BD0030E6000602FE422916561F763300269241962376040026763D01261826004F -:201FB0002128FFFF1029103B419226962576006F1B76F0FF00E2BD0030E6000602FE422907 -:201FD00016561F7633002492419623760200267600002492242B2128FFFF1029103B419256 -:201FF00024962576006F1B76F0FF00E2BD0030E6000602FE422916561F76330026924196A4 -:202010002376040026763D01261826002128FFFF1029103B419226962576006F1B76F0FFF1 -:2020300000E2BD0030E6000602FE422916561F763300249241962376020026760000241836 -:2020500008002128FFFF1029103B419224962576006F1B76F0FF00E2BD0030E6000602FECB -:20207000422916561F763300269241962376040026763D012692262B2128FFFF1029103BD7 -:20209000419226962576006F1B76F0FF00E2BD0030E6000602FE422916561F763300249207 -:2020B0004196237602002676000024180C002128FFFF1029103B419224962576006F1B76C7 -:2020D000F0FF00E2BD0030E6000602FE422916561F763300269241962376040026763D01A1 -:2020F0002692262B2128FFFF1029103B419226962576006F1B76F0FF00E2BD0030E6000628 -:2021100002FE422916561F76330024924196237602002676000024180E002128FFFF102982 -:20213000103B419224962576006F1B76F0FF00E2BD0030E6000602FE422916561F763300D3 -:20215000269241962376040026763D0126183E002128FFFF1029103B419226962576006F89 -:202170001B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF00E2BD0030E6C5 -:20219000000602FE422916561F76330028924196237608002676080128180F002128FFFF1D -:2021B0001029103B419228962576006F1B76F0FF00E2BD0030E6000602FE422916561F7649 -:2021D000330028924196237608002676080128180F002128FFFF1029103B4192289625769F -:2021F000006F1B76F0FF00E2BD0030E6000602FE422916561F763300289241962376080054 -:2022100026760801281803002128FFFF1029103B419228962576006F1B76F0FF00E2BD0041 -:2022300030E6000602FE422916561F76330028924196237608002676080128180300212870 -:20225000FFFF1029103B419228962576006F1B76F0FF00E2BD0030E6000602FE422916563F -:202270001F7633002A92419623760800267608012892282B2128FFFF1029103B4192289644 -:202290002576006F1B76F0FF00E2BD0030E6000602FE422916561F76330028924196237620 -:2022B000080026760801281802002128FFFF1029103B419228962576006F1B76F0FF00E257 -:2022D000BD0030E6000602FE422916561F76330032924196237600012676000132187500E5 -:2022F0002128FFFF1029103B419232962576006F1B76F0FF00E2BD0030E6000602FE4229B8 -:2023100016561F7633003292419623760001267600013292322B2128FFFF1029103B4192E8 -:2023300032962576006F1B76F0FF00E2BD0030E6000602FE422916561F7633003292419646 -:202350002376000126760001321831002128FFFF1029103B419232962576006F1B76F0FFCB -:2023700000E2BD0030E6000602FE422916561F76330032924196237600012676000132925D -:20239000322B2128FFFF1029103B419232962576006F1B76F0FF00E2BD0030E6000602FE25 -:2023B000422916561F7633002E92419623764000267600002E922E2B2128FFFF1029103B7E -:2023D00041922E962576006F1B76F0FF00E2BD0030E6000602FE422916561F7633002E92B2 -:2023F000419623764000267600002E1828002128FFFF1029103B41922E962576006F1B7616 -:20241000F0FF00E2BD0030E6000602FE422916561F7633002E924196237640002676000057 -:202430002E1820002128FFFF1029103B41922E962576006F1B76F0FF00E2BD0030E600067F -:2024500002FE422916561F7633002E92419623764000267600002E1838002128FFFF1029C3 -:20247000103B41922E962576006F1B76F0FF00E2BD0030E6000602FE422916561F76330086 -:202490002E92419623764000267600002E1838002128FFFF1029103B41922E962576006F36 -:2024B0001B76F0FF00E2BD0030E6000602FE422916561F7633002E92419623764000267626 -:2024D00000002E183E002128FFFF1029103B41922E962576006F1B76F0FF00E2BD0030E6C7 -:2024F0000006422916562376390110292576006F1B76F0FF00E2BD0030E6000602FE422933 -:2025100016561F763300229241962376010026760101221848002128FFFF1029103B419294 -:2025300022962576006F06000052A888C48A096509520763FF9CC4CDF8FF0790A8CAC4963A -:20255000A69245520D614E5208614F520D60C41A2000C418BFFF086FC418DFFF056FC41AFC -:202570002000C41A4000A59201520360C4187FFF02520360C41A8000C418EFFFC418F7FF15 -:202590000600BDB200D5013B008F40DEA9A8A581A98AC47D01DDA5924652F76433D1008F72 -:2025B00040DE34D0BF569C0CBF56940C1F76400335D03BD1BF56940836D0BF56940937D01E -:2025D000BF56941038D0BF56940839D0BF56940C3AD0BF56940C3DD0BF569C053CD100929A -:2025F000FE9C949641D00092FF9C94963ED0BF56940810D0BF56DC08BF56F408BF56940D40 -:20261000BF56EC1BBF569C12BE8B0600A9BD120F00770077BDB21F7671038BE60100A48BEE -:2026300050E8094088E23C0040769AB288E6000000770077A9BF120FC18AA993B7FFFF91AF -:20265000D497C18AFF90DC96BE8B06000852A927A4C50960089A01D54E9B40762190008D13 -:202670003B03972BAB9209520B60089AA78A01D54E9B40762190008D3B03BF5697010600D0 -:20269000A71EBDB2A492BDAA0152BDA22A60008F5070C08D40D01F76410300A822761F76C3 -:2026B000BE01408F49B109CDFFF7A81A0004008F04B1099709CDFFFD1F763700A81A0001AB -:2026D00000A01F76BE0109971F76370002A81F763300321A0100321A0200237600011A7653 -:2026F00002523360008F5077C08DC0D31F764F0300A82276408F806F1F76BE01FDCDFFEFBC -:202710008076BFB0A58AA81A0020079716DD07CDFF3F1ADCA81A008007971F763700C51811 -:20273000CFFF408F7AB0C41A040004C21F763300321A04001F76370006A01F763300321A7C -:202750000800237600011A76D396A38A01D54E9B69FF089AC38640762190A2C4A2830BD0C2 -:20277000A28A0CDE0CDDC61A00400ADCC518FFDFCA18BFFFCA18DFFFCA18F7FFCA18FBFF75 -:20279000CA1A0200CA1A0100C418FFBF92CCE0FF0BD00150929640764E90A38AA70640760F -:2027B0009390D392025205601F76BF01081A0400C38A099ABF56E402A38A4076B390408D6F -:2027D00033030CD0932BA28A008D9E01932B9B2B0BDCC41A4000CA1A2000BE82BE86BE8B67 -:2027F00006001F764103BF5602011F764F03BF5602021F764003009606000002008D42038A -:20281000941E0600BDB2BDAAA486008D3A0392923660A9AA13FF6700A98A008D36030102A4 -:202830000156C4009206008D3803920F0466C28ABF56E40208D092C5A7C408D0090201DE5F -:2028500092C2C207A98A008D3603C792C4969206008D3803920F4966C28AE446FE6CA28AE3 -:20287000099A4076B390D292025205601F76BF01081A0400008D9E01922B376F008D3803BD -:20289000928A408D3803A492008D36030190A98801DC9AA89206008D3803920F0466C28A70 -:2028B000BF56E402A6920B6008D092830902C207A98AC592A7FFFF90C4960D6F08D0928327 -:2028D000A5C408D0090201DE92C2C207A98AC592FF90C496008D36039206008D3803920F66 -:2028F0000466C28AE446FE6C1F763300211A0001BE86BE8B0600BDB200BEACA0BDAAA486DD -:20291000BDA2A98201DEA61B3075FD69D292025205601F76BF010818FBFF00BE01DEA61B88 -:202930001027FD69408D3603A9AB08D09AA20109921E008D3A03922BC28AE446FE6CA28A2F -:20295000089A4076B39001BE008D38030102A30F92C21C68A7AB0902C207A98AC792C496AC -:20297000C28AE446FE6C00BE01DEA61BE803FD69A28A099A4076B390D292025210601F7633 -:20299000BF01009A081A04000B6FC28A0902A7ABBF56E401C207A98AC792C496009ABE8201 -:2029B000BE86BE8B0600BDB2BDAAA486EFFF2A01C28AFCCCFF00A958EC47EDFF1D01408D3D -:2029D000A0019A92E0FF1E01408D3B039A920152116000BE408D3D03BF569A01408D3403A2 -:2029F0009AC2408D3F039A2B408D3E039A2B0DD19A2B408D3F039A92E0FF0401408D3D03F5 -:202A10009A924F60F2C4208F0000A9A8A60F06662F8F0000A9A8A60F0867608F00000AD1F7 -:202A3000208F0000F2A09AA80CD19A923A52E0FFE900408DA0019A922E60408D34039AC41C -:202A5000A692A94001DE9AC2066DF28A0356A008C496076FF28AA9A80109F21EA092C498D5 -:202A7000008D34039206E20FE8FFCC000FD10CD0BF569A33A28A099ABF5692334076B39006 -:202A9000408D3F03008DA001BF569A01BF569201EFFFB800008D3F03BF569201EFFFB200D4 -:202AB000408D3E039A923E60A0921F760403115425611F767E031954036019921F60A0883D -:202AD000408D31039A0EA60F0560408D33039A921560A0921F767E03185407601892056154 -:202AF000408D33039A920A61408D3F03008D3D03BF569A01922BEFFF8500408D32039A785C -:202B1000408D3E039A80019A013BA7949A96A9AAA781A98A0ED1089A9C78A28A4076B390D3 -:202B3000706F9A80019A013BA7949A96A9AAA781A98A0ED19C78408D3E039A9207520E60A8 -:202B50000DD19A9210520A60408D33039A9206600A9A1F767903A0941096408D3E039A9231 -:202B700002521A60A0920DD103529A78336842523166008F40DE949203522C68A0923352C7 -:202B90000B600CD19A923A522560A09233520460008D3D03922B0DD09258408D3E03008F97 -:202BB00040DE9A9294540467A91B90012A68A28A099A4076B390408D3D039A2B0DD0408D3D -:202BD0003F03BF569A01408DA001BF569A01922B186FA28A099A4076B390408D3E039A2BF6 -:202BF0000DD0408D3D03BF569A01408D3F039A2B922B076FC28ACC18DFFFC28ACC1A2000C4 -:202C1000C28AEC46EDFFD6FE1F7633000BDC211A0001C41A4000BE86BE8B0600BDB2BDAAF4 -:202C3000A486A61EBDA2A582D292025205601F76BF010818FBFF408D360308D09AC292A216 -:202C5000008D3A03BF569201C28AE446FE6CA28A089A4076B390008D38030102921EC2838B -:202C700000BE0902BF56E501C207A98AC392A7FFFF90C496A692BE82BE86BE8B06002276FD -:202C90001F767D0316D0008F806F079294CDFCFF03901F76BE0118D0A8CA16961F767D03B4 -:202CB000089294CDFCFF03901F76BE011AD0A8CA18961F767D030992019094CDFEFF1F76E9 -:202CD000BE01A8CA1BD01A961F767D030A9201901F76BE0194CDFEFFA8CA1B961A7669FF09 -:202CF000060016D0008F806F1F767D039492039018D00796949203901AD00896949201900F -:202D10001BD00996949201900A9622761F76BE011618FCFF1818FCFF1A1A01001B1A010017 -:202D30001A7669FF06001F767D03019302531660008F880A1F76BF01A94002A8036C041A7B -:202D50000008A941036C041A0002A942036C041A8000A943036C041A080003533B60AB28A5 -:202D7000CB0BAA2800091F76BF01248F0000005202A90AA80360041A000801520360041A7E -:202D9000000202520360041A800003520360041A080004520360041A020005520360041A3D -:202DB000000106520360041A400007520360041A010008520360051A000809520360051A4D -:202DD00000010A5203600D1A20000B5203600D1A040001531E60AB2BAA28000B1F76BF0117 -:202DF000128F0000A94004A90CA8036C031A0008A941036C031A0001A942036C031A000254 -:202E1000A943036C0B1A0200A944036C0B1A1000060022761F76BE01408F806F06180000C1 -:202E30000F8F00F0A5C4071800FF08183F00091800FF1BDD0BDE1606A918C0FF161EA9A8EC -:202E500018C0A89219C0C618EFFF0B18DFFF0B18BFFFC518F7FF1A76008FC06F1F767D0393 -:202E7000BF56000109D0CC92C4FF01F0019000721F76BF010192C3FF1F767D0301F00190FD -:202E900080FF00721F76BF010192C5FF1F767D0301F0019081FF00729492C2FF01F0019093 -:202EB00082FF009400960352036104520360BF5601010152036102520360BF5601030552F0 -:202ED000036106520360BF56010607520360BF56010208520360BF560104095209610192A4 -:202EF000015208610552066106520461056FBF560105BF56060101920152036106520360DB -:202F1000BF5605010252036103520360BF5603010152036105520360BF56020101520361BD -:202F300003520360BF56040202520360BF56040103520F6101520D61065206611F76BF0143 -:202F50000D1A00100A6F1F76BF01021A8000056F1F76BF010B1A001006520E61035209613C -:202F7000015204610D1A0080096F0B1A0080066F0B1A0040036F021A800006520B610452C3 -:202F90000961025204610B1A0004066F0B1A0040036F021A000206520661045204610B1ACC -:202FB0000020036F021A0800227604520A6204522461015240610252346103522661446FAA -:202FD0000552116106524060088F8A021F76BE01059AA82801FC0AA81A1E1F76BF01021AE2 -:202FF0000800326F088F00001F76BE01049AA82801BC0AA81A1E286F088F49031F76BE014A -:2030100005020AA81A1E206FA928CB0BA82808091F76BE010A1E059AA828257C1A1E146F51 -:20303000088F8A0B1F76BE01059AA82801F80AA81A1E0A6F2FFF10161F76BE010A1E059AC6 -:20305000A82813BC1A1E1A7669FF0600BDB2BDAABDA202FE1F767D03019200D200D30252B5 -:2030700032601F76BF0116D0008FC0DB0992C1FF94CDFEFF01F016D116D00190A8CAA9CD59 -:20309000FDFF949616D0099203F01F766F030290A8CA9C9600CDFFF39492039089FFA8CAD7 -:2030B00000961F76BF010040036C0102A9860042026C02DA004A026C04DA0044026C08DA7E -:2030D00010D0947A1F767D03019201523160408DC0DBA18A1F76BF01A183877620A116DCAA -:2030F000C418FDFF16DD0992C3FFA18A03F00290C59816DCC418FBFF0992412B008F4CDF02 -:20311000C1FF01F00190A95DA606407646800356A902A18A1F766F0316D0079016DCC4982E -:2031300000CDFFE79192069089FFA8CA00961F767D03019204525B60408DC0DBA18A1F76A2 -:20315000BF0116DCC418FEFF01CC0004C9FF412BA95D008F4CDF20FFE8034076468016D99A -:203170001F76BF010190C198014B026C01DA0148026C02DA0945026C04DA0942026C08DAA3 -:20319000014A026C10DA0147026C20DA0944026C40DA0044046CA9AA8009A9860149056C7D -:2031B000A9AA18FF0100A9860941056CA9AA19FF0100A986004B056CA9AA1AFF0100A986B7 -:2031D0000045056CA9AA1BFF0100A9860940056CA9AA1CFF0100A986004A056CA9AA1DFF0A -:2031F0000100A98610D0008FC0DB947A1F767D030192065210601F76BF010046026D01DA22 -:203210000048026D02DA004B026D04DA10D0008FC0DB947A1F767D0301920552E0FF8900F4 -:203230001F76BF010945036D01DA026F10DB0944036D02DA026F40DB0042036D04DA056F0B -:20325000A9A21CFF0100A9820044036D08DA056FA9A21DFF0100A9820046036D10DA056F1B -:20327000A9A21EFF0100A9820040036D20DA056FA9A21FFF0100A9820048036D40DA056FB1 -:20329000A9A21FFF0200A982004A056DA9AA8009A986056FA9A21FFF0400A9820043066DFF -:2032B000A9AA18FF0100A986056FA9A21FFF0800A9820045066DA9AA19FF0100A986056F8D -:2032D000A9A21FFF1000A9820047066DA9AA1AFF0100A986056FA9A21FFF2000A98200417B -:2032F000066DA9AA1BFF0100A986056FA9A21FFF4000A982004B066DA9AA1CFF0100A9860A -:20331000056FA9A21FFF8000A9820049066DA9AA1DFF0100A986056FA9A21FFF0001A982B1 -:203330001F767D0310D0008FC0DB10A2947A008FC06FCC92013B1F76BF01C4FF01F00190AC -:2033500009D0A985A9860192C3FF01F0019080FFA9850156A2000192C5FF01F0019081FF51 -:20337000A9850156A2009492C2FF01F0019082FFA9850156A20017D0008FC0DB82FE947A66 -:20339000BE82BE86BE8B06001F76BF0100920093C5FFD7FF01F001F10190019190FFA9CB2D -:2033B0000092CAFF01F0019081FFA8CA060009D0008FC06F1F76BF0194CD0004D9FF09CC2A -:2033D000004090FFCDFFA9CBC492C2FF01F0019081FFA8CA06001F767803BDB20B93A988EF -:2033F0000153BDAAE0FFEC001F767D0301930653E0FFE6001F765C030D93E0FFE1001F7687 -:203410007803099308CBE0FFD9007FD0008FC0DB179394271660AB46036C1B46086CAB477F -:20343000036D1B47046D00530C600F6F0C1B900103680C288F01182B1728E803A61A0001E7 -:203450000C1B1F03E7FFB700A6920552056018930361A61A0002AC28200311300E0DA98A2B -:2034700034FFA71E608F0000A9A832FFA7070156A5002406C5962406CD97D57EDD3F4076F1 -:203490005197E596407664971F767D03008FC0DBA4C5ED9632921F767D037BDFF596308867 -:2034B0001CDC08D009D1FD7EC792A4C5008FC0DB959600D0C7929D96A9A80AD1A00DA71EC6 -:2034D000A61EA092A17218DFC7929D96A092A6C50ED1A17201D8C7929D96A0920452ED687F -:2034F0001F76780312D01992C076A4DF13D1959614D0C7929D9615D1CF92959616D0D79226 -:20351000A4C59D9618D11A921F767C0379DF959617D01892959619D0BF569D06BF569510BC -:20353000C792A4C51AD178DF9D96C792A4C51BD07ADF95961CD0C792A4C51ED11F76780366 -:203550006EDC6FDF95961DD0C792A4C5008FBCDD95961FD0C7929D9620D11E92959621D05E -:203570001F929D9622D12092959600D021929D9623D122929D9624D1A092A172949301D8BC -:20359000A0929D970452F8681F7678031B3FE5921C96A9282003ED930E0A1D970E54026068 -:2035B0000E2B0C1B200302670C0A010201562600066FBF561801036FBF560B03BE86BE8BB4 -:2035D0000600BDAAAA280100A888A9800876303BBE5AA75D008F0010A9A8A50F2B60A693D5 -:2035F0005461A75DA9A8A50F2560A693015322601F767D03019206521D601F765C030D9259 -:2036100019601F7678030B92015214610C2BC076C0DB0E2B172B162B0D2B7FDF102BC792BE -:203630001B96092B082B019ABF560B0140767897316FA75D20FF0110A50F0B601F767803DE -:203650000B9201520661A6930461A61BE8031B69A75D20FF0210A50F0460A61B20030F688D -:20367000A78020FF0310A70F0860A692015205661F767803167E0E6FAA2B0C6F1F7678034C -:203690000D7E086F0F7E066F1F767803BF560B03172BBD7A0076AA92BE8606001F7678035E -:2036B0000C9311880E92150A111C0100172B0C2B1397127E14960E2B06000876303BBE2F63 -:2036D0001F7678030B9201521860010201562400100A0F9210540566102B019A40767897BF -:2036F0001F76780317920961FF9C17960660059A407678974076DB98BD570076060008764E -:20371000303BBE2F049A40767897BD57007606000052A88005611F7678031393046F1F76B0 -:2037300078030C93005203611488026F0E88005203611227026F1127A7550366009A1B6FE5 -:20375000A692A89EA794A9082003A91B20030668A908E0FCA91B2003FC67AC28007DAB3272 -:20377000AC282800A930AB07A40D208F00000156A400C4920600A988A693A80800F00F538F -:203790003B660356A601C0763AC1A927AB0800E0A706AB0DA71EC7C52076A9284D55EFFF37 -:2037B000A000029AEFFF9D00289AEFFF9A00A9282003EFFF96001F7678030F92EFFF910040 -:2037D0001F7678032406EFFF8C001F7678032406A80EEFFF86001F767D030192EFFF8100AA -:2037F0001F767D0300927C6FA928E803796F1F7678031792756FA61B10105D68A61B8810E7 -:203810001D671F767803169304600B9301531661A692A908F0EFA988AC28CDCCA636AC2878 -:20383000150022560D93A92D2831A692AC95ABEAAB5C169240761599536FA61B00113B68C4 -:20385000A61B7C1138671F7678030C9303530468AB280300026F0C27A60800EF2606AB010B -:20387000A71EA6920360A7923B6F01520460A706A80E366F02520360AB92326F03520560E7 -:203890001F76780315922C6F84DEAC28CDCCA636AC2815002256A92DAB92AC540C690C9393 -:2038B000A692AB9F2831ABEAAC95AB5C009A40761599166F009A146F1F7678031692056182 -:2038D0001F76780313920C6F0C920A6F1F76780316920361039A046F1F7678030B920600B2 -:2038F0001F7678030B92015227601F767D030192065222600876303BBE2F7FD0008FC0DB60 -:2039100094881F7678031B0EA60F116040765197A9881F7678031C0EA60F09604076649744 -:20393000A9881F7678031D0EA60F0461039A40767897BD5700760600A9881F7678030B9221 -:20395000015217601F767D030192065212600876303BBE2F1F767803197E8076A4DF029A89 -:20397000C697CE7CD67D1A0A40767897BD5700760600608F00001F767803208F00FA28A054 -:203990002AA828062C1E2E2B2806046FA98A842BA9A81F7678032A0FFA6806000600A983BD -:2039B000C57C0600BDB2BDAABDA206FE1F767803A482BF5608010EDCEC92FF90A95AE492B3 -:2039D000FF90A988A9AA37FFA6AFA986DC92FF90A988A9AA37FFA6AFA986D492FF90A988A9 -:2039F00009D0A9AA37FFA6AFA9869492FF9008D0A9599492FF90A988A9B237FFA6AFA98B42 -:203A1000FC92FF90A988008D3203A9B237FFA6AFA98BF492FF90A988408FFFFFA9B237FFC8 -:203A3000A6AFA98BA9A210FFA101A71E441EA98A9392C7960202BF56CC3440764CB3A90E90 -:203A5000461EA28A465DA9B2407622B3419644830102A38A4076089244830102A38ABF5613 -:203A7000C534407608924192A90E461EC38AE446FE6CA9B2A38AA28340769B93C38AE44616 -:203A9000FE6CA9A210FFA101A983A38A4692A993FF91A7FFFF90C597CD960602D52BDD2BAF -:203AB0004076089286FEBE82BE86BE8B060006000600A98AC4920600A988BDB21F7671030B -:203AD000A9A8008D3203A48BBF560101BDAA10FFA101408FFFFFA71EA986A98A9193C797EF -:203AF0000202CF7E40764CB3A9CDFF00A283A7FFFF90A18AD597DD960602E52BED2B4076F1 -:203B10000892BE86BE8B0600BDB202FEA48B0EDCEC92FF90A980E492FF90A988A70637FF91 -:203B3000A6AFA71EDC92FF90A9880129A70637FFA6AFA71ED492FF90A988412BA70637FF91 -:203B5000A6AFA71EFC92FF90A9934196F492A838419620FF0080A70F0666A706415C40760D -:203B70005C9A086FAD5CA792029B81DCA45C407685A1399AA18A4076E99A82FEBE8B0600AA -:203B9000BDB2BDAA02FE1F767103A486BF5601010EDCEC92FF90A980E492FF90A988A706F2 -:203BB00037FFA6AFA71EDC92FF90A988A70637FFA6AFA71ED492FF90A988A70637FFA6AF1C -:203BD000A71E012920FF0080A70F0666A7064076E69A4196086FAD5CA792029B81DCA45CB8 -:203BF0004076C8A1A9AA008D320310FFA1011F767C03A71EA98BA98A9292408FFFFFC79642 -:203C1000BF56CF384192FF90D7964192A7FFFF90DF961292A9CDFF00A7FFFF90E197E996E7 -:203C3000060240764CB3A9CDFF0009D0A7FFA183A28AFF9008D1F597FD960A029D2B952B58 -:203C50004076089282FEBE86BE8B060002FEA61EAC281F00013B2256A60740FF0156A4009F -:203C7000C492A640036CFF90036FA7FFFF9082FE0600BDB2A48BBDAAE1C50AD09183A70687 -:203C9000A58A02194076B39BA927A706A58A01194076B39BA1C5008D3203408FFFFF0EDF1A -:203CB0000356A908AB94A95AA78A9192C7960202BF56CF3340764CB30AD0A95DE106918A45 -:203CD0000219407622B3A988A20EA60F1061008D3C03912BD192025205601F76BF01081A0C -:203CF0000400A18A099A4076B390096FA18A339A4076E99A008D3C03BF569101BE86BE8B40 -:203D10000600A4830EDDED92FF90A980E592FF90A988A70637FFA6AFA71EDD92FF90A988E1 -:203D3000A70637FFA6AFA71ED592FF90A98809D0A70637FFA6AFA71E9592FF9008D0A90E34 -:203D5000E41E9592FF90A988E40637FFA6AFE41EFD92FF90A988E40637FFA6AFE41EF592A6 -:203D7000FF90A988E40637FFA6AFE41E02020156E4000AD01F7678033A9AF4C394C3BF56DC -:203D900008014076E99A06000600BDB2BDAABDA2A482008DA00193923D61408DA0010FD02C -:203DB0009B2B935A008F40DE013BA9A8A281A98AC49203523268A91B90012F66A2923352C8 -:203DD0001A61008F40DEA9A8A281A98AC458A059408FFFFFA38A82D981D8A1880EDC0356D5 -:203DF00094089CCAA959A60640764CB3A188A90EA60F05600CD0A292937A1C6FD3920252F3 -:203E100005601F76BF01081A0400A38A099A4076B390A928FFFF0E6FD392025205601F76EA -:203E3000BF01081A0400A38A099A4076B390A928FFFFBE82BE86BE8B0600BDB206FEA48B7F -:203E50000EDCEC92FF90A90E421EE492FF90A988420637FFA6AF421EDC92FF90A988420665 -:203E700037FFA6AF421ED492FF90A98809D0420637FFA6AF421E9492FF9008D0A90E441E6F -:203E90009492FF90A988440637FFA6AF441EFC92FF90A988440637FFA6AF441EF492FF905B -:203EB000A9880DD0440637FFA6AF441E9492FF900CD0A90E461E9492FF90A9880BD04606F4 -:203ED00037FFA6AF461E9492FF90A9880AD0460637FFA6AF461E9492FF90A9880ED04606D8 -:203EF00037FFA6AF461E94CCFF0004520A61055212604206448A46C4A6934076C8A1076FEC -:203F10004206448A46C4A693407685A13C9AA18A4076E99A86FEBE8B0600BDB200BE00D052 -:203F3000408FC0DBAA2B008F80DCA9A8A00DA98A9580C427A70EAB0F0361C47F01BE01D868 -:203F5000A0928052F168A6921061408D80DC809AA18A40765DB380D0A82802019196A18AA2 -:203F7000A9287E3F407685A1BE8B0600A888A927BDB2A9A8A48B1F767E03BDAA10FFA1015B -:203F9000408FFFFFA71EA986A98AAB9219278050C73FCF960302D77E40764CB3A9CDFF00E1 -:203FB000A7FFA283008D9E01FF90A18ADD97E5960502BF56910140760892BE86BE8B0600C0 -:203FD000BDB2BDAAA486008DA10100D5A9AAA50DA71EA9AAA50DA98A01DD0EDFC79294967D -:203FF000A5920852F468A28A0EDC0356D408DCCAA9590356E408ECCAA993A11B0010126755 -:20401000A19280520967008FC0DB7F529C97156040760C99126F069AA28A029B4076439D9D -:204030001E6FA19240766E9800520760069AA28A039B4076439D136F008D9E01A11B0010C1 -:20405000BF569201036808BE026F0ABEA9AAA28A10FFA101A983A60640760892BE86BE8B59 -:204070000600BDB2BDAABDA204FEA4860EDC0356D408DCCA42960356E408ECCA4396412BEC -:20409000FF9C7D52E7FFB600429280520567809A429E435426674292A91B0010E8FFAA00A1 -:2040B000A91B0F100666A9281010429E435419674292A91B1010E8FF9D00A91B88100667B4 -:2040D000A9288810429E43540C674292A98820FF0011A60FE0FF8E0043927C52E0FF8A001A -:2040F000A9AA10FFA101A71E1F767E031992C79643920356A901BF56CF03D796421B001030 -:2041100005680876303BBE924196439200D327614292A91B00100767A358A072008FC0DB95 -:204130009488066FA392429440764899A9880356A301A98003D1A9AA10FFA101A98AA793A0 -:20415000A17304D0A693D7FF9C97A793A073A6CCFF0001DB94964392A354DB66421B0010E7 -:2041700004684192BD96007643920356A9014196A993408FFFFF039AA894A959A9AA10FF32 -:20419000A101A982A98AA10E40764CB3A9CDFF0004D09B974193A073A7FFFF9005D1939615 -:2041B0004192A172069A4194A988079A9B2BA6594194A99341929B2BA85908D0A0729B2BA2 -:2041D000932B008D9E01BF569201421B0010036805BE026F08BEA9AA10FFA101A28AA9830F -:2041F00043920356A901A694A90E40760892066F039A029BA28A4076439D84FEBE82BE861F -:20421000BE8B0600BDB210FEAD5C89DCA45DAD5CC07600C18FDCA45C08F6852400D0C0763B -:2042300009C105F68424008FC0DB942B01D8A0928052FC68A4C51F767D0300921F767D03B2 -:204250007EDFC79601920452086160D162D0BF569C0ABF569408116F1F76700300D0BF5606 -:204270002002AD5C8FDCA45C9492008F22DC949601D8A0920652F6681F767D0306921F76B8 -:204290007003BF5621651A611F767D0300880092095283DE026004BE00D00129008F34DCDD -:2042B0000356A603C07601DDA00D0156A700C792949601D8A0920852F4681F767D03019241 -:2042D0000152116000D0008FC0DBA9A8A00DA98A01D830D1A092BF569C46105248D1BF564C -:2042F0009C3CF2681F767D0301920252216000D0008FC0DBA9A8A00DA98A01D830D1A092C8 -:20431000BF569CAA065248D1BF569C96F26806D0008FC0DBA9A8A00DA98A01D830D1A092E3 -:20433000BF569C73085248D1BF569C69F2681F767D0301920352116000D0008FC0DBA9A8A9 -:20435000A00DA98A01D830D1A092BF569C46145248D1BF569C3CF2681F767D0300920952A2 -:204370001B6000D0013BAD5C89DCA480008F30DFA7069481A71E008F08DCC792949601D820 -:20439000A0920F52F1683DD1008FC0DB3ED0BF569C46BF5694461F767D0301920652256070 -:2043B000008FC0DB30D032D19428A401A4C531D09428A40133D09C2884037ADF94288403AA -:2043D00048D094282C0149D094282C014AD0942820034BD094282003C792A4C56ED16FD097 -:2043F0009C967BDFC79294961F767D0305920A6100D0008F30DC9428000801D8A0920452F7 -:20441000FB684076D38390FEBE8B0600BDB2408D80DCA9287E3FA8280201A18A4076C8A1FD -:20443000809AA18A40765DB3A98080D0A988910EA70F0E60A688012920FFFFFFA60F086161 -:204450001F767D0300887ED0910EA60F166140768F9E408DC0DB7FD0912B40761A9D1F763E -:204470007D030192015217607FD91F765C03C11A10000F28FFFF0F6F00D0008F80DC949284 -:20449000008FC0DB949601D8A0928052F7681F7670033F2BBE8B0600C4A0D41A0100060062 -:2044B000C4A0D41A02000600D493009A039100530260019A06001F76BF010118F7FF06003D -:2044D0001F76BF01011A08000600227608D0408F806F1F76BE0195CCFCFF015008960BDD99 -:2044F00008CCF7FF0450089608CCDFFF1050089608183FFF1F76BF01C51A08000118F7FF97 -:204510001A761F76C10169FF0002BF560007BF56011F022BBF56040C0A2800800B2B0C2B78 -:20453000BF560F10D42BC41E001A800006001F767A032388BDB2A48BA6921352E6FF580180 -:20455000C07612C10129A7060456A601A71EC7C52076C18A240ED40F0561BF562311EFFF86 -:20457000470108D091C5673E1F767A03232B242BD118F7FFD118FDFFEFFF3A011F76C1011D -:204590000246ECFF3501C18A1F767A03240EC407A71E1F76C10107921F767A03C796BF560F -:2045B0002313240AEFFF24011F76C1010246ECFF1F0107921F767A03BF5623112596EFFF2D -:2045D00017011F76C1010246ECFF120107921F767A03BF56230F2596EFFF0A011F76C10119 -:2045F0000246ECFF050108D091C5673E1F76C10107400B6DD118FBFF1F767A03D118FEFFAE -:20461000232B242BEFFFF4001F767A03BF562309EFFFEE001F76C1010246ECFFE9000792D0 -:204630001F767A03BF56230B2596EFFFE1001F76C1010246ECFFDC0007881F767A03257EE1 -:20465000C18A240ED40F0561BF562307EFFFD00008D091C5673E1F767A03BF562309EFFF73 -:20467000C7001F76C1010246ECFFC20007921F767A03BF5623072596EFFFBA001F76C10173 -:204690000246ECFFB50007921F767A03BF5623052596EFFFAD001F76C1010246ECFFA800B2 -:2046B000079208D01F767A03259691C5673E1F767A03BF562303EFFF9B00D140086CBF5641 -:2046D00023010AD0D11A040091C5673ED141ECFF8F001F767A030AD0BF56230DD11A080032 -:2046F00091C5673EEFFF84001F76C101BF56008F082B021A20001F767A03BF562312776F91 -:204710001F76C101BF56008FC18AE4920896021A20001F767A03BF562310696F1F76C1016A -:20473000BF56008708280003021A20001F767A03BF56230E5C6F1F76C101082B021A200075 -:204750001F767A03BF56230C526F0AD091C5673E1F76C101BF56008708280005021A2000F9 -:204770001F767A03BF56230A426F24801F76C101BF56008FC18AA706C407A71EC792089606 -:204790001F767A03240A1F76C101021A20001F767A03BF5623082B6F1F76C101BF56008F4F -:2047B000C18AE4920896021A20001F767A03BF5623061D6F0AD091C5673E1F76C101BF5631 -:2047D000008708280002021A20001F767A03BF5623040D6F1F76C101BF56008708280006E1 -:2047F000021A20001F767A03BF562302BE8B06001F763000A880A927A48E14282040000245 -:20481000008FB2DE1F767C03121E4076E19F0052FD61A792A793C0FF0191A995A880A792DC -:204830002661408FA6DEAB9220BE1F90A674A792A6540267A7881F767A03A65C0356AB01C6 -:20485000263AA90E28A82A1E008FB2DE4076D99F4076E19F0052FD61A93AA60DA98EAB92DC -:20487000A694A927A792A69EA980DE601F7630001428104006001F763000A880A927A48EF4 -:20489000142820400002008FB2DE1F767C03121E4076E19F0052FD61A792A793C0FF01915D -:2048B000A995A880A7922661408FACDEAB9220BE1F90A674A792A6540267A7881F767A03A8 -:2048D000A65C0356AB012C3AA90E2EA8301E008FB2DE4076DD9F4076E19F0052FD61A93A66 -:2048F000A60DA98EAB92A694A927A792A69EA980DE601F76300014281040060002FE1F76A7 -:204910007A0336C5008FB2DE673E22761F763400008FFFB41CA81A7669FF40760CB41F76E1 -:2049300071030F8F40423A0642A8C0006FB5A9BD120F0077007702E84116008F10DF89E622 -:20495000000040764BB42376002082FE0600BDB2BDAABDA202FEA85BA58BA4864B9303528E -:204970004197C12B146106520F60A31B00103868A31B03103566A39240766E980052326078 -:20499000BF56C1032F6FBF56C1012C6FA38820FF0010A60F0460419210521561A38820FFB6 -:2049B0001010A60F0860419228520D6150520B6178520961A38820FF0011A60F1160419259 -:2049D0007C520E60005200D11161A192A394407648999A9601D94192A154F866076FBF563A -:2049F000C102C27B4193029ACA9782FEBE82BE86BE8B0600BDB2BDAA02FE1F767C032192E6 -:204A100025611F76800108421A6D0A420A6D1F767C03FABE0A061F767C032E03A60F7269A5 -:204A300004021F768001061E0A426C6C1F767C03212B1E2B1F7680010A1E0D6F1F767C038B -:204A50000402212B1F768001081E1F767C031E921F5423661F767C031A921C610876303BD2 -:204A7000BE5A1B59AD5D1C93008F40DD1D88A1CCFF0082DD1A2BA55D417E407634A21F769E -:204A90007C03A1CD00FF1F2B42CB1E962097BD7A00761E921F5436691F7680010406A940E0 -:204AB000316D1F767C03008F40DD1F581F59012904B601D89C2504BE94AF5AFF1F92C0FF4D -:204AD0001F768001A908001F08C3A9251F767C030AC51F767C0320AF1F7680010AC21F760A -:204AF0007C031F0802001F768401161E1F767C03BF5621012EC31F76840114A91F76800187 -:204B100004C282FEBE86BE8B0600BDAA34FEA892FF9C0564105204640F9A026F009A2276BF -:204B30001F76BE01AB28F0FFAA28457F09CDFFDF013B08B6A81A0010A4A908BE099700D2B4 -:204B500009CDFF3FA81A00400997A9851F7680015AFF2AC35D56A400A0A9AB2BAA28467FF8 -:204B700008D42CC2ACA91F7684015AFF5D56AC0002A8A5A9AB28E0FFAA28457F0AC3AB0379 -:204B9000AB28FAFFAA28FFFF12C21F76800107BE00AA1F768401003A08A0101E1F768001D0 -:204BB00002A900C200BE0002011960C2601A80F2081E000260C401190C1E000201191E1EA8 -:204BD00000020119221E00020119181E14C21844FF6C16065E1E5E18FFFD5E1A00015D1882 -:204BF00000FF5D1A05005E1A7F005E18FAFF5EC416C26018FFEF6006141E1844FF6D000202 -:204C1000488F70641F768301541E088F7064541A010000A00031531A0200010200BE02A8C9 -:204C3000541A06001F768001408FC2B300D4301E54C5020232A82EA9008F97B31F76370001 -:204C500008A01F768001241E26C220C31F7637000AA81F763300321A1000321A20002376D2 -:204C700000011A761F767C0369FF000200B6182B261EB4FE22C224C3BE86060006FE00020B -:204C90001F767D030ED03C1E94A3AA8820FF001F0CD094C5A60F3D61A9A9A80EA958463FFA -:204CB000A0CC00804396A0CC00404296A0CC00204196A706A018FF1F45974392447F0052EF -:204CD0000861A092805205674692008FC0DB9496429201D80861A092805205674592008FD3 -:204CF000C0DB9496419201D80861A092805205674492008FC0DB9496A9A9455C445DA80EE6 -:204D100046934076299A1F76BF010F1A01000E6F0AD094930F91085309601F767C03A7060F -:204D30001B3F1C971D7FBF561A0186FE06001F767C031992A88809611F7680010806A9409A -:204D5000046D0A06A9403E6C02D5A692013BAB28010001B6A572AA2B1F768001A9A8A581E0 -:204D7000A98308A90AC301B6C58500915AFFA692A772A9A8A781A983C5853FFFABCAAACB26 -:204D9000A71EA9A8A681A98A1F768401C48500915AFFA6853FFFAACBABCAA81A00E0061E2D -:204DB00004C322761F76800100022E1E1A760102041E1F76BF010E1A01001F767C03BF56C4 -:204DD000190169FF060002FE22761F767D03019204520460008FADAC036F008F92A61F768B -:204DF00034001AA81A760F8F40421F76710369FF3A0642A8C0006FB5A9BD120F0077007709 -:204E100002E8D123008F08DF89E6000040764BB41F7630000C2820402376001082FE060082 -:204E3000BDB2BDAABDA2407675AC00D3103B69FF407699B5267600002F760000407647B6D8 -:204E500040767BB4407696941F767D03009A0093407612A30D9A40767E91418F00C201D4FD -:204E7000A9A04076CD90418F00C202D4A9A04076CD9040760BA24076FE93008FC06FA48373 -:204E900000D20BDC0CDDC51A0100C41A0100012920FF50C340766AB4008FC06FA48301DAB1 -:204EB000A2920EDC0FDDC51A0100C41A01000A52EF64008FC06FA4830BDC0ADDC51A0100D7 -:204ED000C41A01004076CC934076469A1F767D03109B009240765EB6407670A44076B8B52F -:204EF0001F767D030192045205614076FEAD40763784407663854076939F4076D3831F7645 -:204F10007D03019206520360407681AF1F767D03C076C0DB00927EDFC79622761F76C001AD -:204F3000BF56292F1A7669FF407687A21F765C0305926761052B00D2008FC0DB013BA9A811 -:204F5000A281A98A60D09488A6925761008F7EDFA9A8A281A98AA692C40AC4544E66408F7B -:204F7000BEDEC42BA9A0A281A98AC49280520868008FBEDE013BA9A8A281A98AC42B013B26 -:204F9000086F109AA794A9CCF0FFC4968052F167008FBEDEA9A8A281A98AC4800356A203A9 -:204FB000408FF0D8A61EA792C3FFA927A606AB0D0156A500A7CD0F00A82DC59262FFA9881A -:204FD000E161013B0A6F008FBEDEA9A8A281A98AA692A0FFA988C40AA640F66C408DBEDE71 -:204FF000013BA9B2A281A98B008FC0DB009AC193407624A4C108030001DAA29202529D64ED -:205010007FD0008FC0DB9441066C7FDCC418FDFF40768F9E7FD0008FC0DB9442066C7FDC8E -:20503000C418FBFF40761A9D7FD0008FC0DB9443066C7FDCC418F7FF4076939F7FD0008F68 -:20505000C0DB9445066C7FDCC418DFFF40765C804076B3951F767D0301920152136016D061 -:20507000408FC0DB9592A58AC1FF01F016D0A3CE0356A9027FDC0790C49895CC0400C1FFE1 -:20509000A95B019206525A607FD0008FC0DB94921F767E03A99300B6D6FFC5FF01910190F4 -:2050B000A9882792026001B6A892A7CE1B61008FC06FA4831F767D030BDDC51A004001921E -:2050D00006520761045205610DDCC41A0020056F1F76BF01041A0800008FE8031F767D03DF -:2050F00032A81F767E03289200B62797026001B6A693A7CF16611F767D0301931F76BF0145 -:205110000B1A000406530661045304610B1A0020036F021A0800008FE8031F767D0332A896 -:205130001F767E03287E1F767D03320607601F76BF010D1A00400D1A00044076FD9900D2EA -:20515000A2920461408D40D0036F408DC0D3A18A4076529CA91BFFFF53611F76BF0100BE9F -:205170000F1A01001F767D0337523CC2116237523061335208623352386103523E61065273 -:2051900038613E6F34522D6135522761396F3A5208623A5212613852186139521261306F59 -:2051B0003B5207613C522C60A18A4076AA9C286FA18A4076519C246FA18A40760E9C206F97 -:2051D000A18A4076119B1C6FA18A40764D9B186FA18A4076E49A146FA18A4076E59A106F96 -:2051F000A18A40765F9A0C6FA18A4076C69B086FA18A40766D9D046FA18A4076BE9D01DA1C -:20521000A2920252E3FF91FE9C6F1B76F0FF0500BDABBDA8BDA0BDC2BDC300E2BD0003E248 -:20523000BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF42291656227601021F762A -:205250007C0301560A00237600102676391110291A767FD0008FC0DB944F046D69FF40761B -:2052700050AB1F765C03040A049214520468042BBF56050116D1008FC0DB7FD09C9294CA83 -:205290000190A9880C9301F10191A6CB10601F767D030193065306611F76BF010B1A00084D -:2052B000146F1F76BF010B1A00200F6F1F767D030193065306611F76BF010F1A0008056FE0 -:2052D0001F76BF010F1A00200653E1FF4B011F765C03120A12930A53E0FFA1001F767D03F4 -:2052F00001931F765C030553122B0360189322601F767D030193015305601F765C031793F1 -:2053100019601F767D03019306530F6104530D61025306611F76BF010B1A0004226F1F766D -:20533000BF010B1A00401D6F1F76BF01021A0002186F1F767D03019306530F6104530D617B -:20535000025306611F76BF010D1A00040A6F1F76BF010D1A0040056F1F76BF01041A0002E3 -:205370001F765C0316930F601F767D0301930353136101531161065319601F76BF01021A95 -:205390008000186F1F767D03019303530F6101530D61065306611F76BF010B1A00100A6F02 -:2053B0001F76BF01041A8000056F1F76BF010D1A00101F765C03179315601F767D0301932E -:2053D00006530B610353046101531561196F1F76BF010B1A0040226F1F76BF01021A8000AF -:2053F0001D6F1F767D0301930653146103530D61015306611F76BF010B1A00800F6F1F760E -:20541000BF010D1A00800A6F1F76BF010D1A0040056F1F76BF01041A020000523E601F7672 -:205430005C03128062D0940EA70F37601F767D03019303530F6101530D61065306611F76C4 -:20545000BF010D1A00100A6F1F76BF01021A8000056F1F76BF010B1A001006530E610353BF -:205470000961015304610D1A0080096F0B1A0080066F0B1A0040036F021A800006530B6188 -:2054900004530961025304610B1A0004066F0B1A0040036F021A00021F765C03009A1993B4 -:2054B00000530260019AA693A9CF04611128F401132B110AC4E21100197E12E8D01F14ADF7 -:2054D0005564130A1393019100B6112B149713930791026101B6A692157F3C601F767D033C -:2054F0000092095224611F765C0316D0BF56160194937FD0D0FF9492C9FFA8CAA940026C28 -:20551000167F0C42116D0C430C6D0C44036D172B2D6F1592009B00520260019B1797266FDF -:2055300014921796236FBF561701206F1F765C030C41BF561801036C1492026F009A0C40DF -:205550001796036D162B126F14931492189716960D6F14931488149216971896177E066FEA -:2055700069FF4076FEAF4076EA9882FEAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE0036 -:20559000BEC5BEC4BE83BE8ABE870300303BF1FF177602761B76F0FF0500BDABBDAABDA80C -:2055B000BDA0BDC2BDC300E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000602FE36 -:2055D00069FF422916561F7633002292419623760100267601012218FA002128FFFF10293D -:2055F0001F765C030E9202610E0B1F765C030D92E0FF38011F765C030F920D61FF9C0F969D -:205610000A60008FC0DBA4837FDC7FDDC518EFFFC41A04001F767D030592196100D1008FD5 -:205630000871013BA9A8A181A98AD492C3FFA988008FBCDDA9A8A181A98A69FFA192C47EFB -:205650004076018601D9A1920452EA641F767D030192065237601F76C4010992C3FFA90E47 -:20567000A9BD120F0077007763D0808DC0DB8BE60000008F40D78CE6010069FF13E2920150 -:20569000407638B56ED16FD0013B008FC0DB9A92929EA985A9BD160F6FD0C8E29402007768 -:2056B00020E7800089E6090040769AB250E800C8007790E8008800778CE600001DD013E297 -:2056D00092001F767D0301920552406000D11F765C0307921F7674033D0A3D5402623D2B7B -:2056F000008F0871013BA9A83D81A98A3D2DC492C3FFA90EA9BD120F69FF008F40D71235FF -:205710000156A4008BE60000407638B5013B1F767403008F86DE8EE60000A9A83D81A98A79 -:2057300013E2C400008F30DFA9A83D81A98A01D9C492085205613D924076E482046F3D92A3 -:205750004076B780A1920652C3641F767D030492E1FF89001F76740301293E0640FFA61E09 -:20577000013B3C85A60F39691F767D03049200D13465008F0871013BA9A8A181A98A1F7631 -:2057900074033D2D1F767D03C492C3FFA90EA9BD120F0412A194A92D008F40D769FF8BE60D -:2057B000000012350156A400407638B51F767403A192013B008F86DE3D2D1F767D030433D0 -:2057D000AB72A9A8AB81A98A01D98CE60000A19213E2C4000454CE641F7674033C0A3C920A -:2057F000FF9CA9853E0F3E681F767D03049200D11F7674033C2B11651F7674033D2D1F766D -:205810007D0369FF0412A1944076B78001D91F767D03A1920454F1641F765C0306921F7668 -:205830007403029C3D0A3D5402623D2B1F767D0302931F7674033D9200530F611F765C0363 -:20585000065402600D9A1F7674033D931F765C03069F015302600C9A69FF40762094026FC1 -:205870000D0B008F0071A4831F76330019DC01DDC51A0040C41A1000BF562101103B4192DC -:2058900082FE2296AFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8AD0 -:2058B000BE86BE870300303BF1FF17760276005206601F76BF01041A0001056F1F76BF01F7 -:2058D000021A00010600005206601F76BF01041A4000056F1F76BF01021A40000600407649 -:2058F000E4A9019A4076F0A9009A4076E4A90102407663B6009A4076F0A91E02407663B69A -:205910000600009A4076F0A91E02407663B6019A4076E4A91E02407663B6009A4076E4A9EF -:205930001E02407663B60600BDB2BDAABDA20EFE00D2A98BA288A492A52D0252A65BE3FFB2 -:20595000F000A9B2026301D256FFA983AC9205640452036301D3026FAC2BAC92A58B4B2BD0 -:205970000B650A02421EA9B2C0006FB54B0AA98BAC924B54F762A9B20A650A02421EA9B2AC -:20599000C0006FB501DE58FFA98BF862A292A58BA694A988026001BEA692AC944B2B04521B -:2059B000A9880F650A02421EA9B2C0006FB5AC80A98B4B0AA69281DFFC9CA72D4B54F362DA -:2059D000AC920263AC2B019A66FFA9580152026000D08076E803A9B242C2C0006FB5441E31 -:2059F000A9B242C2C0007EB5A61E6402421EA606C0006FB5461E6402421EA9B2C0007EB5B3 -:205A1000A61E0A02421EA606C0006FB5481E0A02421EA9B2C0007EB54A1EA61E46064807CF -:205A30004407A607046000D0A02DAC5AA3921561039A013B4B96AD888ADEA6880356A90124 -:205A50000156A600C6060960AC924B5406610F024B0BC61E4B92F062A2922061019A013BBA -:205A70004B96AD5D8ADDA55D0356A9010156A5000F02C50F09614B9203520661019C0452E8 -:205A90004B96F0640B6FAD5D8ADDA55D0ABE4B920356A9010156A500C5C2009A4B2B013B5D -:205AB000AD5D8ADDA55D0356A9010156A5008076B0DAA606C507A61EC685C51E019A4B2D67 -:205AD00066FFA0CE046180020156C5004B0A4B920452E76448A3AB92AA2BFF90A927A9A95F -:205AF000AC28180037FF5AFF4A064E1E4E92FF904E964D2B4E06ABCAAACB4E1E4606009B03 -:205B1000FF903FFF5AFF4E06ABCAAACB4E1E44063B565AFF4E06ABCAAACB4E1E026F4EB256 -:205B3000408F8EDF013BA9A0A481A98A4B2BC45BA3921052246200D14E92013B0190A988DB -:205B50004E0640FF4E1EA6924076FCA901D9A1920852F364A35A00D1A293A292B0FF01906E -:205B7000A85A4076FCA901D9A1920652F66440760EAA01DB4B0A4B920452DB648EFEBE821C -:205B9000BE86BE8B060011D0008F107094920F9004520E60CCCC8001C6FF025209602276B6 -:205BB0001F76C001BF562555BF5625AA1A7669FF060022761F76C001BF5629681A7669FF82 -:205BD0000600BDB202FE1F76C001A888A9801143026C257611CC80010561227611187FFE32 -:205BF0001A762276408F1070A58AA79211D00F9001DCC41A400095CDF0FFA8CA21961A7631 -:205C1000A79204600102A98B026FA759A92880C3A828C90169FFAC1E0556A100407666AB8C -:205C3000A1A91140FF6C22761118BFFF1A76A6930153036102530A602276A69211CD7FFE64 -:205C5000039086FFA8CA11961A76A6930A60A9B2013BAC281E0040FF2256A10741FFA98B74 -:205C7000A69301530A60A9B2013BAC281E0040FF2256A10741FFA98BA69302530960A9B26F -:205C9000AC281F00013B2256A10740FFA98BA7921460A69203521160227611CC7FFFA91AD1 -:205CB000000169FF119620FFDA05407663B61F76C001111A80011A761F76710382FE69FF74 -:205CD0003AB2BE8B0600BDB202FE22761F76C001BF561A011B2B1A92036001BE046F03560C -:205CF0001A01A9881F76710342C269FF3A06C0006FB53E1E1F76C0011B92036001BE046FBB -:205D100003561B01A9881F76710342C23A06C0006FB5408D1070A18315D0008F200B3C1E32 -:205D30000CDD1F762C0094CCF8FF015014DC3596C41A04003418F7FFC51A080078768000CD -:205D50001F76C0011C1A1000A18A1C1A00041C1A00081C1A20000DDC10D91C1A00011C1A5F -:205D700000101C1A00201C1A00401C1A00801C18FBFFC41A01001D1A02001D1A04001D1AC9 -:205D900008001D1A10001D1A20001C1A04001D1A00041D1A00081D1A00101D1A00201D1AC4 -:205DB00000011D1A00021D1A00401D1A0080C11A0001201A0002201A0004201A0008201A99 -:205DD0000010201A00201A7669FF82FEBE8B0600407666AB049A029B40766EAB4076F0AB60 -:205DF000060002FE22761F762B002028FFFF2128FFFF2228FFFF2328FFFF2428FFFF252880 -:205E1000FFFF2628FFFF2728FFFF1A761F76FFCF69FF38924196399241963A9241963B92CD -:205E300041963C9241963D9241963E9241963F921F762B0041962F9201F0019082FE060058 -:205E50001B76F0FF0500BDABBDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BD0103E2BD02FC -:205E700003E2BD0330E6000669FF4229165600D1227601021F767C0301560A00237639114E -:205E900010291A767FD0008FC0DB944F046D69FF407650AB1F765C03040A049214520668D7 -:205EB000042B1F765C03BF560501008FC06FA4831F767D0306DDC51A0100019206520E617D -:205ED00004520C61025205610FDCC41A00040A6F1F76BF010F1A0040056F1F76BF01061A48 -:205EF00000021F767D03019206520861045206611F76BF010F1A0020056F1F76BF01061AE3 -:205F1000080001021F767D033C07A61E008F204E3C1EA9A8A60F02673CA8390A39920A5236 -:205F30000264392B3592AC2B1261008FC0DBA9A8AC0DA98A62D0949239540465019A66FFC1 -:205F5000A172AC92019C3554A92DF068380A389202520265382B7FD0008FC0DB9493A89288 -:205F700016D094CAA940EDFF8300A84B586D20FF204E3C0F306938920A60013B1F766F03D5 -:205F900000D401D569FF0085407621AA1F767D03389201520A60008FC0DB013B01D569FF99 -:205FB000CC8501D4407621AAA192408DC0DB02D400D569FFD1CEA90E407621AA1F767D0390 -:205FD000389202527B60013B03D400D5D985407621AA746F3892076000D4000200D569FFCA -:205FF000407621AA1F767D0338920152076001D4000200D569FF407621AA02D4000200D535 -:2060100069FF407621AA1F767D0338920252566003D4000200D5407621AA506F389208607E -:2060300020FFB82200D401D569FF407621AA1F767D0338920152086020FFB82201D401D586 -:2060500069FF407621AAA10E02D400D569FF407621AA1F767D03389202523060012903D440 -:2060700000D520FFFFFF407621AA286F69FF4076E2B538920760013B00D404D534854076C8 -:2060900021AA1F767D03389201520760013B01D404D53485407621AA1F767D0302D400D5A8 -:2060B0003A06407621AA1F767D033892025206603A0603D400D5407621AAAFE2BE03AFE226 -:2060D000BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FF177673 -:2060F000027602FE2276008F57A81F7635000AA81A7669FF407633B61F763300221A2000BB -:20611000237601001F767D03019206522360008F00711F76C401D4CCF0FF05500296DCCCD4 -:20613000F0FF0350039603CC1FFF1050039603CCFFF1A91A0005039603CCFF0FA91A00408E -:206150000396E4CCF0FF0750049604CC0FFF205004961F767D03019203521460008F0071AD -:206170001F76C401D4CCF0FF02500296DC18F0FF03CC1FFF1050039603CCFFF0A91A0002F0 -:2061900003961F767D03019201522860008F00711F76C401D4CCF0FF06500296DCCCF0FF65 -:2061B0000550039603CC0FFF4050039603CCFFF7A91A0007039603CCFF0FA91A002003965A -:2061D000E4CCF0FF0350049604CC0FFF6050049604CCFFF1A91A000104961F767D03019235 -:2061F00002520960408F0071A58A02DCC418F0FFDD18F0FF019205524C60408F0071A58AD1 -:206210001F76C40102DCC41A0F00DDCCF0FF0250039603CC3FFF3050039603CCFFF0A91A1F -:206230000006039603CCFF0FA91A00C00396E5CCF8FF0A50049604CCBFFFB050049604CC22 -:20625000FFF7A91A0007049604CCFF0FA91A00400496EDCCF0FF0550059605CC1FFF105072 -:20627000059605CCFFFEA91A000E05960518FF0FF5CCF8FF08500696061AF00006CCFFFD84 -:20629000A91A000D069606CCFF0FA91A00900696408F0071C0760068A5C41F76C401A78AE1 -:2062B0001AD019DD01DEC61A000119DC011A0008C51A1000001A10000018BFFF001A000FFE -:2062D000011A00401F763300BF5621011F76A001C41A000819CCFFFCA91A0004199697CC7F -:2062F000FFFDA91A00011A96BF56098000CC7FFCA91A0001009600CCFFE3A91A00080096D0 -:2063100000CC001CC9FFA92D019A66FFA98800CC800304600102AC1E086F00CC8003013B34 -:20633000C6FF80FFA985AC1E013BA6851F7671034456A900421E3A06C0006FB5008FA60E97 -:2063500042A8C0006FB51F767D0301931F76A00105960018FCFF025303602502026FBB02C5 -:206370001F76740382FE3E1E0600009A019C1952FE640600005206601F76BF010D1A0010D1 -:20639000056F1F76BF010B1A00100600BDB21F76BF01BDAA0D1A0008BDA2A95B0102407673 -:2063B00063B600D1808DC06FA28AA392CEFF0BDCC41A0080407647AFA39280FFA95B0102CD -:2063D000407663B60DDA0102C21A0080407663B601D9A1921052E7641F76BF010B1A00088D -:2063F000BE82BE86BE8B06001F767D03BF562A052B287017008F59021F767803BF56203C1C -:206410001F767803BF5621A01F7678031F2870171F767D0330A80600BDB2BDAABDA202FE80 -:2064300079D0008FC0DBAC1E013BA98B94854C82A61E4456A90042A2C0006FB578D0A98375 -:2064500042A2215694004456A100C0006FB57FD0A607A5039449046C7AD0013B9485A918CD -:20647000FF0FA95AA91A0080407653AF7BD0A9B2408FC0DB34FF957AA61EA9B242A232FF7A -:20649000A607C0006FB5A98A42A2C802AC1EA9B24456A900C0006FB51CD0A49E82FE289CBC -:2064B0009596BE82BE86BE8B0600A9280290407653AF1F767D03019206520F6104520D617F -:2064D000025206611F76BF010F1A00040A6F1F76BF010F1A0040056F1F76BF01061A00024D -:2064F000060002FE1F767D03320604610102415632002A922C0A2C546F6630062C2B4C6088 -:206510007FD0008FC0DB9447176C2B92C0FF2D5402672D0A2B922D0A2D5402672D96C4E2B0 -:206530002D00C4E22B014FE800C84FE80980007710E74000086F2E922D2B90E5019CA9187D -:20655000FF032E968EE600002D802B88A9BF120F2E931F7678031E7F1F7678031F7E1F7658 -:20657000780322960D617FD094480A6D1F767D032B88013BA98542C2407699AF2D6F407642 -:20659000E2AF1F767D03008FC0DBBF562E017FDCC418FFFE216F30060119A61E301E20FF92 -:2065B0005802A60F136120FFF401300F0F6120FF9001300F0B6120FF2C01300F0761C8026D -:2065D000300F04616402300F07604076E2AF1F767D03BF562E0182FE06001B76F0FF050050 -:2065F000BDABBDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E61F -:20661000000602FE69FF422916561F76330032924196237600012676000132187500212883 -:20663000FFFF1029408FC0D369FFA58A40768A9140768F91103B4192329682FEAFE2BE03BB -:20665000AFE2BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FFE9 -:20667000177602761B76F0FF0500BDABBDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BD0173 -:2066900003E2BD0203E2BD0330E6000602FE69FF422916561F763300329241962376000149 -:2066B00026760001321871002128FFFF1029408FC0D369FFA58A40768A9140766092103B35 -:2066D0004192329682FEAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83E7 -:2066F000BE8ABE870300303BF1FF177602761B76F0FF0500BDABBDA8BDA0BDC2BDC300E20A -:20671000BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF422916561F762E -:2067300033003292419623760001267600013218FD002128FFFF1029408F40D069FFA58A07 -:2067500040768A9140768F91103B4192329682FEAFE2BE03AFE2BE02AFE2BE01AFE2BE00DA -:2067700080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FF177602761B76F0FF0500BDABC6 -:20679000BDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E60006DF -:2067B00002FE69FF422916561F7633003292419623760001267600013292322B2128FFFF88 -:2067D0001029408F40D069FFA58A40768A9140766092103B4192329682FEAFE2BE03AFE238 -:2067F000BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FF17764C -:2068100002762276008F806FA483A4C41F76BE0126DDC51A030027DE261A0C00A483261A5A -:206830003000261AC000261A000317DD261A000C261A0030261A00C0C61A0300271A0C00F5 -:20685000271A3000271AC000271A0003271A000C271A0030271A00C0C51A0300A48328DDA5 -:20687000171A0C0016DC171A3000171AC000171A0003171A000C171A0030171A00C0C51AE5 -:206890000300281A0C00281A3000281AC000281A0003281A000C281A0030281A00C0C41A3E -:2068B00000C0161AC000161A0030161A000C1A7669FF06002276008F806FA4C4A4831F7644 -:2068D000BE0118DEC61A030019DD181A0C00181A3000181AC000181A0003181A000C181AE3 -:2068F0000030181A00C0C51A0300A48369FF191A0C0014DD15DC191A3000191AC000191A4B -:206910000003191A000C191A0030191A00C0C51A0300141A0C00141A3000141AC000141A39 -:206930000003141A000C141A0030141A00C0C41A0300151A0C00151A3000151AC000151A25 -:206950000003151A000C151A0030151A00C040768EB10600227615D0008F200B1F762C00A8 -:2069700094CCF8FFA483A4C5A4C40150359614DDC518FCFF0CDF3418F7FFA4830DDE341A46 -:206990000400C41A60000EDDC41A1C00C41A0300C41A0030C41A000EC41A8001CC1A400060 -:2069B000C41A0040C41A0080211A0300C71A60002C1A1C002C1A03002C1A00302C1A000E57 -:2069D0002C1A8001C61A40002C1A00402C1A00802D1A0300C51A6000A4830FDD2E1A1C0074 -:2069F00018DC2E1A03002E1A00302E1A000E2E1A8001C51A40002E1A00402E1A00802F1AF9 -:206A10000300C41A0700381A38001A7669FF40768EB107F6007769FF0600BD3ABDB2BDAA58 -:206A3000BDA202FE0129A9BF120F58FF5B61A85C7F91A8088000421EA493D6FFA85CA9BF05 -:206A5000160F6761A85D7F91A8088000A859A958A593D6FFA85DA493A571A8180001A69795 -:206A7000A418FF00A518FF007FDCA492A59EA7964D64A90801FF3E62A193A09236FFA859E0 -:206A9000A958420635FF0EF6A11FA95BA3010AF6A11F2D56A204A32DA03640FF0BF6A11F6E -:206AB00033FF009B30FF54FFA20CA39540FFA70801001FF677FF200940FFA70801001FF6EA -:206AD00077FF5AFFA7922265A90801FF1363A9A946FF7F91A85BA95AA625A79596FFA20CF9 -:206AF000A395A9BD120F82FEBE82BE86BE8BBE8E0600009B57FFA8087FFF5AFFA693F26025 -:206B1000A8280080AA71AB92ED6F20FF0000EA6F5AFFA493A818000196FFA85CA9A9A808FD -:206B30007FFFA81C0080A4CBDD6F58FF5AFF00BE25610129A6920190A958A60640FFA4074A -:206B5000A71EC793A640046DA892C7FFA92DA09201520460A8CCFF00A92DAC58A592A0F2DA -:206B700001DEA092FF90A958A592408FC0DAC7FF9570A95DA9A9A60FDE66A5920600A71EA6 -:206B90008076C0DA0A6FA5928470FF90A95881DFA592C7FF9670A95DA706F660A592060078 -:206BB0000052A927FF76FFFF00BE3365A9A8013BA681A983A793C592FF90A92FAA71A880BF -:206BD000009AA740046DB0FFA880056FB0FFA81C01A0A880019C0852F564A9A8013BA68128 -:206BF000A983A793C592C7FFA92FAA71A880009AA740046DB0FFA880056FB0FFA81C01A096 -:206C1000A880019C0852F56401DEAB92A654CF62A79206001B76F0FF00E2BD0030E600062B -:206C300002FE422916561F7633003292419623760001267600013292322B2128FFFF102932 -:206C500001021F767C03180A1F768001061E1F763300211A0001103B419282FE329680E2E5 -:206C7000BE00303BF1FF177602761B76F0FF0500BDABBDA8BDA0BDC2BDC300E2BD0003E2B4 -:206C9000BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF422916561F763300329254 -:206CB000419623760001267600013292322B2128FFFF1029008F006169FF4076CBA31F7604 -:206CD000800102020C1E1F763300211A0001103B4192329682FEAFE2BE03AFE2BE02AFE257 -:206CF000BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FF1776027600021E -:206D10001F763000008F000C0119021E1F767C03408F100C000200A81F763000062B011910 -:206D3000072BE41A1000041A20001F763000008F080C0A1E1F76300000020119121E1F768F -:206D5000300000020E2B0F2B1F767C0308A810A0021E1F763000162B172B1F763000E41ADF -:206D70001000E51A10000C1A20001F763000141A20001F767C03121E0A1E060000E0E45005 -:206D900003E2F40188E61000C48303E2D500C483F52BC483FD2BC483E51A1000C483E51A18 -:206DB0002000C483E518FFFBC483E518FFF7C4830002E51A0040D41E06000129BDB240FFD3 -:206DD000BDAAA98B00D208611002407663B601DAA9B2A20FFA66BE86BE8B06001F76C001BC -:206DF000201A001040768EB12276008F200BA4C4A4831F762C000ED015DE14DDC618F8FF0B -:206E1000C51A03003418F7FF3418FBFF94CCBFFF20502E960FDC2ECCE3FF08502E962ECCC9 -:206E3000FCFF01502E962ECCFFDFA91A00102E962ECCFFF7A91A00062E962E187FFEC418A7 -:206E5000BFFF2E18FFBF2E18FF7F2F1A03001A7607F6007769FF0600AD28000469FF1F5628 -:206E700016561A5610E6000240291F76000002291B762276A92867B6A828000001091B6198 -:206E9000C07667B604290F6F009BA92401DF046C0429A82401DFA61EA1F78624A706A1817E -:206EB0000109A71EA92403635CFF043BA95901DF0900ECFF1A76A928FFFFA828FFFF010919 -:206ED0000E61FF76FFFF066F01DFBDC3A71E673EBEC5A92401DFA82458FFF7604076FFB56D -:206EF00040761CB61B76F0FF0500BDABBDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BD0168 -:206F100003E2BD0203E2BD0330E6000669FF42291656227601021F767C0301561200008F16 -:206F3000B2DE69FF1F767A0338C5673E1A76AFE2BE03AFE2BE02AFE2BE01AFE2BE0080E261 -:206F5000BE00BEC5BEC4BE83BE8ABE870300303BF1FF17760276BDB2CFE6010008D003E24B -:206F7000BD040ED103E2BD0503E2BD0603E2BD07AFE2F400AFE2D40510E394040CD012E31E -:206F90009C1F0ED118E394DA0AE3C4A000E3E4C600E7BB0110E700010CD010E7C00003E2ED -:206FB0009C0203E2940008D0F406941E03E2F401AFE2BE07AFE2BE06AFE2BE05AFE2BE04FA -:206FD000BE8B0600022904295F565AFF42065F56421E00021FF617564200AB063256022965 -:206FF0002076022904295F565AFF420656FF421E00021FF6175642003256022920765AFF20 -:2070100000021FF617564200A9A920765AFF00021FF6175642002076103B1F7633002018B2 -:20703000FEFF222B242B69FF262B282B2A2B2C2B2E2B302B322B342B362B382B232B252B1D -:20705000272B292B2B2B2D2B2F2B312B332B352B372B392B06001F763300201A0100212840 -:20707000FFFF102969FF06000000A0E514AD0962A0E51F76740314AD90E5B4562901156F2B -:207090004FE803C092E601008CB5050000E7CA00007700E78A000077CFE812F0007700E700 -:2070B0005100007700E74000060002FE1F767D03360AC4E23600007712E8D01F14AD116404 -:2070D000370A3792362B0A520260372B3734570434963A0603610002036F000201193A1EF9 -:2070F00082FE0600A928FFFFAA28FFFFAB28FFFFA828FFFFAB0F04ED00D400BE0B6FA92735 -:20711000A928FFFFA92FA4A9C488A928FFFF0209A98AA69240769DA406000077006F1F7662 -:207130007E03BDB21EC5A959673E1F767E0322C5A70603ECA192673E1F767E03200603EC29 -:20715000A71E673E40761AB6BE8B060022761F76C00169FF1C1A0800787680001A761F76B9 -:20717000C401028FE64969FFBF5618E0A9A8407663B60600408F00C0008F000D2276009A82 -:2071900085C4019C805284C2FC641A7669FF06001F767E031CA806001F767E031EA80600C1 -:1471B00006001F767E031897199606000119C356FFFF060014 -:2071C4001201000000C0A78B0000A78B0000A78B0000A78B0000A78B0000A78B0000A78B7A -:2071E4000000A78B0000A78B0000A78B0000A78B0000A78B0000A78B0000758C0000688C6A -:207204000000F88F00009A8B00000F890000B18B0000828C0000458A00003A8A00002F8A90 -:207224000000248A0000198A00000E8A0000038A0000F8890000ED890000668A00005B8A08 -:207244000000508A0000DD8A0000C28A00000F890000B9890000A089000005900000718A0A -:207264000000D2890000078E0000D18D00009B8D0000658D00002F8D0000F98C00000F89C9 -:2072840000000F890000228E0000EC8D0000B68D0000808D00004A8D0000148D00000F89C9 -:2072A40000000F890000CF8E0000B48E0000998E00007E8E0000638E0000488E00000F8901 -:2072C40000000F890000DE8C0000C38C00000F8900000F8900000F8900000F8900000F8961 -:2072E40000000F890000A78A00008C8A0000F28B0000BC8B00000D8C0000D78B00000F8954 -:2073040000000F890000DD8F0000C28F0000A78F00008C8F0000718F0000568F00000F8946 -:2073240000000F890000A88C00008D8C00000F8900000F890000498B0000F88A00000F8946 -:2073440000000F8900007F8B00002E8B0000648B0000138B00003B8F0000058F0000208F34 -:207364000000EA8E00000F8900000F8900000F8900000F8900000F8900000F8900000F8969 -:2073840000000F8900000F8900000F8900000F8900000F8900000F8900000F8900000F8929 -:2073A40000000F890000858900006A8900004F89000034890000198900000F890000288CAD -:2073C4000000438C00002C012C01000000000F00160014000A003C000A00080006000800E1 -:0A73E4000600080033000B000A0049 -:2073EE004800000012C1EAA0000077A10000D8A0000067A10000CBA0000059A10000BEA07F -:20740E00000042A10000A4A0000032A1000097A0000028A100007BA000001BA100006EA07F -:20742E0000000DA1000061A0000001A100004BA0000036A000005A9900005E990000F399B6 -:20744E000000E99900006199000064990000689900006D99000072990000789900007D996C -:18746E00000081990000CD990000ED99000084990000F9990000000051 +:200400005B004F0066006D007D0007007F006F00400000000000000079000000FFFF81DFD6 +:2004200000000600FFFF83DF00000000FFFF84DF00000000FEFF88DF000000000000FFFF93 +:2004400055DF00000000FFFF56DF00000000FFFF57DF00000100FEFF9EDF00000DB70000C2 +:20046000FEFFA0DF00000DB70000FEFFA2DF000000000000FEFFA4DF000000000000FFFF40 +:200480003CDD00000000FFFF3DDD00000000FBFF90DF000008000C00100000000400FFFF9C +:2004A0009ADF00000A00FFFF9BDF00000100FCFF96DF00000000000000000000FFFF00D002 +:2004C00000000100FFFF40DE00000000FFFF41DC00000000FFFF29DD0000000000000000E0 +:2004E00017370000008002FEA4C5A927013B008FC0DBC7924196A9A8AB81A98A01BEC41814 +:2005000000E04192C4984148046CC44E026D00BE008FC0DBA9A8AB81A98A1F765C03A6CC54 +:20052000010088FFC4CDFFFDA8CAA993D8FF01F1C49601910B9982FE060010E70B0001E82E +:20054000EAFA20E740000DE8BA9E6FE819F000E7100000E7490000E70000007710E7400007 +:20056000407672B602E8010250E8000040764BB30600A71EA59243880960C406056101025B +:200580004156C4000B6F00BE096FA706C40F036201BE046F01020156C400A6920600BDB26E +:2005A0007AD178D0013BBDAA808DC0DB9A92929EA985A9BD120F007700770077007789E601 +:2005C000010002E8401640764BB37BD11F765C0379D0013B03E226009A92929EA985A9BD66 +:2005E000120F007700770077007789E6010002E8401640764BB300D11F765C0303E22800C8 +:20060000008FC0DB013BA9A8A181A98A74D0C8E29400008F30DFA9A8A181A98AC49202525E +:20062000046002E8D123056F02E8E1300AE8010040764BB3013B008F2ADD0356A10101563E +:20064000A40001D9A192045203E2C400DA64BE86BE8B0600BDB2BDAA03E2BD0404FE005249 +:20066000A95906601F765C030B920B2B0C96A1921F765C0307540A63008FC0DB013BA9A803 +:20068000A181A98AC44FEDFF0102008F86DE013BA9A8A181A9837FD0008FC0DB944CC4E236 +:2006A000C500EDFFEA01A19207544F63A9A8A181A98AC44D4A6C00BEA6921F767D03A985B8 +:2006C00000D5A71E009B009207520260019B0356A8011F765C030793A99F2765013B008FCD +:2006E000C0DBA9A8A581A98AC492A9CD0080A9CC0060A8CA0A60008F86DEA9A8A581A98A1B +:2007000001DEA706C40DA71E1F767D03009B009207520260019B0356A8011F765C0301DD4A +:200720000793A99FA555DC62A6920761A985421EA706C00020B6A71EA7BD120F00770077F6 +:200740000077007789E60000A192089E1F767D03A988029242617FD0008FC0DB949316D060 +:20076000D3FF9492C1FFA8CAA940146C1F767D03019205520C6002E849280CE8010094E6B1 +:20078000080014AD0465A6920250A988A692E3FF6801A1921F765C030754E2FF8401A6401B +:2007A0000F6C79D0C8E29401007720E74000AFE2280400E72000007790E800760E6F78D08A +:2007C000C8E29401007720E74000AFE2260400E72000007790E800761F767D030392696181 +:2007E000A692E3FFDE001F767D03019202521F61A1400F6C79D0008FC0DBC8E294011F76E2 +:200800005C0320E74000AFE2280400E720003B6F78D0008FC0DBC8E294011F765C0320E718 +:200820004000AFE2260400E720002D6F08BEA192A672008FC0DB013BA9A8A681A983807609 +:2008400086DEA606A181A71E18D0C7929596A19206520D6378D0C8E294011F765C0320E7B8 +:200860004000AFE2220400E720000D6F78D0C8E294011F765C0320E74000AFE2240400E79C +:200880002000007716E8000D14AD136512E8401A14AD0F63A12D008F00D950E800B212358F +:2008A0000156A4004076E9B502E8411640764BB316D0008FC0DB26E8000D94937FD0D0FF84 +:2008C000949232E8401AC9FFA8CAA940036C02E8001150E80148A9A8013B18D08CE6000089 +:2008E000A1818CE60900A983A9A8A181A98A13E29501432BA6BF120FC493A892CDFF01F0BC +:200900000190A980A61BECFF3461A692C852316130D09592FB9CA6540363A845186D008FD9 +:20092000C0DBA9A8A181A98A30D0A69294540F6248D0945428651F765C03A7CC01000B18CD +:20094000F7FF82FF431A10000B981D6F4392A7CD01001F765C03205097FF0B18FBFFA91862 +:20096000FFFEA9CB43970356A70207900B980B6F1F765C03A7CC0100431A01000B18EFFF9F +:2009800083FF0B981F765C030E92E0FF8C00AD5CA19283DCA45C40760080EFFF8400808DE3 +:2009A000C0DB013BA9AAA681A98A8CE6000078D078D113E2940079D092929A9EA985A9BDEE +:2009C000120F007700770077007789E604000077CFE6210002E8081840764BB31F765C03A8 +:2009E00003E2220002E8101CCFE621000FE8303340764BB37AD11F765C0378D0013B008FA4 +:200A0000C0DB03E224009A92949EA985A9BD120F007700770077007789E6010002E80818C9 +:200A200040764BB37BD11F765C0379D0013B008FC0DB03E226009A92949EA985A9BD120FF5 +:200A4000007700770077007789E6010002E8081840764BB31F765C0303E22800236FA9A8A8 +:200A6000013BA681A98A8CE6000078D013E2940040765C80176FA9A8A181A98A8CE600006D +:200A800018D013E294000E6F008FC0DBA9A8A181A983A9A8A181A98AC52B18D0C51A0080C2 +:200AA000942B84FEAFE2BE04BE86BE8B0600BDB2BDAA02FE0052A92706601F765C030B9220 +:200AC0000B2B0C96008FC0DB013BA9A8AB81A98AC492A94FEDFFCB00CDFF0190A92F422B81 +:200AE000AB92075260610356AB01A95A1F767D034218FFFB008DC0DEA22D1006412B22563A +:200B00000190A95D0356A201A007A98A20FFE80340764680013B019B019089FFA2954298E0 +:200B2000A82D4218FFF71006412B22560190A95D0356AC01A007A98A20FFE8034076468099 +:200B400001908AFF4298AB9206522D60029A4218FFEFA294013BA92D1006412B22560190C8 +:200B6000A95D0356AC01A007A98A20FFE80340764680013B039B0190A2958BFF4298A82D2E +:200B80004218FFDF10062256412B0190A95D0356AC01A007A98A20FFE80340764680019095 +:200BA0008CFF42984292C0FF42CDBFFF42CA008F86DE013BC0FF42CAC0FF42CAC3FF40900D +:200BC000A8CA4296A9A8AB81A9837FD0008FC0DBC4E2C500944C416D408F30DFA9A0AB815D +:200BE000A9830356C501408F2ADD0156A500AFE2C50100E7400000778CE60000A9A8AB81F4 +:200C0000A6BF120FA98318D148D0A6929D7E95541163408F30DEA9A0AB81A983421A08008F +:200C2000A9A8C581A98AC443056CAA920360421A000142920761AA9205601F765C030B1A80 +:200C400002001F765C030E921E60AD5CAB9282DCA45C40760080176FA9A8AB81A98A8CE6FE +:200C6000000018D013E294000E6F008FC0DBA9A8AB81A983A9A8AB81A98AC52B18D0C51A4C +:200C80000080942B82FEBE86BE8B060000BE013B008FC0DBA9A8A681A98A01DE18D0A69234 +:200CA000C41800E01852942BF46400BE013B008FC0DB408F78DFA9A8A681A98A0356A60102 +:200CC0000156A50070D0C8E294001F767D0303E2C500019206521760408F30DFA9A0A6812B +:200CE000A983C59203520F60A640056D18D094288601096F008FC0DBA9A8A681A98A18D0F5 +:200D00009428300201DEA6920452D264019201521060008FC0DB1F765C03A9A80781A98AC2 +:200D2000C41A0040CC1A0040D41A0040DC1A00401F767D03019206520760008FC0DBC41A9C +:200D40000040CC1A00401F767D030692036140765C8006008076F9151F765C03408FF22BA0 +:200D6000008F3E4900B61202BDB2AC2B013B1AC21EA020A81F767D0310C31F765C031C1E99 +:200D8000008F30DFA9A8AC81A98AC42B008F30DEA9A8AC81A98AAC92019CC4211052A92DCF +:200DA000F0641F767D03019206521860008F30DF408F30DEBF56C4031F765C03BF56C50141 +:200DC000BF56CC03CD2BBF56D402BF56D503BF56DC02BF56DD0210282C011F767D0301926B +:200DE00001521F601F765C03AC2B013BBF5610C8008F30DFA9A8AC81A98ABF56C403008F73 +:200E000030DEA9A8AC81A98AAC92AC9301F002910190A8CAC496AC92019CA92D0452E96461 +:200E20001F767D03009209523460008F30DF408F30DEC42BBF56C50108D0BF56CC010ED13E +:200E4000CD2BBF56D404BF56D503BF56DC04BF56DD02BF56E404BF56E505BF56EC04BF56C1 +:200E6000ED04BF56F406BF56FC05BF56940609D0BF5694070AD0BF5694060BD0BF56940611 +:200E80000CD0BF5694060DD0BF569408BF569C08AC2B013B90E50356AC01807660DF008F2E +:200EA0008ADF5AFF0156A600A9A8AC81A98AC6C3408F6CDFA9A9C42B0156A500AC92019C07 +:200EC000A92D03E2C5000652E764AC2B013B00BE0356AC01008F42DC0156A400AC92019C95 +:200EE000C4C2A92D1C52F564AC2B013B0356AC01008FC0DE0156A400AC92019CC4C2A92D57 +:200F00002052F564AC2BC0762ED71235408F40D7008F00D90156A5000156A400AC92019C8D +:200F200011F68524A92D185211F68424EF64AC2B1235008FC0DD0156A400AC92019CA92DC9 +:200F4000045211F68424F5641F767D030092A993FF9D01532269A993FD9D015315690752D4 +:200F60000A61095222601F765C03BF56070FBF56080D1B6F1F765C03BF560608BF5607081B +:200F8000BF560808126F1F765C03BF560608BF560710BF560810096F1F765C03BF56060AAA +:200FA000BF560714BF560814BE8B06001F767D0305921F765C030780026104DF00D5013B03 +:200FC00000D40356A5038076F0D8A4810156A60001DCA492C62B0852F56401DDA59202523C +:200FE000F0641F767D03019204526D61A79200D52D65013BA592A2FF008FF0D8CBFFA594C3 +:20100000A3FFA927A9A8AB81A61E0356AB04A92D019BA592ACEA189A67FFA594C699A988F5 +:20102000A2FFCBFFA594189CA3FFA92701DDA9A8AB81A98A0356AB04A92DA692ACEA019A11 +:2010400066FFC498A792A554D66200D5013B008FF0D803BEA9A8A581A71EA592A672A9A860 +:20106000A681A98A08D001DDC7929496A5920352EF641F767D030192008FF8D8025204603F +:20108000A9280003036FA928000FFC981F767D0305920961408FF0D8A58A0FDCC41AFF00F2 +:2010A000F51A003F1F767D03019206521260408FF0D8A58A0FDCC41A3000FD1A00E0CD1AD3 +:2010C0000030076F008FF8D8C41A0F00F41AFC01008FF0D8A48308DC01DDC51A0100F41AE5 +:2010E0000700FC1A00E00600BDB2BDAABDA203E2BD0403E2BD0503E2BD060CFE1F767D03A4 +:201100004496019206520860449206601F765C030B920B2B0C961F765C030792008F30DED3 +:20112000013B4494A988A9A84481A98A808DC0DBC4924696449201F0019047964492A0FF9D +:20114000A92D499603354896049AAC94A95BA9AAA681A98A457EC44FEDFFBE02008FBCDD8B +:20116000A9A84481A98A64BE4492A672C4E2C405A9AAA681A98A8CE62800408D78DF13E247 +:20118000C40044920356A9010156A1004C1E02E891340BE801E0AFE2C10020E72800407696 +:2011A0004BB3442D008FC0DD1235AFE2C10110E740000156A40003E2C1004076E9B5013B92 +:2011C0008CE60000A9AA4481A6BF120FA98A70D0408F2ADD947E4C060156A500A685A9BDC5 +:2011E000120F007700770077007789E60000408D6CDF21E3C5414C0600E70C000156A10024 +:2012000000E72101AFE2C10320E7C80002E8512B0BE8010040764BB3AFE2C10110E7400009 +:20122000007703E2C100407672B6013B008F8ADF8CE60000A9A84481A98A13E2C400449235 +:20124000A940ECFFAA001F765C03CFE62000AFE22A0140762A80452D008F00D912350156B3 +:20126000A4004076E9B54488008F30DF013BA9A8A681A98A1F765C0303E22C00C492035275 +:20128000086012E8000D14AD046390E503E22C00008F30DFA9A8A681A98AC49202520860D6 +:2012A00012E8B01414AD046390E503E22C0001E8A9FDAFE22C0508E8992740764BB31F7678 +:2012C0005C03CFE606000E921660008FC0DB4588013BA9A88CE6280018D0A681A98381DE26 +:2012E000A9A8A681A98A13E295008CE6330018D013E29403013BCFE62000AFE22A01408D06 +:201300006CDF0356A301AFE6000020E740000156A10000E70100AFE2C10020E7080002E87E +:20132000512B0BE8010040764BB3AFE2C10110E74000007703E2C100407672B6013B408FF9 +:201340008ADF8CE60000A9A0A381A61EABBF120F68B6C63F4892A772008FC0DBA9A8A7813D +:20136000A61EA9A04681A71EAA286900C792C696A9A04481A71E4892AA72A9A8AA81A61EDB +:20138000AA286A00C792C6964892AA72A9A8AA81A98AC43F116F1F767D03019201520660D3 +:2013A000CFE62000AFE60000036FCFE620001F765C0303E22A00008F8ADFA9A84481A9833F +:2013C000A9A84681A98AC8E2C400008F8ADFA9A8A381A98A4488C8E2C401008FC0DBA9A8FE +:2013E000A681A98AC8E2C505432BC492CDFF01F00190008F8ADFA959A9A8A681A98A96E6EC +:20140000050096E60D00C8E2C400CFE6290020E7280040764BB301E8C9F400D50CE8D1CC03 +:2014200094E6080014AD0B651F765C03C8E21000007794E6050014AD026501D54492013B45 +:20144000008F60DF1F765C030356A901412B0156A4001E064076468000520A614393A1CCC0 +:201460000100045187FFA818FFFEA8CA4396008F8ADF013BA9A8A381A98AC8E2C400CFE689 +:20148000290020E7280040764BB301E8C9F400D50CE8D1CC94E6080014AD0B651F765C038D +:2014A000C8E21000007794E6050014AD026501D5013B008F60DF1F765C030356A301412B17 +:2014C0000156A4001E064076468000520A614393A1CC0100045187FFA818FFFEA8CA43968D +:2014E0001F767D0301920652606047925E60008FC0DB013BA9A84581A98A30D0C8E29400A7 +:20150000007794E6060014AD0A654393A1CC0100205187FFA818FFFEA8CA4396008F30DFC3 +:20152000A9A84481A98AC49203522760008FC0DBA9A84581A98A48D0412BC8E2940000D525 +:2015400094E6060014AD026301D54992008F96DF1F765C030356A9010156A4001E06407664 +:20156000468000520A614393A1CC0100085187FFA818FFFEA8CA4396008F30DF013BA9A892 +:201580004481A98AC49202521060008FC0DBA9A84581A98A48D0C8E29400007794E6060078 +:2015A00014AD0365431A10004492015204610352E0FF87004392E1FF84001F767803089269 +:2015C0007F601F7678032A060C192C0F036728062C1E2C8A8CE62000A9A801092C1E13E2C8 +:2015E000C4002C8A1F765C03AFE22A00A9A81F7678038CE6000001092C1E13E2C4002C8A2C +:201600008CE62B00A9A801092C1E13E2C4032C83013B008F8ADFA9A001092C1EA9A8448136 +:20162000A71EC792C5962C83A9A001092C1EA9A84681A71EC792C5962C83A9A001092C1E08 +:20164000A9A8A381A71EC792C5962C8A1F765C03A9A80109AFE22C001F7678038CE6000058 +:201660002C1E13E2C4002C8A8CE63200A9A801092C1E13E2C4022C83008FC0DBA5C4A9A81A +:201680004481A71E01DE70DF2CC2C792C5962CC5A70601092C1E1F765C0310921F76780358 +:2016A000C7962CC5A70601092C1E4392C7962CC5A70601092C1E1F765C030E92C7961F7631 +:2016C0005C030E921560AD5C459283DCA45C407600800E6F008FC0DBA9A8A681A983A9A885 +:2016E000A681A98AC52B18D0C51A0080942B8CFEAFE2BE06AFE2BE05AFE2BE04BE82BE8690 +:20170000BE8B06001B76F0FF00E2BD0030E60006422916562576006F1B76F0FF00E2BD003F +:2017200030E6000602FE422916561F7633003892419623760008267600003892382B21289A +:20174000FFFF1029103B419238962576006F1B76F0FF00E2BD0030E6000602FE422916564A +:201760001F763300389241962376000826760000381890002128FFFF1029103B4192389677 +:201780002576006F1B76F0FF00E2BD0030E6000602FE422916561F7633003892419623762B +:2017A000000826760000381890002128FFFF1029103B419238962576006F1B76F0FF00E2CD +:2017C000BD0030E6000602FE422916561F76330038924196237600082676000038189C00C7 +:2017E0002128FFFF1029103B419238962576006F1B76F0FF00E2BD0030E6000602FE4229CD +:2018000016561F76330038924196237600082676000038189E002128FFFF1029103B41922A +:2018200038962576006F1B76F0FF00E2BD0030E6000602FE422916561F763300229241966B +:2018400023760101221868002128FFFF1029103B419222962576006F1B76F0FF00E2BD00CC +:2018600030E6000602FE422916561F76330022924196237601012292222B2128FFFF102906 +:20188000103B419222962576006F1B76F0FF00E2BD0030E6000602FE422916561F7633008E +:2018A000229241962376010026760101221878002128FFFF1029103B419222962576006F53 +:2018C0001B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF00E2BD0030E67E +:2018E00000064229165610292576006F1B76F0FF00E2BD0030E600064229165610292576E2 +:20190000006F1B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF00E2BD00E4 +:2019200030E600064229165610292576006F1B76F0FF00E2BD0030E6000642291656102926 +:201940002576006F1B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF00E2C6 +:20196000BD0030E600064229165610292576006F1B76F0FF00E2BD0030E600064229165662 +:2019800010292576006F1B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF2F +:2019A00000E2BD0030E600064229165610292576006F1B76F0FF00E2BD0030E600064229AC +:2019C000165610292576006F1B76F0FF00E2BD0030E6000602FE422916561F7633002292CA +:2019E000419623760100267601012292222B2128FFFF1029103B419222962576006F1B76E6 +:201A0000F0FF00E2BD0030E6000602FE422916561F7633002C924196237620002676390159 +:201A20002C922C2B2128FFFF1029103B41922C962576006F1B76F0FF00E2BD0030E60006EC +:201A400002FE422916561F7633002C92419623762000267639012C1832002128FFFF1029CD +:201A6000103B41922C962576006F1B76F0FF00E2BD0030E6000602FE422916561F763300A2 +:201A80002292419623760100267601012218F8002128FFFF1029103B419222962576006FF1 +:201AA0001B76F0FF00E2BD0030E6000602FE422916561F763300229241962376010026768B +:201AC00001012218FA002128FFFF1029103B419222962576006F1B76F0FF00E2BD0030E63B +:201AE000000602FE422916561F763300309241962376800026760000301803002128FFFF61 +:201B00001029103B419230962576006F1B76F0FF00E2BD0030E6000602FE422916561F76F7 +:201B20003300329241962376000126760001321875002128FFFF1029103B419232962576E0 +:201B4000006F1B76F0FF00E2BD0030E6000602FE422916561F763300329241962376000107 +:201B6000267600013218FD002128FFFF1029103B419232962576006F1B76F0FF00E2BD00F2 +:201B800030E6000602FE422916561F7633003092419623768000267600002C18230021288C +:201BA000FFFF1029103B419230962576006F1B76F0FF00E2BD0030E6000602FE42291656EE +:201BC0001F763300329241962376000126760001321871002128FFFF1029103B419232964A +:201BE0002576006F1B76F0FF00E2BD0030E6000602FE422916561F763300329241962376CD +:201C00000001267600013292322B2128FFFF1029103B419232962576006F1B76F0FF00E233 +:201C2000BD0030E60006422916562376390110292576006F1B76F0FF00E2BD0030E60006A3 +:201C4000422916562576006F1B76F0FF00E2BD0030E600064229165610292576006F1B76BD +:201C6000F0FF00E2BD0030E6000602FE422916561F7633002C9241962376200026763901F7 +:201C80002C1837002128FFFF1029103B41922C962576006F1B76F0FF00E2BD0030E6000624 +:201CA00002FE422916561F7633002C92419623762000267639012C922C2B2128FFFF1029CC +:201CC000103B41922C962576006F1B76F0FF00E2BD0030E6000602FE422916561F76330040 +:201CE0002C92419623762000267639012C1833002128FFFF1029103B41922C962576006FDF +:201D00001B76F0FF00E2BD0030E6000602FE422916561F7633002C924196237620002676FF +:201D200039012C1822002128FFFF1029103B41922C962576006F1B76F0FF00E2BD0030E664 +:201D4000000602FE422916561F76330038924196237600082676000038189F002128FFFFCA +:201D60001029103B419238962576006F1B76F0FF00E2BD0030E6000602FE422916561F768D +:201D800033003892419623760008267600003892382B2128FFFF1029103B419238962576FE +:201DA000006F1B76F0FF00E2BD0030E60006422916562576006F1B76F0FF00E2BD0030E663 +:201DC0000006422916562376390110292576006F1B76F0FF00E2BD0030E6000642291656FE +:201DE0002376391110292576006F1B76F0FF00E2BD0030E600064229165610292576006F68 +:201E00001B76F0FF00E2BD0030E6000602FE422916561F763300309241962376800026769A +:201E20000000301801002128FFFF1029103B419230962576006F1B76F0FF00E2BD0030E6B6 +:201E4000000602FE422916561F7633003092419623768000267600002C922C2B2128FFFF33 +:201E60001029103B419230962576006F1B76F0FF00E2BD0030E6000602FE422916561F7694 +:201E800033002A92419623761000267610012A922A2B2128FFFF1029103B41922A9625761C +:201EA000006F1B76F0FF00E2BD0030E6000602FE422916561F7633002A924196237610009D +:201EC000267610012A1802002128FFFF1029103B41922A962576006F1B76F0FF00E2BD008A +:201EE00030E6000602FE422916561F76330024924196237602002676000024181F002128BF +:201F0000FFFF1029103B419224962576006F1B76F0FF00E2BD0030E6000602FE4229165696 +:201F20001F763300269241962376040026763D012692262B2128FFFF1029103B4192269670 +:201F40002576006F1B76F0FF00E2BD0030E6000602FE422916561F76330024924196237677 +:201F600002002676000024180F002128FFFF1029103B419224962576006F1B76F0FF00E2B4 +:201F8000BD0030E6000602FE422916561F763300269241962376040026763D01261826005F +:201FA0002128FFFF1029103B419226962576006F1B76F0FF00E2BD0030E6000602FE422917 +:201FC00016561F7633002492419623760200267600002492242B2128FFFF1029103B419266 +:201FE00024962576006F1B76F0FF00E2BD0030E6000602FE422916561F76330026924196B4 +:202000002376040026763D01261826002128FFFF1029103B419226962576006F1B76F0FF01 +:2020200000E2BD0030E6000602FE422916561F763300249241962376020026760000241846 +:2020400008002128FFFF1029103B419224962576006F1B76F0FF00E2BD0030E6000602FEDB +:20206000422916561F763300269241962376040026763D012692262B2128FFFF1029103BE7 +:20208000419226962576006F1B76F0FF00E2BD0030E6000602FE422916561F763300249217 +:2020A0004196237602002676000024180C002128FFFF1029103B419224962576006F1B76D7 +:2020C000F0FF00E2BD0030E6000602FE422916561F763300269241962376040026763D01B1 +:2020E0002692262B2128FFFF1029103B419226962576006F1B76F0FF00E2BD0030E6000638 +:2021000002FE422916561F76330024924196237602002676000024180E002128FFFF102992 +:20212000103B419224962576006F1B76F0FF00E2BD0030E6000602FE422916561F763300E3 +:20214000269241962376040026763D0126183E002128FFFF1029103B419226962576006F99 +:202160001B76F0FF00E2BD0030E600064229165610292576006F1B76F0FF00E2BD0030E6D5 +:20218000000602FE422916561F76330028924196237608002676080128180F002128FFFF2D +:2021A0001029103B419228962576006F1B76F0FF00E2BD0030E6000602FE422916561F7659 +:2021C000330028924196237608002676080128180F002128FFFF1029103B419228962576AF +:2021E000006F1B76F0FF00E2BD0030E6000602FE422916561F763300289241962376080064 +:2022000026760801281803002128FFFF1029103B419228962576006F1B76F0FF00E2BD0051 +:2022200030E6000602FE422916561F76330028924196237608002676080128180300212880 +:20224000FFFF1029103B419228962576006F1B76F0FF00E2BD0030E6000602FE422916564F +:202260001F7633002A92419623760800267608012892282B2128FFFF1029103B4192289654 +:202280002576006F1B76F0FF00E2BD0030E6000602FE422916561F76330028924196237630 +:2022A000080026760801281802002128FFFF1029103B419228962576006F1B76F0FF00E267 +:2022C000BD0030E6000602FE422916561F76330032924196237600012676000132187500F5 +:2022E0002128FFFF1029103B419232962576006F1B76F0FF00E2BD0030E6000602FE4229C8 +:2023000016561F7633003292419623760001267600013292322B2128FFFF1029103B4192F8 +:2023200032962576006F1B76F0FF00E2BD0030E6000602FE422916561F7633003292419656 +:202340002376000126760001321831002128FFFF1029103B419232962576006F1B76F0FFDB +:2023600000E2BD0030E6000602FE422916561F76330032924196237600012676000132926D +:20238000322B2128FFFF1029103B419232962576006F1B76F0FF00E2BD0030E6000602FE35 +:2023A000422916561F7633002E92419623764000267600002E922E2B2128FFFF1029103B8E +:2023C00041922E962576006F1B76F0FF00E2BD0030E6000602FE422916561F7633002E92C2 +:2023E000419623764000267600002E1828002128FFFF1029103B41922E962576006F1B7626 +:20240000F0FF00E2BD0030E6000602FE422916561F7633002E924196237640002676000067 +:202420002E1820002128FFFF1029103B41922E962576006F1B76F0FF00E2BD0030E600068F +:2024400002FE422916561F7633002E92419623764000267600002E1838002128FFFF1029D3 +:20246000103B41922E962576006F1B76F0FF00E2BD0030E6000602FE422916561F76330096 +:202480002E92419623764000267600002E1838002128FFFF1029103B41922E962576006F46 +:2024A0001B76F0FF00E2BD0030E6000602FE422916561F7633002E92419623764000267636 +:2024C00000002E183E002128FFFF1029103B41922E962576006F1B76F0FF00E2BD0030E6D7 +:2024E0000006422916562376390110292576006F1B76F0FF00E2BD0030E6000602FE422943 +:2025000016561F763300229241962376010026760101221848002128FFFF1029103B4192A4 +:2025200022962576006F06000052A888C48A096509520763FF9CC4CDF8FF0790A8CAC4964A +:20254000A69245520D614E5208614F520D60C41A2000C418BFFF086FC418DFFF056FC41A0C +:202560002000C41A4000A59201520360C4187FFF02520360C41A8000C418EFFFC418F7FF25 +:202580000600BDB200D5013B008F40DEA9A8A581A98AC47D01DDA5924652F76433D1008F82 +:2025A00040DE34D0BF569C0CBF56940C1F76400335D03BD1BF56940836D0BF56940937D02E +:2025C000BF56941038D0BF56940839D0BF56940C3AD0BF56940C3DD0BF569C053CD10092AA +:2025E000FE9C949641D00092FF9C94963ED0BF56940810D0BF56DC08BF56F408BF56940D50 +:20260000BF56EC1BBF569C12BE8B0600A9BD120F00770077BDB21F7671038BE60100A48BFE +:2026200050E8094088E23C0040764BB388E6000000770077A9BF120FC18AA993B7FFFF910D +:20264000D497C18AFF90DC96BE8B06000852A927A4C50960089A01D54E9B40762190008D23 +:202660003B03972BAB9209520B60089AA78A01D54E9B40762190008D3B03BF5697010600E0 +:20268000A71EBDB2A492BDAA0152BDA22A60008F5070C08D40D01F76410300A822761F76D3 +:2026A000BE01408FFAB109CDFFF7A81A0004008FB5B1099709CDFFFD1F763700A81A000159 +:2026C00000A01F76BE0109971F76370002A81F763300321A0100321A0200237600011A7663 +:2026E00002523360008F5077C08DC0D31F764F0300A82276408F806F1F76BE01FDCDFFEFCC +:20270000807670B1A58AA81A0020079716DD07CDFF3F1ADCA81A008007971F763700C5186F +:20272000CFFF408F2BB1C41A040004C21F763300321A04001F76370006A01F763300321ADA +:202740000800237600011A76D396A38A01D54E9B69FF089AC38640762190A2C4A2830BD0D2 +:20276000A28A0CDE0CDDC61A00400ADCC518FFDFCA18BFFFCA18DFFFCA18F7FFCA18FBFF85 +:20278000CA1A0200CA1A0100C418FFBF92CCE0FF0BD00150929640764E90A38AA70640761F +:2027A0009390D392025205601F76BF01081A0400C38A099ABF56E402A38A4076B390408D7F +:2027C00033030CD0932BA28A008D9E01932B9B2B0BDCC41A4000CA1A2000BE82BE86BE8B77 +:2027E00006001F764103BF5602011F764F03BF5602021F764003009606000002008D42039A +:20280000941E0600BDB2BDAAA486008D3A0392923660A9AA13FF6700A98A008D36030102B4 +:202820000156C4009206008D3803920F0466C28ABF56E40208D092C5A7C408D0090201DE6F +:2028400092C2C207A98A008D3603C792C4969206008D3803920F4966C28AE446FE6CA28AF3 +:20286000099A4076B390D292025205601F76BF01081A0400008D9E01922B376F008D3803CD +:20288000928A408D3803A492008D36030190A98801DC9AA89206008D3803920F0466C28A80 +:2028A000BF56E402A6920B6008D092830902C207A98AC592A7FFFF90C4960D6F08D0928337 +:2028C000A5C408D0090201DE92C2C207A98AC592FF90C496008D36039206008D3803920F76 +:2028E0000466C28AE446FE6C1F763300211A0001BE86BE8B0600BDB200BEACA0BDAAA486ED +:20290000BDA2A98201DEA61B3075FD69D292025205601F76BF010818FBFF00BE01DEA61B98 +:202920001027FD69408D3603A9AB08D09AA20109921E008D3A03922BC28AE446FE6CA28A3F +:20294000089A4076B39001BE008D38030102A30F92C21C68A7AB0902C207A98AC792C496BC +:20296000C28AE446FE6C00BE01DEA61BE803FD69A28A099A4076B390D292025210601F7643 +:20298000BF01009A081A04000B6FC28A0902A7ABBF56E401C207A98AC792C496009ABE8211 +:2029A000BE86BE8B0600BDB2BDAAA486EFFF2A01C28AFCCCFF00A958EC47EDFF1D01408D4D +:2029C000A0019A92E0FF1E01408D3B039A920152116000BE408D3D03BF569A01408D3403B2 +:2029E0009AC2408D3F039A2B408D3E039A2B0DD19A2B408D3F039A92E0FF0401408D3D0305 +:202A00009A924F60F2C4208F0000A9A8A60F06662F8F0000A9A8A60F0867608F00000AD107 +:202A2000208F0000F2A09AA80CD19A923A52E0FFE900408DA0019A922E60408D34039AC42C +:202A4000A692A94001DE9AC2066DF28A0356A008C496076FF28AA9A80109F21EA092C498E5 +:202A6000008D34039206E20FE8FFCC000FD10CD0BF569A33A28A099ABF5692334076B39016 +:202A8000408D3F03008DA001BF569A01BF569201EFFFB800008D3F03BF569201EFFFB200E4 +:202AA000408D3E039A923E60A0921F760403115425611F767E031B5403601B921F60A08849 +:202AC000408D31039A0EA60F0560408D33039A921560A0921F767E031A5407601A92056160 +:202AE000408D33039A920A61408D3F03008D3D03BF569A01922BEFFF8500408D32039A786C +:202B0000408D3E039A80019A013BA7949A96A9AAA781A98A0ED1089A9C78A28A4076B390E3 +:202B2000706F9A80019A013BA7949A96A9AAA781A98A0ED19C78408D3E039A9207520E60B8 +:202B40000DD19A9210520A60408D33039A9206600A9A1F767903A0941096408D3E039A9241 +:202B600002521A60A0920DD103529A78336842523166008F40DE949203522C68A0923352D7 +:202B80000B600CD19A923A522560A09233520460008D3D03922B0DD09258408D3E03008FA7 +:202BA00040DE9A9294540467A91B90012A68A28A099A4076B390408D3D039A2B0DD0408D4D +:202BC0003F03BF569A01408DA001BF569A01922B186FA28A099A4076B390408D3E039A2B06 +:202BE0000DD0408D3D03BF569A01408D3F039A2B922B076FC28ACC18DFFFC28ACC1A2000D4 +:202C0000C28AEC46EDFFD6FE1F7633000BDC211A0001C41A4000BE86BE8B0600BDB2BDAA04 +:202C2000A486A61EBDA2A582D292025205601F76BF010818FBFF408D360308D09AC292A226 +:202C4000008D3A03BF569201C28AE446FE6CA28A089A4076B390008D38030102921EC2839B +:202C600000BE0902BF56E501C207A98AC392A7FFFF90C496A692BE82BE86BE8B060022760D +:202C80001F767D0316D0008F806F079294CDFCFF03901F76BE0118D0A8CA16961F767D03C4 +:202CA000089294CDFCFF03901F76BE011AD0A8CA18961F767D030992019094CDFEFF1F76F9 +:202CC000BE01A8CA1BD01A961F767D030A9201901F76BE0194CDFEFFA8CA1B961A7669FF19 +:202CE000060016D0008F806F1F767D039492039018D00796949203901AD00896949201901F +:202D00001BD00996949201900A9622761F76BE011618FCFF1818FCFF1A1A01001B1A010027 +:202D20001A7669FF06001F767D03019302531660008F880A1F76BF01A94002A8036C041A8B +:202D40000008A941036C041A0002A942036C041A8000A943036C041A080003533B60AB28B5 +:202D6000CB0BAA2800091F76BF01248F0000005202A90AA80360041A000801520360041A8E +:202D8000000202520360041A800003520360041A080004520360041A020005520360041A4D +:202DA000000106520360041A400007520360041A010008520360051A000809520360051A5D +:202DC00000010A5203600D1A20000B5203600D1A040001531E60AB2BAA28000B1F76BF0127 +:202DE000128F0000A94004A90CA8036C031A0008A941036C031A0001A942036C031A000264 +:202E0000A943036C0B1A0200A944036C0B1A1000060022761F76BE01408F806F06180000D1 +:202E20000F8F00F0A5C4071800FF08183F00091800FF1BDD0BDE1606A918C0FF161EA9A8FC +:202E400018C0A89219C0C618EFFF0B18DFFF0B18BFFFC518F7FF1A76008FC06F1F767D03A3 +:202E6000BF56000109D0CC92C4FF01F0019000721F76BF010192C3FF1F767D0301F001900D +:202E800080FF00721F76BF010192C5FF1F767D0301F0019081FF00729492C2FF01F00190A3 +:202EA00082FF009400960352036104520360BF5601010152036102520360BF560103055200 +:202EC000036106520360BF56010607520360BF56010208520360BF560104095209610192B4 +:202EE000015208610552066106520461056FBF560105BF56060101920152036106520360EB +:202F0000BF5605010252036103520360BF5603010152036105520360BF56020101520361CD +:202F200003520360BF56040202520360BF56040103520F6101520D61065206611F76BF0153 +:202F40000D1A00100A6F1F76BF01021A8000056F1F76BF010B1A001006520E61035209614C +:202F6000015204610D1A0080096F0B1A0080066F0B1A0040036F021A800006520B610452D3 +:202F80000961025204610B1A0004066F0B1A0040036F021A000206520661045204610B1ADC +:202FA0000020036F021A0800227604520A6204522461015240610252346103522661446FBA +:202FC0000552116106524060088F8A021F76BE01059AA82801FC0AA81A1E1F76BF01021AF2 +:202FE0000800326F088F00001F76BE01049AA82801BC0AA81A1E286F088F49031F76BE015A +:2030000005020AA81A1E206FA928CB0BA82808091F76BE010A1E059AA828257C1A1E146F61 +:20302000088F8A0B1F76BE01059AA82801F80AA81A1E0A6F2FFF10161F76BE010A1E059AD6 +:20304000A82813BC1A1E1A7669FF0600BDB2BDAABDA202FE1F767D03019200D200D30252C5 +:2030600032601F76BF0116D0008FC0DB0992C1FF94CDFEFF01F016D116D00190A8CAA9CD69 +:20308000FDFF949616D0099203F01F766F030290A8CA9C9600CDFFF39492039089FFA8CAE7 +:2030A00000961F76BF010040036C0102A9860042026C02DA004A026C04DA0044026C08DA8E +:2030C00010D0947A1F767D03019201523160408DC0DBA18A1F76BF01A183877620A116DCBA +:2030E000C418FDFF16DD0992C3FFA18A03F00290C59816DCC418FBFF0992412B008F4CDF12 +:20310000C1FF01F00190A95DA606407646800356A902A18A1F766F0316D0079016DCC4983E +:2031200000CDFFE79192069089FFA8CA00961F767D03019204525B60408DC0DBA18A1F76B2 +:20314000BF0116DCC418FEFF01CC0004C9FF412BA95D008F4CDF20FFE8034076468016D9AA +:203160001F76BF010190C198014B026C01DA0148026C02DA0945026C04DA0942026C08DAB3 +:20318000014A026C10DA0147026C20DA0944026C40DA0044046CA9AA8009A9860149056C8D +:2031A000A9AA18FF0100A9860941056CA9AA19FF0100A986004B056CA9AA1AFF0100A986C7 +:2031C0000045056CA9AA1BFF0100A9860940056CA9AA1CFF0100A986004A056CA9AA1DFF1A +:2031E0000100A98610D0008FC0DB947A1F767D030192065210601F76BF010046026D01DA32 +:203200000048026D02DA004B026D04DA10D0008FC0DB947A1F767D0301920552E0FF890004 +:203220001F76BF010945036D01DA026F10DB0944036D02DA026F40DB0042036D04DA056F1B +:20324000A9A21CFF0100A9820044036D08DA056FA9A21DFF0100A9820046036D10DA056F2B +:20326000A9A21EFF0100A9820040036D20DA056FA9A21FFF0100A9820048036D40DA056FC1 +:20328000A9A21FFF0200A982004A056DA9AA8009A986056FA9A21FFF0400A9820043066D0F +:2032A000A9AA18FF0100A986056FA9A21FFF0800A9820045066DA9AA19FF0100A986056F9D +:2032C000A9A21FFF1000A9820047066DA9AA1AFF0100A986056FA9A21FFF2000A98200418B +:2032E000066DA9AA1BFF0100A986056FA9A21FFF4000A982004B066DA9AA1CFF0100A9861A +:20330000056FA9A21FFF8000A9820049066DA9AA1DFF0100A986056FA9A21FFF0001A982C1 +:203320001F767D0310D0008FC0DB10A2947A008FC06FCC92013B1F76BF01C4FF01F00190BC +:2033400009D0A985A9860192C3FF01F0019080FFA9850156A2000192C5FF01F0019081FF61 +:20336000A9850156A2009492C2FF01F0019082FFA9850156A20017D0008FC0DB82FE947A76 +:20338000BE82BE86BE8B06001F76BF0100920093C5FFD7FF01F001F10190019190FFA9CB3D +:2033A0000092CAFF01F0019081FFA8CA060009D0008FC06F1F76BF0194CD0004D9FF09CC3A +:2033C000004090FFCDFFA9CBC492C2FF01F0019081FFA8CA06001F767803BDB20B93A988FF +:2033E0000153BDAAE0FFEC001F767D0301930653E0FFE6001F765C030D93E0FFE1001F7697 +:203400007803099308CBE0FFD9007FD0008FC0DB179394271660AB46036C1B46086CAB478F +:20342000036D1B47046D00530C600F6F0C1B900103680C288F01182B1728E803A61A0001F7 +:203440000C1B1F03E7FFB700A6920552056018930361A61A0002AC28200311300E0DA98A3B +:2034600034FFA71E608F0000A9A832FFA7070156A5002406C5962406CD97D57EDD3F407601 +:203480005197E596407664971F767D03008FC0DBA4C5ED961A061F767D037BDFF596188833 +:2034A0001CDC08D009D1FD7EC792A4C5008FC0DB959600D0C7929D96A9A80AD1A00DA71ED6 +:2034C000A61EA092A17218DFC7929D96A092A6C50ED1A17201D8C7929D96A0920452ED688F +:2034E0001F76780312D01992C076A6DF13D1959614D0C7929D9615D1CF92959616D0D79234 +:20350000A4C59D9618D11A921F767C0379DF959617D01892959619D0BF569D06BF569510CC +:20352000C792A4C51AD178DF9D96C792A4C51BD07ADF95961CD0C792A4C51ED11F76780376 +:203540006EDC6FDF95961DD0C792A4C5008FBCDD95961FD0C7929D9620D11E92959621D06E +:203560001F929D9622D12092959600D021929D9623D122929D9624D1A092A172949301D8CC +:20358000A0929D970452F8681F7678031B3FE5921C96A9282003ED930E0A1D970E54026078 +:2035A0000E2B0C1B200302670C0A010201562600066FBF561801036FBF560B03BE86BE8BC4 +:2035C0000600BDAAAA280100A888A9800876303BBE5AA75D008F0010A9A8A50F2B60A693E5 +:2035E0005461A75DA9A8A50F2560A693015322601F767D03019206521D601F765C030D9269 +:2036000019601F7678030B92015214610C2B7FD00E2B172B162B008FC0DB0D2B102B9492B7 +:203620001B96092B082B019ABF560B0140767897316FA75D20FF0110A50F0B601F767803EE +:203640000B9201520661A6930461A61BE8031B69A75D20FF0210A50F0460A61B20030F689D +:20366000A78020FF0310A70F0860A692015205661F767803167E0E6FAA2B0C6F1F7678035C +:203680000D7E086F0F7E066F1F767803BF560B03172BBD7A0076AA92BE8606001F7678036E +:2036A0000C9311880E92150A111C0100172B0C2B1397127E14960E2B06000876303BBE2F73 +:2036C0001F7678030B9201521860010201562400100A0F9210540566102B019A40767897CF +:2036E0001F76780317920961FF9C17960660059A407678974076DB98BD570076060008765E +:20370000303BBE2F049A40767897BD57007606000052A88005611F7678031393046F1F76C0 +:2037200078030C93005203611488026F0E88005203611227026F1127A7550366009A1B6FF5 +:20374000A692A89EA794A9082003A91B20030668A908E0FCA91B2003FC67AC28007DAB3282 +:20376000AC282800A930AB07A40D208F00000156A400C4920600A988A693A80800F00F539F +:203780003B660356A601C0763AC1A927AB0800E0A706AB0DA71EC7C52076A9284D55EFFF47 +:2037A000A000029AEFFF9D00289AEFFF9A00A9282003EFFF96001F7678030F92EFFF910050 +:2037C0001F7678032406EFFF8C001F7678032406A80EEFFF86001F767D030192EFFF8100BA +:2037E0001F767D0300927C6FA928E803796F1F7678031792756FA61B10105D68A61B8810F7 +:203800001D671F767803169304600B9301531661A692A908F0EFA988AC28CDCCA636AC2888 +:20382000150022560D93A92D2831A692AC95ABEAAB5C169240761599536FA61B00113B68D4 +:20384000A61B7C1138671F7678030C9303530468AB280300026F0C27A60800EF2606AB011B +:20386000A71EA6920360A7923B6F01520460A706A80E366F02520360AB92326F03520560F7 +:203880001F76780315922C6F84DEAC28CDCCA636AC2815002256A92DAB92AC540C690C93A3 +:2038A000A692AB9F2831ABEAAC95AB5C009A40761599166F009A146F1F7678031692056192 +:2038C0001F76780313920C6F0C920A6F1F76780316920361039A046F1F7678030B920600C2 +:2038E0001F7678030B92015227601F767D030192065222600876303BBE2F7FD0008FC0DB70 +:2039000094881F7678031B0EA60F116040765197A9881F7678031C0EA60F09604076649754 +:20392000A9881F7678031D0EA60F0461039A40767897BD5700760600A9881F7678030B9231 +:20394000015217601F767D030192065212600876303BBE2F1F767803197E8076A6DF029A97 +:20396000C697CE7CD67D1A0A40767897BD5700760600608F00001F767803208F00FA28A064 +:203980002AA828062C1E2E2B2806046FA98A842BA9A81F7678032A0FFA680600BDB200BED2 +:2039A00000D0408FC0DBAA2B008F80DCA9A8A00DA98A9580C427A70EAB0F0361C47F01BE07 +:2039C00001D8A0928052F168A6921061408D80DC809AA18A40760EB480D0A82802019196D8 +:2039E000A18AA9287E3F40769BA1BE8B0600A888A927BDB2A9A8A48B1F767E03BDAA10FF52 +:203A0000A101408FFFFFA71EA986A98AAB921B278050C73FCF960302D77E4076FDB3A9CD20 +:203A2000FF00A7FFA283008D9E01FF90A18ADD97E5960502BF56910140760892BE86BE8B5C +:203A40000600BDB2BDAAA486008DA10100D5A9AAA50DA71EA9AAA50DA98A01DD0EDFC79236 +:203A60009496A5920852F468A28A0EDC0356D408DCCAA9590356E408ECCAA993A11B001039 +:203A80001667A19280520D677F520561008FC0DB9C97186FA89240769CA540760C99126F08 +:203AA000069AA28A029B4076849A1E6FA19240766E9800520760069AA28A039B4076849A56 +:203AC000136F008D9E01A11B0010BF569201036808BE026F0ABEA9AAA28A10FFA101A983FE +:203AE000A60640760892BE86BE8B0600BDB2BDAABDA204FEA4860EDC0356D408DCCA429639 +:203B00000356E408ECCA4396412BFF9C7D52E7FFB600429280520567809A429E435426672F +:203B20004292A91B0010E8FFAA00A91B0F100666A9281010429E435419674292A91B10105D +:203B4000E8FF9D00A91B88100667A9288810429E43540C674292A98820FF0011A60FE0FFFC +:203B60008E0043927C52E0FF8A00A9AA10FFA101A71E1F767E031B92C79643920356A901EA +:203B8000BF56CF03D796421B001005680876303BBE924196439200D327614292A91B00100F +:203BA0000767A358A072008FC0DB9488066FA392429440764899A9880356A301A98003D102 +:203BC000A9AA10FFA101A98AA793A17304D0A693D7FF9C97A793A073A6CCFF0001DB949686 +:203BE0004392A354DB66421B001004684192BD96007643920356A9014196A993408FFFFF8B +:203C0000039AA894A959A9AA10FFA101A982A98AA10E4076FDB3A9CDFF0004D09B97419303 +:203C2000A073A7FFFF9005D193964192A172069A4194A988079A9B2BA6594194A993419267 +:203C40009B2BA85908D0A0729B2B932B008D9E01BF569201421B0010036805BE026F08BE89 +:203C6000A9AA10FFA101A28AA98343920356A901A694A90E40760892066F039A029BA28AF4 +:203C80004076849A84FEBE82BE86BE8B0600BDB210FEAD5C89DCA45DAD5CC07600C18FDCA4 +:203CA000A45C08F6852400D0C07609C105F68424008FC0DB1F767D03019206520460A0922A +:203CC0007F520261942B01D8A0928052F4684076D2A4008FC0DBA4C51F767D0300921F76BD +:203CE0007D037EDFC79601920452086160D162D0BF569C0ABF569408116F1F76700300D011 +:203D0000BF562002AD5C8FDCA45C9492008F22DC949601D8A0920652F6681F767D030692AD +:203D20001F767003BF5621651A611F767D0300880092095283DE026004BE00D00129008FCD +:203D400034DC0356A603C07601DDA00D0156A700C792949601D8A0920852F4681F767D0339 +:203D600001920152116000D0008FC0DBA9A8A00DA98A01D830D1A092BF569C46105248D143 +:203D8000BF569C3CF2681F767D0301920252216000D0008FC0DBA9A8A00DA98A01D830D15A +:203DA000A092BF569CAA065248D1BF569C96F26806D0008FC0DBA9A8A00DA98A01D830D159 +:203DC000A092BF569C73085248D1BF569C69F2681F767D0301920352116000D0008FC0DB3E +:203DE000A9A8A00DA98A01D830D1A092BF569C46145248D1BF569C3CF2681F767D03009222 +:203E000009521B6000D0013BAD5C89DCA480008F30DFA7069481A71E008F08DCC792949613 +:203E200001D8A0920F52F1683DD1008FC0DB3ED0BF569C46BF5694461F767D030192065291 +:203E40002560008FC0DB30D032D19428A401A4C531D09428A40133D09C2884037ADF942821 +:203E6000840348D094282C0149D094282C014AD0942820034BD094282003C792A4C56ED1C4 +:203E80006FD09C967BDFC79294961F767D0305920A6100D0008F30DC9428000801D8A09283 +:203EA0000452FB684076D38390FEBE8B0600BDB2408D80DCA9287E3FA8280201A18A407686 +:203EC000DEA1809AA18A40760EB4A98080D0A988910EA70F0E60A688012920FFFFFFA60F0F +:203EE00008611F767D0300887ED0910EA60F15614076D49B4076D2A440765B9A1F767D0393 +:203F0000019201521F601F7670033F1A10001F765C030F28FFFF166F00D01F767D030192A5 +:203F200006520460A0927F520761008F80DC9492008FC0DB949601D8A0928052EF6840760B +:203F4000D2A4BE8B06000600A983C57C0600BDB2BDAABDA206FE1F767803A482BF56080196 +:203F60000EDCEC92FF90A95AE492FF90A988A9AA37FFA6AFA986DC92FF90A988A9AA37FF4D +:203F8000A6AFA986D492FF90A98809D0A9AA37FFA6AFA9869492FF9008D0A9599492FF904D +:203FA000A988A9B237FFA6AFA98BFC92FF90A988008D3203A9B237FFA6AFA98BF492FF9077 +:203FC000A988408FFFFFA9B237FFA6AFA98BA9A210FFA101A71E441EA98A9392C7960202ED +:203FE000BF56CC344076FDB3A90E461EA28A465DA9B24076D3B3419644830102A38A407641 +:20400000089244830102A38ABF56C534407608924192A90E461EC38AE446FE6CA9B2A38A5A +:20402000A28340769B93C38AE446FE6CA9A210FFA101A983A38A4692A993FF91A7FFFF9068 +:20404000C597CD960602D52BDD2B4076089286FEBE82BE86BE8B060006000600A98AC49255 +:204060000600A988BDB21F767103A9A8008D3203A48BBF560101BDAA10FFA101408FFFFF53 +:20408000A71EA986A98A9193C7970202CF7E4076FDB3A9CDFF00A283A7FFFF90A18AD5975A +:2040A000DD960602E52BED2B40760892BE86BE8B0600BDB202FEA48B0EDCEC92FF90A980BC +:2040C000E492FF90A988A70637FFA6AFA71EDC92FF90A9880129A70637FFA6AFA71ED492F2 +:2040E000FF90A988412BA70637FFA6AFA71EFC92FF90A9934196F492A838419620FF00808B +:20410000A70F0666A706415C4076319D086FAD5CA792029B81DCA45C40769BA1399AA18A0C +:204120004076BE9D82FEBE8B0600BDB2BDAA02FE1F767103A486BF5601010EDCEC92FF9088 +:20414000A980E492FF90A988A70637FFA6AFA71EDC92FF90A988A70637FFA6AFA71ED49272 +:20416000FF90A988A70637FFA6AFA71E012920FF0080A70F0666A7064076BB9D4196086F8E +:20418000AD5CA792029B81DCA45C4076DEA1A9AA008D320310FFA1011F767C03A71EA98BDB +:2041A000A98A9292408FFFFFC796BF56CF384192FF90D7964192A7FFFF90DF961292A9CDFC +:2041C000FF00A7FFFF90E197E99606024076FDB3A9CDFF0009D0A7FFA183A28AFF9008D19A +:2041E000F597FD960A029D2B952B4076089282FEBE86BE8B060002FEA61EAC281F00013BB6 +:204200002256A60740FF0156A400C492A640036CFF90036FA7FFFF9082FE0600BDB2A48B3A +:20422000BDAAE1C50AD09183A706A58A02194076889EA927A706A58A01194076889EA1C5A8 +:20424000008D3203408FFFFF0EDF0356A908AB94A95AA78A9192C7960202BF56CF33407614 +:20426000FDB30AD0A95DE106918A02194076D3B3A988A20EA60F1061008D3C03912BD19263 +:20428000025205601F76BF01081A0400A18A099A4076B390096FA18A339A4076BE9D008D15 +:2042A0003C03BF569101BE86BE8B0600A4830EDDED92FF90A980E592FF90A988A70637FF22 +:2042C000A6AFA71EDD92FF90A988A70637FFA6AFA71ED592FF90A98809D0A70637FFA6AF60 +:2042E000A71E9592FF9008D0A90EE41E9592FF90A988E40637FFA6AFE41EFD92FF90A98805 +:20430000E40637FFA6AFE41EF592FF90A988E40637FFA6AFE41E02020156E4000AD01F76BA +:2043200078033A9AF4C394C3BF5608014076BE9D06000600BDB2BDAABDA2A482008DA0015C +:2043400093923D61408DA0010FD09B2B935A008F40DE013BA9A8A281A98AC49203523268C5 +:20436000A91B90012F66A29233521A61008F40DEA9A8A281A98AC458A059408FFFFFA38ABC +:2043800082D981D8A1880EDC035694089CCAA959A6064076FDB3A188A90EA60F05600CD011 +:2043A000A292937A1C6FD392025205601F76BF01081A0400A38A099A4076B390A928FFFF00 +:2043C0000E6FD392025205601F76BF01081A0400A38A099A4076B390A928FFFFBE82BE86AB +:2043E000BE8B0600BDB206FEA48B0EDCEC92FF90A90E421EE492FF90A988420637FFA6AFB5 +:20440000421EDC92FF90A988420637FFA6AF421ED492FF90A98809D0420637FFA6AF421EA9 +:204420009492FF9008D0A90E441E9492FF90A988440637FFA6AF441EFC92FF90A988440621 +:2044400037FFA6AF441EF492FF90A9880DD0440637FFA6AF441E9492FF900CD0A90E461E69 +:204460009492FF90A9880BD0460637FFA6AF461E9492FF90A9880AD0460637FFA6AF461E45 +:204480009492FF90A9880ED0460637FFA6AF461E94CCFF0004520A61055212604206448A1E +:2044A00046C4A6934076DEA1076F4206448A46C4A69340769BA13C9AA18A4076BE9D86FE2D +:2044C000BE8B0600C4A0D41A01000600C4A0D41A02000600D493009A039100530260019AF5 +:2044E00006001F76BF010118F7FF06001F76BF01011A08000600227608D0408F806F1F760B +:20450000BE0195CCFCFF015008960BDD08CCF7FF0450089608CCDFFF1050089608183FFFDF +:204520001F76BF01C51A08000118F7FF1A761F76C10169FF0002BF560007BF56011F022B61 +:20454000BF56040C0A2800800B2B0C2BBF560F10D42BC41E001A800006001F767A032388A5 +:20456000BDB2A48BA6921352E6FF5801C07612C10129A7060456A601A71EC7C52076C18AAF +:20458000240ED40F0561BF562311EFFF470108D091C5673E1F767A03232B242BD118F7FFC0 +:2045A000D118FDFFEFFF3A011F76C1010246ECFF3501C18A1F767A03240EC407A71E1F7679 +:2045C000C10107921F767A03C796BF562313240AEFFF24011F76C1010246ECFF1F01079242 +:2045E0001F767A03BF5623112596EFFF17011F76C1010246ECFF120107921F767A03BF5642 +:20460000230F2596EFFF0A011F76C1010246ECFF050108D091C5673E1F76C10107400B6D3B +:20462000D118FBFF1F767A03D118FEFF232B242BEFFFF4001F767A03BF562309EFFFEE00F1 +:204640001F76C1010246ECFFE90007921F767A03BF56230B2596EFFFE1001F76C1010246D0 +:20466000ECFFDC0007881F767A03257EC18A240ED40F0561BF562307EFFFD00008D091C53E +:20468000673E1F767A03BF562309EFFFC7001F76C1010246ECFFC20007921F767A03BF5661 +:2046A00023072596EFFFBA001F76C1010246ECFFB50007921F767A03BF5623052596EFFF9D +:2046C000AD001F76C1010246ECFFA800079208D01F767A03259691C5673E1F767A03BF569B +:2046E0002303EFFF9B00D140086CBF5623010AD0D11A040091C5673ED141ECFF8F001F7668 +:204700007A030AD0BF56230DD11A080091C5673EEFFF84001F76C101BF56008F082B021A53 +:2047200020001F767A03BF562312776F1F76C101BF56008FC18AE4920896021A20001F76EC +:204740007A03BF562310696F1F76C101BF56008708280003021A20001F767A03BF56230E02 +:204760005C6F1F76C101082B021A20001F767A03BF56230C526F0AD091C5673E1F76C10165 +:20478000BF56008708280005021A20001F767A03BF56230A426F24801F76C101BF56008F68 +:2047A000C18AA706C407A71EC79208961F767A03240A1F76C101021A20001F767A03BF5680 +:2047C00023082B6F1F76C101BF56008FC18AE4920896021A20001F767A03BF5623061D6FA2 +:2047E0000AD091C5673E1F76C101BF56008708280002021A20001F767A03BF5623040D6FB9 +:204800001F76C101BF56008708280006021A20001F767A03BF562302BE8B06001F763000D3 +:20482000A880A927A48E142820400002008FB2DE1F767C03121E4076F79F0052FD61A79218 +:20484000A793C0FF0191A995A880A7922661408FA6DEAB9220BE1F90A674A792A6540267D4 +:20486000A7881F767A03A65C0356AB01263AA90E28A82A1E008FB2DE4076EF9F4076F79F12 +:204880000052FD61A93AA60DA98EAB92A694A927A792A69EA980DE601F763000142810401F +:2048A00006001F763000A880A927A48E142820400002008FB2DE1F767C03121E4076F79FB6 +:2048C0000052FD61A792A793C0FF0191A995A880A7922661408FACDEAB9220BE1F90A67401 +:2048E000A792A6540267A7881F767A03A65C0356AB012C3AA90E2EA8301E008FB2DE4076BE +:20490000F39F4076F79F0052FD61A93AA60DA98EAB92A694A927A792A69EA980DE601F767C +:20492000300014281040060002FE1F767A0336C5008FB2DE673E22761F763400008FB0B58F +:204940001CA81A7669FF4076BDB41F7671030F8F40423A0642A8C00020B6A9BD120F00778D +:20496000007702E84116008F10DF89E600004076FCB42376002082FE0600BDB2BDAABDA2B8 +:2049800002FEA85BA58BA4864B9303524197C12B146106520F60A31B00103868A31B031048 +:2049A0003566A39240766E9800523260BF56C1032F6FBF56C1012C6FA38820FF0010A60F8F +:2049C0000460419210521561A38820FF1010A60F0860419228520D6150520B617852096144 +:2049E000A38820FF0011A60F116041927C520E60005200D11161A192A394407648999A9661 +:204A000001D94192A154F866076FBF56C102C27B4193029ACA9782FEBE82BE86BE8B0600E7 +:204A2000BDB2BDAA02FE1F767C03219225611F76800108421A6D0A420A6D1F767C03FABEDD +:204A40000A061F767C032E03A60F726904021F768001061E0A426C6C1F767C03212B1E2B64 +:204A60001F7680010A1E0D6F1F767C030402212B1F768001081E1F767C031E921F5423661A +:204A80001F767C031A921C610876303BBE5A1B59AD5D1C93008F40DD1D88A1CCFF0082DD8F +:204AA0001A2BA55D417E40764AA21F767C03A1CD00FF1F2B42CB1E962097BD7A00761E92AE +:204AC0001F5436691F7680010406A940316D1F767C03008F40DD1F581F59012904B601D8B1 +:204AE0009C2504BE94AF5AFF1F92C0FF1F768001A908001F08C3A9251F767C030AC51F7630 +:204B00007C0320AF1F7680010AC21F767C031F0802001F768401161E1F767C03BF5621018F +:204B20002EC31F76840114A91F76800104C282FEBE86BE8B0600BDAA34FEA892FF9C0564E7 +:204B4000105204640F9A026F009A22761F76BE01AB28F0FFAA28457F09CDFFDF013B08B6E5 +:204B6000A81A0010A4A908BE099700D209CDFF3FA81A00400997A9851F7680015AFF2AC39E +:204B80005D56A400A0A9AB2BAA28467F08D42CC2ACA91F7684015AFF5D56AC0002A8A5A91F +:204BA000AB28E0FFAA28457F0AC3AB03AB28FAFFAA28FFFF12C21F76800107BE00AA1F76A8 +:204BC0008401003A08A0101E1F76800102A900C200BE0002011960C2601A80F2081E0002AD +:204BE00060C401190C1E000201191E1E00020119221E00020119181E14C21844FF6C16068E +:204C00005E1E5E18FFFD5E1A00015D1800FF5D1A05005E1A7F005E18FAFF5EC416C2601865 +:204C2000FFEF6006141E1844FF6D0002488F70641F768301541E088F7064541A010000A074 +:204C40000031531A0200010200BE02A8541A06001F768001408F73B400D4301E54C502028A +:204C600032A82EA9008F48B41F76370008A01F768001241E26C220C31F7637000AA81F764E +:204C80003300321A1000321A2000237600011A761F767C0369FF000200B6182B261EB4FE82 +:204CA00022C224C3BE860600BDB2BDAA08FE00021F767E030ED0081E9406481E4792A980E5 +:204CC0000CD094C420FF001FA70F11600AD094920F9008524C60A6061F767C03A80E489345 +:204CE0001B971C961D7EBF561A01416F4806A80EA95AA9CC008000D14396A292A9CC004046 +:204D00004296A292A9CC00204196A218FF1FA606A80E489346974596447EAD5C83DCA45C24 +:204D20009C921561A292805212677F520A61AD5C86DCA45CA2589C92008FC0DB9496076FB7 +:204D4000AD5C86DCA45C9C9240769CA501D9A19201DA0352E3684806455C445DA80E46931C +:204D60004076299A1F76BF010F1A010088FEBE86BE8B06001F767C031992A88809611F7634 +:204D800080010806A940046D0A06A9403E6C02D5A692013BAB28010001B6A572AA2B1F7630 +:204DA0008001A9A8A581A98308A90AC301B6C58500915AFFA692A772A9A8A781A983C58526 +:204DC0003FFFABCAAACBA71EA9A8A681A98A1F768401C48500915AFFA6853FFFAACBABCA9B +:204DE000A81A00E0061E04C322761F76800100022E1E1A760102041E1F76BF010E1A0100F7 +:204E00001F767C03BF56190169FF0600009A019C1952FE640600005206601F76BF010D1AA3 +:204E20000010056F1F76BF010B1A00100600BDB21F76BF01BDAA0D1A0008BDA2A95B01029E +:204E4000407613B700D1808DC06FA28AA392CEFF0BDCC41A0080407698A4A39280FFA95BA8 +:204E60000102407613B70DDA0102C21A0080407613B701D9A1921052E7641F76BF010B1AB5 +:204E80000008BE82BE86BE8B06000876303BBE931F767D030192065206617FD0008FC0DB1D +:204EA000942B066F008FC0DB7FDCC418C000BD9700760600CC920461CC0B0260D42B0600CC +:204EC000A980A8881F767D031E0EA70F1A61008FC06FA4831F76BF010DDDC51A00400D1A9D +:204EE00000041F767D031E92015204600BDCC41A00401E92025205601F76BF010B1A000446 +:204F0000A6881F767D031F0EA60F24611F9212601F767D03019206520861045206611F7609 +:204F2000BF010B1A0020166F1F76BF01021A0800116F1F767D0301920652086104520661C8 +:204F40001F76BF010D1A0020056F1F76BF01041A08001F767D031D0E1A1E06000876303B5F +:204F6000BE271F767D0301921F767D031E881F9306520A6014920861008F5CDF4076E7A45B +:204F8000A6924076EDA4BD3F00760600C496CC2BD42BDC2B06000876303BBE931F767D036E +:204FA0000192065224607FD0008FC0DB9492008F5CDF407653A5008FC06FA4830DDDC51ABD +:204FC000004001921F76BF010D1A000406520761045205610BDCC41A0020036F021A080087 +:204FE00000BE1F767D031AC2BF561401BD9700760600A988C4925EFFC47EA6CEA646096D0C +:20500000A9470D6CBF56D401CC97BF56DC01076FA946056CBF56D402CC97DC2B0600087639 +:20502000303BBE271F767D037FD0008FC0DB1E2F1F801F767D039496019306530F601F7676 +:205040007D0314930B61A828E803008F5CDF407686A5AA92A7934076EDA4BD3F0076060022 +:205060001F767D03BF56120513287017008F59021F767803BF56203C1F767803BF5621A0DC +:205080001F7678031F2870171F767D0318A80600BDB2BDAABDA202FE79D0008FC0DBAC1EE5 +:2050A000013BA98B94854C82A61E4456A90042A2C00020B678D0A98342A22156940044561B +:2050C000A100C00020B67FD0A607A5039449046C7AD0013B9485A918FF0FA95AA91A0080F4 +:2050E0004076A4A47BD0A9B2408FC0DB34FF957AA61EA9B242A232FFA607C00020B6A98AB6 +:2051000042A2C802AC1EA9B24456A900C00020B61CD0A49E82FE289C9596BE82BE86BE8B79 +:205120000600A92802904076A4A41F767D03019206520F6104520D61025206611F76BF01C4 +:205140000F1A00040A6F1F76BF010F1A0040056F1F76BF01061A0002060002FE1F767D03E5 +:205160001292150A15546F661806152B4C607FD0008FC0DB9447176C1392C0FF1654026716 +:20518000160A1392160A165402671696C4E21600C4E213014FE800C84FE80980007710E708 +:2051A0004000086F1792162B90E5019CA918FF0317968EE6000016801388A9BF120F1793F4 +:2051C0001F7678031E7F1F7678031F7E1F76780322960D617FD094480A6D1F767D031388ED +:2051E000013BA98542C24076D5A52D6F40761EA61F767D03008FC0DBBF5617017FDCC41858 +:20520000FFFE216F18060119A61E181E20FF5802A60F136120FFF401180F0F6120FF9001D2 +:20522000180F0B6120FF2C01180F0761C802180F04616402180F076040761EA61F767D0327 +:20524000BF56170182FE060002FE22761F767D03019204520460008F96AE036F008F79A8AC +:205260001F7634001AA81A760F8F40421F76710369FF3A0642A8C00020B6A9BD120F0077C4 +:20528000007702E8D123008F08DF89E600004076FCB41F7630000C2820402376001082FEEC +:2052A0000600BDB2BDAABDA240765EAE00D3103B69FF40764AB6267600002F7600004076BE +:2052C000F7B640762CB5407696941F767D03009A0093407628A30D9A40767E91418F00C2E9 +:2052E00001D4A9A04076CD90418F00C202D4A9A04076CD90407621A24076FE93008FC06F3B +:20530000A48300D20BDC0CDDC51A0100C41A0100012920FF50C340761BB5008FC06FA4833E +:2053200001DAA2920EDC0FDDC51A0100C41A01000A52EF64008FC06FA4830BDC0ADDC51A88 +:205340000100C41A01004076CC934076469A1F767D03109B009240760EB74076B1A6407632 +:2053600069B61F767D030192045205614076E7AF40763784407663854076E49C4076D3830D +:205380001F767D030192065203604076BDA5407658A51F767D03C076C0DB00927EDFC796AD +:2053A00022761F76C001BF56292F1A7669FF40769DA21F765C0305926761052B00D2008FC1 +:2053C000C0DB013BA9A8A281A98A60D09488A6925761008FA9DFA9A8A281A98AA692C40A4F +:2053E000C4544E66408FBEDEC42BA9A0A281A98AC49280520868008FBEDE013BA9A8A28175 +:20540000A98AC42B013B086F109AA794A9CCF0FFC4968052F167008FBEDEA9A8A281A98A18 +:20542000C4800356A203408FF0D8A61EA792C3FFA927A606AB0D0156A500A7CD0F00A82D4C +:20544000C59262FFA988E161013B0A6F008FBEDEA9A8A281A98AA692A0FFA988C40AA640DE +:20546000F66C408DBEDE013BA9B2A281A98B008FC0DB009AC193407647A4C108030001DA13 +:20548000A29202529D647FD0008FC0DB9441066C7FDCC418FDFF4076D49B7FD0008FC0DBF2 +:2054A0009442066C7FDCC418FBFF40765B9A7FD0008FC0DB9443066C7FDCC418F7FF407623 +:2054C000E49C7FD0008FC0DB9445066C7FDCC418DFFF40765C804076B3951F767D0301923B +:2054E0000152136016D0408FC0DB9592A58AC1FF01F016D0A3CE0356A9027FDC0790C498E6 +:2055000095CC0400C1FFA95B4076FD9900D2A2920461408D40D0036F408DC0D3A18A40761B +:20552000279FA91BFFFF53611F76BF0100BE0F1A01001F767E03375208C2116237523061FC +:20554000335208623352386103523E61065238613E6F34522D6135522761396F3A520862EB +:205560003A5212613852186139521261306F3B5207613C522C60A18A40767F9F286FA18ABC +:205580004076269F246FA18A4076E39E206FA18A4076E69D1C6FA18A4076229E186FA18ACA +:2055A0004076B99D146FA18A4076BA9D106FA18A4076349D0C6FA18A40769B9E086FA18ABC +:2055C0004076AE9A046FA18A4076039B01DAA2920252E3FFEDFE9C6F1B76F0FF0500BDABB3 +:2055E000BDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E60006A1 +:2056000002FE69FF42291656227601021F767C0301560A00237600102676391110291A76E3 +:205620007FD0008FC0DB944F046D69FF407639AD1F765C03040A049214520468042BBF56EB +:20564000050116D1008FC0DB7FD09C9294CA0190A9880C9301F10191A6CB10601F767D037D +:205660000193065306611F76BF010B1A0008146F1F76BF010B1A00200F6F1F767D03019310 +:20568000065306611F76BF010F1A0008056F1F76BF010F1A00200653E1FF4B011F765C0339 +:2056A000120A12930A53E0FFA1001F767D0301931F765C030553122B0360189322601F76F5 +:2056C0007D030193015305601F765C03179319601F767D03019306530F6104530D6102535A +:2056E00006611F76BF010B1A0004226F1F76BF010B1A00401D6F1F76BF01021A0002186FF4 +:205700001F767D03019306530F6104530D61025306611F76BF010D1A00040A6F1F76BF0148 +:205720000D1A0040056F1F76BF01041A00021F765C0316930F601F767D030193035313619A +:2057400001531161065319601F76BF01021A8000186F1F767D03019303530F6101530D6108 +:20576000065306611F76BF010B1A00100A6F1F76BF01041A8000056F1F76BF010D1A001073 +:205780001F765C03179315601F767D03019306530B610353046101531561196F1F76BF0126 +:2057A0000B1A0040226F1F76BF01021A80001D6F1F767D0301930653146103530D610153E7 +:2057C00006611F76BF010B1A00800F6F1F76BF010D1A00800A6F1F76BF010D1A0040056F45 +:2057E0001F76BF01041A020000523E601F765C03128062D0940EA70F37601F767D030193F4 +:2058000003530F6101530D61065306611F76BF010D1A00100A6F1F76BF01021A8000056FD6 +:205820001F76BF010B1A001006530E6103530961015304610D1A0080096F0B1A0080066F64 +:205840000B1A0040036F021A800006530B6104530961025304610B1A0004066F0B1A004092 +:20586000036F021A00021F765C03009A199300530260019AA693A9CF04611128F401132B8C +:20588000110AC4E21100197E12E8D01F14AD5764130A1393019100B6112B1497139307910A +:2058A000026101B6A692157F3C601F767D030092095224611F765C0316D0BF5616019493B2 +:2058C0007FD0D0FF9492C9FFA8CAA940026C167F0C42116D0C430C6D0C44036D172B2F6F2A +:2058E0001592009B00520260019B1797286F14921796256FBF561701226F1F765C030C41EB +:20590000BF561801036C1492026F009A0C401796036D162B146F14931492189716960F6FE6 +:2059200014931488149216971896177E086F69FF40763BA540763AA64076EA9882FEAFE23A +:20594000BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE870300303B35 +:20596000F1FF177602761B76F0FF0500BDABBDAABDA8BDA0BDC2BDC300E2BD0003E2BD00DC +:2059800003E2BD0103E2BD0203E2BD0330E6000602FE69FF422916561F763300229241966D +:2059A00023760100267601012218FA002128FFFF10291F765C030E9202610E0B1F765C03F7 +:2059C0000D92E0FF38011F765C030F920D61FF9C0F960A60008FC0DBA4837FDC7FDDC5187E +:2059E000EFFFC41A04001F767D030592196100D1008F0871013BA9A8A181A98AD492C3FFCE +:205A0000A988008FBCDDA9A8A181A98A69FFA192C47E4076018601D9A1920452EA641F7627 +:205A20007D030192065237601F76C4010992C3FFA90EA9BD120F0077007763D0808DC0DBA6 +:205A40008BE60000008F40D78CE6010069FF13E292014076E9B56ED16FD0013B008FC0DB94 +:205A60009A92929EA985A9BD160F6FD0C8E29402007720E7800089E6090040764BB350E830 +:205A800000C8007790E8008800778CE600001DD013E292001F767D0301920552406000D1FA +:205AA0001F765C0307921F7674033D0A3D5402623D2B008F0871013BA9A83D81A98A3D2DB9 +:205AC000C492C3FFA90EA9BD120F69FF008F40D712350156A4008BE600004076E9B5013B1F +:205AE0001F767403008F86DE8EE60000A9A83D81A98A13E2C400008F30DFA9A83D81A98A58 +:205B000001D9C492085205613D924076E482046F3D924076B780A1920652C3641F767D03B4 +:205B20000492E1FF89001F76740301293E0640FFA61E013B3C85A60F39691F767D030492EA +:205B400000D13465008F0871013BA9A8A181A98A1F7674033D2D1F767D03C492C3FFA90E97 +:205B6000A9BD120F0412A194A92D008F40D769FF8BE6000012350156A4004076E9B51F76D3 +:205B80007403A192013B008F86DE3D2D1F767D030433AB72A9A8AB81A98A01D98CE600005D +:205BA000A19213E2C4000454CE641F7674033C0A3C92FF9CA9853E0F3E681F767D030492E8 +:205BC00000D11F7674033C2B11651F7674033D2D1F767D0369FF0412A1944076B78001D906 +:205BE0001F767D03A1920454F1641F765C0306921F767403029C3D0A3D5402623D2B1F7641 +:205C00007D0302931F7674033D9200530F611F765C03065402600D9A1F7674033D931F7609 +:205C20005C03069F015302600C9A69FF40762094026F0D0B008F0071A4831F76330019DCC5 +:205C400001DDC51A0040C41A1000BF562101103B419282FE2296AFE2BE03AFE2BE02AFE298 +:205C6000BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE86BE870300303BF1FF177602767C +:205C8000005206601F76BF01041A0001056F1F76BF01021A00010600005206601F76BF01DF +:205CA000041A4000056F1F76BF01021A400006004076CDAB019A4076D9AB009A4076CDAB90 +:205CC0000102407613B7009A4076D9AB1E02407613B70600009A4076D9AB1E02407613B753 +:205CE000019A4076CDAB1E02407613B7009A4076CDAB1E02407613B70600BDB2BDAABDA298 +:205D00000EFE00D2A98BA288A492A52D0252A65BE3FFF000A9B2026301D256FFA983AC92C6 +:205D200005640452036301D3026FAC2BAC92A58B4B2B0B650A02421EA9B2C00020B64B0A1C +:205D4000A98BAC924B54F762A9B20A650A02421EA9B2C00020B601DE58FFA98BF862A292BA +:205D6000A58BA694A988026001BEA692AC944B2B0452A9880F650A02421EA9B2C00020B621 +:205D8000AC80A98B4B0AA69281DFFC9CA72D4B54F362AC920263AC2B019A66FFA958015288 +:205DA000026000D08076E803A9B242C2C00020B6441EA9B242C2C0002FB6A61E6402421EEB +:205DC000A606C00020B6461E6402421EA9B2C0002FB6A61E0A02421EA606C00020B6481E7F +:205DE0000A02421EA9B2C0002FB64A1EA61E460648074407A607046000D0A02DAC5AA3923C +:205E00001561039A013B4B96AD888ADEA6880356A9010156A600C6060960AC924B5406610E +:205E20000F024B0BC61E4B92F062A2922061019A013B4B96AD5D8ADDA55D0356A9010156AE +:205E4000A5000F02C50F09614B9203520661019C04524B96F0640B6FAD5D8ADDA55D0ABED8 +:205E60004B920356A9010156A500C5C2009A4B2B013BAD5D8ADDA55D0356A9010156A50001 +:205E80008076B0DAA606C507A61EC685C51E019A4B2D66FFA0CE046180020156C5004B0ADA +:205EA0004B920452E76448A3AB92AA2BFF90A927A9A9AC28180037FF5AFF4A064E1E4E929F +:205EC000FF904E964D2B4E06ABCAAACB4E1E4606009BFF903FFF5AFF4E06ABCAAACB4E1E76 +:205EE00044063B565AFF4E06ABCAAACB4E1E026F4EB2408F90DF013BA9A0A481A98A4B2BC2 +:205F0000C45BA3921052246200D14E92013B0190A9884E0640FF4E1EA6924076E5AB01D93F +:205F2000A1920852F364A35A00D1A293A292B0FF0190A85A4076E5AB01D9A1920652F664FF +:205F40004076F7AB01DB4B0A4B920452DB648EFEBE82BE86BE8B060011D0008F10709492D1 +:205F60000F9004520E60CCCC8001C6FF0252096022761F76C001BF562555BF5625AA1A7632 +:205F800069FF060022761F76C001BF5629681A7669FF0600BDB202FE1F76C001A888A980E3 +:205FA0001143026C257611CC80010561227611187FFE1A762276408F1070A58AA79211D0C2 +:205FC0000F9001DCC41A400095CDF0FFA8CA21961A76A79204600102A98B026FA759A92807 +:205FE00080C3A828C90169FFAC1E0556A10040764FADA1A91140FF6C22761118BFFF1A76CF +:20600000A6930153036102530A602276A69211CD7FFE039086FFA8CA11961A76A6930A6041 +:20602000A9B2013BAC281E0040FF2256A10741FFA98BA69301530A60A9B2013BAC281E0084 +:2060400040FF2256A10741FFA98BA69302530960A9B2AC281F00013B2256A10740FFA98B59 +:20606000A7921460A69203521160227611CC7FFFA91A000169FF119620FFDA05407613B731 +:206080001F76C001111A80011A761F76710382FE69FF3AB2BE8B0600BDB202FE22761F76A6 +:2060A000C001BF561A011B2B1A92036001BE046F03561A01A9881F76710342C269FF3A060E +:2060C000C00020B63E1E1F76C0011B92036001BE046F03561B01A9881F76710342C23A0643 +:2060E000C00020B6408D1070A18315D0008F200B3C1E0CDD1F762C0094CCF8FF015014DC5E +:206100003596C41A04003418F7FFC51A0800787680001F76C0011C1A1000A18A1C1A00043A +:206120001C1A00081C1A20000DDC10D91C1A00011C1A00101C1A00201C1A00401C1A0080FA +:206140001C18FBFFC41A01001D1A02001D1A04001D1A08001D1A10001D1A20001C1A0400A7 +:206160001D1A00041D1A00081D1A00101D1A00201D1A00011D1A00021D1A00401D1A008068 +:20618000C11A0001201A0002201A0004201A0008201A0010201A00201A7669FF82FEBE8B02 +:2061A000060040764FAD049A029B407657AD4076D9AD060002FE22761F762B002028FFFF52 +:2061C0002128FFFF2228FFFF2328FFFF2428FFFF2528FFFF2628FFFF2728FFFF1A761F7694 +:2061E000FFCF69FF38924196399241963A9241963B9241963C9241963D9241963E924196ED +:206200003F921F762B0041962F9201F0019082FE06001B76F0FF0500BDABBDA8BDA0BDC21F +:20622000BDC300E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000669FF4229165656 +:2062400000D1227601021F767C0301560A002376391110291A767FD0008FC0DB944F046DE4 +:2062600069FF407639AD1F765C03040A049214520668042B1F765C03BF560501008FC06FB2 +:20628000A4831F767D0306DDC51A0100019206520E6104520C61025205610FDCC41A00045B +:2062A0000A6F1F76BF010F1A0040056F1F76BF01061A00021F767D030192065208610452FD +:2062C00006611F76BF010F1A0020056F1F76BF01061A080001021F767E030807A61E008F4D +:2062E000204E081EA9A8A60F026708A8050A05920A520264052B0192AC2B1261008FC0DB4C +:20630000A9A8AC0DA98A62D0949205540465019A66FFA172AC92019C0154A92DF068040AA7 +:20632000049202520265042B7FD0008FC0DB9493A89216D094CAA940EDFF8300A84B586DAF +:2063400020FF204E080F306904920A60013B1F766F0300D401D569FF008540760AAC1F7625 +:206360007E03049201520A60008FC0DB013B01D569FFCC8501D440760AACA192408DC0DB78 +:2063800002D400D569FFD1CEA90E40760AAC1F767E03049202527B60013B03D400D5D98507 +:2063A00040760AAC746F0492076000D4000200D569FF40760AAC1F767E03049201520760AC +:2063C00001D4000200D569FF40760AAC02D4000200D569FF40760AAC1F767E0304920252BC +:2063E000566003D4000200D540760AAC506F0492086020FFB82200D401D569FF40760AAC99 +:206400001F767E0304920152086020FFB82201D401D569FF40760AACA10E02D400D569FFDB +:2064200040760AAC1F767E03049202523060012903D400D520FFFFFF40760AAC286F69FF02 +:20644000407692B604920760013B00D404D5008540760AAC1F767E03049201520760013BC5 +:2064600001D404D5008540760AAC1F767E0302D400D5060640760AAC1F767E030492025244 +:206480000660060603D400D540760AACAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE0010 +:2064A000BEC5BEC4BE83BE8ABE870300303BF1FF1776027602FE2276008F40AA1F763500CB +:2064C0000AA81A7669FF4076E3B61F763300221A2000237601001F767D0301920652236082 +:2064E000008F00711F76C401D4CCF0FF05500296DCCCF0FF0350039603CC1FFF105003965D +:2065000003CCFFF1A91A0005039603CCFF0FA91A00400396E4CCF0FF0750049604CC0FFF74 +:20652000205004961F767D03019203521460008F00711F76C401D4CCF0FF02500296DC1819 +:20654000F0FF03CC1FFF1050039603CCFFF0A91A000203961F767D03019201522860008F38 +:2065600000711F76C401D4CCF0FF06500296DCCCF0FF0550039603CC0FFF4050039603CC79 +:20658000FFF7A91A0007039603CCFF0FA91A00200396E4CCF0FF0350049604CC0FFF60502F +:2065A000049604CCFFF1A91A000104961F767D03019202520960408F0071A58A02DCC41895 +:2065C000F0FFDD18F0FF019205524C60408F0071A58A1F76C40102DCC41A0F00DDCCF0FF26 +:2065E0000250039603CC3FFF3050039603CCFFF0A91A0006039603CCFF0FA91A00C0039671 +:20660000E5CCF8FF0A50049604CCBFFFB050049604CCFFF7A91A0007049604CCFF0FA91AEB +:2066200000400496EDCCF0FF0550059605CC1FFF1050059605CCFFFEA91A000E05960518A7 +:20664000FF0FF5CCF8FF08500696061AF00006CCFFFDA91A000D069606CCFF0FA91A009003 +:206660000696408F0071C0760068A5C41F76C401A78A1AD019DD01DEC61A000119DC011AFC +:206680000008C51A1000001A10000018BFFF001A000F011A00401F763300BF5621011F76EB +:2066A000A001C41A000819CCFFFCA91A0004199697CCFFFDA91A00011A96BF56098000CCC0 +:2066C0007FFCA91A0001009600CCFFE3A91A0008009600CC001CC9FFA92D019A66FFA9881F +:2066E00000CC800304600102AC1E086F00CC8003013BC6FF80FFA985AC1E013BA6851F76E0 +:2067000071034456A900421E3A06C00020B6008FA60E42A8C00020B61F767D0301931F768B +:20672000A00105960018FCFF025303602502026FBB021F76740382FE3E1E06001B76F0FF8F +:206740000500BDABBDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BD0103E2BD0203E2BD03DE +:2067600030E6000602FE69FF422916561F7633003292419623760001267600013218750065 +:206780002128FFFF1029408FC0D369FFA58A40768A9140768F91103B4192329682FEAFE2E2 +:2067A000BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE870300303BC7 +:2067C000F1FF177602761B76F0FF0500BDABBDA8BDA0BDC2BDC300E2BD0003E2BD0003E2F0 +:2067E000BD0103E2BD0203E2BD0330E6000602FE69FF422916561F7633003292419623763B +:20680000000126760001321871002128FFFF1029408FC0D369FFA58A40768A91407660922D +:20682000103B4192329682FEAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC48B +:20684000BE83BE8ABE870300303BF1FF177602761B76F0FF0500BDABBDA8BDA0BDC2BDC359 +:2068600000E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF4229165690 +:206880001F7633003292419623760001267600013218FD002128FFFF1029408F40D069FF50 +:2068A000A58A40768A9140768F91103B4192329682FEAFE2BE03AFE2BE02AFE2BE01AFE218 +:2068C000BE0080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FF177602761B76F0FF05001F +:2068E000BDABBDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E62C +:20690000000602FE69FF422916561F7633003292419623760001267600013292322B21282E +:20692000FFFF1029408F40D069FFA58A40768A9140766092103B4192329682FEAFE2BE0379 +:20694000AFE2BE02AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FFF6 +:20696000177602762276008F806FA483A4C41F76BE0126DDC51A030027DE261A0C00A483BC +:20698000261A3000261AC000261A000317DD261A000C261A0030261A00C0C61A0300271A70 +:2069A0000C00271A3000271AC000271A0003271A000C271A0030271A00C0C51A0300A4834D +:2069C00028DD171A0C0016DC171A3000171AC000171A0003171A000C171A0030171A00C06E +:2069E000C51A0300281A0C00281A3000281AC000281A0003281A000C281A0030281A00C0EC +:206A0000C41A00C0161AC000161A0030161A000C1A7669FF06002276008F806FA4C4A483A9 +:206A20001F76BE0118DEC61A030019DD181A0C00181A3000181AC000181A0003181A000C2E +:206A4000181A0030181A00C0C51A0300A48369FF191A0C0014DD15DC191A3000191AC000FA +:206A6000191A0003191A000C191A0030191A00C0C51A0300141A0C00141A3000141AC000E3 +:206A8000141A0003141A000C141A0030141A00C0C41A0300151A0C00151A3000151AC000D5 +:206AA000151A0003151A000C151A0030151A00C040763FB20600227615D0008F200B1F76A2 +:206AC0002C0094CCF8FFA483A4C5A4C40150359614DDC518FCFF0CDF3418F7FFA4830DDE17 +:206AE000341A0400C41A60000EDDC41A1C00C41A0300C41A0030C41A000EC41A8001CC1A01 +:206B00004000C41A0040C41A0080211A0300C71A60002C1A1C002C1A03002C1A00302C1AD3 +:206B2000000E2C1A8001C61A40002C1A00402C1A00802D1A0300C51A6000A4830FDD2E1A30 +:206B40001C0018DC2E1A03002E1A00302E1A000E2E1A8001C51A40002E1A00402E1A0080D4 +:206B60002F1A0300C41A0700381A38001A7669FF40763FB207F6007769FF0600BD3ABDB273 +:206B8000BDAABDA202FE0129A9BF120F58FF5B61A85C7F91A8088000421EA493D6FFA85CB5 +:206BA000A9BF160F6761A85D7F91A8088000A859A958A593D6FFA85DA493A571A818000119 +:206BC000A697A418FF00A518FF007FDCA492A59EA7964D64A90801FF3E62A193A09236FF53 +:206BE000A859A958420635FF0EF6A11FA95BA3010AF6A11F2D56A204A32DA03640FF0BF6DC +:206C0000A11F33FF009B30FF54FFA20CA39540FFA70801001FF677FF200940FFA7080100ED +:206C20001FF677FF5AFFA7922265A90801FF1363A9A946FF7F91A85BA95AA625A79596FF40 +:206C4000A20CA395A9BD120F82FEBE82BE86BE8BBE8E0600009B57FFA8087FFF5AFFA69377 +:206C6000F260A8280080AA71AB92ED6F20FF0000EA6F5AFFA493A818000196FFA85CA9A90A +:206C8000A8087FFFA81C0080A4CBDD6F58FF5AFF00BE25610129A6920190A958A60640FFF4 +:206CA000A407A71EC793A640046DA892C7FFA92DA09201520460A8CCFF00A92DAC58A59270 +:206CC000A0F201DEA092FF90A958A592408FC0DAC7FF9570A95DA9A9A60FDE66A592060088 +:206CE000A71E8076C0DA0A6FA5928470FF90A95881DFA592C7FF9670A95DA706F660A59268 +:206D000006000052A927FF76FFFF00BE3365A9A8013BA681A983A793C592FF90A92FAA718F +:206D2000A880009AA740046DB0FFA880056FB0FFA81C01A0A880019C0852F564A9A8013BD5 +:206D4000A681A983A793C592C7FFA92FAA71A880009AA740046DB0FFA880056FB0FFA81CBE +:206D600001A0A880019C0852F56401DEAB92A654CF62A79206001B76F0FF00E2BD0030E63F +:206D8000000602FE422916561F7633003292419623760001267600013292322B2128FFFF14 +:206DA000102901021F767C03180A1F768001061E1F763300211A0001103B419282FE3296BD +:206DC00080E2BE00303BF1FF177602761B76F0FF0500BDABBDA8BDA0BDC2BDC300E2BD00E6 +:206DE00003E2BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF422916561F763300E2 +:206E00003292419623760001267600013292322B2128FFFF1029008F006169FF4076E1A36D +:206E20001F76800102020C1E1F763300211A0001103B4192329682FEAFE2BE03AFE2BE0201 +:206E4000AFE2BE01AFE2BE0080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FF177602763D +:206E600000021F763000008F000C0119021E1F767C03408F100C000200A81F763000062BD7 +:206E80000119072BE41A1000041A20001F763000008F080C0A1E1F76300000020119121EB9 +:206EA0001F76300000020E2B0F2B1F767C0308A810A0021E1F763000162B172B1F763000F7 +:206EC000E41A1000E51A10000C1A20001F763000141A20001F767C03121E0A1E060000E0EA +:206EE000E45003E2F40188E61000C48303E2D500C483F52BC483FD2BC483E51A1000C48392 +:206F0000E51A2000C483E518FFFBC483E518FFF7C4830002E51A0040D41E06000129BDB2C1 +:206F200040FFBDAAA98B00D208611002407613B701DAA9B2A20FFA66BE86BE8B06001F763B +:206F4000C001201A001040763FB22276008F200BA4C4A4831F762C000ED015DE14DDC6183D +:206F6000F8FFC51A03003418F7FF3418FBFF94CCBFFF20502E960FDC2ECCE3FF08502E967B +:206F80002ECCFCFF01502E962ECCFFDFA91A00102E962ECCFFF7A91A00062E962E187FFE38 +:206FA000C418BFFF2E18FFBF2E18FF7F2F1A03001A7607F6007769FF0600AD28000469FF70 +:206FC0001F5616561A5610E6000240291F76000002291B762276A92817B7A828000001099D +:206FE0001B61C07617B704290F6F009BA92401DF046C0429A82401DFA61EA1F78624A70622 +:20700000A1810109A71EA92403635CFF043BA95901DF0900ECFF1A76A928FFFFA828FFFFAF +:2070200001090E61FF76FFFF066F01DFBDC3A71E673EBEC5A92401DFA82458FFF7604076C5 +:20704000AFB64076CCB61B76F0FF0500BDABBDA8BDA0BDC2BDC300E2BD0003E2BD0003E2BF +:20706000BD0103E2BD0203E2BD0330E6000669FF42291656227601021F767C030156120096 +:20708000008FB2DE69FF1F767A0338C5673E1A76AFE2BE03AFE2BE02AFE2BE01AFE2BE00E3 +:2070A00080E2BE00BEC5BEC4BE83BE8ABE870300303BF1FF17760276BDB2CFE6010008D07D +:2070C00003E2BD040ED103E2BD0503E2BD0603E2BD07AFE2F400AFE2D40510E394040CD0DD +:2070E00012E39C1F0ED118E394DA0AE3C4A000E3E4C600E7BB0110E700010CD010E7C0008C +:2071000003E29C0203E2940008D0F406941E03E2F401AFE2BE07AFE2BE06AFE2BE05AFE285 +:20712000BE04BE8B0600022904295F565AFF42065F56421E00021FF617564200AB0632567C +:2071400002292076022904295F565AFF420656FF421E00021FF617564200325602292076FC +:207160005AFF00021FF617564200A9A920765AFF00021FF6175642002076103B1F76330040 +:207180002018FEFF222B242B69FF262B282B2A2B2C2B2E2B302B322B342B362B382B232BE4 +:2071A000252B272B292B2B2B2D2B2F2B312B332B352B372B392B06001F763300201A0100E8 +:2071C0002128FFFF102969FF0600A0E514AD0962A0E51F76740314AD90E5B4562901156F91 +:2071E0004FE803C092E601008CB5050000E7CA00007700E78A000077CFE812F0007700E7AF +:207200005100007700E74000060002FE1F767E03020AC4E20200007712E8D01F14AD116419 +:20722000030A0392022B0A520260032B033457040096060603610002036F00020119061E47 +:2072400082FE0600A928FFFFAA28FFFFAB28FFFFA828FFFFAB0F04ED00D400BE0B6FA927E3 +:20726000A928FFFFA92FA4A9C488A928FFFF0209A98AA6924076DEA606000077006F1F76CE +:207280007E03BDB220C5A959673E1F767E0324C5A70603ECA192673E1F767E03220603ECD2 +:2072A000A71E673E4076CAB6BE8B060022761F76C00169FF1C1A0800787680001A761F76B8 +:2072C000C401028FE64969FFBF5618E0A9A8407613B70600408F00C0008F000D2276009A80 +:2072E00085C4019C805284C2FC641A7669FF06001F767E031EA806001F767E0320A806006C +:1473000006001F767E031A971B9606000119C356FFFF0600BE +:207314001201000000C0A78B0000A78B0000A78B0000A78B0000A78B0000A78B0000A78B28 +:207334000000A78B0000A78B0000A78B0000A78B0000A78B0000A78B0000758C0000688C18 +:207354000000F88F00009A8B00000F890000B18B0000828C0000458A00003A8A00002F8A3F +:207374000000248A0000198A00000E8A0000038A0000F8890000ED890000668A00005B8AB7 +:207394000000508A0000DD8A0000C28A00000F890000B9890000A089000005900000718AB9 +:2073B4000000D2890000078E0000D18D00009B8D0000658D00002F8D0000F98C00000F8978 +:2073D40000000F890000228E0000EC8D0000B68D0000808D00004A8D0000148D00000F8978 +:2073F40000000F890000CF8E0000B48E0000998E00007E8E0000638E0000488E00000F89B0 +:2074140000000F890000DE8C0000C38C00000F8900000F8900000F8900000F8900000F890F +:2074340000000F890000A78A00008C8A0000F28B0000BC8B00000D8C0000D78B00000F8902 +:2074540000000F890000DD8F0000C28F0000A78F00008C8F0000718F0000568F00000F89F5 +:2074740000000F890000A88C00008D8C00000F8900000F890000498B0000F88A00000F89F5 +:2074940000000F8900007F8B00002E8B0000648B0000138B00003B8F0000058F0000208FE3 +:2074B4000000EA8E00000F8900000F8900000F8900000F8900000F8900000F8900000F8918 +:2074D40000000F8900000F8900000F8900000F8900000F8900000F8900000F8900000F89D8 +:2074F40000000F890000858900006A8900004F89000034890000198900000F890000288C5C +:207514000000438C00002C012C01000000000F00160014000A003C000A000800060008008F +:0A7534000600080033000B000A00F7 +:20753E004800000012C100A100008DA10000EEA000007DA10000E1A000006FA10000D4A092 +:20755E00000058A10000BAA0000048A10000ADA000003EA1000091A0000031A1000084A07E +:20757E00000023A1000077A0000017A1000061A000004CA000005A9900005E990000F399F7 +:20759E000000E99900006199000064990000689900006D99000072990000789900007D991B +:1875BE00000081990000CD990000ED99000084990000F9990000000000 :00000001FF diff --git a/Bin/UKSSTMS320F28335.map b/Bin/UKSSTMS320F28335.map index a2ea084..2671665 100644 --- a/Bin/UKSSTMS320F28335.map +++ b/Bin/UKSSTMS320F28335.map @@ -2,7 +2,7 @@ TMS320C2000 Hex Converter v5.2.7 ******************************************************************************** -INPUT FILE NAME: +INPUT FILE NAME: OUTPUT FORMAT: Binary PHYSICAL MEMORY PARAMETERS @@ -12,18 +12,18 @@ PHYSICAL MEMORY PARAMETERS BOOT LOADER PARAMETERS Table Type: SERIAL PORT (SCI 8 bit Mode) - Entry Point: 0x0000b4b9 + Entry Point: 0x0000b56a OUTPUT TRANSLATION MAP -------------------------------------------------------------------------------- 00000000..003fffff Page=0 Memory Width=8 ROM Width=8 -------------------------------------------------------------------------------- - OUTPUT FILES: UKSSTMS320F28335_e8cb0244.bin [b0..b7] + OUTPUT FILES: c:\Temp\166-sifu-build-vq3o6iha\UKSSTMS320F28335.bin [b0..b7] - CONTENTS: 00000000..00007485 BOOT TABLE - .cinit : dest=0000b667 size=0000026a width=00000002 - .text : dest=00008000 size=00003667 width=00000002 + CONTENTS: 00000000..000075d5 BOOT TABLE + .cinit : dest=0000b717 size=00000262 width=00000002 + .text : dest=00008000 size=00003717 width=00000002 .econst : dest=0000c000 size=00000112 width=00000002 .switch : dest=0000c112 size=00000048 width=00000002 diff --git a/Bin/UKSSTMS320F28335.out b/Bin/UKSSTMS320F28335.out index 738d25ad60188f62de4e664f262d26d90c56beb1..7bba3383e8b4f3cec193862c98624ebdba8a4770 100644 GIT binary patch literal 308870 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

5!F9RA6Q2Tz4kvwmjvO=d5qun-R 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�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 LMFDLLN|(D2*u}Pf diff --git a/Doc/SIFU_START_STOP.md b/Doc/SIFU_START_STOP.md new file mode 100644 index 0000000..db0e27e --- /dev/null +++ b/Doc/SIFU_START_STOP.md @@ -0,0 +1,104 @@ +# START/STOP СИФУ в 166: обработка без ожиданиÑ� оÑ�новного цикла + +## Что изменено + +До иÑ�правлениÑ� main опрашивал поÑ�леднее Ñ�оÑ�тоÑ�ние команды. Короткий ноль +между двумÑ� единицами мог не попаÑ�ть в опроÑ�; запиÑ�ÑŒ EEPROM задерживала +как выдачу, так и Ñ�нÑ�тие диÑ�крета. Теперь каждое принÑ�тое по CAN Ñ�лово 127 +передаётÑ�Ñ� в UMP_commands_write прÑ�мо в CAN ISR. Полный подтверждённый +CRC RS-пакет вызывает ту же функцию из ReceiveCommandModbus6. + +ИÑ�ториÑ� фронтов общаÑ� длÑ� CAN и RS. ПовторнаÑ� передача единицы не Ñ�влÑ�етÑ�Ñ� +новым Ñ�обытием. Ð�овое 0→1 обрабатываетÑ�Ñ� Ñ�разу, без очереди и ожиданиÑ� main. +Это не гарантирует приём каждого физичеÑ�кого CAN-кадра при перегрузке шины; +обрабатываютÑ�Ñ� кадры, которые дейÑ�твительно дошли до Handlai. + +| Событие | Результат | +|---|---| +| START 0→1, STOP=0 | START_DPTB включаетÑ�Ñ�, RES_OUT_2 активируетÑ�Ñ� | +| START оÑ�таётÑ�Ñ� 1 | ИмпульÑ� не продлеваетÑ�Ñ� | +| Ð�овый START 0→1 во времÑ� START | ОÑ�тавшееÑ�Ñ� времÑ� Ñ�нова 1000 тиков | +| STOP 0→1 во времÑ� START | START Ñ�нимаетÑ�Ñ�, включаетÑ�Ñ� STOP, RES_OUT_2 Ñ�нимаетÑ�Ñ� | +| START и STOP пришли одновременно | Только STOP, без кратковременного START | +| START изменÑ�етÑ�Ñ� при STOP=1 | ПуÑ�к подавлÑ�етÑ�Ñ� и не Ñ�тавитÑ�Ñ� в очередь | +| STOP Ñ�нÑ�Ñ‚, START оÑ�талÑ�Ñ� 1 | СамопуÑ�ка нет; нужен новый 0→1 START | +| STOP Ñ�нÑ�Ñ‚ и пришёл Ñ�вежий фронт START | Переключение STOP→START без перекрытиÑ� | +| ИÑ�текли 1000 тиков | Ð�ктивный диÑ�крет Ñ�нимаетÑ�Ñ�; RES_OUT_2 Ñ�охранÑ�ет Ñ�оÑ�тоÑ�ние | + +Таймер 1 кГц вызывает UMP_pulse_tick перед Load_runner. main больше не +пишет START/STOP и не отÑ�читывает IMPowse. Ð�оминальнаÑ� длительноÑ�ть импульÑ�а +около Ñ�екунды (фаза первого тика даёт до 1 мÑ� разброÑ�а). Задержки/запреты IRQ +могут удлинÑ�ть реальное времÑ�: Ñ�то не аппаратный одновибратор. + +Функции автомата иÑ�пользуют короткий запрет IRQ Ñ� воÑ�Ñ�тановлением Ñ�тарой +маÑ�ки. Ð’ них нет EEPROM, передачи UART, ожиданиÑ� ACK или обхода маÑ�Ñ�ива. +volatile опиÑ�ывает общие данные; целоÑ�тноÑ�ть изменениÑ� Ñ�оÑ�тоÑ�ниÑ� обеÑ�печивает +критичеÑ�каÑ� Ñ�екциÑ�, а не Ñ�амо ключевое Ñ�лово. + +## Включение платы и параметры + +До UMP_pulse_init команды запиÑ�ываютÑ�Ñ� в карту, но не выдают диÑ�крет. +ИнициализациÑ� поÑ�ле Load_params/Setup_DAC_time Ñ�нимает выходы и запоминает +текущую команду. Уже активнаÑ� единица не запуÑ�кает СИФУ задним чиÑ�лом. +При начальном нуле перваÑ� Ñ�вежаÑ� единица принимаетÑ�Ñ� без предварительного +прохода оÑ�новного цикла. Потерю/перезапуÑ�к питаниÑ� контроллер должен учитывать +Ñ�воим протоколом: перед новым запуÑ�ком передать ноль. + +Default_params и Load_params длÑ� dsk_LOAD не копируют и не обнулÑ�ÑŽÑ‚ Ñ�лово +127 как обычный параметр. Служебные биты Ñ�браÑ�ываютÑ�Ñ� отдельно, START/STOP +Ñ�охранÑ�ÑŽÑ‚Ñ�Ñ�. ПоÑ�тому чтение EEPROM не подменÑ�ет живую команду Ñ�тарым значением +даже на один тик прерываниÑ�. ОÑ�тальные типы платы Ñ�охранÑ�ÑŽÑ‚ прежний Ñ�броÑ�. + +## Что ещё может задерживатьÑ�Ñ� + +- RS: байты принимает ISR, но CRC и иÑ�полнение FC06 проиÑ�ходÑ�Ñ‚ в main. + ЕÑ�ли main ждёт EEPROM, RS-команда ещё не Ñ�читаетÑ�Ñ� принÑ�той обработчиком. +- EEPROM: Ñ�инхронное ожидание без тайм-аута Ñ�охранено. Оно не задерживает + уже принÑ�тые CAN-пуÑ�ки и Ñ�нÑ�тие импульÑ�а, пока обÑ�луживаютÑ�Ñ� прерываниÑ�. +- ЦÐ�П: начальнаÑ� пауза примерно 3 Ñ� и профиль 6..16 мÐ� Ñ�охранены. + LOAD_TIME=30 Ñ� уÑ�корением второй половины даёт около 22.5 Ñ� разгона. + START/STOP диÑ�креты и раÑ�чёт ЦÐ�П — разные механизмы; приоритет STOP + отноÑ�итÑ�Ñ� к диÑ�кретам, не перепиÑ�ывает алгоритм аналогового заданиÑ�. +- Повторный фронт во времÑ� активного START продлевает выÑ�окий уровень, + не Ñ�оздаёт отдельный Ñ�лектричеÑ�кий импульÑ� Ñ� паузой между ними. +- ПроизвольнаÑ� запиÑ�ÑŒ памÑ�ти Ñ�ервиÑ�ным загрузчиком не Ñ�читаетÑ�Ñ� обычной + CAN/RS-командой и не проходит автомат фронтов. + +## Код и комментарии + +- Include/ump_pulse.h — проверÑ�емый автомат без GPIO. +- Include/ump_control_impl.h — аппаратнаÑ� обёртка, подключённаÑ� только в DAC.c. +- ecan.c/message.c — точки приёма полного командного Ñ�лова. +- measure.c — владелец временной базы диÑ�кретов. +- package.h/DAC.h — volatile-доÑ�туп к команде и диагноÑ�тичеÑ�кому IMPowse. + +Во вÑ�ех 17 Ñ�обÑ�твенных C-модулÑ�Ñ… и оÑ�новных заголовках добавлены руÑ�Ñ�кие +комментарии: назначениÑ�, контекÑ�ты main/ISR, единицы и ограничениÑ�. +Кодировки иÑ�ходников Ñ�охранены (CP1251). Код TI и внешние библиотеки не менÑ�лиÑ�ÑŒ. +29 файлов Ñ� изменением только комментариев проверены Ñ�равнением токенов +Ñ� HEAD поÑ�ле удалениÑ� комментариев: иÑ�полнÑ�емый текÑ�Ñ‚ в них Ñ�овпадает. + +## Проверка + +- Host-теÑ�Ñ‚ tests/ump_pulse/control_test.c включает наÑ�тоÑ�щий автомат и + аппаратную обёртку Ñ� подменёнными GPIO/IRQ. ПроверÑ�ет Ñ�тартовую защиту, + короткий ноль, удержание, повторный фронт, STOP, отÑ�утÑ�твие перекрытиÑ� + на каждой запиÑ�и GPIO, завершение без main, параметры и вложенный запрет IRQ. +- ТеÑ�Ñ‚ региÑ�тратора tests/ump_logger прошёл; Ñ�ущеÑ�твующие 7 теÑ�тов модели + ограничениÑ� DAC проекта 167 также прошли (Ñ�то отдельный иÑ�торичеÑ�кий анализ). +- Ð’Ñ�е 27 C/ASM-файлов Ñ�обраны и Ñ�линкованы TI C2000 22.6.1.LTS, Debug/O1, + COFF/FPU32. ОÑ�талиÑ�ÑŒ шеÑ�ть прежних предупреждений measure.c/peripher.c. +- MAP: RAML0 занÑ�то 0x3979 из 0x4000 Ñ�лов, RAML5 — 0xFAB из 0x3000; + .logg — 0xFA00 Ñ�лов во внешней памÑ�ти. Стек выделен 0x3F0 Ñ�лов; + макÑ�имальное реальное иÑ�пользование Ñ�тека на уÑ�тройÑ�тве не измерÑ�лоÑ�ÑŒ. +- Из проверенной Ñ�борки обновлены штатные OUT/HEX/BIN и карта преобразованиÑ�. + +ЗапуÑ�к теÑ�тов на Windows: `py -3 tests/ump_pulse/run_test.py` и +`py -3 tests/ump_logger/run_test.py`; нужен Clang/lld либо MSVC в PATH, +или параметр `--compiler "полный путь к cl.exe"`. + +Проверка на плате не выполнÑ�лаÑ�ÑŒ. Ð�а Ñ�тенде проверить GPIO62/GPIO58 и +RES_OUT_2 оÑ�циллографом: CAN-пуÑ�к во времÑ� Save_params, короткий Ñ�броÑ�, +одновременный START/STOP, оÑ�танов во времÑ� пуÑ�ка, длительноÑ�ть импульÑ�а +при нагрузке CAN и работа Ñ� включённым логгером. ПривÑ�зать результат к +принÑ�тым CAN-командам и выходам в архиве SetGUI. diff --git a/Doc/START_STOP_weak_points.md b/Doc/START_STOP_weak_points.md index 88436cf..093b1c4 100644 --- a/Doc/START_STOP_weak_points.md +++ b/Doc/START_STOP_weak_points.md @@ -1,5 +1,9 @@ # Слабые меÑ�та обработки START/STOP +> ИÑ�торичеÑ�кий анализ до переноÑ�а обработки в приём команды и таймер. +> Текущее поведение, иÑ�правлениÑ� и оÑ�тавшиеÑ�Ñ� ограничениÑ� опиÑ�аны в +> [SIFU_START_STOP.md](SIFU_START_STOP.md). + Дата: 22.09.2026. Проверен код проекта 166 поÑ�ле переноÑ�а иÑ�правлениÑ� из коммита `799e6ba` проекта 167. Документ опиÑ�ывает результаты проÑ�мотра кода; Ñ�ценарии на уÑ�тройÑ�тве не воÑ�производилиÑ�ÑŒ. Предлагаемые ниже diff --git a/Doc/UMP_LOGGER.md b/Doc/UMP_LOGGER.md index c2ee27c..a05af57 100644 --- a/Doc/UMP_LOGGER.md +++ b/Doc/UMP_LOGGER.md @@ -1,5 +1,9 @@ # Логгер запуÑ�ка и отключениÑ� УМП: прошивка Бальзам 166 и SetGUI +ТекущаÑ� логика диÑ�кретов опиÑ�ана в [SIFU_START_STOP.md](SIFU_START_STOP.md): +CAN-фронты обрабатываютÑ�Ñ� при приёме, импульÑ�Ñ‹ Ñ�нимаютÑ�Ñ� таймером, STOP +имеет приоритет. Формат запиÑ�и v2 и интерфейÑ� SetGUI Ñ�охранены. + ## Ð�азначение и работа оператора Ð’ SetGUI открыть **periph_28335 → rs232_periph_28335 → Ð�аÑ�тройки**, diff --git a/Source/Internal/ADC.c b/Source/Internal/ADC.c index 9877a08..753f799 100644 --- a/Source/Internal/ADC.c +++ b/Source/Internal/ADC.c @@ -1,3 +1,9 @@ +/* Íàñòðîéêà ÀÖÏ è îáðàáîòêà àíàëîãîâûõ âûáîðîê. adc_isr îáíîâëÿåò + * adc_table_lem[0..3] èç ADCRESULT2..5 >> 4 è âûçûâàåò ðàñ÷¸ò èçìåðåíèé. + * READY â 166 ÿâëÿåòñÿ ñ÷¸ò÷èêîì äî íóëÿ, íå ôëàãîì ãîòîâíîñòè. + * WAKE çàäà¸ò îòäåëüíîå âðåìÿ óñòàíîâëåíèÿ èçìåðèòåëüíûõ öåïåé. + * Íå äîáàâëÿòü îæèäàíèÿ EEPROM/UART â îáðàáîò÷èê âûáîðîê. + */ #include "DSP2833x_Device.h" // DSP281x Headerfile Include File #include "DSP2833x_Examples.h" // DSP281x Examples Include File #include "DSP2833x_SWPrioritizedIsrLevels.h" diff --git a/Source/Internal/DAC.c b/Source/Internal/DAC.c index 31f14f9..5a67284 100644 --- a/Source/Internal/DAC.c +++ b/Source/Internal/DAC.c @@ -1,3 +1,10 @@ +/* ÖÀÏ íàãðóçêè è àïïàðàòíàÿ îá¸ðòêà èìïóëüñîâ ÑÈÔÓ. Load_runner + * âûçûâàåòñÿ òàéìåðîì 1 êÃö, ðàñ÷¸ò ÖÀÏ äåëèòñÿ äî DAC_FREQ. + * Ôîðìóëà 166 çàäà¸ò ôèêñèðîâàííûé ðàçãîí 6..16 ìÀ. DAC_min/max + * ïåðåâîäÿò ïîëîæåíèå â êîä, cCalibrDac âûáèðàåò ðó÷íîé êîä. + * WAKEpowse îòíîñèòñÿ ê ÖÀÏ, íå ÿâëÿåòñÿ ðàçðåøåíèåì äèñêðåòà çàïóñêà. + * Àâòîìàò ÑÈÔÓ ïîäêëþ÷¸í â êîíöå ôàéëà ÷åðåç ump_control_impl.h. + */ #include "DSP2833x_Device.h" // DSP281x Headerfile Include File #include "DSP2833x_SWPrioritizedIsrLevels.h" #include "filter_bat2.h" @@ -11,6 +18,7 @@ #include "peripher.h" #include "log_to_mem.h" +#include "ump_pulse.h" #define dCLK_1() GpioDataRegs.GPBSET.bit.GPIO63=1 #define dCLK_0() GpioDataRegs.GPBCLEAR.bit.GPIO63=1 @@ -18,9 +26,12 @@ #define dCS_0() GpioDataRegs.GPBCLEAR.bit.GPIO59=1 unsigned long WAKEpowse; -unsigned long IMPowse; +volatile unsigned long IMPowse; unsigned int period_dac, time_dac; +/* Èíèöèàëèçàöèÿ, íå îáðàáîòêà êàæäîãî START. 601 îòñ÷¸ò ïðè 200 Ãö + * äàþò îêîëî 3 ñåêóíä äî ðàáî÷åãî ðàñ÷¸òà ÖÀÏ ïîñëå âêëþ÷åíèÿ. + */ void Setup_DAC_time(void) { WAKEpowse = 3L * DAC_FREQ +1; @@ -65,6 +76,10 @@ void Init_DAC(void) dSEND(0x9002|0x0000); toggle_RES_OUT_1(); } +/* vrot/maxx — äîëÿ äèàïàçîíà ìåæäó êîäàìè 4 è 20 ìÀ. Ìàñêà 0xFFF + * ñîõðàíÿåò 12 áèò, íî íå ÿâëÿåòñÿ íàñûùåíèåì. modbus[0x1C] ñîäåðæèò + * ðàñ÷¸òíîå çàäàíèå, íå èçìåðåííûé òîê íà âûõîäíûõ êëåììàõ. + */ void Anal_output(long vrot, long maxx) { long out; @@ -101,13 +116,17 @@ Log_to_mem(modbus[0x1D]); } +/* Ïîñëå ïîëîâèíû time_dac ñ÷¸ò÷èê ðàñò¸ò äâàæäû çà âûçîâ. Ïîýòîìó + * LOAD_TIME=30 äà¸ò ïðèìåðíî 22.5 ñ äî êîíöà ðàçãîíà ïðè 200 Ãö. + * Ñóùåñòâóþùèé ïðîôèëü 166 èñïðàâëåíèå èìïóëüñà ÑÈÔÓ íå ìåíÿåò. + */ void Load_runner() { static unsigned int count_dac=0, count_load=0, x=1; float sinus=0; int kod; - if(IMPowse) IMPowse--; + /* IMPowse îáíîâëÿåòñÿ UMP_pulse_tick(), à íå àëãîðèòìîì ÖÀÏ. */ if(++count_dac >= period_dac) { count_dac=0; @@ -158,3 +177,6 @@ void Load_runner() Anal_output(kod, time_dac); } } } } + + +#include "ump_control_impl.h" diff --git a/Source/Internal/Include/ADC.h b/Source/Internal/Include/ADC.h index 479c307..9d9ba53 100644 --- a/Source/Internal/Include/ADC.h +++ b/Source/Internal/Include/ADC.h @@ -1,3 +1,6 @@ +/* Òàáëèöû âûáîðîê îáíîâëÿåò ADC ISR. Ñîãëàñîâàííûé ñíèìîê íåñêîëüêèõ + * êàíàëîâ òðåáóåò çàùèòû êîïèðîâàíèÿ, îäíîãî óêàçàòåëÿ íåäîñòàòî÷íî. + */ extern Uint16 adc_table_lem[]; diff --git a/Source/Internal/Include/DAC.h b/Source/Internal/Include/DAC.h index 257b94f..7c960a1 100644 --- a/Source/Internal/Include/DAC.h +++ b/Source/Internal/Include/DAC.h @@ -1,8 +1,18 @@ +/* Èíòåðôåéñ ÖÀÏ è ÑÈÔÓ. Âõîäÿùèå êîìàíäû — UMP_commands_write, + * îêîí÷àíèå èìïóëüñà — UMP_pulse_tick. IMPowse òîëüêî äëÿ äèàãíîñòèêè. + */ void Load_runner(void); void Anal_output(long vrot, long maxx); void Init_DAC(void); void Setup_DAC_time(void); /* Ñ÷¸ò÷èê ïóñêîâîãî èìïóëüñà è âûäåðæêè èíèöèàëèçàöèè äîñòóïíû ëîããåðó. */ -extern unsigned long IMPowse, WAKEpowse; +extern volatile unsigned long IMPowse; +extern unsigned long WAKEpowse; extern unsigned int period_dac, time_dac; + +/* Âñå îïåðàöèè áåçîïàñíû äëÿ âûçîâà èç main è îáðàáîò÷èêîâ IRQ. */ +void UMP_pulse_init(void); +void UMP_commands_write(unsigned int commands); +void UMP_pulse_tick(void); +void UMP_reset_parameter_commands(void); diff --git a/Source/Internal/Include/GPIO_table.h b/Source/Internal/Include/GPIO_table.h index ac37198..6a40e7d 100644 --- a/Source/Internal/Include/GPIO_table.h +++ b/Source/Internal/Include/GPIO_table.h @@ -1,3 +1,6 @@ +/* Íàïðàâëåíèÿ GPIO äëÿ àïïàðàòíûõ èñïîëíåíèé. Åäèíèöà îçíà÷àåò + * âûõîä; àêòèâíóþ ïîëÿðíîñòü çàäàþò peripher.h è ñõåìà ïëàòû. + */ #define COMM_gpio00_dir 0L #define COMM_gpio01_dir 0L #define COMM_gpio02_dir 0L diff --git a/Source/Internal/Include/RS485.h b/Source/Internal/Include/RS485.h index ff3a413..3cb18d4 100644 --- a/Source/Internal/Include/RS485.h +++ b/Source/Internal/Include/RS485.h @@ -1,3 +1,6 @@ +/* Áóôåðû UART ðàçäåëÿþòñÿ ISR è main. main îáðàáàòûâàåò + * çàêîí÷åííûé RS_Header. Ðàçìåðû ñâåðÿòü ñ 16-áèòíîé ABI DSP. + */ #ifndef _RS485 #define _RS485 diff --git a/Source/Internal/Include/bios_dsp.h b/Source/Internal/Include/bios_dsp.h index 75477d7..71c3c3b 100644 --- a/Source/Internal/Include/bios_dsp.h +++ b/Source/Internal/Include/bios_dsp.h @@ -1,3 +1,6 @@ +/* Êîäû CMD_* ÿâëÿþòñÿ ÷àñòüþ ôîðìàòà îáìåíà ñ ÏÊ. Íîâûå êîìàíäû + * äîáàâëÿþòñÿ áåç ïåðåíóìåðàöèè ñóùåñòâóþùèõ çíà÷åíèé. + */ #ifndef _BIOS_DSP #define _BIOS_DSP diff --git a/Source/Internal/Include/caliber.h b/Source/Internal/Include/caliber.h index 03afaa9..4e7ed21 100644 --- a/Source/Internal/Include/caliber.h +++ b/Source/Internal/Include/caliber.h @@ -1,3 +1,6 @@ +/* Çàâîäñêèå êàëèáðîâêè ïî âåðñèè BALSAM è òèïó ïëàòû. Çäåñü + * îïðåäåëÿþòñÿ ìàññèâû, à íå òîëüêî extern; íå äóáëèðîâàòü ïîäêëþ÷åíèå. + */ #if BALSAM == 166 //------------------------------------------------------------- int def_cal[][8] = { diff --git a/Source/Internal/Include/cntrl_adr.h b/Source/Internal/Include/cntrl_adr.h index 2a8567c..af5fb23 100644 --- a/Source/Internal/Include/cntrl_adr.h +++ b/Source/Internal/Include/cntrl_adr.h @@ -1,3 +1,6 @@ +/* Ñîáñòâåííûé, îáùèé è ñïåöèàëüíûå àäðåñà ïîñëåäîâàòåëüíîãî îáìåíà. + * main çàäà¸ò àäðåñà ÷åðåç set_cntrl_addr äî íà÷àëà îáìåíà. + */ #ifndef _CNTRL_ADR #define _CNTRL_ADR diff --git a/Source/Internal/Include/crc16.h b/Source/Internal/Include/crc16.h index a1787cc..8885beb 100644 --- a/Source/Internal/Include/crc16.h +++ b/Source/Internal/Include/crc16.h @@ -1,3 +1,6 @@ +/* Èíòåðôåéñû CRC. Ðàçëè÷àòü áóôåð êàäðà è ìàññèâ ñëîâ EEPROM; + * ðåçóëüòàò çàâèñèò îò ïîðÿäêà îáðàáîòêè áàéòîâ. + */ typedef unsigned short WORD; typedef unsigned char byte; diff --git a/Source/Internal/Include/ecan.h b/Source/Internal/Include/ecan.h index 36cf526..bf17d0a 100644 --- a/Source/Internal/Include/ecan.h +++ b/Source/Internal/Include/ecan.h @@ -1,3 +1,6 @@ +/* Òåëåìåòðèÿ eCAN è ôîíîâàÿ âûäà÷à îòâåòîâ ëîããåðà. + * UMP_CAN_service âûçûâàåòñÿ èç main, íå èç ïðè¸ìíîãî IRQ. + */ void InitCan(int Port, int DevNum); void CAN_send(int Port, int data[], int Addr); extern int CAN_input_data[]; diff --git a/Source/Internal/Include/filter_bat2.h b/Source/Internal/Include/filter_bat2.h index 9357ab2..50f6879 100644 --- a/Source/Internal/Include/filter_bat2.h +++ b/Source/Internal/Include/filter_bat2.h @@ -1,3 +1,6 @@ +/* Êîýôôèöèåíòû è èçìåíÿåìàÿ èñòîðèÿ ôèëüòðà. Êàæäûé íåçàâèñèìûé + * êàíàë äîëæåí èìåòü îòäåëüíûé ýêçåìïëÿð FILTERBAT. + */ #ifndef _FILTER_BAT2 #define _FILTER_BAT2 diff --git a/Source/Internal/Include/kanal.h b/Source/Internal/Include/kanal.h index fce5473..94917d8 100644 --- a/Source/Internal/Include/kanal.h +++ b/Source/Internal/Include/kanal.h @@ -1 +1,4 @@ +/* Èíòåðôåéñ êàíàëà èíäèêàöèè. Îí íå ôîðìèðóåò START_DPTB + * è íå äîëæåí èñïîëüçîâàòüñÿ âìåñòî ôóíêöèé óïðàâëåíèÿ íàãðóçêîé. + */ void kanal_Send(int adr, long dat, int dot); diff --git a/Source/Internal/Include/log_to_mem.h b/Source/Internal/Include/log_to_mem.h index a4afb52..57c36c4 100644 --- a/Source/Internal/Include/log_to_mem.h +++ b/Source/Internal/Include/log_to_mem.h @@ -1,3 +1,6 @@ +/* Êîíòðàêò ëîããåðà ñ SetGUI: ðàçìåð çàïèñè, âåðñèÿ è àäðåñà. + * ×òåíèå öåëîãî áëîêà çàùèùàåòñÿ îò IRQ íà ñòîðîíå RS/CAN îáðàáîò÷èêà. + */ #ifndef _LOG_TO_MEM #define _LOG_TO_MEM diff --git a/Source/Internal/Include/measure.h b/Source/Internal/Include/measure.h index 37eb02d..f81b792 100644 --- a/Source/Internal/Include/measure.h +++ b/Source/Internal/Include/measure.h @@ -1,3 +1,6 @@ +/* ×àñòîòû è ñîñòîÿíèÿ èçìåðåíèé. READY â 166 — ñ÷¸ò÷èê äî íóëÿ. + * READY_FREQ çàäà¸ò òàéìåð ÑÈÔÓ, DAC_FREQ — ðàñ÷¸ò ÖÀÏ. + */ #ifndef _MEASURE #define _MEASURE diff --git a/Source/Internal/Include/message.h b/Source/Internal/Include/message.h index 878b4c7..2ddb361 100644 --- a/Source/Internal/Include/message.h +++ b/Source/Internal/Include/message.h @@ -1,3 +1,6 @@ +/* Òåõíîëîãè÷åñêèå ðåãèñòðû è Modbus. ANSWER_LEN îãðàíè÷èâàåò + * ìàññèâ modbus; àäðåñîì ëîããåðà 0x1000 èíäåêñèðîâàòü åãî íåëüçÿ. + */ #ifndef MESSAGE_H #define MESSAGE_H diff --git a/Source/Internal/Include/package.h b/Source/Internal/Include/package.h index cad7f2d..dd97020 100644 --- a/Source/Internal/Include/package.h +++ b/Source/Internal/Include/package.h @@ -1,3 +1,7 @@ +/* Ìàêðîñû îáðàùàþòñÿ ê îáùåé êàðòå modbus, íå ê ëîêàëüíûì äàííûì. + * START/STOP ÷èòàþòñÿ ÷åðåç volatile. Âõîäÿùàÿ çàïèñü ñëîâà 127 + * äîëæíà ïðîéòè UMP_commands_write äëÿ ôèêñàöèè ôðîíòà. + */ #ifndef PACKAGE #define PACKAGE @@ -131,7 +135,8 @@ #define LastMode Modbus[126].all -#define Commands Modbus[127].all +/* Ñëîâî ìåíÿåòñÿ èç CAN/RS; ÷òåíèå êîìàíäû íå äîëæíî êåøèðîâàòüñÿ. */ +#define Commands (((volatile WORDE *)modbus)[127].all) #define cTestLamp Modbus[127].bit.bit0 #define cDefParam Modbus[127].bit.bit1 #define cSaveParam Modbus[127].bit.bit2 @@ -140,8 +145,8 @@ #define cTermoCal Modbus[127].bit.bit4 #define cKoefCalc Modbus[127].bit.bit5 -#define cUMPreset Modbus[127].bit.bit6 -#define cUMPstart Modbus[127].bit.bit7 +#define cUMPreset (((volatile WORDE *)modbus)[127].bit.bit6) +#define cUMPstart (((volatile WORDE *)modbus)[127].bit.bit7) #define cInitDac Modbus[127].bit.bit8 #define cCalibrDac Modbus[127].bit.bit9 diff --git a/Source/Internal/Include/peripher.h b/Source/Internal/Include/peripher.h index e157654..b482fd8 100644 --- a/Source/Internal/Include/peripher.h +++ b/Source/Internal/Include/peripher.h @@ -1,3 +1,7 @@ +/* Ôèçè÷åñêèå GPIO ñ ó÷¸òîì ðåæèìà è ïîëÿðíîñòè. set îçíà÷àåò + * àêòèâèðîâàòü ôóíêöèþ, íå âñåãäà âûñòàâèòü 1. START/STOP íàãðóçêè + * àêòèâíû åäèíèöåé, RES_OUT_2 íóë¸ì. Äèñêðåòàìè âëàäååò àâòîìàò ÑÈÔÓ. + */ #include "DSP2833x_Device.h" // DSP281x Headerfile Include File extern int Mode,Desk,TermoAD,TermoRS,TermoSW,Kurrent,Kalibro; diff --git a/Source/Internal/Include/pulto.h b/Source/Internal/Include/pulto.h index fb41363..f3f1bb9 100644 --- a/Source/Internal/Include/pulto.h +++ b/Source/Internal/Include/pulto.h @@ -1,3 +1,6 @@ +/* Ñîñòîÿíèÿ ïóëüòà dsk_EPLT. Îáðàáîò÷èê òàéìåðà íàãðóçêè + * îïðåäåë¸í îòäåëüíî â measure.c. + */ //void what_is(void); interrupt void cpu_timer1_isr_PULT(void); diff --git a/Source/Internal/Include/spise2p.h b/Source/Internal/Include/spise2p.h index 286c879..0f84d10 100644 --- a/Source/Internal/Include/spise2p.h +++ b/Source/Internal/Include/spise2p.h @@ -1,3 +1,6 @@ +/* Àâòîìàò SPI EEPROM ïðîäâèãàåò òàéìåð 2. Ñèíõðîííîå îæèäàíèå + * òðåáóåò ðàçðåø¸ííûõ IRQ. PAGE_LEN/WORD_LEN çàäàþò àäðåñàöèþ ñòðàíèö. + */ #ifndef __SPISE2P_H__ #define __SPISE2P_H__ diff --git a/Source/Internal/Include/tools.h b/Source/Internal/Include/tools.h index 27df89b..bdb03f9 100644 --- a/Source/Internal/Include/tools.h +++ b/Source/Internal/Include/tools.h @@ -1,3 +1,6 @@ +/* Èíèöèàëèçàöèÿ ïàìÿòè è çàäåðæêè. pause_us íå èñïîëüçîâàòü + * äëÿ äëèòåëüíîñòè äèñêðåòîâ; èõ îòñ÷èòûâàåò àïïàðàòíûé òàéìåð. + */ #ifndef TOOLS_H #define TOOLS_H diff --git a/Source/Internal/Include/ump_control_impl.h b/Source/Internal/Include/ump_control_impl.h new file mode 100644 index 0000000..de544fe --- /dev/null +++ b/Source/Internal/Include/ump_control_impl.h @@ -0,0 +1,83 @@ +/* Ïîäêëþ÷àåòñÿ òîëüêî èç DAC.c; â host-òåñòå — ñ ïîäìåíîé GPIO/IRQ. */ +#ifndef UMP_CONTROL_IMPL_H +#define UMP_CONTROL_IMPL_H +/* Àïïàðàòíàÿ îá¸ðòêà àâòîìàòà. Õðàíèì å¸ â ñóùåñòâóþùåì DAC.c, ÷òîáû + * ñòàðûé ïðîåêò CCS è íîâûé CCS12 ñîáèðàëè îäèíàêîâûé íàáîð èñõîäíèêîâ. + * Âñå âõîäû íèæå ñîõðàíÿþò ïðåæíþþ ìàñêó IRQ; íåëüçÿ ïðîñòî äåëàòü EINT + * ïðè âûõîäå, ïîñêîëüêó âûçîâ âîçìîæåí èç óæå çàùèù¸ííîãî îáðàáîò÷èêà. */ +static volatile UMP_PULSE_STATE ump_pulse; +static volatile unsigned int ump_pulse_enabled; + +static void UMP_apply_outputs(unsigned int previous_output, unsigned int previous_relay) +{ + if (previous_output != ump_pulse.output) { + /* Ñíà÷àëà ñíèìàåì ñòàðûé ñèãíàë, çàòåì âûñòàâëÿåì íîâûé. + * Ïðîìåæóòî÷íîå ñîñòîÿíèå — îáà âûêëþ÷åíû, à íå îáà âêëþ÷åíû. */ + clear_START_DPTB(); + clear_STOP_DPTB(); + if (ump_pulse.output == UMP_PULSE_START) set_START_DPTB(); + if (ump_pulse.output == UMP_PULSE_STOP) set_STOP_DPTB(); + } + if (previous_relay != ump_pulse.relay) { + if (ump_pulse.relay) set_RES_OUT_2(); + else clear_RES_OUT_2(); + } + /* Ñòàðîå èìÿ îñòàâëåíî äëÿ ïðîòîêîëà ëîããåðà. Ýòî òåïåðü îòðàæåíèå + * òàéìåðà àâòîìàòà, à íå ïåðåìåííàÿ, êîòîðóþ îäíîâðåìåííî ïðàâèò main. */ + IMPowse = ump_pulse.remaining; +} + +void UMP_pulse_init(void) +{ + unsigned int saved = __disable_interrupts(); + if (Desk == dsk_LOAD) { + ump_pulse_init(&ump_pulse, Commands); + clear_START_DPTB(); clear_STOP_DPTB(); clear_RES_OUT_2(); + IMPowse = 0; + /* Ðàçðåøàåì îáðàáîòêó òîëüêî ïîñëå çàãðóçêè ïàðàìåòðîâ è íàñòðîéêè + * ÖÀÏ. Êîìàíäû äî ýòîé òî÷êè íå èñïîëíÿþòñÿ çàäíèì ÷èñëîì. */ + ump_pulse_enabled = 1; + } + __restore_interrupts(saved); +} + +void UMP_commands_write(unsigned int commands) +{ + unsigned int saved = __disable_interrupts(); + unsigned int output = ump_pulse.output, relay = ump_pulse.relay; + Commands = commands; + if (Desk == dsk_LOAD && ump_pulse_enabled) { + /* Âûïîëíÿåì ôðîíò â ìîìåíò ïðèíÿòèÿ ñëîâà. Íåò î÷åðåäè, êîòîðóþ + * main äîëæåí îïðîñèòü ïîñëå äëèòåëüíîãî îáðàùåíèÿ ê EEPROM. + * Çäåñü òîëüêî íåñêîëüêî îïåðàöèé ñ ïàìÿòüþ/GPIO, áåç îæèäàíèé. */ + ump_pulse_accept(&ump_pulse, commands, (unsigned int)READY_FREQ); + UMP_apply_outputs(output, relay); + } + __restore_interrupts(saved); +} + +void UMP_pulse_tick(void) +{ + unsigned int saved = __disable_interrupts(); + unsigned int output = ump_pulse.output, relay = ump_pulse.relay; + if (Desk == dsk_LOAD && ump_pulse_enabled) { + ump_pulse_tick(&ump_pulse); + UMP_apply_outputs(output, relay); + } + __restore_interrupts(saved); +} + +void UMP_reset_parameter_commands(void) +{ + unsigned int saved = __disable_interrupts(); + /* EEPROM ñîäåðæèò ïàðàìåòðû, íî íå ÿâëÿåòñÿ èñòî÷íèêîì êîìàíä ïóñêà. + * Ñîõðàíÿåì ïîñëåäíèå ïðèíÿòûå START/STOP è èñòîðèþ ôðîíòîâ àâòîìàòà. + * Íåëüçÿ îáíóëèòü èõ ïðè Load/Default: òàéìåð ÖÀÏ ÷èòàåò òîò æå óðîâåíü, + * à ñëåäóþùèé ïîâòîð ïàêåòà ñ åäèíèöåé íå äîëæåí ñòàòü ëîæíûì ôðîíòîì. + * Äðóãèå ðåæèìû ïëàòû ñîõðàíÿþò ïðåæíåå ïîâåäåíèå ïîëíîãî ñáðîñà. */ + if (Desk == dsk_LOAD) Commands &= UMP_START_MASK | UMP_STOP_MASK; + else Commands = 0; + __restore_interrupts(saved); +} + +#endif diff --git a/Source/Internal/Include/ump_pulse.h b/Source/Internal/Include/ump_pulse.h new file mode 100644 index 0000000..408446f --- /dev/null +++ b/Source/Internal/Include/ump_pulse.h @@ -0,0 +1,69 @@ +/* Óïðàâëåíèå èìïóëüñàìè ÑÈÔÓ. ×èñòûé àâòîìàò áåç äîñòóïà ê GPIO. + * Îäèí è òîò æå êîä èñïîëüçóåòñÿ ïðîøèâêîé è host-òåñòîì. + * ÂÀÆÍÎ: âûçûâàþùàÿ ñòîðîíà ñåðèàëèçóåò init/accept/tick çàïðåòîì IRQ. + * volatile îáåñïå÷èâàåò îáðàùåíèÿ ê îáùåìó ñîñòîÿíèþ, íî íå çàìåíÿåò + * êðèòè÷åñêóþ ñåêöèþ: îáíîâëåíèå íåñêîëüêèõ ïîëåé íå ÿâëÿåòñÿ àòîìàðíûì. + */ +#ifndef UMP_PULSE_H +#define UMP_PULSE_H +#define UMP_START_MASK 0x0080U +#define UMP_STOP_MASK 0x0040U +#define UMP_PULSE_NONE 0U +#define UMP_PULSE_START 1U +#define UMP_PULSE_STOP 2U + +typedef struct { + unsigned int previous; + unsigned int remaining; + unsigned int output; + unsigned int relay; +} UMP_PULSE_STATE; + +static void ump_pulse_init(volatile UMP_PULSE_STATE *s, unsigned int commands) +{ + /* Óæå àêòèâíàÿ êîìàíäà ïðè îêîí÷àíèè çàãðóçêè íå ÿâëÿåòñÿ íîâûì ïóñêîì. + * Ñíèìàåì ôèçè÷åñêèå âûõîäû îòäåëüíî â àïïàðàòíîé îá¸ðòêå. + * Åñëè íà÷àëüíîå ñëîâî íóëåâîå, ïåðâàÿ ñâåæàÿ åäèíèöà áóäåò ïðèíÿòà: + * áîëüøå íå íóæåí ñëó÷àéíûé ïðîõîä main, óñïåâøèé ïðî÷èòàòü íîëü. */ + s->previous = commands; + s->remaining = 0; + s->output = UMP_PULSE_NONE; + s->relay = 0; +} + +static void ump_pulse_accept(volatile UMP_PULSE_STATE *s, + unsigned int commands, unsigned int ticks) +{ + unsigned int rising = commands & ~s->previous; + /* Èñòîðèÿ îòíîñèòñÿ ê êàæäîìó ïðèíÿòîìó ñëîâó CAN/RS, à íå ê ðåäêèì + * ñíèìêàì main. Ïîýòîìó äàæå 1->0->1 ìåæäó ïðîõîäàìè main çàìå÷àåòñÿ. + * Ïîâòîðíûå ïàêåòû ñ óäåðæèâàåìîé åäèíèöåé íå ïðîäëåâàþò èìïóëüñ. */ + s->previous = commands; + if (commands & UMP_STOP_MASK) { + /* STOP èìååò ïðèîðèòåò äàæå ïðè îäíîâðåìåííîì ôðîíòå START. + * Åãî óäåðæàíèå çàïðåùàåò íîâûé START. Çàïðåù¸ííûé ïóñê íå ñòàâèì + * â î÷åðåäü: ñíÿòèå STOP íå äîëæíî íåîæèäàííî çàïóñêàòü ÑÈÔÓ. */ + if (rising & UMP_STOP_MASK) { + s->output = UMP_PULSE_STOP; + s->remaining = ticks; + s->relay = 0; + } + } else if (rising & UMP_START_MASK) { + /* Íîâûé START ïîñëå ñíÿòèÿ êîìàíäû STOP ïåðåêëþ÷àåò âûõîäû. + * Íîâûé ôðîíò âî âðåìÿ START ïðîäëåâàåò ñóùåñòâóþùèé èìïóëüñ, + * êàê ðàíüøå; îòäåëüíûé ýëåêòðè÷åñêèé ôðîíò çäåñü íå îáåùàåòñÿ. */ + s->output = UMP_PULSE_START; + s->remaining = ticks; + s->relay = 1; + } +} + +static void ump_pulse_tick(volatile UMP_PULSE_STATE *s) +{ + /* Åäèíñòâåííûé âëàäåëåö îòñ÷¸òà — òàéìåð 1 êÃö. main íå ó÷àñòâóåò + * â çàâåðøåíèè èìïóëüñà, ïîýòîìó EEPROM íå ðàñòÿãèâàåò åãî. + * RES_OUT_2 ñîõðàíÿåò ïîñëåäíåå ñîñòîÿíèå ïîñëå êîíöà èìïóëüñà. */ + if (s->remaining && --s->remaining == 0) + s->output = UMP_PULSE_NONE; +} +#endif diff --git a/Source/Internal/RS485.c b/Source/Internal/RS485.c index 91a8248..b91e8ac 100644 --- a/Source/Internal/RS485.c +++ b/Source/Internal/RS485.c @@ -1,3 +1,9 @@ +/* Íèçêîóðîâíåâûé UART äâóõ ïîðòîâ. RX ISR ñîáèðàåò RS_Header, + * TX ISR ïðîäîëæàåò ïåðåäà÷ó. RS_DataReady ïåðåäà¸ò ãîòîâûé êàäð + * â main äëÿ ïðîâåðêè CRC; ïðè¸ì áàéòîâ åù¸ íå îçíà÷àåò èñïîëíåíèÿ. + * RS_Send ñîäåðæèò îæèäàíèÿ UART è íå îòíîñèòñÿ ê áûñòðîìó ïóòè ÑÈÔÓ. + * Ðàçìåðû áóôåðîâ íóæíî ïîíèìàòü ñ ó÷¸òîì 16-áèòíîé ABI C2000. + */ //#include "big_dsp_module.h" @@ -321,6 +327,9 @@ void RS_SetBitMode(RS_DATA *rs_arr,int n) @param buf àäðåñ ìàññèâà @param len êîëè÷åñòâî áàéò @see RS_BSend, RS_TRANSMIT_INTR */ +/* Ïåðåäà÷ó ïðîäîëæàåò TX ISR. Çäåñü åñòü ñòàðûå ïðîãðàììíûå ïàóçû + * è îæèäàíèÿ UART: íå âûçûâàòü èç CAN ISR èëè ñåêöèè àâòîìàòà ÑÈÔÓ. + */ int RS_Send(RS_DATA *rs_arr,unsigned int *pBuf,unsigned long len) { unsigned int i; diff --git a/Source/Internal/bios.c b/Source/Internal/bios.c index 02eb806..f16d6ad 100644 --- a/Source/Internal/bios.c +++ b/Source/Internal/bios.c @@ -1,3 +1,9 @@ +/* Ñëóæåáíûå êîìàíäû äîñòóïà ê ïàìÿòè è çàãðóçêè. get_command + * ïðîâåðÿåò çàâåðø¸ííûé RS-êàäð è CRC ïåðåä äèñïåò÷åðèçàöèåé â main. + * Ïðîèçâîëüíàÿ çàïèñü ïàìÿòè ñåðâèñíîé êîìàíäîé íå ïðîõîäèò + * àâòîìàò ôðîíòîâ ÑÈÔÓ. Ôîðìàò CMD_* ñîãëàñîâàí ñ çàãðóç÷èêîì ÏÊ; + * íåëüçÿ ïåðåíóìåðîâûâàòü êîìàíäû ïðè ðàñøèðåíèè ïðîòîêîëà. + */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "RS485.h" #include "bios_dsp.h" diff --git a/Source/Internal/cntrl_adr.c b/Source/Internal/cntrl_adr.c index c7c7a96..1328ae0 100644 --- a/Source/Internal/cntrl_adr.c +++ b/Source/Internal/cntrl_adr.c @@ -1,3 +1,8 @@ +/* Àäðåñàöèÿ ïîñëåäîâàòåëüíîãî ïðîòîêîëà. set_cntrl_addr çàäà¸ò + * ñîáñòâåííûé è îáùèé àäðåñ. CAN ID âû÷èñëÿåòñÿ îòäåëüíî èç Mode. + * Îáùèé RS-àäðåñ íå çàìåíÿåò ñîáñòâåííûé âî âñåõ îòâåòàõ: äëÿ + * ëîããåðà SetGUI èñïîëüçîâàòü ñîáñòâåííûé àäðåñ ïëàòû (îáû÷íî 5/6). + */ #include "cntrl_adr.h" #define ADDR_FOR_ALL_DEF 10 diff --git a/Source/Internal/crc16.c b/Source/Internal/crc16.c index 756fa01..0e32263 100644 --- a/Source/Internal/crc16.c +++ b/Source/Internal/crc16.c @@ -1,3 +1,9 @@ +/* CRC êàäðîâ îáìåíà è ïàðàìåòðîâ EEPROM. get_crc_16 ðàáîòàåò + * ñ ïðåäñòàâëåíèåì áóôåðà ïðîòîêîëà, get_crc16 îáðàáàòûâàåò îáà + * áàéòà êàæäîãî ñëîâà ïàðàìåòðîâ. Ïîðÿäîê áàéòîâ ñóùåñòâåíåí. + * Íåëüçÿ çàìåíÿòü ýòè ôóíêöèè ðåàëèçàöèåé äëÿ ÏÊ áåç ïðîâåðêè + * ïðåäñòàâëåíèÿ äàííûõ è îñîáåííîñòåé 16-áèòíîé ABI C2000. + */ #include "crc16.h" #define MAKE_TABS 0 /* Builds tables below */ #define FAST_CRC 1 /* If fast CRC should be used */ diff --git a/Source/Internal/ecan.c b/Source/Internal/ecan.c index cf586c7..f3aa798 100644 --- a/Source/Internal/ecan.c +++ b/Source/Internal/ecan.c @@ -1,3 +1,9 @@ +/* Êîìàíäû è òåëåìåòðèÿ eCAN. MBOX1 ïðèíèìàåò êàäðû, MBOX0 ïåðåäà¸ò + * òåõíîëîãè÷åñêèå ðåãèñòðû, MBOX2 âûäåëåí ïîä îòâåòû ëîããåðà. + * Ñëîâî 127 ïðîõîäèò UMP_commands_write íåïîñðåäñòâåííî â CAN ISR. + * Çàïðîñ àðõèâà ISR ëèøü ñòàâèò íà îáñëóæèâàíèå; ôðàãìåíòàöèÿ + * îòâåòîâ âûïîëíÿåòñÿ UMP_CAN_service èç ôîíîâîãî öèêëà. + */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_SWPrioritizedIsrLevels.h" @@ -13,6 +19,7 @@ #include "peripher.h" #include "log_to_mem.h" #include "ump_can_protocol.h" +#include "DAC.h" // Prototype statements for functions found within this file. @@ -162,6 +169,9 @@ void InitCan(int Port, int DevNum) MessageTransivedCount=0; } +/* Ïðè çàíÿòîì MBOX0 âîçâðàùàåòñÿ áåç îæèäàíèÿ ACK â öèêëå. + * Ýòî îòëè÷àåòñÿ îò áëîêèðóþùèõ UART/EEPROM îïåðàöèé main. + */ void CAN_send(int Port, int data[], int Addr) { unsigned long hiword,loword; @@ -234,9 +244,19 @@ void Handlai(volatile struct ECAN_MBOXES * ECanMboxes) Data[1] = (loword>>16) & 0xffff; Data[2] = (loword ) & 0xffff; - if(bit[0]) if(adr < ANSWER_LEN) modbus[adr] = Data[0]; adr++; - if(bit[1]) if(adr < ANSWER_LEN) modbus[adr] = Data[1]; adr++; - if(bit[2]) if(adr < ANSWER_LEN) modbus[adr] = Data[2]; + /* Êàæäîå ðàçðåø¸ííîå ñëîâî èìååò ñîáñòâåííûé àäðåñ. Íå îïðàøèâàåì + * Commands ïîñëå êàäðà áåçóñëîâíî: ïàêåò òåëåìåòðèè íå äîëæåí + * ïðåâðàùàòü âíóòðåííèé ñáðîñ ïàðàìåòðîâ â êîìàíäíûé ôðîíò. + * Àäðåñ 127 ïðîõîäèò ÷åðåç åäèíûé îáðàáîò÷èê ïîëíîãî ñëîâà. */ + { + unsigned int i; + for (i = 0; i < 3; i++, adr++) { + if (bit[i] && adr < ANSWER_LEN) { + if (adr == 127) UMP_commands_write((unsigned int)Data[i]); + else modbus[adr] = Data[i]; + } + } + } /* Ôèêñèðóåì ïðèìåí¸ííóþ êîìàíäó äî âûõîäà èç îáðàáîò÷èêà CAN. */ ump_log_can((unsigned int)(hiword >> 16), Data[0], Data[1], Data[2]); diff --git a/Source/Internal/filter_bat2.c b/Source/Internal/filter_bat2.c index a577836..b462f22 100644 --- a/Source/Internal/filter_bat2.c +++ b/Source/Internal/filter_bat2.c @@ -1,3 +1,8 @@ +/* Ðåêóðñèâíûé ôèëüòð. FILTERBAT õðàíèò êîýôôèöèåíòû è èñòîðèþ + * äâóõ âõîäîâ/âûõîäîâ; êàæäûé âûçîâ èçìåíÿåò ïåðåäàííûé ýêçåìïëÿð. + * Íåçàâèñèìûì êàíàëàì íóæíû îòäåëüíûå ñîñòîÿíèÿ. Ñèíõðîíèçàöèè + * çäåñü íåò: ñìåíó êîýôôèöèåíòîâ ñîãëàñîâûâàåò âûçûâàþùèé êîä. + */ #include "filter_bat2.h" float filterbat(FILTERBAT *b, float InpVarCurr) diff --git a/Source/Internal/kanal.c b/Source/Internal/kanal.c index c719f08..b45382c 100644 --- a/Source/Internal/kanal.c +++ b/Source/Internal/kanal.c @@ -1,3 +1,8 @@ +/* Ïðîãðàììíûé êàíàë èíäèêàöèè. digits/readr çàäàþò ñèìâîëû è âûáîð + * ýëåìåíòîâ, DCLK/DOUT è kanal_Send ôîðìèðóþò ïîñëåäîâàòåëüíîñòü GPIO. + * Ýòî äðóãîé èíòåðôåéñ, ÷åì dCLK/dCS â DAC.c. Ïîõîæèå èìåíà íå + * îçíà÷àþò îáùèé ÖÀÏ èëè îáùèé âûõîä çàïóñêà íàãðóçêè. + */ #include "DSP2833x_Device.h" // DSP281x Headerfile Include File #include "DSP2833x_SWPrioritizedIsrLevels.h" #include "filter_bat2.h" diff --git a/Source/Internal/log_to_mem.c b/Source/Internal/log_to_mem.c index 301e969..aa3870b 100644 --- a/Source/Internal/log_to_mem.c +++ b/Source/Internal/log_to_mem.c @@ -1,3 +1,9 @@ +/* Ðåãèñòðàòîð ÓÌÏ âî âíåøíåé ïàìÿòè .logg: äâà áàíêà ïî 800 çàïèñåé + * èç 40 ñëîâ äëÿ SetGUI. Àðõèâ îòêëþ÷åíèÿ íå ìåøàåò äàëüíåéøåé çàïèñè. + * Ïèñàòåëè èç main/CAN/òàéìåðà çàùèùàþòñÿ êîðîòêèìè ñåêöèÿìè IRQ + * ñ âîññòàíîâëåíèåì ïðåæíåé ìàñêè. Àðõèâ íå ýíåðãîíåçàâèñèìûé. + * clear_mem âûïîëíÿåòñÿ ïðè çàïóñêå äî âêëþ÷åíèÿ ïðåðûâàíèé. + */ #include "DSP2833x_Device.h" #include "filter_bat2.h" #include "measure.h" diff --git a/Source/Internal/main.c b/Source/Internal/main.c index e21da0f..1e9c576 100644 --- a/Source/Internal/main.c +++ b/Source/Internal/main.c @@ -1,3 +1,9 @@ +/* Èíèöèàëèçàöèÿ è ôîíîâûé öèêë ïëàòû. Ïîñëå íàñòðîéêè GPIO, îáìåíà, + * ïàðàìåòðîâ è ÖÀÏ UMP_pulse_init ðàçðåøàåò ñâåæèå êîìàíäû ÑÈÔÓ. + *  main îñòàþòñÿ òåëåìåòðèÿ, EEPROM è ðàçáîð ãîòîâûõ RS-ïàêåòîâ. + * CAN-ïóñê è îêîí÷àíèå èìïóëüñà ðàáîòàþò â IRQ, íå îæèäàÿ main. + * RS-êîìàíäà åù¸ äîëæíà ïðîéòè ïðîâåðêó CRC â get_command èç main. + */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "cntrl_adr.h" @@ -39,8 +45,6 @@ void main() { int i,j,mask; static unsigned int cancount[2], cancell[2]; - static int preCstart=1,preCstop=1; - int umpstart,umpstop; RS_DATA * rs; int presbyt=0; @@ -96,6 +100,8 @@ void main() if(Desk==dsk_LOAD) Setup_DAC_time(); + /* Çàâåðøåíà íà÷àëüíàÿ íàñòðîéêà: òîëüêî òåïåðü ðàçðåøàåì äèñêðåòû. */ + UMP_pulse_init(); LastMode = Mode; EALLOW; @@ -163,27 +169,8 @@ void main() presbyt = bTermoCal; } - if(Desk==dsk_LOAD) - { - umpstart = cUMPstart; - umpstop = cUMPreset; - - if(umpstart & !preCstart) - { - set_START_DPTB(); set_RES_OUT_2(); - IMPowse = READY_FREQ; - } - preCstart = umpstart; - - if(umpstop & !preCstop) - { - set_STOP_DPTB(); clear_RES_OUT_2(); - IMPowse = READY_FREQ; - } - preCstop = umpstop; - - if(!IMPowse) { clear_START_DPTB(); clear_STOP_DPTB(); } - } + /* START/STOP èñïîëíÿþòñÿ ïðè ïðè¸ìå CAN/RS, ñíèìàþòñÿ òàéìåðîì. + * Çäåñü áîëüøå íåò îïðîñà óðîâíÿ: main ìîæåò îæèäàòü EEPROM. */ /* Ñíèìîê ïîñëå îáíîâëåíèÿ âõîäîâ è ôîðìèðîâàíèÿ ïóñêîâûõ âûõîäîâ. */ ump_log_io(); diff --git a/Source/Internal/measure.c b/Source/Internal/measure.c index 837d0d5..4909173 100644 --- a/Source/Internal/measure.c +++ b/Source/Internal/measure.c @@ -1,3 +1,9 @@ +/* Èçìåðåíèÿ, äèàãíîñòèêà è ïåðèîäè÷åñêîå îáñëóæèâàíèå. ADC ISR + * ïîñòàâëÿåò âûáîðêè; òàéìåð 1 îáñëóæèâàåò èíäèêàöèþ è òåëåìåòðèþ. + * Äëÿ dsk_LOAD îí ñíà÷àëà çàâåðøàåò èìïóëüñ ÑÈÔÓ, çàòåì âûçûâàåò + * ðàñ÷¸ò ÖÀÏ è ñíèìîê ëîããåðà. ×àñòîòû íàõîäÿòñÿ â measure.h; + * ïðè èõ èçìåíåíèè òðåáóåòñÿ ïåðåñ÷èòàòü çàâèñèìûå èíòåðâàëû. + */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_SWPrioritizedIsrLevels.h" #include "filter_bat2.h" @@ -134,6 +140,8 @@ interrupt void cpu_timer1_isr_SENS(void) if(Desk==dsk_LOAD) { + /* Ñíÿòü èñò¸êøèé èìïóëüñ äî ðàñ÷¸òà ÖÀÏ, íåçàâèñèìî îò main. */ + UMP_pulse_tick(); Load_runner(); /* Áàçà âðåìåíè 1 ìñ; ñíèìîê ñîäåðæèò ðåçóëüòàò òåêóùåãî øàãà ÖÀÏ. */ ump_log_tick(); diff --git a/Source/Internal/message.c b/Source/Internal/message.c index 42a3c6f..7662a0a 100644 --- a/Source/Internal/message.c +++ b/Source/Internal/message.c @@ -1,3 +1,9 @@ +/* Ïàðàìåòðû è îáðàáîò÷èêè Modbus ïîñëå ïðîâåðêè CRC. Ìàññèâ modbus + * ñîäåðæèò îáû÷íûå àäðåñà 0..127, îáëàñòü 0x1000 îáñëóæèâàåò ëîããåð. + * EEPROM õðàíèò ïàðàìåòðû, íî íå ÿâëÿåòñÿ èñòî÷íèêîì START/STOP: + * ïðè çàãðóçêå ñîõðàíÿåòñÿ ïîñëåäíÿÿ æèâàÿ êîìàíäà íàãðóçêè. + * Ôóíêöèè âûçûâàþòñÿ èç main; EEPROM áëîêèðóåò ýòîò êîíòåêñò. + */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "package.h" #include "RS485.h" @@ -18,6 +24,7 @@ #include "caliber.h" #include "log_to_mem.h" +#include "DAC.h" int modbus[ANSWER_LEN+1]; unsigned int param[ANSWER_LEN+1]; @@ -40,9 +47,11 @@ void Default_params() for(i=0;iflag_TIMEOUT_to_Send=true; diff --git a/Source/Internal/peripher.c b/Source/Internal/peripher.c index 0efc38a..1dcf311 100644 --- a/Source/Internal/peripher.c +++ b/Source/Internal/peripher.c @@ -1,3 +1,9 @@ +/* Âûáîð òèïà ïëàòû, íàïðàâëåíèÿ GPIO è ÷òåíèå âõîäîâ. get_Mode + * ÷èòàåò àïïàðàòíûé àäðåñ è âûáèðàåò Desk. Îäèí âûâîä â ðàçíûõ + * ðåæèìàõ ìîæåò èìåòü ðàçíîå íàçíà÷åíèå. Äëÿ íàãðóçêè START=GPIO62, + * STOP=GPIO58, RES_OUT_2=GPIO3 (àêòèâíûé íîëü). Íàïðàâëåíèÿ çàäàíû + * â GPIO_table.h; èçìåíåíèå ðàñïèíîâêè òðåáóåò ñâåðêè ñî ñõåìîé. + */ #include "DSP2833x_Device.h" // DSP281x Headerfile Include File #include "filter_bat2.h" #include "measure.h" diff --git a/Source/Internal/pulto.c b/Source/Internal/pulto.c index 9772213..2f2ee91 100644 --- a/Source/Internal/pulto.c +++ b/Source/Internal/pulto.c @@ -1,3 +1,8 @@ +/* Ëîãèêà ïóëüòà è èíäèêàöèè. cpu_timer1_isr_PULT âûáèðàåòñÿ + * òîëüêî äëÿ dsk_EPLT; äëÿ íàãðóçêè ðàáîòàåò îáðàáîò÷èê èç measure.c. + * Lonely îòíîñèòñÿ ê àêòèâíîñòè îáìåíà, íå ê çàäåðæêå ïóñêà ÑÈÔÓ. + * Íå ñìåøèâàòü ôóíêöèè äâóõ ðåæèìîâ ïðè èçìåíåíèè îáùåãî òàéìåðà. + */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_SWPrioritizedIsrLevels.h" diff --git a/Source/Internal/spise2p.c b/Source/Internal/spise2p.c index 918b3f5..8020cda 100644 --- a/Source/Internal/spise2p.c +++ b/Source/Internal/spise2p.c @@ -1,3 +1,9 @@ +/* SPI EEPROM. Seeprom_read/write ðàçáèâàþò çàïðîñ íà ñòðàíèöû + * è ñèíõðîííî æäóò spiSe2pFree. SPI-àâòîìàò ïðîäâèãàåò òàéìåð 2 + * êàæäûå 100 ìêñ. Ïðè çàïðåòå ýòîãî IRQ îæèäàíèå íå çàâåðøèòñÿ. + * Òàéì-àóò â ñòàðîì äðàéâåðå îòñóòñòâóåò. Äèñêðåòû ÑÈÔÓ òåïåðü + * íå çàâèñÿò îò òîãî, çàâåðøèëîñü ëè ýòî îæèäàíèå â main. + */ #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "spise2p.h" @@ -19,6 +25,9 @@ int ccc=0; /******* SPI bus Serial EEPROM driver Initialization routine ********/ /********************************************************************/ +/* Áëîêèðóåò main äî çàâåðøåíèÿ ñòðàíèö. Çàïðåò IRQ îñòàíîâèò + * SPI-àâòîìàò. CAN è òàéìåð ÑÈÔÓ äîëæíû ïðåðûâàòü ýòî îæèäàíèå. + */ void Seeprom_write( unsigned int adres, unsigned int buf[], unsigned int size) @@ -50,6 +59,9 @@ void Seeprom_write( unsigned int adres, CpuTimer2Regs.TCR.all = 0x4010; // Use write-only instruction to set TSS bit = 1 } +/* ×òåíèå òàêæå ñèíõðîííîå äëÿ main, òàéì-àóò íå ðåàëèçîâàí. + * Ïðè çàâèñàíèè ïðîâåðèòü step/SPI è ðàáîòó òàéìåðà 2. + */ void Seeprom_read( unsigned int adres, unsigned int buf[], unsigned int size) diff --git a/Source/Internal/tools.c b/Source/Internal/tools.c index 382de8b..71f9ac6 100644 --- a/Source/Internal/tools.c +++ b/Source/Internal/tools.c @@ -1,3 +1,8 @@ +/* Âíåøíÿÿ ïàìÿòü è ïðîãðàììíûå çàäåðæêè. init_zone7 ãîòîâèò XINTF + * äî ïåðâîãî îáðàùåíèÿ ê .logg; âðåìåíà øèíû çàâèñÿò îò ÷àñòîòû DSP + * è àïïàðàòíîé ïàìÿòè. pause_us çàíèìàåò CPU öèêëîì è èñïîëüçóåòñÿ + * ïðè èíèöèàëèçàöèè. Äëèòåëüíîñòü ÑÈÔÓ äîëæíà çàäàâàòüñÿ òàéìåðîì. + */ #include "DSP2833x_Device.h" // DSP281x Headerfile Include File // Configure the timing paramaters for Zone 7. diff --git a/tests/ump_logger/recorder_test.c b/tests/ump_logger/recorder_test.c index 87d5c82..07fbb92 100644 --- a/tests/ump_logger/recorder_test.c +++ b/tests/ump_logger/recorder_test.c @@ -4,7 +4,8 @@ struct mock_gpio GpioDataRegs; int READY = 0, Desk = 6, Mode = 5; int modbus[128]; int CanTimeOutErrorTR; -unsigned long IMPowse, WAKEpowse; +volatile unsigned long IMPowse; +unsigned long WAKEpowse; unsigned int adc_table_lem[4]; #define CHECK(x) if (!(x)) return __LINE__ diff --git a/tests/ump_logger/stubs/DAC.h b/tests/ump_logger/stubs/DAC.h index a7c38cf..8bdb2d3 100644 --- a/tests/ump_logger/stubs/DAC.h +++ b/tests/ump_logger/stubs/DAC.h @@ -1 +1,2 @@ -extern unsigned long IMPowse, WAKEpowse; +extern volatile unsigned long IMPowse; +extern unsigned long WAKEpowse; diff --git a/tests/ump_pulse/control_test.c b/tests/ump_pulse/control_test.c new file mode 100644 index 0000000..0dac131 --- /dev/null +++ b/tests/ump_pulse/control_test.c @@ -0,0 +1,97 @@ +/* ИÑ�полнÑ�етÑ�Ñ� наÑ�тоÑ�щий автомат и аппаратнаÑ� обёртка прошивки. + * GPIO здеÑ�ÑŒ заменены Ñ�чётчиками: каждое переключение проверÑ�етÑ�Ñ� + * отдельно, в том чиÑ�ле отÑ�утÑ�твие кратковременного START+STOP. + * Ð’ теÑ�те нет main прошивки: Ñ�тим воÑ�производитÑ�Ñ� его задержка на EEPROM. + */ +#include "ump_pulse.h" +static unsigned int irq_mask, start_pin, stop_pin, relay_pin, overlap; +static unsigned int start_edges, stop_edges; +int Desk = 6; +#define dsk_LOAD 6 +#define READY_FREQ 1000 +static volatile unsigned int command_word; +#define Commands command_word +volatile unsigned long IMPowse; +static unsigned int __disable_interrupts(void) +{ unsigned int old = irq_mask; irq_mask = 1; return old; } +static void __restore_interrupts(unsigned int old) { irq_mask = old; } +static void clear_START_DPTB(void) { start_pin = 0; } +static void clear_STOP_DPTB(void) { stop_pin = 0; } +static void set_START_DPTB(void) +{ if (!start_pin) start_edges++; start_pin = 1; if (stop_pin) overlap++; } +static void set_STOP_DPTB(void) +{ if (!stop_pin) stop_edges++; stop_pin = 1; if (start_pin) overlap++; } +static void set_RES_OUT_2(void) { relay_pin = 1; } +static void clear_RES_OUT_2(void) { relay_pin = 0; } +#include "ump_control_impl.h" +#define CHECK(x) do { if (!(x)) return __LINE__; } while (0) +__declspec(dllexport) int run_tests(void) +{ + unsigned int i, edges; + /* Команда до окончаниÑ� инициализации не иÑ�полнÑ�етÑ�Ñ�; разрешение + * обработки не воÑ�производит её задним чиÑ�лом. */ + UMP_commands_write(0x80); + CHECK(!start_pin && !stop_pin); + UMP_pulse_init(); + UMP_commands_write(0x80); + CHECK(!start_pin); + UMP_commands_write(0); + UMP_commands_write(0x80); + CHECK(start_pin && !stop_pin && relay_pin && IMPowse == 1000); + CHECK(!irq_mask); + /* ДлительнаÑ� единица не продлевает импульÑ�. Ровно тыÑ�Ñ�ча вызовов + * таймера Ñ�нимает выход; оÑ�новной цикл ни разу не вызывалÑ�Ñ�. */ + for (i = 0; i < 999; i++) { + UMP_commands_write(0x80); + UMP_pulse_tick(); + } + CHECK(start_pin && IMPowse == 1); + UMP_pulse_tick(); + CHECK(!start_pin && !stop_pin && relay_pin && !IMPowse); + UMP_commands_write(0x80); + CHECK(!start_pin); + /* Короткий ноль замечаетÑ�Ñ� непоÑ�редÑ�твенно в приёмном обработчике. */ + UMP_commands_write(0); UMP_commands_write(0x80); + CHECK(start_pin && IMPowse == 1000 && start_edges == 2); + UMP_pulse_tick(); + UMP_commands_write(0); UMP_commands_write(0x80); + CHECK(IMPowse == 1000 && start_edges == 2); + /* STOP прерывает активный START. ОдновременнаÑ� команда не выдаёт + * даже короткого START; проверÑ�етÑ�Ñ� каждаÑ� запиÑ�ÑŒ мокового GPIO. */ + UMP_commands_write(0xC0); + CHECK(!start_pin && stop_pin && !relay_pin && !overlap); + edges = start_edges; + for (i = 0; i < 1000; i++) UMP_pulse_tick(); + UMP_commands_write(0xC0); + CHECK(!start_pin && !stop_pin && !IMPowse); + UMP_commands_write(0x80); + CHECK(!start_pin && start_edges == edges); + UMP_commands_write(0); UMP_commands_write(0xC0); + CHECK(!start_pin && stop_pin && start_edges == edges); + UMP_commands_write(0x40); UMP_commands_write(0xC0); + CHECK(!start_pin && !overlap); + /* СнÑ�тый STOP + Ñ�вежий фронт START могут переключить выход до + * окончаниÑ� STOP-импульÑ�а, но никогда не Ñ�оздают перекрытие. */ + UMP_commands_write(0); UMP_commands_write(0x80); + CHECK(start_pin && !stop_pin && relay_pin && !overlap); + /* Default/Load удалÑ�ÑŽÑ‚ Ñ�лужебные биты, Ñ�охранÑ�Ñ� уровень команды + * и иÑ�торию фронтов. Случайный повтор пакета не перезапуÑ�кает импульÑ�. */ + UMP_commands_write(0x88); UMP_pulse_tick(); + UMP_reset_parameter_commands(); + CHECK(Commands == 0x80 && IMPowse == 999); + UMP_commands_write(0x80); + CHECK(IMPowse == 999); + /* Вложенный вызов не разрешает IRQ, еÑ�ли они были запрещены. */ + irq_mask = 1; + UMP_commands_write(0x40); UMP_pulse_tick(); UMP_reset_parameter_commands(); + CHECK(irq_mask == 1 && stop_pin && !start_pin && !overlap); + irq_mask = 0; + /* Другие типы платы не получают диÑ�креты нагрузки. */ + for (i = 0; i < 1000; i++) UMP_pulse_tick(); + Desk = 1; edges = start_edges; + UMP_commands_write(0); UMP_commands_write(0x80); + CHECK(Commands == 0x80 && start_edges == edges && !start_pin); + UMP_reset_parameter_commands(); + CHECK(Commands == 0); + return 0; +} diff --git a/tests/ump_pulse/run_test.py b/tests/ump_pulse/run_test.py new file mode 100644 index 0000000..b102631 --- /dev/null +++ b/tests/ump_pulse/run_test.py @@ -0,0 +1,38 @@ +"""Host test of the 166 START/STOP controller. Requires Clang/lld or MSVC (Windows). + +Example: py -3 tests/ump_pulse/run_test.py --compiler "C:/path/to/cl.exe" +All build products are written to a temporary directory. +""" +import argparse +import os +from pathlib import Path +import shutil +import subprocess +import tempfile + +parser = argparse.ArgumentParser(description=__doc__) +parser.add_argument('--compiler', default=shutil.which('clang') or shutil.which('cl')) +args = parser.parse_args() +if not args.compiler: + parser.error('Provide --compiler pointing to clang.exe or cl.exe') +root = Path(__file__).resolve().parents[2] +with tempfile.TemporaryDirectory(prefix='ump-recorder-') as directory: + output = Path(directory) + library = output / 'recorder_test.dll' + includes = [root / 'Source/Internal/Include'] + source = root / 'tests/ump_pulse/control_test.c' + if Path(args.compiler).stem.lower() == 'cl': + command = [args.compiler, '/nologo', '/LD', '/GS-', '/wd4068', '/wd4312', + *['/I' + str(p) for p in includes], str(source), + '/Fo' + str(output / 'recorder.obj'), '/link', '/NOENTRY', + '/NODEFAULTLIB', '/OUT:' + str(library)] + else: + command = [args.compiler, '-shared', '-nostdlib', '-fuse-ld=lld', + '-Wl,/noentry,/nodefaultlib', '-Wno-unknown-pragmas', + '-Wno-int-to-pointer-cast', *['-I' + str(p) for p in includes], + str(source), '-o', str(library)] + subprocess.run(command, cwd=output, check=True) + subprocess.run([os.sys.executable, '-c', + 'import ctypes,sys; r=ctypes.CDLL(sys.argv[1]).run_tests(); ' + 'print("PASS" if r==0 else f"FAIL: C line {r}"); sys.exit(bool(r))', + str(library)], check=True)