diff --git a/.gitignore b/.gitignore index a70237a63..262bce188 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ *.o *~ +*.uvopt +*.dep +*.bak +*.uvgui.* +obj/ diff --git a/Makefile b/Makefile index 5eb6b862d..174a62fe4 100644 --- a/Makefile +++ b/Makefile @@ -60,6 +60,7 @@ COMMON_SRC = startup_stm32f10x_md_gcc.S \ drv_i2c_soft.c \ drv_system.c \ drv_serial.c \ + drv_softserial.c \ drv_uart.c \ printf.c \ utils.c \ @@ -98,8 +99,11 @@ OLIMEXINO_SRC = drv_spi.c \ drv_l3g4200d.c \ drv_pwm.c \ drv_timer.c \ - drv_softserial.c \ $(COMMON_SRC) + +# In some cases, %.s regarded as intermediate file, which is actually not. +# This will prevent accidental deletion of startup code. +.PRECIOUS: %.s # Search path for baseflight sources VPATH := $(SRC_DIR):$(SRC_DIR)/baseflight_startups @@ -182,7 +186,7 @@ TARGET_MAP = $(OBJECT_DIR)/baseflight_$(TARGET).map # It would be nice to compute these lists, but that seems to be just beyond make. $(TARGET_HEX): $(TARGET_ELF) - $(OBJCOPY) -O ihex $< $@ + $(OBJCOPY) -O ihex --set-start 0x8000000 $< $@ $(TARGET_ELF): $(TARGET_OBJS) $(CC) -o $@ $^ $(LDFLAGS) diff --git a/baseflight.uvproj b/baseflight.uvproj index e9deda99e..67f38c295 100755 --- a/baseflight.uvproj +++ b/baseflight.uvproj @@ -30,6 +30,7 @@ SFD\ST\STM32F1xx\STM32F103xx.sfr + 0 0 @@ -97,6 +98,7 @@ 3 + 1 SARMCM3.DLL @@ -169,6 +171,10 @@ BIN\UL2CM3.DLL "" () + + + + 0 @@ -551,6 +557,7 @@ 11 + 1 @@ -596,6 +603,7 @@ 11 + 1 @@ -696,6 +704,7 @@ 11 + 0 @@ -788,11 +797,6 @@ 1 .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c - - stm32f10x_gpio.c - 1 - .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c - stm32f10x_flash.c 1 @@ -822,6 +826,7 @@ 11 + 1 @@ -881,6 +886,7 @@ SFD\ST\STM32F1xx\STM32F103xx.sfr + 0 0 @@ -948,6 +954,7 @@ 3 + 1 SARMCM3.DLL @@ -1020,6 +1027,10 @@ BIN\UL2CM3.DLL "" () + + + + 0 @@ -1402,6 +1413,7 @@ 11 + 1 @@ -1447,6 +1459,7 @@ 11 + 1 @@ -1583,11 +1596,6 @@ 1 .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c - - stm32f10x_gpio.c - 1 - .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c - stm32f10x_flash.c 1 @@ -1617,6 +1625,7 @@ 11 + 1 @@ -1676,6 +1685,7 @@ SFD\ST\STM32F10xx\STM32F10xxB.sfr + 0 0 @@ -1743,6 +1753,7 @@ 3 + 1 SARMCM3.DLL @@ -1815,6 +1826,10 @@ BIN\UL2CM3.DLL "" () + + + + 0 @@ -2142,6 +2157,7 @@ 11 + 1 @@ -2187,6 +2203,7 @@ 11 + 1 @@ -2232,6 +2249,7 @@ 11 + 1 @@ -2277,6 +2295,7 @@ 11 + 1 @@ -2327,6 +2346,7 @@ 11 + 1 @@ -2372,6 +2392,7 @@ 11 + 1 @@ -2427,6 +2448,7 @@ 11 + 1 @@ -2472,6 +2494,7 @@ 11 + 1 @@ -2582,6 +2605,7 @@ 11 + 0 @@ -2674,11 +2698,6 @@ 1 .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c - - stm32f10x_gpio.c - 1 - .\lib\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c - stm32f10x_flash.c 1 @@ -2703,6 +2722,7 @@ 11 + 1 diff --git a/obj/baseflight.hex b/obj/baseflight.hex index 361eeaa74..9eacc8022 100644 --- a/obj/baseflight.hex +++ b/obj/baseflight.hex @@ -1,3391 +1,3592 @@ :020000040800F2 -:1000000010250020919D0008D19D00088125000841 -:10001000D59D0008D79D0008D99D0008000000006C -:10002000000000000000000000000000DB9D000850 -:10003000DD9D000800000000DF9D000879780008C1 -:10004000E39D0008E39D0008E39D0008E39D000890 -:10005000E39D0008E39D0008E39D00084D8400082F -:10006000E39D0008E39D0008E39D0008E39D000870 -:10007000E39D0008E39D0008C57E0008E39D00089D -:10008000E39D0008E39D0008E39D0008E39D000850 -:10009000E39D0008E39D0008E39D000851840008EB -:1000A000E39D0008E39D0008E39D0008F18C000833 -:1000B000FD8C0008058D0008118D00089D73000857 -:1000C00075710008A5730008A1730008E39D00087E -:1000D000E39D0008F97E0008317F0008E39D0008D9 -:1000E00011690008E39D0008E39D0008DFF80CD0CB -:1000F0000AF004FC00480047852300081025002072 +:10000000902900205DA800089DA800081F2700086F +:10001000A1A80008A3A80008A5A8000800000000E7 +:10002000000000000000000000000000A7A8000879 +:10003000A9A8000800000000ABA80008BD800008C7 +:10004000AFA80008AFA80008AFA80008AFA8000834 +:10005000AFA80008AFA80008AFA80008078C0008E8 +:10006000AFA80008AFA80008AFA80008AFA8000814 +:10007000AFA80008AFA800087D860008AFA8000858 +:10008000AFA80008AFA80008AFA80008AFA80008F4 +:10009000AFA80008AFA80008AFA80008098C0008A6 +:1000A000AFA80008AFA80008AFA800088D9400080A +:1000B00091940008979400089B9400082D7A0008FA +:1000C0000B780008317A00082F7A0008AFA80008E2 +:1000D000AFA80008A9860008DD860008AFA80008C0 +:1000E00049710008AFA80008AFA80008DFF80CD0DD +:1000F0000BF020F800480047E12400089029002078 :1001000070B51546B0FBF5F40646A84203D3204669 :10011000FFF7F6FF014605FB1460FCA2105C0870B7 :10012000481C70BD70B50C46911E232900D30A22CD :100130000025002804DA2D212170611C404200E0D6 -:100140002146FFF7DDFF0570204670BD2DE9F05F09 +:100140002146FFF7DDFF0570204670BD2DE9F04721 :10015000044600E0641C20782028FBD00928F9D050 -:10016000DFF8D0A3C1B24FF000092D2902D02B280F -:1001700004D004E0DFF8C0A34FF00009641C00269F -:100180003746DFF8B8B310E00AF0BEF905468846F6 -:1001900000225B46304639460AF0C7F82A464346F5 -:1001A0000AF01CF806460F46641C207830380928EF -:1001B000EAD920782E281CD10025DFF8808313E0AF -:1001C0000AF0A2F92A4643460AF021F932463B4694 -:1001D0000AF004F806460F4600225B4628464146D0 -:1001E0000AF0A3F80546884614F8010F30380928AC -:1001F000E6D922780020CF49652A01D0452A43D18B -:1002000014F8012F4FF000082D2A02D02B2A02D01B -:1002100002E04FF00108641C00256FF02F0305E099 -:1002200005EB850503EB45051544641C2278A2F116 -:10023000300CBCF1090FF3D94FF49A72954205D9ED -:100240001546BF4ABF4B0AF070F8323D322DF8D246 -:10025000BD4C082D0BD3002223460AF066F8083D5A -:10026000F7E7002223460AF060F86D1E00E05C46C6 -:10027000002DF6D1B8F1000F06D002460B463046ED -:1002800039460AF0C4F803E032463B460AF04DF81E -:100290004A4653460AF049F8BDE8F05F0AF07FB9D4 -:1002A000F0B587B000260D46A94900960196A7A78C -:1002B0000296B0F5000F02DB09F0B6FE01E009F08E -:1002C00005FFA44909F008FF0AF03CF9041E00DC10 -:1002D00060420A2203A9FFF725FF002C01DB202042 -:1002E00000E02D208DF8000003A809F070FE3024F6 -:1002F00001280AD003A809F06AFE02280CD003A83E -:1003000009F065FE03280CD00DE08DF801408DF852 -:1003100002408DF8034006E08DF801408DF8024060 -:1003200001E08DF8014003A9684609F01CFE68460B -:1003300009F04DFEC01EC4B222466946284609F0A7 -:1003400030FE2E553946284609F00DFE0DEB04010E -:10035000284609F008FE07B02846F0BD70B50546EE -:100360000C46086809F033FE024621682868BDE89B -:10037000704009F033BE70B5064609F028FE764D90 -:1003800010F0FF0F0FD0304609F041FE044614284C -:1003900015DA2021304609F010FE09F038FE05EB91 -:1003A0004401C88770BD002405EB44002146C28F7C -:1003B0006AA00AF051FB641C142CF5DB70BDBDE88B -:1003C0007040142168A00AF047BB2DE9F0410025D8 -:1003D00088B007462E4609F0FAFD6D4C10F0FF0F6D -:1003E000A84652D005226BA1384609F0F7FD002837 -:1003F0007ED0042269A1384609F0F0FD002878D0AB -:10040000384609F004FE461E0C2E73DA20213846C9 -:1004100009F0D3FD070007D0781C0746FFF796FECA -:1004200004EB0611012508612021384609F0C5FDBD -:10043000070007D0471C3846FFF788FE04EB06117B -:100440006D1C48612021384609F0B7FD070007D030 -:10045000471C3846FFF77AFE04EB06116D1C8861D5 -:100460002021384609F0A9FD30B1401CFFF76EFE8F -:1004700004EB06116D1CC861042D45D049A000BFD6 -:1004800000F074FF08B0BDE8F08155A000F06EFFE9 -:100490005FF0000504EB0517386910F0FF4F2BD013 -:1004A000761C691C59A00AF0D7FA03A93869FFF72E -:1004B000F7FE014657A00AF0CFFA03A97869FFF7C3 -:1004C000EFFE014653A00AF0C7FA03A9B869FFF787 -:1004D000E7FE01464FA00AF0BFFA03A9F869FFF74B -:1004E000DFFE01464CA00AF0B7FA6D1C0C2D02E0AD -:1004F000C1E0CAE0EFE0CDDBCDF80880CDF80480A4 -:100500000025CDF800809DE0E0E00000303132337E +:100160004FF07E58C1B247462D2902D02B2801D02E +:1001700001E0F04F641C0026DFF8BC930CE000BFE8 +:100180000AF0B4FD0546494630460AF02DFD2946E1 +:100190000AF0D2FC0646641C207830380928EFD9D2 +:1001A00020782E2815D14D460EE000BF0AF09EFDA6 +:1001B00029460AF04FFD31460AF0BEFC0646494684 +:1001C00028460AF011FD054614F8010F30380928B9 +:1001D000ECD921784046652901D0452935D114F85C +:1001E000011F4FF000082D2902D02B2902D002E078 +:1001F0004FF00108641C00256FF02F0206E000BFDD +:1002000005EB850302EB4303CD18641C2178A1F1B3 +:100210003003092BF4D94FF49A718D4204D90D465D +:10022000C6490AF0E1FC083D082DF9D203E0494631 +:100230000AF0DAFC6D1E002DF9D1B8F1000F04D0E0 +:10024000014630460AF006FD03E0014630460AF05A +:10025000CBFC3946BDE8F0470AF0C6BCF0B587B024 +:1002600000260D46B74900960196B5A70296B0F54F +:10027000000F02DB0AF060FC01E00AF0AFFCB249BB +:100280000AF0B2FC0AF040FD041E00DC60420A22C3 +:1002900003A9FFF747FF002C01DB202000E02D2001 +:1002A0008DF8000003A80AF0F8FB302401280AD0DA +:1002B00003A80AF0F2FB02280CD003A80AF0EDFB19 +:1002C00003280CD00DE08DF801408DF802408DF828 +:1002D000034006E08DF801408DF8024001E08DF802 +:1002E000014003A968460AF0A4FB68460AF0D5FB62 +:1002F000C01EC4B22246694628460AF0B8FB2E55F5 +:10030000394628460AF095FB0DEB040128460AF011 +:1003100090FB07B02846F0BD70B505460C4608684E +:100320000AF0BBFB024621682868BDE870400AF06D +:10033000DDBB70B506460AF0B0FB844D10F0FF0F30 +:100340000FD030460AF0EBFB0446142815DA2021C2 +:1003500030460AF098FB0AF0E2FB05EB4401C8873F +:1003600070BD002405EB44002146C28F78A00BF03D +:100370000FF8641C142CF5DB70BDBDE8704014212F +:1003800076A00BF005B82DE9F041002588B00746AE +:100390002E460AF082FB7B4C10F0FF0FA84652D08D +:1003A000052279A138460AF0A1FB00287ED004225C +:1003B00077A138460AF09AFB002878D038460AF030 +:1003C000AEFB461E0C2E73DA202138460AF05BFB8A +:1003D000070007D0781C0746FFF7B8FE04EB0611AC +:1003E00001250861202138460AF04DFB070007D09F +:1003F000471C3846FFF7AAFE04EB06116D1C486146 +:10040000202138460AF03FFB070007D0471C38463A +:10041000FFF79CFE04EB06116D1C88612021384615 +:100420000AF031FB30B1401CFFF790FE04EB0611DF +:100430006D1CC861042D67D057A000BF01F045F8BE +:1004400008B0BDE8F08163A001F03FF85FF000055F +:1004500004EB0517386910F0FF4F2BD0761C691C90 +:1004600067A00AF095FF03A93869FFF7F7FE014678 +:1004700065A00AF08DFF03A97869FFF7EFFE01463A +:1004800061A00AF085FF03A9B869FFF7E7FE0146FE +:100490005DA00AF07DFF03A9F869FFF7DFFE0146C2 +:1004A0005AA00AF075FF6D1C0C2D02E0C8E0D0E0E8 +:1004B000F5E0CDDBCDF80880CDF804800025CDF83F +:1004C000008011E004EB0517009879690AF034FB0D +:1004D0000090B96901980AF02FFB0190F969029820 +:1004E0000AF02AFB6D1C0290B542EBDB49A000F03C +:1004F000ECFF4C4E00246D4655F8240020F00040DF +:10050000B04202DD48A092E0C4E08FE030313233E7 :100510003435363738394142434445464748494ADD :100520004B4C4D4E4F505152535455565758595AA3 -:10053000000000000000F03F0000F0BF0000244079 -:100540009A647EC50E1B514A84D797412E00000045 -:100550006F12033A00007A44500800206175782039 -:1005600025752025750D0A00496E76616C69642039 -:100570004665617475726520696E6465783A206DB0 -:10058000757374206265203C2025750D0A000000FB -:100590007004002072657365740000006C6F616404 -:1005A0000000000057726F6E67206E756D62657295 -:1005B000206F6620617267756D656E74732C206E96 -:1005C00065656473206964782074687220726F6C4A -:1005D0006C207069746368207961770D0A000000EF -:1005E000437573746F6D206D697865723A200D0ADA -:1005F0004D6F746F720954687209526F6C6C0950B8 -:1006000069746368095961770D0A00002325643A0B -:10061000090000002573090025730D0A0000000081 -:1006200004EB05170098796909F0FEFC0090B969A0 -:10063000019809F0F9FC0190F969029809F0F4FCBD -:100640006D1C0290B542EBDBF5A000F08FFEF84E7A -:1006500000246D4655F8240020F00040B04201DD32 -:10066000F4A000E0F4A000F081FE641C032CF1DB98 -:10067000AFF26C0004E700204FEA080104EB00121F -:10068000401C11610C28F9DBFCE62021384609F0FA -:1006900094FC0028F8D0401C054609F098FCE74E71 -:1006A000C7B2002456F8241031B13A46284609F062 -:1006B00095FC18B1641CF5E7E1A0E1E6204601F0E5 -:1006C000D1FF56F82410E4A00AF0C6F9AFF2A0104A -:1006D000FFF77BFED6E60C21E4A00AF0BDF9D1E6D7 -:1006E00010B5ECA000F042FE012001F000F9F0A0EE -:1006F00000F03CFE0A2007F0EFF8BDE810400020B3 -:1007000007F0B7B97CB504460D46007900210628EC -:1007100014D2DFE800F003060A0D111EA06801786C -:100720000CE0A06890F9001008E0A068018805E0DE -:10073000A068B0F9001001E0A0680168E0A00AF02C -:100740008BF9002D04D0D4E90312DEA00AF084F95D -:100750007CBDA06869460068FFF7A2FD0146DBA0EA -:100760000AF07AF9002DF3D0E06809F0BFFE69467F -:10077000FFF796FD0146D6A00AF06EF9206909F050 -:10078000B5FE6946FFF78CFD0146D1A00AF064F979 -:100790007CBD2DE9FF47CFA00AF05EF9C7A0FFF7A7 -:1007A000EAFDD84DA549687901EB800050F8041C9A -:1007B000D5A00AF051F9286910F0FF4F4CD0DFF8AE -:1007C00054A3002405EB0410066916F0FF4F3FD038 -:1007D000D0E90598C769611CCFA00AF03DF95645DC -:1007E00002D3CFA00AF038F969463046FFF758FD2A -:1007F0000146B6A00AF030F95646B14502D3C8A06A -:100800000AF02AF969464846FFF74AFD0146AFA0BB -:100810000AF022F9B04502D3C1A00AF01DF96946D9 -:100820004046FFF73DFD0146A8A00AF015F9B74282 -:1008300002D3BBA00AF010F969463846FFF730FD35 -:100840000146AFF22C200AF007F9641C0C2CB9DB2E -:10085000611CB4A00AF000F901F07AF8774E002488 -:1008600007464C3656F8241021B1B3A00AF0F4F82C -:10087000641CF7E700244FF0010800BF56F824106D -:1008800041B108FA04F0384202D0AFA00AF0E4F80F -:10089000641CF3E7B04A002069462C18135C94F8F6 -:1008A0000641401C08280B55F7DB00220A54ABA078 -:1008B0000AF0D2F8AC4D002404EB840005EB80066E -:1008C00055F82010A9A00AF0C7F800213046FFF71C -:1008D00019FF65A000F04AFD641C702CECD3BDE844 -:1008E000FF8710B5A4A000F041FD0121002000F019 -:1008F00036FEA4A000F03AFD0A2006F0EDFFBDE8A8 -:100900001040002007F0B5B810B50446A1A000F0D3 -:100910002DFDA64800210170A5480160A548017081 -:100920002046BDE81040DCE72DE9F047064609F017 -:100930004EFB054601F00CF8DFF8008107464FF04A -:10094000010908F14C0855B12A469BA1304609F02F -:1009500045FBC8B1307800272D2824D026E098A088 -:1009600000F004FD00244D464FEA080656F8241016 -:1009700041B105FA04F0384202D096A00AF06CF8B2 -:10098000641CF3E738A01EE093A000F0EFFC002405 -:100990004FEA080555F824100029F3D08DA00AF07D -:1009A0005BF8641CF6E70127761C6D1E5FF00004FF -:1009B00058F8241031B12A46304609F00FFB30B107 -:1009C000641CF5E78AA0BDE8F04700F0CFBC09FA47 -:1009D00004F01FB100F0B7FF8CA002E000F020FE91 -:1009E0008DA000F0C3FC58F82410BDE8F04758A0D3 -:1009F0000AF032B870B500248AA000F0B7FC5A4D56 -:100A0000B5F1A80504EB440005EB80014A6855F8F0 -:100A100020108AA00AF020F8641C0E2CF2D370BDBE -:100A200053616E69747920636865636B3A090000ED -:100A30000AD7233C4E4709004F4B0900B0B60008C7 -:100A4000496E76616C6964206D697865722074798D -:100A500070652E2E2E0D0A004C6F61646564202592 -:100A600073206D69782E2E2E0D0A00004D6F746F65 -:100A700072206E756D626572206D7573742062658B -:100A8000206265747765656E203120616E64202573 -:100A9000640D0A00526573657474696E6720746F23 -:100AA0002064656661756C74732E2E2E0D0A00002D -:100AB0005265626F6F74696E672E2E2E0000000003 -:100AC00025640000202564202564000025730000B3 -:100AD0002025730043757272656E7420436F6E66D5 -:100AE00069673A20436F707920657665727974681A -:100AF000696E672062656C6F7720686572652E2E5F -:100B00002E0D0A00700400206D697865722025732F -:100B10000D0A000000008080636D69782025640064 -:100B200020000000636D697820256420302030208B -:100B30003020300D0A000000666561747572652012 -:100B40002D25730D0A0000006665617475726520BD -:100B500025730D0A00000000D8C000086D617020E8 -:100B600025730D0A0000000018B800087365742092 -:100B70002573203D20000000536176696E672E2E9C -:100B80002E0000000D0A5265626F6F74696E672E49 -:100B90002E2E00000D0A4C656176696E6720434C6D -:100BA00049206D6F64652E2E2E0D0A004004002032 -:100BB00000000020BE0100206C697374000000007A -:100BC000456E61626C6564206665617475726573FB -:100BD0003A20000025732000417661696C61626CE7 -:100BE000652066656174757265733A2000000000C7 -:100BF000496E76616C696420666561747572652002 -:100C00006E616D652E2E2E0D0A0000004469736121 -:100C1000626C656420000000456E61626C65642052 -:100C200000000000417661696C61626C6520636F51 -:100C30006D6D616E64733A0D0A000000257309251D -:100C4000730D0A003EB5054609F0C1F908281DD10B -:100C50000024285D09F03AF92855641C082CF8D3C3 -:100C60000024FD48295D09F0A8F928B12819295D5B -:100C7000401C09F0A2F918B1F8A000F077FB3EBDC6 -:100C8000641C082CEDD3284600F0AAFBFBA000F062 -:100C90006DFBF14BFF4A0020694615181C5C95F866 -:100CA0000651401C08284C55F7D300220A54AFF2D5 -:100CB000601009F0D1FE3EBD2DE9F041804609F0FB -:100CC00086F9F44FF44D060012D00246AFF2181127 -:100CD000404609F083F990B15FF0000455F8241004 -:100CE000F1B13246404609F079F9F8B1641CF5E7F4 -:100CF000787905EB800050F8041CE8A01BE0ECA01C -:100D000000F034FB5FF0000455F8241029B1AFF275 -:100D10003C1009F0A1FE641CF6E7AFF2B42001E03C -:100D2000AFF2E420BDE8F04100F020BB601C787118 -:100D300055F82410E3A0BDE8F04109F08DBE70B570 -:100D4000054609F044F9D34C10F0FF0F0CD02846AB -:100D500009F05DF902280ED884F8DC03002108466A -:100D600000F0FDFBCAA0EBE794F8DC13BDE870408F -:100D7000D9A009F071BE52E62DE9F047814609F08D -:100D800026F9DB4D060029D0012E03D199F8000089 -:100D90002A2823D0D7A1484609F0F1F800286ED0C0 -:100DA000401C044609F033F982462046FFF7CEF98D -:100DB0008046002606EB860705EB870455F82700DA -:100DC00009F005F9024655F82710484609F006F9DA -:100DD000F8B1761C702EEDD3C7A04CE0CEA000F089 -:100DE000C5FA002404EB840005EB800755F82010B9 -:100DF000AFF2842009F030FE31463846FFF782FC1E -:100E0000AFF29C3000F0B2FA641C702CEAD3BDE85B -:100E1000F08706EB860605EB8607F86809F066FBA7 -:100E2000414609F0D9FB25D8386909F05FFB4146F6 -:100E300009F0DCFB1ED83979052907D05046062970 -:100E40000ED2DFE801F0050508080B0B4046F6E777 -:100E5000A168087004E0A168088001E0A16808604A -:100E600055F82610B2A009F0F7FD2046BDE8F0477E -:100E7000002147E4B1A0BDE8F04700F077BA0024B4 -:100E800004EB8406494655F8260009F078F878B155 -:100E900055F8261005EB8607AFF22C3009F0DCFD83 -:100EA00000213846FFF72EFCAFF2444009F0D4FD94 -:100EB000641C702CE4D3AAE72DE9F04106F0FEFC97 -:100EC0004FF47A71B0FBF1F1A6480378A648027896 -:100ED000A6A009F0C1FD00F02BFD0646B348B449B9 -:100EE0000068B0FBF1F1B3A009F0B6FD6A4F002431 -:100EF00001258C3757F8241051B105FA04F030421F -:100F000003D0AFF2303009F0A7FD641CE4B2F1E782 -:100F1000022000F0FBFCA8B1AE4C5F482178A43061 -:100F200050F82110ACA009F097FD2078022809D1D3 -:100F3000584890F8F50008B16F2100E06E21A9A093 -:100F400009F08AFDAFF2E04000F010FA06F079F8FF -:100F50000246A5484FF478730188BDE8F041A3A08C -:100F600009F07ABDAEA000F001BA2DE9FF5FDFF80D -:100F7000E09299F8000038B9012189F80010B5A075 -:100F800000F0F4F900F0FEF9DFF800B3DFF800A399 -:100F90005446DAF8000007F026FF00285AD02068EF -:100FA00007F024FF092807D03F2805D0DBF8001000 -:100FB0005C4600294FD077E100244D4F2546A83FDD -:100FC000DFF82C81DBF800600CE000BFDBF80020CC -:100FD00022B1B048396809F001F810B904B93C46AB -:100FE0003D460C374745F1D394B1AA4F5946226884 -:100FF00008682B68125C1B5C9A4209D192B92E28B2 -:1010000010D220223A54401C0021CBF80000395461 -:10101000DBF800005F4608B1AC4213D09EA000F0A0 -:10102000A5F90AE03A54401C0860E0E7206800F0A7 -:101030009DF9092000F0A8F90C34AC42F6D900F073 -:10104000A1F90026934C38688642A1D2A05D00F039 -:101050009BF925E188E125E1D8C000084D7573743E -:1010600020626520616E79206F72646572206F6600 -:101070002041455452313233340D0A0043757272A7 -:10108000656E742061737369676E6D656E743A2066 -:101090000000000070040020B0B6000843757272B2 -:1010A000656E74206D697865723A2025730D0A00AB -:1010B000417661696C61626C65206D6978657273F7 -:1010C0003A2000004D697865722073657420746F52 -:1010D0002025730D0A00000043757272656E74203E -:1010E00070726F66696C653A2025640D0A00000015 -:1010F00018B800083D0000004552523A20556E6B6A -:101100006E6F776E207661726961626C65206E61C8 -:101110006D650D0A0000000043757272656E7420E3 -:1011200073657474696E67733A200D0A00000000DD -:1011300025732073657420746F2000004552523A65 -:101140002056616C75652061737369676E6D656E9D -:1011500074206F7574206F662072616E67650D0A6A -:101160000000000071010020CA0000205379737450 -:10117000656D20557074696D653A2025642073652E -:10118000636F6E64732C20566F6C746167653A20D0 -:101190002564202A20302E315620282564532062D1 -:1011A000617474657279290D0A0000000C04002036 -:1011B00040420F004350552025644D487A2C20644E -:1011C000657465637465642073656E736F72733ADA -:1011D000200000008401002041434348573A202565 -:1011E000730000002E256300CC0000204379636C5F -:1011F000652054696D653A2025642C2049324320CE -:101200004572726F72733A2025642C20636F6E668C -:1012100069672073697A653A2025640D0A00000029 -:101220004166726F333220434C4920766572736990 -:101230006F6E20322E32204F6374202034203230E3 -:101240003133202F2032333A33343A313800000022 -:10125000BE0100200D0A456E746572696E672043F9 -:101260004C49204D6F64652C20747970652027658A -:101270007869742720746F2072657475726E2C20E3 -:101280006F72202768656C70270D0A00000000202F -:1012900068090020400400200D1B5B4B000000008B -:1012A000761CD0E6042813D00C2817D019B10A28D0 -:1012B00018D00D2816D07F2840D03029BFF468AE52 -:1012C0002028FFF465AE7E283FF662AEA9B343E066 -:1012D00004B03048BDE8F05FFFF716BB2EA000F069 -:1012E00045F827E0AFF6800000F040F8294E20686E -:1012F00000250C2335542B48CDE900060E222A493F -:10130000029501A808F0E8FD070007D0386808F04A -:101310005EFE3044B968401C884702E023A000F01C -:1013200025F830211B4808F013FE256099F80000CD -:10133000002819D000F026F82AE60BE00029FBD09F -:10134000144A491E0020CBF80010505420A000F091 -:101350000DF81DE62028EFD00E4A5054491CCBF85A -:10136000001000F011F813E6BDE8FF9F70B50446C9 -:10137000184D03E0641C286806F080FD21780029E0 -:10138000F8D1F8E414A0F1E701461248006806F02D -:1013900075BD0000400400201B5B324A1B5B313BE3 -:1013A000314800005D03000870B700084552523A0A -:1013B00020556E6B6E6F776E20636F6D6D616E641E -:1013C0002C20747279202768656C7027000000005B -:1013D00008200800680900200D0A232000000000F2 -:1013E0002DE9F04105460446FD4EFE4F09E0FC485C -:1013F00008F0E3FD20B1611B801B384480F8061122 -:10140000641C21780029F2D1BDE8F081F648002162 -:101410000278332A12D14288B2F5787F0ED1027950 -:10142000BE2A0BD190F8DD23EF2A07D100F57872A0 -:1014300010F8013B59409042FAD309B1002070479F -:10144000012070472DE9F05FFFF7E0FF10B90A2097 -:1014500006F0EEFA4FF47872E349E24808F05FFDD7 -:10146000E04C94F8DC03022802D9002084F8DC0365 -:10147000C0B200EB4001C1EB401004EBC00101F52C -:101480009271E822D94808F04AFDD84AD84F002086 -:1014900092F820C092F81F5040F6C41600FB00F3EB -:1014A000193B0CFB03F101F6C4114143694391FB65 -:1014B000F6F127F81010401CC0B20628EED392F8BF -:1014C000211092F822509146B4F8D220B4F8D0807E -:1014D000DFF820A300204FF00A0E4FF47A7BC5F10D -:1014E000640701EB8106A2EB080400BF00EB800259 -:1014F000C1EB42030122002B03DDC1F16402D2B231 -:1015000001E000DA0A4603FB03FC05FB0CFC02FBCE -:1015100002F29CFBF2F23A4402FB03F292FBFEF26F -:1015200002EB460212B204FB02F292FBFBF24244CF -:101530002AF8102000F10100C0B20B28D6D309F11F -:101540007A04E28FA18F608F04F0FEFF608714F8A9 -:101550007A0C01F035FFBDE8F05F04F0FFBA2DE929 -:10156000F047A04D8146332028704FF4787400274F -:101570006C80BE202871EF2085F8DD033E4685F89B -:10158000DE7369B195F8DC03E82200EB4001C1EBA2 -:10159000401005EBC00000F59270944908F0BFFCC4 -:1015A0009048924903E000BF10F8012B5740884251 -:1015B000FAD385F8DE738C4F4FEA040808F070FB0D -:1015C000342008F0DBFB384608F098FB04280FD1E4 -:1015D0000024E019295908F0ADFB042805D008F0D3 -:1015E00065FB761C032EE9DB02E0241D4445F0D3A5 -:1015F00008F05CFB032E02D0FFF708FF10B90A20A9 -:1016000006F016FAFFF71EFFB9F1000F06D0BDE88D -:10161000F047012214210F2001F0C2BABDE8F08783 -:1016200070498A6802438A6070472DE9FC5F72A1A5 -:10163000D1E90001CDE900014FF47871694808F063 -:1016400087FCE821694808F083FC664B33200025BD -:1016500018700320587102209D60FFF7E1FF83F8A6 -:10166000DC534FF41670A3F8EA00FA20A3F8EC005C -:10167000C8332A201884DD851D865D869D76DD763B -:101680001D779D7701205877202083F82C005C4837 -:1016900098626E2083F83A002B2083F83B002120CB -:1016A00083F83C0083F83D5003F8465F40F2DC507D -:1016B000588040F24C409880463B40F26C70A3F852 -:1016C0004C0083F84E5040F27E40188140F23A7050 -:1016D00058814FF47A70988140F27E50D88140F260 -:1016E000EA50188240F2B450588232209882C100E9 -:1016F000D982188383F850504FF4E13159659965C8 -:1017000040F6AC5123F8BC1C384C83F84F504FF0D6 -:10171000280A257084F801A01E21E1721721617545 -:1017200084F802A01E21217317215746A175552167 -:10173000E1702D216173E57520711921A17350228B -:1017400022760B216171E57365764FF0140984F8F8 -:101750000690082323742D23A3760E23E37184F8C7 -:101760001190E2765A2121720A26A6744FF0640B7A -:1017700084F81CB06772A5722575A577E1774121C1 -:1017800084F8201084F8235084F8245084F82550DD -:1017900084F8210084F8225025856585E58404209D -:1017A00084F82C0084F82D7084F82E70152084F8AD -:1017B0002F0014482063144860631448A06301207C -:1017C00084F83C0012A0FFF70BFE84F8665084F802 -:1017D000675084F86870012084F869001EE00000FA -:1017E000D8C000087004002000FC01085008002048 -:1017F0000C0B0020180B00201E1E646464646464DB -:10180000031414009A99193F52B87E3F3333733F43 -:1018100041455452313233340000000084F86A509C -:1018200004F8AC6FC82767704FF49660608040F290 -:10183000D930A08048480024EC4640F2DC514FF4F7 -:101840007F724FF4FA6300BF00EBC40525F86C2FDC -:101850006B80A9801CF80480641C85F80680082C25 -:10186000F2DB012400F8B24FFF25447041808280F2 -:10187000C380028141818381C281018243820475D8 -:1018800045758475C4750676467684768283C383EF -:10189000018442848384C184078580F82A901E21B4 -:1018A00080F82B1080F82C40A0F82EB04FF49671E1 -:1018B0000186A0F832A00020284D014605EB001259 -:1018C000401C11610C28F9DB5FF0000404EB4400BC -:1018D000C0EB441005EBC00000F59270E8221E49F1 -:1018E00008F01DFB641C032CF0DBBDE8FC9F10B569 -:1018F0000446FFF78BFD641E204206D1FFF795FEDC -:101900000021BDE81040084629E610BD14490968C9 -:10191000014201D0012070470020704710490A6839 -:1019200002430A6070470E490A6882430A607047A2 -:101930000B480068704709498968014201D00120BD -:1019400070470020704705498A6882438A60704763 -:101950000248806870470000500800207004002092 -:101960000400002070B5FE4809F06CFB0446FD48F9 -:10197000008808F0C4FD0546214608F0ADFB08F0DC -:10198000E1FDF94C29462080F84808F0DBFBF849D6 -:1019900008F0D8FBA0650820FFF7B8FF002803D0A7 -:1019A000BDE8704002F098BC70BD002801DD024621 -:1019B00000E042428A4201DA00207047002802DD3E -:1019C000A0EB01007047FDDA084470472DE9F04FA5 -:1019D00091B0D0E90045814686688846086809F0DC -:1019E00031FB0490D8F8000009F086FD0590D8F886 -:1019F000040009F027FB0190D8F8040009F07CFDF1 -:101A00000746D8F8080009F01DFB8246D8F8080000 -:101A100009F072FD83465046049908F05DFB07907B -:101A20005046019908F058FB80465846049908F042 -:101A300053FB06905146059808F04EFB0890594616 -:101A4000059808F049FB03900198594680F0004042 -:101A500008F042FB82463946089808F03DFB06999B -:101A600008F0E2FA10903946039808F035FB079920 -:101A700008F02FFB0E900598019980F0004008F0C7 -:101A80002BFB05903946079808F026FB039908F0D0 -:101A900020FB02903946069808F01EFB089908F0D2 -:101AA000C3FA83460499019808F016FB0490304667 -:101AB000029908F011FB01902846109908F00CFBE0 -:101AC00000904146204608F007FB009908F0ACFA68 -:101AD000019908F0A9FAC9F800005946304608F003 -:101AE000FBFA834628460E9908F0F6FA80465146DE -:101AF000204608F0F1FA414608F096FA594608F0F7 -:101B000093FAC9F804003046049908F0E5FA06464D -:101B10002846059908F0E0FA05463946204608F0BF -:101B2000DBFA294608F080FA314608F07DFAC9F858 -:101B3000080011B0BDE8F08F70B506468A4886B03F -:101B40008030016881F000410391406880F00040DE -:101B500004908848B0F9000008F0C8FC864908F0F5 -:101B6000BBFA864908F0B8FA7F4C05907434B4F992 -:101B7000000008F0BBFC0090B4F9020008F0B6FCCD -:101B80000190B4F9040008F0B1FC029003A9684682 -:101B9000FFF71CFF7A4D743C95F83C00012804D0F7 -:101BA0007048008808F0ABFC17E0764840780028C1 -:101BB000606B0CD1C11700EB9161A0EBA11008F094 -:101BC00095FC029908F030FA08F0BCFC6063C1177C -:101BD00000EB9160801108F089FC029908F079FA15 -:101BE000029008F0AFFC15F82D1FFFF7DEFE08F09D -:101BF0007DFC0290009808F0A5FC6978FFF7D5FEFF -:101C000008F074FC0090019808F09CFC6978FFF7DC -:101C1000CCFE08F06BFC0190E0683044E060206985 -:101C2000401C2061584C206808F060FC009908F0C6 -:101C3000FBF908F087FC2060606808F057FC019908 -:101C400008F0F2F908F07EFC6060A06808F04EFC35 -:101C5000029908F0E9F908F075FCA06006B070BDC3 -:101C60002DE9F05F404D04468035286809F0EAF917 -:101C70008346286809F040FC8246686809F0E2F96A -:101C80008146686809F038FC0546D4F80880294682 -:101C9000404608F021FA594608F01EFA67680646E1 -:101CA0005146384608F018FA294608F015FA054654 -:101CB0004946206808F010FA294608F0B5F931467F -:101CC00008F0B2F904465146404608F005FA0546C8 -:101CD0005946384608F000FA294608F0F7F9214637 -:101CE00009F086F8294908F0F7F9294908F02AFA95 -:101CF0001D49C96A08F098F9264908F023FA09F045 -:101D0000E3FB00B2002802DA00F5B47000B2BDE8CF -:101D1000F09F2DE9F04F87B0002605F0B5FDDFF804 -:101D200048B005465C46DBF83800281A039008F0F6 -:101D3000E6FB1949C96808F0CFF905901048A5637A -:101D40000BF16E0A90F82C7000240AF106054FF092 -:101D50007E580548683030F9140008F0C7FB1DE0D4 -:101D6000F366DF3E8A010020080000200AE81C41DB -:101D700000401C46B801002089C3E43A000020C19D -:101D800050080020FC0A0020500900200000E14417 -:101D9000DB0F494000002041B40C0020059908F0F9 -:101DA0009BF94DF8240017B3384608F0A8FB01460C -:101DB000404608F0C7F9814604903AF9140008F04B -:101DC00095FB494608F088F981464146049808F099 -:101DD00080F9FE4951F8241008F07EF9494608F0D0 -:101DE00023F9FA4941F8240008F0ACFB01E03AF885 -:101DF000140025F8140035F91400641C00FB00667B -:101E0000032CA6D364204643F1486946008840432A -:101E100096FBF0F4ED481830FFF7D8FD0820FFF7E7 -:101E200075FD694610B1E9480C3800E0E948FFF754 -:101E3000CDFDA0B2DFF894934938DFF89CA309F1F7 -:101E400018093C2826D20024BAF8EA0008F057FB0B -:101E500045464146049008F0E7F80146284608F058 -:101E600071F905464E46DB48143830F9140008F085 -:101E70003DFB074656F82410049808F02DF9394622 -:101E800008F0D2F8294608F027F946F82400641C27 -:101E9000032CE8D30820FFF739FD50B34546CB4E5D -:101EA000DFF8308300240C3EA8F10E08BAF8EC00ED -:101EB00008F025FB8246294608F0B6F80146284678 -:101EC00008F040F94FEA000538F9140008F00EFB5D -:101ED0000746504656F8241008F0FEF8394608F038 -:101EE000A3F8294608F0F8F846F82400641C032CEF -:101EF000EAD35E46BBF9000008F0F8FA0146D9F8CB -:101F00000800B64D4C46B0F5000F01DA80F00040F5 -:101F100008F06CFB01D2012000E000206873D4E9D6 -:101F2000010108F065FFAB4D083D2860A06801463F -:101F300008F0D2F807466068014608F0CDF8394647 -:101F400008F072F809F09EFB0146206880F000401E -:101F500008F04EFFDFF8888268604146286808F084 -:101F6000BBF809F0B1FAA5F150074146388068681E -:101F700008F0B2F809F0A8FA78800820FFF7C6FC4C -:101F8000984D10B191480C3800E09248FFF768FE78 -:101F900028800398FFF7D0FD934D95F86A0000283C -:101FA0001BD08B48008808F0AAFA0146A06808F008 -:101FB000C9F88E4908F090F808F0C4FAC0F164003E -:101FC0006422002104F0C0FA95F86A104843C11752 -:101FD00000EB517040F3CF00708007B0AAE52DE907 -:101FE000F04102F070F90220FFF790FC20B102F0FE -:101FF0006FF8FFF78EFE05E0764900201A39088059 -:10200000488088804020FFF796FC7249724B2C393B -:1020100010B3A1F15602107830B9D3F8F000030CD8 -:102020001370030A537090706A4B0020B3F12603BB -:10203000145C31F9105033F91060671E06FB075528 -:102040006D1C95FBF4F421F8104023F81040401C5F -:102050000328EDD3BDE8F081587901280AD05D4A04 -:102060000020203A32F8103021F81030401C0328AC -:10207000F8D3EFE7574AB1F90400883AB2F90430CF -:1020800000EB4300032390FBF3F088809080E1E7AE -:102090004E4900200C310860486088604D498839FD -:1020A0000861C86070472DE9F84F05F0EDFB494C19 -:1020B000883C216C461A46F2A8118E4202D20020BA -:1020C000BDE8F88F4A492064474D088858B195F813 -:1020D0002F20A369521EB3FBF2F2401EE263088078 -:1020E00000206064A06495F82F00401E08F0FEF9FF -:1020F0000746E06B08F0FAF9394607F0EDFF0746AE -:10210000A06908F0FCF9394608F01CF809F012F94A -:10211000384907F0E1FF09F055F84FF07E5107F01C -:10212000D8FF0746606946F6B321084408F0DEF997 -:10213000314907F0D1FF394607F0CEFF08F002FA27 -:10214000D5F83080074641464FF07E5007F0BEFF7D -:102150008146384608F0CAF9494607F0BDFF0746F0 -:10216000E06908F0C3F9414607F0B6FF394607F0C9 -:102170005BFF08F0E7F98346E061E068804608F01D -:10218000D4F91E4A1E4B08F0D0F808F008FA0746AA -:10219000206908F0ABF98146404608F0B0F9804666 -:1021A0000A480C30806808F0A1F9A16D07F094FF8F -:1021B000414607F091FF494607F0C4FF8046606C36 -:1021C0003946009007F088FF81461BE04409002053 -:1021D0008A0100209000002070040020FC0A0020EA -:1021E0004C3D0F44B8010020500800200000C842B8 -:1021F000B601002041D3423EA1D819438DEDB5A0D0 -:10220000F7C6B03E4FF0FF31404607F0DBFF3946DE -:1022100007F062FF494607F007FFA16C07F004FFD3 -:10222000D5F83890824649464FF07E5007F04EFF71 -:102230000746584608F05AF9394607F04DFF074659 -:102240004946504607F048FF394607F0EDFEA064C6 -:1022500008F078F920654146009807F0E5FE6064D3 -:10226000FFF716FFD4E914104FF49678401AC8F11E -:1022700000094246494604F067F90A21FFF795FB39 -:1022800007462879C8227843C11700EB5160C01176 -:10229000514204F059F92062A87B4CF25032784345 -:1022A000C11700EB9160616A01EBA01051426062BE -:1022B00004F04AF9C117606200EBD150216A01EBCA -:1022C00060202062304608F01AF90646E769E06CA3 -:1022D000381A08F00BF9234907F0FEFE314607F0E3 -:1022E00031FF08F02FF942464946E76404F02CF923 -:1022F0000A21FFF75AFB6F6B804639464FF07E503C -:1023000007F0E4FE0646404608F0F0F8314607F0D4 -:10231000E3FE06463946606C07F0DEFE314607F004 -:1023200083FE606408F00EF94FF47A72514204F0B3 -:102330000BF908F0DBF8606408F004F90521FFF7F9 -:1023400034FBA062297E96224143C81701EB10702E -:1023500000116FF0950104F0F7F8216A081A206265 -:102360000120ADE60024744970B57A4D0446286812 -:1023700006F042FD0028FAD0E1B2286806F02EFDF2 -:10238000204670BD86B005F0C7FA0020FFF7AFFA0F -:10239000FFF758F8704C002594F8050118B1012892 -:1023A0001DD009281BD08DF8105084F8055104A8C1 -:1023B00004F06CF90E20FFF7B1FA00F0E9F860794B -:1023C00001260E280ED008280CD08DF8055000BF2D -:1023D0004FF480773846FFF7AEFA50B905E08DF834 -:1023E0001000E4E78DF80560F2E70820FFF7A3FA94 -:1023F00000B101208DF802000120FFF79CFA8DF852 -:1024000001000820FFF797FA80F001008DF8000026 -:102410005048007C8DF803005048017FC1F3C00193 -:102420008DF80410B4F8DE10ADF80810B4F8E01020 -:10243000ADF80A100088ADF80C0094F805010128E9 -:1024400015D0092816D08DF80650684605F020F9F9 -:102450004449434808600820FFF76DFAB0B194F88A -:102460000E0158B1012809D0022817D10AE08DF8D1 -:102470000660EAE707208DF80600E6E7394803F032 -:1024800087FD0BE0374804F09AF807E03846FFF77D -:1024900052FA18B1D4F81C0103F0A9FB0120FFF790 -:1024A0004AFA30B14FF48060FFF745FA08B101F005 -:1024B00097FF2D494FF01009C1F80090A1F10408D1 -:1024C0004FF0080AC8F800A00025A8F104073868F2 -:1024D00080F010003860386880F0080038601920FB -:1024E00005F0FAF9012005F002FA192005F0F4F9D7 -:1024F000002005F0FCF96D1CEDB20A2DE7D3C8F8F9 -:1025000000A0C8F8009001F025FCFFF72BFA02208C -:10251000FFF711FA08B101F0E9FCD4F8200102F04C -:1025200096F805F0B1F9114908606079052803D1E2 -:102530000F494FF4C87008800E494FF47A70088034 -:102540000D49C82008800D4880F80D6000F040FF5C -:10255000FCE700006809002070040020000900204A -:10256000812F0008FC000020140C0140F80000201E -:102570008601002088010020B6010020FC0A00200E -:102580000248B0F9D40000F0F9FAFEE77004002028 -:102590002DE9F041FE4EFF4F707907EBC000407807 -:1025A00000B10120FC4C20742020FFF7C4F908B1D1 -:1025B000012020747079F94CF94D122808D017F8D1 -:1025C000301007EBC0002170426842B3002024E0C5 -:1025D0005FF0000006EB00110A6912F0FF4F1ED0F9 -:1025E000D1E9057C05EB0013C969401CC3E902C1B0 -:1025F000C3E900272178491C21700C28EADB0EE092 -:1026000002EB001305EB0016D3E9007CD3E902834B -:10261000C6E90283C6E9007C401C8842F0DB4FF427 -:102620008040FFF788F900281AD02778012F17D9A2 -:10263000002613E005EB06144FF0FF384146A06872 -:1026400007F0C0FDA0604146606807F0BBFD606018 -:102650004146E06807F0B6FD761CE060BE42E9DB6B -:10266000BDE8F081F0B5401C0021C94A0B4600BF0F -:1026700002EB0114491C23610C29F9DBC54B03EB68 -:10268000C0014C68002C11D0002113F830000BE081 -:1026900004EB011302EB011593E8C010DB68491C41 -:1026A000C5E906C3C5E904678842F1DCF0BDBA4854 -:1026B00010B5007C002833D0B548B84C4079A41C34 -:1026C00005280ED004DC01281BD0042804D112E018 -:1026D000082806D00E2823D02020FFF72CF9002848 -:1026E0001ED02188002005F057F861880120BDE840 -:1026F000104005F051B82189002005F04DF861899E -:10270000F4E7A649A748891C90F8B300498908B1A5 -:102710000020ECE7A44840780028F9D10021F7E731 -:1027200010BD70B59E4E0024183E9C4D07E000BFC2 -:1027300036F81410204605F024F8641CE4B228781A -:102740008442F5D370BD2DE9FC5F944CDFF85C92B8 -:10275000974F2078032814D9B9F904004142002882 -:1027600001DD024600E00A4602F1640200DC084690 -:102770006FF06301A1EB0001B7F9040003F0E4FE80 -:10278000B8808648DFF818B2864C0078ABF1180B99 -:10279000012839D90025804634E000BF94F9B20001 -:1027A000B7F904104042484307F0A0FE7C4901EB12 -:1027B0000516F16807F090FC8246B7F9000007F0B3 -:1027C00095FE716807F088FC0190B7F9020007F0E8 -:1027D0008DFEB16807F080FC0090B9F9060007F0A3 -:1027E00085FE316807F078FC009907F01DFC01991F -:1027F00007F01AFC514607F017FC07F0A3FE2BF870 -:1028000015006D1C4545C9D3614E644DDFF8A4A188 -:102810007079AD1CDFF8A081052838D004DC0128D0 -:1028200026D0042832D102E008282FD155E0B7F98C -:10283000020094F9B210B7F904204FF4FA6901FBD1 -:10284000120000F2DC504A464FF47F7103F07CFE28 -:102850002881B7F9020094F9B210B7F9042001FBFE -:102860000200A0F2DC5040424A464FF47F710AE079 -:10287000B234B7F90420608894F9001001FB12000B -:10288000E288A188B23C03F05FFE68816EE014F933 -:10289000CA0FBAF90210B9F90220484321894F46FC -:1028A0001144C21700EB127001EB2010E288A188DE -:1028B00003F04AFE288094F90100BAF90010B7F934 -:1028C00000204843E1891144C21700EB127001EB6C -:1028D0002010A2896189CA3C45E03348B9F8061046 -:1028E000ABF80010807AC0B1B6F81021B8F9021028 -:1028F000B8F9000014F9C63F891A801A94F9022029 -:102900004B4302FB00322A8094F90120514394F991 -:102910000320C63C02FB001013E014F9C62FB7F9E0 -:10292000020094F90230B7F90010424303FB012280 -:102930002A8094F90120424394F90300C63C00FB2D -:1029400001206880BA34B5F900006188A288084483 -:10295000218803F0F9FD2880B5F9020021896289F8 -:102960000844E188BA3C03F0EFFD68802020FEF7C0 -:10297000E2FFE8B394F8CC300020990707D0B8F80C -:102980000C10B6F81021A1EB020161F30F0015E065 -:1029900070040020D4C4000868090020AC000020A6 -:1029A0009409002050080020FC0A00203C0100206F -:1029B0002E010020380000205C010020590707D4B8 -:1029C000B8F80E10B6F81021A1EB020161F31F4018 -:1029D000B4F8D210014409B22980B4F8D82002EB2F -:1029E000104002B262486A80007A88B3D80600E0DC -:1029F0003EE094F9CA0017D5BAF902304042584374 -:102A000094F9CB30BAF900707B43C71700EB17700D -:102A1000DF17001103EB1773A0EB2317C91B00EBA3 -:102A200023102980104412E0BAF902707843C717C6 -:102A300000EB177001EB2010288094F9CB00BAF955 -:102A400000104843C11700EB117002EB20106880A2 -:102A5000CE34B5F900006288218803F075FD288026 -:102A60002289E188CE3CB5F9020003F06DFD688053 -:102A700094F8CC00000711D500252020FEF75BFF5D -:102A800000B102250024474607EB44000189601984 -:102A9000C0B204F081FE641C042CF5D335495C46B9 -:102AA000BBF9007001200B7806E000BF34F910205C -:102AB000BA4200DD1746401C9842F7D300254FF478 -:102AC000804A89464DE000BFB6F8D200B84205DA28 -:102AD00034F81510381A081A24F815005046FEF775 -:102AE0002AFF98B1B8F9060040F2DC51884204DDB3 -:102AF000B6F8D220B6F8D81003E0B6F8D620B6F86B -:102B0000D41034F9150003F01FFD15E0B6F8D220FB -:102B1000B6F8D01034F9150003F016FD24F81500AE -:102B2000B8F90600B6F81211884207DA1020FEF74D -:102B300002FF38B1B6F8D40024F815000E484078EA -:102B400018B10DE0B6F8D000F6E75046FEF7F3FEF8 -:102B500010B1B6F8DA0001E0B6F8D40024F8150098 -:102B60006D1C99F800008542AED3BDE8FC9F0000C3 -:102B70002E0B0020AC000020FC0A0020064A002199 -:102B8000064B127804E000BF23F81100491CC9B2BB -:102B90009142F9D3FFF7C5BDAC0000207C090020AD -:102BA0002DE9F0471746894606460025DFF83C84A4 -:102BB0001AE0002411E000BFD8F8001081F00801ED -:102BC000C8F80010012004F092FE484604F084FE8C -:102BD000002004F08CFE641CE4B2B442ECD33C2030 -:102BE00004F07AFE6D1CEDB2BD42E2D3BDE8F08781 -:102BF0002DE9FC5FFE4C002540F2DC51B4F90600E3 -:102C0000FC4E4FF4FA73884201DA64210CE0F94972 -:102C1000B0F5FA6F91F8251004DAA0F2DC525143B6 -:102C200091FBF3F1C1F164018946F34996F866E03E -:102C300096F867B0B1F810410022B246EC49EE4B6D -:102C400040F2E63C31F91260311B01F2F31767459F -:102C500003D8002903DCA11B01E04FF4FA71022A1A -:102C600034D0BEF1000F05D08E4502DAA1EB0E0183 -:102C700000E00021642391FBF3F3E04F6FF01808AC -:102C800007EB430C37F91370BCF902C003FB08F3E0 -:102C9000ACEB070C01EB83030CFB03FC64239CFBF4 -:102CA000F3F33B44D24F203F27F812309AF82330F9 -:102CB0004B434FF4FA7193FBF1F1C1F1640189B216 -:102CC00001FB09F1642391FBF3F11EE0BBF1000F5E -:102CD00005D08B4502DAA1EB0B0100E0002193F94E -:102CE000E530DFF80CC35B42ACF1200C4B43ACF891 -:102CF00004309AF82430002900DC49424B434FF459 -:102D0000FA7193FBF1F1C1F164010AEB020764234C -:102D100097F801C0DFF8D8820CFB01FC9CFBF3FCA8 -:102D2000A8F1740808F802C097F80BC008F103086E -:102D30000CFB01FC9CFBF3FC08F802C07F7D4F43B9 -:102D400097FBF3F308F10301A6428B5405DA4E31E9 -:102D500031F812305B4221F81230521C032AFFF680 -:102D60006DAFDFF894A24FF4FA625446BAF812112C -:102D700003F0EAFBB4F812114FF47A72401A504390 -:102D8000C1F5FA61B0FBF1F1642291FBF2F09B4BCB -:102D90006FF018060C3303EB400433F91030704326 -:102DA000B4F9024001EB8000E41A444394FBF2F0D2 -:102DB000DFF83C82914EA8F120081844103EA8F894 -:102DC0000600707AA8F17C04E8B38D48B4F91E10AF -:102DD000B0F90000401A07F089FB8A4907F07CF936 -:102DE000894907F0AFF9074608F02CF901903846F9 -:102DF00008F082FB00904746B8F9000007F076FB28 -:102E00008346009907F068F98046B7F9020007F099 -:102E10006DFB8146019907F05FF9414607F004F91F -:102E200007F090FB80464846009907F055F9814627 -:102E30005846019907F050F9494607F047F907F05D -:102E400081FB388000E001E0A7F802800220FEF755 -:102E500072FD002750B3E078401CC0B20621B0FBE1 -:102E6000F1F2E07001FB1200B8B9002003F080FC21 -:102E70002179624A01F00703AC3A491C22F8130099 -:102E80002171002032F81010401C29448DB208280E -:102E9000F8DBE80801F012F8A072A07AE18C884211 -:102EA00003D89AF80411814201D9A77001E00420E7 -:102EB000A070A07803F00FF954484C4D008818B169 -:102EC0000220FEF723FD10B95148008820B1286880 -:102ED00080F00800286014E0B178082011B143495F -:102EE000091D0860717811B14049083108604FF43C -:102EF0000060FEF720FD20B1707800B1012003F0E2 -:102F0000F5F98020FEF717FD48B1E16C606B411ABE -:102F100005D44CF250310844E06405F03DF8A16C52 -:102F2000606B411A03D4717BF9B10120B07001F0DC -:102F3000A6FF2020FEF7EAFC68B1216D606B411A04 -:102F400009D4E17A052906D3324908442065286866 -:102F500080F0100028603048816800290ED002B04F -:102F60002348BDE8F05F7C380847B770296881F0D6 -:102F70000801296029490844A064D8E7BDE8FC9FFE -:102F800010B51D4C204490F8060104F00FFCA0F28F -:102F9000EE2140F2DD52914201D3B4F8100110BD90 -:102FA0002DE9F047124EDFF854809C3EA8F19C08B2 -:102FB00070790F4F401C00247071A14608F1400544 -:102FC000F16B20468847727908EBC40102F00302D6 -:102FD00021F8120025F814905FF0000035F8143045 -:102FE00031F810201A4425F8142019E00C0C014087 -:102FF0005C01002050080020700400200C0B002011 -:10300000B8010020DB0F4940000034438601002056 -:1030100088010020F0490200B40C002020A1070024 -:10302000401CC0B20428D9D335F91400801CC11744 -:1030300000EB9170801025F8140037F91410C91EA8 -:10304000884202DA811C27F8141037F91410C91CC1 -:10305000884202DD801E27F81400641CE4B2082CAC -:10306000AED3C3E5FE480288FE48417852B9827863 -:1030700042B1002905D101214170FB48FB4900887C -:10308000C88370470029FCD10122FF21022087E577 -:103090002DE9FC5F0020F54982467C310546074654 -:1030A0000190B1F902004342002801DD044600E02E -:1030B0001C468B46B1F900104A42002901DD0E463C -:1030C00000E01646B44203DD002806DC184604E0A2 -:1030D000002901DD084600E01046DFF89493002443 -:1030E0000090E04EF07808B93079E8B3022C3FDA6E -:1030F000DE484FF4FA72443030F914103BF91400F2 -:1031000001EB4000514203F01FFADA49DFF868A3EF -:1031100031F91410411A0AEB4400B0F9280001EB10 -:1031200000089AF80810642001FB08F191FBF0F008 -:103130009AF81C1001EB8102494201EB810103F076 -:1031400003FA0190C94842F21072743050F824100A -:1031500001EB0800514203F0F7F9C449743141F81A -:1031600024009AF8121000E008E048434FEA203AA1 -:10317000F07818B1307908B9022C48D13BF91450D5 -:10318000B84F05EB85000101BB48A83F00EB0408E0 -:103190004FF47A5298F8010091FBF0F039F91410CD -:1031A000401A57F824100844514203F0CDF947F86B -:1031B000240039F9140000F52070B0F5A06F02D892 -:1031C00057F8240002E0002047F824007D2190FBFE -:1031D000F1F098F80B10484387113079A8B1022C10 -:1031E00013DA0098009AC0F5FA710198009B4843E1 -:1031F00005FB02004FF4FA7201FB0AF107FB031111 -:1032000090FBF2F091FBF2F608E0F07820B1022C8E -:1032100002DA5646019801E028463E46934A39F9BB -:10322000141028325023125DDFF838824A4392FB93 -:10323000F3F28E4B821A6833A8F13C0833F914007C -:1032400023F81410081A08F10C0158F8243051F82A -:1032500024C041F824309C44844448F82400834826 -:103260002E30005D00FB0CF0C11700EBD16091190E -:10327000A1EB60107D496E3121F81400641C032C11 -:10328000FFF62FAF7AE62DE9F05F764E4FF0000B98 -:10329000DFF8E4A1DFF8D4915C46A83E714DE878F0 -:1032A00008B92879D0B1022C18DA70484FF4FA72B4 -:1032B000443030F91410383030F9140001EB40007C -:1032C000514203F041F96B4931F91410411A0AEBEC -:1032D0004400B0F9280001EB000B01E0022C52D0B1 -:1032E000E878E0B39AF8080000FB0BF000116049A1 -:1032F0000AEB040731F91410FA7A451A787856F86F -:10330000241068434FEAE018B9F80C006843C01273 -:1033100000FB02104FF4001246F82400514203F063 -:1033200013F946F8240043134E480C3850F8241083 -:1033300040F82450B9F80C00691A02094FF6FF70E2 -:10334000B0FBF2F0484347498011243901F10C02E7 -:1033500051F824C052F824506544054400E01CE0B4 -:1033600042F824C041F82400787D6843011208EB3C -:10337000030008443D496E3121F81400641C032CFD -:103380008CDBBDE8F09F9AF8240038491B307C3173 -:10339000B1F9041048434011A9E7344A9AF82300D0 -:1033A0007C321B3032F9142050432A790011002A54 -:1033B0009DD09AF8121001FB0BF100EB212096E74B -:1033C0002A49012801D02D4800E02D4808647047A3 -:1033D0002DE9F84F0027B946B8460820FEF7ABFAAA -:1033E000DFF8A0B068B19BF80E0120B1012802D02F -:1033F000022806D102E002F0EDFD01E003F0FCF846 -:103400008046DFF868A0174C4FF00005DAF834105A -:10341000DAF854004FF00106081A02D5B8F1000F8F -:103420007DD044F620621144CAF85410FFF7B8FD6D -:103430004FF48040FEF77FFA28B10A483230007816 -:1034400008B900F07EFC9BF8170168B307494FF4F8 -:103450007A729C3101EB40000021B0F9060013E0C4 -:1034600088010020FC0A0020B8010020C0000020D4 -:10347000640000203800002050080020913000082F -:103480008732000870040020A0F57A7003F05CF821 -:1034900007F02CF8FE4906F055FEFE4906F01CFE2A -:1034A00007F069F8AAF822004FF40070FEF743FA1B -:1034B000B0B3DFF8E483BAF90E2098F8ACC00CEB97 -:1034C0008C0191421DDA6078D8B1BBF91031F34913 -:1034D000002000BF21F81030401C0328FADBB8F8A8 -:1034E000AE30CB8098F8AD00604400EB8000904295 -:1034F00002DA00F026FC2570BAF81010491CAAF870 -:10350000101098F8AC0000EB8001BAF90E0081426F -:1035100004DA607810B900F014FC257001E068E26C -:1035200004E0BAF80E10491CAAF80E10BBF81231CC -:10353000BBF81421DFF864830020BF0838F910C0FD -:103540009C4501DD47F08007944501DA47F04007CC -:10355000401C0428F1DB9AF8071050468F4205D131 -:103560008179FA2903D2491C817100E085718AF8BA -:1035700007704FF480473846FEF7DDF958B1BBF8C5 -:103580001011BBF8DC00B8F906200B1A934202DADE -:103590000844904209DC3846FEF7CDF9E8B9B8F99D -:1035A0000610BBF81201814217DABD48056045607C -:1035B0008560BA48283805604560B748C08F60B15B -:1035C000B748DA30007820B1207810B1FFF74AFD13 -:1035D00003E0607808B100F0B4FB9AF80600142804 -:1035E00017D16078B0B1AC4FF88F28B99AF80700BE -:1035F0005F2801D100F0A5FB9BF81601002808D038 -:10360000F88F002805D19AF807007D2801D100F035 -:1036100098FB8FE09AF80700572809D00420FEF79E -:103620008AF9E8B19AF8071050465A2921D017E0D4 -:103630009C494FF47A7008804FF48070FEF77BF954 -:1036400008B101F01FFF0420FEF760F910B19649A0 -:103650000A2008800820FEF759F908B99348058028 -:103660009AF807005D2817D05B2817D05E2817D07E -:1036700023E0818A19B18582AAF816601DE0818C49 -:1036800021B10021818419B1022102E00121F9E771 -:1036900003218AF8001010E0012702E0022700E071 -:1036A0000327781E8BF8DC0300210846FDF757FF3F -:1036B0003A4628210220FFF773FA774FF88F18B99E -:1036C0009AF807106F290ED09BF8161121B118B97E -:1036D0009AF807007E2806D09AF80700972805D0A8 -:1036E000A72808D008E0FFF7BDFC05E070494FF4BB -:1036F000C870088000E0A6739AF80700BB2806D0BF -:10370000B72807D0BE2809D0BD280AD012E0788D8E -:10371000801C01E0788D801E788505E0388D801C46 -:1037200001E0388D801E388501210846FDF717FF1E -:103730008AF806500420FEF7FEF820B3BAF82420D9 -:10374000504632216AB162785AB1B8F90630BBF8F6 -:103750001221934205DD524ADA3212780AB94182C7 -:1037600085844F4ADA32527C32B1028B838A1A4303 -:1037700009D1AAF8121006E0818A21B1617811B945 -:103780008582AAF816600020C64640F2A46700BFF2 -:103790000EEB4001B1F9082040F214518A4201DADF -:1037A000012300E0002300EB40018B40A2F2155CF6 -:1037B000BCF5C77F02D84FF0010C01E04FF0000CC0 -:1037C00001F101080CFA08FC43EA0C03BA4201DDDE -:1037D000012200E00022891C8A40134343EA0903C6 -:1037E000401C1FFA83F90428D2DB2D4F0020DA3762 -:1037F000294901EB4001C98F11EA090100D00121DB -:103800003954401C1428F3DB787840B9224890F8EA -:10381000AC0000EB8001BAF90E0081420BDA022005 -:10382000FEF774F838B1E07830B91C4828380560E4 -:103830004560E67000E0E570B87840B1E570207949 -:1038400030B91648283805604560267100E02571BA -:103850003878B84600B92670E178102009B9217986 -:1038600009B1144901E01349091F08600420FEF75B -:103870004DF8C0B398F80300474648B3A07930BB71 -:103880000D48A67101680D4801600448203817E012 -:1038900000007A4400C07F44500800205C010020F2 -:1038A000540A002088010020B6010020B801002041 -:1038B00086010020140C0140580000205C0000200C -:1038C000C188F748AAF81A100560F648056000E0BC -:1038D000A5714FF40050FEF72EF820B1387918B1D9 -:1038E000E07B00B9E67300E0E5730220FEF70EF816 -:1038F00018B90820FEF70AF8D0B198F8051040462C -:1039000039B1617931B9E84966710A88E7490A80B5 -:1039100000E06571817919B1617A11B9667200E0D0 -:10392000657298F8070018B1DF480188AAF81E10E0 -:103930002020FDF7EBFFE0B3E07AD8B39AF80B0054 -:103940005746052843D398F80A1059B1E07980BB4F -:10395000E671D74925723D72081F02F021FA022054 -:10396000787038E0E57198F80B0040B3D04A143A0B -:10397000B2F90000002800DC4042CE49B1F8E41062 -:1039800088421CDAB2F90200002800DC404288427A -:1039900015DA207A68B9C64826720C383D7200F1F3 -:1039A000100102680A60406841F8040FC048001D19 -:1039B00001E010E00BE002F0F3F97E700BE02572FD -:1039C000387A40B98AF8086002F0C3F903E0E5717B -:1039D00025728AF8015098F80C0008B1A67200E030 -:1039E000A5729BF80500082801D00E2839D1657210 -:1039F00037E0DAF85C005746032801DD001FF86560 -:103A000030B101280CD0022814D0032829D11BE0A2 -:103A10000820FE65FDF77AFF10B100F06AFC00BBDC -:103A2000F86D401CF8650420FDF770FF10B100F040 -:103A300072FBB0B9F86D401CF8650420FDF766FF15 -:103A400010B1FEF730FB60B9F86D401CF86510202E -:103A5000FDF75CFF08B100F0CEFC4FF40050FDF71D -:103A60006AFF03F011FFCAF83400BBF80C20574678 -:103A700012B1BB6DC31A79D41044D946B865FEF7AC -:103A8000AEFAFFF7B5F803F0FFFE7863398F411AFD -:103A9000B981B8630820FDF739FF20B38449143990 -:103AA000B1F9042002F145008A281DD86079D8B107 -:103AB0007D4803887D480088181A00B210F1B40FC1 -:103AC00002DC00F5B47000B2B42802DBA0F5B470DB -:103AD00000B2637B3BB1774B5B7A43431E2093FB81 -:103AE000F0F0101A888003E06F4801886F48018069 -:103AF0000420FDF70BFF58B3A07948B36D4991F846 -:103B0000690030B36A48B7F91A201438B0F90630A2 -:103B1000A3EB020CBCF1000F01DCA2EB030C91F84B -:103B200068108C4509DDDFF878C19342CCF800506D -:103B30007E7200DD4942194409E0797A21B15E497B -:103B40000B685E490B607D72564909881144C1803B -:103B500039E0DFF85C81B7F91A00A8F11408B8F968 -:103B600006301A1A002A02DD134601E0E7E0C31A04 -:103B700091F868108B420FDDB98B4FF4FA6C114449 -:103B800009B291FBFCF34D4A0CFB131115681D445F -:103B90001560B9837E7207E0797A29B146490A68CF -:103BA00046490A60BD837D723E490988084400B2D7 -:103BB000A8F80600B9F8D010B9F8D220963102F072 -:103BC000C3FCA8F806003B4D95F86A0050B1E078B8 -:103BD00008B9207930B13648394A1438C18812887A -:103BE0001144C1802020FDF791FEE8B3E07908B9C7 -:103BF000207AC8B3207BB8B32B4CB4F9000006F090 -:103C000075FC304E314606F067FA07F075FC0090FF -:103C1000B4F9000006F06AFC314606F05DFA07F0E0 -:103C200011FA0646A94695F8DD00214DDFF898A067 -:103C3000303DA5F11C0890B32C1DB5F90200B4F974 -:103C40000210401A01F0CDF999F8DD20514202F03E -:103C50007BFC618808446080B5F90000B4F900106D -:103C6000401A01F0BEF900E05FE099F8DD20514212 -:103C700002F06AFC2188084400B2208006F036FC7D -:103C80008346009906F028FA0546B4F9020006F0CA -:103C90002DFC8146314606F01FFA294628E015E042 -:103CA0002C00002028000020B8010020BA010020CC -:103CB0005001002050080020580000205C00002027 -:103CC0000A00002035FA8E3C00002041B5F90000C2 -:103CD00006F00CFC8346009906F0FEF90446B5F99F -:103CE000020006F003FC8146314606F0F5F9214654 -:103CF00006F0ECF95546514606F024FA06F022FC8F -:103D0000A8F8000044465846314606F0E5F9064654 -:103D10004846009906F0E0F9314606F085F9294653 -:103D200006F010FA06F00EFC6080386C8047FEF753 -:103D30000AFDFEF7BCFCBDE8F84FFEF7F2BCBDE89B -:103D4000F88F03484178002901D000214170704765 -:103D5000FC0A00202DE9F843FE4CFF4904F1F5036D -:103D60000026B4F8E8209846A1F1100004F015FAF6 -:103D700008B101260EE0B4F8E810F74804F022FC80 -:103D800040B9B4F8E810F44803F079FB10B9032007 -:103D900003F04EFEF14D002794F8E60006283CD2D1 -:103DA000DFE800F00707192833030220FDF7BBFD09 -:103DB00033E08DF800704FF44870E749ADF8020029 -:103DC0001039684602F077FD08B10120287094F898 -:103DD000E600012821D06EB1DF49B4F8E82043465F -:103DE000A1F1100004F0D9F90220287094F8E6003F -:103DF00002281DD0D848103804F0D8FA28B1032082 -:103E0000287094F8E600032812D0D348103804F044 -:103E1000C4FF10B1042028700AE0287840B994F853 -:103E2000E60010B184F8E670B6E70220FDF77BFDEE -:103E3000C948103004F0C9FC38B9C748103002F046 -:103E4000E4FD10B90420FDF76EFD0220FDF75EFDD4 -:103E500028B1C14994F8E300103909688847BE4980 -:103E600014F8E20F09688847A07802F0E7FE10B95D -:103E70000820FDF758FDBA486421B0F9262092FBCE -:103E8000F1F001FB102406B20820FDF73FFDB54D0F -:103E900090B1204606F02AFBB34906F01DF904460E -:103EA000304606F023FB214606F0BEF8AF4906F087 -:103EB00013F92860BDE8F8832F60FBE770B505466D -:103EC000A44890F8020106F01AFB0446284606F0C2 -:103ED00016FBA74906F000F9A64906F033F921467A -:103EE00006F0FAF806F047FB80B270BD70B5002509 -:103EF0002C46002002F03CFC05440A2003F0ECFCB8 -:103F0000641C202CF5D3C5F34F10FFF7D7FF914A5F -:103F1000022192F8033100BF03FB01F4844202D86E -:103F2000491C0629F8D39448017092F804014843CB -:103F30009249088070BD2DE9F05FDFF82092904E25 -:103F4000874FB9F80220834C0025C2B38D49002069 -:103F50004FF4C878424501D141F8205051F8203043 -:103F600036F910C0634441F8203026F8105004EBB5 -:103F70004003401CA3F8F6500328EBDB012A19D1BB -:103F80000868C83090FBF8F024F8F60F4868C8308D -:103F900090FBF8F060808868C83090FBF8F1B9F8C1 -:103FA0000600081AA0803D850121F63C7D85084663 -:103FB000FDF7D5FAB9F80210491EA9F8021004203D -:103FC000FDF7B9FC002874D06F4BDFF890816D4984 -:103FD0001A8808F120080C31A8F1180A322A05D0F5 -:103FE000F2B300209B46322A14D015E034F8F60FC5 -:103FF000A8F800006088A8F80200A088A8F80400CB -:10400000B7F828C0AAF800C0B7F82AC0F63CAAF84A -:1040100002C0E6E741F8205051F8203036F910C0D0 -:10402000634441F8203026F8105004EB4003401C54 -:10403000A3F8F6500328D6DB012A1AD15348544B73 -:10404000058001201880534B02201870B8F800003A -:1040500024F8F60FB8F802006080B8F8040000E019 -:104060000AE0A080BAF800303B85BAF80200F63CBE -:104070007885521EABF8002047480288012A18D1E3 -:1040800005800A68322092FBF0F224F8F62F4A6885 -:1040900092FBF0F26280896891FBF0F1B9F80600BA -:1040A000081AA0803D850121F63C7D850846FDF774 -:1040B00056FA308834F8F61F401A308070886188CC -:1040C000401A7080B088A188401AB080BDE8F09F87 -:1040D000214810B51038416829488847BDE810408C -:1040E00029E730B51D4C1E4AE06892F82F200146A2 -:1040F000401C824200D10020284A1368214A18320D -:1041000042F82130264952F820200D682B449A1A93 -:104110000A60E06030BD70B52248104C006821692B -:10412000411A01D5002070BD20610B4D606910352A -:1041300078B12869804768688047288821690844E1 -:1041400020616A6918491548904700206061022083 -:1041500070BD2BE070040020B40C0020840100200E -:1041600050080020340000208988883C000020414D -:104170003333534000F07F4571010020E6000020FA -:1041800076000020840B0020D2000020D800002000 -:10419000D4000020C0000020D60000209C00002099 -:1041A00020000020F40000201C000020A8688047A8 -:1041B000E8688047FFF795FF012060616888216902 -:1041C00008442061012070BD2DE9F05FA24DA88850 -:1041D00000286AD0DFF884820024A3464FF47A795D -:1041E000A8F10C06A888484507D104EB840208EB27 -:1041F000820146F824B0C1F810B0994F56F8241047 -:1042000037F91400014446F8241006F06FF901460E -:1042100004EB840208EB8200824600F0EFF827F8F6 -:1042200014B0904F27F814B0A888012837D1DAF8D5 -:104230001000012808DD401E06F058F90146DAF8A2 -:104240000C0005F07FFF00E0002007F01BFA82461B -:10425000854890F8F400A8B106F051F9514606F0EF -:10426000BBF90FD27D49A5F80490C8F810B0C1F889 -:1042700024B0C1F838B0C6F808B0C6F804B0C6F823 -:1042800000B00CE056F82400012200F5FA7090FB13 -:10429000F9F027F814000F210A20FEF781FC641CB6 -:1042A000032C9FDBA888401EA8806D496D4A002022 -:1042B00031F8103032F810401B1B21F81030401C30 -:1042C0000328F5DB02E7654810B54C3041686448C7 -:1042D0008847BDE8104077E710B5644810240460B3 -:1042E00002F0FBFC6148001F04605B49012048703C -:1042F00010BD2DE9F0415E48574C0068A169411A94 -:1043000002D50020BDE8F0815A490844A0615A480E -:1043100002F0ABFCDFF864C14F4B00269CF80E00A6 -:104320005549514A26339D1D88B1A069E06100209E -:1043300002EB4007A7F8FC6031F8107023F810700A -:1043400025F81070401C0328F2D38CF80E606078BA -:1043500068B1088832F8FC7FC01B088048885788FD -:10436000C01B488088889788FC3AC01B8880E06919 -:10437000A0B3A769381A424FB84219D23B4808384F -:10438000026882F0080202605FF0000031F910203C -:1043900033F91040A24201DA23F8102035F9104019 -:1043A000A24201DD25F81020401C0328EED315E0C1 -:1043B0000020E66133F9101035F91040214402EB7A -:1043C000400401EBD17141F34F01401CA4F8FC10F3 -:1043D0000328EFD301210846FDF7C1F8012091E73A -:1043E00010B5012004F036F81020FDF797FA2549A2 -:1043F0000020086010BD234804F07FB82DE9F0418B -:10440000044600690E46401C206101281FD006F0BA -:104410006DF8256880462946304605F057FE074668 -:10442000414605F08FFE294605F0FEFD0546606019 -:104430002946304605F04AFE0146384605F04CFE56 -:10444000A16805F0F1FD2560E060A0605AE76660B4 -:1044500000202660F9E7000084010020680C00209D -:1044600070000020A000002070040020140C014007 -:10447000F4000020A086010082000020FC0A002039 -:1044800080C3C901A800002070B5FB4CFB4EC1B22F -:104490000546E170306804F0A1FC207AE1784840DC -:1044A0002072C5F30721E170306804F097FC207A90 -:1044B000E17848402072C5F30741E170306804F0AC -:1044C0008DFC207AE17848402072290EE170306836 -:1044D00004F084FC207AE1784840207270BD70B509 -:1044E000E54CE64EC1B205462171306804F076FC19 -:1044F000207A217948402072C5F307212171306864 -:1045000004F06CFC207A21794840207270BD10B50F -:104510000446DA482146006804F060FCD648017A77 -:104520006140017210BDD44AD548517A405C491CA3 -:104530005172704700B5FFF7F6FF0346FFF7F3FF30 -:1045400003EB002080B200BD10B5FFF7F3FF044677 -:10455000FFF7F0FF04EB004010BD70B504460D46B8 -:104560002420FFF7D4FF4D20FFF7D1FF0CB121200D -:1045700000E03E20FFF7CBFFBF4C00202072284612 -:10458000FFF7C5FFA07ABDE87040C0E701460020F4 -:10459000E3E701460120E0E7B748007AB7E770B5E6 -:1045A00004460D460846FFF7F1FF03E014F8010B3F -:1045B000FFF7ADFF2800A5F10105EDB2F6D170BD02 -:1045C00010B5044603E000BFFFF7A1FF641C20788C -:1045D0000028F9D110BD2DE9F047C0B04FF480712B -:1045E000684605F0B5FCDFF898A2A34E0025DFF879 -:1045F0008882AAF1140A0C3605EB4507002406EB65 -:1046000087090BE016F827101AF80400814204D13C -:104610006846D9F8041005F0A6FC641C98F8000060 -:104620008442EFDB6D1C142DE6DB684605F0CFFC01 -:10463000C0B2FFF7ABFF6C4603E000BFFFF767FFB8 -:10464000641C20780028F9D140B0BDE8F0872DE93E -:10465000F04700270246032339468A4803F0F4FA5C -:104660008649FF220860886085481421143805F0C7 -:1046700068FC834D0020143D012428700220FDF7C2 -:1046800045F905264FF006084FF0070950B1012003 -:1046900068700220A870EE7085F80480062485F802 -:1046A000059001270420FDF731F950B1032028556A -:1046B000641C4FF40050FDF73EF910B1042028555A -:1046C000641C0820FDF722F940B13FB92E55641C47 -:1046D00005F80480641C05F80490641C2020FDF794 -:1046E0002AF910B108202855641C4FF48070FDF79A -:1046F00022F948B12020FDF709F928B10A202855F0 -:10470000641C0B202855641C5F484079082801D0A0 -:104710000E2802D10C202855641C0D202855641C3D -:104720000420FDF708F910B111202855641C5248E7 -:1047300004708AE72DE9F05F4F4E00273146B07ACA -:10474000DFF83C910978DFF844B1DFF83CA1504C28 -:10475000504DB846A9F11409772877D00FDCA0F1A5 -:10476000640013283CD2DFE800F0F5EFEEEDECEB4F -:10477000EAE9E8E7E6E5E4E3E2E1E0DFDE00454917 -:104780000127CE28497871D014DCC92842D008DC32 -:1047900078286CD0A0286BD0A4286AD0C8281FD154 -:1047A00024E0CA2853D0CB2864D0CC2863D0CD28AD -:1047B00016D1BAE2D3287BD00ADCCF281FD0D0286C -:1047C00077D04FF00009D12874D0D22808D19BE0CF -:1047D000EF2818D0F0286ED0FA286DD0FE286CD0C3 -:1047E0000020FFF7D6FEBDE8F05FD5E600242A4D95 -:1047F000FFF7A0FE25F81400641C082CF8D3002055 -:10480000FFF7C4FEEFE7FFF795FE6085FFF792FE26 -:104810002085F4E7FFF787FEE872FFF784FE1F4963 -:104820000870FFF791FE1E4C2060FFF78DFE606060 -:10483000FFF780FE1B490880FFF77CFE1A490880BD -:104840001A48017841F002010170D8E7F1E1002334 -:10485000FFF769FEE5186870FFF765FEE872FFF77D -:1048600062FE5B1C68750A2BF2D3C8E7A2E21BE16B -:10487000CEE2DFE222E030E0BC0100206809002047 -:10488000F00C002000380140700400205C00002083 -:1048900050080020FC0A00205C010020CB00002012 -:1048A000440100207E010020800100206C010020D6 -:1048B0004CE034E201E2A1E280E281E200254F46D1 -:1048C00007E000BFFFF736FE795D6D1C04EB410188 -:1048D000C88730788542F5D391E7FFF724FE04F8C6 -:1048E0001F0FFFF720FE6070FFF71DFE2071FFF71E -:1048F0001AFE6071FFF717FEA071FFF714FEA0709B -:10490000FFF711FEE0707AE700299ED1FFF70BFE5A -:104910008AF8DC03022801D98AF8DC930021002000 -:10492000FCF71DFE6BE7A3E166E17FE194E18EE118 -:1049300069E14FE136E127E11DE104E1F1E0D3E077 -:10494000C4E0B6E0A2E06EE014E003E0FFF7F2FDA1 -:10495000F949EFE10720FFF719FEDC20FFF7D7FD4B -:104960009AF80500FFF7D3FD0020FFF7D0FD4FF0C8 -:1049700000405CE20B20FFF709FEF048008800B21F -:10498000FFF7ADFD02F05DFB00B2FFF7A8FD0220CE -:10499000FCF7BCFF04460420FCF7B8FF44EA4004DF -:1049A0000820FCF7B3FF44EA80042020FCF7AEFFA8 -:1049B00044EAC0041020FCF7A9FF44EA0010FFF706 -:1049C0008EFD00200246347824E000BF19F8021062 -:1049D0000D291AD2DFE801F01707090D190B0F197D -:1049E000191911131500E97811E029790FE0697997 -:1049F0000DE0A9790BE0697A09E0E97907E0297A05 -:104A000005E0A97A03E0697801E0CD4B595C91405B -:104A10000843521CA242D9D3FFF736FD9AF8DC03B3 -:104A2000FFF775FDDFE61220FFF7B0FDC548C64D64 -:104A30004FF000040088B0F5806F0BD935F91400F1 -:104A4000C11700EB5170C010FFF749FD641C032C27 -:104A5000F4D306E035F91400FFF741FD641C032C84 -:104A6000F8D3BA4D002400BF35F91400FFF737FD25 -:104A7000641C032CF8D3B64D002400BF35F9140094 -:104A8000FFF72DFD641C032CF8D3ACE61020FFF7D4 -:104A90007DFDB04D002400BF35F91400FFF71FFD68 -:104AA000641C082CF8D39EE63821AB48FFF777FD4D -:104AB00099E61020FFF76AFDA84D002435F914008F -:104AC000FFF70DFD641C082CF8D38CE61020FFF7CF -:104AD0005DFDA34D002400BF35F91400FFF7FFFC76 -:104AE000641C082CF8D37EE61020FFF74FFDE87A0F -:104AF000FFF70DFD9B480078FFF709FD9A4C2068F1 -:104B0000FFF7C2FC6068FFF7BFFC9848008800B25E -:104B1000FFF7E5FC9648008800B2FFF7E0FC9548F7 -:104B20003DE00520FFF732FD9348008800B2FFF713 -:104B3000D6FC9248B0F90000FFF7D1FC904800780D -:104B400000F001006CE70820FFF720FD8D4D0024E8 -:104B500035F91400FFF7C3FC641C022CF8D38A4813 -:104B6000B0F90000FFF7BBFC8848B0F9000000BFB7 -:104B7000FFF7B5FC37E60620FFF708FD844800681C -:104B8000FFF782FC83480AE00520FFF7FFFC82481C -:104B90000078FFF7BCFC0020FFF7A1FC7F480088ED -:104BA00000B2E5E70720FFF7F1FC14F81F0FFFF74D -:104BB000AEFC6078FFF7ABFC2079FFF7A8FC6079CA -:104BC000FFF7A5FCA079FFF7A2FCA078FFF79FFCF8 -:104BD000E07825E71E20FFF7D9FC002566197078DC -:104BE000FFF795FCF07AFFF792FC707DFFF78FFCE2 -:104BF0006D1C0A2DF2D3F6E52F20FFF7C7FC68489D -:104C0000FFF7DEFCEFE54806000EFFF7BFFC0025CE -:104C10004F4607E0785D04EB4000B0F93E00FFF737 -:104C20005EFC6D1C30788542F4D3DCE5FFF7D3FCE5 -:104C3000D9E50846FFF7AAFC00244D4603E0285DAD -:104C4000FFF765FC641C30788442F8D3CBE5022082 -:104C5000FFF79CFC00208BE70820FFF797FC00245F -:104C6000601CC0B2FFF753FC641C082CF8D3BAE5F3 -:104C7000FFF759FC04461220FFF788FC14B1102CF2 -:104C800002D005E0474800E04748D0E90070804680 -:104C90002046FFF73CFC3846FFF7F6FB4046FFF79F -:104CA000F3FBDBF80000FFF7EFFB0020FFF717FC3A -:104CB0000020FFF714FC0020B2E6FFF734FC80462A -:104CC000FFF742FC0646FFF73FFC8446FFF73CFC3B -:104CD0000446FFF72FFCFFF72DFCFFF724FCB8F18B -:104CE000000F11D0B8F1100F7FF493AD2E49C1E938 -:104CF000006C0CB1CBF800402C4A0220091D10704A -:104D0000294801F04DF87AE52648002CC0E9006CEE -:104D100085F807902F73F6D0CBF800406FE5002997 -:104D2000F1D10120FCF7E3FD69E50029EBD1204931 -:104D30004FF4C870088062E5BA010020CC00002062 -:104D40002E0B00208A0100207C000020640000203F -:104D500082000020AE000020BC0800207C0900205A -:104D60005C010020CB000020440100207E010020D7 -:104D7000800100206E0100207A0100207C010020CB -:104D80006C01002038000020B8010020DE00002067 -:104D90005800002030000020CA000020E20000205F -:104DA0006CC500084C01002054010020C100002007 -:104DB000860100200029A6D1AF7320E50121AEE5D0 -:104DC0000820FFF7E3FB6A486B4A6C4D01686948AD -:104DD0001268B1FBF0F1B2FBF0F000EB4002C2EB65 -:104DE000C01001EBC000E8805FF0000435F914004A -:104DF000FFF775FB641C042CF8D3F4E40420FFF7E0 -:104E0000C5FBB4F92A00FFF76AFBB4F92800AFE646 -:104E10000C20FFF7BBFB5A480068FFF735FB5848EA -:104E2000001D0068FFF730FB554808300068FFF7A9 -:104E30002BFBD8E4534D287807EB8000C0B2FFF776 -:104E4000A5FB2878FFF763FB00244F4E4F4FDFF898 -:104E50004081DFF840910EE0305DFFF758FB385D90 -:104E6000FFF755FB18F80400FFF751FB19F8040091 -:104E7000FFF74DFB641C28788442EDD3B3E470B592 -:104E8000454C464D0026A07810B3BDE87040FCF7B5 -:104E90006CB8286803F0AAFFE17951B101291CD050 -:104EA00002291FD0032923D004292CD0052942D15F -:104EB0002FE0242803D00021E17149B901E001214C -:104EC000FAE7232802D0522835D102E0FCF74DF84A -:104ED00031E0012002F0CDFD2DE04D2804D102206B -:104EE000E07128E03C2801D00020F9E70320F7E733 -:104EF00040281FD8A0716671667220720420E0718C -:104F00000120607017E0A072217A414021720520D3 -:104F1000E6E76179A279914207D2227A4240227271 -:104F20001F4A5054491C617105E0217A814201D128 -:104F3000FFF700FCE671286803F055FF0028A8D1B0 -:104F4000A078002812D1A86803F04DFF00280DD1E9 -:104F50004FF40060FCF7EFFC002807D011484078C0 -:104F6000002803D0BDE8704001F0D1B970BD000049 -:104F70000C04002040420F001004002072010020A9 -:104F8000E8F7FF1F82010020420B0020520B002097 -:104F9000620B0020720B0020BC0100206809002079 -:104FA000F00C0020FC0A002070B50446FC4DFD4EBC -:104FB0000AE0686803F012FF96F81801012802D190 -:104FC000042002F089FC641C21780029F1D1686872 -:104FD00003F012FF0028FAD0BDE870401E2002F056 -:104FE0007BBC44F25061884201DDA0EB4100EE49F8 -:104FF000884202DA48F6A041084470472DE9F0479C -:1050000006465068994614460D46301A05F06EFA69 -:10501000296805F097F82061A768394605F056F829 -:105020008046E24890F8DC0005F069FAE04905F0B6 -:1050300053F801464FF07E5005F084F82D6829465C -:1050400004F0F2FF0146284605F07CF8414605F0E1 -:1050500043F8394604F0E8FF2061C4E901600146E5 -:10506000D9F8080005F038F8BDE8F04705F06ABA4D -:105070002DE9F0411D4614460E4605F037FA6968E1 -:1050800005F02AF8316805F027F8216804F0CCFF14 -:105090002060ED680746284605F054FA064685F07C -:1050A000004005F04FFA0546384605F04BFA324607 -:1050B000294601F049FA05F019FA2060BDE8F041EF -:1050C00005F040BA70B5BB4CD4E90D01401AFFF7AA -:1050D00088FF0028D4E90D01A0EB010002DDFFF7F5 -:1050E00080FF02E0FFF77DFF404241F294118842C9 -:1050F00028DAD4E90D01401A05F0F8F9AE4904F0B8 -:10510000EBFF0646E06B05F0FAF90546304606F07F -:10511000F3F9294604F0E0FF05F014FA00B240F676 -:10512000B8322082514201F00FFA616B084448F610 -:10513000A0416064884200DD401A002800DA08447B -:10514000606470BD606BFBE72DE9FE4F0546FFF71D -:10515000B9FF984842F22831406C081A05F0C6F9A8 -:10516000954904F0B9FF044605F06CFF0190204614 -:1051700006F0C2F900900024284605F0B7F9DFF8E0 -:1051800034A2DFF83892DFF838B20AF1300A029020 -:1051900088481A3030F9140005F0A8F905465DF882 -:1051A0002410029804F098FF294604F08FFF05F0C0 -:1051B000C9F900B24FF47A7255462AF814005142E8 -:1051C00001F0C2F97D4900B225F81400603900F001 -:1051D0000EFE04EB8406794B7649074609EB8602FE -:1051E000904635F91400603B2831FFF741FF734BBF -:1051F00070490744424635F91400603B2831FFF7F7 -:10520000FDFE384400B240F6B8325D462BF814007B -:10521000514201F099F925F81400684859F8261010 -:105220002838641C40F82610022CB1DBBDE8FE8F44 -:105230002DE9F05F5F4E0024DFF880915036DFF8F3 -:1052400080B1A6F1360AA9F1280900BF5B4956F8DA -:105250002400803900F0CBFD3AF81410554F401A65 -:105260003037564900B227F81400703900F0BFFDFE -:10527000054637F9140056F8241004EB8407084457 -:105280004E4B4C4909EB87029046703B2831FFF7A3 -:10529000EFFE2844494B47492BF814005D4642462F -:1052A00056F82400703B2831FFF7A8FE4FF4FA624D -:1052B000514201F049F93AF914103131622900D80C -:1052C000002035F8141040F6B832084400B225F832 -:1052D0001400514201F038F925F81400374859F804 -:1052E0002710641C40F82710022CAFDBBDE8F09FAC -:1052F00070B50546086819681446401A05F0F6F8B6 -:105300002C49C96A04F0E8FE05F01CF90146294859 -:105310005030416029682268891A016070BD2DE90A -:10532000F0410F46DDE90685116800681E46081A3F -:1053300005F0DCF8044630683968401A05F0D6F804 -:105340001C49C96A04F0C8FE0646014604F0C4FEC2 -:1053500007462146084604F0BFFE394604F064FEC5 -:1053600006F090F9174904F0B7FE05F004F9C8F803 -:10537000000084F00040314605F03AFD124904F087 -:10538000ABFE124904F050FE05F0DCF8286000285E -:1053900003DA48F6A04108442860BDE8F081000027 -:1053A0006809002070040020B0B9FFFF50080020F9 -:1053B000DB0FC940C4020020D3023739C00D0020E2 -:1053C000200100202C7D8E3FA00CB34500A00C4690 -:1053D0002DE9F047FB48FA4CD0E90056617804F11A -:1053E0004809B1B34FF07E50A16A04F0ABFE82468B -:1053F000D9F80400301A05F079F8E16A04F06CFE7F -:10540000514604F069FE05F09DF807B2D9F8000096 -:1054100004F11A08281A05F069F8514604F05CFEF8 -:1054200005F090F801B204F12400B0F902203A44EA -:1054300002EBD27242F34F02A8F80220B0F900301A -:10544000194401EBD17141F34F01A8F800104280DB -:10545000018001206070C9E90056BDE8F08710B5F1 -:10546000044605F043F8002C01DC80F00040D649EA -:1054700004F068FED54904F02FFE05F0E3FDD049A5 -:10548000C86210BD10B5D24CE07A002811D0D148C6 -:10549000007805280DD3CB49CF4A086810604968C9 -:1054A0005160FFF7DCFFCD48C549008888820120A4 -:1054B000207310BD2DE9F043C149C948C44B8E7A11 -:1054C000012502790024062E29D004DC022E09D001 -:1054D000032E04D116E0122E33D0302E3DD0002002 -:1054E000BDE8F083B74A4668566086681660006972 -:1054F0004FF47A7290FBF2F0BA4A1080C87AD872F0 -:105500004D7350E04079C00701D0032A03D000203A -:10551000C87210B147E00120FAE7DC7243E0C27ABA -:10552000D20702D0827A032A03D00022CA7212B1B3 -:1055300002E00122FAE7DC72A64A90F82F00107010 -:1055400031E0A94B828A1A80806942F2107290FB86 -:10555000F2F0A64A10808D7325E0A54B102A1A7030 -:1055600001D910221A700022A24EA34FDFF88CC27C -:10557000DFF88C921D7814E002EB420300EB83030A -:1055800093F8088006F8028093F8098007F80280F3 -:1055900093F80B800CF8028093F80C8009F80280D5 -:1055A000521CAA42E8DB487B8A7B104098D04C739F -:1055B0008C73012094E72DE9F047814900240A46C5 -:1055C00091F8098092F807C0157A0CEB0003D78A8E -:1055D0004FF00109DEB22246B8F1090F55D2DFE8DB -:1055E00008F0080510161D2434444A00622803D030 -:1055F0004A72B52802D048E0022034E081F80990D0 -:1056000043E003224A720873C87108723DE0042225 -:105610004A72CE7172190A72887236E005224A7295 -:10562000CE7172190A72C8822FE006234B72731969 -:1056300007EB0020CE7180B20B72C882B0F5007FFC -:1056400001D9CA824A720A831FE0CE7172190A72A6 -:105650000A8BC82A01D2624B9854521C90B208831C -:10566000B84212D1072048720FE008234B728445DC -:105670000BD04A7209E04A72854206D1614981F82D -:105680000090FFF717FF00B101242046E5E670B552 -:10569000034600200246054611E02E2C04D1521C80 -:1056A00000290FD054181D559C5C00EB8000400071 -:1056B000A4F13006092E01D830382044521C9C5CDD -:1056C000002CEAD170BD2DE9F04100268046354618 -:1056D0003746044604F0F6FB016800E0641C2078BD -:1056E000085C2028FAD0404609E01EB106EB86028D -:1056F0005206160E10F8012B303E3244D6B2221A52 -:10570000022AF2DC09E01DB105EB85025206150EF6 -:1057100010F8012B303D2A44D5B28442F3D82078CA -:105720002E280ED1641C002007EB87025700227838 -:105730008B5C202B02D1303F1744641C401C042892 -:10574000F2DB31480621454307EBC70000EB0710A9 -:1057500005EB8000B0FBF1F02C494E4300EBC61086 -:105760001BE62DE9F0470027154C05463E464FF055 -:105770000109242815D01A482146E038C9782C2D73 -:1057800013D02A2D11D022460D2D527970D00A2D1A -:105790006ED00F2902D24554491CE170002A68D00E -:1057A000B7E0A670E6702671B3E04654A178B04623 -:1057B000324669B3A279012A4AD0022A70D09EE00B -:1057C000C4020020440100208096184B35FA8E3C1C -:1057D000FC0A0020CB0000204C010020B801002072 -:1057E000100E00207E010020800100206E010020AC -:1057F00082010020420B0020520B0020620B00208F -:10580000720B00207001002040420F002D3101007A -:10581000FFE7A2710178472971D1417850296ED1F3 -:105820008178472902D0522909D068E0C1784729F8 -:1058300065D10079412862D184F806905FE0C17893 -:105840004D295CD10079432859D10220A07156E03E -:10585000FE4E02290ED0032910D0042915D00529A7 -:1058600017D006291DD0072924D0092929D046E0C0 -:105870005CE04BE0F648FFF726FF04E00078532891 -:105880003DD130684042306039E0F148FFF71BFFFE -:1058900004E00078572832D17068404270602EE0F2 -:1058A00015E00078302801D9012000E00020E94906 -:1058B000C87224E00021E648FFF7E9FEE6490870D7 -:1058C0001DE00021E248FFF7E2FEE44916E0072967 -:1058D00002D008290DD012E00121DD48FFF7D7FEE4 -:1058E00041F2184148434FF47A71B0FBF1F0DC49C2 -:1058F00004E00121D648FFF7CAFEDA490880A07803 -:10590000401CA07084F803802A2D0CD020796840B8 -:105910002071A07910B1D44A82F800900FB101280B -:1059200000D0002099E584F80590F2E772B1804636 -:10593000007800F08AFA050198F8010000F085FA75 -:1059400028442179C0B2884200D101276671E0E77E -:105950002DE9FF5FC549C0B24FF0000B91F8181157 -:1059600019B1012904D002297ED1FFF7FAFE01E026 -:10597000FFF721FE002877D0BD480178012910D01B -:1059800001210170B348C17A00296DD0B24909786C -:10599000052969D38246407830B19AF80C1031B1AC -:1059A00008E080F800B0EDE78AF80CB002E008B13A -:1059B000FFF768FDAF4805218E460278A34C521CC4 -:1059C000B2FBF1F301FB1322AB490270002091F905 -:1059D000009000BFA74954F820306831A54D41F828 -:1059E0002030A649783593FBF1F145F82010A44DFD -:1059F00000EB80074D4303EBC51342F2107593FB98 -:105A0000F5F5AEB29B4D403525F81060904DB83598 -:105A100005EB8707974D57F822C0603555F8208071 -:105A200047F82230A8EB0C0C634445F8203093FB78 -:105A3000FEF3934D6D42694303EBC1138D49703101 -:105A4000B9F1010F41F8203005D1B61EB6F5797FC6 -:105A500001D844F82030401C0228BBDB01F02EFFA7 -:105A6000844D296A401A00E073E004F048FD85493E -:105A700004F068FBA86201F021FF2862A86A4FF0D9 -:105A80007E51884200DB0846A86203A902A87E4B2B -:105A9000CDE900011A1F211D6C48FFF740FC029858 -:105AA0006426B0FBF6F07949794A57460880039896 -:105AB00090FBF6F010809AF80C0018B9A1F800B02D -:105AC000A2F800B0FFF784FC387A10B9F879002802 -:105AD0003FD06849343101F1080000F11C07CDE9DD -:105AE00000013B1D3A46211D5848FFF718FC231DB5 -:105AF000564A391D3846FFF7FBFB5F4C94F900000E -:105B0000012828D0022824D1624F0121B7F9E200F0 -:105B100000F078F9FFF718FB97F8DE005E4A18B13D -:105B2000686C90FBF6F01080B7F8DA00E96B8842F9 -:105B30000BD2D5E90D01401AFFF753FA002800DC1B -:105B4000404242F21071884203DD01202070A88A91 -:105B50001080BDE8FF9FFFF76BFBFAE72DE9F047E8 -:105B60004C4C607904F0CBFCDFF83091494604F0EE -:105B7000E9FA374D10352860E07B04F0C0FC494657 -:105B800004F0E0FA464EEE606860A07904F0B7FCDD -:105B9000444F394604F0D6FA10352860207C04F0D2 -:105BA000AEFC494604F0CEFA6860A07E04F0A7FC83 -:105BB000DFF8D080414604F0C5FAC5E90206E07975 -:105BC00004F09DFC394604F0BDFA10352860607C75 -:105BD00004F095FC494604F0B5FA6860E07E04F0F4 -:105BE0008EFC414604F0AEFAC5E9020635E42DE923 -:105BF000F05F07460025FFF7B1FF03233A462A4925 -:105C00002A4802F021F82A4CDFF86080606098F89A -:105C10001801012802D0022856D0A8B1DFF89490CC -:105C200000264FF4964B09F1140A00BF59F82610CC -:105C3000606803F0DEF8606803F0D3F80746584563 -:105C400044D0B7F5164F37E04EE000004401002085 -:105C5000300D0020FC0A0020CB0000207E01002037 -:105C6000800100206E0100207001002070040020DF -:105C70006C010020C4020020C10000208096980022 -:105C8000D3CEFEFF00007A44500100207A010020AC -:105C90007C01002050080020BA0100200000C8420A -:105CA0000000FA440000204151590008004400401F -:105CB000680900209CC500080BD0B7F5614F1ED0C5 -:105CC000B7F5E13F0AD11EE00425A7E75AF8250001 -:105CD00002E00AEB85004068FFF766F90A2001F050 -:105CE000FBFD761C052EA1DB3946606803F081F8C8 -:105CF00098F8180101280AD0022815D01AE00AEBFA -:105D000085008068E8E70AEB8500C068E4E7564E46 -:105D100000256068715D03F061F8042001F0DCFD8E -:105D20006D1C8C2DF5D305E050A0FFF73DF95CA06C -:105D3000FFF73AF94FF47A7001F0CEFD5D48007834 -:105D4000002804D0BDE8F05F2020FBF7E7BDBDE8E8 -:105D5000F09F2DE9F05FDFF86CA10024564FDFF8CB -:105D60005C81DFF85C9125460AF1280B27F8145076 -:105D700028F8145004EB840629F814500AEB860026 -:105D800000F06CF80BEB860000F068F84D485030DE -:105D900000EB860000F062F8641C022CE6DBD6E71C -:105DA0007CB5494C02682260096861600068FFF7B1 -:105DB00056FBA4F1240101F10800444ECDE9000195 -:105DC000231D2246311D3046FFF7A9FAA4F15805DC -:105DD000331D686B68643246211D2046FFF788FA40 -:105DE000686BA8633A48B0F8E00068827CBD10B5E3 -:105DF0000C4604F07BFB216804F06EF9BDE810400E -:105E000004F0A0BB70B5304C583CE26B21B1B0EB54 -:105E1000520F0BD3500809E0904200D310462C4992 -:105E200000B2B1F8E010814200DB0846B4F912502C -:105E300000B2A84208DD2749A06A04F04DF904F039 -:105E400081FB284400B2608270BD3038C0B209289E -:105E500001D9C01FC0B200F00F00704700210160DF -:105E60004160816070470000D0C5000824504D5447 -:105E70004B3331342C302C312C302C312C302C3015 -:105E80002C302C302C302C302C302C302C302C3032 -:105E90002C302C302C302C302C302A32380D0A008B -:105EA00024504D544B3232302C3230302A32430D94 -:105EB0000A000000700100200401002024010020DD -:105EC00020010020700D00201C0300204401002050 -:105ED000500800200000C842F0B5404A404C1178FC -:105EE000E9B192F805C01779032104F11C035E188B -:105EF00016F8015CFD4005F00F05072D09D213F8D7 -:105F000001E016F8016C06EA0C060EEB062644F8D2 -:105F10002560891CC9B21029E9D3002111703149CB -:105F200007280ED2937863B151782E4A104490F826 -:105F3000060149B154F820004FF4777101EB50008D -:105F400006E0B1F81001F0BD34F8200000F57770DC -:105F500080B2F0BD70B5214C01260546A67001F057 -:105F600093FCA168421AC4E9020241F28830002180 -:105F7000824200D9E1701A4AE0781C3215540F2889 -:105F800002D0401CE07070BD17482670018070BDC3 -:105F900010B504461348114990F80E21032032B180 -:105FA000012A09D1087107204871012003E002226B -:105FB0000A7148710020487001234FF4E1320B4907 -:105FC0000B4801F041FE0B49002CC86001D00A4883 -:105FD000206010BD01480078704700004403002095 -:105FE000D80E002070040020CE000020555F00086D -:105FF0000044004068090020D95E000870B57C4C60 -:1060000006460125207880B901F058FCA16832319C -:10601000884207D32570012001F069FC01F04EFC95 -:10602000A06070BD20780028FBD001F047FCA1687B -:1060300031448842F5D30020207001F058FC01F073 -:106040003DFC6C49A060087808B1401E087065707E -:1060500070BDF8B5664D8DF800008DF801108DF813 -:1060600002208DF80330A8791DF8001044292DD0A6 -:106070004C2929D04D2925D04E292AD0322400265A -:10608000032806D274B12046FFF7B8FFA879032889 -:1060900008D301F013FCA968001B884202D95548B7 -:1060A000AE7106706878012801D0002C09D1A8795A -:1060B000032801D2401CA8716E702E70002001F0E0 -:1060C00016FCF8BD6424DAE7C824D8E74FF4FA6474 -:1060D000D5E70024D3E72DE9F047DFF81CA10546FA -:1060E000434C9AF80D004FF00109002610B184F8D6 -:1060F000029000E0A6704FF40070FBF71CFC3F4FCD -:1061000018B33F493F484FF0020C91F8AC30B0F95A -:10611000000003EB830282420FDA97F80180B8F1A6 -:10612000000F0AD084F8049091F8AD10194401EBE7 -:106130008101814201DA84F804C0824203DA79786D -:1061400009B984F804C000B926712020FBF7DEFBF2 -:1061500040B19AF80A1011B99AF80B0008B1F87A10 -:10616000A8B1E6702079022814D0012817D0E07871 -:10617000012817D0A078012817D0042D19D0022D9E -:106180001ED0012D1ED0607901281ED022E084F897 -:106190000390E7E74E22442311464C200DE04D23A7 -:1061A0004C2208E04D234E2201E04D23532253217F -:1061B00002E044234D224D215320BDE8F04748E73B -:1061C000442305E044234E22F5E7787810B14E23AE -:1061D0004D22ECE70748007818B1BDE8F0473220BF -:1061E0000CE72670BDE8F047002001F080BB0000FE -:1061F00054030020C00000202E0B0020FC0A0020C9 -:1062000050080020CE00002010B5C24C5E28A268C5 -:1062100007D05D280CD001461046BDE8104002F0C2 -:10622000DDBD5D21104602F0D9FD3E21A068F4E7F6 -:106230005D21104602F0D2FD3D21A068EDE72DE979 -:10624000F041132000F01EF9B34C2068002800DC58 -:106250004042B24D90FBF5F000B200F025F91B2052 -:1062600000F010F92068002800DC40420A2690FB6C -:10627000F6F042F2107790FBF7F107FB110000B245 -:1062800000F012F9232000F0FDF82068002801DA60 -:10629000532000E04E2000F007F9122000F0F2F841 -:1062A0006068002800DC404290FBF5F000B200F08E -:1062B000FBF81A2000F0E6F86068002800DC404295 -:1062C00090FBF6F090FBF7F107FB110000B200F035 -:1062D000EBF8222000F0D6F86068002801DA572099 -:1062E00000E04520BDE8F04100F0DEB870B58C4D0F -:1062F00004462878844209D014B14FF4165002E0C5 -:106300008848D0F82001FEF7A2F92C7070BD2DE965 -:10631000F04701F0D3FA824D6968401A7D287DD399 -:1063200001F0CCFA686068787F4F401CDFF8FC8190 -:10633000DFF8FC916870002404F12400C0B200F082 -:10634000A1F8388804F0DBF8064638F9140004F0A8 -:10635000CDF8314603F0F6FE494603F0BDFE04F0E9 -:10636000F1F800B200F0A0F8641C032CE4DB00F0AC -:1063700096F868784FF06404800724D1102000F06C -:1063800081F86C4E306890FBF4F000B200F08CF8AD -:10639000212000F077F8306890FBF4F104FB110045 -:1063A00000B200F081F8142000F06CF86248B0F9F7 -:1063B000000000F079F81C2000F064F8002000F0E4 -:1063C00073F800F06CF86878400735D1022000F0CF -:1063D00059F85A484FF00A08B0F9001091FBF8F04C -:1063E00000B200F061F80220FBF7A5FAE0B100F07E -:1063F00065F853486E21007848431521B0FBF1F64B -:106400003A2000F03FF8B6FBF4F738B200F04CF851 -:106410003B2000F037F804FB176000E030E0401D3F -:10642000B0FBF8F000F040F82020FBF76FFA08B15D -:10643000FFF705FF00F033F86878282820D1002006 -:10644000687001F03BFA4FF47A71B0FBF1F53C242F -:10645000B5FBF4F6B6FBF4F004FB1067172000F070 -:1064600011F8380200B200F01FF8182000F00AF806 -:1064700004FB165000F018F8BDE8F04700F00FB824 -:10648000BDE8F08770B5234C05465E21A06802F098 -:10649000A5FC2946A068BDE8704002F09FBC1D48DD -:1064A0005E21806802F09ABC10B50446C0B2FFF7C6 -:1064B000ABFEC4F30720BDE81040A5E670B5204848 -:1064C000204E40F6340200783178154DB0FBF1F0E3 -:1064D00050432A22B0FBF2F06A88B2FBF1F301FBD1 -:1064E00013214FF6FF7202EA011141EA0024C0F3C2 -:1064F000032004430620FFF7C5FF20B2FFF7D4FFB7 -:1065000068883178401C80B2B0FBF1F201FB1200C8 -:10651000688070BD6809002044010020A086010049 -:1065200060030020700400208A0100207C0000200D -:1065300000007A4424000020B8010020E000002080 -:10654000CA00002071010020884201DA0846704725 -:106550009042FCDD1046704743490844434990F897 -:10656000060151F820004FF4777101EB500080B222 -:10657000704710B5044601F087F93D490246486866 -:10658000131A0020B3F57A6F00D948704A604A7830 -:106590000AB90F2C0AD1087032B1344B203313449E -:1065A000182A03F8014C02D0521C4A7010BD2F4A21 -:1065B0002032D27D0AB901220A70487010BD10B590 -:1065C000044629480021294BB0F810014200A2F5E9 -:1065D000F76200BF43F82120491C0829FADB012398 -:1065E000244A2549254801F02FFB2549002CC86085 -:1065F00001D02448206010BD1D4B10B5187840B163 -:106600001A484FF000022030817DC908C90702D026 -:106610001A70002010BD1C49401C0A8030F8011C73 -:10662000C1F30A0411490C600488C4F3CA044C6025 -:106630000468C4F38A348C60B0F80340C4F34A049D -:10664000CC608488C4F30A140C614468C4F3CA346F -:106650004C61B0F80740C4F38A048C61008940099A -:10666000C8611A70012010BD70040020040F0020C2 -:1066700068030020A0860100736500080044004004 -:106680006809002059650008CE0000202DE9F0417E -:106690000646007890B008B1012500E00025DFF83B -:1066A000D880404602F06CFD344800900024344805 -:1066B000CDE90104012725B10220CDE903048020A2 -:1066C00002E0CDE90374002005904FF4807006903D -:1066D00080000790202008900002CDE90904694657 -:1066E000404602F0BAFD0121404602F0E0FD8DF87F -:1066F00030500B948DF831704FF46020CDE90D04CB -:106700000DB1022000E001201C4C8DF83C004C3CF7 -:106710000BA9204602F0A0FC0323012204212046FD -:1067200002F0EFFC2DB1317803230222204602F063 -:10673000E8FC0121204602F0B8FC0121204602F0CD -:10674000AAFC204602F0BBFC204602F0BDFC00285B -:10675000FAD1204602F0BFFC204602F0C1FC00281E -:10676000FAD10121204602F0C2FC10B0BDE8F08150 -:10677000034931F810007047080002404C240140E2 -:10678000700300202DE9FF47DFF86C81814698F8FF -:106790000000D0B300273E463D463C46641CE4B2B0 -:1067A00002AB08223221532000F015FC9DF80800AE -:1067B0009DF80910202C00EB012000B207449DF841 -:1067C0000A009DF80B1000EB012000B206449DF872 -:1067D0000C009DF80D1000EB012000B205449DF85F -:1067E0000F0000F07F0001D20028D7D197FBF4F012 -:1067F000ADF8000096FBF4F0ADF8020095FBF4F064 -:10680000ADF8040088F802401EE0FFE702AB062264 -:106810003221532000F0DFFB9DF808009DF809109D -:1068200000EB0120ADF800009DF80A009DF80B1068 -:1068300000EB0120ADF802009DF80C009DF80D1052 -:1068400000EB0120ADF8040098F8012049466846A5 -:1068500001F018F9BDE8FF8770B5274D04464FF0E9 -:10686000080228784FF02D0100284FF053000ED079 -:1068700000F0ABFB0A223121532000F0A6FB0C22D2 -:106880002C21532000F0A1FB9022382108E000F0D9 -:106890009CFB0A223121532000F097FB0A222C2175 -:1068A000532000F092FB154940F20910002C08809B -:1068B00000D06C7070BD38B5054600208DF8000022 -:1068C0000F480C460F49006888420AD06B460122E7 -:1068D0000021532000F07FFB18B19DF80000E5284F -:1068E00001D0002038BD044928780870064820608F -:1068F00006486060012038BD740300208A01002032 -:1069000010040020001BB7005968000885670008C4 -:1069100010B54FF48044204602F02EFD012805D129 -:10692000204602F023FD02490120087010BD00003E -:106930007803002070B50D46B549B64A06468888EA -:106940005389B2F91440C01A13895843B2F912306E -:10695000C013DB02044493FBF4F31844D06100EB52 -:106960008000082202EB40000411886800F0D0F893 -:1069700006B13060002D00D02C6070BD38B5A44C3D -:10698000207810B96088401C60806B460322F62195 -:10699000772000F020FB9DF800009DF80110000416 -:1069A00040EA01209DF8021008439A49B1F92010ED -:1069B000C1F10801C840A06038BD9648342190F864 -:1069C000200001EB80109249C2B200200870F4212F -:1069D000772000F0FABA38B58D4C207810B960886D -:1069E000401C60806B460222F621772000F0F3FA0B -:1069F000BDF8000040BAA08038BD854900202E2295 -:106A00000870F421772000F0E0BA2DE9F043044645 -:106A10008148824985B00068884203D1002005B0D2 -:106A2000BDE8F083DFF8E89199F8010008B1012092 -:106A3000F5E74FF40055ADF80C5002208DF80F002B -:106A40001020774E8DF80E0003A9304601F076FF36 -:106A50006F00ADF80C7004208DF80E0003A93046CD -:106A600001F06CFF35610E21022003F005F90020D2 -:106A70008DF8080008208DF809004FF001080197F3 -:106A800047468DF80A8001A802F03AFC28208DF8CC -:106A900010000F208DF811008DF812008DF8137082 -:106AA00004A802F0A6FA142000F016FF6B4601229B -:106AB000D021772000F08FFA564F9DF80000032177 -:106AC000F8753984552801D07561A7E76B46012216 -:106AD000D121772000F07FFA9DF8000000F00F012F -:106AE00039760009787600F05CF889F8018041F287 -:106AF0007070208046F6781060804A4860604A488E -:106B0000A0604A48E0604A4820614A4860618EE7D8 -:106B100070B54049CA69B1F90E40A2F57A6202FB2C -:106B200002F31D136C43E512B1F90240B1F90460A0 -:106B3000544305EBE424B1F9005004EB850591F8CA -:106B40002040A54056437213B1F90C601B135E43FD -:106B500002EB2642921C9210C98802F50042AD1C3D -:106B60005143C90B4CF25032A0EBA500E240504318 -:106B7000B0F1004F03D24000B0FBF1F002E0B0FBF7 -:106B8000F1F040000112494340F6DE3251432A4AF7 -:106B90000914424301EB224101F6CF6100EB2110C1 -:106BA00070BD00B587B06B461622AA21772000F091 -:106BB00012FABDF8000041BA16480180BDF8021073 -:106BC00049BA4180BDF8041049BA8180BDF8061069 -:106BD00049BAC180BDF8081049BA0181BDF80A1050 -:106BE00049BA4181BDF80C1049BA8181BDF80E1037 -:106BF00049BAC181BDF8101049BA0182BDF812101E -:106C000049BA4182BDF8141049BA818207B000BD6B -:106C100078030020400F002010040020001BB70064 -:106C200000100140FB690008D7690008BB69000833 -:106C30007D6900083569000843E3FFFF38B5044665 -:106C400000208DF800006B4601220A211E2000F072 -:106C5000C2F918B19DF80000482801D0002038BDC5 -:106C60000CB18D480470012038BD7FB5054602ABDC -:106C7000062203211E2000F0AEF9BDF8080040BA3C -:106C800000B203F033FC844C241D216803F024FA85 -:106C900003F058FCADF80000BDF80A0040BA00B29D -:106CA00003F024FCA16803F017FA03F04BFCADF8E5 -:106CB0000400BDF80C0040BA00B203F017FC616894 -:106CC00003F00AFA03F03EFCADF80200201F29464B -:106CD0000278684600F0D6FE7FBD2DE9F0476F4888 -:106CE00000246F49006825468EB02E464FF00108FB -:106CF00088420CD14FF48050ADF8280002208DF866 -:106D00002B0004208DF82A000AA9664808E066498D -:106D1000884207D14FF48040ADF828000AA96348A3 -:106D200001F00CFE322000F0D7FD112200211E20C0 -:106D300000F04BF9602201211E2000F046F964208A -:106D400000F0CAFD6846FFF790FFDFF858A1DFF8B2 -:106D5000609100270AF10C0A012202211E2000F096 -:106D600034F9322000F0B8FD6846FFF77EFFBDF928 -:106D70000210BDF90400BDF900200D44144406447E -:106D8000814201DA0B4600E00346934201DD1046E2 -:106D900002E0814200DA0846484502DC4FF0000874 -:106DA00008E0DAF8001081F01001CAF800107F1C2A -:106DB0000A2FD1DB122200211E2000F006F9002745 -:106DC000012202211E2000F000F9322000F084FD93 -:106DD0006846FFF74AFFBDF90020BDF90210BDF972 -:106DE0000400A41A6D1A361A814201DA0B4600E03B -:106DF0000346934201DD104602E0814200DA084674 -:106E0000484502DC4FF0000808E0DAF8001081F095 -:106E10001001CAF800107F1C0A2FD1DB204603F0B6 -:106E200065FB244F0146384603F08CF91A4C20F0DC -:106E30000040241D2060284603F058FB01463846D8 -:106E400003F080F920F000406060304603F04EFB14 -:106E50000146194803F076F920F00040A060702246 -:106E600000211E2000F0B1F8202201211E2000F098 -:106E7000ACF8002202211E2000F0A7F8642000F0E8 -:106E80002BFDB8F1000F04D14FF07E502060606000 -:106E9000A0600EB0BDE8F08784030020100400203D -:106EA00000127A00000C0140001BB70000100140E6 -:106EB00000F0FFFF00406F4601C05E4630B587B06E -:106EC00005464FF44060ADF8140002208DF817001D -:106ED0001C208DF8160005A9844801F02FFD844C74 -:106EE000E56000F0B1F8E06802F056FA684602F09A -:106EF000BEFA00224FF44071E06802F0DAFA002591 -:106F0000ADF804504BF6FF70ADF806004FF480402A -:106F1000ADF80C00774800900121E06802F0B5FA66 -:106F20006946E06802F04BFA4FF4A06002F05CF8AA -:106F300022208DF810008DF811508DF8125001208C -:106F40008DF8130004A802F054F821208DF81000E9 -:106F50008DF8115004A802F04CF807B030BD70B5A0 -:106F6000634C4FEA400047F230556071A171012037 -:106F700020720021617223616361E27120712170CE -:106F8000E068818889050ED40188C90505D4018887 -:106F90008905FCD4012102F082FA01224FF44071EC -:106FA000E06802F086FA207910B16D1EFBD104E092 -:106FB0001DB1207880F0010070BD6089401C6081A7 -:106FC000E068FFF77BFF002070BD07B502AB012230 -:106FD000FFF7C5FF0EBD70B5454C4FEA400047F2C4 -:106FE00030556071A17100202072012161726361CE -:106FF0002361E27121712070E068818889050ED4D7 -:107000000188C90505D401888905FCD4012102F055 -:1070100046FA01224FF44071E06802F04AFA207902 -:1070200010B16D1EFBD104E01DB1207880F001008D -:1070300070BD6089401C6081E068FFF73FFF002061 -:1070400070BD2B48408970472DE9F84F4FF44067D9 -:10705000ADF800704FF0020A8DF803A01420DFF89D -:107060008CB08DF802006946584601F067FC1F4D50 -:1070700010352F60DFF8749000262C1505F10408F8 -:1070800009F1080902E00A2000F01BFCD9F8000011 -:107090004005F8D5C8F800400A2000F012FC2C602A -:1070A0000A2000F00EFC761CF6B2082EEED34FF448 -:1070B00000694646C8F800900A2000F002FC3460DF -:1070C0000A2000F0FEFB2C600A2000F0FAFBC5F855 -:1070D0000090ADF800708DF803A01C208DF8020020 -:1070E0006946584601F02AFCBDE8F88F000C0140C3 -:1070F00094030020801A060038B51D4CE068818A90 -:10710000009111F4706F01D001212170009911F4E8 -:10711000E06F25D0018B00224FF4806102F0C9F9A5 -:10712000009880051CD4E0680188890518D401887E -:10713000C9050CD50188C905FCD4012102F0C8F9A4 -:10714000E06801888905FCD4FFF7B8FE08E001215A -:1071500002F0BEF900224FF44071E06802F0A9F994 -:10716000E068818A21F4706181820020207138BD3D -:1071700094030020FFF7C0BF2DE9F041864CE06882 -:10718000818A4FF00105C9B2CA074FF0000627D027 -:10719000018821F400610180012102F0A3F9E67069 -:1071A000607A20B1607860B9A079FF2809D0617950 -:1071B0000022E06802F0A5F9A079FF2848D0FF205E -:1071C000C9E06570E079022804D1E068018841F4E3 -:1071D0000061018061790122E06802F092F937E0F4 -:1071E0008A074FF4806745D5BFF3508FE0790128B7 -:1071F00010D1607A70B1607860B10021E06802F06F -:1072000071F9BFF3508FE068018B012102F060F942 -:10721000A57018E0E068008BBFF3508FE07902287A -:1072200008D1607A30B1607820B10021E06802F0C6 -:1072300059F906E0E079032805D1607A18B1607841 -:1072400008B1002200E001223946E06802F031F97D -:1072500094F90310E079401C814209D16670A0784E -:1072600028B100224FF44071E06802F022F9267143 -:10727000BDE8F0814A0753D5A570627A464949783E -:10728000CAB3C9B3E17902291FD9002102F02AF952 -:10729000E06802F033F994F9031062695054491C14 -:1072A000E1700121E06802F013F9A570E06802F0D6 -:1072B00025F994F9031062695054491CE1700122C8 -:1072C0003946E06802F0F5F825E0012102F000F906 -:1072D000E06802F013F994F9031062695054491CF4 -:1072E000E170E06802F00AF994F903106269505401 -:1072F000891CE1700FE000E000E009B9217A31B1AA -:10730000012102F0E5F8E078401CE07003E0012183 -:1073100002F0C5F86570E0680188C905FCD497E7FC -:107320004A061AD502F0EAF894F90310626950543B -:10733000491C48B2E070E179C01C814204D10022AE -:107340003946E06802F0B5F8E17994F9030081422A -:10735000E5D100F10100E0707AE70906DFD594F984 -:1073600003104B1C5AB20BD02369595CE27002F037 -:10737000C3F8E07994F9031088423FF45AAF67E705 -:10738000E270A17902F0B8F8607A00287FF451AF7A -:10739000E0790028F1D05BE794030020FFF7ECBE12 -:1073A000FFF7AABEFFF7E8BE38B504466B460222D7 -:1073B0001B216820FFF70FFEBDF8000043F290315B -:1073C00040BA08444FF48C71B0FBF1F023302080B8 -:1073D00038BD1FB5044602AB06221D216820FFF709 -:1073E000FAFDBDF80800214640BA02B2D01702EB00 -:1073F00090708010ADF80000BDF80A0040BA02B2EB -:10740000D01702EB90708010ADF80200BDF80C00B0 -:1074100040BA02B2D01702EB90708010ADF80400B1 -:107420002F484278684600F02DFB1FBD70B504461A -:10743000192000F051FA002215216820FFF7C5FD40 -:1074400010B9032000F0F4FA254D1621287840F0F9 -:1074500018026820FFF7B9FD002217216820FFF706 -:10746000B4FD01223D216820FFF7AFFD01223E213E -:107470006820FFF7AAFD002C00D06C7070BD70B5BD -:1074800004460D46192000F027FA00221521682035 -:10749000FFF79BFD00281CD0124820601248606056 -:1074A0001248A0601248E0600D48622D12D004DC42 -:1074B0000A2D13D0142D05D10EE0BC2D06D0B5F544 -:1074C000807F01D0032102E0002100E00121017052 -:1074D000012070BD0221FAE70421F8E70521F6E753 -:1074E000AC0300202D740008D3730008A9730008B2 -:1074F00018449231FEB5064614460D46684602F021 -:10750000D5FA0120ADF804000021ADF80050ADF827 -:107510000610ADF80810ADF802406946304602F09A -:1075200015FAFEBD70B51646CA4A02EB0015CA4AE6 -:1075300002EB00140122206801F029FBD4E90101CB -:10754000182200F07BF9217B3246206800F033F9E5 -:10755000A07B18B10121206802F0BAFA012120684D -:1075600002F0ACFA207B30B1042807D008280AD0FA -:107570000C2806D10AE02068343001E02068383059 -:107580002860284670BD20683C30F9E7206840300C -:10759000F6E72DE9F0410546AE480F4600EB05162B -:1075A000AD48B27100EB05142822D4E9010100F0C6 -:1075B00045F9217B00222068FFF79CFF01224FF64E -:1075C000FF71204601F000FB3A462946204601F0B3 -:1075D000C1FA3046BDE8F08170B5A04800240289A8 -:1075E00042810181891A8BB240F68C218B4201D9EC -:1075F000C47070BD9949A3F2EF2540F2DB56984A5A -:10760000C978B5421BD2082919D2924DE035042918 -:1076100025F8113007D2C588AB4204D9012305797A -:107620008B402B43037103790F2B08D10471B2F9FE -:107630000030142B02DD143B138000E01480491C41 -:10764000C170148070BD70B5824A834B02EB00128A -:1076500003EB0013D47918681B7B8CB1518114891A -:107660007C4D091B91819479E03525F81410002494 -:10767000D47122461946FFF73DFF7948048070BD5A -:1076800011810121D171BDE870400222194631E714 -:107690002DE9F0470446714DA1890020E980617908 -:1076A00001B10220617801B1401C6E49DFF8B88158 -:1076B000002651F820704FF47A79BA5D02F00F007D -:1076C00002F0F001FF2A59D0A2781AB1022852D054 -:1076D000032850D0A2790AB182424CD011F0300F69 -:1076E00002D0227802B90021E27832B1627922B95F -:1076F000082801D0092800D1802122792AB1627995 -:107700001AB9021F032A00D88021CA0605D5002213 -:107710005649FFF73EFF082008E08A0608D5AA78F8 -:107720005349FFF736FFA87800F10100A87022E066 -:107730004A0610D52289B8FBF2F189B24A46FFF712 -:10774000F1FE0146434A2878F03242F8201000F159 -:10775000010028700FE009060DD56289B8FBF2F12F -:1077600089B24A46FFF7DEFE0146424A687842F88F -:107770002010401C6870761C0E2E9EDB0020BDE899 -:10778000F087364A1278904205D23A4A303A52F897 -:107790002000006801807047304A5278904204D23D -:1077A000344A52F82000006801807047314940395E -:1077B00031F8100070477FB5064615460C466846FE -:1077C00002F06AF97020ADF800000120ADF8020067 -:1077D0000020ADF804000220ADF80800C001ADF8AB -:1077E0000650ADF80C0074B1042C15D0082C1CD038 -:1077F0000C2C07D16946304601F0F4FF08213046D1 -:1078000002F08FF97FBD6946304601F040FF082144 -:10781000304602F070F97FBD6946304601F06CFFDA -:107820000821304602F06DF97FBD6946304601F00F -:107830009FFF0821304602F06EF97FBD08B5ADF814 -:1078400000108DF8022002218DF80310694601F026 -:1078500075F808BD640F0020D0C60008AE030020F4 -:10786000CE00002094C6000840420F00D9750008E1 -:10787000477600088410002002484168491C416096 -:1078800070470000BC03002010B599484FF0E0237A -:1078900041689A694468A142FAD10368006803EB21 -:1078A0004304C4EBC313C2EBC302B2FBF0F001EB21 -:1078B0004102C2EBC11100EBC10010BD8C48406811 -:1078C000704730B50546FFF7DFFF0446FFF7DCFFE2 -:1078D000001BA842FAD330BD30B504464FF47A7588 -:1078E00002E02846FFF7EDFF641EFAD230BD804962 -:1078F000896808474FF4805108B17E4801E07D480F -:10790000001F016070474FF4805110B17948001F8B -:1079100000E07848016070472DE9F04F8DB01822E3 -:107920007549684602F0FBFA032701F0BCFA012111 -:10793000724801F047FE012144F61D2001F039FE96 -:107940000121084601F02CFE01F057FE4FF6FF70B2 -:10795000ADF8180067484FF0000B8DF81AB006A973 -:10796000143800F0EBFF06A9654800F0E7FF06A910 -:10797000644800F0E3FF6448416841F000714160F1 -:10798000624DDFF88C915A4E2968494501D1614812 -:1079900000E06148B0605A480821103001604FF0A3 -:1079A0001008C0F800800020FFF7A1FFAA460024BD -:1079B0004FEA0D05DAF80010494506D105EBC40081 -:1079C0008179142901D180F8068005EBC401091DD5 -:1079D00055F8340000F0B2FF641CBC42EAD307A89B -:1079E00001F098FD4D490798B0FBF1F030604C482C -:1079F0004FF47A710068B0FBF1F0B0F1807F0CD2E7 -:107A000020F07F414FF0E020491E4161454AF021BE -:107A10001170C0F818B0072101614348FFF74EFA12 -:107A200000F0F7FF6420FFF757FF0DB0BDE8F08FBF -:107A3000334A1021143211600821121F11600446CC -:107A4000151F40F2DB104443286880F010002860C6 -:107A5000286880F008002860A01EFFF73DFF012085 -:107A6000FFF745FF1920FFF737FF0020FFF73FFF23 -:107A7000EAE710B12E492D4808602A492D481739E8 -:107A800008607047092A32D2DFE802F03105091098 -:107A9000161B2024280002880A80428803E04288BE -:107AA0000A80028806E04A8080881FE002885242ED -:107AB0000A8042885242F6E7428852420A8002888F -:107AC000F1E7028852420A8042880CE042880A802C -:107AD000028808E002880A80428803E04288524215 -:107AE0000A80028852424A808088404288807047DB -:107AF000BC03002014080140A4C600080700400091 -:107B0000000C014000100140000001401004002062 -:107B1000001BB70007790008F578000840420F0005 -:107B20000C04002023ED00E000580040EFBEADDE65 -:107B3000F04F00200400FA057CB5DC4C0D46DC4912 -:107B40002160A060A4F53070606100F58070A061D4 -:107B50004FF48070E0602061D6482063D548012151 -:107B600014386063880301F024FD02208DF80300BF -:107B70000002ADF8000018208DF80200CE4EA807D4 -:107B800003D56946304600F0D9FE4FF48060ADF869 -:107B9000000048208DF80200E80703D0694630460F -:107BA00000F0CCFE0E208DF8040001208DF80500B9 -:107BB0008DF806008DF8070001A801F01AFA20469A -:107BC0007CBD2DE9FC41B94C0D464C34B8492160CF -:107BD000A0608020E06040202061A4F58670606194 -:107BE0008030A061B5480121A064480401F0EAFC9E -:107BF00002268DF803600420ADF8000018208DF8EF -:107C00000200AD4FA80703D56946384600F096FE3E -:107C10000820ADF8000048208DF80200E80703D0E6 -:107C20006946384600F08AFE26208DF804000120BF -:107C30008DF805008DF806608DF8070001A801F0A9 -:107C4000D8F92046BDE8FC812DE9F0438946064677 -:107C50009B49002499488FB01D4617468E4204D197 -:107C600019461046FFF768FF05E0864204D1194621 -:107C70001046FFF7A6FF04464FF00008C4F8208026 -:107C8000C4F81C80C4F82880C4F82C90C4F8248060 -:107C9000A6642571A760ADF83080ADF834800B97ED -:107CA000ADF83280ADF83880ADF83680E80702D004 -:107CB0000420ADF83600A80705D5BDF8360040F021 -:107CC0000800ADF836000BA9304601F051FF012144 -:107CD000304601F0A5FF684601F0DCFA301D009047 -:107CE0004FF48050CDE909088020CDF81080CDE90F -:107CF00005084746CDF81C80E80723D0206BD8B193 -:107D0000E068CDE902702020089060690190206B46 -:107D100001F036FA6946206B01F09FFA0121206BD1 -:107D200001F0C5FA01224021304601F09BFF206B93 -:107D300001F0D2FA206405E0012240F225513046DC -:107D400001F078FFA80724D5606BE0B120690390AB -:107D5000102008970290606B01F012FA6946606B80 -:107D600001F07BFA01220221606B01F0ABFA0021E5 -:107D7000606B01F0AFFA606B4760012280213046F2 -:107D800001F070FF05E0012240F22771304601F05A -:107D900051FF0FB02046BDE8F0837FB504460020B8 -:107DA000ADF80400ADF808000091ADF80600ADF89C -:107DB0000C00ADF80A0020790D46C00702D004205F -:107DC000ADF80A002079800705D5BDF80A0040F01B -:107DD0000800ADF80A006946A06C01F0C9FEA56074 -:107DE0007FBD826A81691144426BD160D0E909216B -:107DF00000238A4205D9511A426B5160416A81625F -:107E000004E00269511A426B5160836280F8443089 -:107E1000406B012101F04BBA016B11B14968006C54 -:107E200001E01C3003C8814201D0012070470020CE -:107E30007047416B11B190F844007047243003C87B -:107E4000814201D1012070470020704710B50146E2 -:107E5000036BC268406943B10B6CD21A805C5B1E35 -:107E60000B6401D1CA680A6410BD0B6AC05C5B1C5C -:107E7000B3FBF2F402FB14320A6210BD436A82695A -:107E8000D154416A0269491CB1FBF2F302FB1311A0 -:107E90004162416B19B10968C90706D1A1E7806C3D -:107EA000012240F2277101F0C5BE70476413002023 -:107EB000BCC60008580002400008014000440040D1 -:107EC0000038014010B50B4C4FF4005001F00CFA93 -:107ED0000021606B01F0EBF9D4E90901884204D07C -:107EE0002046BDE81040FFF77CBF012084F8440025 -:107EF00010BD0000641300200C49886C0288120633 -:107F00000ED5D1E909329A420BD08B699A5C8280F6 -:107F1000886A0A69401CB0FBF2F302FB1300886216 -:107F20007047002240F2277101F084BE64130020E4 -:107F300070B5184CA06C0588A90610D58088E16A38 -:107F400009B188470BE0E26961698854E069E1683A -:107F500000F10100B0FBF1F201FB1200E061280624 -:107F60000FD5D4E9091088420CD0A169085CA16C36 -:107F70008880A06A2169401CB0FBF1F201FB12006D -:107F8000A06270BDA06CBDE87040002240F2277175 -:107F900001F050BEB0130020FEB52C4C0125207816 -:107FA00078B1012823D0022820D164208DF8000068 -:107FB00027488DF8015000264078E0B38DF8025034 -:107FC0003CE07A208DF8000022486B460222B0F98E -:107FD0000000FF21C0F1B40000EBD070C0F34700F7 -:107FE0008DF801006D20FEF7BAFF2570FEBD1A4E18 -:107FF00079208DF80000B6F900000A2590FBF5F015 -:108000005A30B4220021FEF79FFA8DF80100B6F92C -:108010000200B42290FBF5F05A300021FEF794FAEA -:108020008DF802006B460322FF216D20FEF797FFBB -:1080300002202070FEBDFFE78DF802606B46032230 -:10804000FF216D20FEF78BFF2670F3E7C8030020A9 -:10805000FC0A0020B8010020380000201FB50446AB -:1080600002AB062243216820FEF7B5FFBDF80800E9 -:10807000214640BA02B2D01702EB90708010ADF8E2 -:108080000000BDF80A0040BA02B2D01702EB9070AF -:108090008010ADF80200BDF80C0040BA02B2D01753 -:1080A00002EB90708010ADF804007C48427868467E -:1080B000FFF7E8FC1FBD38B504464FF40050ADF89B -:1080C000000002208DF8030004208DF8020074489F -:1080D00074490068884202D16946734804E07349D4 -:1080E000884203D16946724800F028FC80226B2147 -:1080F0006820FEF76AFF0520FFF7EEFB002219213A -:108100006820FEF762FF03226B216820FEF75DFF07 -:10811000022237216820FEF758FF604D1A2168209F -:108120002A78FEF752FF18221B216820FEF74DFF28 -:1081300010221C216820FEF748FF002C00D06C7034 -:1081400038BD1FB5044602AB06223B216820FEF76E -:1081500042FFBDF80800214640BAADF80000BDF866 -:108160000A0040BAADF80200BDF80C0040BAADF804 -:1081700004004A4882786846FFF784FC1FBD4749DF -:108180004C4ACB7813B14FF4FF6301E04FF48053B6 -:108190001380002800D0887070472DE9FE4F81467B -:1081A000984692460D462320FFF796FB6B46012228 -:1081B00075216820FEF70FFF002804D09DF800000D -:1081C000682802D00020BDE8FE8F062201AB1146D0 -:1081D0006820FEF700FF9DF809009DF80710C00712 -:1081E000400F01F0010140EA41009DF805102B4CC1 -:1081F00001F0010108434FF001064FF0000704D0E1 -:10820000012833D002280DD02CE06B4601220C212E -:108210006820FEF7E0FE9DF8000010F00F0021D06E -:10822000042823D0E7702449C9F8001023492448C2 -:10823000C9F804102860234868602348E860B8F152 -:10824000000F02D0E17888F800105046BAF1620FB2 -:1082500019D00DDC05281ED00A281AD0BAF1140F47 -:108260000BD114E00520FFF7E3FBDCE7E670DAE76B -:10827000BC2806D0BAF5807F01D0032004E0277027 -:1082800003E0267001E00220207001209BE704201B -:10829000FAE70520F8E70620F6E70000C90300200A -:1082A0001004002000127A00000C0140001BB700EF -:1082B000001001408A0100207F81000843810008EE -:1082C000B78000085D800008194492311FB504464C -:1082D00002AB062201211C20FEF77DFEBDF808003E -:1082E000214640BA40F38D02D01702EB9070801007 -:1082F000ADF80000BDF80A0040BA40F38D02D01777 -:1083000002EB90708010ADF80200BDF80C0040BA8E -:1083100040F38D02D01702EB90708010ADF804008E -:10832000334802786846FFF7ADFB1FBD38B50446F9 -:108330002020ADF8000002208DF8030004208DF805 -:10834000020069462B4800F0F9FA00222A211C207D -:10835000FEF73BFE02220E211C20FEF736FE032212 -:108360000F211C20FEF731FE12222B211C20FEF7CC -:108370002CFE02222C211C20FEF727FE01222D219B -:108380001C20FEF722FE00222E211C20FEF71DFEDF -:1083900005222A211C20FEF718FE17494FF4807091 -:1083A000002C088001D01248047038BD38B504464E -:1083B00000208DF8000011481149006888420CD057 -:1083C0006B4601220D211C20FEF705FE28B19DF809 -:1083D00000002A2803D01A2801D0002038BD0949FE -:1083E00021600949616002494870012038BD0000E0 -:1083F000CD030020000801408A0100201004002065 -:10840000001BB7002D830008CD8200080D4810B571 -:1084100000680D4CA188084203D0FFF735FAA06030 -:108420000AE0FFF731FAA168884205D9401A3B21DA -:1084300090FBF1F061690860E068BDE8104000F071 -:1084400095BF0000080C0140D0030020FFF7DEBFFD -:10845000FFF7DCBFFEB50125334C022110B1012826 -:1084600010D109E04FF4807060804000A080E0608F -:1084700009202070172004E06580A180E16025704C -:10848000072060706088ADF8000010268DF802604B -:10849000264F8DF803106946384600F04FFAA08841 -:1084A000ADF8000004208DF802006946384600F05F -:1084B00045FA2178012001F0DFFBE06800F056FF6B -:1084C000E068019000208DF808008DF809608DF8B3 -:1084D0000A5001A800F014FF94F9010000F01F01F8 -:1084E0008D4040094FF0E02101EB8000C0F80051C1 -:1084F000FFF7E4F93C382061FEBD70B50546FFF793 -:10850000DDF9094C21693C3188420CD3C4E90405EA -:1085100006496088103108600B20FFF7D2F9034943 -:1085200060881431086070BDD0030020000C014049 -:108530001FB5044602AB0622A8216820FEF74BFDBA -:10854000BDF80800214640BA02B2D01702EB907085 -:108550008010ADF80000BDF80A0040BA02B2D01792 -:1085600002EB90708010ADF80200BDF80C0040BA2C -:1085700002B2D01702EB90708010ADF804002648CC -:1085800042786846FFF77EFA1FBD70B50446642046 -:10859000FFF7A2F9F02223216820FEF716FD10B99B -:1085A0000320FFF745FA0520FFF796F91A4D202121 -:1085B000287840F00F026820FEF707FD002C00D05D -:1085C0006C7070BD38B504460D461920FFF784F96C -:1085D0006B4601220F216820FEF7FDFC9DF800008C -:1085E000D32801D0002038BD0C4820600C486060C2 -:1085F0000C48E0600848362D05D04E2D07D05D2D83 -:1086000007D0002100E040210170012038BD802109 -:10861000FAE7C021F8E70000E80300208B85000896 -:1086200031850008DDE9A7312DE9F04FB74C8346CD -:108630008E46608926890102B5484FF0000A4068DD -:10864000421AA6FB027CA0884FEAE2754FEA10416D -:108650004FEA00430AFB02C006FB05064FEAD710AB -:1086600040EA466013EB000941EBE611E6886388B7 -:10867000A6FB02C84FEA53404FEAC3370AFB028306 -:1086800006FB05364FEA1C2343EA0663FB1840EB62 -:108690002620A689A6FB027C0AFB02C206FB052453 -:1086A0004FEAD75242EA44224FF4FA654FEAE454C3 -:1086B000521944F10004A246551B74F1000448DA33 -:1086C000944D5519A5FB05674AF1FF3404FB057766 -:1086D00005FB047C0525A6FB05480CFB058500274A -:1086E00006FB07556F104FEA340CB9EB0C0961EB30 -:1086F0000701A40844EA85741B1B60EBA500864DA6 -:10870000551B7AF1FF3424DA40F2DC555619A6FBEA -:1087100006474AF1000505FB067706FB05750726A7 -:10872000A4FB06C805FB0686002704FB0767B9EB18 -:108730000C0961EB07010B27A4FB07C805FB0785A4 -:10874000002604FB065464104FEA3C055B1B60EBFB -:1087500004006F4CA5680024A5FB036704FB0373AA -:1087600005FB0030740D44EAC0244015B4EB090346 -:1087700060EB0100410441EAD330BBF1000F01D0AE -:10878000CBF80000BEF1000F01D0CEF80020BDE80C -:10879000F08F10B500F072F85D49886010BD5C483C -:1087A000012200784030C1B27720FEF70EBC10B530 -:1087B00000F064F85649486010BD55480122007821 -:1087C0005030C1B27720FEF700BC2DE9FE430546CC -:1087D00052485349006888420FD04FF40054ADF816 -:1087E000004002208DF8030010204E4E8DF802004C -:1087F0006946304600F0A2F874610A20FFF76CF871 -:1088000001AB0122A0217720FEF7E5FB002823D051 -:1088100001221E217720FEF7D8FB4FF42F60FFF7CF -:1088200050F80024DFF8E4802646A02707EB440038 -:10883000C1B202AB022277200296FEF7CCFBBDF854 -:10884000080040BA28F81400641C082CEEDB2F48FE -:1088500000F026F810B10020BDE8FE8342F210704F -:1088600028806880304868603048A8603048E860F8 -:1088700030482861304868610120EDE708B56B4653 -:10888000032200217720FEF7A6FB9DF800009DF84B -:108890000110000440EA01209DF80210084308BDC1 -:1088A000F0B5C289002102F47F4502F00F040123D4 -:1088B000C5810A4630F8126006B10023521C082A0E -:1088C000F8DB4FF0FF36F3B90022D30722F00103A3 -:1088D00002D0C35C594002E0C35A81EA1321082345 -:1088E0000F0401D581F4C05149005B1E002BF7DC59 -:1088F000521C102AE9DB2543C581C1F303308442B1 -:1089000001D10020F0BD3046F0BD0000FC13002076 -:10891000EC03002030F8FFFF24FAFFFF10040020D2 -:10892000001BB70000100140BB870008AF8700089C -:108930009F8700089387000829860008F0B5002368 -:108940004FF0010C0A880CFA03F52A4228D04FEAAE -:10895000D30200EB82064FEA437491F802E04FEA3B -:10896000D46734680EF00F025FEACE6E03D591F83B -:1089700003E04EEA02024FF00F0E0EFA07FE24EA61 -:108980000E04BA40224332608A78282A02D0482A4C -:1089900003D005E0C268AA4301E0C2682A43C2606E -:1089A0005B1C102BCED3F0BD4FF4805108B14E4864 -:1089B00001E04D48001F016070472DE9F041044679 -:1089C0004A4817460D460088484E0C3E1CE015B13B -:1089D00015F8010B00E0FF2080460221304601F02F -:1089E00063FA0028F9D04146304601F059FA0121D6 -:1089F000304601F059FA0028F9D0304601F052FA19 -:108A0000C0B20CB104F8010B7F1EE0D20120BDE81A -:108A1000F081F0B501218C0389B0204600F0D2FD31 -:108A20000121204600F0E0FD18208DF816004FF4DB -:108A30002040ADF814002C4E03208DF81700143E92 -:108A400005A93046FFF77AFFADF8144004208DF8F1 -:108A5000160005A93046FFF771FFA010ADF814000D -:108A600010258DF8165005A93046FFF767FF1F4EF9 -:108A70000C3E304601F0CAF94FF48270ADF80200A6 -:108A800068010024ADF80A000720ADF81000ADF829 -:108A900004400220ADF80E40ADF806000127ADF805 -:108AA0000040ADF80870ADF80C506946304601F052 -:108AB000D1F90121304601F0E9F90DA000680690D6 -:108AC0000120FFF771FF042206A907A8FFF775FF31 -:108AD0000020FFF769FF9DF81D00EF2802D0204617 -:108AE00009B0F0BD3846FBE7140C01400C380040DB -:108AF0009F0000002DE9F04180461D4616460C46B9 -:108B0000084600F079F80746404600F06AF807EB9F -:108B10008000C0B2102805D23C4901EB00108560EE -:108B200004710673BDE8F08151B104290BD0082906 -:108B30000CD00C290DD101225FF0100100F0D3BF41 -:108B400001220221FAE701220421F7E7012208218C -:108B5000F4E7704770B50D460446017B1346006884 -:108B60002A46FFF7C7FF217B2068BDE87040DBE79E -:108B700008B58DF8000000208DF8010001208DF867 -:108B800002008DF80300684600F033FA08BDFEB518 -:108B9000064614460D46684600F075FF1C486D1EDB -:108BA00044431C48ADF8045069460068B0FBF4F03B -:108BB000401EADF800000020ADF80600ADF8020040 -:108BC000304600F02BFDFEBD10B504460068FFF7EF -:108BD000DEFF0121206800F071FF607BBDE81040DE -:108BE000C6E7014600200C4A01E0401CC0B252F822 -:108BF00020308B42F9D1704701460020074A01E03E -:108C0000401CC0B2135C8B42FAD170470C14002098 -:108C100040420F000C040020F8030020B0C70008F9 -:108C200070B505460846FFF7E7FF04462846FFF7FC -:108C3000D8FF04EB80000249C0B201EB001070BD08 -:108C40000C14002070B50546022100F082FF0128B7 -:108C500025D00421284600F07CFF01282CD00821D3 -:108C6000284600F076FF012833D01021284600F076 -:108C700070FF01283AD11021284600F076FF0C2120 -:108C80002846FFF7CDFF0446284600F05FFFA268A4 -:108C90000146002A2AD0207BBDE8704010470221FF -:108CA000284600F062FF00212846FFF7B9FF04467E -:108CB000284600F045FFEAE70421284600F055FF6A -:108CC00004212846FFF7ACFF0446284600F03AFF8F -:108CD000DDE70821284600F048FF08212846FFF775 -:108CE0009FFF0446284600F02FFFD0E770BD00002C -:108CF0000148FFF7A7BF0000002C01404FF0804063 -:108D0000FFF7A0BF0148FFF79DBF0000000400402F -:108D10000148FFF797BF0000000800401FB5044658 -:108D200002AB062202211820FEF755F99DF8080033 -:108D30009DF80910800800EB0120ADF800009DF8B7 -:108D40000A009DF80B10800800EB0120ADF802002E -:108D50009DF80C009DF80D10800800EB0120ADF887 -:108D600004001A48214602786846FEF78BFE1FBDB4 -:108D700010B5044608220F211820FEF726F90E220E -:108D800010211820FEF721F911494FF48050002CD2 -:108D9000088001D00D48047010BD38B5044600208D -:108DA0008DF8000001466B4601221820FEF713F9EA -:108DB00018B19DF80000FB2801D0002038BD0548FF -:108DC000206005486060012038BD000008040020D4 -:108DD0008A010020718D00081D8D0008026812684C -:108DE00010478068704701684968084701688968CA -:108DF00008470268D26810470168096908470000FF -:108E00000D48016841F00101016041680B4A1140C1 -:108E1000416001680A4A11400160016821F4802123 -:108E20000160416821F4FE0141604FF41F0181603F -:108E30000449C00308607047001002400000FFF8BA -:108E4000FFFFF6FE08ED00E0604A10B55068604B89 -:108E500010F00C015F4803D0042903D0082903D087 -:108E6000036016E0416813E05168536801F4701123 -:108E70004FF0020413F4803F04EB914106D0536895 -:108E80009B03436800D55B084B43E9E7524B5943CA -:108E9000016051684F4AC1F303110832515C026806 -:108EA000CA40026010BD3EB4002100914FF4E013AF -:108EB00001914648CDE90131484A046844F48034C0 -:108EC0000460846944F0100484614FF4A064056870 -:108ED00005F400350195009D6D1C0095019D15B9A7 -:108EE000009DA542F3D10568AD0301D5022114E030 -:108EF000056845F0010505600091016801F0020177 -:108F000001910099491C0091019911B90099A14260 -:108F1000F3D10168890739D50121029130490C68E4 -:108F200044F010040C600C6824F003040C600C681E -:108F300044F002040C60416841604168416041684E -:108F400041F480614160116821F070411160214C51 -:108F50001F496160416821F47C114160116841F052 -:108F6000004111601D49091FCA6822F40042CA600D -:108F70008968090403D51B494FF480136160029985 -:108F80000193012908D002290AD100E0FEE74168D7 -:108F900043F48032114302E0416841F460114160C2 -:108FA000016841F08071016001688901FCD5416868 -:108FB00021F003014160416841F0020141604168D4 -:108FC000C1F381010229FAD13EBC3DE70010024005 -:108FD00000127A000C04002000093D00041001403A -:108FE00000200240001BB7001849084318490860D8 -:108FF0007047F0B50F21C478027801234FF0E026C6 -:10900000DCB1134C2468457804F4E064C4F5E064F2 -:10901000240AC4F10407E1408478BD400C402C438D -:1090200021010C4C1155007800F01F018B404009C4 -:1090300006EB8000C0F80031F0BD02F01F00834055 -:10904000500906EB8000C0F88031F0BD0000FA0541 -:109050000CED00E000E400E010B54268464B0C79EE -:109060001A400B6842EA0422134343608368434A70 -:109070001340D1E9024222434C7943EA44031A43A4 -:109080008260C26A097C22F47002491EC9B242EAB7 -:109090000151C16210BD0029816802D041F0010177 -:1090A00001E021F00101816070470029816802D050 -:1090B00041F4807101E021F4807181607047816822 -:1090C00041F0080181607047014600208968090766 -:1090D00000D501207047816841F00401816070472C -:1090E000014600208968490700D501207047002902 -:1090F000816802D041F4A00101E021F4A001816067 -:10910000704770B5072409290AD9C568A1F10A0674 -:1091100006EB4606B440A543B3401D43C56007E0D7 -:10912000056901EB4106B440A543B3401D43056109 -:109130001F23072A09D2446B521E02EB820293407E -:109140009C4391400C43446370BD0D2A09D2046BCB -:10915000D21F02EB820293409C4391400C43046374 -:1091600070BDC46A0D3A02EB820293409C43914069 -:109170000C43C46270BD0000FFFEF0FFFDF7F1FF7D -:1091800001684FF6FE7211400160002101604160EC -:109190008160C1605249524A0839904203D14868FF -:1091A00040F00F0006E04E4A1432904204D1486865 -:1091B00040F0F00048607047494A2832904203D19D -:1091C000486840F47060F5E7454A3C32904203D16C -:1091D000486840F47040EDE7414A5032904203D174 -:1091E000486840F47020E5E73D4A6432904203D17C -:1091F000486840F47000DDE7394A7832904203D184 -:10920000486840F07060D5E7364A111F904203D19C -:10921000086840F00F0006E0324A1432904204D150 -:10922000086840F0F000086070472E4A28329042EB -:1092300003D1086840F47060F5E72A4A3C32904256 -:1092400003D1086840F47040EDE7264A503290425E -:10925000EAD1086840F47020E5E730B5036847F6C6 -:10926000F07293430C6A8A682243D1E904452C4387 -:1092700022438C692243CC6922434C6A22438C6A84 -:1092800022431A430260CA6842600A6882604968E1 -:10929000C16030BD0021016041608160C160016139 -:1092A00041618161C161016241628162704700294F -:1092B000016802D041F0010102E04FF6FE72114058 -:1092C00001607047002A026801D00A4300E08A4327 -:1092D0000260704741607047406880B2704700008C -:1092E0000800024008040240C10002D5024908609B -:1092F0007047024948607047040402400000024081 -:1093000030B51C498379026853B30B6893430B60F3 -:109310000A1D13680468A343136002790A441368A2 -:10932000046823431360134A083213680468A34394 -:109330001360131D1C680568AC431C604479102C35 -:1093400005D021440A68006802430A6030BD1168F4 -:10935000046821431160196800680143196030BD39 -:109360000079084401689143016030BD014914311E -:109370000860704700040140064A01460020126858 -:10938000044B0A4014331B680B4202D0002A00D061 -:1093900001207047000401404A4910B588424FF04F -:1093A000010101D14C0501E04FF48004204600F09A -:1093B0001BF92046BDE81040002100F015B970B53A -:1093C0000446808886B00D4620F03F06684600F0CF -:1093D000A1F83D490298B0FBF1F189B20E43A68095 -:1093E000228822F001022280384B2A689A421CD837 -:1093F0005200B0FBF2F080B2042800D20420491CD5 -:109400002184A083208840F00100208021884FF62D -:10941000F5300140A8886A89104308432080A88954 -:1094200029890843208106B070BDEB88A3F53F462B -:10943000FF3E05D102EB4202B0FBF2F080B208E041 -:1094400002EBC20303EB0212B0FBF2F080B240F475 -:109450008040020501D140F001004FF49672514363 -:109460004FF47A72B1FBF2F140F40040C7E741F2E9 -:1094700088310160002181804BF6FF72C28001813A -:1094800041814FF48041818170470029018802D0D9 -:1094900041F0010101E021F0010101807047002944 -:1094A000018802D041F4807101E021F480710180D3 -:1094B0007047002A828801D00A4300E08A438280F4 -:1094C000704700000054004040420F00A086010099 -:1094D0000029018802D041F4007101E021F40071FB -:1094E000018070470029018802D041F4806101E0C9 -:1094F00021F480610180704701827047008AC0B208 -:10950000704712B141F0010101E001F0FE0101825A -:109510007047000030B53C494A683C4B12F00C04DF -:1095200005D03B4A042C126803D0082C24D00360D9 -:1095300000E002604A680F2303EA1212354B9C5C7C -:109540000268E24042604C68072505EA14241C5D6D -:1095500022FA04F484604C6805EAD4241B5DDA40E6 -:10956000C2604968032303EA91312A4B1B1F595CEF -:10957000B2FBF1F1016130BD4B684C6803F470132C -:109580004FF0020514F4803F05EB934305D04C687F -:10959000A40300D552085A43CBE71F4A5343C6E7FA -:1095A000194A0029516901D0014300E0814351610A -:1095B0007047154A0029916901D0014300E08143B9 -:1095C00091617047104A0029D16901D0014300E040 -:1095D0008143D16170470C4A0029D16801D0014311 -:1095E00000E08143D1607047074A0029116901D02A -:1095F000014300E08143116170470348416A41F033 -:1096000080714162704700000010024000127A0031 -:10961000100400202804002000093D0030B5028815 -:10962000FD4BFE4C98420DD0A0420BD0B0F1804FC4 -:1096300008D0FB4DA84205D0FA4DA84202D0FA4D01 -:10964000A84203D122F070054A882A43F74DA84268 -:1096500006D0F74DA84203D022F44075CA882A43A9 -:1096600002808A8882850A88028598420AD0A042B0 -:1096700008D0F04A904205D0EF4A904202D0EF4A1B -:10968000904201D1097A01860121818230BD30B535 -:10969000028C22F001020284028C8388048B22F067 -:1096A000020224F073050C882C430D8915434A8867 -:1096B0002A43D94DA8420BD0D84DA84208D0DD4D41 -:1096C000A84205D0DC4DA84202D0DC4DA8420DD105 -:1096D00022F008054A8923F440732A4322F0040546 -:1096E0008A882A438D891D43CB892B438380048339 -:1096F000C9888186028430BD70B5028C22F01002C8 -:109700000284028C8488038B0D8823F4E6464FF68E -:10971000FF7303EA052535430E8922F0200203EA90 -:10972000061616434A8803EA02123243BA4EB04282 -:1097300002D0BA4EB04215D122F080064A8924F4F4 -:10974000406403EA0212324322F040068A8803EAA8 -:10975000021232438E8903EA86062643CC8903EA45 -:109760008404344384800583C9880187028470BDE2 -:1097700070B5028C22F480720284028C8488838B00 -:109780000D8823F073031D4322F400730E894FF6F6 -:10979000FF7202EA06261E434B8802EA0323334384 -:1097A0009D4EB04202D09D4EB04215D123F40066CA -:1097B0004B8924F4405402EA0323334323F48066A4 -:1097C0008B8802EA032333438E8902EA0616264376 -:1097D000CC8902EA0414344384808583C988818754 -:1097E000038470BD70B5028C22F480520284048C14 -:1097F0008288838B0D8823F4E6464FF6FF7303EAD5 -:109800000525354324F400560C8903EA0434344317 -:109810004E8803EA063626437F4CA04202D07F4C96 -:10982000A04205D122F480448A8903EA82122243AD -:1098300082808583C988A0F84010068470BD828B21 -:1098400022F440628283828B4FF6FF7303EA012188 -:109850000A4382837047828B22F00C028283828BC0 -:109860000A4382837047028B22F440620283028B98 -:109870004FF6FF7303EA01210A4302837047F0B5F4 -:10988000048C24F010040484078B048C4FF6FF75BD -:1098900027F4734705EA03333B4305EA02221A43E0 -:1098A0005D4B05EA011698420ED05C4B98420BD0F6 -:1098B000B0F1804F08D05A4B984205D0594B98428E -:1098C00002D0594B984205D124F02001314341F098 -:1098D000100104E024F0A0030B4343F010010283C5 -:1098E0000184F0BD028B22F00C020283028B0A433A -:1098F0000283704770B5048C24F001040484058B46 -:10990000048C4FF6FF7606EA0313134325F0F305A4 -:10991000414A2B4390420ED0404A90420BD0B0F1C6 -:10992000804F08D03E4A904205D03E4A904202D035 -:109930003D4A904202D124F0020201E024F00A02E2 -:109940000A4342F001010383018470BD2DE9F05FF9 -:109950000D4604460888304FDFF8C0C0DFF8C080ED -:109960004988AA882B894FF0804960B3042832D0F7 -:109970004FF6FF7E082836D0208C9B4620F480507E -:109980002084A38B268C704600EA022223F47343C2 -:109990001A4300EA0B3010430EEA013EBC420BD0E2 -:1099A000644509D04C4507D0444505D01D4A944232 -:1099B00002D01D4B9C425AD126F4005141EA0E01BF -:1099C00041F4805158E02046FFF794FFE988204693 -:1099D000BDE8F05F86E72046FFF751FFE9882046A3 -:1099E000BDE8F05F3FE7208C20F480702084B4F85D -:1099F0001CA0208C0EEA031313432AF0F30A0EEA8C -:109A0000012B43EA0A03BC4220D064451ED04C45DA -:109A10001CD044451AD013E0002C01400034014012 -:109A20000004004000080040000C0040001000400E -:109A30000014004000400140004401400048014043 -:109A40003D4A944202D03D4A944204D120F4007031 -:109A500040EA0B0002E020F42060084340F48070EC -:109A6000A3832084E9882046BDE8F05FF3E626F46E -:109A700002420A4342F48051A08320462184E988AF -:109A8000BDE8F05FDBE64FF6FF71818000210180C9 -:109A9000C180418001727047002101804180818036 -:109AA000C180018141818181C18170470021018094 -:109AB000418001228280C180018170470029018894 -:109AC00002D041F0010101E021F001010180704765 -:109AD000002930F8441F02D041F4004101E0C1F3F5 -:109AE0000E0101807047002A828901D00A4300E0FC -:109AF0008A4382817047028B22F008020A43028364 -:109B00007047028B4FF6FF7322F4006203EA0121D3 -:109B1000114301837047828B22F008020A4382833B -:109B20007047828B4FF6FF7322F4006203EA012133 -:109B3000114381837047000000080040000C004082 -:109B4000808E7047008F7047808F7047B0F840005C -:109B5000704702460020138A92890B4202EA0102F2 -:109B600002D0002A00D001207047C943018270470B -:109B700030B50446008A85B00D464CF6FF710840AA -:109B8000E98801432182A1894EF6F3100140A8889B -:109B90002A8910436A890A431043A081A08A4FF69C -:109BA000FF410840A9890143A1826846FFF7B2FC42 -:109BB0003048844201D1039800E00298A189090449 -:109BC000002900EBC00101EB0010296802DA4FEA1E -:109BD000410101E04FEA8101B0FBF1F06422B0FBEA -:109BE000F2F14FEA01114FEA11136FF018056B43C0 -:109BF00000EB8300A3891D044FF0320306D503EB6D -:109C0000C000B0FBF2F000F0070005E003EB00102D -:109C1000B0FBF2F000F00F000843208105B030BD2A -:109C20000029818902D041F4005101E021F4005162 -:109C30008181704710B5C1F3421301F01F04012167 -:109C4000A140012B07D0022B07D01430002A026854 -:109C500005D00A4304E00C30F8E71030F6E78A43F9 -:109C6000026010BD002A828A01D00A4300E08A43C4 -:109C7000828270470038014010B58A0721F0030442 -:109C80000649130F21440F228C689A4094438C603C -:109C90008A68984002438A6010BD000000000140BD -:109CA000394838494160394941607047364801694F -:109CB00041F080010161704733490420CA68D2072E -:109CC00001D001207047CA68520701D502207047B1 -:109CD000C968C906FBD50320704700B50346FFF7E6 -:109CE000EBFF02E0FFF7E8FF5B1E012803D0002B2B -:109CF00000D1052000BD002BF4D1FAE770B5054670 -:109D00004FF430263046FFF7E8FF042811D11E4CEF -:109D1000206940F0020020616561206940F0400048 -:109D200020613046FFF7D9FF216941F6FD721140ED -:109D3000216170BDF8B5064600204FF4005C00902C -:109D40000D466046FFF7C9FF042816D10E4C206966 -:109D500040F00100206135806046FFF7BEFF41F60C -:109D6000FE77042806D1B61C280C00963080604689 -:109D7000FFF7B3FF216939402161F8BD0249C8608E -:109D8000704700002301674500200240AB89EFCDFA -:109D900014481549026800608A4203D0134880477E -:109DA00013480047134E4FF0090030601248016815 -:109DB00021F07061016041020160104C18202060A8 -:109DC0000F49104808601048D0F800D0406800479C -:109DD000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE75B -:109DE000FEE7FEE7F04F0020EFBEADDE018E00087B -:109DF000ED0000081810024004000140140C01405E -:109E0000000C01404434434400F0FF1F2A4910B5C0 -:109E100088420AD1841401212046FFF7DCFB20464A -:109E2000BDE810400021FFF7D6BB2449884202D18B -:109E30000121041404E0224988420AD10121C413FB -:109E40002046FFF7D1FB2046BDE810400021FFF778 -:109E5000CBBB10BD30B502884C8802F441530A8850 -:109E6000CD8822438C882C4322430C8922434C8981 -:109E700022438C892243CC8922431A430280828B5D -:109E800022F400628283098A018230BD00290188A0 -:109E900002D041F0400101E021F040010180704713 -:109EA00081817047808970470246002012890A42EA -:109EB00000D0012070470000003001400038004011 -:109EC000003C004000487047A8C80008A0F16101AC -:109ED000192900D8203870472DE9F05F99461546BA -:109EE0000F4683464FF0FF36DDF828A011E0A81991 -:109EF000441009FB0470804601465846524690477C -:109F0000002802D004DA254603E04046BDE8F09F71 -:109F10002646A5EB06000128E9DC0020F6E740EA2A -:109F200001039B0703D009E008C9121F08C0042AD7 -:109F3000FAD203E011F8013B00F8013B521EF9D2BE -:109F40007047D2B201E000F8012B491EFBD27047E6 -:109F50000022F6E710B513460A4604461946FFF7F5 -:109F6000F0FF204610BD421E12F8013F002BFBD12E -:109F700011F8013B02F8013B002BF9D1704730B5D5 -:109F800005462A460B4612F8010B13F8014B08B19F -:109F9000A042F8D01CB1002802D06D1CF1E7284681 -:109FA00030BD10B5044604E00B7800F8013B03B166 -:109FB000491C521EF8D2204610BDCAB2401E10F8ED -:109FC000011F8A4202D00029F9D100207047421CAB -:109FD00010F8011B0029FBD1801A70472DE9F041D0 -:109FE0000546002090460E46044600E0641C4445A9 -:109FF0000BD2285D00F03BFB0746305D00F037FBDD -:10A00000381A02D1295D0029F0D1BDE8F08170B580 -:10A01000064600F045FD046805460A220021304648 -:10A0200000F02BFB2C6070BDF0B480EA0102D40F6D -:10A030004200B2EB410F02D20246084611464A00E6 -:10A0400042D0C30DDDB2C1F3C752AD1A202D35DAAF -:10A05000C1F3160141F4000204B15242C5F12006D9 -:10A0600002FA06F12A411044B3EBD05F23D0C4B109 -:10A07000012DA0EBC35009DCF0BC4FF0004202EA16 -:10A08000C35200F50000DBB200F038BB400000F125 -:10A09000807000EBC350A0F1807040EAD17049009D -:10A0A00009E0490841EAC071A0EBC35000F5000087 -:10A0B000400800EBC350F0BC00F017BB6142012226 -:10A0C00002EB4101001BF6E7F0BC704781F0004154 -:10A0D000AAE780F00040A7E780EA010210B502F08D -:10A0E0000043400026D04A0023D04FEA106101EB24 -:10A0F0001261C0F35600C2F3560240F4000042F46D -:10A100000002A0FB0220A1F17F014FEA00401404ED -:10A1100001D000F1010050EA124001D44000491E74 -:10A12000C2B20C0604EBD010401C4008802A02D0BA -:10A1300003E0002010BD20F00100002900DA00201B -:10A14000184310BD30B480EA010202F0004530F03F -:10A15000004221F0004015D0A0B1C0F3C753C2F3B4 -:10A16000C754C2F31601C0F31600E41A41F400010B -:10A1700040F400027D34914201D3641C00E04900A8 -:10A18000002C02DA30BC002070474FF4000000239E -:10A19000914201D3891A034340084FEA4101F7D1A4 -:10A1A00051B1914202D14FF0004105E002D24FF08F -:10A1B000010101E06FF0010103EBC450284430BC01 -:10A1C00000F093BA420005D0C0F3C7525242914208 -:10A1D00001DC0020704700EBC15070472DE9FE4FB5 -:10A1E000804681EA0300C00F0C46009021F0004138 -:10A1F00023F00045B8EB0200A94105D240462146B4 -:10A2000090461C460B46024623F00040104304D102 -:10A210004046214603B0BDE8F08F270DC7F30A0082 -:10A22000C3F30A510290401A0190402866DAC3F342 -:10A23000130040F4801B0098924620B10023D2EB1B -:10A24000030A63EB0B0B01985946C0F140025046DC -:10A2500000F0ECF906460D4650465946019A00F0CA -:10A26000F4F910EB08006141002487EA115284EAF6 -:10A27000E7731A433BD0009A3AB3019A012A4FEA96 -:10A28000075210DC001B61EB02014FF0004202EAB2 -:10A290000752CDE90042001C41F5801132462B46A1 -:10A2A00000F0B3FAB6E7001B61EB0201001C41F5B8 -:10A2B000801300185B412018A2F5001747EB03013B -:10A2C00040EAD570B6196D4111E06D084FEA3606C7 -:10A2D00045EAC0754FEA0752001B61EB0201001C02 -:10A2E00041F5801149084FEA3000001951413246CA -:10A2F0002B4603B0BDE8F04F00F07ABA0098012277 -:10A3000040000023D0EB020263EBE073009821468B -:10A310004FEAE074B8EB000061EB0401E9E783F079 -:10A3200000435BE781F0004158E72DE9FE4F81EAE9 -:10A33000030404F0004421F0004100944FF0000BAE -:10A3400023F0004350EA010402D052EA030404D18E -:10A350000020014603B0BDE8F08FC3F30A54C1F3F7 -:10A360000A552C44A4F2F3340194A0FB0254C1F327 -:10A37000130141F48011C3F3130343F4801301FB71 -:10A38000024400FB034E840A970A44EA815447EAD8 -:10A390008357A4FB076802958D0A05FB07854FEAE2 -:10A3A000932C04FB0C542705029D4FEA065847EAFC -:10A3B0001637B5EB08056EEB070C870E920E47EAD1 -:10A3C000811742EA8312A7FB0201B6EB0B0164EB93 -:10A3D00000042B0D43EA0C335E1844EB1C50DA46A4 -:10A3E0005146E7FB0201C5F313044FEA0B3343EA7E -:10A3F00014534FEA0432019C43EA0603A4F10C040F -:10A400000294009CCDE900B400F0FFF9A2E72DE929 -:10A41000F04D81EA030404F0004B21F0004514469E -:10A420004FF0000A23F0004150EA050220D054EA20 -:10A4300001021DD0C5F30A570246C5F31303C1F349 -:10A440001300C1F30A5640F4801543F48013A7EBC0 -:10A450000608101BD64608F2FD3873EB050002D340 -:10A4600008F1010801E092185B41B8F1000F03DA2E -:10A4700000200146BDE8F08D00204FF48011064613 -:10A4800084460EE0171B73EB050705D3121B63EB25 -:10A49000050306434CEA010C49084FEA30009218C4 -:10A4A0005B4150EA0107EDD152EA030012D082EA83 -:10A4B000040083EA0501084303D100224FF0004362 -:10A4C00008E0101BAB4102D20122002302E06FF032 -:10A4D000010253101AEB06004CEB085110EB0A0076 -:10A4E00041EB0B01BDE8F04D00F082B9C10F80EAED -:10A4F000E0700844CA079623002100F0FFB89623B5 -:10A500000022114600F0FAB80EB5C10F80EAE070E3 -:10A510000844CA07002140F233438DE80E000A4682 -:10A520000B4600F072F903B000BD0EB540F23341A6 -:10A5300002910021CDE900110A460B4600F065F9B1 -:10A5400003B000BD00F0004220F00040C10DC0F398 -:10A55000160040F400007F2901DA00207047962998 -:10A5600003DCC1F19601C84001E096398840002A19 -:10A57000F4D04042704720F00040C10DC0F31600F7 -:10A5800040F400007F2901DA00207047962903DC9F -:10A59000C1F19601C840704796398840704701F074 -:10A5A000004330B421F0004150EA010206D00A0D08 -:10A5B000A2F56072C1F31301002A02DC30BC002056 -:10A5C0007047440F44EAC104C100E01830BC00EBFE -:10A5D000C25000F08AB80000002801DBC0F1004042 -:10A5E000002901DBC1F1004181427047002801DBF5 -:10A5F000C0F10040002901DBC1F1004188427047F1 -:10A6000030B50B46014600202022012409E021FA42 -:10A6100002F59D4205D303FA02F5491B04FA02F53F -:10A620002844151EA2F10102F1DC30BD202A04DB12 -:10A63000203A00FA02F1002070479140C2F1200355 -:10A6400020FA03F3194390407047202A06DBCB170A -:10A65000203A41FA02F043EAE07306E041FA02F3DD -:10A66000D040C2F120029140084319467047A0F142 -:10A670004101192900D8203070472DE9F047914653 -:10A680000F4680460446002614F8015B2DB1FFF703 -:10A6900019FC0068405DC007F6D12B2D02D02D2D8E -:10A6A00018D0641E4A463946204600F049F927B1C1 -:10A6B0003968A14201D1C7F8008071054FF002044A -:10A6C0000BD54042002803DD00F0EAF90460A00742 -:10A6D000BDE8F08746F48066E4E70028F8DA00F089 -:10A6E000DFF904606FF00040F2E70029A8BF70476F -:10A6F000401C490008BF20F00100704710B4B0FAB8 -:10A7000080FC00FA0CF050EA010404BF10BC704752 -:10A7100049B1CCF1200421FA04F411FA0CF118BF6C -:10A72000012121430843A3EB0C01CB1D0106000AC4 -:10A73000002BBEBF002010BC704700EBC35010447C -:10A740000029A4BF10BC7047401C490008BF20F07E -:10A75000010010BC7047F0B4002802DCF0BC0020FF -:10A760007047C0F3C751C0F3160040F40000CA0799 -:10A7700001D14000491E3F2202EB61050022114633 -:10A780004FF4000626FA01F31344D418844201D88A -:10A79000001B1A464000491C1729F3DD5100814275 -:10A7A00002D24FF0FF3100E0002102EBC550F0BCB7 -:10A7B000FFF79BBF10B541000CD0C0F3C7519629DD -:10A7C00008DC7E2909DC06DB410204D000F00040F1 -:10A7D00040F07E5010BD002010BDC1F19604C4F1C0 -:10A7E000200100FA01F1E040FFF77FFFA04010BD1B -:10A7F00010B5002B08DA401C41F1000192185B41B2 -:10A800001A4301D120F0010010BD2DE9F04D924610 -:10A810009B4611B1B1FA81F202E0B0FA80F2203227 -:10A820009046FFF703FF04460F4640EA0A0041EA5C -:10A830000B0153465A46084303D120463946BDE82A -:10A84000F08D114653EA010015D0C8F14002504680 -:10A8500000F066F805460E46504659464246FFF758 -:10A86000E5FE084301D0012000E00020054346EA50 -:10A87000E0762C4337430A984FEA4453A0EB080094 -:10A880004FEAD4240A304FF0000244EA47544FEA1A -:10A89000D72502D500200146D1E7010510196941ED -:10A8A000DDE9084500196941BDE8F04DA0E710B5A4 -:10A8B00000F0004420F00040C20DC0F3160040F448 -:10A8C00000007F2A07DA7D2A00DA7D22763A00FA34 -:10A8D00002F1002008E0962A09DCA2F1760100FAD4 -:10A8E00001F1C2F19602D040FFF7FFFE01E0963A77 -:10A8F0009040002C00D0404210BD0000064C074D97 -:10A9000006E0E06840F0010394E80700984710343F -:10A91000AC42F6D3F5F7EEFBA8D20008C8D2000887 -:10A92000202A04DB203A21FA02F00021704721FAA4 -:10A9300002F3D040C2F1200291400843194670470B -:10A940002DE9F05F82460078002715468B460AF114 -:10A950000104B946302801D09DB113E014F8010B71 -:10A960000127782803D0582801D045B10AE00DB15D -:10A97000102D07D10027102514F8010B02E008253F -:10A9800000E00A250026B0460EE005FB080005FBA6 -:10A9900006F1012701EB10461FFA80F8B6F5803F5B -:10A9A00000D3B94614F8010B294600F018F8002826 -:10A9B000EBDABBF1000F05D00FB1641E00E0544686 -:10A9C000CBF80040B9F1000F06D000F069F8022181 -:10A9D0000160C81EBDE8F09F48EA0640FAE73A2841 -:10A9E00000D2303820F02002412A01D3A2F13700F2 -:10A9F000884201D34FF0FF30704770B501EB02047D -:10AA000010F8015B15F0070301D110F8013B2A1182 -:10AA100006D110F8012B03E010F8016B01F8016B6F -:10AA20005B1EF9D12B0705D40023521E0FD401F869 -:10AA3000013BFAE710F8013B02F10202A1EB03032C -:10AA400003E013F8015B01F8015B521EF9D5A14246 -:10AA5000D6D3002070BD00000FB4054B10B503A97C -:10AA6000044A029800F0E8F810BC5DF814FB0000FE -:10AA700069230008380400204100080218BF0420A0 -:10AA80000A0E18BF40F001004FF07F4232EA010188 -:10AA900008BF40F00200012808BF052070470000F1 -:10AAA000004870473C0400206FF05E010807FFF784 -:10AAB00089BB00002DE9F04D0E4614464FF07F4152 -:10AAC000B1EB440F9EBF4FF0FF313160BDE8F08D18 -:10AAD0004FF0004040EA0421C4F3C75078384311D6 -:10AAE00000F01F00DFF814C1C0F12002FC445CF844 -:10AAF00023500CEB83038540D3F804C02CFA02F7F3 -:10AB00002F439D680CFA00FC25FA02F8DB6805FA71 -:10AB100000F023FA02F240EA02054CEA080CA7FB17 -:10AB20000132ACFB01C0A5FB015101EB0C058D42CC -:10AB300034BF4FF0010C4FF0000CC1186144BCF160 -:10AB4000000F02D0814202D903E0814201D20120EC -:10AB500000E00020104400F120024FEA9218800625 -:10AB6000CA0C40EA42304F03C6F80080FFF7BEFC33 -:10AB700082463846FFF7C3FC6FF01201FFF722FB55 -:10AB800007462846FFF7BBFC6FF02501FFF71AFBCD -:10AB9000834639465046FFF747FA5946FFF744FACD -:10ABA00000F500656FF30B0551462846FFF78EFA56 -:10ABB0003946FFF78BFA5946FFF78BFA1049FFF732 -:10ABC0008BFA07460F492846FFF786FA3946FFF702 -:10ABD0002BFA07460C492846FFF77EFA3946FFF75D -:10ABE00023FA14F0004F08BFBDE8F08DC8F1805182 -:10ABF00080F000403160BDE8F08D0000BC1D000019 -:10AC0000DB0FC92F22AAFD290000C92F02E008C8C6 -:10AC1000121F08C1002AFAD170477047002001E0D6 -:10AC200001C1121F002AFBD17047000001490860D2 -:10AC3000704700003C0400202DE9FF4F8BB09A467E -:10AC40000F4605460026C9E0252837D100246D1C93 -:10AC50006649A04601222B78203B02FA03F0084205 -:10AC600002D004436D1CF6E728782E2817D115F87A -:10AC7000010F44F004042A280ED06FF02F02287828 -:10AC8000A0F1300109290AD808EB880102EB410143 -:10AC900000EB01086D1CF2E757F8048B6D1C287857 -:10ACA00069283FD006DC002871D063280CD06428C6 -:10ACB00004D137E0732811D075284ED052460D9933 -:10ACC000904706F1010688E017F8040B8DF80000A4 -:10ACD00000208DF80100E946012003E057F8049BAD -:10ACE0004FF0FF3061074FF0000401D40AE0641C0C -:10ACF00044450DDA8442FADB19F804100029F6D134 -:10AD000006E0641C8442FCDB19F804100029F8D129 -:10AD1000264404E019F8010B52460D999047641E31 -:10AD2000F8D25AE001CF4FF00A0B002804DAC0F144 -:10AD300000004FF02D0102E0210504D52B218DF8F4 -:10AD40002410012103E0E10705D02021F7E70DF1F0 -:10AD5000200908910CE00021F9E701CF4FF00A0B20 -:10AD6000F9E75946FFF74CFC01F1300209F8012DD3 -:10AD70000028F6D1ADEB090000F1200B600701D4EB -:10AD80004FF00108D84503DDA8EB0B0001E029E0F6 -:10AD900000208046002406E009A85246005D0D9977 -:10ADA0009047761C641C08988442F5DB04E0302050 -:10ADB00052460D999047761CB8F10001A8F10108A0 -:10ADC000F5DC05E019F8010B52460D999047761C09 -:10ADD000BBF10001ABF1010BF4DC6D1C28780028FD -:10ADE0007FF432AF0FB03046BDE8F08F0928010084 -:10ADF0002DE9F0474FF0684202EB40030C46054650 -:10AE0000B3F1654F3CBF02EB4102B2F1654F3FD356 -:10AE10004FF07F42B2EB400F28BFB2EB410F03D29D -:10AE2000BDE8F047FFF700B940EA01035B0008BF47 -:10AE300044F0FF410AD0B2EB400F08BFB2EB410F24 -:10AE400006D125F0804024F0804105460C461FE0E5 -:10AE5000B2EB400F12BF5FEA410245F0FF4004F041 -:10AE6000004115D04FEA410292EA400310D4002A73 -:10AE7000B4BF4FF03E564FF09F463146FFF72CF9D6 -:10AE8000054631462046FFF727F904462846214665 -:10AE9000C0F3C753C1F3C7529A1A1B2A06DD10F03C -:10AEA000004F14BF54485548BDE8F08712F11A0FFF -:10AEB00017DA11F0004F06D010F0004F0CBF5048C9 -:10AEC0005048BDE8F08721462846FFF73BF9044685 -:10AED000FFF7D2FD042808BFFFF7E6FD2046BDE8D6 -:10AEE000F0874200B2EB410F25D910F0004F19BF97 -:10AEF000454F464E464F474E224685F00044154684 -:10AF00000A4680F0004110460A1A5200B2F1807FD2 -:10AF10003ED248404049DFF804A110F0004F18D05D -:10AF20004FF03F483846FFF7D1F8074651463046C4 -:10AF3000FFF7CCF817E011F0004F04BF00263746AA -:10AF4000E2D010F0004F19BF354F364E364F374E16 -:10AF5000DAE74FF07C583846FFF766F80746514667 -:10AF60003046FFF761F8064641462846FFF7B4F839 -:10AF70002146FFF759F8824621464046FFF7ACF8D4 -:10AF80002946FFF7A6F85146FFF7DCF8044604E02F -:10AF900021462846FFF7D6F804460146FFF79CF8FD -:10AFA00080462349FFF798F82249FFF73DF84146CC -:10AFB000FFF792F82049FFF737F84146FFF78CF882 -:10AFC0001E49FFF731F84146FFF786F81C49FFF7A5 -:10AFD0002BF8054641462046FFF77EF82946FFF745 -:10AFE0007BF83146FFF720F82146FFF71DF8394678 -:10AFF000BDE8F047FFF718B8DB0FC9BFDB0FC93F4B -:10B00000DB0F4940DB0F49C00000C9BF22AAFDB9D0 -:10B010000000C93F22AAFD390060ED3EC30ACE37C9 -:10B02000000049C022AA7DBA0000494022AA7D3A08 -:10B030002DAD65BD8FB8D53D0FB511BE61C84C3E75 -:10B04000A8AAAABE2DE9F84304460246504869461C -:10B05000B0EB420F09D94FF0E640B0EB420F94BF7E -:10B0600000204FF0FF30009034E04A4B22F00040C7 -:10B0700083422BD948492046FFF72EF8FFF79AFB69 -:10B080008046FFF75FFA00F0030000904349404616 -:10B09000FFF722F8054642494046FFF71DF80646ED -:10B0A00040494046FFF718F807463F494046FFF73A -:10B0B00013F82146FFF70DF83946FFF707F8314638 -:10B0C000FFF704F82946FFF701F802E01046FFF702 -:10B0D000F1FC04462546009C002C18DA6800B0F10B -:10B0E0007F4F3CBF4FF07E50BDE8F88309D14FF051 -:10B0F0000100FFF79BFDBDE8F84300210846FFF77C -:10B1000021B82846BDE8F8430121FFF75BB829467E -:10B1100014F0010F08461CD0FEF7DEFF0646234957 -:10B12000FEF7DAFF2249FEF7D4FF3146FEF7D4FFDF -:10B130002049FEF779FF3146FEF7CEFF2946FEF79C -:10B14000CBFF2946FEF770FF14F0020F1CD0BDE8BC -:10B15000F883FEF7C1FF05461749FEF7BDFF174903 -:10B16000FEF762FF2946FEF7B7FF1549FEF75CFFC1 -:10B170002946FEF7B1FF4FF07E51FEF755FF14F060 -:10B18000020F08BFBDE8F88380F00040BDE8F883F7 -:10B19000B61F927E490E494683F9223F1A61342C2C -:10B1A0000020A23300A0FD390000C93F336D4C39A7 -:10B1B000DA82083CA0AA2ABEB93AB2BACA9F2A3D8E -:10B1C000DDFFFFBE2DE9F04104464FF019404E4926 -:10B1D000002500EB4400884230D94FF0FF4131EAAE -:10B1E000040018D04FF0CE41B1EB440F84BF4FF0B4 -:10B1F0007E50BDE8F0814549B1EB440F28BF0125E1 -:10B200001CD20220FFF712FD14F0004F0FD0BDE852 -:10B21000F041FFF749BC204614F5000F04BF0020A1 -:10B22000BDE8F0810121BDE8F041FEF7CBBFBDE8EC -:10B23000F04161214FF0E040FEF7C4BF34492046A1 -:10B24000FEF74AFFFFF7B6FA8046FFF77BF906469E -:10B2500030494046FEF740FF07462F494046FEF77B -:10B260003BFF2146FEF735FF3946FEF72FFF044628 -:10B270002A49FEF731FF2A49FEF7D6FE2146FEF79E -:10B280002BFF6FF04141FEF7CFFE2146FEF724FF72 -:10B290002449FEF7C9FE2146FEF71EFF014622485B -:10B2A00006F00304784450F82400FEF715FF1F4908 -:10B2B000794451F82410FEF7B7FE1D49794451F83E -:10B2C0002410FEF7B1FEB110D5B1FEF77BFF0400EC -:10B2D0000BD0B4F1FF4F0FD0FFF7CEFB042808BF0F -:10B2E000FFF7E2FB2046BDE8F0810220FFF79EFC5D -:10B2F000BDE8F041FFF7D8BB0220FFF797FC96E7C7 -:10B30000BDE8F041FEF75EBF0000501E0000A085C2 -:10B310003BAAB840F4FD05370070313E12BB2A3D10 -:10B3200012BB2A3EFFFF7F3F2C15000010150000C6 -:10B33000F41400002DE9F0410026A0F50001B1F160 -:10B34000FE4F22D34FF07F42B2EB400F04D2BDE854 -:10B35000F0410121FEF736BFB0F1FF4F08BFBDE855 -:10B36000F081B0F1004F08D90120FFF75FFCBDE884 -:10B37000F04100210846FEF7E5BE30F000415ED006 -:10B380006FF016061721FEF71DFF00F500226FF083 -:10B390007E0101EBE251C2F3025477184FF07E5266 -:10B3A000A0EBC15602EB045557EA040050D02946E1 -:10B3B0003046FEF739FE804629463046FEF786FEC7 -:10B3C0004146FEF7BFFE05460146FEF785FE804674 -:10B3D0003349FEF781FE3349FEF726FE0646414615 -:10B3E0002846FEF779FE3146FEF776FE06463846D9 -:10B3F000FFF77CF807462C49FEF76EFE2B4979448F -:10B4000051F82410FEF710FE3146FEF70DFE0646F9 -:10B4100001212846FEF7D6FE3146FEF705FE054619 -:10B4200038462349FEF758FE2249794451F8241042 -:10B43000FEF7FAFD2946BDE8F041FEF7F5BD022012 -:10B44000FFF7F4FBBDE8F04100211B48FEF77ABE90 -:10B450004FF07E513046FEF739FE05461749FEF79C -:10B460003BFE1749FEF7E0FD2946FEF735FE15497C -:10B47000FEF7DAFD2946FEF72FFE6FF08241FEF758 -:10B48000D3FD044629460846FEF726FE2146FEF770 -:10B4900023FE01462846BDE8F041FEF7C5BD000089 -:10B4A00066F1CC3EAAAA2A3FF4FD0538021400003A -:10B4B0000070313FB6130000000080BF21ED423E16 -:10B4C0000A1180BEC1ABAA3E70B50546FFF7EFF981 -:10B4D00004464000801C0DD12846FFF76BF9054655 -:10B4E0002046FFF703F82946FFF776F81CBF012036 -:10B4F000FFF79CFB204670BD2DE9F8430446024649 -:10B5000053486946B0EB420F09D94FF0E640B0EB23 -:10B51000420F94BF00204FF0FF30009034E04D4BBD -:10B5200022F0004083422BD94B492046FEF7D4FD40 -:10B53000FFF740F98046FFF705F800F003000090A0 -:10B5400046494046FEF7C8FD054645494046FEF7D8 -:10B55000C3FD064643494046FEF7BEFD0746424945 -:10B560004046FEF7B9FD2146FEF7B3FD3946FEF72A -:10B57000ADFD3146FEF7AAFD2946FEF7A7FD02E024 -:10B580001046FFF797FA04462546009C002C1DDA6A -:10B590006800B0F17F4F09D22846FFF76DFA042802 -:10B5A00008BFFFF781FA2846BDE8F88308D10120DB -:10B5B000FFF73CFBBDE8F84300210846FEF7C2BD9B -:10B5C0002846BDE8F8430121FEF7FCBD294614F0EA -:10B5D000010F08461ED0FEF77FFD05462349FEF702 -:10B5E0007BFD2349FEF720FD2946FEF775FD214925 -:10B5F000FEF71AFD2946FEF76FFD4FF07E51FEF76C -:10B6000013FD14F0020F08BFBDE8F88380F000407E -:10B61000BDE8F883FEF760FD06461749FEF75CFDBE -:10B620001649FEF756FD3146FEF756FD1449FEF762 -:10B63000FBFC3146FEF750FD2946FEF74DFD29463D -:10B64000FEF7F2FC14F0020FE0D1BDE8F883000031 -:10B65000B61F927E490E494683F9223F1A61342C67 -:10B660000020A23300A0FD390000C93FB93AB2BAA8 -:10B67000CA9F2A3DDDFFFFBE336D4C39DA82083C9C -:10B68000A0AA2ABE70B50546FFF765F8044620F06B -:10B690000040C0F1FF40C00F08D025F00040C0F1CD -:10B6A000FF40C00F04BF0120FFF7C0FA204670BD65 -:10B6B0005BC900089BC90008E1C9000858C9000817 -:10B6C0005FC9000801C90008FCC800084CC900088F -:10B6D000F1C80008DBC9000804C90008ACC90008AB -:10B6E000F0C900081BC900087EC9000828C9000865 -:10B6F000EAC8000877C90008000000008CC90008EB -:10B70000CBC9000866C90008E7C90008A1C900083C -:10B71000D0C9000834C9000843C90008C7C90008D7 -:10B7200012C90008B6C90008FAC90008BCC9000857 -:10B7300090C900080FC90008000000000BC90008EC -:10B7400096C9000824C90008B6C90008C7C900087E -:10B750000000000028D10008F4C80008DBC8000879 -:10B760009ED00008E3C8000884CB00080000000059 -:10B7700003D1000856D0000877030008FED0000867 -:10B7800050CF0008CB030008A3CF000804D0000866 -:10B79000E1060008FDCE0008A7CD000893070008C9 -:10B7A000D1CF000828D1000809090008ADCB000856 -:10B7B0001CCD000829090008F8CE000828D100088F -:10B7C000F5090008F4CE000825CF0008450C000854 -:10B7D0005ECF000821D00008B90C000835CB000866 -:10B7E000CCC800083F0D00081ECC0008F4CF0008AC -:10B7F000E3080008CDCF000834D00008790D000818 -:10B80000C6CF0008BACF0008B90E000851CE000814 -:10B8100028D10008650F00087BCB0008020000005B -:10B820007C04002000000000282300000ECA00084D -:10B830000200000080050020B0040000A406000003 -:10B8400063CB00080200000040050020000000005B -:10B85000D00700006FCB0008020000004205002066 -:10B8600000000000D0070000D6CA00080200000057 -:10B870004405002000000000D0070000BECC0008F6 -:10B88000020000008205002000000000D007000038 -:10B89000C7CC000802000000840500200000000062 -:10B8A000D00700008FD000080200000046050020ED -:10B8B00000000000D00700008FCC0008020000004C -:10B8C0004805002000000000D007000014CA00084E -:10B8D000020000004A05002000000000D007000020 -:10B8E0003DCB0008020000004C05002000000000D5 -:10B8F000D0070000DCCB0008020000004E0500204D -:10B9000032000000F2010000CDCB00080200000070 -:10B910005005002032000000F20100009ACD00081E -:10B92000000000008605002000000000010000006B -:10B93000F9CB00080400000090050020B0040000CE -:10B9400000C2010009CC0008040000008C050020A2 -:10B95000B004000000C2010092CB0008000000000B -:10B960007E05002000000000020000001CCB000843 -:10B9700000000000720500200A000000C80000005E -:10B98000F4CA000800000000730500200A0000004F -:10B9900032000000E1CA0008000000007405002029 -:10B9A0000A0000003200000030CD00080000000056 -:10B9B000750500200000000009000000B8CE000856 -:10B9C00000000000520500200000000008000000F8 -:10B9D00004CA000800000000530500200000000019 -:10B9E0000800000049CC00080000000054050020B9 -:10B9F000000000000800000069CE000801000000FF -:10BA000055050020FFFFFFFF01000000A0CB00084C -:10BA100000000000560500200000000005000000A6 -:10BA200083CA000800000000640500200000000038 -:10BA30008000000040CC00080200000058050020F3 -:10BA4000000000000001000073CF000802000000A9 -:10BA50005A05002064000000E803000084CF0008BD -:10BA6000020000005C05002064000000E803000004 -:10BA700089CB0008000000008805002000000000BD -:10BA80000300000041CF0008000000005008002023 -:10BA90000000000001000000CDCA00080000000006 -:10BAA000B60800200000000020000000CACA0008FC -:10BAB00000000000B7080020000000006400000043 -:10BAC00002CD000800000000B808002001000000BE -:10BAD000FA00000007CB000800000000B9080020B1 -:10BAE00000000000010000008DCE000800000000F2 -:10BAF000BA0800200000000064000000B5CB000878 -:10BB0000000000006F08002000000000FA000000A4 -:10BB1000A7CE000800000000700800200000000010 -:10BB2000640000005ECA00080000000071080020E8 -:10BB30000000000064000000AFCE0008000000001C -:10BB40007208002000000000FA000000BDCB0008D1 -:10BB500000000000730800200000000064000000E6 -:10BB600016CC00080000000074080020000000004F -:10BB70006400000007D1000800000000FC0800205D -:10BB800000000000C800000016D1000800000000FE -:10BB9000FD08002000000000C800000051CB000894 -:10BBA00002000000FE080020E8030000D0070000AB -:10BBB00093CA000802000000000900206400000091 -:10BBC000D007000042CD00080100000087050020DA -:10BBD00000000000040000007FCE0008010000000B -:10BBE00002090020FFFFFFFF01000000C3CE000894 -:10BBF0000100000003090020000000000100000017 -:10BC000026CB00080200000004090020000000000C -:10BC1000D007000045CE0008020000000609002001 -:10BC200000000000D0070000F2D000080200000071 -:10BC30000809002000000000D007000028CE0008FE -:10BC4000020000000A09002000000000D0070000E8 -:10BC500066CA0008020000000C0900200000000075 -:10BC6000D0070000D5D00008020000000E09002017 -:10BC700000000000D007000036CE000802000000DF -:10BC80001009002000000000D007000074CA00085E -:10BC9000020000001209002000000000D007000090 -:10BCA000E3D000080200000014090020000000009A -:10BCB000D0070000D0CC00080100000016090020C9 -:10BCC000FFFFFFFF0100000002CF0008010000009D -:10BCD00017090020FFFFFFFF01000000E2CC000871 -:10BCE0000100000018090020FFFFFFFF0100000015 -:10BCF00014CF00080100000019090020FFFFFFFF1A -:10BD00000100000096CF0008000000001C09002080 -:10BD100000000000FF000000D6CD00080100000078 -:10BD20001A0900209CFFFFFF64000000E8CD000816 -:10BD3000010000001B0900209CFFFFFF64000000C1 -:10BD400007CE0008020000001E0900206400000069 -:10BD5000B80B0000B4D00008020000002009002049 -:10BD600064000000B80B00003DCA0008020000009B -:10BD70002209002064000000B80B000018CE000863 -:10BD8000020000002409002064000000B80B00003D -:10BD9000C5D0000802000000260900206400000051 -:10BDA000B80B00004ECA000802000000280900205D -:10BDB00064000000B80B000064CF00080000000021 -:10BDC0007C08002000000000FA000000ADCA000856 -:10BDD000000000007E080020000000006400000059 -:10BDE000BCCA0008000000007D0800200000000020 -:10BDF00064000000F3CC0008000000008C08002064 -:10BE0000000000000100000078CC000803000000E2 -:10BE10007A080020D4FEFFFF2C01000085CD000829 -:10BE20000300000078080020D4FEFFFF2C01000072 -:10BE300023CC0008000000007F0800200000000064 -:10BE40003000000031CC0008050000008008002010 -:10BE5000000000000100000053CD000805000000B4 -:10BE6000840800200000000001000000DCCF000872 -:10BE7000050000008808002000000000010000000C -:10BE800059CE00080300000076080020B0B9FFFF7B -:10BE900050460000E0CE00080000000055080020D9 -:10BEA00000000000C8000000AACC0008000000004C -:10BEB0005F08002000000000C800000029CA000838 -:10BEC000000000006908002000000000C800000019 -:10BED000D5CE000800000000560800200000000039 -:10BEE000C80000009FCC000800000000600800208F -:10BEF00000000000C80000001ECA0008000000008A -:10BF00006A08002000000000C8000000EACE000817 -:10BF1000000000005708002000000000C8000000DA -:10BF2000B4CC000800000000610800200000000000 -:10BF3000C800000033CA0008000000006B080020A1 -:10BF400000000000C8000000ACCF000802000000A4 -:10BF50002A09002000000000D007000053CC000890 -:10BF6000000000002E090020000000000100000079 -:10BF7000F9CD000802000000300900200A0000008E -:10BF8000D0070000A6D000080200000032090020FF -:10BF90000A000000D0070000EBCB00080000000002 -:10BFA0002D090020000000006400000087CC00087C -:10BFB000000000005208002000000000C80000003F -:10BFC00070CC0008000000005C08002000000000A9 -:10BFD000C800000068CC00080000000066080020CF -:10BFE00000000000C800000093CD00080000000021 -:10BFF0005108002000000000C80000007ECD0008AD -:10C00000000000005B08002000000000C8000000E5 -:10C0100077CD000800000000650800200000000047 -:10C02000C800000089D0000800000000530800206C -:10C0300000000000C800000083D0000800000000DD -:10C040005D08002000000000C80000007DD000084E -:10C05000000000006708002000000000C800000089 -:10C06000EECF00080000000054080020000000008F -:10C07000C8000000E8CF0008000000005E080020B3 -:10C0800000000000C8000000D6CF0008000000003B -:10C090006808002000000000C80000006FCD000804 -:10C0A000000000005808002000000000C800000048 -:10C0B00067CD0008000000006208002000000000BA -:10C0C000C80000005FCD0008000000006C080020E0 -:10C0D00000000000C80000004145525431323334A2 -:10C0E000000000000000803F00000000A8AAAA3F56 -:10C0F000000000000000803F000080BFB0AA2ABFFF -:10C10000000000000000803F0000803FB0AA2ABF6E -:10C11000000000000000803F000000000000803FA1 -:10C12000000080BF0000803F000080BF00000000D2 -:10C130000000803F0000803F0000803F00000000C2 -:10C140000000803F0000803F00000000000080BF32 -:10C15000000080BF0000803F000080BF0000803FE3 -:10C16000000080BF0000803F000080BF000080BF53 -:10C170000000803F0000803F0000803F0000803FC3 -:10C180000000803F0000803F0000803F000080BF33 -:10C19000000080BF0000803F0000803F00000000E2 -:10C1A000000000000000803F000080BF0000000091 -:10C1B000000000000000803F00000000A8AAAA3F85 -:10C1C0000000803F0000803F000080BFB0AA2ABF6F -:10C1D000000080BF0000803F0000803FB0AA2ABF5F -:10C1E000000080BF0000803F00000000A8AAAA3F16 -:10C1F000000080BF0000803F000080BFB0AA2ABFBF -:10C200000000803F0000803F0000803FB0AA2ABFAE -:10C210000000803F0000803F000080BFD0B35D3F42 -:10C220000000803F0000803F000080BFD0B35DBFB2 -:10C23000000080BF0000803F0000803FD0B35D3F22 -:10C240000000803F0000803F0000803FD0B35DBF12 -:10C25000000080BF0000803F00000000D0B35DBF41 -:10C260000000803F0000803F00000000D0B35D3F31 -:10C27000000080BF0000803F000000000000803F01 -:10C28000000080BF0000803F000080BF000080BF32 -:10C29000000000000000803F000000000000803F20 -:10C2A0000000803F0000803F0000803F000080BF12 -:10C2B000000000000000803FD0B35DBF0000803F61 -:10C2C0000000803F0000803FD0B35DBF000080BF12 -:10C2D0000000803F0000803FD0B35D3F0000803F02 -:10C2E000000080BF0000803FD0B35D3F000080BFF2 -:10C2F000000080BF0000803FD0B35DBF00000000A1 -:10C30000000080BF0000803FD0B35D3F0000000010 -:10C310000000803F0000803F000080BF0000803FA1 -:10C32000000080BF0000803F000080BF000080BF91 -:10C330000000803F0000803F0000803F0000803F01 -:10C340000000803F0000803F0000803F000080BF71 -:10C35000000080BF0000803F000080BF0000803FE1 -:10C360000000803F0000803F000080BF000080BFD1 -:10C37000000080BF0000803F0000803F0000803F41 -:10C38000000080BF0000803F0000803F000080BFB1 -:10C390000000803F0000803FF704353FF70435BFC1 -:10C3A0000000803F0000803FF70435BFF70435BF31 -:10C3B0000000803F0000803FF70435BFF704353FA1 -:10C3C0000000803F0000803FF704353FF704353F11 -:10C3D0000000803F0000803F00000000000080BFA0 -:10C3E000000080BF0000803F000080BF0000000010 -:10C3F000000080BF0000803F000000000000803F80 -:10C40000000080BF0000803F0000803F000000006F -:10C41000000080BF0000803F0000803F000000BFA0 -:10C420000000803F0000803F000000BF000080BF90 -:10C430000000803F0000803F000080BF0000003F00 -:10C440000000803F0000803F0000003F0000803F70 -:10C450000000803F0000803F0000003F000080BFE0 -:10C46000000080BF0000803F000080BF000000BFD0 -:10C47000000080BF0000803F000000BF0000803F40 -:10C48000000080BF0000803F0000803F0000003FB0 -:10C49000000080BF0000803F000000000000803FDF -:10C4A0000000803F0000803F000080BF000080BF90 -:10C4B000000000000000803F000000000000803FFE -:10C4C000000080BF0000803F0000803F000080BF70 -:10C4D00000000080000000000000000003010000D8 -:10C4E000E4C000080400000014C1000804000000BB -:10C4F00054C100080201000094C1000800010000BE -:10C500000000000006000000B4C1000806000000A2 -:10C5100014C2000801010000000000000400000037 -:10C5200074C2000806000000B4C200080800000041 -:10C5300014C300080800000094C3000808000000AD -:10C5400014C4000801010000000000000001000008 -:10C5500000000000000100000000000004000000D6 -:10C5600094C400080000000000000000524F4C4C32 -:10C570003B50495443483B5941573B414C543B5035 -:10C580006F733B506F73523B4E6176523B4C455636 -:10C59000454C3B4D41473B56454C3B0080250000F8 -:10C5A000004B00000096000000E1000000C2010006 -:10C5B000E1D1000803D200084DD200086FD2000874 -:10C5C000CDD1000825D2000839D2000892D2000847 -:10C5D000B56206010300F00500FF19B5620601030C -:10C5E00000F00300FD15B56206010300F00100FB39 -:10C5F00011B56206010300F00000FA0FB5620601F2 -:10C600000300F00200FC13B56206010300F0040011 -:10C61000FE17B562060103000102010E47B562066E -:10C620000103000103010F49B56206010300010681 -:10C6300001124FB562060103000112011E67B562C7 -:10C640000616080003070300510800008A41B5627E -:10C6500006080600C80001000100DE6A1048494AC9 -:10C660004B4C4D44454647FF2021222324252627B5 -:10C6700048494A4B4C4DFF1048498A8B8C8D848524 -:10C680008687FF202122232425262748498A8B8C50 -:10C690008DFF000068C600085CC6000883C600085D -:10C6A00077C60008000C014008001002000C014091 -:10C6B0001000100200080140001014027D7E0008E6 -:10C6C000197E00084D7E00089B7D0008337E00081F -:10C6D000000000400008014001000000001C0000B4 -:10C6E000000000400008014002000000041C00009F -:10C6F000000000400008014004000000081C000089 -:10C700000000004000080140080000000C1C000070 -:10C71000000400400008014040000000001D00002F -:10C72000000400400008014080000000041D0000DB -:10C7300000040040000C014001000000081D000042 -:10C7400000040040000C0140020000000C1D00002D -:10C75000002C01400008014000010000001B010006 -:10C76000002C014000080140000800000C1B0100E3 -:10C7700000080040000C014040000000001E0000C6 -:10C7800000080040000C014080000000041E000072 -:10C7900000080040000C014000010000081E0000DD -:10C7A00000080040000C0140000200000C1E0000C8 -:10C7B0000004080C0000803F0030983F0000B53FA7 -:10C7C0000040D73F00000000320A7E397F661E39E4 -:10C7D0005B991F390000803FF037983FF304B53F65 -:10C7E000FD44D73F000000000030F13D0070643E82 -:10C7F0000000A33E0090CF3E0090F83E00400F3F67 -:10C8000000E0203F0000000015B78337CDE37B3800 -:10C810000EE1C53860F69138AF5F0F38E1BC3E38A5 -:10C8200023F44739004040404040404040404141AF -:10C8300041414140404040404040404040404040F5 -:10C84000404040404005020202020202020202028F -:10C85000020202020220202020202020202020028C -:10C86000020202020202909090909090101010101C -:10C8700010101010101010101010101010101010B8 -:10C88000020202020202888888888888080808084C -:10C890000808080808080808080808080808080818 -:10C8A000020202024000000025C80008000000004B -:10C8B0006E83F9A22915444ED15727FCC0DD34F50B -:10C8C000999562DB4190433CAB6351FE696E6465B0 -:10C8D0007820283020746F203229004D5055363092 -:10C8E000353000424D4132383000565441494C34C5 -:10C8F000005934004144584C3334350048455836CB -:10C90000005936004F43544F5838004143430033D9 -:10C9100044004641494C5341464500414952504C20 -:10C92000414E45004D41470048454C495F39305F15 -:10C93000444547004759524F5F534D4F4F54484964 -:10C940004E47004C45445F52494E4700464C5949BA -:10C950004E475F57494E47004249005452490047ED -:10C96000494D42414C00494E464C494748545F416D -:10C9700043435F43414C00435553544F4D0048459A -:10C980004C495F3132305F4343504D0050504D00B1 -:10C99000564152494F004241524F00515541445077 -:10C9A000004D4F544F525F53544F50004F43544F1C -:10C9B000464C41545000534F4E415200504F574542 -:10C9C000524D455445520047505300564241540081 -:10C9D000534552564F5F54494C54004845583658B9 -:10C9E0000051554144580053455249414C5258005A -:10C9F0004F43544F464C4154580054454C454D45C7 -:10CA000054525900616C69676E5F616363006D69C0 -:10CA1000647263006E65757472616C336400677074 -:10CA2000735F706F73725F64006770735F706F73B2 -:10CA30005F64006770735F6E61765F640067696D45 -:10CA400062616C5F70697463685F6D6964006769D7 -:10CA50006D62616C5F726F6C6C5F6D6964007468AD -:10CA6000725F6D69640077696E675F6C6566745F9D -:10CA70006D69640077696E675F72696768745F6D7E -:10CA80006964006D6F726F6E5F7468726573686F52 -:10CA90006C64006661696C736166655F646574658A -:10CAA00063745F7468726573686F6C64006163635C -:10CAB00078795F6465616462616E64006163637A62 -:10CAC0005F6465616462616E640079617764656169 -:10CAD0006462616E64006D696E636F6D6D616E643A -:10CAE00000766261746D696E63656C6C766F6C74F0 -:10CAF00061676500766261746D617863656C6C7600 -:10CB00006F6C7461676500616C745F686F6C645F03 -:10CB1000666173745F6368616E67650076626174F5 -:10CB20007363616C65007472695F7961775F6D69C9 -:10CB300064646C650070726F66696C650064656141 -:10CB40006462616E6433645F7468726F74746C6580 -:10CB5000006661696C736166655F7468726F747496 -:10CB60006C65006D696E7468726F74746C65006DCD -:10CB700061787468726F74746C65006C6F6F707438 -:10CB8000696D65004E6F6E65006770735F747970D4 -:10CB9000650073657269616C72785F7479706500A5 -:10CBA0006163635F68617264776172650066656185 -:10CBB000747572650072635F7261746500726F6C88 -:10CBC0006C5F70697463685F72617465007365722D -:10CBD000766F5F70776D5F72617465006D6F746FF3 -:10CBE000725F70776D5F72617465006E61765F73FE -:10CBF0006C65775F726174650073657269616C5F03 -:10CC00006261756472617465006770735F626175FB -:10CC10006472617465007961777261746500736133 -:10CC20007665006261726F5F7461625F73697A65D5 -:10CC3000006261726F5F6E6F6973655F6C70660032 -:10CC40006779726F5F6C706600616C69676E5F6DAB -:10CC50006167006E61765F636F6E74726F6C735F95 -:10CC600068656164696E6700645F70697463680019 -:10CC7000695F7069746368006163635F7472696D92 -:10CC80005F706974636800705F70697463680064E2 -:10CC900065616462616E6433645F686967680067D8 -:10CCA00070735F706F73725F69006770735F706F2E -:10CCB000735F69006770735F6E61765F69006D69AD -:10CCC0006E636865636B006D6178636865636B00B4 -:10CCD00070697463685F646972656374696F6E5FBD -:10CCE0006C00726F6C6C5F646972656374696F6EFF -:10CCF0005F6C006163635F756E61726D6564636133 -:10CD00006C00616C745F686F6C645F7468726F74E0 -:10CD1000746C655F6E65757472616C006C697374B8 -:10CD2000206F72202D76616C206F722076616C000E -:10CD3000706F7765725F6164635F6368616E6E6573 -:10CD40006C00727373695F6175785F6368616E6EA2 -:10CD5000656C006261726F5F63665F76656C00642C -:10CD60005F6C6576656C00695F6C6576656C0070FC -:10CD70005F6C6576656C00645F726F6C6C00695FF8 -:10CD8000726F6C6C006163635F7472696D5F726F68 -:10CD90006C6C00705F726F6C6C00726574617264B1 -:10CDA00065645F61726D007072696E7420636F6E8E -:10CDB000666967757261626C652073657474696E0B -:10CDC000677320696E2061207061737461626C65A5 -:10CDD00020666F726D0067696D62616C5F70697467 -:10CDE00063685F6761696E0067696D62616C5F723D -:10CDF0006F6C6C5F6761696E006E61765F73706502 -:10CE000065645F6D696E0067696D62616C5F706912 -:10CE10007463685F6D696E0067696D62616C5F72F3 -:10CE20006F6C6C5F6D696E0077696E675F6C6566CD -:10CE3000745F6D696E0077696E675F7269676874A9 -:10CE40005F6D696E007472695F7961775F6D696E9D -:10CE50000076657273696F6E006D61675F6465630C -:10CE60006C696E6174696F6E007961775F636F6E74 -:10CE700074726F6C5F646972656374696F6E007958 -:10CE800061775F646972656374696F6E007468725C -:10CE90006F74746C655F616E676C655F636F7272EF -:10CEA000656374696F6E0072635F6578706F00749C -:10CEB00068725F6578706F00616C69676E5F677933 -:10CEC000726F007472695F756E61726D65645F7315 -:10CED0006572766F006770735F706F73725F70005A -:10CEE0006770735F706F735F70006770735F6E6100 -:10CEF000765F70006D61700068656C700064756DC0 -:10CF0000700070697463685F646972656374696FE7 -:10CF10006E5F7200726F6C6C5F64697265637469D6 -:10CF20006F6E5F72006D617070696E67206F662052 -:10CF30007263206368616E6E656C206F72646572E7 -:10CF4000007069645F636F6E74726F6C6C65720001 -:10CF500064657369676E20637573746F6D206D69A6 -:10CF6000786572006163635F6C70665F66616374AD -:10CF70006F72006779726F5F636D70665F66616381 -:10CF8000746F72006779726F5F636D70666D5F6654 -:10CF90006163746F720067696D62616C5F666C617A -:10CFA00067730064656661756C7473006770735FA6 -:10CFB00077705F7261646975730073686F7720734F -:10CFC000797374656D20737461747573007365741F -:10CFD000006578697400645F616C74006261726FEF -:10CFE0005F63665F616C7400695F616C7400705FA1 -:10CFF000616C74007361766520616E642072656295 -:10D000006F6F7400726573657420746F2064656659 -:10D0100061756C747320616E64207265626F6F74E9 -:10D02000006D69786572206E616D65206F72206C8D -:10D03000697374006E616D653D76616C7565206F16 -:10D040007220626C616E6B206F72202A20666F7294 -:10D05000206C69737400666561747572655F6E61DA -:10D060006D6520617578666C6167206F7220626CF7 -:10D07000616E6B20666F72206C69737400645F79F7 -:10D08000617700695F79617700705F79617700642B -:10D0900065616462616E6433645F6C6F77004D4DEF -:10D0A0004138343578006E61765F73706565645F12 -:10D0B0006D61780067696D62616C5F706974636847 -:10D0C0005F6D61780067696D62616C5F726F6C6C37 -:10D0D0005F6D61780077696E675F6C6566745F6D20 -:10D0E00061780077696E675F72696768745F6D6108 -:10D0F00078007472695F7961775F6D617800636D44 -:10D10000697800617578006661696C736166655F56 -:10D1100064656C6179006661696C736166655F6FF7 -:10D1200066665F64656C61790043414D53544142CA -:10D130003B0043414C49423B0047505320484F4C31 -:10D14000443B0048454144465245453B00414E471B -:10D150004C453B0047505320484F4D453B004D4107 -:10D16000473B0043414D545249473B0048454144E9 -:10D1700041444A3B0041524D3B00484F52495A4FAF -:10D180004E3B00564152494F3B004241524F3B00FB -:10D190004245455045523B00474F5645524E4F522F -:10D1A0003B004C4C49474854533B00504153535467 -:10D1B0004852553B004C45444C4F573B004F53445D -:10D1C0002053573B004C45444D41583B0024504DA3 -:10D1D000544B3235312C31393230302A32320D0A4B -:10D1E0000024505542582C34312C312C30303033FF -:10D1F0002C303030312C31393230302C302A32332F -:10D200000D0A0024505542582C34312C312C30302A -:10D2100030332C303030312C33383430302C302A0D -:10D2200032360D0A0024504D544B3235312C3338F0 -:10D230003430302A32370D0A0024504D544B3235E9 -:10D24000312C35373630302A32430D0A0024505500 -:10D2500042582C34312C312C303030332C3030309B -:10D26000312C35373630302C302A32440D0A002428 -:10D27000505542582C34312C312C303030332C3036 -:10D280003030312C3131353230302C302A31450DAF -:10D290000A0024504D544B3235312C313135323067 -:10D2A000302A31460D0A0000C8D2000800000020D4 -:10D2B00040040000FAA90008B8D300084004002088 -:10D2C000D02000001CAC00080192031A7A44CBDC89 -:10D2D0000502A1023701139130025808CBDE050286 -:10D2E000510219030936C3914B75D1CC29491A4D06 -:10D2F0000C290832021A7A0C2908297B1A8A0C296F -:10D300000832041A830C290829991A5E0C2908325C -:10D31000061A430C290832071A6C0C290829591AD5 -:10D32000290C290832091A630C2908320A1A540CEC -:10D330002908320B1A390C2908320C1AAB0C2908AF -:10D34000320D1A900C2908320E1AC50C2908320F1A -:10D350001AB50C290832101AA20C290832111A32F7 -:10D360000C290832121A980C290832131ABD0C29FC -:10D3700008721402B4FFE20152038B803F040116CD -:10D380005A03384AD931E91D12010A1C0274C20835 -:10D39000342C014012401A040412083A405B14A2D3 -:10D3A0004A048B127A33380B020304060708090279 -:08D3B00004063B2910691481F9 +:1005300000000000000080BF0000204120BCBE4C35 +:100540002E0000006F12033A00007A44EC070020EE +:100550006175782025752025750D0A00496E766134 +:100560006C6964204665617475726520696E6465A6 +:10057000783A206D757374206265203C2025750DD6 +:100580000A000000700400207265736574000000AA +:100590006C6F61640000000057726F6E67206E75AB +:1005A0006D626572206F6620617267756D656E742D +:1005B000732C206E6565647320696478207468729A +:1005C00020726F6C6C207069746368207961770D9C +:1005D0000A000000437573746F6D206D6978657251 +:1005E0003A200D0A4D6F746F720954687209526F88 +:1005F0006C6C095069746368095961770D0A0000D1 +:100600002325643A090000002573090025730D0AAB +:100610000000000053616E69747920636865636B44 +:100620003A0900000AD7233C4E470900FEA000F01B +:100630004CFF641C032CFFF65FAFAFF24000FDE6F9 +:100640000020414604EB0012401C11610C28F9DB2C +:10065000F6E6202138460AF016FA0028F8D0401CA9 +:1006600006460AF01AFAF14DC7B2002455F82410D4 +:1006700031B13A4630460AF039FA18B1641CF5E750 +:10068000EBA0DBE6204602F006F955F82410EEA0B8 +:100690000AF07EFEAFF26810FFF775FED0E60C217F +:1006A000EEA00AF075FECBE610B5F6A000F00DFF47 +:1006B000012001F0B2F9FAA000F007FF0A2007F0CC +:1006C0002BFDBDE81040002007F0F1BD7CB50446CD +:1006D0000D4600790021062814D2DFE800F0030659 +:1006E0000A0D111EA06801780CE0A06890F90010B6 +:1006F00008E0A068018805E0A068B0F9001001E0FA +:10070000A0680168EAA00AF043FE002D04D0D4E9F5 +:100710000312E8A00AF03CFE7CBDA06869460068B0 +:10072000FFF79CFD0146E5A00AF032FE002DF3D054 +:10073000E0680AF0DBFA6946FFF790FD0146E0A0A9 +:100740000AF026FE20690AF0D1FA6946FFF786FD15 +:100750000146DBA00AF01CFE7CBD2DE9FF47D9A0B5 +:100760000AF016FED1A0FFF7E4FDE24DAF4968792B +:1007700001EB800050F8041CDFA00AF009FE286994 +:1007800010F0FF4F4CD0DFF87CA3002405EB0410E1 +:10079000066916F0FF4F3FD0D0E90598C769611C84 +:1007A000D9A00AF0F5FD564502D3D9A00AF0F0FD14 +:1007B00069463046FFF752FD0146C0A00AF0E8FD49 +:1007C0005646B14502D3D2A00AF0E2FD694648463A +:1007D000FFF744FD0146B9A00AF0DAFDB04502D3A7 +:1007E000CBA00AF0D5FD69464046FFF737FD01462C +:1007F000B2A00AF0CDFDB74202D3C5A00AF0C8FDF1 +:1008000069463846FFF72AFD0146AFF200200AF09C +:10081000BFFD641C0C2CB9DB611CBEA00AF0B8FD46 +:1008200001F02CF9814E002407465C3656F824105E +:1008300021B1BDA00AF0ACFD641CF7E700244FF025 +:10084000010800BF56F8241041B108FA04F03842FC +:1008500002D0B9A00AF09CFD641CF3E7BA4A00205C +:1008600069462C18135C94F80A41401C08280B5563 +:10087000F7DB00220A54B5A00AF08AFDB64D002429 +:1008800004EB840005EB800655F82010B3A00AF0B5 +:100890007FFD00213046FFF719FF6FA000F015FE25 +:1008A000641C622CECD3BDE8FF8710B5AEA000F04D +:1008B0000CFE0121002000F0FAFEAEA000F005FEC3 +:1008C0000A2007F029FCBDE81040002007F0EFBC2B +:1008D00010B50446ABA000F0F8FDB048002101704F +:1008E000AF480160AF48017001F052FF2046BDE8FB +:1008F0001040DAE72DE9F04706460AF0CEF8054643 +:1009000001F0BCF8DFF8248107464FF0010908F137 +:100910005C0855B12A46A4A130460AF0E7F8C8B1F0 +:10092000307800272D2824D026E0A1A000F0CDFDAE +:1009300000244D464FEA080656F8241041B105FA46 +:1009400004F0384202D09FA00AF022FD641CF3E7B5 +:1009500041A01EE09CA000F0B8FD00244FEA08056D +:1009600055F824100029F3D096A00AF011FD641C5C +:10097000F6E70127761C6D1E5FF0000458F824107E +:1009800031B12A4630460AF0B1F830B1641CF5E7BF +:1009900093A0BDE8F04700F098BD09FA04F01FB13C +:1009A00001F067F895A002E000F0E2FE96A000F0EA +:1009B0008CFD58F82410BDE8F04761A00AF0E8BCAF +:1009C00010B505F074FC401C04D092A0BDE81040A6 +:1009D00000F07BBD97A0F9E770B500249FA000F060 +:1009E00074FD5D4DB5F1C00504EB440005EB8001DD +:1009F0004A6855F820109FA00AF0CAFC641C102C0D +:100A0000F2D370BD3EB505460AF047F8082809D173 +:100A10000024285D09F0C0FF2855641C082CF8D379 +:100A200000242BE140E100004F4B090000C3000807 +:100A3000496E76616C6964206D697865722074799D +:100A400070652E2E2E0D0A004C6F616465642025A2 +:100A500073206D69782E2E2E0D0A00004D6F746F75 +:100A600072206E756D626572206D7573742062659B +:100A7000206265747765656E203120616E64202583 +:100A8000640D0A00526573657474696E6720746F33 +:100A90002064656661756C74732E2E2E0D0A00003D +:100AA0005265626F6F74696E672E2E2E0000000013 +:100AB00025640000202564202564000025730000C3 +:100AC0002025730043757272656E7420436F6E66E5 +:100AD00069673A20436F707920657665727974682A +:100AE000696E672062656C6F7720686572652E2E6F +:100AF0002E0D0A00700400206D6978657220257340 +:100B00000D0A000000008080636D69782025640074 +:100B100020000000636D697820256420302030209B +:100B20003020300D0A000000666561747572652022 +:100B30002D25730D0A0000006665617475726520CD +:100B400025730D0A0000000044CC00086D61702080 +:100B500025730D0A000000009CC400087365742012 +:100B60002573203D20000000536176696E672E2EAC +:100B70002E0000000D0A5265626F6F74696E672E59 +:100B80002E2E00000D0A4C656176696E6720434C7D +:100B900049206D6F64652E2E2E0D0A004004002042 +:100BA00000000020B50100206C6973740000000093 +:100BB000456E61626C65642066656174757265730B +:100BC0003A20000025732000417661696C61626CF7 +:100BD000652066656174757265733A2000000000D7 +:100BE000496E76616C696420666561747572652012 +:100BF0006E616D652E2E2E0D0A0000004469736132 +:100C0000626C656420000000456E61626C65642062 +:100C100000000000456E61626C696E6720475053AA +:100C200020706173737468726F7567682E2E2E0D55 +:100C30000A0000004572726F723A20456E61626C64 +:100C40006520616E6420706C756720696E20475066 +:100C5000532066697273740D0A0000004176616961 +:100C60006C61626C6520636F6D6D616E64733A0DCB +:100C70000A00000025730925730D0A00295DFB4851 +:100C800009F001FF28B12819295D401C09F0FBFE7D +:100C900018B1F7A000F019FC3EBD641C082CFFF44D +:100CA000C0AE284600F04EFCF9A000F00EFCEF4B61 +:100CB000FD4A0020694615181C5C95F80A51401C35 +:100CC00008284C55F7D300220A54AFF28C100AF0D2 +:100CD0005FFB3EBD2DE9F041804609F0DEFEF24F9C +:100CE000F24D060012D00246AFF24411404609F020 +:100CF000FDFE90B15FF0000455F82410F1B13246CA +:100D0000404609F0F3FEF8B1641CF5E7787905EB8D +:100D1000800050F8041CE6A01BE0EAA000F0D5FB20 +:100D20005FF0000455F8241029B1AFF268100AF002 +:100D30002FFB641CF6E7AFF2E02001E0AFF21030C9 +:100D4000BDE8F04100F0C1BB601C787155F824107B +:100D5000E1A0BDE8F0410AF01BBB2DE9F041002500 +:100D600007462C462E4609F098FE18B1AFF26021D6 +:100D7000384610E0DDA02BE016B1012E07D103E0CC +:100D800009F0CDFE054602E009F0C9FE0446761CD6 +:100D9000AFF28421002009F087FE0028ECD10C2D51 +:100DA00005D3BDE8F0410C21DFA00AF0F1BAE84F0D +:100DB000022E07DA37F915202946BDE8F041E5A0F3 +:100DC0000AF0E6BAA4F57A70B0F57A7F04D9E7A004 +:100DD000BDE8F0410AF0DCBA22462946ECA00AF050 +:100DE000D7FA27F81540BDE8F08170B5054609F03F +:100DF00054FEAD4C10F0FF0F0CD0284609F08FFECA +:100E000002280ED884F878030021084600F04FFC31 +:100E1000A4A0EBE794F87813BDE87040E3A00AF0D3 +:100E2000B7BA70BD2DE9F047824609F036FEE54DB0 +:100E3000060029D0012E03D19AF800002A2823D0D9 +:100E4000E1A1504609F001FE00286FD0401C044685 +:100E500009F065FE81462046FFF778F980460026B6 +:100E600006EB860705EB870455F8270009F015FE09 +:100E7000024655F82710504609F038FEF8B1761CA6 +:100E8000622EEDD3D1A04DE0D8A000F01EFB0024CF +:100E900004EB840005EB800755F82010AFF24030DA +:100EA0000AF076FA31463846FFF710FCAFF25840A8 +:100EB00000F00BFB641C622CEAD3BDE8F08706EB64 +:100EC000860605EB8607F86809F010FF414609F031 +:100ED00049FF26D8386909F009FF414609F04CFF5F +:100EE0001FD83979052907D0484606290ED2DFE8F0 +:100EF00001F0050508080B0B4046F6E7A1680870ED +:100F000004E0A168088001E0A168086055F8261097 +:100F1000BCA00AF03DFA2046BDE8F0470021FFF7EB +:100F2000D5BBBBA0BDE8F04700F0CFBA5FF000042E +:100F300004EB8406514655F8260009F086FD78B189 +:100F400055F8261005EB8607AFF2EC300AF020FAD0 +:100F500000213846FFF7BAFBAFF204500AF018FA46 +:100F6000641C622CE4D3A8E72DE9F04107F0C5F832 +:100F70004FF47A71B0FBF1F1AF480378AF480278D3 +:100F8000AFA00AF005FA00F069FD0646BC48BD496D +:100F90000068B0FBF1F1BCA00AF0FAF9434F00245D +:100FA0000125A03757F8241051B105FA04F030425A +:100FB00003D0AFF2F0300AF0EBF9641CE4B2F1E7D1 +:100FC000022000F039FDA0B1B74C38482178C0307C +:100FD00050F82110B5A00AF0DBF92078022808D1DA +:100FE000B548007C08B16F2100E06E21B3A00AF083 +:100FF000CFF9AFF29C5000F068FA06F092FD02467D +:10100000AF484FF45F730188BDE8F041ADA00AF02E +:10101000BFB9B9A000F059BA2DE9FF5FDFF8089316 +:1010200099F8000038B9012189F80010BFA000F03C +:101030004CFA00F056FADFF82CB3DFF87CA25446E5 +:10104000DAF8000008F052FC00280CD0206808F004 +:1010500050FC092808D03F2806D0DBF800105C4679 +:10106000002902D0D0E12EE27EE1CBE144CC0008A1 +:101070004D75737420626520616E79206F726465AE +:1010800072206F662041455452313233340D0A00CC +:1010900043757272656E742061737369676E6D65F6 +:1010A0006E743A20000000007004002000C30008A5 +:1010B00043757272656E74206D697865723A202589 +:1010C000730D0A00417661696C61626C65206D691F +:1010D000786572733A2000004D69786572207365F7 +:1010E0007420746F2025730D0A000000557361672A +:1010F000653A0D0A6D6F746F7220696E64657820B1 +:101100005B76616C75655D202D2073686F77205B61 +:101110006F72207365745D206D6F746F72207661DD +:101120006C75650D0A0000004E6F207375636820B2 +:101130006D6F746F722C207573652061206E756DF4 +:10114000626572205B302C2025645D0D0A00000072 +:101150000C0900204D6F746F722025642069732084 +:101160007365742061742025640D0A00496E7661F0 +:101170006C6964206D6F746F722076616C75652C7C +:1011800020313030302E2E323030300D0A00000049 +:1011900053657474696E67206D6F746F7220256477 +:1011A00020746F2025640D0A0000000043757272E0 +:1011B000656E742070726F66696C653A2025640DE7 +:1011C0000A0000009CC400083D0000004552523A4D +:1011D00020556E6B6E6F776E207661726961626CFE +:1011E00065206E616D650D0A000000004375727226 +:1011F000656E742073657474696E67733A200D0AA6 +:101200000000000025732073657420746F200000B7 +:101210004552523A2056616C756520617373696757 +:101220006E6D656E74206F7574206F662072616ECE +:1012300067650D0A0000000068010020D200002050 +:1012400053797374656D20557074696D653A202506 +:1012500064207365636F6E64732C20566F6C7461C9 +:1012600067653A202564202A20302E315620282513 +:1012700064532062617474657279290D0A0000005C +:101280000804002040420F004350552025644D487B +:101290007A2C2064657465637465642073656E736D +:1012A0006F72733A200000007C01002041434348E4 +:1012B000573A202573000000E00800202E25630027 +:1012C000D40000204379636C652054696D653A2031 +:1012D00025642C20493243204572726F72733A2084 +:1012E00025642C20636F6E6669672073697A653A9E +:1012F0002025640D0A0000004166726F33322043DE +:101300004C492076657273696F6E20322E32204E02 +:101310006F762032362032303133202F2031313A6F +:1013200035333A3530000000B50100200D0A456E16 +:10133000746572696E6720434C49204D6F64652C5B +:1013400020747970652027657869742720746F2070 +:1013500072657475726E2C206F72202768656C70D0 +:10136000270D0A0000000020614F0024254607F1E8 +:10137000C008DBF800600BE0DBF8002022B15D481C +:10138000396809F0B3FB10B904B93C463D460C3747 +:101390004745F1D394B1574F5946226808682B68E6 +:1013A000125C1B5C9A4209D192B92E2810D22022DD +:1013B0003A54401C0021CBF800003954DBF80000FF +:1013C0005F4608B1AC4213D04BA000F07EF80AE0B3 +:1013D0003A54401C0860E0E7206800F076F80920E5 +:1013E00000F081F80C34AC42F6D900F07AF800260F +:1013F000404C38688642BFF422AEA05D00F073F81E +:10140000761CF6E7042812D00C2816D019B10A2849 +:1014100017D00D2815D07F283FD03029EBD22028B7 +:10142000FFF40DAE7E283FF60AAEA9B343E004B048 +:101430003048BDE8F05FFFF74BBA31A000F045F847 +:1014400027E0AFF6EC1000F040F82A4E20680025A7 +:101450000C2335542D48CDE900061022244902956D +:1014600001A809F09FFA070007D0386809F015FBBA +:101470003044B968401C884702E025A000F025F8F8 +:1014800030211C4809F0CAFA256099F800000028AC +:1014900019D000F026F8D2E50BE00029FBD0154A60 +:1014A000491E0020CBF80010505422A000F00DF887 +:1014B000C5E52028EFD00F4A5054491CCBF8001046 +:1014C00000F011F8BBE5BDE8FF9F70B504461A4D6A +:1014D00003E0641C286807F0B9F821780029F8D1E6 +:1014E00070BD16A0F1E701461348006807F0AEB8DA +:1014F000DCC30008400400200D1B5B4B0000000013 +:101500001B5B324A1B5B313B31480000190300086A +:101510004552523A20556E6B6E6F776E20636F6D39 +:101520006D616E642C20747279202768656C702759 +:101530000000000008200800E00800200D0A232019 +:10154000000000002DE9F04105460446FD4EFE4F27 +:1015500009E0FC4809F097FA20B1611B801B384470 +:1015600080F80A11641C21780029F2D1BDE8F081CD +:10157000F64800210278372A12D14288B2F55F7FFF +:101580000ED10279BE2A0BD190F87923EF2A07D128 +:1015900000F55F7210F8013B59409042FAD309B14F +:1015A00000207047012070472DE9F05FFFF7E0FF52 +:1015B00010B90A2006F05AFE4FF45F72E349E24880 +:1015C00009F013FAE04C94F87803022802D90020BD +:1015D00084F87803C0B200EB001101EB401004EB7B +:1015E000800101F59671C422D94809F0FEF9D84A64 +:1015F000D84F002092F8201092F81F5040F6C416E1 +:1016000000FB00F3193B4B4303F6C41343436B4306 +:1016100093FBF6F327F81030401CC0B20728EFD335 +:1016200092F8211092F822509146B4F8D220B4F8E2 +:10163000D080DFF824A300204FF00A0E4FF47A7B0D +:10164000C5F1640701EB8106A2EB080400EB800200 +:10165000C1EB42030122002B03DDC1F16402D2B2CF +:1016600001E000DA0A4603FB03FC05FB0CFC02FB6D +:1016700002F29CFBF2F23A4402FB03F292FBFEF20E +:1016800002EB460212B204FB02F292FBFBF242446E +:101690002AF8102000F10100C0B20C28D6D399F826 +:1016A000000002F079F8BDE8F05F04F09FBC2DE97E +:1016B000F047A54D8146372028704FF45F7400270E +:1016C0006C80BE202871EF2085F879033E4685F8AE +:1016D0007A7369B195F87803C42200EB001101EB2D +:1016E000401005EB800000F59670994909F07DF9EE +:1016F0009548974903E000BF10F8012B57408842F6 +:10170000FAD385F87A73914F4FEA040809F02EF85E +:10171000342009F099F8384609F056F804280FD11A +:101720000024E019295909F06BF8042805D009F0C4 +:1017300023F8761C032EE9DB02E0241D4445F0D398 +:1017400009F01AF8032E02D0FFF712FF10B90A2091 +:1017500006F08CFDFFF728FFB9F1000F06D0BDE8B9 +:10176000F047012214210F2001F00EBCBDE8F087E4 +:1017700075498A6802438A6070472DE9FC5F77A14A +:10178000D1E90001CDE900014FF45F716E4809F025 +:1017900045F9C4216E4809F041F96B4B372000250B +:1017A00018700320587102209D60FFF7E1FF83F855 +:1017B00078534FF41670A3F8F000FA20A3F8F20063 +:1017C000D0332A20D8835D859D85DD859D74DD74A9 +:1017D0001D75DD821D835D831C334FF001095D7033 +:1017E00083F80090202018735E4898606E209876E9 +:1017F0002B20D876212018775D7783F82650283360 +:1018000040F2DC505D75188040F24C405880443BFB +:1018100040F26C70A3F8480083F84A5040F27E40D2 +:10182000188040F23A7058804FF47A70988040F2F5 +:101830007E50D88040F2EA50188140F2B45058816E +:101840003220C1009881D981188283F84D5083F8E5 +:101850004E504FF4E13119654FF49641596583F8C4 +:10186000585040F6AC513A4C23F8C41C83F84C5005 +:101870002826257066701E27E77217216175A670ED +:101880002773A1755521E1702D226273E5752671CC +:101890001921A1733C2121760B216171E5736576D5 +:1018A0004FF0140B84F806B008232374A2760E229E +:1018B000E27184F811B05021E1765A2121724FF083 +:1018C0000A0884F812804FF0640A84F81CA066723B +:1018D000A5722575A577E177412184F8201084F859 +:1018E000235084F8245084F8255084F8210084F88B +:1018F000225025856585E584042084F82C0084F831 +:101900002D6084F82E60152084F82F00164820637F +:10191000164860631648A063012084F83C0015A0B7 +:10192000FFF710FE84F8665084F8675084F868600A +:10193000012084F8690084F86A5004F8AC8FC82349 +:1019400063701DE044CC00087004002000F801081A +:10195000EC070020C00A0020CE0A00201E1E64648E +:1019600064646464031414009A99193F52B87E3F6A +:101970003333733F41455452313233340000000059 +:101980004FF49660608040F2D930A0803D4800213D +:10199000EE4640F2DC544FF47F754FF4FA6C00BF12 +:1019A00000EBC10222F86C5FA2F802C094801EF81E +:1019B0000180491C82F806800829F1DB00F8B29FFB +:1019C0004FF4967180F8019080F80290838080F83F +:1019D00006B0C77180F80890A0F80AA08181C6817E +:1019E0000020294D014600BF05EB0012401C11618B +:1019F0000C28F9DB5FF0000404EB041000EB44104A +:101A000005EB800000F59670C4221E4908F0EDFF3A +:101A1000641C032CF0DBBDE8FC9F10B50446FFF707 +:101A2000A7FD641E204206D1FFF7A7FE0021BDE8F6 +:101A3000104008463BE610BD14490968014201D038 +:101A4000012070470020704710490A6802430A606D +:101A500070470E490A6882430A6070470B48006865 +:101A6000704709498968014201D001207047002070 +:101A7000704705498A6882438A60704702488068D7 +:101A800070470000EC0700207004002004000020D4 +:101A900070B5FE4809F072FF0446FD48008809F061 +:101AA0002EF90546214609F09FF809F02DF9F94C69 +:101AB00029462080F84809F0CDF8F84909F0CAF81D +:101AC000E0650820FFF7B8FF002803D0BDE87040AC +:101AD00002F0F0BD70BD002801DD024600E0424288 +:101AE0008A4201DA00207047002802DDA0EB0100E5 +:101AF0007047FDDA084470472DE9F04F91B0D0E906 +:101B00000045814686688846086809F037FF0490DA +:101B1000D8F800000AF018FB0590D8F8040009F086 +:101B20002DFF0190D8F804000AF00EFB0746D8F804 +:101B3000080009F023FF8246D8F808000AF004FBE9 +:101B400083465046049909F04FF807905046019992 +:101B500009F04AF880465846049909F045F806907D +:101B60005146059809F040F808905946059809F043 +:101B70003BF803900198594680F0004009F034F892 +:101B800082463946089809F02FF8069908F0D4FFE4 +:101B900010903946039809F027F8079909F021F8C1 +:101BA0000E900598019980F0004009F01DF805900D +:101BB0003946079809F018F8039909F012F80290CD +:101BC0003946069809F010F8089908F0B5FF8346E1 +:101BD0000499019809F008F804903046029909F038 +:101BE00003F801902846109908F0FEFF0090414646 +:101BF000204608F0F9FF009908F09EFF019908F0CF +:101C00009BFFC9F800005946304608F0EDFF8346B7 +:101C100028460E9908F0E8FF80465146204608F015 +:101C2000E3FF414608F088FF594608F085FFC9F8F0 +:101C300004003046049908F0D7FF06462846059967 +:101C400008F0D2FF05463946204608F0CDFF294668 +:101C500008F072FF314608F06FFFC9F8080011B0B4 +:101C6000BDE8F08F2DE9F04380468A4887B0843084 +:101C7000016881F000410391406880F000400490C9 +:101C80008748B0F9000009F031F8864908F0ACFF48 +:101C9000804C05907834B4F9000009F027F80090E2 +:101CA000B4F9020009F022F80190B4F9040009F037 +:101CB0001DF8029003A96846FFF71EFF7A4D783C95 +:101CC00095F83C00012804D07148008809F017F805 +:101CD00017E0764840780028206B0CD1C11700EB44 +:101CE0009161A0EBA11009F001F8029908F024FF1E +:101CF00009F00AF82063C11700EB9160801108F029 +:101D0000F5FF029908F06DFF0290616B894608F0BB +:101D100065FF0746404608F0F2FF0646644908F0B2 +:101D20000BFF0146304608F095FF394608F05CFF8E +:101D3000494608F001FF606309F0E0FE15F82D1F29 +:101D4000FFF7C9FE08F0D2FF0290009809F0D6FE16 +:101D50006978FFF7C0FE08F0C9FF0090019809F00C +:101D6000CDFE6978FFF7B7FE08F0C0FF0190E1688B +:101D700001EB0800E0602069401C2061009809F038 +:101D8000BDFE4C4C216808442060019809F0B6FE65 +:101D9000616808446060029809F0B0FEA1680844D8 +:101DA000A06007B0BDE8F0832DE9F05F394D04462F +:101DB0008435286809F0E2FD834628680AF0C4F9F2 +:101DC0008246686809F0DAFD814668680AF0BCF965 +:101DD0000546D4F808802946404608F005FF5946D4 +:101DE00008F002FF676806465146384608F0FCFED8 +:101DF000294608F0F9FE05464946206808F0F4FE39 +:101E0000294608F099FE314608F096FE04465146F0 +:101E1000404608F0E9FE05465946384608F0E4FE1B +:101E2000294608F0DBFE214609F07EFC224908F035 +:101E3000DBFE224908F00EFF1649896A08F07CFE95 +:101E40001F4908F007FF09F059FE00B2002802DA26 +:101E500000F5B47000B2BDE8F09F2DE9F04F8DB0F1 +:101E6000002606F030F9DFF82CB005465C46DBF8BA +:101E70003800281A099008F042FF1249C96808F092 +:101E8000B3FE0490A56300241EE00000F366DF3E6D +:101E900082010020080000200AE81C4100401C4686 +:101EA000B001002035FA8EBCEC0700208C0A00201F +:101EB0003661023CC80800200000E144DB0F4940C5 +:101EC000000020416C0C00200BF1720A0AF106059B +:101ED0004FF07E58FE4890F82C70FE4830F9140000 +:101EE00008F004FF049908F07FFE06A941F82400D9 +:101EF00017B3384608F003FF0146404608F0AAFE33 +:101F000081460B903AF9140008F0F0FE494608F0BB +:101F10006BFE814641460B9808F063FEEE4951F88E +:101F2000241008F061FE494608F006FEEA4941F82F +:101F3000240008F0E9FE01E03AF8140025F8140046 +:101F400035F91400641C00FB0066032CC5D3DFF8D0 +:101F50008CA364204643BAF8000006A9404396FBD0 +:101F6000F0F4DD481830FFF7C7FD0820FFF764FDE7 +:101F700006A910B1D8480C3801E0D6482030FFF748 +:101F8000BBFDA0B24938DFF858933C2827D2002483 +:101F9000B9F8F00008F0B3FE45464146059008F058 +:101FA000CBFD0146284608F055FECB4E05461836B7 +:101FB000C8480C3030F9140008F098FE074656F86F +:101FC0002410059808F010FE394608F0B5FD2946A2 +:101FD00008F00AFE46F82400641C032CE8D308200D +:101FE000FFF72AFD48B34546BB4EDFF8E8820024E0 +:101FF0000C3E08F11208B9F8F20008F080FE8146A4 +:10200000294608F099FD0146284608F023FE0546BA +:1020100038F9140008F06AFE0746484656F82410BE +:1020200008F0E2FD394608F087FD294608F0DCFD9E +:1020300046F82400641C032CEAD35E46BBF900007A +:1020400008F054FEA44C1834A16808F08BFE01D2AD +:10205000012100E00021A3484173D4E9010109F006 +:1020600063FB9C4D18352860A068014608F0BCFD54 +:1020700007466068014608F0B7FD394608F05CFD88 +:102080000AF028F90146206880F0004009F04CFB76 +:10209000DFF8548268604146286808F0A5FD09F021 +:1020A0002DFDA5F1580741463880686808F09CFD71 +:1020B00009F024FD78800820FFF7BEFC8B4D10B19D +:1020C00085480C3801E083482030FFF76DFE2880FA +:1020D0000998FFF7C7FD7E4D95F86A0000281BD0D0 +:1020E000BAF8000008F00BFE814908F07DFD0146BA +:1020F000A06808F0AFFD08F007FEC0F1640064229C +:10210000002104F0FFFC95F86A104843C11700EB6A +:10211000517040F3CF0070800DB0A1E52DE9F04182 +:1021200002F0BFFA0220FFF787FC20B102F0BCF9F1 +:10213000FFF793FE05E067480021801D0180418084 +:1021400081804020FFF78DFC624B654CA3F10C01B0 +:1021500018B3A1F15A02107830B9D4F8F400040C85 +:102160001470040A547090705A4C0020B4F10604A4 +:10217000155C33F9106034F91070A5F1010C07FB00 +:102180000C66761C96FBF5F521F8105024F81050DB +:10219000401C0328ECD3BDE8F0816079012809D008 +:1021A0005FF0000033F8102021F81020401C0328B5 +:1021B000F8D3F0E7474AB3F904006C3AB2F90440A7 +:1021C00000EB4400032490FBF4F088809080188892 +:1021D000088058884880DEE73F4900200C310860BD +:1021E000486088603B496C390861C86070472DE9D8 +:1021F000F84F05F068FF374C46F2A8126C3CE16BD3 +:10220000A0EB0108904502D20020BDE8F88F394FBD +:10221000E0632F4D3888DFF8E090DFF8E0A0DFF8CA +:10222000E0B04FF07E5640B3206D6269C11700EBFD +:102230005171A0EBE10095F82F10491EB2FBF1F1AE +:102240000844C117206500EB5170C01008F04EFD26 +:10225000494608F0FFFC514609F068FC314608F099 +:10226000C0FC594608F0C0FC08F04EFDE0640020B8 +:10227000206460643888401E388095F82F006169BA +:10228000401EB1FBF0F008F03AFD494608F0E2FCD0 +:10229000514609F04BFC4FF07E5108F0A2FC594624 +:1022A00008F0A2FC09F02AFCE16C2F6B461A3946B3 +:1022B0004FF07E5008F092FC8146304608F016FD43 +:1022C000494608F091FC0646A06908F00FFD19E0A8 +:1022D000EC07002074000020BC08002082010020D0 +:1022E000700400208C0A00204C3D0F44B0010020F7 +:1022F0000000C842AE01002080E6C547B1DC423E86 +:10230000D048874A394608F06FFC314608F014FC83 +:1023100009F0F4FB8346A061E06808F0F0FC074692 +:10232000654908F061FC0646206908F0DFFC81463B +:102330006248806808F0DAFCE16D08F055FC394627 +:1023400008F052FC494608F085FC0746206C3146EF +:10235000009008F049FC81464FF0FF31384608F004 +:10236000B9FC314608F040FC494608F0E5FB616CD9 +:1023700008F0E2FBD5F83890824649464FF07E508F +:1023800008F02CFC0646584608F0B0FC314608F030 +:102390002BFC06464946504608F026FC314608F01C +:1023A000CBFB606408F0B0FC60653946009808F02B +:1023B000C3FB2064FFF710FFD4E915104FF49677A4 +:1023C000401AC7F100093A46494604F09BFB0A212E +:1023D000FFF781FB297906467143C81701EB50606E +:1023E000C822C011514204F08DFBE061A97B4CF280 +:1023F00050327143C81701EB9060216A01EBA010C5 +:102400005142206204F07EFBC117206200EBD150E4 +:10241000E16901EB6020E061404608F070FC804615 +:10242000A669A06C301A08F061FC254908F0DCFBB5 +:10243000414608F00FFC08F067FC3A464946A6649E +:1024400004F060FB0A21FFF746FB6F6B80463946BC +:102450004FF07E5008F0C2FB0646404608F046FCAE +:10246000314608F0C1FB06463946206C08F0BCFB3B +:10247000314608F061FB206408F046FC4FF47A72A4 +:10248000514204F03FFB08F031FC206409F036FBB8 +:102490000521FFF720FB6062297E96224143C81781 +:1024A00001EB107000116FF0950104F02BFBE16956 +:1024B000081AE0610120A8E6BD378635C80800206B +:1024C0000024744970B5994D0446286807F017FA3E +:1024D0000028FAD0E1B2286807F0F8F9204670BD6C +:1024E00086B005F039FE0020FFF797FAFFF75CF899 +:1024F0008F4C002594F8090118B101281ED0092835 +:102500001CD08DF8105084F8095104A804F0DAFCAE +:1025100004F000FB0E20FFF797FA00F050F9607905 +:1025200001260E280DD008280BD08DF8065000BFCC +:102530004FF48070FFF795FA50B905E08DF8100060 +:10254000E3E78DF80660F3E70820FFF78AFA00B1A9 +:1025500001208DF802004FF4004B5846FFF781FA36 +:102560008DF803000120FFF77CFA8DF801000820A8 +:10257000FFF777FADFF8B48180F001008DF80000F2 +:102580006C4F98F812008DF8040097F8B400C0F36F +:1025900080008DF80500B4F8DE00ADF80800B4F84E +:1025A000E000ADF80A004FF48040FFF75AFA08B196 +:1025B000B4F8DA00ADF80C00B7F8B000ADF80E00D2 +:1025C00094F80901012823D0092824D08DF8075058 +:1025D000684605F073FC5849002040F2DE5200BF07 +:1025E00021F81020401CC0B21228F9D35449534896 +:1025F0000827086088F811703846FFF732FAB0B142 +:1026000094F8120158B1012809D002281CD10AE01F +:102610008DF80760DCE707208DF80700D8E7484809 +:1026200003F056FF10E0464804F0E3FB0CE094F89A +:102630001D0128B194F91E01002801DA84F81E5109 +:1026400094F81E0103F01BFD0120FFF70AFA30B1D8 +:102650004FF48060FFF705FA08B102F0AFF839498E +:102660004FF0100AC1F800A0A1F10409B846C9F85A +:1026700000700025A9F10407386880F01000386068 +:10268000386880F008003860192005F045FD012009 +:1026900005F04DFD192005F03FFD002005F047FD38 +:1026A0006D1CEDB20A2DE7D3C9F80080C9F800A06F +:1026B00001F03CFDFFF7ECF90220FFF7D2F908B179 +:1026C00001F000FED4F8200102F0A9F95846FFF706 +:1026D000C8F928B194F82811D4F8240107F014F8A7 +:1026E0004FF40060FFF7BDF908B104F09FF805F062 +:1026F000EAFC154908606079052803D113494FF4B5 +:10270000C870088012494FF47A7008801149C820B7 +:102710000880114880F80D6001F046F8FCE7044895 +:10272000B0F9D40000F041F9FEE70000E008002015 +:1027300070040020EC0700209C0A00205B33000896 +:1027400004010020140C0140000100207E01002043 +:1027500080010020AE0100208C0A00200146FE48C6 +:1027600000EBC100B0F97000122804DA082902DA7F +:10277000FA4931F910007047F74A02EBC00090F9AE +:102780007200084202D04FF0FF30704701207047BE +:102790002DE9F041F24DF34E00244FF480473846C6 +:1027A000FFF75FF910B1B5F8DA0001E0B5F8D40031 +:1027B00026F81400641C0C2CF1DBBDE8F0812DE937 +:1027C000F041E74EE84F707907EBC000407800B168 +:1027D0000120E64CA0742020FFF743F908B1012046 +:1027E000A074E04D7079E24C1835162808D017F81F +:1027F000301007EBC0002170426842B3002024E093 +:102800005FF0000006EB00110A6912F0FF4F1ED0C6 +:10281000D1E9057C05EB0013C969401CC3E902C17D +:10282000C3E900272178491C21700C28EADB0EE05F +:1028300002EB001305EB0016D3E9007CD3E9028319 +:10284000C6E90283C6E9007C401C8842F0DB4FF4F5 +:102850008040FFF706F9D8B12778012F18D9002654 +:1028600014E000BF05EB06144FF0FF384146A068A6 +:1028700008F030FAA0604146606808F02BFA60600A +:102880004146E06808F026FA761CE060BE42E9DBCB +:10289000BDE8F0417CE7F0B5401C0021B04A0B4692 +:1028A00002EB0114491C23610C29F9DBAE4B03EB4D +:1028B000C0014C68002C11D0002113F830000BE04F +:1028C00004EB011302EB011593E8C010DB68491C0F +:1028D000C5E906C3C5E904678842F1DCF0BDA34839 +:1028E00010B5807C00284DD0A14C9D48241D427914 +:1028F000E0882189082A27D006DC012A15D0042A7D +:1029000029D0052A06D10AE00E2A29D0142A22D07D +:10291000152A25D02020FFF7A4F8002832D02188DE +:10292000002005F05BFB618813E091498A48091D8E +:1029300090F8B300498908B100201FE08D48407825 +:102940000028F9D10021F7E70146002005F046FBF9 +:102950002189012012E0002005F040FB6189F8E7A1 +:102960000146002005F03AFB2189012005F036FBE5 +:102970006189022005F032FBA1890320BDE81040E7 +:1029800005F02CBB10BD70B5764E0024183E784D76 +:1029900007E000BF36F81410204605F014FB641C55 +:1029A000E4B228788442F5D370BD714A6D4B0021A2 +:1029B0001278183B04E000BF23F81100491CC9B28B +:1029C0009142F9D3DFE72DE9F047DFF8A891684C91 +:1029D000002599F80100684F614E241D48B3B6F8F0 +:1029E000D220B6F8D010B7F9060004F08BF85D4994 +:1029F000E0811839B046088096F81B01564E4FF01A +:102A0000640A48B30220FFF7A9FEB6F97E20B6F9A2 +:102A10007C1004F077F8B8F81431181A0FFA80FC1B +:102A20005348B0F90220624506DA98F81B111144A8 +:102A300007E0B6F8D400DAE704DD98F81B11A2EB42 +:102A40000101418096F98210B0F9020001FB00F10A +:102A500091FBFAF01844A08099F80A0050B1388828 +:102A600000EB0501E18000EB25402081B888608102 +:102A700078880AE04148018801EB0502E28001EB19 +:102A800025412181818861814088A0814FF0030226 +:102A90004FEA0A0306EBC20034F9121090F97200F3 +:102AA00000FB01F090FBF3F024F812001046FFF752 +:102AB00055FE34F81210084424F81200521C072A5C +:102AC000E8DBBDE8F0872DE9FC5F294C2A4E2B4D51 +:102AD0002078032814D9B6F904004142002801DD0A +:102AE000024600E00A4602F1640200DC08466FF08C +:102AF0006301A1EB0001B5F9040004F003F8A8801C +:102B00001B48DFF86090DFF850A00078A9F11809A1 +:102B100001284FD9002480464AE000BF9AF9B2004C +:102B2000B5F904104042484308F0E0F80D49183167 +:102B300001EB0417F96808F057F80190B5F90000A7 +:102B400008F0D4F8796808F04FF80090B5F9020061 +:102B500008F0CCF8B96813E0EC0700209C0A0020CC +:102B6000700400200C090020C0D00008E0080020FC +:102B7000B40000208C0A002044010020360100200F +:102B800008F032F88346B6F9060008F0AFF8396865 +:102B900008F02AF8594607F0CFFF009907F0CCFF5C +:102BA000019907F0C9FF08F0AFF829F81400641C78 +:102BB0004445B3D3DFF8B483DFF8B4B3ED4C98F8F1 +:102BC0000500082868D006DC012837D0042809D081 +:102BD000052840D140E00E285BD014287ED015286F +:102BE000F7D1D7E00420FFF7B9FD03460221042006 +:102BF000FFF7C2FDB5F9041000FB01F60121042026 +:102C0000FFF7BAFDB5F9021000FB016018442081FE +:102C10000520FFF7A3FD064602210520FFF7ACFDC6 +:102C2000B5F9041000FB01F301210520FFF7A4FD15 +:102C3000B5F9021000FB013030440BE00520FFF72E +:102C40008DFD034601210520FFF796FDB5F904101F +:102C500000FB01306081C1E09AF97200BBF90210FB +:102C60003222484390FBF2F60AF172035D460020DF +:102C7000FFF774FD3044208093F90800B5F9001087 +:102C8000484390FBF2F20120FFF768FD104460809A +:102C9000A4E0FFF798FEA1E0B74F787888B3B8F8C2 +:102CA000D220B8F8D010B6F9060003F02BFFE0816F +:102CB000A9F80000B87A4FF0010100284FF0030096 +:102CC00023D0FFF759FDB6F9021000FB01F30221F2 +:102CD0000320FFF751FDB6F9001000E042E000FBD1 +:102CE0000130E08001210420FFF746FDB6F9021013 +:102CF00000FB01F302210420FFF73EFDB6F90010AE +:102D000020E0FFE7B8F8D400D1E7FFF735FDB5F9CB +:102D1000021000FB01F302210320FFF72DFDB5F99E +:102D2000001000FB0130E08001210420FFF724FDAA +:102D3000B5F9021000FB01F302210420FFF71CFD8E +:102D4000B5F9001000FB013020810320FFF706FDDC +:102D5000E1880844E0800420FFF700FD2189084451 +:102D600020813BE0042301211846FFF705FDC3F154 +:102D7000050135F81110484324F813001846FFF7F1 +:102D8000EDFC34F81310084424F813005B1C062BE8 +:102D9000E9D323E0032302211846FFF7EDFCB5F940 +:102DA000041000FB01F701211846FFF7E5FCC3F111 +:102DB000060121F00101695E01FB007024F8130097 +:102DC0001846FFF7CBFC34F81310084424F813001E +:102DD0005B1C072BDFD3F188A9F800102020FEF739 +:102DE00040FEC0B30020FFF7B9FC20800120FFF7B0 +:102DF000B5FC62496080097A69B39AF8B4205146FB +:102E0000920715D591F97220BBF9025052426A43DC +:102E100032259AF97A10BBF9003092FBF5F259434A +:102E200091FBF5F32588D11A691A2180D11810E099 +:102E30009AF97230BBF90220268803FB02F5322290 +:102E400095FBF2F535442580BBF900104B4393FB0D +:102E5000F2F10844608000254FEA0A0606EBC5003F +:102E60006C30B0F90220B0F9001034F9150003F00D +:102E700049FE24F815006D1C082DEFD396F8B40018 +:102E8000DFF8FCA0400711D500252020FEF7E9FD62 +:102E900000B102250024564606EB44000189601962 +:102EA000C0B205F09BF8641C042CF5D3314F01200F +:102EB0003F1F4D46B9F900603A7805E035F910102A +:102EC000B14200DD0E46401C9042F7D3002448E09A +:102ED000B8F8D200B04205DA35F81410301A081AE2 +:102EE00025F814004FF48040FEF7BBFDA0B1BAF9FD +:102EF000060040F2DC518842404604DDB0F8D220A2 +:102F0000B8F8D81003E0B0F8D620B8F8D41035F9E6 +:102F1000140003F0F7FD15E0B8F8D220B8F8D0108F +:102F200035F9140003F0EEFD25F81400BAF9061087 +:102F3000B8F81601814207DA1020FEF792FD38B189 +:102F4000B8F8D40025F814000B48407818B107E011 +:102F5000B8F8D000F6E70B4830F8140025F8140054 +:102F6000641C38788442B3D3BDE8FC9F7004002011 +:102F700034000020B80000208C0A0020E60A00205F +:102F80009C0A00200C0900202DE9F04717468946CD +:102F900006460025DFF83C841AE0002411E000BF5B +:102FA000D8F8001081F00801C8F80010012005F0E1 +:102FB000BEF8484605F0B0F8002005F0B8F8641CEB +:102FC000E4B2B442ECD33C2005F0A6F86D1CEDB29F +:102FD000BD42E2D3BDE8F0872DE9FC5FFE4C002541 +:102FE00040F2DC51B4F90600FC4E4FF4FA7388420B +:102FF00001DA64210CE0F949B0F5FA6F91F8251077 +:1030000004DAA0F2DC52514391FBF3F1C1F1640107 +:103010008946F34996F866E096F867B0B1F814412E +:103020000022B246EC49EE4B40F2E63C31F9126028 +:10303000311B01F2F317674503D8002903DCA11BFC +:1030400001E04FF4FA71022A34D0BEF1000F05D02E +:103050008E4502DAA1EB0E0100E00021642391FB12 +:10306000F3F3DD4F6FF01808243707EB430C37F903 +:103070001370BCF902C003FB08F3ACEB070C01EBC7 +:1030800083030CFB03FC64239CFBF3F33B44D54F0D +:1030900027F812309AF823304B434FF4FA7193FB20 +:1030A000F1F1C1F1640189B201FB09F1642391FBE3 +:1030B000F3F11CE0BBF1000F05D08B4502DAA1EB68 +:1030C0000B0100E0002193F9EC30DFF818C35B42FC +:1030D0004B43ACF804309AF82430002900DC494214 +:1030E0004B434FF4FA7193FBF1F1C1F164010AEB28 +:1030F0000207642397F801C0DFF8E8820CFB01FCAB +:103100009CFBF3FCA8F1540808F802C097F80BC028 +:1031100008F103080CFB01FC9CFBF3FC08F802C05F +:103120007F7D4F4397FBF3F108F10303A6429954C7 +:1031300005DAAC4931F812305B4221F81230521CEA +:10314000032AFFF66FAFDFF898A24FF4FA625446F5 +:10315000BAF8161103F0D6FCB4F816114FF47A72CF +:10316000401A5043C1F5FA61B0FBF1F1642291FBC2 +:10317000F2F0994B6FF01806323303EB400433F949 +:1031800010307043B4F9024001EB8000E41A44436C +:1031900094FBF2F0DFF84C828F4E1844103EA8F8F2 +:1031A0000600707AA8F17C04E8B38F48B4F91E10C9 +:1031B000B0F90000401A07F099FD8C4907F014FDA2 +:1031C0008B4907F047FD074608F0D8FB01903846C9 +:1031D00008F0BAFF00904746B8F9000007F086FDF6 +:1031E0008346009907F000FD8046B7F9020007F01A +:1031F0007DFD8146019907F0F7FC414607F09CFCF4 +:1032000007F082FD80464846009907F0EDFC8146B4 +:103210005846019907F0E8FC494607F0DFFC07F043 +:1032200073FD388000E001E0A7F802800220FEF77D +:1032300018FC002750B3E078401CC0B20621B0FB58 +:10324000F1F2E07001FB1200B8B9002003F0ACFE0F +:103250002179614A01F00703AC3A491C22F81300B6 +:103260002171002032F81010401C29448DB208282A +:10327000F8DBE80801F00EF8A072A07AE18C884231 +:1032800003D89AF80811814201D9A77001E00420FF +:10329000A070A07803F0BFF956484E4D008818B1D1 +:1032A0000220FEF7C9FB10B95348008820B12868F6 +:1032B00080F00800286011E0B178082011B145497C +:1032C000091D0860717811B14249083108604FF456 +:1032D0000060FEF7C6FB08B103F0BDFA8020FEF7E0 +:1032E000C0FB48B1E16C606B411A05D44CF250311F +:1032F0000844E06405F032FAA16C606B411A03D413 +:10330000717BF9B10120B07002F027F82020FEF7A0 +:1033100093FB68B1216D606B411A09D4E17A0529EC +:1033200006D3364908442065286880F010002860DC +:103330003348816800290ED002B02A48BDE8F05F0A +:103340005C380847B770296881F0080129602D4969 +:103350000844A064D8E7BDE8FC9F10B5204C204489 +:1033600090F80A0104F044FEA0F2EE2140F2DD5292 +:10337000914201D3B4F8140110BD2DE9F047194E64 +:10338000DFF854807C3EA8F19C087079124F401CF5 +:1033900000247071A14608F14005F16B2046884772 +:1033A000727908EBC40102F0030221F8120025F83B +:1033B0001490002035F8143031F81020401C1A44C5 +:1033C000C0B225F814200428F4D335F91400801C69 +:1033D000C11719E00C0C01409C0A0020EC070020EA +:1033E0007004002044010020B0010020DB0F4940A0 +:1033F000000034437E01002080010020F0490200DB +:103400006C0C002020A1070000EB9170801025F8C3 +:10341000140037F91410C91E884202DA811C27F8FB +:10342000141037F91410C91C884202DD801E27F8D9 +:103430001400641CE4B2082CAFD3CBE5FE4802882C +:10344000FE48417852B9827842B1002905D1012164 +:103450004170FB48FB490088C88370470029FCD1B4 +:103460000122FF2102208FE52DE9FC5F0020F549B4 +:1034700082467C31054607460190B1F9020043427D +:10348000002801DD044600E01C468B46B1F900101F +:103490004A42002901DD0E4600E01646B44203DD33 +:1034A000002806DC184604E0002901DD084600E09B +:1034B0001046DFF8949300240090E04EF07808B9AD +:1034C0003079E8B3022C3FDADE484FF4FA72443028 +:1034D00030F914103BF9140001EB4000514203F0A5 +:1034E00011FBDA49DFF868A331F91410411A0AEB2D +:1034F0004400B0F9280001EB00089AF80810642095 +:1035000001FB08F191FBF0F09AF81C1001EB81022D +:10351000494201EB810103F0F5FA0190C94842F2FA +:103520001072743050F8241001EB0800514203F07F +:10353000E9FAC449743141F824009AF8121000E005 +:1035400008E048434FEA203AF07818B1307908B9DA +:10355000022C48D13BF91450B84F05EB850001010E +:10356000BB48A83F00EB04084FF47A5298F80100DA +:1035700091FBF0F039F91410401A57F82410084460 +:10358000514203F0BFFA47F8240039F9140000F55E +:103590002070B0F5A06F02D857F8240002E0002098 +:1035A00047F824007D2190FBF1F098F80B10484378 +:1035B00087113079A8B1022C13DA0098009AC0F56F +:1035C000FA710198009B484305FB02004FF4FA7220 +:1035D00001FB0AF107FB031190FBF2F091FBF2F6FD +:1035E00008E0F07820B1022C02DA5646019801E09A +:1035F00028463E46934A39F9141028325023125D6A +:10360000DFF838824A4392FBF3F28E4B821A68331A +:10361000A8F13C0833F9140023F81410081A08F133 +:103620000C0158F8243051F824C041F824309C444F +:10363000844448F8240083482E30005D00FB0CF0E1 +:10364000C11700EBD1609119A1EB60107D496E317B +:1036500021F81400641C032CFFF62FAF7BE62DE944 +:10366000F05F764E4FF0000BDFF8E4A1DFF8D49165 +:103670005C46A83E714DE87808B92879D0B1022C93 +:1036800018DA70484FF4FA72443030F914103830B8 +:1036900030F9140001EB4000514203F033FA6B495A +:1036A00031F91410411A0AEB4400B0F9280001EB7B +:1036B000000B01E0022C52D0E878E0B39AF8080041 +:1036C00000FB0BF0001160490AEB040731F91410FC +:1036D000FA7A451A787856F8241068434FEAE018C9 +:1036E000B9F80C006843C01200FB02104FF400123E +:1036F00046F82400514203F005FA46F8240043132B +:103700004E480C3850F8241040F82450B9F80C00FA +:10371000691A02094FF6FF70B0FBF2F048434749BF +:103720008011243901F10C0251F824C052F82450C0 +:103730006544054400E01CE042F824C041F8240040 +:10374000787D6843011208EB030008443D496E315F +:1037500021F81400641C032C8CDBBDE8F09F9AF860 +:10376000240038491B307C31B1F904104843401122 +:10377000A9E7344A9AF823007C321B3032F914202E +:1037800050432A790011002A9DD09AF8121001FBAB +:103790000BF100EB212096E72A49012801D02D48A2 +:1037A00000E02D48086470472DE9F84F0027B9461E +:1037B000B8460820FEF755F9DFF8A0B068B19BF8CD +:1037C000120120B1012802D0022806D102E002F045 +:1037D000A2FE01E003F02CFB8046DFF868A0174C46 +:1037E0004FF00005DAF83410DAF854004FF0010613 +:1037F000081A02D5B8F1000F7DD044F620621144BA +:10380000CAF85410FFF7B9FD4FF48040FEF729F9CC +:1038100028B10A485A30007808B900F07DFC9BF8BE +:103820001C0168B305494FF47A72103101EB400076 +:103830000021B0F9060013E0800100208C0A00206E +:10384000B0010020C80000206800002034000020E3 +:10385000EC070020693400085F360008700400207F +:10386000A0F57A7003F04EF907F040FAFE4907F030 +:10387000F1F9FE4907F0B8F907F05FFAAAF822005B +:103880004FF40070FEF7EDF8B0B3DFF8E483BAF957 +:103890000E2098F8ACC00CEB8C0191421DDA6078D8 +:1038A000D8B1BBF91431F349002000BF21F8103022 +:1038B000401C0328FADBB8F8AE30CB8098F8AD0096 +:1038C000604400EB8000904202DA00F025FC257095 +:1038D000BAF81010491CAAF8101098F8AC0000EBC8 +:1038E0008001BAF90E00814204DA607810B900F064 +:1038F00013FC257001E068E204E0BAF80E10491CE0 +:10390000AAF80E10BBF816C1BBF81821DFF86483C3 +:103910000020BF0838F91030634501DD47F080070B +:10392000934201DA47F04007401C0428F1DB9AF883 +:10393000071050468F4205D18179FA2903D2491CDC +:10394000817100E085718AF807704FF4804738462E +:10395000FEF787F858B1BBF81411BBF8DC00B8F9D2 +:1039600006200B1A934202DA0844904209DC3846DA +:10397000FEF777F8E8B9B8F90610BBF816018142EE +:1039800017DABC48B838056045608560BA480560FC +:103990004560B748C08F60B1B6484A30007820B162 +:1039A000207810B1FFF74AFD03E0607808B100F01D +:1039B000B3FB9AF80600142817D16078B0B1AC4F69 +:1039C000F88F28B99AF807005F2801D100F0A4FB0E +:1039D0009BF81A01002808D0F88F002805D19AF822 +:1039E00007007D2801D100F097FB8FE09AF80700CF +:1039F000572809D00420FEF734F8E8B19AF80710E8 +:103A000050465A2921D017E09C494FF47A7008801B +:103A10004FF48070FEF725F808B101F07EFF042016 +:103A2000FEF70AF810B196490A2008800820FEF730 +:103A300003F808B9934805809AF807005D2817D065 +:103A40005B2817D05E2817D023E0818A19B18582C0 +:103A5000AAF816601DE0818C21B10021818419B182 +:103A6000022102E00121F9E703218AF8001010E0A9 +:103A7000012702E0022700E00327781E8BF8780375 +:103A800000210846FDF713FE3A4628210220FFF7E1 +:103A90007BFA774FF88F18B99AF807106F290ED074 +:103AA0009BF81A1121B118B99AF807007E2806D0A0 +:103AB0009AF80700972805D0A72808D008E0FFF754 +:103AC000BDFC05E070494FF4C870088000E0A673A3 +:103AD0009AF80700BB2806D0B72807D0BE2809D01F +:103AE000BD280AD012E0788D801C01E0788D801E00 +:103AF000788505E0388D801C01E0388D801E388582 +:103B000001210846FDF7D3FD8AF806500420FDF791 +:103B1000A8FF20B3BAF82420504632216AB1627857 +:103B20005AB1B8F90630BBF81621934205DD514A67 +:103B30004A3212780AB9418285844E4A4A32527C0E +:103B400032B1028B838A1A4309D1AAF8121006E017 +:103B5000818A21B1617811B98582AAF816600020A6 +:103B6000C64640F2A46700BF0EEB4001B1F9082041 +:103B700040F214518A4201DA012300E0002300EBF5 +:103B800040018B40A2F2155CBCF5C77F02D84FF014 +:103B9000010C01E04FF0000C01F101080CFA08FCE7 +:103BA00043EA0C03BA4201DD012200E00022891C35 +:103BB0008A40134343EA0903401C1FFA83F904288F +:103BC000D2DB2C4F00204A37294901EB4001C98F35 +:103BD00011EA090100D001213954401C1428F3DBFB +:103BE000787840B9224890F8AC0000EB8001BAF92F +:103BF0000E0081420ADA0220FDF71EFF30B1E078A4 +:103C000028B91D4805604560E67000E0E570B878A9 +:103C100038B1E570207928B91748056045602671EC +:103C200000E025713878B84600B92670E178102098 +:103C300009B9217909B1154901E01449091F086042 +:103C40000420FDF7F9FE70B198F80300474650B321 +:103C5000A07938BB0E48A67101680E48016006487D +:103C60000830C18818E02BE000007A4400C07F448F +:103C7000EC0700209C0A00203C010020800100206D +:103C8000AE010020B00100207E010020140C014094 +:103C90005C00002060000020FF48AAF81A100560B0 +:103CA000FE48056000E0A5714FF40050FDF7D9FE15 +:103CB00030B1387918B1E07B10B9E67300E0E573F4 +:103CC0000220FDF7B9FE18B90820FDF7B5FED0B106 +:103CD00098F80510404639B1617931B9F0496671FB +:103CE0000A88F0490A8000E06571817919B1617A2A +:103CF00011B9667200E0657298F8070018B1E848DB +:103D00000188AAF81E102020FDF796FEF0B3E07A95 +:103D1000E8B39AF80B005746052844D398F80A10E0 +:103D200059B1E07990BBE671DF4925723D72081FF9 +:103D300002F0F0FA0220787039E0E57198F80B0093 +:103D400030B3D94A143AB2F90000002800DC4042EE +:103D5000D649B1F8C01088421DDAB2F90200002835 +:103D600000DC4042884216DA207A78B9CE482672C2 +:103D70000C383D7200F1100102680A60406841F899 +:103D8000040FC948001D02F0C5FA02E00FE00AE086 +:103D900001E07E700BE02572387A40B98AF808603D +:103DA00002F05AFA03E0E57125728AF8015098F89A +:103DB0000C0008B1A67200E0A5729BF80500082867 +:103DC00001D00E2843D1657241E0DAF85C00574615 +:103DD000042801DD401FF865052838D2DFE800F02F +:103DE000030B151F2A000820FE65FDF725FE10B104 +:103DF00000F06DFC58BBF86D401CF8650420FDF721 +:103E00001BFE10B100F073FB08BBF86D401CF86599 +:103E10000420FDF711FE10B1FEF7E9F9B8B9F86D0D +:103E2000401CF8654FF48070FDF71BFE10B102F0E6 +:103E3000DFF90CE0F86D401CF8651020FDF7FCFD83 +:103E400008B100F0C6FC4FF40050FDF70AFE04F084 +:103E50003AF9CAF83400BBF80C20574612B1BB6DD2 +:103E6000C31A71D41044D946B865FEF757F9FFF765 +:103E7000B3F804F028F97863398F411AB981B8632F +:103E80000820FDF7D9FD48B387491439B1F904205A +:103E900002F145008A2822D8607900B3804803885F +:103EA00080480088181A00B210F1B40F02DC00F547 +:103EB000B47000B2B42802DBA0F5B47000B299F976 +:103EC000EC305B42434318B2637B3BB1774B5B7A88 +:103ED00043431E2093FBF0F0101A888003E07048E3 +:103EE0000188704801800420FDF7A6FD58B3A07931 +:103EF00048B36E4991F8690038B36B48B7F91A2096 +:103F00001438B0F90630A3EB020CBCF1000F01DC51 +:103F1000A2EB030C91F868108C4509DDDFF878C13D +:103F20009342CCF800507E7200DD4942194409E00A +:103F3000797A21B15E490B685E490B607D72574901 +:103F400009881144C1803AE0E4E0FFE7DFF85881D6 +:103F5000B7F91A00A8F11408B8F906301A1A002A9D +:103F600001DD134600E0C31A91F868108B420FDDA3 +:103F7000B98B4FF4FA6C114409B291FBFCF34D4A32 +:103F80000CFB131115681D441560B9837E7207E0A0 +:103F9000797A29B146490A6846490A60BD837D722B +:103FA0003E490988084400B2A8F80600B9F8D010C4 +:103FB000B9F8D220963102F0A5FDA8F806003B4DD5 +:103FC00095F86A0050B1E07808B9207930B13648E8 +:103FD000394A1438C18812881144C1802020FDF765 +:103FE0002BFDE8B3E07908B9207AC8B3207BB8B3D9 +:103FF0002B4CB4F9000006F079FE304E314606F045 +:10400000F3FD08F0A1F80090B4F9000006F06EFE90 +:10401000314606F0E9FD07F0B1FC234C064695F861 +:10402000B900303CDFF898A0A4F11C0810B3A146F9 +:10403000B4F90200241DB4F90210401A01F01EFA6E +:1040400015F8B92F514202F05DFD61880844608087 +:10405000B9F90000B4F90010401A01F00FFA00E0BD +:104060004EE02A78514202F04DFD2188084400B20A +:10407000208001E0B4F9000006F038FE8346009984 +:1040800006F0B2FD0546B4F9020006F02FFE8146A7 +:10409000314606F0A9FD15E028000020240000208C +:1040A000B0010020B201002058010020EC070020E0 +:1040B0005C000020600000200A00002035FA8E3CE1 +:1040C00000002041294606F089FD5546514606F07C +:1040D000C1FD06F019FEA8F80000444658463146D6 +:1040E00006F082FD06464846009906F07DFD314601 +:1040F00006F022FD294606F0ADFD06F005FE6080C3 +:10410000386C8047FEF7DFFCFEF7E9FBBDE8F84FAF +:10411000FEF739BCBDE8F88F03484178002901D08B +:1041200000214170704700008C0A00202DE9F843FF +:10413000FE4CFF4BFF490026B4F8EE209846A1F153 +:10414000100004F00CFC08B101260EE0B4F8EE10EB +:10415000F84804F013FE40B9B4F8EE10F54803F047 +:10416000A4FD10B9032004F081F8F34D5FF00007BF +:1041700094F8ED0006283CD2DFE800F00707192884 +:1041800033030220FDF765FC33E08DF800704FF437 +:104190004870E849ADF802001039684602F0A7FF00 +:1041A00008B10120287094F8ED00012821D06EB1EB +:1041B000E049B4F8EE204346A1F1100004F0CFFB33 +:1041C0000220287094F8ED0002281DD0D94810383C +:1041D00004F0CEFC28B10320287094F8ED000328E9 +:1041E00012D0D448103805F050FB10B104202870CC +:1041F0000AE0287840B994F8ED0010B184F8ED7029 +:10420000B6E70220FDF725FCCA48103004F0B9FEDD +:1042100038B9C848103003F011F810B90420FDF780 +:1042200018FC0220FDF708FC28B1C24994F8E3000D +:10423000103909688847BF4914F8E20F09688847B0 +:10424000A07803F015F910B90820FDF702FCBB486F +:104250006421B0F9262092FBF1F001FB102406B294 +:104260000820FDF7E9FBB64D90B1204606F03EFD73 +:10427000B44906F0B9FC0446304606F037FD214645 +:1042800006F05AFCB04906F0AFFC2860BDE8F883A0 +:104290002F60FBE770B50546A44890F8060106F0CC +:1042A0002EFD0446284606F02AFDA84906F09CFC8F +:1042B000A74906F0CFFC214606F096FC06F03DFD2E +:1042C00080B270BD70B500252C46002002F06CFE57 +:1042D00005440A2003F020FF641C202CF5D3C5F30D +:1042E0004F10FFF7D7FF914A022192F8073100BF24 +:1042F00003FB01F4844202D8491C0629F8D39548EF +:10430000017092F8080148439349088070BD2DE977 +:10431000F05FDFF82492914E884FB9F80220834C69 +:104320000025C2B38E4900204FF4C878424501D120 +:1043300041F8205051F8203036F910C0634441F85C +:10434000203026F8105004EB4003401CA3F8FA502C +:104350000328EBDB012A19D10868C83090FBF8F07C +:1043600024F8FA0F4868C83090FBF8F0608088683D +:10437000C83090FBF8F1B9F80600081AA0803D8516 +:104380000121FA3C7D850846FDF791F9B9F8021044 +:10439000491EA9F802100420FDF763FB002874D021 +:1043A000704BDFF894816E491A8808F120080C31AF +:1043B000A8F1180A322A05D0F2B300209B46322A0F +:1043C00014D015E034F8FA0FA8F800006088A8F8B7 +:1043D0000200A088A8F80400B7F828C0AAF800C016 +:1043E000B7F82AC0FA3CAAF802C0E6E741F8205024 +:1043F00051F8203036F910C0634441F8203026F8D7 +:10440000105004EB4003401CA3F8FA500328D6DBFD +:10441000012A1AD15448554B058001201880544B6D +:1044200002201870B8F8000024F8FA0FB8F802005B +:104430006080B8F8040000E00AE0A080BAF800301C +:104440003B85BAF80200FA3C7885521EABF8002092 +:1044500048480288012A18D105800A68322092FB58 +:10446000F0F224F8FA2F4A6892FBF0F26280896831 +:1044700091FBF0F1B9F80600081AA0803D850121F2 +:10448000FA3C7D850846FDF712F9308834F8FA1FAA +:10449000401A308070886188401A7080B088A18886 +:1044A000401AB080BDE8F09F224810B5103841682E +:1044B0002A488847BDE8104029E730B51E4C1F4AFE +:1044C000E06892F82F200146401C824200D1002073 +:1044D000294A1368224A183242F82130274952F8F3 +:1044E00020200D682B449A1A0A60E06030BD70B538 +:1044F0002348114C00682169411A01D5002070BD84 +:1045000020610C4D6069103578B128698047686872 +:10451000804728882169084420616A69194916483A +:10452000904700206061022070BD2DE070040020E3 +:10453000F00800206C0C00207C010020EC0700201B +:10454000300000208988883C0000204133335340EC +:1045500000F07F4568010020EE0000207A00002076 +:104560003C0B0020DA000020E0000020DC000020EE +:10457000C8000020DE000020A00000201C00002059 +:10458000FC000020A4000020A8688047E86880475D +:10459000FFF793FF0120606168882169084420616A +:1045A000012070BD2DE9F05FA24DA88800286AD0D7 +:1045B000DFF884820024A3464FF47A79A8F10C0630 +:1045C000A888484507D104EB840208EB820146F82D +:1045D00024B0C1F810B0994F56F8241037F91400E0 +:1045E000014446F8241006F081FB014604EB8402E6 +:1045F00008EB8200824600F0EFF827F814B0904FE5 +:1046000027F814B0A888012837D1DAF8100001285B +:1046100008DD401E06F06AFB0146DAF80C0006F0E1 +:1046200019FB00E0002007F055FE8246854890F80F +:10463000F800A8B106F063FB514606F093FB0FD2D9 +:104640007D49A5F80490C8F810B0C1F824B0C1F8AD +:1046500038B0C6F808B0C6F804B0C6F800B00CE030 +:1046600056F82400012200F5FA7090FBF9F027F8C3 +:1046700014000F210A20FEF787FC641C032C9FDB2B +:10468000A888401EA8806D496D4A002031F810307E +:1046900032F810401B1B21F81030401C0328F5DBBA +:1046A00000E7654810B54C30416864488847BDE86C +:1046B000104077E710B564481024046002F027FF2B +:1046C0006148001F04605B490120487010BD2DE95E +:1046D000F0415E48574C0068A169411A02D500209C +:1046E000BDE8F0815A490844A0615A4802F0D7FE5B +:1046F000DFF864C14F4B00269CF80E005549514A23 +:1047000026339D1D88B1A069E061002002EB4007BF +:10471000A7F8006131F8107023F8107025F81070B8 +:10472000401C0328F2D38CF80E60607870B10888C2 +:10473000B2F80071C01B08804888B2F80271C01B33 +:1047400048808888B2F80471C01B8880E06998B3FB +:10475000A769381A414FB84218D23B480838026856 +:1047600082F008020260002031F9102033F9104075 +:10477000A24201DA23F8102035F91040A24201DDEF +:1047800025F81020401C0328EED315E00020E66138 +:1047900033F9101035F91040214402EB400401EBCD +:1047A000D17141F34F01401CA4F800110328EFD34D +:1047B00001210846FCF77BFF012091E710B501209D +:1047C00004F023FA1020FDF73FF925490020086086 +:1047D00010BD234804F06DBA2DE9F041044600698C +:1047E0000E46401C206101281FD006F07FFA256884 +:1047F00080462946304606F0F1F90746414606F064 +:1048000029FA294606F098F905466060294630469F +:1048100006F0E4F90146384606F0E6F9A16806F02C +:104820008BF92560E060A0605AE766600020266092 +:10483000F9E700007C010020200C0020740000201B +:10484000A800002070040020140C0140FC0000208F +:10485000A0860100860000208C0A002080C3C901C8 +:10486000B000002070B5F34CF34EC1B20546A17004 +:10487000306805F02BF8E079A1784840E071C5F385 +:104880000721A170306805F021F8E079A17848404F +:10489000E071C5F30741A170306805F017F8E079C1 +:1048A000A1784840E071290EA170306805F00EF83B +:1048B000E079A1784840E07170BD70B5DD4CDE4E06 +:1048C000C1B20546E170306805F000F8E079E178A2 +:1048D0004840E071C5F30721E170306804F0F6FF4D +:1048E000E079E1784840E07170BD10B50446D248E7 +:1048F0002146006804F0EAFFCE48C1796140C171E9 +:1049000010BDCC4ACD48117A405C491C11727047E9 +:1049100000B5FFF7F6FF0346FFF7F3FF03EB0020B8 +:1049200080B200BD10B5FFF7F3FF0446FFF7F0FFBC +:1049300004EB004010BD70B504460D462420FFF77F +:10494000D4FF4D20FFF7D1FF0CB1212000E03E2025 +:10495000FFF7CBFFB74C0020E0712846FFF7C5FFFB +:10496000607ABDE87040C0E701460020E3E70146F9 +:104970000120E0E7AF48C079B7E770B504460D46BF +:104980000846FFF7F1FF03E014F8010BFFF7ADFF56 +:104990002800A5F10105EDB2F6D170BD10B50446B1 +:1049A00003E000BFFFF7A1FF641C20780028F9D1C5 +:1049B00010BD2DE9F05FDFF87CB2DFF878920127B7 +:1049C0004FF0000A0BF10C0B00251AE09B4814383D +:1049D000405D00EB40010BEB8108D8F8040006F0C5 +:1049E0005CF806460FB1B2440AE0002406E000BFBE +:1049F000D8F80400005DFFF778FF641CB442F7DBD1 +:104A00006D1C99F800008542E0DB002F05D00AF00C +:104A1000FF00FFF7A9FF0027D6E7BDE8F09F70B5BC +:104A2000024603230021864803F0F6FC8249FF2258 +:104A3000086082481421143805F0E9FF7F4D0020FA +:104A4000143D012428700220FCF7F6FF20B101205C +:104A500068700220A87003240420FCF7EDFF50B119 +:104A600003202855641C4FF40050FCF7FAFF10B1E6 +:104A700004202855641C0220FCF7DEFF18B908202A +:104A8000FCF7DAFF40B105202855641C06202855A4 +:104A9000641C07202855641C2020FCF7E2FF10B19D +:104AA00008202855641C4FF48070FCF7DAFF28B109 +:104AB0000A202855641C0B202855641C6148407945 +:104AC000082801D00E2802D10C202855641C0D2086 +:104AD0002855641C0420FCF7C4FF10B11120285590 +:104AE000641C132028555348641C047070BD2DE9C4 +:104AF000F05F504EDFF844B14FF00008717A514D2D +:104B0000514C524FC1464FF0010AABF1140B7829BA +:104B10007CD011DC3046A1F16401007814293FD229 +:104B2000DFE801F0FDFCFBFAF9F8F7F6F5F4F3F233 +:104B3000F1F0EFEEEDECEBEA4448D029407875D087 +:104B400018DCCB2973D00CDCC8292FD004DCA029B9 +:104B50006ED0A42924D1DBE3C9293BD0CA291FD1B7 +:104B600055E0CC2965D0CD297ED0CE297DD0CF2966 +:104B700016D1A7E0D62979D00ADC4FF00008D12958 +:104B800075D0D22974D0D32973D0D42908D1CCE1DF +:104B9000EF2918D0F0296DD0FA296CD0FE296BD0FE +:104BA0000020FFF7E4FEBDE8F05FE3E60024284DB7 +:104BB000FFF7AEFE25F81400641C082CF8D3002083 +:104BC000FFF7D2FEEFE7FFF7A3FE6085FFF7A0FE39 +:104BD0002085F4E7FFF795FEF872FFF792FE1D4976 +:104BE0000870FFF79FFE1C4C2060FFF79BFE606083 +:104BF000FFF78EFE19490880FFF78AFE18490880E2 +:104C00001848017841F002010170D8E773E10023F0 +:104C1000FFF777FEE5186870FFF773FEE872FFF79D +:104C200070FE5B1C68750A2BF2D3C8E725E324E00D +:104C30005EE330E0B4010020E0080020A80C002072 +:104C40000038014070040020EC0700208C0A00208E +:104C50009C0A0020D30000204C0100207601002097 +:104C600078010020640100200DE313E362E0D4E248 +:104C70006AE078E032E312E313E300255F4606E0E2 +:104C8000FFF746FE795D6D1C04EB4101C887307863 +:104C90008542F5D393E7FFF734FE04F81F0FFFF7C3 +:104CA00030FE6070FFF72DFE2071FFF72AFE607165 +:104CB000FFF727FEA071FFF724FEA070FFF721FE8B +:104CC000E0707CE7FFF724FEFFF722FEE93525F8C8 +:104CD000190CFFF727FEFFF71BFEA4F8AE00FFF745 +:104CE00017FEFFF71FFEFFF713FE00EB80004000EA +:104CF000E084FFF706FE13E0E7E16AE2C8E1E1E1E4 +:104D00005BE2EFE1CBE1B1E198E189E17FE166E1CE +:104D100053E135E126E120E1EAE0B6E03DE026E0BE +:104D20006877FFF7EEFDE877FFF7EBFDA877FFF771 +:104D3000E8FD44E70024FE4DFFF7EAFD25F81400E6 +:104D4000641C082CF8D32EE70028A3D1FFF7D9FD67 +:104D500085F87803022801D985F87883002100209E +:104D6000FCF7A5FC2BE7FFF7D3FDF24990E2072003 +:104D7000FFF7FAFDE620FFF7B8FD6879FFF7B5FD0C +:104D80000020FFF7B2FD95F81B0100B10820EA49A9 +:104D900050EA0100FFF766FD05E70B20FFF7E4FD91 +:104DA000E648008800B2FFF788FD02F0BAFE00B2C4 +:104DB000FFF783FD0220FCF73FFE04460420FCF7CA +:104DC0003BFE44EA40040820FCF736FE44EA800437 +:104DD0002020FCF731FE44EAC0041020FCF72CFE32 +:104DE00044EA0010FFF769FDF9783A79490041EA91 +:104DF0008201BA79002041EAC2017A79367841EA23 +:104E000042117A7AD44641EA8212CD49CB7942EAFC +:104E1000C3120B7A42EA03224B7A42EA4322FB791D +:104E200042EA83223B7A42EAC322BB7A42EA033255 +:104E30004B7B42EA43328B7B42EA83320B7C42EA71 +:104E400003420B7942EA03124B7C42EA43428B7CD9 +:104E5000C97C42EA834242EAC14479785F460C4306 +:104E6000002108E07B5C0CFA03F3234202D00CFA29 +:104E700001F21043491CB142F4D3FFF7F3FC95F85B +:104E8000780300BFFFF731FD8DE61220FFF76CFDC0 +:104E9000AC48AD4D4FF000040088B0F5806F0BD9E1 +:104EA00035F91400C11700EB5170C010FFF705FD74 +:104EB000641C032CF4D306E035F91400FFF7FDFC65 +:104EC000641C032CF8D3A14D002400BF35F9140055 +:104ED000FFF7F3FC641C032CF8D39D4D002400BFA6 +:104EE00035F91400FFF7E9FC641C032CF8D35AE6EB +:104EF0001021984833E03820FFF736FD5FF00005B9 +:104F000004EBC50636F96C0FFFF7D7FCB6F90200C3 +:104F1000FFF7D3FCB6F90400FFF7CFFCB079FFF739 +:104F2000E4FC6D1C082DEBD33DE60020FFF71CFDD3 +:104F30005FF00005FFF7ECFC04EBC50626F86C0FEC +:104F4000FFF7E6FC7080FFF7E3FCB080FFF7D9FCC9 +:104F50006D1CB071082DEDD325E610217E48FFF7BA +:104F60000CFD20E61020FFF7FFFC7C4D002400BF65 +:104F700035F91400FFF7A1FC641C082CF8D312E6E5 +:104F80001020FFF7F1FCF87AFFF7AFFC74480078C7 +:104F9000FFF7ABFC734C2068FFF764FC6068FFF719 +:104FA00061FC7148008800B2FFF787FC6F480088F9 +:104FB00000B2FFF782FC6E483DE00520FFF7D4FC0D +:104FC0006C48008800B2FFF778FC6B48B0F900002D +:104FD000FFF773FC6948007800F0010052E70820F1 +:104FE000FFF7C2FC664D002435F91400FFF765FC9D +:104FF000641C022CF8D36348B0F90000FFF75DFC95 +:105000006148B0F9000000BFFFF757FCCBE5062070 +:10501000FFF7AAFC5D480068FFF724FC5C480AE043 +:105020000520FFF7A1FC5B480078FFF75EFC00203D +:10503000FFF743FC5848008800B2E5E70720FFF778 +:1050400093FC14F81F0FFFF750FC6078FFF74DFC3E +:105050002079FFF74AFC6079FFF747FCA079FFF75A +:1050600044FCA078FFF741FCE0780BE71E20FFF737 +:105070007BFC002566197078FFF737FCF07AFFF7A4 +:1050800034FC707DFFF731FC6D1C0A2DF2D38AE5EC +:105090002F20FFF769FC4148FFF780FC83E54006BD +:1050A000000EFFF761FC00255F4607E0785D04EB2A +:1050B0004000B0F93E00FFF700FC6D1C30788542DF +:1050C000F4D370E5FFF775FC6DE5FFF74DFC0024A8 +:1050D0005D4603E0285DFFF708FC641C30788442DD +:1050E000F8D360E51620FFF73FFC0020FFF7E5FB53 +:1050F00035F9D00FFFF7E1FBB5F90200FFF7DDFB53 +:10510000B5F90400FFF7D9FBB4F9AE00FFF7D5FB02 +:105110000020FFF7D2FB0020FFF7A4FBB4F9260024 +:105120000A2190FBF1F000B2FFF7C7FB38E0000066 +:105130000C090020B201002004000080D4000020EF +:10514000E60A002082010020800000206800002084 +:1051500086000020B8000020F40800209C0A0020EF +:10516000D30000204C0100207601002078010020AF +:1051700066010020720100207401002064010020FB +:1051800034000020B0010020E60000205C00002078 +:105190002C000020D2000020EA00002078D1000876 +:1051A00095F83600FFF7A1FB95F83800FFF79DFB57 +:1051B00095F83700FFF799FB2DE00820FFF7D4FBA7 +:1051C0000024601CC0B2FFF790FB641C082CF8D3CD +:1051D000E9E4FFF796FB04461220FFF7C5FB14B184 +:1051E000102C02D004E0934800E09348D0E90089F5 +:1051F0002046FFF77AFB4046FFF734FB4846FFF7AF +:1052000031FB8E480068FFF72DFB0020FFF755FBB0 +:105210000020FFF752FB002034E6FFF772FB064642 +:10522000FFF780FB0546FFF77DFB8446FFF77AFB1F +:105230000446FFF76DFBFFF76BFBFFF762FB86B1E0 +:10524000102E7FF4C6AC7C49C1E9005C0CB17B48F0 +:1052500004607B4A0220091D1070774801F05AF85B +:10526000ADE47448002CC0E9005C87F8078087F83B +:105270000CA0F5D071480460A1E40028F0D1012011 +:10528000FCF7CBFB9BE40028EAD16E494FF4C870D1 +:10529000088094E40028E3D187F80EA08FE4012170 +:1052A0005DE50820FFF760FB6748694A694D0168C2 +:1052B00066481268B1FBF0F1B2FBF0F000EB40027F +:1052C000C2EBC01001EBC000E880002435F91400E7 +:1052D000FFF7F3FA641C042CF8D364E40420FFF70E +:1052E00043FBB4F92A00FFF7E8FAB4F928008BE68B +:1052F0000C20FFF739FB58480068FFF7B3FA56480F +:10530000001D0068FFF7AEFA53480830006841E519 +:10531000524D29780AEB8100C0B2FFF725FB2878AF +:10532000FFF7E3FA00244E4E4E4FDFF83C81DFF8E2 +:105330003C910EE0305DFFF7D8FA385DFFF7D5FA03 +:1053400018F80400FFF7D1FA19F80400FFF7CDFAB6 +:10535000641C28788442EDD325E470B5444C454E56 +:105360000025607810B3BDE87040FBF755BE30688B +:1053700004F0BFFAA17951B101291CD002291FD034 +:10538000032923D0042929D005293FD12CE0242842 +:1053900003D00021A17149B901E00121FAE72328D6 +:1053A00002D0522832D102E0FBF736FE2EE0012077 +:1053B00002F07DFF2AE04D2804D10220A07125E0F3 +:1053C0003C2801D00020F9E70320F7E740281CD84B +:1053D000607125712572E0710420EFE76072E17958 +:1053E0004140E1710520E9E721796279914207D2D4 +:1053F000E2794240E271204A5054491C217105E093 +:10540000E179814201D1FFF772FBA571306804F0A8 +:105410006DFA0028ABD16078002809D14FF4006004 +:10542000FCF71FFB002803D0BDE8704001F02DBA47 +:1054300070BD0000540100205C01002060000020CD +:10544000C90000207E0100200804002040420F0017 +:105450000C0400206A010020E8F7FF1F7A010020F9 +:10546000FA0A00200A0B00201A0B00202A0B002049 +:10547000B4010020E0080020A80C002044F2506194 +:10548000884201DDA0EB4100FE49884202DA48F67D +:10549000A041084470472DE9F047064650689946F8 +:1054A00014460D46301A05F021FC296805F0D2FBA0 +:1054B0002061A768394605F091FB8046F24890F8D4 +:1054C000B80005F01CFCF14905F08EFB01464FF0D9 +:1054D0007E5005F0BFFB2D68294605F02DFB0146E7 +:1054E000284605F0B7FB414605F07EFB394605F03E +:1054F00023FB2061C4E901600146D9F8080005F0EA +:1055000073FBBDE8F04705F0FFBB2DE9F0411D46F8 +:1055100014460E4605F0EAFB696805F065FB316844 +:1055200005F062FB216805F007FB2060ED68074687 +:10553000284605F0E9FB064685F0004005F0E4FB4F +:105540000546384605F0E0FB3246294601F0DAFA16 +:1055500005F0CCFB2060BDE8F04105F0D5BB70B58F +:10556000CB4CD4E90D01401AFFF788FF0028D4E99D +:105570000D01A0EB010002DDFFF780FF02E0FFF765 +:105580007DFF404241F29411884228DAD4E90D01AE +:10559000401A05F0ABFBBF4905F026FB0646E06B61 +:1055A00005F0ADFB0546304606F0CEFD294605F078 +:1055B0001BFB05F0A9FB00B240F6B8322082514235 +:1055C00001F0A0FA616B084448F6A041606488428B +:1055D00000DD401A002800DA0844606470BD606B8A +:1055E000FBE72DE9FE4F0546FFF7B9FFA84842F259 +:1055F0002831406C081A05F079FBA64905F0F4FA49 +:10560000044606F0BBF90190204606F09DFD00908F +:105610000024284605F06AFBDFF874A2DFF87892D0 +:10562000DFF878B20AF1300A029099481A3030F95E +:10563000140005F05BFB05465DF82410029805F0A8 +:10564000D3FA294605F0CAFA05F05EFB00B24FF422 +:105650007A7255462AF81400514201F053FA8E49E5 +:1056600000B225F81400603900F080FE04EB8406D7 +:10567000894B8749074609EB8602904635F91400A5 +:10568000603B2831FFF741FF834B81490744424685 +:1056900035F91400603B2831FFF7FDFE384400B2B5 +:1056A00040F6B8325D462BF81400514201F02AFA58 +:1056B00025F81400784859F826102838641C40F85A +:1056C0002610022CB1DBBDE8FE8F2DE9F05F704E95 +:1056D0000024DFF8C4915036DFF8C0B1A6F1360AD5 +:1056E000A9F128096C4956F82400803900F03EFEE3 +:1056F0003AF81410664F401A3037674900B227F85D +:105700001400703900F032FE054637F9140056F8DF +:10571000241004EB840708445F4B5D4909EB8702C2 +:105720009046703B2831FFF7F0FE28445A4B584909 +:105730002BF814005D46424656F82400703B283191 +:10574000FFF7A9FE4FF4FA62514201F0DBF93AF992 +:1057500014103131622900D8002035F8141040F6B9 +:10576000B832084400B225F81400514201F0CAF9D9 +:1057700025F81400484859F82710641C40F82710F1 +:10578000022CAFDBBDE8F09F70B5054608681968CC +:105790001446401A05F0AAFA3D49C96A05F024FAF0 +:1057A00005F0B2FA01463A48503041602968226853 +:1057B000891A016070BD2DE9F0410F46DDE90685CB +:1057C000116800681E46081A05F090FA0446306811 +:1057D0003968401A05F08AFA2D49C96A05F004FAB9 +:1057E0000646014605F000FA07462146084605F040 +:1057F000FBF9394605F0A0F906F06CFD284905F0E3 +:10580000F3F905F09AFAC8F8000084F00040314638 +:1058100005F08AFF234905F0E7F9234905F08CF9E3 +:1058200005F072FA2860002803DA48F6A04108441F +:105830002860BDE8F0812DE9F0471C48144CD0E900 +:105840000056617804F1480991B34FF07E50A16A87 +:1058500005F000FA8246D9F80400301A05F046FA3D +:10586000E16A05F0C1F9514605F0BEF905F04CFAC0 +:1058700007B2D9F8000004F11A08281A05F036FA20 +:10588000514616E0B0B9FFFFEC070020DB0FC9401E +:10589000BC020020D30237398C0D002028010020E3 +:1058A0002C7D8E3FA00CB34500A00C464C0100207F +:1058B0001AE005F099F905F027FA01B204F1240085 +:1058C000B0F902203A4402EBD27242F34F02A8F838 +:1058D0000220B0F90030194401EBD17141F34F01BE +:1058E000A8F800104280018001206070C9E90056CC +:1058F000BDE8F08710B5044605F0F8F9002C01DC8E +:1059000080F00040F74905F0A5F9F74905F06CF97A +:1059100006F034F8F549C86210BD10B5F44CE07AD1 +:10592000002811D0F348007805280DD3F249F34A36 +:105930000868106049685160FFF7DCFFF048EB49E8 +:10594000008888820120207310BD2DE9F043E749CB +:10595000EC48E74B8E7A012502790024062E29D0E7 +:1059600004DC022E09D0032E04D116E0122E33D00F +:10597000302E3DD00020BDE8F083DF4A46685660F7 +:105980008668166000694FF47A7290FBF2F0DE4A86 +:105990001080C87AD8724D7351E04079C00701D0A9 +:1059A000032A03D00020C87210B148E00120FAE7B2 +:1059B000DC7244E0C27AD20702D0827A032A03D092 +:1059C0000022CA7212B102E00122FAE7DC72C94A6F +:1059D00090F82F00107032E0CC4B828A1A808069D8 +:1059E00042F2107290FBF2F0C94A10808D7326E0EB +:1059F000C84B102A1A7001D910221A700022C64E04 +:105A0000C64FDFF81CC3DFF81C931D7815E000BFFC +:105A100002EB420300EB830393F8088006F8028050 +:105A200093F8098007F8028093F80B800CF8028045 +:105A300093F80C8009F80280521CAA42E8DB487BEC +:105A40008A7B104097D04C738C73012093E72DE92B +:105A5000F041A64900240A4691F809E092F807C0EF +:105A6000157A0CEB0003D78ADEB22246BEF1090F8D +:105A700051D2DFE80EF008050F151C23334349000F +:105A8000622803D04A72B52802D044E0022033E0F5 +:105A9000012031E003224A720873C87108723AE0AB +:105AA00004224A72CE7172190A72887233E005229A +:105AB0004A72CE7172190A72C8822CE006234B72A8 +:105AC000731907EB0020CE7180B20B72C882B0F55B +:105AD000007F01D9CA824A720A831CE0CE71721912 +:105AE0000A720A8BC82A01D2864B9854521C90B273 +:105AF0000883B8420FD1072048720CE008234B728C +:105B0000844508D04A7206E04A72854203D1FFF705 +:105B10001CFF00B1012420468BE670B5034600202F +:105B20000246054611E02E2C04D1521C00290FD04C +:105B300054181D559C5C00EB80004000A4F1300619 +:105B4000092E01D830382044521C9C5C002CEAD12C +:105B500070BD2DE9F04100268046354637460446A3 +:105B600004F016FF016800E0641C2078085C20281F +:105B7000FAD0404609E01EB106EB86025206160E28 +:105B800010F8012B303E3244D6B2221A022AF2DC3F +:105B900009E01DB105EB85025206150E10F8012B28 +:105BA000303D2A44D5B28442F3D820782E280ED135 +:105BB000641C002007EB8702570022788B5C202BA7 +:105BC00002D1303F1744641C401C0428F2DB5648C5 +:105BD0000621454307EBC70000EB071005EB8000EB +:105BE000B0FBF1F051494E4300EBC61021E62DE920 +:105BF000F04700273D4C0546242815D0414E20464D +:105C0000F43EC0782C2D13D02A2D11D021460D2D15 +:105C1000497964D00A2D62D00F2802D23554401C35 +:105C2000E07000295CD0BAE0A770E7702771B6E099 +:105C30003754A0784FF0010928B1A179012921D06A +:105C400002294ED0A2E0A7713078472807D170789A +:105C5000502804D1B078472802D0522809D095E0C6 +:105C6000F078472804D13079412801D184F8069092 +:105C70008CE0F0784D2804D13079432801D10220FE +:105C8000A07183E0DFF8708002280CD003280FD0C9 +:105C9000042816D0052819D0062849D0072850D046 +:105CA000092855D072E01748F438FFF752FF05E095 +:105CB000307853286AD1D8F800004042C8F8000074 +:105CC00064E01048F438FFF744FF05E030785728C7 +:105CD0005CD1D8F804004042C8F8040056E063E004 +:105CE0005AE03BE08096184B35FA8E3CBC0200200F +:105CF0008C0A0020D30000204C0100205401002019 +:105D0000B0010020DC0D0020760100207801002089 +:105D1000660100207A010020FA0A00200A0B002008 +:105D20001A0B00202A0B002040420F002D310100E9 +:105D30003078302801D9012000E00020F849C872ED +:105D400024E00021F748FFF7E8FEF74908701DE05E +:105D50000021F448FFF7E1FEF44916E0072802D0DD +:105D600008280DD012E00121EE48FFF7D6FE41F2DF +:105D7000184148434FF47A71B0FBF1F0EC4904E06C +:105D80000121E848FFF7C9FEEA490880A078401CD5 +:105D9000A070E7702A2D04D020796840207100207F +:105DA000A6E584F80590FAE70029F8D0307800F0ED +:105DB0000BFB0501707800F007FB28442179C0B285 +:105DC00088426771EBD1A0790128E8D190E52DE9EF +:105DD000FF5FD949C0B291F81D1119B1012904D052 +:105DE00002297CD1FFF703FF01E0FFF730FE002816 +:105DF00075D0CC4C1034A068E06002F07EF9A06051 +:105E00002020FBF721FECD484FF0000B017801293F +:105E100010D001210170C248C17A00295FD0C24967 +:105E2000097805295BD38246407830B19AF80C1086 +:105E300031B108E080F800B0EDE78AF80CB002E07C +:105E400008B1FFF76AFDBE4805218E460278BE4CB8 +:105E5000521CB2FBF1F301FB1322BA49027000207D +:105E600091F90090B64954F820306831B44D41F8AA +:105E70002030B649783593FBF1F145F82010B44D48 +:105E800000EB80074D4303EBC51342F2107593FB03 +:105E9000F5F5AEB2AA4D403525F81060A14DCC35D0 +:105EA00005EB8707A64D57F822C0603555F82080CE +:105EB00047F82230A8EB0C0C634445F8203093FBE4 +:105EC000FEF3A34D6D42694303EBC1119C4B70334C +:105ED000B9F1010F43F8201007D1B61E00E080E0B1 +:105EE000B6F5797F01D844F82010401C0228B9DBB0 +:105EF00002F003F9924D296A401A04F000FF954917 +:105F000004F0A8FEA86202F0F8F82862A86A4FF030 +:105F10007E51884200DB0846A86203A902A88E4B86 +:105F2000CDE900011A1F211D8748FFF744FC0298A4 +:105F30006426B0FBF6F08949894A574608800398E1 +:105F400090FBF6F010809AF80C0018B9A1F800B098 +:105F5000A2F800B0FFF76FFC387A10B9F879002882 +:105F60003FD07749343101F1080000F11C07CDE939 +:105F700000013B1D3A46211D7348FFF71CFC231D01 +:105F8000714A391D3846FFF7FFFB6E4C94F900004B +:105F9000012828D0022824D1724F0121B7F9BE0070 +:105FA00000F0EFF9FFF71DFB97F8BA006E4A18B141 +:105FB000686C90FBF6F01080B7F8B600E96B884289 +:105FC0000BD2D5E90D01401AFFF758FA002800DC82 +:105FD000404242F21071884203DD01202070A88AFD +:105FE0001080BDE8FF9FFFF770FBFAE72DE9F0474F +:105FF0005C4C607904F083FEDFF87091494604F050 +:1060000029FE484D24352860E07B04F078FE49469F +:1060100004F020FE564EEE606860A07904F06FFE3A +:10602000544F394604F016FE10352860207C04F0E9 +:1060300066FE494604F00EFE6860A07E04F05FFE36 +:10604000DFF81081414604F005FEC5E90206E0795B +:1060500004F055FE394604F0FDFD10352860607CE3 +:1060600004F04DFE494604F0F5FD6860E07E04F062 +:1060700046FE414604F0EEFDC5E9020638E470B57F +:1060800006460325002000F06CF94FF48070FBF702 +:10609000E8FC00281FD0234C1034667002F02DF865 +:1060A000A06000206060244890F81D0100B901251F +:1060B000FFF79CFF304906EB46002B4651F82020A5 +:1060C0002E492F4802F0A8F92E494860BDE87040DB +:1060D000012000F046B970BD2DE9F041164F294D61 +:1060E000104C97F81D11244E6868103411B1012925 +:1060F0007BD10BE0617801EB410156F8211003F0F0 +:10610000FBFBBDE8F041032000F02BB903F0F7FBE7 +:1061100028B120780128206937D0A8B356E064E080 +:106120008C0A0020E80C0020D3000020760100201B +:106130007801002066010020700400206401002026 +:10614000BC020020C90000204C010020809698006D +:10615000D3CEFEFF00007A445801002072010020D7 +:1061600074010020EC070020B20100200000C842AA +:106170000000FA4400002041A8D10008CF5D0008CB +:1061800000440040E008002018E0052811D200EB90 +:10619000400056F82010686803F0AEFB97F91E0126 +:1061A00000EB400006EB80004168686803F091FB5B +:1061B00014E097F81E016070022014E0607800EB94 +:1061C000400056F82010686803F096FB20698C2880 +:1061D00008D28449095C686803F078FB2069401C98 +:1061E000206102E0032000F0BCF80020606093E42E +:1061F00010B57D4C207805282DD2DFE800F02C0367 +:10620000031C0600BDE8104066E760680521401CDD +:1062100060606078401CC0B2B0FBF1F201FB12007C +:10622000607001F06AFF7149A06000200870704939 +:10623000C87201200BE001F060FFA168401A40F62F +:10624000C411884207D92020FBF703FC0420BDE8D5 +:10625000104000F086B810BD2DE9F05FDFF888A18E +:106260000024644FDFF89081DFF890910AF1440A2E +:1062700025460AF1280B00BF27F8145028F81450BF +:1062800004EB840629F814500AEB860000F0A5F808 +:106290000BEB860000F0A1F85348943000EB860029 +:1062A00000F09BF8641C022CE6DBBDE8F09F2DE9B2 +:1062B000F0414D480078032802D04FF0FF302BE426 +:1062C0004F4C504D002061684FF00808C862C5F877 +:1062D000008010262E602F1D606803F007FB50B170 +:1062E000C7F80080606803F004FB0146206803F0F3 +:1062F000EDFAC5F80080206803F0F8FA0028EBD02A +:106300003E60206803F0F5FA0146606803F0DEFAAB +:106310002E60E1E77CB53C4C026822600968616050 +:106320000068FFF7E7FAA4F1240101F10800374EF5 +:10633000CDE90001231D2246311D3046FFF73BFA0F +:10634000A4F15805331D686B68643246211D204650 +:10635000FFF71AFA686BA8632D48B0F8BC00688292 +:106360007CBD2149087000200861704710B50C46BB +:1063700004F0BCFC216804F037FCBDE8104004F0D8 +:10638000C3BC70B5204C583CE26B21B1B0EB520F4E +:106390000BD3500809E0904200D310461C4900B2CC +:1063A000B1F8BC10814200DB0846B4F9125000B2CB +:1063B000A84208DD1749A06A04F016FC04F0A4FC0A +:1063C000284400B2608270BD3038C0B2092801D9BB +:1063D000C01FC0B200F00F00704700210160416093 +:1063E00081607047E4D10008F80C0020D300002041 +:1063F0008C0A00200C0100202C0100202801002024 +:10640000E0080020100C0140140300204C01002083 +:10641000EC0700200000C842F0B5404A404C11781B +:10642000E9B192F805C01779032104F11C035E1845 +:1064300016F8015CFD4005F00F05072D09D213F891 +:1064400001E016F8016C06EA0C060EEB062644F88D +:106450002560891CC9B21029E9D300211170314986 +:1064600007280ED2937863B151782E4A104490F8E1 +:106470000A0149B154F820004FF4777101EB500044 +:1064800006E0B1F81401F0BD34F8200000F5777093 +:1064900080B2F0BD70B5214C01260546A67001F012 +:1064A00012FEA168421AC4E9020241F288300021BA +:1064B000824200D9E1701A4AE0781C3215540F2844 +:1064C00002D0401CE07070BD17482670018070BD7E +:1064D00070B504461348114990F81221032007258E +:1064E0002AB1012A08D108714D71012003E002226E +:1064F0000A7148710020487001234FF4E1320B49C2 +:106500000B4801F089FF01460A48C1600CB10A49F5 +:106510002160457470BD0148007870473C0300203D +:10652000A40E002070040020D6000020956400080E +:1065300000440040E00800201964000870B57C4C5D +:1065400006460125207880B901F0D7FDA1683231D7 +:10655000884207D32570012001F0E9FD01F0CDFD4F +:10656000A06070BD20780028FBD001F0C6FDA168B6 +:1065700031448842F5D30020207001F0D8FD01F0AD +:10658000BCFD6C49A060087808B1401E08706570B9 +:1065900070BDF8B5664D8DF800008DF801108DF8CE +:1065A00002208DF80330A8791DF8001044292DD061 +:1065B0004C2929D04D2925D04E292AD03224002615 +:1065C000032806D274B12046FFF7B8FFA879032844 +:1065D00008D301F092FDA968001B884202D95548F2 +:1065E000AE7106706878012801D0002C09D1A87915 +:1065F000032801D2401CA8716E702E70002001F09B +:1066000096FDF8BD6424DAE7C824D8E74FF4FA64AD +:10661000D5E70024D3E72DE9F047DFF81CA10546B4 +:10662000434C9AF80D004FF00109002610B184F890 +:10663000029000E0A6704FF40070FBF712FA3F4F93 +:1066400018B33F493F484FF0020C91F8AC30B0F915 +:10665000000003EB830282420FDA97F80180B8F161 +:10666000000F0AD084F8049091F8AD10194401EBA2 +:106670008101814201DA84F804C0824203DA797828 +:1066800009B984F804C000B926712020FBF7D4F9B9 +:1066900040B19AF80A1011B99AF80B0008B1F87ACB +:1066A000A8B1E6702079022814D0012817D0E0782C +:1066B000012817D0A078012817D0042D19D0022D59 +:1066C0001ED0012D1ED0607901281ED022E084F852 +:1066D0000390E7E74E22442311464C200DE04D2362 +:1066E0004C2208E04D234E2201E04D23532253213A +:1066F00002E044234D224D215320BDE8F04748E7F6 +:10670000442305E044234E22F5E7787810B14E2368 +:106710004D22ECE70748007818B1BDE8F047322079 +:106720000CE72670BDE8F047002001F000BD000036 +:106730004C030020C8000020E60A00208C0A00203C +:10674000EC070020D600002010B5DE4C5E28A268C1 +:1067500007D05D280CD001461046BDE8104003F07C +:10676000B5B85D21104603F0B1F83E21A068F4E70A +:106770005D21104603F0AAF83D21A068EDE72DE960 +:10678000F041132000F055F9CF4C2068002800DCC0 +:106790004042CE4D90FBF5F000B200F05CF91B20BA +:1067A00000F047F92068002800DC40420A2690FBF0 +:1067B000F6F042F2107790FBF7F107FB110000B200 +:1067C00000F049F9232000F034F92068002801DAAC +:1067D000532000E04E2000F03EF9122000F029F98D +:1067E0006068002800DC404290FBF5F000B200F049 +:1067F00032F91A2000F01DF96068002800DC4042E0 +:1068000090FBF6F090FBF7F107FB110000B200F0EF +:1068100022F9222000F00DF96068002801DA5720E3 +:1068200000E04520BDE8F04100F015B910B54FF487 +:106830000040FBF716F9A64AA24920B192F82901B7 +:10684000012806D002E0002082F82901086888604B +:1068500010BDA048FBE770B59D4890F8291111B90B +:106860009D4A52780AB1012400E000249B4D2A7809 +:10687000944209D039B914B14FF4165001E0D0F860 +:106880002001FEF7CCF82C7070BD2DE9F047904840 +:1068900090F8290118B99048407800287ED089489E +:1068A000806803F023F8002878D101F026FC8B4D96 +:1068B0006968401A7D2871D301F01FFC6860687810 +:1068C000874F401CDFF81C82DFF81C9268700024A0 +:1068D00004F12400C0B200F0ACF8388804F00FFADC +:1068E000064638F9140004F001FA314604F0B2F912 +:1068F000494604F079F904F007FA00B200F0ABF869 +:10690000641C032CE4DB302000F093F87748008807 +:1069100000B200F0A0F800F099F868784FF0640435 +:10692000800727D1102000F084F8714E306890FB6A +:10693000F4F000B200F08FF8212000F07AF830680F +:1069400090FBF4F104FB1100002800DC404200B28F +:1069500000F081F8142000F06CF86648B0F90000EF +:1069600000F079F81C2000F064F8002000F073F8C3 +:1069700000F06CF86878400735D1022000F059F833 +:106980005D484FF00A08B0F9001091FBF8F000B232 +:1069900000F061F80220FBF764F800E047E0D0B1B6 +:1069A00000F063F855486E21007848431521B0FB8C +:1069B000F1F63A2000F03DF8B6FBF4F738B200F0FB +:1069C0004AF83B2000F035F804FB1760401DB0FB8F +:1069D000F8F000F040F82020FBF72EF808B1FFF7A0 +:1069E000CEFE00F033F86878282820D100206870A7 +:1069F00001F083FB4FF47A71B0FBF1F43C25B4FB5A +:106A0000F5F6B6FBF5F005FB1067172000F011F85E +:106A1000380200B200F01FF8182000F00AF805FB59 +:106A2000164000F018F8BDE8F04700F00FB8BDE8D8 +:106A3000F08770B5234C05465E21A06802F046FF42 +:106A40002946A068BDE8704002F040BF1D485E21A5 +:106A5000806802F03BBF10B50446C0B2FFF774FE79 +:106A6000C4F30720BDE810406EE670B52348244EFD +:106A700040F6340200783178184DB0FBF1F0504305 +:106A80002A22B0FBF2F06A88B2FBF1F301FB13217A +:106A90004FF6FF7202EA011141EA0024C0F303201D +:106AA00004430620FFF7C5FF20B2FFF7D4FF688834 +:106AB0003178401C80B2B0FBF1F201FB120068801B +:106AC00070BD0000E00800204C010020A0860100FD +:106AD00070040020FC1400208C0A002058030020C1 +:106AE000820100208000002000007A442C00002059 +:106AF00020000020B0010020E8000020D20000208B +:106B000068010020884201DA084670479042FCDDA7 +:106B1000104670472DE9FE4F97499748E831B0F984 +:106B2000E600B1F90050B1F9024010B90DB9002CDE +:106B30007ED0924A0021117004F0D8F8904F394667 +:106B400004F052F8DFF83C82414604F083F8064630 +:106B5000284604F0CBF8394604F046F8414604F0E4 +:106B600079F80546204604F0C1F8394604F03CF8AF +:106B7000414604F06FF80746304604F0FFFE0290ED +:106B8000304605F0E1FA0190284604F0F7FE06468B +:106B9000284605F0D9FA0546384604F0EFFE0446CB +:106BA000384605F0D1FA00902046029904F01CF80E +:106BB00081463146204604F017F880460299009835 +:106BC00004F012F883462146019804F00DF882463D +:106BD000DDE9001004F008F86B4C074686F0004031 +:106BE000C4F80080009903F0FFFFC4E901052946BD +:106BF000504603F0F9FF594603F09EFFE060294636 +:106C0000384603F0F1FF494603F0EBFF206101989D +:106C1000314680F0004003F0E7FF606129464846B6 +:106C200003F0E2FF394603F0DCFF2946A06100E0F3 +:106C30000BE0584603F0D8FF514603F07DFFE061BA +:106C40003046029903F0D0FF2062BDE8FE8F2DE9A7 +:106C5000F0470546B0F90080B0F90260B0F90400D1 +:106C600004F044F8484C8246A16903F0BDFF074692 +:106C7000304604F03BF88146E16803F0B5FF064674 +:106C8000404604F033F88046216803F0ADFF3146FA +:106C900003F052FF394603F04FFF04F02FFF288026 +:106CA0005046E16903F0A0FF07464846216903F01A +:106CB0009BFF06464046616803F096FF314603F0AD +:106CC0003BFF394603F038FF04F018FF6880504658 +:106CD000216A03F089FF07464846616903F084FF93 +:106CE00006464046A16803F07FFF314603F024FFCB +:106CF000394603F021FF04F001FFA880BDE8F087CA +:106D0000092A11D2DFE802F0100509161C21262AF3 +:106D10002E0002880A80428803E042880A800288A6 +:106D20000CE04A808088888014480078002822D1AE +:106D300008468CE7028852420A8042885242F0E7B5 +:106D4000428852420A800288EBE7028852420A8057 +:106D500042880CE042880A80028808E002880A80A3 +:106D6000428803E0428852420A80028852424A80A6 +:106D700080884042D7E770477004002060030020FD +:106D8000DB0F494000003443D00E00204449084442 +:106D9000444990F80A0151F820004FF4777101EB53 +:106DA000500080B2704710B5044601F08CF93E499E +:106DB00002464868131A0020B3F57A6F00D948706C +:106DC0004A604A780AB90F2C0AD1087032B1354BA3 +:106DD00020331344182A03F8014C02D0521C4A7085 +:106DE00010BD304A2032D27D0AB901220A704870A3 +:106DF00010BD10B504462A4800212A4BB0F81401F2 +:106E00004200A2F5F76200BF43F82120491C08297F +:106E1000FADB0123254A2649264801F0FDFA0146FE +:106E20002548C1600CB1254921600821417410BD7D +:106E30001D4B10B5187840B11A484FF000022030B1 +:106E4000817DC908C90702D01A70002010BD1C49F5 +:106E5000401C0A8030F8011CC1F30A0411490C607F +:106E60000488C4F3CA044C600468C4F38A348C6098 +:106E7000B0F80340C4F34A04CC608488C4F30A1415 +:106E80000C614468C4F3CA344C61B0F80740C4F3E1 +:106E90008A048C6100894009C8611A70012010BD04 +:106EA00070040020F40E002064030020A08601007E +:106EB000A76D000800440040E00800208D6D000828 +:106EC000D60000202DE9F0410646007890B008B1C8 +:106ED000012500E00025DFF8D880404602F0D0FE12 +:106EE0003448009000243448CDE90104012725B13D +:106EF0000220CDE90304802002E0CDE903740020E4 +:106F000005904FF480700690800007902020089034 +:106F10000002CDE909046946404602F01EFF012146 +:106F2000404602F044FF8DF830500B948DF83170DC +:106F30004FF46020CDE90D040DB1022000E00120E6 +:106F40001C4C8DF83C004C3C0BA9204602F004FE82 +:106F5000032301220421204602F053FE2DB1317893 +:106F600003230222204602F04CFE0121204602F0BB +:106F70001CFE0121204602F00EFE204602F01FFEFC +:106F8000204602F021FE0028FAD1204602F023FE1E +:106F9000204602F025FE0028FAD10121204602F009 +:106FA00026FE10B0BDE8F081034931F810007047AB +:106FB000080002404C2401406C0300202DE9FF47EB +:106FC000DFF86C81814698F80000D0B300273E4678 +:106FD0003D463C46641CE4B202AB082232215320F9 +:106FE00000F063FD9DF808009DF80910202C00EBCF +:106FF000012000B207449DF80A009DF80B1000EB39 +:10700000012000B206449DF80C009DF80D1000EB25 +:10701000012000B205449DF80F0000F07F0001D26E +:107020000028D7D197FBF4F0ADF8000096FBF4F000 +:10703000ADF8020095FBF4F0ADF8040088F80240CA +:107040001EE0FFE702AB06223221532000F02DFDA7 +:107050009DF808009DF8091000EB0120ADF8000034 +:107060009DF80A009DF80B1000EB0120ADF802001E +:107070009DF80C009DF80D1000EB0120ADF8040008 +:1070800098F8012049466846FFF73AFEBDE8FF87B9 +:1070900070B5274D04464FF0080228784FF02D01B7 +:1070A00000284FF053000ED000F0F9FC0A223121E5 +:1070B000532000F0F4FC0C222C21532000F0EFFCB4 +:1070C0009022382108E000F0EAFC0A223121532006 +:1070D00000F0E5FC0A222C21532000F0E0FC1549C9 +:1070E00040F20910002C088000D06C7070BD38B5DB +:1070F000054600208DF800000F480C460F49006837 +:1071000088420AD06B4601220021532000F0CDFCBA +:1071100018B19DF80000E52801D0002038BD0449D1 +:10712000287808700648206006486060012038BD55 +:1071300070030020820100200C040020001BB70017 +:1071400091700008BD6F000810B54FF480442046D0 +:1071500002F08AFE012805D1204602F093FEB949CB +:107160000120087010BD70B50D46B649B64A0646F6 +:1071700088885389B2F91440C01A13895843B2F968 +:107180001230C013DB02044493FBF4F31844D061C3 +:1071900000EB8000082202EB40000411886800F038 +:1071A000D0F806B13060002D00D02C6070BD38B52D +:1071B000A44C207810B96088401C60806B46032284 +:1071C000F621772000F071FC9DF800009DF8011079 +:1071D000000440EA01209DF8021008439A49B1F9E1 +:1071E0002010C1F10801C840A06038BD9648342184 +:1071F00090F8200001EB80109249C2B20020087084 +:10720000F421772000F04BBC38B58E4C207810B9B3 +:107210006088401C60806B460222F621772000F0D7 +:1072200044FCBDF8000040BAA08038BD854900206C +:107230002E220870F421772000F031BC2DE9F043B4 +:1072400004468248824985B00068884203D1002004 +:1072500005B0BDE8F083DFF8EC9199F8010008B1C2 +:107260000120F5E74FF40055ADF80C5002208DF8E1 +:107270000F001020774E8DF80E0003A9304601F064 +:1072800039FF6F00ADF80C7004208DF80E0003A9D3 +:10729000304601F02FFF35610E21022001F060FF22 +:1072A00000208DF8080008208DF809004FF0010833 +:1072B000019747468DF80A8001A802F09FFD28201B +:1072C0008DF810000F208DF811008DF812008DF848 +:1072D000137004A802F00DFC142000F01DFF6B4693 +:1072E0000122D021772000F0E0FB574F9DF80000ED +:1072F0000321F8753984552801D07561A7E76B46DD +:107300000122D121772000F0D0FB9DF8000000F091 +:107310000F0139760009787600F05CF889F8018071 +:1073200041F27070208046F6781060804A486060B4 +:107330004A48A0604A48E0604A4820614A48606183 +:107340008EE770B54049CA69B1F90E40A2F57A627C +:1073500002FB02F31D136C43E512B1F90240B1F9CF +:107360000460544305EBE424B1F9005004EB8505B7 +:1073700091F82040A54056437213B1F90C601B13DD +:107380005E4302EB2642921C9210C98802F500422D +:10739000AD1C5143C90B4CF25032A0EBA500E240AA +:1073A0005043B0F1004F03D24000B0FBF1F002E0D7 +:1073B000B0FBF1F040000112494340F6DE32514388 +:1073C0002A4A0914424301EB224101F6CF6100EB46 +:1073D000211070BD00B587B06B461622AA21772018 +:1073E00000F063FBBDF8000041BA17480180BDF80A +:1073F000021049BA4180BDF8041049BA8180BDF835 +:10740000061049BAC180BDF8081049BA0181BDF81B +:107410000A1049BA4181BDF80C1049BA8181BDF802 +:107420000E1049BAC181BDF8101049BA0182BDF8E9 +:10743000121049BA4182BDF8141049BA818207B0CE +:1074400000BD000074030020300F00200C04002059 +:10745000001BB700001001402D72000809720008DF +:10746000ED710008AF7100086771000843E3FFFF8A +:1074700038B5044600208DF800006B4601220A2131 +:107480001E2000F012FB18B19DF80000482801D022 +:10749000002038BD0CB18D480470012038BD7FB587 +:1074A000054602AB062203211E2000F0FEFABDF8BD +:1074B000080040BA00B203F019FC844C241D216876 +:1074C00003F092FB03F020FCADF80000BDF80A00C9 +:1074D00040BA00B203F00AFCA16803F085FB03F098 +:1074E00013FCADF80400BDF80C0040BA00B203F084 +:1074F000FDFB616803F078FB03F006FCADF80200C9 +:10750000201F294602786846FFF7FAFB7FBD2DE968 +:10751000F0476F4800246F49006825468EB02E461C +:107520004FF0010888420CD14FF48050ADF828008C +:1075300002208DF82B0004208DF82A000AA9664845 +:1075400008E06649884207D14FF48040ADF8280032 +:107550000AA9634801F0CEFD322000F0DDFD1122C2 +:1075600000211E2000F09BFA602201211E2000F065 +:1075700096FA642000F0D0FD6846FFF790FFDFF830 +:1075800058A1DFF8609100270AF10C0A01220221BC +:107590001E2000F084FA322000F0BEFD6846FFF79E +:1075A0007EFFBDF90210BDF90400BDF900200D44B5 +:1075B00014440644814201DA0B4600E0034693423C +:1075C00001DD104602E0814200DA0846484502DC4F +:1075D0004FF0000808E0DAF8001081F01001CAF856 +:1075E00000107F1C0A2FD1DB122200211E2000F088 +:1075F00056FA0027012202211E2000F050FA322004 +:1076000000F08AFD6846FFF74AFFBDF90020BDF98A +:107610000210BDF90400A41A6D1A361A814201DA6B +:107620000B4600E00346934201DD104602E0814232 +:1076300000DA0846484502DC4FF0000808E0DAF8B6 +:10764000001081F01001CAF800107F1C0A2FD1DB56 +:10765000204603F04BFB244F0146384603F0FAFA6C +:107660001A4C20F00040241D2060284603F03EFB09 +:107670000146384603F0EEFA20F0004060603046E4 +:1076800003F034FB0146194803F0E4FA20F000400F +:10769000A060702200211E2000F001FA20220121AA +:1076A0001E2000F0FCF9002202211E2000F0F7F954 +:1076B000642000F031FDB8F1000F04D14FF07E508E +:1076C00020606060A0600EB0BDE8F08780030020FD +:1076D0000C04002000127A00000C0140001BB700CF +:1076E0000010014000F0FFFF00406F4601C05E4601 +:1076F00030B587B005464FF44060ADF81400022065 +:107700008DF817001C208DF8160005A9FB4801F024 +:10771000F1FCFB4CE56000F007FAE06802F0B8FB12 +:10772000684602F020FC00224FF44071E06802F04D +:1077300050FC0025ADF804504BF6FF70ADF8060084 +:107740004FF48040ADF80C00EE4800900121E06855 +:1077500002F017FC6946E06802F0ADFB4FF4A06050 +:1077600002F0C2F922208DF810008DF811508DF82A +:10777000125001208DF8130004A802F0BAF921205C +:107780008DF810008DF8115004A802F0B2F907B07E +:1077900030BD38B5DA4CE068818A009111F4706F21 +:1077A00001D001212170009911F4E06F25D0018BE7 +:1077B00000224FF4806102F00CFC009880051CD47C +:1077C000E0680188890518D40188C9050CD50188AD +:1077D000C905FCD4012102F0E8FBE06801888905B5 +:1077E000FCD4FFF785FF08E0012102F0DEFB002258 +:1077F0004FF44071E06802F0ECFBE068818A21F40C +:10780000706181820020207138BDC2E72DE9F0410E +:10781000BB4CE068818A4FF00105C9B2CA074FF03E +:10782000000627D0018821F400610180012102F0C7 +:10783000C6FBE670607A20B1607860B9A079FF2855 +:1078400009D061790022E06802F0D0FBA079FF281E +:1078500048D0FF20C9E06570E079022804D1E068D3 +:10786000018841F40061018061790122E06802F041 +:10787000BDFB37E08A074FF4806745D5BFF3508FD3 +:10788000E079012810D1607A70B1607860B1002190 +:10789000E06802F094FBBFF3508FE068018B012198 +:1078A00002F083FBA57018E0E068008BBFF3508FF7 +:1078B000E079022808D1607A30B1607820B10021E7 +:1078C000E06802F07CFB06E0E079032805D1607AED +:1078D00018B1607808B1002200E001223946E06862 +:1078E00002F077FB94F90310E079401C814209D142 +:1078F0006670A07828B100224FF44071E06802F071 +:1079000068FB2671BDE8F0814A0753D5A570627AFD +:107910007B494978CAB3C9B3E17902291FD900214B +:1079200002F04DFBE06802F05EFB94F9031062691F +:107930005054491CE1700121E06802F036FBA5704B +:10794000E06802F050FB94F9031062695054491C3E +:10795000E17001223946E06802F03BFB25E001219D +:1079600002F023FBE06802F03EFB94F90310626929 +:107970005054491CE170E06802F035FB94F90310A3 +:1079800062695054891CE1700FE000E000E009B921 +:10799000217A31B1012102F008FBE078401CE0704F +:1079A00003E0012102F0F7FA6570E0680188C9057B +:1079B000FCD497E74A061AD502F015FB94F9031098 +:1079C00062695054491C48B2E070E179C01C8142A0 +:1079D00004D100223946E06802F0FBFAE17994F91B +:1079E00003008142E5D100F10100E0707AE7090669 +:1079F000DFD594F903104B1C5AB20BD02369595CA4 +:107A0000E27002F0EEFAE07994F9031088423FF454 +:107A10005AAF67E7E270A17902F0E3FA607A0028D2 +:107A20007FF451AFE0790028F1D05BE7EEE6B0E6F5 +:107A3000ECE670B5324C4FEA400047F230556071C9 +:107A4000A171012020720021617223616361E271E2 +:107A500020712170E068818889050ED40188C905EC +:107A600005D401888905FCD4012102F094FA012291 +:107A70004FF44071E06802F0ACFA207910B16D1E4D +:107A8000FBD104E01DB1207880F0010070BD608959 +:107A9000401C6081E068FFF72BFE002070BD07B539 +:107AA00002AB0122FFF7C5FF0EBD70B5144C4FEAC3 +:107AB000400047F230556071A17100202072012111 +:107AC000617263612361E27121712070E0688188D5 +:107AD00089050ED40188C90505D401888905FCD41F +:107AE000012102F058FA01224FF44071E06802F0DF +:107AF00070FA207940B16D1EFBD10AE0000C014004 +:107B000090030020801A06001DB1207880F001004B +:107B100070BD6089401C6081E068FFF7E9FD0020CE +:107B200070BD2A48408970472DE9F84F4FF44067EF +:107B3000ADF800704FF0020A8DF803A01420DFF8B2 +:107B400090B08DF802006946584601F0D3FA204DF6 +:107B500010352F60DFF8789000262C1505F1040809 +:107B600009F1080902E00A2000F0CAFAD9F8000079 +:107B70004005F8D5C8F800400A2000F0C1FA2C6092 +:107B80000A2000F0BDFA761CF6B2082EEED34FF4B0 +:107B900000694646C8F800900A2000F0B1FA346047 +:107BA0000A2000F0ADFA2C600A2000F0A9FAC5F80E +:107BB0000090ADF800708DF803A01C208DF8020035 +:107BC0006946584601F096FABDE8F88F9003002008 +:107BD000000C014038B504466B4602221B21682088 +:107BE000FFF763FFBDF8000043F2903140BA08444C +:107BF0004FF48C71B0FBF1F02330208038BD1FB5FD +:107C0000044602AB06221D216820FFF74EFFBDF897 +:107C10000800214640BA02B2D01702EB90708010E3 +:107C2000ADF80000BDF80A0040BA02B2D01702EB6E +:107C300090708010ADF80200BDF80C0040BA02B29E +:107C4000D01702EB90708010ADF804002F484278F6 +:107C50006846FFF755F81FBD70B50446192000F0BF +:107C60005BFA002215216820FFF719FF10B90320E5 +:107C700000F0FCFA254D1621287840F01802682003 +:107C8000FFF70DFF002217216820FFF708FF0122F0 +:107C90003D216820FFF703FF01223E216820FFF706 +:107CA000FEFE002C00D06C7070BD70B504460D4611 +:107CB000192000F031FA002215216820FFF7EFFEAD +:107CC00000281CD012482060124860601248A06052 +:107CD0001248E0600D48622D12D004DC0A2D13D04A +:107CE000142D05D10EE0BC2D06D0B5F5807F01D056 +:107CF000032102E0002100E001210170012070BD9C +:107D00000221FAE70421F8E70521F6E7A80300209D +:107D1000597C0008FF7B0008D57B0008184492318D +:107D2000FEB5064614460D46684602F039FC0120B1 +:107D3000ADF804000021ADF80050ADF80610ADF824 +:107D40000810ADF802406946304602F079FBFEBDEE +:107D500070B51646D04A02EB0015D04A02EB00146B +:107D60000122206801F003FBD4E90101182200F090 +:107D700087F9217B3246206800F03FF9A07B18B1DB +:107D80000121206802F01EFC0121206802F010FC95 +:107D9000207B30B1042807D008280AD00C2806D14F +:107DA0000AE02068343001E0206838302860284636 +:107DB00070BD20683C30F9E720684030F6E72DE9D7 +:107DC000F0410546B4480F4600EB0516B348B271C2 +:107DD00000EB05142822D4E9010100F051F9217BC0 +:107DE00000222068FFF79CFF01224FF6FF7120461A +:107DF00001F0DAFA3A462946204601F09BFA30466D +:107E0000BDE8F08170B5A648002402894281018155 +:107E1000891A8BB240F68C218B4201D9C47070BD97 +:107E20009F49A3F2EF2540F2DB569E4AC978B5423E +:107E30001BD2082919D2984DE035042925F81130B4 +:107E400007D2C588AB4204D9012305798B402B4367 +:107E5000037103790F2B08D10471B2F90030142B90 +:107E600002DD143B138000E01480491CC1701480B3 +:107E700070BD70B5884A894B02EB001203EB00130A +:107E8000D47918681B7B8CB151811489824D091BF0 +:107E900091819479E03525F814100024D47122469C +:107EA0001946FFF73DFF7F48048070BD1181012115 +:107EB000D171BDE870400222194631E72DE9F04743 +:107EC0000446774DE1890020E980A17901B10220C3 +:107ED000617801B1401C7449DFF8D081002651F867 +:107EE00020704FF47A79BA5D02F00F0002F0F001D1 +:107EF000FF2A65D0A2781AB102285ED003285CD090 +:107F0000E2783AB1042858D0052856D0062854D033 +:107F1000072852D0E2790AB182424ED011F0300FD8 +:107F200002D0227802B90021227932B1A27922B995 +:107F3000082801D0092800D1802162792AB1A279CC +:107F40001AB9021F032A00D88021CA0605D50022CB +:107F50005749FFF734FF082008E08A0608D5AA78B9 +:107F60005449FFF72CFFA87800F10100A87024E025 +:107F70004A0612D52289B8FBF2F1A28989B202B968 +:107F80004A46FFF7E5FE0146434A2878F03242F8B8 +:107F9000201000F1010028700FE009060DD562895C +:107FA000B8FBF2F189B24A46FFF7D2FE0146424AD7 +:107FB000687842F82010401C6870761C0E2E92DB08 +:107FC0000020BDE8F087364A1278904205D23A4A3E +:107FD000303A52F82000006801807047304A5278E9 +:107FE000904204D2344A52F8200000680180704761 +:107FF0003149403931F8100070477FB506461546C3 +:108000000C46684602F0C2FA7020ADF8000001206C +:10801000ADF802000020ADF804000220ADF8080021 +:10802000C001ADF80650ADF80C0074B1042C15D0A9 +:10803000082C1CD00C2C07D16946304602F04CF9B4 +:108040000821304602F0E7FA7FBD6946304602F06B +:1080500098F80821304602F0C8FA7FBD69463046DC +:1080600002F0C4F80821304602F0C5FA7FBD694627 +:10807000304602F0F7F80821304602F0C6FA7FBD1C +:1080800008B5ADF800108DF8022002218DF803101C +:10809000694601F02FF808BD540F0020E4D2000813 +:1080A000AA030020D6000020A8D2000840420F00FA +:1080B000057E0008737E0008741000208048416827 +:1080C000491C4160704710B57D484FF0E02341687E +:1080D0009A694468A142FAD10368006803EB43043B +:1080E000C4EBC313C2EBC302B2FBF0F001EB4102DD +:1080F000C2EBC11100EBC10010BD71484068704770 +:1081000030B50546FFF7DFFF4FEA0004FFF7DBFF5E +:10811000001BA842FAD330BD30B504464FF47A753F +:1081200002E02846FFF7ECFF641EFAD230BD644936 +:10813000896808474FF4805108B1624801E06148FE +:10814000001F016070474FF4805110B15D48001F5F +:1081500000E05C48016070472DE9F04F8DB01822B7 +:108160005949684602F041FC032701F016FC012141 +:10817000564801F0A1FF012144F61D2001F093FFB4 +:108180000121084601F086FF01F0B1FF4FF6FF70B4 +:10819000ADF818004B484FF0000A8DF81AA006A958 +:1081A000143800F0A7FF06A9494800F0A3FF06A96C +:1081B000484800F09FFF4848416841F00071416025 +:1081C000464DDFF81C813E4E2968414501D14548A6 +:1081D00000E04548B0600020FFF7A9FF3C490820B7 +:1081E0001031086010200860A946002483466D46BF +:1081F000D9F80010414506D105EBC4008179142956 +:1082000001D180F806B005EBC401091D55F8340012 +:1082100000F070FF641CBC42EAD307A801F0F4FE32 +:1082200032490798B0FBF1F0306031484FF47A7171 +:108230000068B0FBF1F0B0F1807F0CD220F07F41FC +:108240004FF0E020491E41612A4AF0211170C0F828 +:1082500018A0072101612848FFF74AFA00F0C9FF7A +:108260006420FFF759FF0DB0BDE8F08F184A1021C8 +:10827000143211600821121F11600446151F40F2CC +:10828000DB104443286880F010002860286880F0E4 +:1082900008002860A01EFFF73FFF0120FFF747FFFF +:1082A0001920FFF739FF0020FFF741FFEAE710B17F +:1082B0001349124808600F4912481739086070477F +:1082C000B803002014080140B8D20008070040009D +:1082D000000C014000100140000001400C0400208F +:1082E000001BB700478100083581000840420F009D +:1082F0000804002023ED00E000580040EFBEADDE92 +:10830000F04F00200400FA057CB5FA4C0D46FA49FE +:108310002160A060A4F53070606100F58070A061FC +:108320004FF48070E0602061F4482063F34801213D +:1083300014386063880301F0B6FE02208DF8030054 +:108340000002ADF8000018208DF80200EC4EA807DE +:1083500003D56946304600F0CDFE4FF48060ADF89D +:10836000000048208DF80200E80703D06946304637 +:1083700000F0C0FE0E208DF8040001208DF80500ED +:108380008DF806008DF8070001A801F0B2FB204629 +:108390007CBD2DE9FC41D74C0D464C34D6492160BB +:1083A000A0608020E06040202061A4F586706061BC +:1083B0008030A061D3480121A064480401F07CFE14 +:1083C00002268DF803600420ADF8000018208DF817 +:1083D0000200CB4FA80703D56946384600F08AFE55 +:1083E0000820ADF8000048208DF80200E80703D00F +:1083F0006946384600F07EFE26208DF804000120F4 +:108400008DF805008DF806608DF8070001A801F0D1 +:1084100070FB2046BDE8FC812DE9F0438946064605 +:10842000B9490024B7488FB01D4617468E4204D183 +:1084300019461046FFF768FF05E0864204D1194649 +:108440001046FFF7A6FF04464FF00008C4F820804E +:10845000C4F81C80C4F82880C4F82C90C4F8248088 +:10846000A6642571A760ADF83080ADF834800B9715 +:10847000ADF83280ADF83880ADF83680E80702D02C +:108480000420ADF83600A80705D5BDF8360040F049 +:108490000800ADF836000BA9304602F0E3F80121E0 +:1084A000304602F037F9684601F074FC301D009048 +:1084B0004FF48050CDE909088020CDF81080CDE937 +:1084C00005084746CDF81C80E80723D0206BD8B1BB +:1084D000E068CDE902702020089060690190206B6F +:1084E00001F0CEFB6946206B01F037FC0121206BC7 +:1084F00001F05DFC01224021304602F02DF9206B95 +:1085000001F06AFC206405E0012240F2255130466A +:1085100002F00AF9A80724D5606BE0B12069039046 +:10852000102008970290606B01F0AAFB6946606B0F +:1085300001F013FC01220221606B01F043FC0021D9 +:10854000606B01F047FC606B476001228021304680 +:1085500002F002F905E0012240F22771304602F0F4 +:10856000E3F80FB02046BDE8F0837FB50446002055 +:10857000ADF80400ADF808000091ADF80600ADF8C4 +:108580000C00ADF80A0020790D46C00702D0042087 +:10859000ADF80A002079800705D5BDF80A0040F043 +:1085A0000800ADF80A006946A06C02F05BF8A5600F +:1085B0007FBD826A81691144426BD160D0E9092193 +:1085C00000238A4205D9511A426B5160416A816287 +:1085D00004E00269511A426B5160836280F84430B2 +:1085E000406B012101F0E3BB016B11B14968006CE4 +:1085F00001E01C3003C8814201D0012070470020F7 +:108600007047416B11B190F844007047243003C8A3 +:10861000814201D1012070470020704710B501460A +:10862000036BC268406943B10B6CD21A805C5B1E5D +:108630000B6401D1CA680A6410BD0B6AC05C5B1C84 +:10864000B3FBF2F402FB14320A6210BD436A826982 +:10865000D154416A0269491CB1FBF2F302FB1311C8 +:108660004162416B19B10968C90706D1A1E7806C65 +:10867000012240F2277102F057B8704710B51D4C27 +:108680004FF4005001F0ABFB0021606B01F08FFB59 +:10869000D4E90901884203D02046BDE8104088E7AC +:1086A000012084F8440010BD1249886C028812062B +:1086B0000ED5D1E909329A420BD08B699A5C82803F +:1086C000886A0A69401CB0FBF2F302FB130088625F +:1086D0007047002240F2277102F026B870B5054CB1 +:1086E0004C34A06C0588A9061CD58088E16A69B164 +:1086F000884717E054130020D0D2000858000240E9 +:10870000000801400044004000380140E26961690E +:108710008854E069E16800F10100B0FBF1F201FB6F +:108720001200E06128060FD5D4E9091088420CD068 +:10873000A169085CA16C8880A06A2169401CB0FB1B +:10874000F1F201FB1200A06270BDA06CBDE87040A8 +:10875000002240F2277101F0E7BF0000FEB52C4C6B +:108760000125207878B1012823D0022820D1642067 +:108770008DF8000027488DF8015000264078E0B3BE +:108780008DF802503CE07A208DF8000022486B46BC +:108790000222B0F90000FF21C0F1B40000EBD0705C +:1087A000C0F347008DF801006D20FFF742F92570F6 +:1087B000FEBD1A4E79208DF80000B6F900000A259A +:1087C00090FBF5F05A30B4220021FEF79BF98DF8AA +:1087D0000100B6F90200B42290FBF5F05A300021F6 +:1087E000FEF790F98DF802006B460322FF216D2001 +:1087F000FFF71FF902202070FEBDFFE78DF8026031 +:108800006B460322FF216D20FFF713F92670F3E773 +:10881000C40300208C0A0020B00100203400002096 +:108820001FB5044602AB062243216820FFF73DF93D +:10883000BDF80800214640BA02B2D01702EB907092 +:108840008010ADF80000BDF80A0040BA02B2D0179F +:1088500002EB90708010ADF80200BDF80C0040BA39 +:1088600002B2D01702EB90708010ADF804007C4883 +:1088700042786846FEF744FA1FBD38B504464FF407 +:108880000050ADF8000002208DF8030004208DF8A0 +:108890000200744874490068884202D169467348EE +:1088A00004E07349884203D16946724800F022FC13 +:1088B00080226B216820FFF7F2F80520FFF72CFCDF +:1088C000002219216820FFF7EAF803226B216820B3 +:1088D000FFF7E5F8022237216820FFF7E0F8604D46 +:1088E0001A2168202A78FFF7DAF818221B2168205D +:1088F000FFF7D5F810221C216820FFF7D0F8002CD4 +:1089000000D06C7038BD1FB5044602AB06223B2177 +:108910006820FFF7CAF8BDF80800214640BAADF854 +:108920000000BDF80A0040BAADF80200BDF80C0026 +:1089300040BAADF804004A4882786846FEF7E0F98C +:108940001FBD47494C4ACB7813B14FF4FF6301E098 +:108950004FF480531380002800D0887070472DE9B1 +:10896000FE4F8146984692460D462320FFF7D4FBE2 +:108970006B46012275216820FFF797F8002804D084 +:108980009DF80000682802D00020BDE8FE8F062276 +:1089900001AB11466820FFF788F89DF809009DF8A3 +:1089A0000710C007400F01F0010140EA41009DF8A7 +:1089B00005102B4C01F0010108434FF001064FF068 +:1089C000000704D0012833D002280DD02CE06B46DC +:1089D00001220C216820FFF768F89DF8000010F0D4 +:1089E0000F0021D0042823D0E7702449C9F80010D3 +:1089F00023492448C9F804102860234868602348A4 +:108A0000E860B8F1000F02D0E17888F80010504615 +:108A1000BAF1620F19D00DDC05281ED00A281AD031 +:108A2000BAF1140F0BD114E00520FFF71FFCDCE7AF +:108A3000E670DAE7BC2806D0BAF5807F01D00320C3 +:108A400004E0277003E0267001E00220207001207E +:108A50009BE70420FAE70520F8E70620F6E7000088 +:108A6000C50300200C04002000127A00000C014015 +:108A7000001BB7000010014082010020438900085C +:108A8000078900087B880008218800081944923172 +:108A90001FB5044602AB062201211C20FFF705F892 +:108AA000BDF80800214640BA40F38D02D01702EB12 +:108AB00090708010ADF80000BDF80A0040BA40F395 +:108AC0008D02D01702EB90708010ADF80200BDF857 +:108AD0000C0040BA40F38D02D01702EB907080106A +:108AE000ADF80400334802786846FEF709F91FBD67 +:108AF00038B504462020ADF8000002208DF80300B0 +:108B000004208DF8020069462B4800F0F3FA002299 +:108B10002A211C20FEF7C3FF02220E211C20FEF793 +:108B2000BEFF03220F211C20FEF7B9FF12222B21CA +:108B30001C20FEF7B4FF02222C211C20FEF7AFFF01 +:108B400001222D211C20FEF7AAFF00222E211C202D +:108B5000FEF7A5FF05222A211C20FEF7A0FF1749DA +:108B60004FF48070002C088001D01248047038BD8A +:108B700038B5044600208DF80000114811490068FE +:108B800088420CD06B4601220D211C20FEF78DFF80 +:108B900028B19DF800002A2803D01A2801D000200F +:108BA00038BD0949216009496160024948700120C6 +:108BB00038BD0000C90300200008014082010020E8 +:108BC0000C040020001BB700F18A0008918A0008FD +:108BD000434810B50068434CA188084203D0FFF712 +:108BE00072FAA0600AE0FFF76EFAA168884205D920 +:108BF000401A3B2190FBF1F061690860E068BDE834 +:108C0000104001F03FB9E3E7E2E7FEB50125354C3E +:108C1000022110B1012810D109E04FF4807060806A +:108C20004000A080E06009202070172004E06580EB +:108C3000A180E1602570072060706088ADF80000B9 +:108C40001026274F8DF802608DF80310083F694603 +:108C5000384600F04FFAA088ADF8000004208DF8E7 +:108C600002006946384600F045FA2178012000F0FC +:108C700077FAE06801F006F9E068019000208DF8CD +:108C800008008DF809608DF80A5001A801F0B6F8C7 +:108C900094F9010000F01F018D4040094FF0E021E0 +:108CA00001EB8000C0F80051FFF727FA3C38206143 +:108CB000FEBD70B50546FFF720FA0A4C21693C312C +:108CC00088420CD3C4E9040505496088083108606E +:108CD0000B20FFF715FA024960880C31086070BD5F +:108CE000080C0140CC0300201FB5044602AB06224D +:108CF000A8216820FEF7D9FEBDF80800214640BA39 +:108D000002B2D01702EB90708010ADF80000BDF8F1 +:108D10000A0040BA02B2D01702EB90708010ADF892 +:108D20000200BDF80C0040BA02B2D01702EB9070FE +:108D30008010ADF80400264842786846FDF7E0FF51 +:108D40001FBD70B504466420FFF7E6F9F022232129 +:108D50006820FEF7A4FE10B90320FFF787FA05206C +:108D6000FFF7DAF91A4D2021287840F00F02682029 +:108D7000FEF795FE002C00D06C7070BD38B504462F +:108D80000D461920FFF7C8F96B4601220F21682014 +:108D9000FEF78BFE9DF80000D32801D0002038BDDF +:108DA0000C4820600C4860600C48E0600848362D94 +:108DB00005D04E2D07D05D2D07D0002100E04021C9 +:108DC0000170012038BD8021FAE7C021F8E70000DA +:108DD000E4030020438D0008E98C0008DDE9A73199 +:108DE0002DE9F04FB74C83468E46608926890102F3 +:108DF000B5484FF0000A4068421AA6FB027CA088E2 +:108E00004FEAE2754FEA10414FEA00430AFB02C005 +:108E100006FB05064FEAD71040EA466013EB00094F +:108E200041EBE611E6886388A6FB02C84FEA53408F +:108E30004FEAC3370AFB028306FB05364FEA1C23C1 +:108E400043EA0663FB1840EB2620A689A6FB027CBA +:108E50000AFB02C206FB05244FEAD75242EA44222B +:108E60004FF4FA654FEAE454521944F10004A24663 +:108E7000551B74F1000448DA944D5519A5FB05679C +:108E80004AF1FF3404FB057705FB047C0525A6FBAE +:108E900005480CFB0585002706FB07556F104FEAB8 +:108EA000340CB9EB0C0961EB0701A40844EA8574A2 +:108EB0001B1B60EBA500864D551B7AF1FF3424DAAD +:108EC00040F2DC555619A6FB06474AF1000505FBA2 +:108ED000067706FB05750726A4FB06C805FB068674 +:108EE000002704FB0767B9EB0C0961EB07010B27AF +:108EF000A4FB07C805FB0785002604FB0654641085 +:108F00004FEA3C055B1B60EB04006F4CA568002436 +:108F1000A5FB036704FB037305FB0030740D44EAF3 +:108F2000C0244015B4EB090360EB0100410441EAA1 +:108F3000D330BBF1000F01D0CBF80000BEF1000F21 +:108F400001D0CEF80020BDE8F08F10B500F072F827 +:108F50005D49886010BD5C48012200784030C1B294 +:108F60007720FEF79CBD10B500F064F856494860C4 +:108F700010BD5548012200785030C1B27720FEF76D +:108F80008EBD2DE9FE43054652485349006888428C +:108F90000FD04FF40054ADF8004002208DF80300CC +:108FA00010204E4E8DF802006946304600F0A2F8BF +:108FB00074610A20FFF7B0F801AB0122A0217720ED +:108FC000FEF773FD002823D001221E217720FEF733 +:108FD00066FD4FF42F60FFF793F80024DFF8E4807C +:108FE0002646A02707EB4400C1B202AB022277203D +:108FF0000296FEF75AFDBDF8080040BA28F81400A2 +:10900000641C082CEEDB2F4800F026F810B100207D +:10901000BDE8FE8342F210702880688030486860A6 +:109020003048A8603048E8603048286130486861BE +:109030000120EDE708B56B46032200217720FEF7FB +:1090400034FD9DF800009DF80110000440EA012065 +:109050009DF80210084308BDF0B5C289002102F452 +:109060007F4502F00F040123C5810A4630F81260E3 +:1090700006B10023521C082AF8DB4FF0FF36F3B983 +:109080000022D30722F0010302D0C35C594002E062 +:10909000C35A81EA132108230F0401D581F4C0517A +:1090A00049005B1E002BF7DC521C102AE9DB25432C +:1090B000C581C1F30330844201D10020F0BD3046A8 +:1090C000F0BD0000EC130020E803002030F8FFFFA3 +:1090D00024FAFFFF0C040020001BB7000010014021 +:1090E000738F0008678F0008578F00084B8F0008A8 +:1090F000E18D0008F0B500234FF0010C0A880CFA4E +:1091000003F52A4228D04FEAD30200EB82064FEA49 +:10911000437491F802E04FEAD46734680EF00F020E +:109120005FEACE6E03D591F803E04EEA02024FF0FB +:109130000F0E0EFA07FE24EA0E04BA4022433260F4 +:109140008A78282A02D0482A03D005E0C268AA43B8 +:1091500001E0C2682A43C2605B1C102BCED3F0BD75 +:1091600010B58A0721F003040649130F21440F228A +:109170008C689A4094438C608A68984002438A6065 +:1091800010BD0000000001404FF4805108B14E486E +:1091900001E04D48001F016070472DE9F041044691 +:1091A0004A4817460D460088484E0C3E1CE015B153 +:1091B00015F8010B00E0FF2080460221304601F047 +:1091C000D9FB0028F9D04146304601F0CFFB012100 +:1091D000304601F0CFFB0028F9D0304601F0C8FB43 +:1091E000C0B20CB104F8010B7F1EE0D20120BDE833 +:1091F000F081F0B501218C0389B0204600F05CFFBE +:109200000121204600F06AFF18208DF816004FF467 +:109210002040ADF814002C4E03208DF81700143EAA +:1092200005A93046FFF766FFADF8144004208DF81D +:10923000160005A93046FFF75DFFA010ADF8140039 +:1092400010258DF8165005A93046FFF753FF1F4E25 +:109250000C3E304601F040FB4FF48270ADF8020046 +:1092600068010024ADF80A000720ADF81000ADF841 +:1092700004400220ADF80E40ADF806000127ADF81D +:109280000040ADF80870ADF80C506946304601F06A +:1092900047FB0121304601F05FFB0DA000680690FE +:1092A0000120FFF771FF042206A907A8FFF775FF49 +:1092B0000020FFF769FF9DF81D00EF2802D020462F +:1092C00009B0F0BD3846FBE7140C01400C380040F3 +:1092D0009F0000002DE9F04180461D4616460C46D1 +:1092E000084600F0E7F80746404600F0D8F807EBDC +:1092F0008000C0B2102805D2734901EB00108560D0 +:1093000004710673BDE8F08151B104290BD008291E +:109310000CD00C290DD101225FF0100101F05DB9D4 +:1093200001220221FAE701220421F7E701220821A4 +:10933000F4E7704770B50D460446017B134600689C +:109340002A46FFF7C7FF217B2068BDE87040DBE7B6 +:1093500008B58DF8000000208DF8010001208DF87F +:1093600002008DF80300684600F0C3FB08BDFEB59F +:10937000064614460D46684601F0FFF853486D1E38 +:1093800044435348ADF8045069460068B0FBF4F01C +:10939000401EADF800000020ADF80600ADF8020058 +:1093A000304600F0B5FEFEBD10B504460068FFF77C +:1093B000DEFF0121206801F0FBF8607BBDE8104072 +:1093C000C6E770B50546084600F074F8044628461E +:1093D00000F065F804EB80003B49C0B201EB0010DF +:1093E00070BD70B50546022101F028F9012825D08D +:1093F0000421284601F022F901282CD00821284612 +:1094000001F01CF9012833D01021284601F016F98B +:1094100001283AD11021284601F01CF90C212846D8 +:10942000FFF7CFFF0446284601F005F9A268014680 +:10943000002A2AD0207BBDE8704010470221284630 +:1094400001F008F900212846FFF7BBFF0446284633 +:1094500001F0EBF8EAE70421284601F0FBF80421CB +:109460002846FFF7AEFF0446284601F0E0F8DDE7A6 +:109470000821284601F0EEF808212846FFF7A1FF51 +:109480000446284601F0D5F8D0E770BD1148A8E79A +:109490004FF08040A5E71048A3E71048A1E7014638 +:1094A00000200F4A01E0401CC0B252F820308B422D +:1094B000F9D17047014600200A4A01E0401CC0B2C1 +:1094C000135C8B42FAD17047FC13002040420F001E +:1094D00008040020002C0140000400400008004067 +:1094E000F4030020C4D30008016B4A6892688968BD +:1094F0000A4290F8441204D00020002900D1012033 +:10950000704701200029FBD100207047D0F834318A +:1095100001299A685B6801D021B107E090F8440204 +:1095200030B103E090F84402012801D05A6170473D +:109530001A6170470189406889B2482200F052B927 +:1095400070B5044601EB4100AC491646B1FBF0F0A2 +:1095500081B21D4603222046FFF726FF2A463146E8 +:109560002046BDE87040FFF7E5BE0189406889B23A +:10957000102200F037B900B50346032083F83C02FF +:109580001846FFF7B1FF30B1B3F8400293F8391233 +:109590000843A3F8400293F83902400083F83902E7 +:1095A00093F83E02401E10F0FF0083F83E0205D102 +:1095B000012083F83802022083F83C0200BDC26813 +:1095C000016A521E914201D3002100E0491C016250 +:1095D000704710B50124034680F83C42FFF784FF32 +:1095E00001280FD1002083F8380283F83A4293F81B +:1095F0004002A3F840021A6A59698854BDE8104035 +:109600001846DCE710BD00B50346FFF76DFF0121EA +:1096100001280BD003F23A2300201870D8800420D0 +:1096200098700820187103F8011C00BD83F83C12E3 +:1096300000BD90F83C12491E11F0FF0180F83C1269 +:1096400008D190F83A1201B1DDE790F8381201B173 +:10965000BFE790E77047D0E90910814201D10120AE +:1096600070470020704730B5044690F83B02002553 +:10967000F8B194F83D02401E10F0FF0084F83D025E +:1096800016D1B4F8420200F001014008A4F84202E9 +:109690002046FFF73BFF032084F83D0294F83F0289 +:1096A000401E10F0FF0084F83F0201D184F83B52C5 +:1096B00030BD2046FFF7CFFF0028F9D1A16AA2698B +:1096C000481CA062515C2269904200D3A5624FF40D +:1096D000007004F23B2440EA4100A4F807000A208D +:1096E00020710120A070207030BD00EBC00101EBA3 +:1096F000801010B5424901EBC0042046FFF7B3FFCC +:109700002046BDE8104094E770B53D4C06463D4804 +:10971000206003202071A66084F844123A48206338 +:109720001030C4F83401002504F134012562616170 +:109730004FF48070E060206104F59C71C4E9061567 +:10974000A562656284F83B52012084F83A0284F8ED +:10975000385284F83C02206BFFF7ECFED4F8340159 +:10976000FFF703FF01212046FFF7D0FE3220FEF76E +:10977000D3FCAFF289032A463146206BBDE8704026 +:10978000DEE6D0E90721914202D14FF00000704798 +:1097900002D9A1EB020003E0C0680844A0EB02007C +:1097A000C0B2704700B50346FFF7EBFF00280BD0AF +:1097B0005969D869095CDA68521E904201D2401C8E +:1097C00000E00020D861084600BD436A8269D15498 +:1097D000416A0269491CB1FBF2F302FB13114162B9 +:1097E0007047704708B5ADF800108DF802200221CF +:1097F0008DF803106946FFF77DFC08BDC0C62D003B +:10980000FC140020C8D3000824D300081FB5044668 +:1098100002AB062202211820FEF747F99DF8080046 +:109820009DF80910800800EB0120ADF800009DF8BC +:109830000A009DF80B10800800EB0120ADF8020033 +:109840009DF80C009DF80D10800800EB0120ADF88C +:1098500004001A48214602786846FDF751FA1FBDF8 +:1098600010B5044608220F211820FEF718F90E2221 +:1098700010211820FEF713F911494FF48050002CE5 +:10988000088001D00D48047010BD38B50446002092 +:109890008DF8000001466B4601221820FEF705F9FD +:1098A00018B19DF80000FB2801D0002038BD054804 +:1098B000206005486060012038BD000004040020DD +:1098C00082010020619800080D9800080268126863 +:1098D000104770B50C46054603E02A682846126812 +:1098E000904714F8011B0029F7D170BD0168496841 +:1098F00008470168896808470268D268104701680C +:10990000096908476E48016841F00101016041683A +:109910006C4A1140416001686B4A11400160016866 +:1099200021F480210160416821F4FE0141604FF47F +:109930001F0181606549C00308607047604A10B527 +:109940005068634B10F00C01624803D0042903D027 +:10995000082903D0036016E0416813E0516853689A +:1099600001F470114FF0020413F4803F04EB9141B5 +:1099700006D053689B03436800D55B084B43E9E777 +:10998000554B594301605168524AC1F303110832E3 +:10999000515C0268CA40026010BD3EB400210091D3 +:1099A0004FF4E01301914648CDE901314B4A046878 +:1099B00044F480340460846944F0100484614FF4FA +:1099C000A064056805F400350195009D6D1C0095A7 +:1099D000019D15B9009DA542F3D10568AD0301D5E0 +:1099E000022114E0056845F0010505600091016859 +:1099F00001F0020101910099491C0091019911B9EE +:109A00000099A142F3D10168890739D5012102915A +:109A100033490C6844F010040C600C6824F0030413 +:109A20000C600C6844F002040C60416841604168BD +:109A30004160416841F480614160116821F07041EA +:109A40001160244C22496160416821F47C1141601D +:109A5000116841F0004111602049091FCA6822F4D1 +:109A60000042CA608968090403D51E494FF4801377 +:109A7000616002990193012908D002290AD100E00E +:109A8000FEE7416843F48032114302E0416841F44B +:109A900060114160016841F08071016001688901D5 +:109AA000FCD5416821F003014160416841F00201A9 +:109AB00041604168C1F381010229FAD13EBC3DE712 +:109AC000001002400000FFF8FFFFF6FE08ED00E086 +:109AD00000127A000804002000093D000410014033 +:109AE00000200240001BB7001849084318490860CD +:109AF0007047F0B50F21C478027801234FF0E026BB +:109B0000DCB1134C2468457804F4E064C4F5E064E7 +:109B1000240AC4F10407E1408478BD400C402C4382 +:109B200021010C4C1155007800F01F018B404009B9 +:109B300006EB8000C0F80031F0BD02F01F0083404A +:109B4000500906EB8000C0F88031F0BD0000FA0536 +:109B50000CED00E000E400E010B54268464B0C79E3 +:109B60001A400B6842EA0422134343608368434A65 +:109B70001340D1E9024222434C7943EA44031A4399 +:109B80008260C26A097C22F47002491EC9B242EAAC +:109B90000151C16210BD0029816802D041F001016C +:109BA00001E021F00101816070470029816802D045 +:109BB00041F4807101E021F4807181607047816817 +:109BC00041F008018160704701460020896809075B +:109BD00000D501207047816841F004018160704721 +:109BE000014600208968490700D5012070470029F7 +:109BF000816802D041F4A00101E021F4A00181605C +:109C0000704770B5072409290AD9C568A1F10A0669 +:109C100006EB4606B440A543B3401D43C56007E0CC +:109C2000056901EB4106B440A543B3401D430561FE +:109C30001F23072A09D2446B521E02EB8202934073 +:109C40009C4391400C43446370BD0D2A09D2046BC0 +:109C5000D21F02EB820293409C4391400C43046369 +:109C600070BDC46A0D3A02EB820293409C4391405E +:109C70000C43C46270BD0000FFFEF0FFFDF7F1FF72 +:109C800001684FF6FE7211400160002101604160E1 +:109C90008160C1605749574A0839904203D14868EA +:109CA00040F00F0006E0534A1432904204D1486855 +:109CB00040F0F000486070474E4A2832904203D18D +:109CC000486840F47060F5E74A4A3C32904203D15C +:109CD000486840F47040EDE7464A5032904203D164 +:109CE000486840F47020E5E7424A6432904203D16C +:109CF000486840F47000DDE73E4A7832904203D174 +:109D0000486840F07060D5E73B4A111F904203D18C +:109D1000086840F00F0006E0374A1432904204D140 +:109D2000086840F0F00008607047334A28329042DB +:109D300003D1086840F47060F5E72F4A3C32904246 +:109D400003D1086840F47040EDE72B4A503290424E +:109D5000EAD1086840F47020E5E730B5036847F6BB +:109D6000F07293430C6A8A682243D1E904452C437C +:109D700022438C692243CC6922434C6A22438C6A79 +:109D800022431A430260CA6842600A6882604968D6 +:109D9000C16030BD0021016041608160C16001612E +:109DA00041618161C1610162416281627047002944 +:109DB000016802D041F0010102E04FF6FE7211404D +:109DC00001607047002A026801D00A4300E08A431C +:109DD0000260704741607047406880B27047C100C0 +:109DE00003D50549091F08607047024908394860D2 +:109DF00070470000080002400804024030B52349C3 +:109E00008379026853B30B6893430B600A1D136890 +:109E10000468A343136002790A4413680468234367 +:109E200013601A4A083213680468A3431360131DB1 +:109E30001C680568AC431C604479102C05D0214493 +:109E40000A68006802430A6030BD11680468214353 +:109E50001160196800680143196030BD0079084439 +:109E600001689143016030BD084A01460020126834 +:109E7000064B0A4014331B680B4202D0002A00D064 +:109E80000120704701491431086070470004014007 +:109E90005A4910B588424FF0010101D14C0501E04B +:109EA0004FF48004204600F019F92046BDE8104028 +:109EB000002100F013B970B50446808886B00D46C5 +:109EC00020F03F06684600F09FF84D490298B0FB2D +:109ED000F1F189B20E43A680228822F0010222808D +:109EE000484B2A689A421CD85200B0FBF2F080B26C +:109EF000042800D20420491C2184A083208840F03B +:109F00000100208021884FF6F5300140A8886A8939 +:109F1000104308432080A88929890843208106B07E +:109F200070BDEB88A3F53F46FF3E05D102EB420230 +:109F3000B0FBF2F080B208E002EBC20303EB0212C6 +:109F4000B0FBF2F080B240F48040020501D140F055 +:109F500001004FF4967251434FF47A72B1FBF2F163 +:109F600040F40040C7E741F2883101600021818060 +:109F70004BF6FF72C280018141814FF480418181A3 +:109F800070470029018802D041F0010101E021F071 +:109F90000101018070470029018802D041F48071DD +:109FA00001E021F48071018070470029018802D00E +:109FB00041F4007101E021F4007101807047002933 +:109FC000018802D041F4806101E021F480610180C8 +:109FD0007047002A828801D00A4300E08A438280C9 +:109FE000704701827047008AC0B2704712B141F0D9 +:109FF000010101E001F0FE010182704700540040C0 +:10A0000040420F00A086010030B53C494A683C4BF5 +:10A0100012F00C0405D03B4A042C126803D0082C23 +:10A0200024D0036000E002604A680F2303EA1212A2 +:10A03000354B9C5C0268E24042604C68072505EAAB +:10A0400014241C5D22FA04F484604C6805EAD424CC +:10A050001B5DDA40C2604968032303EA91312A4B51 +:10A060001B1F595CB2FBF1F1016130BD4B684C68BC +:10A0700003F470134FF0020514F4803F05EB934393 +:10A0800005D04C68A40300D552085A43CBE71F4AB9 +:10A090005343C6E7194A0029516901D0014300E042 +:10A0A000814351617047154A0029916901D00143EC +:10A0B00000E0814391617047104A0029D16901D0C5 +:10A0C000014300E08143D16170470C4A0029D16807 +:10A0D00001D0014300E08143D1607047074A002965 +:10A0E000116901D0014300E08143116170470348C9 +:10A0F000416A41F0807141627047000000100240E7 +:10A1000000127A000C0400202404002000093D0005 +:10A1100030B50288FD4BFE4C98420DD0A0420BD0CA +:10A12000B0F1804F08D0FB4DA84205D0FA4DA842AF +:10A1300002D0FA4DA84203D122F070054A882A4382 +:10A14000F74DA84206D0F74DA84203D022F440753F +:10A15000CA882A4302808A8882850A8802859842B2 +:10A160000AD0A04208D0F04A904205D0EF4A90426F +:10A1700002D0EF4A904201D1097A01860121818201 +:10A1800030BD30B5028C22F001020284028C83883B +:10A19000048B22F0020224F073050C882C430D89F5 +:10A1A00015434A882A43D94DA8420BD0D84DA8421E +:10A1B00008D0DD4DA84205D0DC4DA84202D0DC4DD0 +:10A1C000A8420DD122F008054A8923F440732A439E +:10A1D00022F004058A882A438D891D43CB892B43AD +:10A1E00083800483C9888186028430BD70B5028C67 +:10A1F00022F010020284028C8488038B0D8823F4E1 +:10A20000E6464FF6FF7303EA052535430E8922F033 +:10A21000200203EA061616434A8803EA0212324372 +:10A22000BA4EB04202D0BA4EB04215D122F08006EA +:10A230004A8924F4406403EA0212324322F04006C1 +:10A240008A8803EA021232438E8903EA860626438D +:10A25000CC8903EA8404344384800583C988018758 +:10A26000028470BD70B5028C22F480720284028C6C +:10A270008488838B0D8823F073031D4322F40073BD +:10A280000E894FF6FF7202EA06261E434B8802EA49 +:10A29000032333439D4EB04202D09D4EB04215D1B0 +:10A2A00023F400664B8924F4405402EA0323334329 +:10A2B00023F480668B8802EA032333438E8902EA03 +:10A2C00006162643CC8902EA04143443848085832D +:10A2D000C9888187038470BD70B5028C22F48052D6 +:10A2E0000284048C8288838B0D8823F4E6464FF623 +:10A2F000FF7303EA0525354324F400560C8903EA6D +:10A30000043434434E8803EA063626437F4CA04289 +:10A3100002D07F4CA04205D122F480448A8903EA0E +:10A320008212224382808583C988A0F84010068467 +:10A3300070BD828B22F440628283828B4FF6FF7362 +:10A3400003EA01210A4382837047828B22F00C02C8 +:10A350008283828B0A4382837047028B22F440629D +:10A360000283028B4FF6FF7303EA01210A43028343 +:10A370007047F0B5048C24F010040484078B048C1F +:10A380004FF6FF7527F4734705EA03333B4305EAAD +:10A3900002221A435D4B05EA011698420ED05C4B2F +:10A3A00098420BD0B0F1804F08D05A4B984205D05C +:10A3B000594B984202D0594B984205D124F02001C4 +:10A3C000314341F0100104E024F0A0030B4343F0BB +:10A3D000100102830184F0BD028B22F00C02028383 +:10A3E000028B0A430283704770B5048C24F0010489 +:10A3F0000484058B048C4FF6FF7606EA031313439F +:10A4000025F0F305414A2B4390420ED0404A90423A +:10A410000BD0B0F1804F08D03E4A904205D03E4A62 +:10A42000904202D03D4A904202D124F0020201E063 +:10A4300024F00A020A4342F001010383018470BD43 +:10A440002DE9F05F0D4604460888304FDFF8C0C0A4 +:10A45000DFF8C0804988AA882B894FF0804960B313 +:10A46000042832D04FF6FF7E082836D0208C9B4639 +:10A4700020F480502084A38B268C704600EA0222B0 +:10A4800023F473431A4300EA0B3010430EEA013EF3 +:10A49000BC420BD0644509D04C4507D0444505D09B +:10A4A0001D4A944202D01D4B9C425AD126F40051C1 +:10A4B00041EA0E0141F4805158E02046FFF794FF35 +:10A4C000E9882046BDE8F05F86E72046FFF751FFA8 +:10A4D000E9882046BDE8F05F3FE7208C20F48070DB +:10A4E0002084B4F81CA0208C0EEA031313432AF036 +:10A4F000F30A0EEA012B43EA0A03BC4220D064456A +:10A500001ED04C451CD044451AD013E0002C01400D +:10A51000003401400004004000080040000C0040EE +:10A520000010004000140040004001400044014081 +:10A5300000480140494A944202D0494A944204D119 +:10A5400020F4007040EA0B0002E020F42060084391 +:10A5500040F48070A3832084E9882046BDE8F05F42 +:10A56000F3E626F402420A4342F48051A0832046D7 +:10A570002184E988BDE8F05FDBE64FF6FF7181805A +:10A5800000210180C180418001727047002101805B +:10A5900041808180C180018141818181C181704779 +:10A5A00000210180418001228280C18001817047A9 +:10A5B0000029018802D041F0010101E021F00101F0 +:10A5C00001807047002930F8441F02D041F4004157 +:10A5D00001E0C1F30E0101807047002A828901D099 +:10A5E0000A4300E08A4382817047028B22F008020E +:10A5F0000A4302837047028B4FF6FF7322F4006216 +:10A6000003EA0121114301837047828B22F0080283 +:10A610000A4382837047828B4FF6FF7322F40062F5 +:10A6200003EA0121114381837047808E7047008FB8 +:10A630007047808F7047B0F8400070470246002096 +:10A64000138A92890B4202EA010202D0002A00D04A +:10A6500001207047C9430182704700000008004094 +:10A66000000C004030B50446008A85B00D464CF61B +:10A67000FF710840E98801432182A1894EF6F31059 +:10A680000140A8882A8910436A890A431043A0819F +:10A69000A08A4FF6FF410840A9890143A18268467C +:10A6A000FFF7B2FC3048844201D1039800E00298E1 +:10A6B000A1890904002900EBC00101EB0010296801 +:10A6C00002DA4FEA410101E04FEA8101B0FBF1F00B +:10A6D0006422B0FBF2F14FEA01114FEA11136FF05F +:10A6E00018056B4300EB8300A3891D044FF0320370 +:10A6F00006D503EBC000B0FBF2F000F0070005E068 +:10A7000003EB0010B0FBF2F000F00F0008432081D3 +:10A7100005B030BD0029818902D041F4005101E02B +:10A7200021F400518181704710B5C1F3421301F04B +:10A730001F040121A140012B07D0022B07D01430A8 +:10A74000002A026805D00A4304E00C30F8E7103014 +:10A75000F6E78A43026010BD002A828A01D00A43CC +:10A7600000E08A4382827047003801403948384906 +:10A7700041603949416070473648016941F08001C4 +:10A780000161704733490420CA68D20701D0012013 +:10A790007047CA68520701D502207047C968C906C8 +:10A7A000FBD50320704700B50346FFF7EBFF02E03F +:10A7B000FFF7E8FF5B1E012803D0002B00D1052026 +:10A7C00000BD002BF4D1FAE770B505464FF43026F2 +:10A7D0003046FFF7E8FF042811D11E4C206940F0F5 +:10A7E000020020616561206940F040002061304630 +:10A7F000FFF7D9FF216941F6FD721140216170BD5B +:10A80000F8B5064600204FF4005C00900D46604607 +:10A81000FFF7C9FF042816D10E4C206940F0010053 +:10A82000206135806046FFF7BEFF41F6FE770428C1 +:10A8300006D1B61C280C009630806046FFF7B3FFA7 +:10A84000216939402161F8BD0249C86070470000A4 +:10A850002301674500200240AB89EFCD144815491C +:10A86000026800608A4203D01348804713480047BB +:10A87000134E4FF0090030601248016821F07061FA +:10A88000016041020160104C182020600F491048FF +:10A8900008601048D0F800D040680047FEE7FEE7A7 +:10A8A000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE780 +:10A8B000F04F0020EFBEADDE05990008ED00000866 +:10A8C0001810024004000140140C0140000C01402B +:10A8D0004434434400F0FF1F2A4910B588420AD18E +:10A8E000841401212046FFF7F0FB2046BDE810400C +:10A8F0000021FFF7EABB2449884202D10121041458 +:10A9000004E0224988420AD10121C4132046FFF7FE +:10A91000E5FB2046BDE810400021FFF7DFBB10BD7E +:10A9200030B502884C8802F441530A88CD8822430E +:10A930008C882C4322430C8922434C8922438C89E6 +:10A940002243CC8922431A430280828B22F4006284 +:10A950008283098A018230BD0029018802D041F03A +:10A96000400101E021F04001018070478181704782 +:10A97000808970470246002012890A4200D00120D7 +:10A98000704700000030014000380040003C0040AB +:10A9900000487047A0D50008A0F16101192900D82E +:10A9A000203870472DE9F05F994615460F468346DB +:10A9B0004FF0FF36DDF828A011E0A819441009FB7C +:10A9C000047080460146584652469047002802D0FF +:10A9D00004DA254603E04046BDE8F09F2646A5EB95 +:10A9E00006000128E9DC0020F6E740EA01039B07A6 +:10A9F00003D009E008C9121F08C0042AFAD203E0F4 +:10AA000011F8013B00F8013B521EF9D27047D2B257 +:10AA100001E000F8012B491EFBD270470022F6E747 +:10AA200010B513460A4604461946FFF7F0FF2046C4 +:10AA300010BD421E12F8013F002BFBD111F8013B63 +:10AA400002F8013B002BF9D1704730B505462A4684 +:10AA50000B4612F8010B13F8014B08B1A042F8D0D5 +:10AA60001CB1002802D06D1CF1E7284630BD10B59E +:10AA7000044604E00B7800F8013B03B1491C521E68 +:10AA8000F8D2204610BDCAB2401E10F8011F8A42FB +:10AA900002D00029F9D100207047421C10F8011B98 +:10AAA0000029FBD1801A704770B50F4D00B9286896 +:10AAB000002412E00A4602E09E4203D0521C1378A2 +:10AAC000002BF9D1DAB2224305D02BB124B10021F9 +:10AAD00000F8011B04E00446401C0678002EE9D172 +:10AAE0002860204670BD0000340400202DE9F041AC +:10AAF0000546002090460E46044600E0641C44458E +:10AB00000BD2285D00F058F90746305D00F054F98B +:10AB1000381A02D1295D0029F0D1BDE8F08170B565 +:10AB2000064600F059FC046805460A22002130461A +:10AB300000F048F92C6070BDF0B480EA0102D40F37 +:10AB40004200B2EB410F02D20246084611464A00CB +:10AB500042D0C30DDDB2C1F3C752AD1A202D35DA94 +:10AB6000C1F3160141F4000204B15242C5F12006BE +:10AB700002FA06F12A411044B3EBD05F23D0C4B1EE +:10AB8000012DA0EBC35009DCF0BC4FF0004202EAFB +:10AB9000C35200F50000DBB200F055B9400000F1EF +:10ABA000807000EBC350A0F1807040EAD170490082 +:10ABB00009E0490841EAC071A0EBC35000F500006C +:10ABC000400800EBC350F0BC00F034B961420122F0 +:10ABD00002EB4101001BF6E7F0BC704781F0004139 +:10ABE000AAE780F00040A7E780EA010210B502F072 +:10ABF0000043400026D04A0023D04FEA106101EB09 +:10AC00001261C0F35600C2F3560240F4000042F451 +:10AC10000002A0FB0220A1F17F014FEA00401404D2 +:10AC200001D000F1010050EA124001D44000491E59 +:10AC3000C2B20C0604EBD010401C4008802A02D09F +:10AC400003E0002010BD20F00100002900DA002000 +:10AC5000184310BD30B480EA010202F0004530F024 +:10AC6000004221F0004015D0A0B1C0F3C753C2F399 +:10AC7000C754C2F31601C0F31600E41A41F40001F0 +:10AC800040F400027D34914201D3641C00E049008D +:10AC9000002C02DA30BC002070474FF40000002383 +:10ACA000914201D3891A034340084FEA4101F7D189 +:10ACB00051B1914202D14FF0004105E002D24FF074 +:10ACC000010101E06FF0010103EBC450284430BCE6 +:10ACD00000F0B0B8420005D0C0F3C75252429142D2 +:10ACE00001DC0020704700EBC1507047C10F80EAC3 +:10ACF000E0700844CA079623002100F0A4B8962308 +:10AD00000022114600F09FB800F0004220F0004001 +:10AD1000C10DC0F3160040F400007F2901DA0020C5 +:10AD20007047962903DCC1F19601C84001E09639CD +:10AD30008840002AF4D04042704720F00040C10D06 +:10AD4000C0F3160040F400007F2901DA00207047AC +:10AD5000962903DCC1F19601C840704796398840B6 +:10AD600070470000002801DBC0F10040002901DB32 +:10AD7000C1F1004181427047002801DBC0F1004071 +:10AD8000002901DBC1F100418842704730B50B4614 +:10AD9000014600202022012409E021FA02F59D420B +:10ADA00005D303FA02F5491B04FA02F52844151EDF +:10ADB000A2F10102F1DC30BDA0F14101192900D856 +:10ADC000203070472DE9F04791460F4680460446F3 +:10ADD000002614F8015B2DB1FFF7DAFD0068405D35 +:10ADE000C007F6D12B2D02D02D2D18D0641E4A4657 +:10ADF0003946204600F0E1F927B13968A14201D176 +:10AE0000C7F8008071054FF002040BD540420028BE +:10AE100003DD00F0E1FA0460A007BDE8F08746F426 +:10AE20008066E4E70028F8DA00F0D6FA04606FF0F4 +:10AE30000040F2E70029A8BF7047401C490008BF46 +:10AE400020F00100704710B4B0FA80FC00FA0CF05A +:10AE500050EA010404BF10BC704749B1CCF1200492 +:10AE600021FA04F411FA0CF118BF0121214308431F +:10AE7000A3EB0C01CB1D0106000A002BBEBF002076 +:10AE800010BC704700EBC35010440029A4BF10BC95 +:10AE90007047401C490008BF20F0010010BC7047FB +:10AEA000F0B4002802DCF0BC00207047C0F3C751AA +:10AEB000C0F3160040F40000CA0701D14000491E4B +:10AEC0003F2202EB6105002211464FF4000626FAEC +:10AED00001F31344D418844201D8001B1A464000E1 +:10AEE000491C1729F3DD5100814202D24FF0FF3196 +:10AEF00000E0002102EBC550F0BCFFF79BBF10B58E +:10AF000041000CD0C0F3C751962908DC7E2909DC2A +:10AF100006DB410204D000F0004040F07E5010BD3E +:10AF2000002010BDC1F19604C4F1200100FA01F126 +:10AF3000E040FFF77FFFA04010BD2DE9FE4F8046A7 +:10AF400081EA0300C00F0C46009021F0004123F07D +:10AF50000045B8EB0200A94105D240462146904683 +:10AF60001C460B46024623F00040104304D14046E5 +:10AF7000214603B0BDE8F08F270DC7F30A00C3F3E5 +:10AF80000A510290401A0190402866DAC3F3130078 +:10AF900040F4801B0098924620B10023D2EB030AB4 +:10AFA00063EB0B0B01985946C0F14002504600F08C +:10AFB000D3F806460D4650465946019A00F0EBF884 +:10AFC00010EB08006141002487EA115284EAE7731C +:10AFD0001A433BD0009A3AB3019A012A4FEA07522A +:10AFE00010DC001B61EB02014FF0004202EA075245 +:10AFF000CDE90042001C41F5801132462B4600F09D +:10B0000038F9B6E7001B61EB0201001C41F5801323 +:10B0100000185B412018A2F5001747EB030140EA36 +:10B02000D570B6196D4111E06D084FEA360645EA54 +:10B03000C0754FEA0752001B61EB0201001C41F58D +:10B04000801149084FEA30000019514132462B4621 +:10B0500003B0BDE8F04F00F0FFB8009801224000B7 +:10B060000023D0EB020263EBE073009821464FEA25 +:10B07000E074B8EB000061EB0401E9E783F0004302 +:10B080005BE781F0004158E710B500F0004420F084 +:10B090000040C20DC0F3160040F400007F2A07DA1A +:10B0A0007D2A00DA7D22763A00FA02F1002008E0DB +:10B0B000962A09DCA2F1760100FA01F1C2F19602AA +:10B0C000D040FFF7B7FE01E0963A9040002C00D048 +:10B0D000404210BD00F0004230F000400AD0C10DE7 +:10B0E00001F56071C0F3160042EA0151C208400741 +:10B0F0001143704700200146704701F0004330B40F +:10B1000021F0004150EA010206D00A0DA2F560725A +:10B11000C1F31301002A02DC30BC00207047440F49 +:10B1200044EAC104C100E01830BC00EBC250FFF794 +:10B1300081BE0000064C074D06E0E06840F00103C8 +:10B1400094E8070098471034AC42F6D3F4F7D2FFE6 +:10B1500038DF000858DF0008202A04DB203A00FA14 +:10B1600002F1002070479140C2F1200320FA03F35E +:10B17000194390407047202A04DB203A21FA02F05C +:10B180000021704721FA02F3D040C2F12002914021 +:10B19000084319467047202A06DBCB17203A41FAAC +:10B1A00002F043EAE07306E041FA02F3D040C2F154 +:10B1B000200291400843194670472DE9F05F82460E +:10B1C0000078002715468B460AF10104B94630285D +:10B1D00001D09DB113E014F8010B0127782803D0AA +:10B1E000582801D045B10AE00DB1102D07D1002734 +:10B1F000102514F8010B02E0082500E00A250026BE +:10B20000B0460EE005FB080005FB06F1012701EB47 +:10B2100010461FFA80F8B6F5803F00D3B94614F8FF +:10B22000010B294600F077F80028EBDABBF1000F9C +:10B2300005D00FB1641E00E05446CBF80040B9F1D0 +:10B24000000F06D000F0C8F802210160C81EBDE85A +:10B25000F09F48EA0640FAE710B5002B08DA401CD8 +:10B2600041F1000192185B411A4301D120F0010025 +:10B2700010BD2DE9F04D92469B4611B1B1FA81F215 +:10B2800002E0B0FA80F220329046FFF765FF0446F4 +:10B290000F4640EA0A0041EA0B0153465A4608436A +:10B2A00003D120463946BDE8F08D114653EA01002E +:10B2B00015D0C8F140025046FFF75DFF05460E4627 +:10B2C000504659464246FFF747FF084301D0012048 +:10B2D00000E00020054346EAE0762C4337430A9815 +:10B2E0004FEA4453A0EB08004FEAD4240A304FF051 +:10B2F000000244EA47544FEAD72502D50020014610 +:10B30000D1E7010510196941DDE9084500196941D6 +:10B31000BDE8F04DA0E73A2800D2303820F02002F6 +:10B32000412A01D3A2F13700884201D34FF0FF3008 +:10B33000704770B501EB020410F8015B15F00703CC +:10B3400001D110F8013B2A1106D110F8012B03E0BE +:10B3500010F8016B01F8016B5B1EF9D12B0705D4C6 +:10B360000023521E0FD401F8013BFAE710F8013B0D +:10B3700002F10202A1EB030303E013F8015B01F801 +:10B38000015B521EF9D5A142D6D3002070BD00004A +:10B390000FB4054B10B503A9044A029800F0E8F871 +:10B3A00010BC5DF814FB0000C52400083804002020 +:10B3B0004100080218BF04200A0E18BF40F0010027 +:10B3C0004FF07F4232EA010108BF40F0020001283D +:10B3D00008BF052070470000004870473C0400206B +:10B3E0006FF05E010807FFF775BC00002DE9F04D16 +:10B3F0000E4614464FF07F41B1EB440F9EBF4FF015 +:10B40000FF313160BDE8F08D4FF0004040EA04218B +:10B41000C4F3C7507838431100F01F00DFF814C19F +:10B42000C0F12002FC445CF823500CEB8303854000 +:10B43000D3F804C02CFA02F72F439D680CFA00FCE5 +:10B4400025FA02F8DB6805FA00F023FA02F240EA76 +:10B4500002054CEA080CA7FB0132ACFB01C0A5FBBE +:10B46000015101EB0C058D4234BF4FF0010C4FF040 +:10B47000000CC1186144BCF1000F02D0814202D916 +:10B4800003E0814201D2012000E00020104400F1DD +:10B4900020024FEA92188006CA0C40EA42304F035D +:10B4A000C6F80080FFF722FC82463846FFF727FCEB +:10B4B0006FF01201FFF70EFC07462846FFF71FFC4E +:10B4C0006FF02501FFF706FC834639465046FFF72B +:10B4D00033FB5946FFF730FB00F500656FF30B05B2 +:10B4E00051462846FFF77AFB3946FFF777FB594666 +:10B4F000FFF777FB1049FFF777FB07460F49284610 +:10B50000FFF772FB3946FFF717FB07460C49284641 +:10B51000FFF76AFB3946FFF70FFB14F0004F08BF37 +:10B52000BDE8F08DC8F1805180F000403160BDE889 +:10B53000F08D00007C210000DB0FC92F22AAFD291D +:10B540000000C92F02E008C8121F08C1002AFAD162 +:10B5500070477047002001E001C1121F002AFBD193 +:10B560007047000001490860704700003C0400205B +:10B570002DE9FF4F8BB09A460F4605460026C9E0DD +:10B58000252837D100246D1C6649A04601222B785E +:10B59000203B02FA03F0084202D004436D1CF6E798 +:10B5A00028782E2817D115F8010F44F004042A2812 +:10B5B0000ED06FF02F022878A0F1300109290AD8A7 +:10B5C00008EB880102EB410100EB01086D1CF2E77A +:10B5D00057F8048B6D1C287869283FD006DC0028BA +:10B5E00071D063280CD0642804D137E0732811D0BF +:10B5F00075284ED052460D99904706F1010688E015 +:10B6000017F8040B8DF8000000208DF80100E946C2 +:10B61000012003E057F8049B4FF0FF3061074FF023 +:10B62000000401D40AE0641C44450DDA8442FADBCC +:10B6300019F804100029F6D106E0641C8442FCDBF2 +:10B6400019F804100029F8D1264404E019F8010B78 +:10B6500052460D999047641EF8D25AE001CF4FF040 +:10B660000A0B002804DAC0F100004FF02D0102E0BF +:10B67000210504D52B218DF82410012103E0E107D9 +:10B6800005D02021F7E70DF1200908910CE00021F9 +:10B69000F9E701CF4FF00A0BF9E75946FFF776FBC0 +:10B6A00001F1300209F8012D0028F6D1ADEB0900B7 +:10B6B00000F1200B600701D44FF00108D84503DDED +:10B6C000A8EB0B0001E029E000208046002406E002 +:10B6D00009A85246005D0D999047761C641C089895 +:10B6E0008442F5DB04E0302052460D999047761CE9 +:10B6F000B8F10001A8F10108F5DC05E019F8010B2B +:10B7000052460D999047761CBBF10001ABF1010B3D +:10B71000F4DC6D1C287800287FF432AF0FB030467F +:10B72000BDE8F08F092801002DE9F0474FF068428D +:10B7300002EB40030C460546B3F1654F3CBF02EBFC +:10B740004102B2F1654F3FD34FF07F42B2EB400F61 +:10B7500028BFB2EB410F03D2BDE8F047FFF7ECB9C9 +:10B7600040EA01035B0008BF44F0FF410AD0B2EB9E +:10B77000400F08BFB2EB410F06D125F0804024F006 +:10B78000804105460C461FE0B2EB400F12BF5FEA56 +:10B79000410245F0FF4004F0004115D04FEA41025C +:10B7A00092EA400310D4002AB4BF4FF03E564FF047 +:10B7B0009F463146FFF718FA054631462046FFF707 +:10B7C00013FA044628462146C0F3C753C1F3C752B3 +:10B7D0009A1A1B2A06DD10F0004F14BF5448554832 +:10B7E000BDE8F08712F11A0F17DA11F0004F06D0FA +:10B7F00010F0004F0CBF50485048BDE8F08721467C +:10B800002846FFF727FA0446FFF7D2FD042808BFB1 +:10B81000FFF7E6FD2046BDE8F0874200B2EB410F9E +:10B8200025D910F0004F19BF454F464E464F474EA1 +:10B83000224685F0004415460A4680F00041104635 +:10B840000A1A5200B2F1807F3ED248404049DFF8E8 +:10B8500004A110F0004F18D04FF03F483846FFF7D2 +:10B86000BDF9074651463046FFF7B8F917E011F029 +:10B87000004F04BF00263746E2D010F0004F19BF3A +:10B88000354F364E364F374EDAE74FF07C58384654 +:10B89000FFF752F9074651463046FFF74DF9064685 +:10B8A00041462846FFF7A0F92146FFF745F98246B1 +:10B8B00021464046FFF798F92946FFF792F951468D +:10B8C000FFF7C8F9044604E021462846FFF7C2F90D +:10B8D00004460146FFF788F980462349FFF784F9BB +:10B8E0002249FFF729F94146FFF77EF92049FFF782 +:10B8F00023F94146FFF778F91E49FFF71DF9414644 +:10B90000FFF772F91C49FFF717F905464146204633 +:10B91000FFF76AF92946FFF767F93146FFF70CF997 +:10B920002146FFF709F93946BDE8F047FFF704B9AA +:10B93000DB0FC9BFDB0FC93FDB0F4940DB0F49C03D +:10B940000000C9BF22AAFDB90000C93F22AAFD39E3 +:10B950000060ED3EC30ACE37000049C022AA7DBA7E +:10B960000000494022AA7D3A2DAD65BD8FB8D53D76 +:10B970000FB511BE61C84C3EA8AAAABE2DE9F84376 +:10B980000446024650486946B0EB420F09D94FF0D1 +:10B99000E640B0EB420F94BF00204FF0FF30009024 +:10B9A00034E04A4B22F0004083422BD948492046DC +:10B9B000FFF71AF9FFF7A3FA8046FFF7A5F900F0A1 +:10B9C0000300009043494046FFF70EF905464249FF +:10B9D0004046FFF709F9064640494046FFF704F99B +:10B9E00007463F494046FFF7FFF82146FFF7F9F8C1 +:10B9F0003946FFF7F3F83146FFF7F0F82946FFF72D +:10BA0000EDF802E01046FFF7F1FC04462546009CE5 +:10BA1000002C18DA6800B0F17F4F3CBF4FF07E5029 +:10BA2000BDE8F88309D14FF00100FFF79BFDBDE8A9 +:10BA3000F84300210846FFF70DB92846BDE8F84352 +:10BA40000121FFF747B9294614F0010F08461CD021 +:10BA5000FFF7CAF806462349FFF7C6F82249FFF761 +:10BA6000C0F83146FFF7C0F82049FFF765F83146C6 +:10BA7000FFF7BAF82946FFF7B7F82946FFF75CF851 +:10BA800014F0020F1CD0BDE8F883FFF7ADF80546AF +:10BA90001749FFF7A9F81749FFF74EF82946FFF7AE +:10BAA000A3F81549FFF748F82946FFF79DF84FF02E +:10BAB0007E51FFF741F814F0020F08BFBDE8F8838C +:10BAC00080F00040BDE8F883B61F927E490E4946DB +:10BAD00083F9223F1A61342C0020A23300A0FD39E3 +:10BAE0000000C93F336D4C39DA82083CA0AA2ABE57 +:10BAF000B93AB2BACA9F2A3DDDFFFFBE70B505460E +:10BB0000FFF7C2FA04464000801C0DD12846FFF71B +:10BB1000F6F905462046FFF7E9F82946FFF722F92E +:10BB20001CBF0120FFF71EFD204670BD2DE9F04D22 +:10BB30000F460E46A0F50001804604464FF0007007 +:10BB400084B04FF07E554FF0000B00EB47004FF0F4 +:10BB50007F4AB1F1FE4F04D2B0F1804F80F00181F5 +:10BB600041E0B0F1804F3ED304F1FF40B0F1FE4F11 +:10BB70001FD200BF28F00048C6F3C75044467F28B4 +:10BB800009DB97287DDAC0F19600012101FA00F067 +:10BB9000411E314209D00120FFF7E4FC04B000212E +:10BBA000BDE8F04D0846FFF755B8304218BFFE4DCE +:10BBB000D7E0600000281CBF4FF08070B0EB440F4E +:10BBC0000BD91B214046FFF785F8804604466FF0ED +:10BBD0001A0B10F0004FCDD1C3E0A4F50000B0F176 +:10BBE000FE4F1BD2BDE0B0F1007F11D300213846DB +:10BBF000FFF7B8F806D16000002818BFBAEB440F71 +:10BC000071D8B1E706F0004040F0FC563746ABE78C +:10BC1000B0F1807F38BFA6F50007A5D324F000401F +:10BC20006FF0FF42E14B8118994210D326F000419A +:10BC30000A449A420BD3B4F17E5F18BF5FEA460212 +:10BC400051D0B0F1FF4F98BFB1F1FF4F06D904B00A +:10BC500039464046BDE8F04DFEF76EBFB4F1FF4FE8 +:10BC600010D0C6F3C7507F2809DB972812DAC0F13D +:10BC70009600012101FA00F0411E314206D0002059 +:10BC800009E06EE016F0004F5DD127E0304218BFAA +:10BC9000012000D1022014F5000F13D024B3B4F119 +:10BCA000004F27D014F1814F56D04FF0FE40B0EB3B +:10BCB000440F94BF01200020012101EBE67188426E +:10BCC00041D10BE016F0004F02D001283FD03AE0FE +:10BCD000012802BFB64804B0BDE8F08D4FF0FF4028 +:10BCE00004B0BDE8F08D37E016F000400ED104B08E +:10BCF000BDE8F08DB6F1FF4F25D016F5000F05D049 +:10BD000016F0004F18D008B101280AD00220FFF722 +:10BD100029FC04B00021BDE8F04D4FF07E50FEF745 +:10BD200099BF0220FFF71EFC04B04146BDE8F04D6C +:10BD30004FF07E50FEF78EBF002804BF04B0BDE870 +:10BD4000F08D012803D004B00020BDE8F08D04B0D0 +:10BD50004FF00040BDE8F08D04B04FF07E50BDE8DC +:10BD6000F08D94482044B0F5005F44D84046FFF77A +:10BD7000B1F90022904BFFF781F9FFF7BEF90446B5 +:10BD80006FF00101FEF7A6FF8C49FEF72AFF21465E +:10BD9000FEF72AFF4FF07C51FEF723FF06462146AF +:10BDA0000846FEF721FF80F000403146FEF71CFFF9 +:10BDB000804683492046FEF717FF064681494046E4 +:10BDC000FEF712FF804680492046FEF70DFF4146F0 +:10BDD000FEF7B2FE044601463046FEF7ADFE00F522 +:10BDE000006B6FF30B0B59463046FEF7F7FE21460A +:10BDF000FEF7A2FED4E004F58020C00C00F00F0690 +:10BE0000C0F307107F38A4EBC05483443046FEF7DC +:10BE10006DFF6FF00301FEF75DFF4FF07E51FEF7FF +:10BE20008BFE014602902046FEF7D8FE0190204688 +:10BE30000299FEF781FE00F500686FF30B08009091 +:10BE400041460298FEF7CAFE2146FEF775FE0290B3 +:10BE50004FF07E500099FEF7FDFE014600900198DC +:10BE6000FEF7C2FE00F500646FF30B042046029952 +:10BE7000FEF7BAFE029041462046FEF7B5FE019954 +:10BE8000FEF7AFFE0299FEF7A9FE0099FEF7ACFEA1 +:10BE9000014600902046FEF74FFE0146FEF7A4FE45 +:10BEA00080464A49FEF7A0FE4449FEF745FE41465A +:10BEB000FEF79AFE804600212046FEF70BFF019018 +:10BEC00020460099FEF738FE4146FEF78DFE0446F7 +:10BED00000210098FEF7FEFE2146FEF72DFE80466B +:10BEE00001460198FEF728FE00F500646FF30B048D +:10BEF00021460198FEF772FE4146FEF71DFE804680 +:10BF000033492046FEF770FE009032494046FEF766 +:10BF10006BFE804630492046FEF766FE4146FEF73E +:10BF20000BFE804601460098FEF706FE00F5006411 +:10BF30006FF30B0421460098FEF750FE4146FEF7D2 +:10BF4000FBFD80462548784450F8361000EBC600CB +:10BF5000019146684FEA0B10FEF7C8FE009031468B +:10BF60004046FEF7E9FD2146FEF7E6FD0199FEF7A2 +:10BF7000E3FD0099FEF7E0FD00F5006B6FF30B0B9E +:10BF800058460099FEF72AFE0199FEF727FE214642 +:10BF9000FEF724FE3146FEF721FE4146FEF721FE64 +:10BFA000804607F500641BE0000080BFFFFF3F00F4 +:10BFB000000080FF001080C00000F03FABAAAA3E46 +:10BFC00000B0B8413BAAB841D49A38BB7EE24C3E9F +:10BFD00000B038423BAA3842D49AB8BB9214000051 +:10BFE0006FF30B0421463846FEF7F8FD074621465D +:10BFF0005846FEF7F9FD064639462046FEF79CFDF9 +:10C000004146FEF7F1FD044639465846FEF7ECFD81 +:10C010002146FEF791FD074601463046FEF78CFDAE +:10C0200000F500646FF30B0421463046FEF7D6FDA1 +:10C030003946FEF781FD804601462046FEF77CFD2D +:10C04000FFF722F807460611FEF750FE2146FEF7DD +:10C05000C8FD4146FEF770FD04463549FEF7C4FDB4 +:10C060003449FEF769FD2146FEF7BEFD3249FEF771 +:10C0700063FD2146FEF7B8FD0146304807F00F0486 +:10C08000784450F82400FEF7AFFD2D49794451F86B +:10C090002410FEF751FD2B49794451F82410FEF786 +:10C0A0004BFD06F17D01FC2908D23146FEF712FE58 +:10C0B00004B02946BDE8F04DFEF796BD06F1BF017C +:10C0C000B1F5BF7F16D83146FEF704FE2946FEF7CC +:10C0D0008BFD0446BAEB440F1AD060000CD020460A +:10C0E000FFF766F9042808BFFFF77AF9204604B085 +:10C0F000BDE8F08D002E0BDA0220FFF733FAFFF7D0 +:10C100006FF90146284604B061F31E00BDE8F08DCA +:10C110000220FFF727FA61214FF0E040FEF7DAFD39 +:10C120000146284604B061F31E00BDE8F08D000012 +:10C13000FC596337C9FF753A1872313D5814000035 +:10C140000C140000C01300002DE9F8430446024619 +:10C1500053486946B0EB420F09D94FF0E640B0EBC7 +:10C16000420F94BF00204FF0FF30009034E04D4B61 +:10C1700022F0004083422BD94B492046FEF734FD84 +:10C18000FEF7BDFE8046FEF7BFFD00F00300009005 +:10C1900046494046FEF728FD054645494046FEF71C +:10C1A00023FD064643494046FEF71EFD0746424929 +:10C1B0004046FEF719FD2146FEF713FD3946FEF70E +:10C1C0000DFD3146FEF70AFD2946FEF707FD02E0A8 +:10C1D0001046FFF70BF904462546009C002C1DDA9B +:10C1E0006800B0F17F4F09D22846FFF7E1F8042834 +:10C1F00008BFFFF7F5F82846BDE8F88308D101200D +:10C20000FFF7B0F9BDE8F84300210846FEF722BD6C +:10C210002846BDE8F8430121FEF75CBD294614F02D +:10C22000010F08461ED0FEF7DFFC05462349FEF746 +:10C23000DBFC2349FEF780FC2946FEF7D5FC2149AB +:10C24000FEF77AFC2946FEF7CFFC4FF07E51FEF751 +:10C2500073FC14F0020F08BFBDE8F88380F00040C3 +:10C26000BDE8F883FEF7C0FC06461749FEF7BCFCA4 +:10C270001649FEF7B6FC3146FEF7B6FC1449FEF748 +:10C280005BFC3146FEF7B0FC2946FEF7ADFC2946C3 +:10C29000FEF752FC14F0020FE0D1BDE8F883000075 +:10C2A000B61F927E490E494683F9223F1A61342C0B +:10C2B0000020A23300A0FD390000C93FB93AB2BA4C +:10C2C000CA9F2A3DDDFFFFBE336D4C39DA82083C40 +:10C2D000A0AA2ABE70B50546FEF7E2FD044620F08E +:10C2E0000040C0F1FF40C00F08D025F00040C0F171 +:10C2F000FF40C00F04BF0120FFF734F9204670BD96 +:10C300005DD60008BAD6000818D700085AD600082B +:10C3100061D60008F9D50008F4D5000848D6000811 +:10C32000E9D5000812D70008FCD50008CBD60008D4 +:10C3300027D7000813D600088BD6000824D600089B +:10C34000E2D5000854D60008ADD60008F3D60008A0 +:10C35000E6D6000884D600080000000099D6000840 +:10C3600002D7000868D600081ED70008C0D600080B +:10C3700007D7000830D600083FD60008FED60008D0 +:10C380000AD60008D5D6000831D70008DBD6000849 +:10C390009DD6000807D6000879D6000800000000E6 +:10C3A000A8D6000803D60008A3D6000820D60008A7 +:10C3B000D5D60008FED600081CD6000800000000F4 +:10C3C000B6DD0008ECD50008D3D5000876DD0008FE +:10C3D000DBD500088ED800080000000091DD0008C1 +:10C3E00024DD0008330300088CDD000818DC000899 +:10C3F0008703000871DC0008D2DC0008A9060008E9 +:10C40000E8DB0008FFDA00085B0700089FDC000893 +:10C41000B6DD0008D1080008B7D800086ADA0008BD +:10C42000F5080008D2D9000821DA0008C10900087F +:10C43000E3DB0008B6DD0008D9090008DFDB0008EF +:10C44000EDDB0008050A000826DC0008EFDC000828 +:10C45000D50C00085EDC00082CD900085B0D000834 +:10C460003FD80008C4D50008EB0D000847D90008E4 +:10C47000C2DC0008AB0800089BDC000802DD0008F5 +:10C48000250E000894DC000888DC0008690F00080D +:10C490003CDB0008B6DD00081310000885D8000852 +:10C4A000020000007C04002000000000282300009F +:10C4B00045D700080200000084050020B0040000F9 +:10C4C000A40600006DD8000802000000400500200E +:10C4D00000000000D007000079D80008020000002A +:10C4E0004205002000000000D0070000EFD7000840 +:10C4F000020000004405002000000000D0070000FA +:10C5000000DA00080200000086050020000000009C +:10C51000D007000009DA00080200000088050020AA +:10C5200000000000D007000067DD000802000000E6 +:10C530004605002000000000D0070000C2D9000816 +:10C54000020000004805002000000000D0070000A5 +:10C550004BD70008020000004A0500200000000040 +:10C56000D007000047D80008020000004C0500205A +:10C5700000000000D0070000E6D80008020000001C +:10C580004E05002032000000F2010000D7D800085C +:10C59000020000005005002032000000F2010000FF +:10C5A000F2DA0008000000008A0500200000000008 +:10C5B0000100000074D70008000000008B05002077 +:10C5C000000000006400000007D90008040000001B +:10C5D00090050020B004000000C2010003D900084B +:10C5E000040000009405002080250000004B00009E +:10C5F00080D700080000000098050020000000001F +:10C600000100000093D80008000000008D05002004 +:10C61000000000000300000017D90008010000001E +:10C620008E050020FFFFFFFF040000009CD80008DB +:10C630000000000082050020000000000200000051 +:10C640003BDA00080000000099050020000000000F +:10C650000100000035D80008000000007605002029 +:10C660000A000000C80000000DD80008000000000B +:10C67000770500200A00000032000000FAD7000809 +:10C6800000000000780500200A00000032000000D1 +:10C690007EDA00080000000079050020000000009C +:10C6A00009000000A3DB0008000000005205002084 +:10C6B00000000000080000003BD700080000000058 +:10C6C00053050020000000000800000072D9000897 +:10C6D00000000000540500200000000008000000D9 +:10C6E000C5DA000803000000560500204CFFFFFFDC +:10C6F0006801000091D900080300000058050020DF +:10C700004CFFFFFF680100004BDD00080300000044 +:10C710005A0500204CFFFFFF6801000054DB0008B1 +:10C72000010000005C050020FFFFFFFF010000008A +:10C73000AAD80008000000005D05002000000000ED +:10C74000050000009CD700080000000068050020DC +:10C75000000000008000000069D90008020000000D +:10C760005E05002000000000000100003BDC000826 +:10C77000020000006005002064000000E8030000E3 +:10C780004CDC00080200000062050020640000008C +:10C79000E803000009DC000800000000EC070020AE +:10C7A0000000000001000000E6D7000800000000C3 +:10C7B000520800200000000020000000E3D700081D +:10C7C000000000005308002000000000640000008A +:10C7D00050DA0008000000005408002001000000AA +:10C7E000FA00000020D800080000000055080020D2 +:10C7F000000000000100000078DB000800000000DD +:10C80000560800200000000064000000BFD80008A7 +:10C81000000000000B08002000000000FA000000EB +:10C8200092DB0008000000000C080020000000005F +:10C830006400000094D70008000000000D080020EC +:10C8400000000000640000009ADB00080000000007 +:10C850000E0800200000000064000000C7D8000897 +:10C86000000000000F08002000000000640000002D +:10C8700024D900080000000010080020000000007B +:10C880006400000095DD000800000000980800200A +:10C8900000000000C8000000A4DD00080000000047 +:10C8A0009908002000000000C80000005BD80008C4 +:10C8B000020000009A080020E8030000D0070000F2 +:10C8C000ACD70008020000009C08002064000000B3 +:10C8D000D007000090DA0008010000008C0500205D +:10C8E00000000000040000006ADB000801000000F6 +:10C8F0009E080020FFFFFFFF01000000AEDB0008E4 +:10C90000010000009F08002000000000010000005E +:10C9100064DC000800000000A00800200000000007 +:10C92000FF0000002CDC00080000000018080020B8 +:10C9300000000000FA000000C6D700080000000058 +:10C940001A0800200000000064000000D5D700088D +:10C950000000000019080020000000006400000032 +:10C9600012DA000800000000280800200000000083 +:10C9700001000000ABD900080300000016080020E9 +:10C98000D4FEFFFF2C010000DDDA000803000000E8 +:10C9900014080020D4FEFFFF2C0100004CD9000831 +:10C9A000000000001B080020000000003000000014 +:10C9B0005AD90008050000001C08002000000000F3 +:10C9C00001000000A1DA0008050000002008002096 +:10C9D0000000000001000000AADC000805000000C3 +:10C9E00024080020000000000100000044DB0008D3 +:10C9F0000300000012080020B0B9FFFF50460000FD +:10CA0000CBDB000800000000F10700200000000060 +:10CA1000C8000000ECD9000800000000FB0700205F +:10CA200000000000C800000060D7000800000000FF +:10CA30000508002000000000C8000000C0DB00085E +:10CA400000000000F207002000000000C800000005 +:10CA5000E1D9000800000000FC07002000000000F1 +:10CA6000C800000055D7000800000000060800209C +:10CA700000000000C8000000D5DB00080000000036 +:10CA8000F307002000000000C8000000F6D90008ED +:10CA900000000000FD07002000000000C8000000AA +:10CAA0006AD700080000000007080020000000000E +:10CAB000C80000007ADC000802000000A208002084 +:10CAC00000000000D00700007CD900080000000032 +:10CAD000A608002000000000010000002EDB000876 +:10CAE00002000000A80800200A000000D007000093 +:10CAF0007EDD000802000000AA0800200A000000F5 +:10CB0000D0070000F5D8000800000000A5080020AC +:10CB10000000000064000000BAD900080000000016 +:10CB2000EE07002000000000C8000000A3D90008A4 +:10CB300000000000F807002000000000C80000000E +:10CB40009BD900080000000002080020000000003F +:10CB5000C8000000EBDA000800000000ED0700202C +:10CB600000000000C8000000D6DA00080000000045 +:10CB7000F707002000000000C8000000CFDA00081E +:10CB8000000000000108002000000000C8000000B4 +:10CB900061DD000800000000EF0700200000000039 +:10CBA000C80000005BDD000800000000F90700205D +:10CBB00000000000C800000055DD00080000000073 +:10CBC0000308002000000000C8000000BCDC0008D2 +:10CBD00000000000F007002000000000C800000076 +:10CBE000B6DC000800000000FA070020000000008A +:10CBF000C8000000A4DC00080000000004080020B9 +:10CC000000000000C8000000BDDA000800000000BD +:10CC1000F407002000000000C8000000B5DA00089A +:10CC200000000000FE07002000000000C800000017 +:10CC3000ADDA000800000000080800200000000035 +:10CC4000C800000041455254313233340000000026 +:10CC50000000803F00000000A8AAAA3F00000000DA +:10CC60000000803F000080BFB0AA2ABF0000000083 +:10CC70000000803F0000803FB0AA2ABF00000000F3 +:10CC80000000803F000000000000803F000080BFE7 +:10CC90000000803F000080BF000000000000803FD7 +:10CCA0000000803F0000803F000000000000803F47 +:10CCB0000000803F00000000000080BF000080BF37 +:10CCC0000000803F000080BF0000803F000080BF68 +:10CCD0000000803F000080BF000080BF0000803F58 +:10CCE0000000803F0000803F0000803F0000803F48 +:10CCF0000000803F0000803F000080BF000080BF38 +:10CD00000000803F0000803F0000000000000000A5 +:10CD10000000803F000080BF000000000000000015 +:10CD20000000803F00000000A8AAAA3F0000803F4A +:10CD30000000803F000080BFB0AA2ABF000080BF73 +:10CD40000000803F0000803FB0AA2ABF000080BFE3 +:10CD50000000803F00000000A8AAAA3F000080BF9A +:10CD60000000803F000080BFB0AA2ABF0000803FC3 +:10CD70000000803F0000803FB0AA2ABF0000803F33 +:10CD80000000803F000080BFD0B35D3F0000803FC7 +:10CD90000000803F000080BFD0B35DBF000080BFB7 +:10CDA0000000803F0000803FD0B35D3F0000803F27 +:10CDB0000000803F0000803FD0B35DBF000080BF17 +:10CDC0000000803F00000000D0B35DBF0000803F46 +:10CDD0000000803F00000000D0B35D3F000080BF36 +:10CDE0000000803F000000000000803F000080BF86 +:10CDF0000000803F000080BF000080BF00000000F6 +:10CE00000000803F000000000000803F0000803FE5 +:10CE10000000803F0000803F000080BF0000000055 +:10CE20000000803FD0B35DBF0000803F0000803F26 +:10CE30000000803FD0B35DBF000080BF0000803F96 +:10CE40000000803FD0B35D3F0000803F000080BF06 +:10CE50000000803FD0B35D3F000080BF000080BF76 +:10CE60000000803FD0B35DBF00000000000080BF25 +:10CE70000000803FD0B35D3F000000000000803F15 +:10CE80000000803F000080BF0000803F000080BFA6 +:10CE90000000803F000080BF000080BF0000803F96 +:10CEA0000000803F0000803F0000803F0000803F86 +:10CEB0000000803F0000803F000080BF000080BF76 +:10CEC0000000803F000080BF0000803F0000803FE6 +:10CED0000000803F000080BF000080BF000080BFD6 +:10CEE0000000803F0000803F0000803F000080BFC6 +:10CEF0000000803F0000803F000080BF0000803FB6 +:10CF00000000803FF704353FF70435BF0000803F45 +:10CF10000000803FF70435BFF70435BF0000803FB5 +:10CF20000000803FF70435BFF704353F0000803F25 +:10CF30000000803FF704353FF704353F0000803F95 +:10CF40000000803F00000000000080BF000080BFA4 +:10CF50000000803F000080BF00000000000080BF94 +:10CF60000000803F000000000000803F000080BF04 +:10CF70000000803F0000803F00000000000080BFF4 +:10CF80000000803F0000803F000000BF0000803FA5 +:10CF90000000803F000000BF000080BF0000803F15 +:10CFA0000000803F000080BF0000003F0000803F85 +:10CFB0000000803F0000003F0000803F0000803FF5 +:10CFC0000000803F0000003F000080BF000080BFE5 +:10CFD0000000803F000080BF000000BF000080BF55 +:10CFE0000000803F000000BF0000803F000080BFC5 +:10CFF0000000803F0000803F0000003F000080BF35 +:10D000000000803F000000000000803F0000803FE3 +:10D010000000803F000080BF000080BF00000000D3 +:10D020000000803F000000000000803F000080BF43 +:10D030000000803F0000803F000080BF00000080B3 +:10D040000000803F000080BF0000803F000080BFE4 +:10D050000000803F000080BF000080BF0000803FD4 +:10D060000000803F0000803F0000803F0000803FC4 +:10D070000000803F0000803F000080BF000080BFB4 +:10D080000000803F000000000000000000000000E1 +:10D090000000803F000000000000000000000000D1 +:10D0A0000000803F0000000000000000000080BF82 +:10D0B0000000803F00000000000000000000803FF2 +:10D0C00000000000000000000301000050CC000838 +:10D0D0000400000080CC000804000000C0CC000860 +:10D0E0000201000000CD0008000100000000000067 +:10D0F0000600000020CD00080600000080CD0008DA +:10D10000010100000000000004000000E0CD000864 +:10D110000600000020CE00080800000080CE0008B5 +:10D120000800000000CF00080800000080CF0008C1 +:10D1300001010000000000000001000000000000EC +:10D1400000010000000000000400000000D0000802 +:10D150000600000040D000080001000000000000B0 +:10D1600002010000A0D00008010100000000000042 +:10D170000000000000000000524F4C4C3B5049544E +:10D1800043483B5941573B414C543B506F733B50D4 +:10D190006F73523B4E6176523B4C4556454C3B4D6E +:10D1A00041473B56454C3B0000C20100FDDE0008F4 +:10D1B00020DF000800E10000DBDE0008C7DE000819 +:10D1C0000096000091DE0008B3DE0008004B00006E +:10D1D0006FDE00085BDE000880250000B6DD000879 +:10D1E000B6DD0008B56206010300F00500FF19B5C1 +:10D1F0006206010300F00300FD15B562060103009D +:10D20000F00100FB11B56206010300F00000FA0F07 +:10D21000B56206010300F00200FC13B562060103CB +:10D2200000F00400FE17B562060103000102010EC2 +:10D2300047B562060103000103010F49B56206010B +:10D240000300010601124FB562060103000112013D +:10D250001E67B562061608000307030051080000A8 +:10D260008A41B56206080600C80001000100DE6AB6 +:10D270001048494A4B4C4D44454647FF2021222344 +:10D280002425262748494A4B4C4DFF1048498A8B94 +:10D290008C8D84858687FF202122232425262748FC +:10D2A000498A8B8C8DFF00007CD2000870D2000868 +:10D2B00097D200088BD20008000C01400800100231 +:10D2C000000C014010001002000801400010140280 +:10D2D0004D860008E98500081D8600086B8500085A +:10D2E0000386000800000040000801400100000023 +:10D2F000001C000000000040000801400200000087 +:10D30000041C000000000040000801400400000070 +:10D31000081C000000000040000801400800000058 +:10D320000C1C000000040040000801404000000008 +:10D33000001D0000000400400008014080000000C3 +:10D34000041D000000040040000C0140010000002A +:10D35000081D000000040040000C01400200000015 +:10D360000C1D0000002C01400008014000010000DD +:10D37000001B0100002C01400008014000080000D3 +:10D380000C1B010000080040000C014040000000A0 +:10D39000001E000000080040000C0140800000005A +:10D3A000041E000000080040000C014000010000C5 +:10D3B000081E000000080040000C014000020000B0 +:10D3C0000C1E00000004080CCB970008839700088F +:10D3D000A5970008E3970008579600080000000092 +:10D3E000000000000000B33FB2BE7D3A00002E40B6 +:10D3F000DFCF513800007E40BF51FABA00E0A440B0 +:10D4000019DAC3BA00E0C840C2ED8AB90040EB4067 +:10D41000CD1F2CBA001006412AFFFABA00C01541F0 +:10D42000DFCFD13700D024419A97703A0050334172 +:10D4300089478E3600404141E75B9D3800B04E4140 +:10D44000C00A98B900A05B41558F943A00306841FA +:10D45000DA92C0BA0040744162B3C63A0000803F1D +:10D4600000A0853F00908B3F00C0913F0030983F67 +:10D4700000F09E3F00F0A53F0050AD3F0000B53FDB +:10D480000000BD3F0060C53F0020CE3F0040D73FB9 +:10D4900000C0E03F00C0EA3F0020F53F0000000070 +:10D4A0007D36AC397D3C3839EBDCF438320A7E39D4 +:10D4B000124C26399B6AED39A4EE83397F661E39FA +:10D4C000F6398A392B426539A48211395B991F39A3 +:10D4D000C3EECD39DDE7C637A5A22F390000803F66 +:10D4E000C3AA853FC2958B3FD3C3913FF037983F86 +:10D4F00032F59E3FD7FEA53F3F58AD3FF304B53F01 +:10D50000A408BD3F2A67C53F8C24CE3FFD44D73FCA +:10D51000DFCCE03FC7C0EA3F7D25F53F00404040FB +:10D5200040404040404041414141414040404040F6 +:10D5300040404040404040404040404040050202A2 +:10D540000202020202020202020202020220202061 +:10D5500020202020202020020202020202029090BD +:10D5600090909090101010101010101010101010BB +:10D57000101010101010101002020202020288880F +:10D58000888888880808080808080808080808081B +:10D590000808080808080808020202024000000003 +:10D5A0001DD50008000000006E83F9A22915444E25 +:10D5B000D15727FCC0DD34F5999562DB4190433C9F +:10D5C000AB6351FE696E64657820283020746F204B +:10D5D0003229004D50553630353000424D413238F9 +:10D5E0003000565441494C34005934004144584CA1 +:10D5F0003334350048455836005936004F43544FB0 +:10D60000583800414343003344004641494C53419C +:10D61000464500414952504C414E45004750532B1E +:10D620004D41470048454C495F39305F444547000C +:10D630004759524F5F534D4F4F5448494E47004C46 +:10D6400045445F52494E4700464C59494E475F5743 +:10D65000494E47004845583648004249005452490F +:10D660000047494D42414C00494E464C49474854B9 +:10D670005F4143435F43414C00534F46545345522F +:10D6800049414C00435553544F4D0048454C495F68 +:10D690003132305F4343504D0050504D005641529F +:10D6A000494F004241524F004759524F0050504D90 +:10D6B0005F544F5F534552564F00515541445000FF +:10D6C0004D4F544F525F53544F50004F43544F46A9 +:10D6D0004C41545000534F4E415200504F57455209 +:10D6E0004D455445520053494E474C45434F5054C5 +:10D6F0004552004455414C434F5054455200475009 +:10D7000053005642415400534552564F5F54494CC2 +:10D710005400484558365800515541445800534527 +:10D720005249414C5258004F43544F464C41545873 +:10D730000054454C454D4554525900616C69676E23 +:10D740005F616363006D69647263006E6575747216 +:10D75000616C3364006770735F706F73725F640035 +:10D760006770735F706F735F64006770735F6E6183 +:10D77000765F6400666C6170735F737065656400EA +:10D78000736F667473657269616C5F696E766572DA +:10D79000746564007468725F6D6964006D6F726FA8 +:10D7A0006E5F7468726573686F6C64006661696C43 +:10D7B000736166655F6465746563745F74687265E0 +:10D7C00073686F6C640061636378795F646561643A +:10D7D00062616E64006163637A5F64656164626163 +:10D7E0006E64007961776465616462616E64006D86 +:10D7F000696E636F6D6D616E6400766261746D69F0 +:10D800006E63656C6C766F6C7461676500766261DF +:10D81000746D617863656C6C766F6C7461676500BC +:10D82000616C745F686F6C645F666173745F63687A +:10D83000616E676500766261747363616C65007028 +:10D84000726F66696C65006465616462616E643301 +:10D85000645F7468726F74746C65006661696C7380 +:10D860006166655F7468726F74746C65006D696E73 +:10D870007468726F74746C65006D61787468726F2F +:10D8800074746C65006C6F6F7074696D65004E6FB9 +:10D890006E65006770735F74797065007365726997 +:10D8A000616C72785F74797065006163635F686151 +:10D8B0007264776172650066656174757265007285 +:10D8C000635F7261746500726F6C6C5F7069746322 +:10D8D000685F7261746500736572766F5F70776DF3 +:10D8E0005F72617465006D6F746F725F70776D5FEA +:10D8F00072617465006E61765F736C65775F7261EB +:10D90000746500736F667473657269616C5F6261E0 +:10D91000756472617465006770735F6261756472CB +:10D920006174650079617772617465006765742F51 +:10D93000736574206D6F746F72206F757470757479 +:10D940002076616C75650073617665006261726F47 +:10D950005F7461625F73697A65006261726F5F6EA6 +:10D960006F6973655F6C7066006779726F5F6C706A +:10D970006600616C69676E5F6D6167006E61765FFE +:10D98000636F6E74726F6C735F68656164696E67F4 +:10D9900000616C69676E5F626F6172645F70697469 +:10D9A000636800695F7069746368006163635F74D2 +:10D9B00072696D5F706974636800705F7069746329 +:10D9C00068006465616462616E6433645F6869679E +:10D9D0006800677073706173737468726F756768DD +:10D9E000006770735F706F73725F69006770735F59 +:10D9F000706F735F69006770735F6E61765F690057 +:10DA00006D696E636865636B006D617863686563FB +:10DA10006B006163635F756E61726D656463616CF9 +:10DA200000706173737468726F75676820677073D4 +:10DA300020746F2073657269616C0074656C656D2C +:10DA4000657472795F736F667473657269616C0077 +:10DA5000616C745F686F6C645F7468726F74746C0F +:10DA6000655F6E65757472616C006C697374206FAC +:10DA700072202D76616C206F722076616C00706F61 +:10DA80007765725F6164635F6368616E6E656C0089 +:10DA9000727373695F6175785F6368616E6E656CE0 +:10DAA000006261726F5F63665F76656C00645F6CD5 +:10DAB0006576656C00695F6C6576656C00705F6C9F +:10DAC0006576656C00616C69676E5F626F61726438 +:10DAD0005F726F6C6C00695F726F6C6C0061636386 +:10DAE0005F7472696D5F726F6C6C00705F726F6CE7 +:10DAF0006C0072657461726465645F61726D007060 +:10DB000072696E7420636F6E666967757261626CAC +:10DB1000652073657474696E677320696E20612077 +:10DB20007061737461626C6520666F726D006E6106 +:10DB3000765F73706565645F6D696E00766572739C +:10DB4000696F6E006D61675F6465636C696E6174B7 +:10DB5000696F6E007961775F636F6E74726F6C5F6F +:10DB6000646972656374696F6E007961775F646977 +:10DB700072656374696F6E007468726F74746C653B +:10DB80005F616E676C655F636F7272656374696F06 +:10DB90006E0072635F6578706F007468725F65789D +:10DBA000706F00616C69676E5F6779726F00747285 +:10DBB000695F756E61726D65645F736572766F0023 +:10DBC0006770735F706F73725F70006770735F7000 +:10DBD0006F735F70006770735F6E61765F70006D6A +:10DBE00061700068656C700064756D70006D6170C7 +:10DBF00070696E67206F66207263206368616E6E65 +:10DC0000656C206F72646572007069645F636F6E2B +:10DC100074726F6C6C65720064657369676E206303 +:10DC20007573746F6D206D69786572006163635FF1 +:10DC30006C70665F666163746F72006779726F5FA4 +:10DC4000636D70665F666163746F72006779726F8F +:10DC50005F636D70666D5F666163746F72006D6F98 +:10DC6000746F720067696D62616C5F666C61677387 +:10DC70000064656661756C7473006770735F7770BC +:10DC80005F7261646975730073686F77207379736D +:10DC900074656D20737461747573007365740065C9 +:10DCA00078697400645F616C74006261726F5F63B5 +:10DCB000665F616C7400695F616C7400705F616CB9 +:10DCC00074007361766520616E64207265626F6FA7 +:10DCD0007400726573657420746F20646566617585 +:10DCE0006C747320616E64207265626F6F74006D76 +:10DCF00069786572206E616D65206F72206C697342 +:10DD000074006E616D653D76616C7565206F722083 +:10DD1000626C616E6B206F72202A20666F72206CBD +:10DD200069737400666561747572655F6E616D65B7 +:10DD300020617578666C6167206F7220626C616E1D +:10DD40006B20666F72206C69737400616C69676E1A +:10DD50005F626F6172645F79617700695F79617793 +:10DD600000705F796177006465616462616E64333D +:10DD7000645F6C6F77004D4D4138343578006E61CB +:10DD8000765F73706565645F6D617800636D697857 +:10DD900000617578006661696C736166655F6465D2 +:10DDA0006C6179006661696C736166655F6F666658 +:10DDB0005F64656C61790043414D535441423B00BF +:10DDC00043414C49423B0047505320484F4C443B51 +:10DDD0000048454144465245453B00414E474C456D +:10DDE0003B0047505320484F4D453B004D41473B7A +:10DDF0000043414D545249473B004845414441444A +:10DE00004A3B0041524D3B00484F52495A4F4E3B0E +:10DE100000564152494F3B004241524F3B00424560 +:10DE2000455045523B00474F5645524E4F523B00DE +:10DE30004C4C49474854533B00504153535448526B +:10DE4000553B004C45444C4F573B004F53442053E7 +:10DE5000573B004C45444D41583B0024504D544BDA +:10DE60003235312C31393230302A32320D0A002429 +:10DE7000505542582C34312C312C303030332C302A +:10DE80003030312C31393230302C302A32330D0AD7 +:10DE90000024505542582C34312C312C3030303342 +:10DEA0002C303030312C33383430302C302A32366C +:10DEB0000D0A0024504D544B3235312C3338343058 +:10DEC000302A32370D0A0024504D544B3235312C54 +:10DED00035373630302A32430D0A00245055425827 +:10DEE0002C34312C312C303030332C303030312C3C +:10DEF00035373630302C302A32440D0A0024505544 +:10DF000042582C34312C312C303030332C303030DE +:10DF1000312C3131353230302C302A31450D0A0068 +:10DF200024504D544B3235312C3131353230302A7A +:10DF300031460D0A0000000058DF000800000020F4 +:10DF40004004000032B3000848E00008400400200C +:10DF50005025000054B50008019603207A44CBDC1C +:10DF6000050281023701136934025C08021A0309B1 +:10DF700036B3895C4ADEBC294913DBDD2A08083246 +:10DF8000021A08182908297C1A180C290832041AC0 +:10DF9000110C290832051AEC30290832061AD10C66 +:10DFA000290832071AFA0C290829591AB70C290826 +:10DFB00032091AF10C2908320A1AE20C2908320B2C +:10DFC0001AC70C2908320C1A39602908320D1A1E9A +:10DFD0000C2908320E1A530C2908320F1A430C2947 +:10DFE0000832101A300C290832111AC04829083298 +:10DFF000121A2618290832131A4B0C290872140217 +:10E00000A7FF021001E20452038B803F0401165A5D +:10E0100003494AD931E91D12010A1C0285C208349C +:10E020002C01401A408C1A40193A405B14A24A0451 +:10E030008B127A33380B0203040607080902040620 +:08E040003B29106914C1000026 :04000005080000ED02 :00000001FF diff --git a/src/board.h b/src/board.h index 69a9a7e45..65a241263 100755 --- a/src/board.h +++ b/src/board.h @@ -46,6 +46,7 @@ typedef enum { SENSOR_MAG = 1 << 3, SENSOR_SONAR = 1 << 4, SENSOR_GPS = 1 << 5, + SENSOR_GPSMAG = 1 << 6, } AvailableSensors; // Type of accelerometer used/detected @@ -86,9 +87,16 @@ typedef enum { typedef enum { GPS_NMEA = 0, GPS_UBLOX, - GPS_MTK, + GPS_MTK_NMEA, + GPS_MTK_BINARY, + GPS_MAG_BINARY, } GPSHardware; +typedef enum { + TELEMETRY_UART = 0, + TELEMETRY_SOFTSERIAL, +} TelemetrySerial; + typedef enum { X = 0, Y, diff --git a/src/cli.c b/src/cli.c index 55c60b26c..535d41311 100644 --- a/src/cli.c +++ b/src/cli.c @@ -9,9 +9,11 @@ static void cliDefaults(char *cmdline); static void cliDump(char *cmdLine); static void cliExit(char *cmdline); static void cliFeature(char *cmdline); +static void cliGpsPassthrough(char *cmdline); static void cliHelp(char *cmdline); static void cliMap(char *cmdline); static void cliMixer(char *cmdline); +static void cliMotor(char *cmdline); static void cliProfile(char *cmdline); static void cliSave(char *cmdline); static void cliSet(char *cmdline); @@ -25,6 +27,9 @@ extern uint8_t accHardware; // from config.c RC Channel mapping extern const char rcChannelLetters[]; +// from mixer.c +extern int16_t motor_disarmed[MAX_MOTORS]; + // buffer static char cliBuffer[48]; static uint32_t bufferIndex = 0; @@ -37,7 +42,9 @@ static const char * const mixerNames[] = { "TRI", "QUADP", "QUADX", "BI", "GIMBAL", "Y6", "HEX6", "FLYING_WING", "Y4", "HEX6X", "OCTOX8", "OCTOFLATP", "OCTOFLATX", - "AIRPLANE", "HELI_120_CCPM", "HELI_90_DEG", "VTAIL4", "CUSTOM", NULL + "AIRPLANE", "HELI_120_CCPM", "HELI_90_DEG", "VTAIL4", + "HEX6H", "PPM_TO_SERVO", "DUALCOPTER", "SINGLECOPTER", + "CUSTOM", NULL }; // sync this with AvailableFeatures enum from board.h @@ -50,7 +57,7 @@ static const char * const featureNames[] = { // sync this with AvailableSensors enum from board.h static const char * const sensorNames[] = { - "ACC", "BARO", "MAG", "SONAR", "GPS", NULL + "GYRO", "ACC", "BARO", "MAG", "SONAR", "GPS", "GPS+MAG", NULL }; static const char * const accNames[] = { @@ -71,9 +78,11 @@ const clicmd_t cmdTable[] = { { "dump", "print configurable settings in a pastable form", cliDump }, { "exit", "", cliExit }, { "feature", "list or -val or val", cliFeature }, + { "gpspassthrough", "passthrough gps to serial", cliGpsPassthrough }, { "help", "", cliHelp }, { "map", "mapping of rc channel order", cliMap }, { "mixer", "mixer name or list", cliMixer }, + { "motor", "get/set motor output value", cliMotor }, { "profile", "index (0 to 2)", cliProfile }, { "save", "save and reboot", cliSave }, { "set", "name=value or blank or * for list", cliSet }, @@ -114,11 +123,14 @@ const clivalue_t valueTable[] = { { "motor_pwm_rate", VAR_UINT16, &mcfg.motor_pwm_rate, 50, 498 }, { "servo_pwm_rate", VAR_UINT16, &mcfg.servo_pwm_rate, 50, 498 }, { "retarded_arm", VAR_UINT8, &mcfg.retarded_arm, 0, 1 }, + { "flaps_speed", VAR_UINT8, &mcfg.flaps_speed, 0, 100 }, { "serial_baudrate", VAR_UINT32, &mcfg.serial_baudrate, 1200, 115200 }, { "softserial_baudrate", VAR_UINT32, &mcfg.softserial_baudrate, 9600, 19200 }, { "softserial_inverted", VAR_UINT8, &mcfg.softserial_inverted, 0, 1 }, - { "gps_baudrate", VAR_UINT32, &mcfg.gps_baudrate, 1200, 115200 }, + { "gps_type", VAR_UINT8, &mcfg.gps_type, 0, 3 }, + { "gps_baudrate", VAR_INT8, &mcfg.gps_baudrate, -1, 4 }, { "serialrx_type", VAR_UINT8, &mcfg.serialrx_type, 0, 2 }, + { "telemetry_softserial", VAR_UINT8, &mcfg.telemetry_softserial, 0, 1 }, { "vbatscale", VAR_UINT8, &mcfg.vbatscale, 10, 200 }, { "vbatmaxcellvoltage", VAR_UINT8, &mcfg.vbatmaxcellvoltage, 10, 50 }, { "vbatmincellvoltage", VAR_UINT8, &mcfg.vbatmincellvoltage, 10, 50 }, @@ -126,13 +138,15 @@ const clivalue_t valueTable[] = { { "align_gyro", VAR_UINT8, &mcfg.gyro_align, 0, 8 }, { "align_acc", VAR_UINT8, &mcfg.acc_align, 0, 8 }, { "align_mag", VAR_UINT8, &mcfg.mag_align, 0, 8 }, + { "align_board_roll", VAR_INT16, &mcfg.board_align_roll, -180, 360 }, + { "align_board_pitch", VAR_INT16, &mcfg.board_align_pitch, -180, 360 }, + { "align_board_yaw", VAR_INT16, &mcfg.board_align_yaw, -180, 360 }, { "yaw_control_direction", VAR_INT8, &mcfg.yaw_control_direction, -1, 1 }, { "acc_hardware", VAR_UINT8, &mcfg.acc_hardware, 0, 5 }, { "moron_threshold", VAR_UINT8, &mcfg.moron_threshold, 0, 128 }, { "gyro_lpf", VAR_UINT16, &mcfg.gyro_lpf, 0, 256 }, { "gyro_cmpf_factor", VAR_UINT16, &mcfg.gyro_cmpf_factor, 100, 1000 }, { "gyro_cmpfm_factor", VAR_UINT16, &mcfg.gyro_cmpfm_factor, 100, 1000 }, - { "gps_type", VAR_UINT8, &mcfg.gps_type, 0, 3 }, { "pid_controller", VAR_UINT8, &cfg.pidController, 0, 1 }, { "deadband", VAR_UINT8, &cfg.deadband, 0, 32 }, { "yawdeadband", VAR_UINT8, &cfg.yawdeadband, 0, 100 }, @@ -142,7 +156,7 @@ const clivalue_t valueTable[] = { { "rc_rate", VAR_UINT8, &cfg.rcRate8, 0, 250 }, { "rc_expo", VAR_UINT8, &cfg.rcExpo8, 0, 100 }, { "thr_mid", VAR_UINT8, &cfg.thrMid8, 0, 100 }, - { "thr_expo", VAR_UINT8, &cfg.thrExpo8, 0, 250 }, + { "thr_expo", VAR_UINT8, &cfg.thrExpo8, 0, 100 }, { "roll_pitch_rate", VAR_UINT8, &cfg.rollPitchRate, 0, 100 }, { "yawrate", VAR_UINT8, &cfg.yawRate, 0, 100 }, { "failsafe_delay", VAR_UINT8, &cfg.failsafe_delay, 0, 200 }, @@ -152,28 +166,7 @@ const clivalue_t valueTable[] = { { "rssi_aux_channel", VAR_INT8, &mcfg.rssi_aux_channel, 0, 4 }, { "yaw_direction", VAR_INT8, &cfg.yaw_direction, -1, 1 }, { "tri_unarmed_servo", VAR_INT8, &cfg.tri_unarmed_servo, 0, 1 }, - { "tri_yaw_middle", VAR_UINT16, &cfg.tri_yaw_middle, 0, 2000 }, - { "tri_yaw_min", VAR_UINT16, &cfg.tri_yaw_min, 0, 2000 }, - { "tri_yaw_max", VAR_UINT16, &cfg.tri_yaw_max, 0, 2000 }, - { "wing_left_min", VAR_UINT16, &cfg.wing_left_min, 0, 2000 }, - { "wing_left_mid", VAR_UINT16, &cfg.wing_left_mid, 0, 2000 }, - { "wing_left_max", VAR_UINT16, &cfg.wing_left_max, 0, 2000 }, - { "wing_right_min", VAR_UINT16, &cfg.wing_right_min, 0, 2000 }, - { "wing_right_mid", VAR_UINT16, &cfg.wing_right_mid, 0, 2000 }, - { "wing_right_max", VAR_UINT16, &cfg.wing_right_max, 0, 2000 }, - { "pitch_direction_l", VAR_INT8, &cfg.pitch_direction_l, -1, 1 }, - { "pitch_direction_r", VAR_INT8, &cfg.pitch_direction_r, -1, 1 }, - { "roll_direction_l", VAR_INT8, &cfg.roll_direction_l, -1, 1 }, - { "roll_direction_r", VAR_INT8, &cfg.roll_direction_r, -1, 1 }, { "gimbal_flags", VAR_UINT8, &cfg.gimbal_flags, 0, 255}, - { "gimbal_pitch_gain", VAR_INT8, &cfg.gimbal_pitch_gain, -100, 100 }, - { "gimbal_roll_gain", VAR_INT8, &cfg.gimbal_roll_gain, -100, 100 }, - { "gimbal_pitch_min", VAR_UINT16, &cfg.gimbal_pitch_min, 100, 3000 }, - { "gimbal_pitch_max", VAR_UINT16, &cfg.gimbal_pitch_max, 100, 3000 }, - { "gimbal_pitch_mid", VAR_UINT16, &cfg.gimbal_pitch_mid, 100, 3000 }, - { "gimbal_roll_min", VAR_UINT16, &cfg.gimbal_roll_min, 100, 3000 }, - { "gimbal_roll_max", VAR_UINT16, &cfg.gimbal_roll_max, 100, 3000 }, - { "gimbal_roll_mid", VAR_UINT16, &cfg.gimbal_roll_mid, 100, 3000 }, { "acc_lpf_factor", VAR_UINT8, &cfg.acc_lpf_factor, 0, 250 }, { "accxy_deadband", VAR_UINT8, &cfg.accxy_deadband, 0, 100 }, { "accz_deadband", VAR_UINT8, &cfg.accz_deadband, 0, 100 }, @@ -218,7 +211,13 @@ const clivalue_t valueTable[] = { #define VALUE_COUNT (sizeof(valueTable) / sizeof(clivalue_t)) -static void cliSetVar(const clivalue_t *var, const int32_t value); + +typedef union { + int32_t int_value; + float float_value; +} int_float_value_t; + +static void cliSetVar(const clivalue_t *var, const int_float_value_t value); static void cliPrintVar(const clivalue_t *var, uint32_t full); static void cliPrint(const char *str); static void cliWrite(uint8_t ch); @@ -279,7 +278,7 @@ char *itoa(int i, char *a, int r) static float _atof(const char *p) { int frac = 0; - double sign, value, scale; + float sign, value, scale; // Skip leading white space, if any. while (white_space(*p) ) { @@ -287,9 +286,9 @@ static float _atof(const char *p) } // Get sign, if any. - sign = 1.0; + sign = 1.0f; if (*p == '-') { - sign = -1.0; + sign = -1.0f; p += 1; } else if (*p == '+') { @@ -297,26 +296,26 @@ static float _atof(const char *p) } // Get digits before decimal point or exponent, if any. - value = 0.0; + value = 0.0f; while (valid_digit(*p)) { - value = value * 10.0 + (*p - '0'); + value = value * 10.0f + (*p - '0'); p += 1; } // Get digits after decimal point, if any. if (*p == '.') { - double pow10 = 10.0; + float pow10 = 10.0f; p += 1; while (valid_digit(*p)) { value += (*p - '0') / pow10; - pow10 *= 10.0; + pow10 *= 10.0f; p += 1; } } // Handle exponent, if any. - scale = 1.0; + scale = 1.0f; if ((*p == 'e') || (*p == 'E')) { unsigned int expon; p += 1; @@ -337,12 +336,13 @@ static float _atof(const char *p) expon = expon * 10 + (*p - '0'); p += 1; } - if (expon > 308) expon = 308; + if (expon > 308) + expon = 308; // Calculate scaling factor. - while (expon >= 50) { scale *= 1E50; expon -= 50; } - while (expon >= 8) { scale *= 1E8; expon -= 8; } - while (expon > 0) { scale *= 10.0; expon -= 1; } + // while (expon >= 50) { scale *= 1E50f; expon -= 50; } + while (expon >= 8) { scale *= 1E8f; expon -= 8; } + while (expon > 0) { scale *= 10.0f; expon -= 1; } } // Return signed and scaled floating point result. @@ -466,7 +466,7 @@ static void cliCMix(char *cmdline) } cliPrint("Sanity check:\t"); for (i = 0; i < 3; i++) - cliPrint(fabs(mixsum[i]) > 0.01f ? "NG\t" : "OK\t"); + cliPrint(fabsf(mixsum[i]) > 0.01f ? "NG\t" : "OK\t"); cliPrint("\r\n"); return; } else if (strncasecmp(cmdline, "reset", 5) == 0) { @@ -611,6 +611,8 @@ static void cliExit(char *cmdline) *cliBuffer = '\0'; bufferIndex = 0; cliMode = 0; + // incase some idiot leaves a motor running during motortest, clear it here + mixerResetMotors(); // save and reboot... I think this makes the most sense cliSave(cmdline); } @@ -671,6 +673,14 @@ static void cliFeature(char *cmdline) } } +static void cliGpsPassthrough(char *cmdline) +{ + if (gpsSetPassthrough() == -1) + cliPrint("Error: Enable and plug in GPS first\r\n"); + else + cliPrint("Enabling GPS passthrough...\r\n"); +} + static void cliHelp(char *cmdline) { uint32_t i = 0; @@ -741,6 +751,52 @@ static void cliMixer(char *cmdline) } } +static void cliMotor(char *cmdline) +{ + int motor_index = 0; + int motor_value = 0; + int len, index = 0; + char *pch = NULL; + + len = strlen(cmdline); + if (len == 0) { + printf("Usage:\r\nmotor index [value] - show [or set] motor value\r\n"); + return; + } + + pch = strtok(cmdline, " "); + while (pch != NULL) { + switch (index) { + case 0: + motor_index = atoi(pch); + break; + case 1: + motor_value = atoi(pch); + break; + } + index++; + pch = strtok(NULL, " "); + } + + if (motor_index < 0 || motor_index >= MAX_MOTORS) { + printf("No such motor, use a number [0, %d]\r\n", MAX_MOTORS); + return; + } + + if (index < 2) { + printf("Motor %d is set at %d\r\n", motor_index, motor_disarmed[motor_index]); + return; + } + + if (motor_value < 1000 || motor_value > 2000) { + printf("Invalid motor value, 1000..2000\r\n"); + return; + } + + printf("Setting motor %d to %d\r\n", motor_index, motor_value); + motor_disarmed[motor_index] = motor_value; +} + static void cliProfile(char *cmdline) { uint8_t len; @@ -819,25 +875,25 @@ static void cliPrintVar(const clivalue_t *var, uint32_t full) printf(" %d %d", var->min, var->max); } -static void cliSetVar(const clivalue_t *var, const int32_t value) +static void cliSetVar(const clivalue_t *var, const int_float_value_t value) { switch (var->type) { case VAR_UINT8: case VAR_INT8: - *(char *)var->ptr = (char)value; + *(char *)var->ptr = (char)value.int_value; break; case VAR_UINT16: case VAR_INT16: - *(short *)var->ptr = (short)value; + *(short *)var->ptr = (short)value.int_value; break; case VAR_UINT32: - *(int *)var->ptr = (int)value; + *(int *)var->ptr = (int)value.int_value; break; case VAR_FLOAT: - *(float *)var->ptr = *(float *)&value; + *(float *)var->ptr = (float)value.float_value; break; } } @@ -871,7 +927,12 @@ static void cliSet(char *cmdline) val = &valueTable[i]; if (strncasecmp(cmdline, valueTable[i].name, strlen(valueTable[i].name)) == 0) { if (valuef >= valueTable[i].min && valuef <= valueTable[i].max) { // here we compare the float value since... it should work, RIGHT? - cliSetVar(val, valueTable[i].type == VAR_FLOAT ? *(uint32_t *)&valuef : value); // this is a silly dirty hack. please fix me later. + int_float_value_t tmp; + if (valueTable[i].type == VAR_FLOAT) + tmp.float_value = valuef; + else + tmp.int_value = value; + cliSetVar(val, tmp); printf("%s set to ", valueTable[i].name); cliPrintVar(val, 0); } else { @@ -913,7 +974,7 @@ static void cliStatus(char *cmdline) if (sensors(SENSOR_ACC)) { printf("ACCHW: %s", accNames[accHardware]); if (accHardware == ACC_MPU6050) - printf(".%c", mcfg.mpu6050_scale ? 'o' : 'n'); + printf(".%c", core.mpu6050_scale ? 'o' : 'n'); } cliPrint("\r\n"); diff --git a/src/config.c b/src/config.c index 3295555e5..3be24b835 100755 --- a/src/config.c +++ b/src/config.c @@ -7,13 +7,13 @@ #endif #define FLASH_PAGE_SIZE ((uint16_t)0x400) -#define FLASH_WRITE_ADDR (0x08000000 + (uint32_t)FLASH_PAGE_SIZE * (FLASH_PAGE_COUNT - 1)) // use the last KB for storage +#define FLASH_WRITE_ADDR (0x08000000 + (uint32_t)FLASH_PAGE_SIZE * (FLASH_PAGE_COUNT - 2)) // use the last 2 KB for storage master_t mcfg; // master config struct with data independent from profiles config_t cfg; // profile config struct const char rcChannelLetters[] = "AERT1234"; -static const uint8_t EEPROM_CONF_VERSION = 52; +static const uint8_t EEPROM_CONF_VERSION = 55; static uint32_t enabledSensors = 0; static void resetConf(void); @@ -69,23 +69,22 @@ void readEEPROM(void) mcfg.current_profile = 0; memcpy(&cfg, &mcfg.profile[mcfg.current_profile], sizeof(config_t)); - for (i = 0; i < 6; i++) + for (i = 0; i < PITCH_LOOKUP_LENGTH; i++) lookupPitchRollRC[i] = (2500 + cfg.rcExpo8 * (i * i - 25)) * i * (int32_t) cfg.rcRate8 / 2500; - for (i = 0; i < 11; i++) { + for (i = 0; i < THROTTLE_LOOKUP_LENGTH; i++) { int16_t tmp = 10 * i - cfg.thrMid8; uint8_t y = 1; if (tmp > 0) y = 100 - cfg.thrMid8; if (tmp < 0) y = cfg.thrMid8; - lookupThrottleRC[i] = 10 * cfg.thrMid8 + tmp * (100 - cfg.thrExpo8 + (int32_t) cfg.thrExpo8 * (tmp * tmp) / (y * y)) / 10; // [0;1000] - lookupThrottleRC[i] = mcfg.minthrottle + (int32_t) (mcfg.maxthrottle - mcfg.minthrottle) * lookupThrottleRC[i] / 1000; // [0;1000] -> [MINTHROTTLE;MAXTHROTTLE] + lookupThrottleRC[i] = 10 * cfg.thrMid8 + tmp * (100 - cfg.thrExpo8 + (int32_t) cfg.thrExpo8 * (tmp * tmp) / (y * y)) / 10; + lookupThrottleRC[i] = mcfg.minthrottle + (int32_t) (mcfg.maxthrottle - mcfg.minthrottle) * lookupThrottleRC[i] / 1000; // [MINTHROTTLE;MAXTHROTTLE] } - cfg.tri_yaw_middle = constrain(cfg.tri_yaw_middle, cfg.tri_yaw_min, cfg.tri_yaw_max); //REAR setPIDController(cfg.pidController); - GPS_set_pids(); + gpsSetPIDs(); } void writeEEPROM(uint8_t b, uint8_t updateProfile) @@ -181,6 +180,9 @@ static void resetConf(void) mcfg.gyro_align = ALIGN_DEFAULT; mcfg.acc_align = ALIGN_DEFAULT; mcfg.mag_align = ALIGN_DEFAULT; + mcfg.board_align_roll = 0; + mcfg.board_align_pitch = 0; + mcfg.board_align_yaw = 0; mcfg.acc_hardware = ACC_DEFAULT; // default/autodetect mcfg.yaw_control_direction = 1; mcfg.moron_threshold = 32; @@ -190,6 +192,7 @@ static void resetConf(void) mcfg.vbatmincellvoltage = 33; mcfg.power_adc_channel = 0; mcfg.serialrx_type = 0; + mcfg.telemetry_softserial = 0; mcfg.midrc = 1500; mcfg.mincheck = 1100; mcfg.maxcheck = 1900; @@ -206,7 +209,7 @@ static void resetConf(void) mcfg.servo_pwm_rate = 50; // gps/nav stuff mcfg.gps_type = GPS_NMEA; - mcfg.gps_baudrate = 115200; + mcfg.gps_baudrate = 0; // serial (USART1) baudrate mcfg.serial_baudrate = 115200; mcfg.softserial_baudrate = 19200; @@ -224,9 +227,9 @@ static void resetConf(void) cfg.P8[YAW] = 85; cfg.I8[YAW] = 45; cfg.D8[YAW] = 0; - cfg.P8[PIDALT] = 50; + cfg.P8[PIDALT] = 40; cfg.I8[PIDALT] = 25; - cfg.D8[PIDALT] = 80; + cfg.D8[PIDALT] = 60; cfg.P8[PIDPOS] = 11; // POSHOLD_P * 100; cfg.I8[PIDPOS] = 0; // POSHOLD_I * 100; cfg.D8[PIDPOS] = 0; @@ -288,32 +291,9 @@ static void resetConf(void) cfg.yaw_direction = 1; cfg.tri_unarmed_servo = 1; - cfg.tri_yaw_middle = 1500; - cfg.tri_yaw_min = 1020; - cfg.tri_yaw_max = 2000; - - // flying wing - cfg.wing_left_min = 1020; - cfg.wing_left_mid = 1500; - cfg.wing_left_max = 2000; - cfg.wing_right_min = 1020; - cfg.wing_right_mid = 1500; - cfg.wing_right_max = 2000; - cfg.pitch_direction_l = 1; - cfg.pitch_direction_r = -1; - cfg.roll_direction_l = 1; - cfg.roll_direction_r = 1; // gimbal - cfg.gimbal_pitch_gain = 10; - cfg.gimbal_roll_gain = 10; cfg.gimbal_flags = GIMBAL_NORMAL; - cfg.gimbal_pitch_min = 1020; - cfg.gimbal_pitch_max = 2000; - cfg.gimbal_pitch_mid = 1500; - cfg.gimbal_roll_min = 1020; - cfg.gimbal_roll_max = 2000; - cfg.gimbal_roll_mid = 1500; // gps/nav stuff cfg.gps_wp_radius = 200; diff --git a/src/drv_adxl345.c b/src/drv_adxl345.c index eab106549..a8890e2e9 100755 --- a/src/drv_adxl345.c +++ b/src/drv_adxl345.c @@ -35,7 +35,7 @@ static void adxl345Init(sensor_align_e align); static void adxl345Read(int16_t *accelData); static bool useFifo = false; -static sensor_align_e accAlign = CW0_DEG; +static sensor_align_e accAlign = CW270_DEG; bool adxl345Detect(drv_adxl345_config_t *init, sensor_t *acc) { diff --git a/src/drv_bmp085.c b/src/drv_bmp085.c index b2ff7b522..2fd7a45a2 100755 --- a/src/drv_bmp085.c +++ b/src/drv_bmp085.c @@ -115,7 +115,7 @@ bool bmp085Detect(baro_t *baro) #endif // EXTI interrupt for barometer EOC - GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource14); + gpioExtiLineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource14); EXTI_InitStructure.EXTI_Line = EXTI_Line14; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; diff --git a/src/drv_gpio.c b/src/drv_gpio.c index 248c1663d..91021f2d7 100644 --- a/src/drv_gpio.c +++ b/src/drv_gpio.c @@ -31,3 +31,12 @@ void gpioInit(GPIO_TypeDef *gpio, gpio_config_t *config) } } } + +void gpioExtiLineConfig(uint8_t portsrc, uint8_t pinsrc) +{ + uint32_t tmp = 0x00; + + tmp = ((uint32_t)0x0F) << (0x04 * (pinsrc & (uint8_t)0x03)); + AFIO->EXTICR[pinsrc >> 0x02] &= ~tmp; + AFIO->EXTICR[pinsrc >> 0x02] |= (((uint32_t)portsrc) << (0x04 * (pinsrc & (uint8_t)0x03))); +} diff --git a/src/drv_gpio.h b/src/drv_gpio.h index ff695ae6a..ec0a9f5a1 100644 --- a/src/drv_gpio.h +++ b/src/drv_gpio.h @@ -53,3 +53,4 @@ typedef struct #define digitalIn(p, i) (p->IDR & i) void gpioInit(GPIO_TypeDef *gpio, gpio_config_t *config); +void gpioExtiLineConfig(uint8_t portsrc, uint8_t pinsrc); diff --git a/src/drv_hcsr04.c b/src/drv_hcsr04.c index 515f2cf56..1bc426f52 100644 --- a/src/drv_hcsr04.c +++ b/src/drv_hcsr04.c @@ -90,7 +90,7 @@ void hcsr04_init(sonar_config_t config) gpioInit(GPIOB, &gpio); // setup external interrupt on echo pin - GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, exti_pin_source); + gpioExtiLineConfig(GPIO_PortSourceGPIOB, exti_pin_source); EXTI_ClearITPendingBit(exti_line); diff --git a/src/drv_hmc5883l.c b/src/drv_hmc5883l.c index d7817df8b..227719f74 100755 --- a/src/drv_hmc5883l.c +++ b/src/drv_hmc5883l.c @@ -157,9 +157,9 @@ void hmc5883lInit(void) LED1_TOGGLE; } - magGain[X] = fabs(660.0f * HMC58X3_X_SELF_TEST_GAUSS * 2.0f * 10.0f / xyz_total[X]); - magGain[Y] = fabs(660.0f * HMC58X3_Y_SELF_TEST_GAUSS * 2.0f * 10.0f / xyz_total[Y]); - magGain[Z] = fabs(660.0f * HMC58X3_Z_SELF_TEST_GAUSS * 2.0f * 10.0f / xyz_total[Z]); + magGain[X] = fabsf(660.0f * HMC58X3_X_SELF_TEST_GAUSS * 2.0f * 10.0f / xyz_total[X]); + magGain[Y] = fabsf(660.0f * HMC58X3_Y_SELF_TEST_GAUSS * 2.0f * 10.0f / xyz_total[Y]); + magGain[Z] = fabsf(660.0f * HMC58X3_Z_SELF_TEST_GAUSS * 2.0f * 10.0f / xyz_total[Z]); // leave test mode i2cWrite(MAG_ADDRESS, HMC58X3_R_CONFA, 0x70); // Configuration Register A -- 0 11 100 00 num samples: 8 ; output rate: 15Hz ; normal measurement mode diff --git a/src/drv_i2c_soft.c b/src/drv_i2c_soft.c index 264ff0664..3fdcf1a13 100644 --- a/src/drv_i2c_soft.c +++ b/src/drv_i2c_soft.c @@ -131,7 +131,7 @@ static uint8_t I2C_ReceiveByte(void) void i2cInit(I2C_TypeDef * I2C) { - GPIO_Config gpio; + gpio_config_t gpio; gpio.pin = Pin_10 | Pin_11; gpio.speed = Speed_2MHz; diff --git a/src/drv_pwm.c b/src/drv_pwm.c index 8c1247bc6..5ff9d8b31 100755 --- a/src/drv_pwm.c +++ b/src/drv_pwm.c @@ -254,7 +254,7 @@ static void ppmCallback(uint8_t port, uint16_t capture) if (diff > 2700) { // Per http://www.rcgroups.com/forums/showpost.php?p=21996147&postcount=3960 "So, if you use 2.5ms or higher as being the reset for the PPM stream start, you will be fine. I use 2.7ms just to be safe." chan = 0; } else { - if (diff > 750 && diff < 2250 && chan < 8) { // 750 to 2250 ms is our 'valid' channel range + if (diff > 750 && diff < 2250 && chan < MAX_INPUTS) { // 750 to 2250 ms is our 'valid' channel range captures[chan] = diff; if (chan < 4 && diff > failsafeThreshold) GoodPulses |= (1 << chan); // if signal is valid - mark channel as OK @@ -354,7 +354,7 @@ bool pwmInit(drv_pwm_config_t *init) pwmInConfig(port, pwmCallback, numInputs); numInputs++; } else if (mask & TYPE_M) { - motors[numMotors++] = pwmOutConfig(port, 1000000 / init->motorPwmRate, PULSE_1MS); + motors[numMotors++] = pwmOutConfig(port, 1000000 / init->motorPwmRate, init->idlePulse > 0 ? init->idlePulse : PULSE_1MS); } else if (mask & TYPE_S) { servos[numServos++] = pwmOutConfig(port, 1000000 / init->servoPwmRate, PULSE_1MS); } diff --git a/src/drv_pwm.h b/src/drv_pwm.h index 728ac8eec..491ee93b8 100755 --- a/src/drv_pwm.h +++ b/src/drv_pwm.h @@ -15,6 +15,8 @@ typedef struct drv_pwm_config_t { uint8_t adcChannel; // steal one RC input for current sensor uint16_t motorPwmRate; uint16_t servoPwmRate; + uint16_t idlePulse; // PWM value to use when initializing the driver; + // default of zero means PULSE_1MS, otherwise set to given value. Used by 3D mode. uint16_t failsafeThreshold; } drv_pwm_config_t; diff --git a/src/drv_system.c b/src/drv_system.c index fa98ed311..fa29ef8d2 100755 --- a/src/drv_system.c +++ b/src/drv_system.c @@ -103,7 +103,6 @@ void systemInit(void) systemBeepPtr = beepRev4; BEEP_OFF; #endif - LED0_OFF; LED1_OFF; @@ -224,50 +223,3 @@ void systemBeep(bool onoff) #endif } -void alignSensors(int16_t *src, int16_t *dest, uint8_t rotation) -{ - switch (rotation) { - case CW0_DEG: - dest[X] = src[X]; - dest[Y] = src[Y]; - dest[Z] = src[Z]; - break; - case CW90_DEG: - dest[X] = src[Y]; - dest[Y] = -src[X]; - dest[Z] = src[Z]; - break; - case CW180_DEG: - dest[X] = -src[X]; - dest[Y] = -src[Y]; - dest[Z] = src[Z]; - break; - case CW270_DEG: - dest[X] = -src[Y]; - dest[Y] = src[X]; - dest[Z] = src[Z]; - break; - case CW0_DEG_FLIP: - dest[X] = -src[X]; - dest[Y] = src[Y]; - dest[Z] = -src[Z]; - break; - case CW90_DEG_FLIP: - dest[X] = src[Y]; - dest[Y] = src[X]; - dest[Z] = -src[Z]; - break; - case CW180_DEG_FLIP: - dest[X] = src[X]; - dest[Y] = -src[Y]; - dest[Z] = -src[Z]; - break; - case CW270_DEG_FLIP: - dest[X] = -src[Y]; - dest[Y] = -src[X]; - dest[Z] = -src[Z]; - break; - default: - break; - } -} diff --git a/src/drv_system.h b/src/drv_system.h index be5f889db..ca2871a5d 100755 --- a/src/drv_system.h +++ b/src/drv_system.h @@ -15,6 +15,3 @@ void systemReset(bool toBootloader); // current crystal frequency - 8 or 12MHz extern uint32_t hse_value; - -// sensor orientation -void alignSensors(int16_t *src, int16_t *dest, uint8_t rotation); diff --git a/src/gps.c b/src/gps.c index 287193a62..4df644d50 100644 --- a/src/gps.c +++ b/src/gps.c @@ -5,106 +5,214 @@ #define sq(x) ((x)*(x)) #endif -const uint32_t init_speed[5] = { 9600, 19200, 38400, 57600, 115200 }; +// GPS timeout for wrong baud rate/disconnection/etc in milliseconds (default 2.5second) +#define GPS_TIMEOUT (2500) +// How many entries in gpsInitData array below +#define GPS_INIT_ENTRIES (5) -static void GPS_NewData(uint16_t c); -static void gpsPrint(const char *str); +typedef struct gpsInitData_t { + uint32_t baudrate; + const char *ubx; + const char *mtk; +} gpsInitData_t; -#define UBX_INIT_STRING_INDEX 0 -#define MTK_INIT_STRING_INDEX 4 - -static const char * const gpsInitStrings[] = { - "$PUBX,41,1,0003,0001,19200,0*23\r\n", // UBX0..3 - "$PUBX,41,1,0003,0001,38400,0*26\r\n", - "$PUBX,41,1,0003,0001,57600,0*2D\r\n", - "$PUBX,41,1,0003,0001,115200,0*1E\r\n", - "$PMTK251,19200*22\r\n", // MTK4..7 - "$PMTK251,38400*27\r\n", - "$PMTK251,57600*2C\r\n", - "$PMTK251,115200*1F\r\n", +static const gpsInitData_t gpsInitData[] = { + { 115200, "$PUBX,41,1,0003,0001,115200,0*1E\r\n", "$PMTK251,115200*1F\r\n" }, + { 57600, "$PUBX,41,1,0003,0001,57600,0*2D\r\n", "$PMTK251,57600*2C\r\n" }, + { 38400, "$PUBX,41,1,0003,0001,38400,0*26\r\n", "$PMTK251,38400*27\r\n" }, + { 19200, "$PUBX,41,1,0003,0001,19200,0*23\r\n", "$PMTK251,19200*22\r\n" }, + // 9600 is not enough for 5Hz updates - leave for compatibility to dumb NMEA that only runs at this speed + { 9600, "", "" } }; static const uint8_t ubloxInit[] = { - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x05, 0x00, 0xFF, 0x19, // disable all default NMEA messages - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x03, 0x00, 0xFD, 0x15, - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x01, 0x00, 0xFB, 0x11, - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x00, 0x00, 0xFA, 0x0F, - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x02, 0x00, 0xFC, 0x13, - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x04, 0x00, 0xFE, 0x17, - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0x01, 0x02, 0x01, 0x0E, 0x47, // set POSLLH MSG rate - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0x01, 0x03, 0x01, 0x0F, 0x49, // set STATUS MSG rate - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0x01, 0x06, 0x01, 0x12, 0x4F, // set SOL MSG rate - 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0x01, 0x12, 0x01, 0x1E, 0x67, // set VELNED MSG rate - 0xB5, 0x62, 0x06, 0x16, 0x08, 0x00, 0x03, 0x07, 0x03, 0x00, 0x51, 0x08, 0x00, 0x00, 0x8A, 0x41, // set WAAS to EGNOS - 0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xC8, 0x00, 0x01, 0x00, 0x01, 0x00, 0xDE, 0x6A // set rate to 5Hz + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x05, 0x00, 0xFF, 0x19, // VGS: Course over ground and Ground speed + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x03, 0x00, 0xFD, 0x15, // GSV: GNSS Satellites in View + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x01, 0x00, 0xFB, 0x11, // GLL: Latitude and longitude, with time of position fix and status + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x00, 0x00, 0xFA, 0x0F, // GGA: Global positioning system fix data + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x02, 0x00, 0xFC, 0x13, // GSA: GNSS DOP and Active Satellites + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0xF0, 0x04, 0x00, 0xFE, 0x17, // RMC: Recommended Minimum data + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0x01, 0x02, 0x01, 0x0E, 0x47, // set POSLLH MSG rate + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0x01, 0x03, 0x01, 0x0F, 0x49, // set STATUS MSG rate + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0x01, 0x06, 0x01, 0x12, 0x4F, // set SOL MSG rate + 0xB5, 0x62, 0x06, 0x01, 0x03, 0x00, 0x01, 0x12, 0x01, 0x1E, 0x67, // set VELNED MSG rate + 0xB5, 0x62, 0x06, 0x16, 0x08, 0x00, 0x03, 0x07, 0x03, 0x00, 0x51, 0x08, 0x00, 0x00, 0x8A, 0x41, // set WAAS to EGNOS + 0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xC8, 0x00, 0x01, 0x00, 0x01, 0x00, 0xDE, 0x6A, // set rate to 5Hz }; -void gpsInit(uint32_t baudrate) +static const char *mtkNMEAInit[] = { + "$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n", // only GGA and RMC sentence + "$PMTK220,200*2C\r\n" // 5 Hz update rate +}; + +static const char *mtkBinaryInit[] = { + "$PMTK319,1*24\r\n", // SBAS Integrity Mode + "$PMTK220,200*2C\r\n", // 5 Hz update rate + "$PMTK397,0*23\r\n", // NAVTHRES_OFF + "$PMTK313,1*2E\r\n", // SBAS_ON + "$PMTK301,2*2E\r\n", // WAAS_ON + "$PGCMD,16,0,0,0,0,0*6A\r\n" // Binary ON +}; + +enum { + GPS_UNKNOWN, + GPS_INITIALIZING, + GPS_INITDONE, + GPS_RECEIVINGDATA, + GPS_LOSTCOMMS, +}; + +typedef struct gpsData_t { + uint8_t state; // GPS thread state. Used for detecting cable disconnects and configuring attached devices + uint8_t baudrateIndex; // index into auto-detecting or current baudrate + int errors; // gps error counter - crc error/lost of data/sync etc. reset on each reinit. + uint32_t lastMessage; // last time valid GPS data was received (millis) + uint32_t lastLastMessage; // last-last valid GPS message. Used to calculate delta. + + uint32_t state_position; // incremental variable for loops + +} gpsData_t; + +gpsData_t gpsData; + +static void gpsNewData(uint16_t c); +static bool gpsNewFrameNMEA(char c); +static bool gpsNewFrameUBLOX(uint8_t data); + +static void gpsSetState(uint8_t state) { - int i; - int offset = 0; + gpsData.state = state; + gpsData.state_position = 0; +} - GPS_set_pids(); - core.gpsport = uartOpen(USART2, GPS_NewData, baudrate, MODE_RXTX); +void gpsInit(uint8_t baudrate) +{ + portMode_t mode = MODE_RXTX; - if (mcfg.gps_type == GPS_UBLOX) - offset = UBX_INIT_STRING_INDEX; - else if (mcfg.gps_type == GPS_MTK) - offset = MTK_INIT_STRING_INDEX; + // init gpsData structure. if we're not actually enabled, don't bother doing anything else + gpsSetState(GPS_UNKNOWN); + if (!feature(FEATURE_GPS)) + return; - if (mcfg.gps_type != GPS_NMEA) { - for (i = 0; i < 5; i++) { - serialSetBaudRate(core.gpsport, init_speed[i]); - // verify the requested change took effect. - baudrate = serialGetBaudRate(core.gpsport); - switch (baudrate) { - case 19200: - gpsPrint(gpsInitStrings[offset]); - break; - case 38400: - gpsPrint(gpsInitStrings[offset + 1]); - break; - case 57600: - gpsPrint(gpsInitStrings[offset + 2]); - break; - case 115200: - gpsPrint(gpsInitStrings[offset + 3]); + gpsData.baudrateIndex = baudrate; + gpsData.lastMessage = millis(); + gpsData.errors = 0; + // only RX is needed for NMEA-style GPS + if (mcfg.gps_type == GPS_NMEA) + mode = MODE_RX; + + gpsSetPIDs(); + core.gpsport = uartOpen(USART2, gpsNewData, gpsInitData[baudrate].baudrate, mode); + // signal GPS "thread" to initialize when it gets to it + gpsSetState(GPS_INITIALIZING); +} + +void gpsInitHardware(void) +{ + switch (mcfg.gps_type) { + case GPS_NMEA: + // nothing to do, just set baud rate and try receiving some stuff and see if it parses + serialSetBaudRate(core.gpsport, gpsInitData[gpsData.baudrateIndex].baudrate); + gpsSetState(GPS_RECEIVINGDATA); + return; + + case GPS_UBLOX: + // UBX will run at mcfg.baudrate, it shouldn't be "autodetected". So here we force it to that rate + + // Wait until GPS transmit buffer is empty + if (!isSerialTransmitBufferEmpty(core.gpsport)) break; + + if (gpsData.state == GPS_INITIALIZING) { + if (gpsData.state_position < GPS_INIT_ENTRIES) { + // try different speed to INIT + serialSetBaudRate(core.gpsport, gpsInitData[gpsData.state_position].baudrate); + // but print our FIXED init string for the baudrate we want to be at + serialPrint(core.gpsport, gpsInitData[mcfg.gps_baudrate].ubx); + + gpsData.state_position++; + } else { + // we're now (hopefully) at the correct rate, next state will switch to it + gpsData.baudrateIndex = mcfg.gps_baudrate; + gpsSetState(GPS_INITDONE); + } + } else { + // GPS_INITDONE, set our real baud rate and push some ublox config strings + + if (gpsData.state_position == 0) + serialSetBaudRate(core.gpsport, gpsInitData[gpsData.baudrateIndex].baudrate); + + if (gpsData.state_position < sizeof(ubloxInit)) { + serialWrite(core.gpsport, ubloxInit[gpsData.state_position]); // send ubx init binary + + gpsData.state_position++; + } else { + // ublox should be init'd, time to try receiving some junk + gpsSetState(GPS_RECEIVINGDATA); + } } - delay(10); - } + break; + case GPS_MTK_NMEA: + case GPS_MTK_BINARY: + // TODO. need to find my old piece of shit MTK GPS. + break; } - serialSetBaudRate(core.gpsport, baudrate); - if (mcfg.gps_type == GPS_UBLOX) { - for (i = 0; i < sizeof(ubloxInit); i++) { - serialWrite(core.gpsport, ubloxInit[i]); // send ubx init binary - delay(4); - } - } else if (mcfg.gps_type == GPS_MTK) { - gpsPrint("$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n"); // only GGA and RMC sentence - gpsPrint("$PMTK220,200*2C\r\n"); // 5 Hz update rate - } - - // catch some GPS frames. TODO check this - delay(1000); - if (GPS_Present) - sensorsSet(SENSOR_GPS); + // clear error counter + gpsData.errors = 0; } -static void gpsPrint(const char *str) +void gpsThread(void) { - while (*str) { - serialWrite(core.gpsport, *str); - if (mcfg.gps_type == GPS_UBLOX) - delay(4); - str++; + switch (gpsData.state) { + case GPS_UNKNOWN: + break; + + case GPS_INITIALIZING: + case GPS_INITDONE: + gpsInitHardware(); + break; + + case GPS_LOSTCOMMS: + gpsData.errors++; + // try another rate + gpsData.baudrateIndex++; + gpsData.baudrateIndex %= GPS_INIT_ENTRIES; + gpsData.lastMessage = millis(); + // TODO - move some / all of these into gpsData + GPS_numSat = 0; + f.GPS_FIX = 0; + gpsSetState(GPS_INITIALIZING); + break; + + case GPS_RECEIVINGDATA: + // check for no data/gps timeout/cable disconnection etc + if (millis() - gpsData.lastMessage > GPS_TIMEOUT) { + // remove GPS from capability + sensorsClear(SENSOR_GPS); + gpsSetState(GPS_LOSTCOMMS); + } + break; } - // wait to send all - while (!isSerialTransmitBufferEmpty(core.gpsport)); - delay(30); } +static bool gpsNewFrame(uint8_t c) +{ + switch (mcfg.gps_type) { + case GPS_NMEA: // NMEA + case GPS_MTK_NMEA: // MTK in NMEA mode + return gpsNewFrameNMEA(c); + case GPS_UBLOX: // UBX binary + return gpsNewFrameUBLOX(c); + case GPS_MTK_BINARY: // MTK in BINARY mode (TODO) + return false; + } + + return false; +} + + + /*----------------------------------------------------------- * * Multiwii GPS code - revision: 1097 @@ -130,9 +238,6 @@ static void GPS_calc_location_error(int32_t * target_lat, int32_t * target_lng, static void GPS_calc_poshold(void); static void GPS_calc_nav_rate(int max_speed); static void GPS_update_crosstrack(void); -static bool GPS_newFrame(char c); -static bool GPS_NMEA_newFrame(char c); -static bool GPS_UBLOX_newFrame(uint8_t data); static bool UBLOX_parse_gps(void); static int16_t GPS_calc_desired_speed(int16_t max_speed, bool _slow); int32_t wrap_18000(int32_t error); @@ -285,7 +390,7 @@ static int32_t nav_bearing; // saves the bearing at takeof (1deg = 1) used to rotate to takeoff direction when arrives at home static int16_t nav_takeoff_bearing; -void GPS_NewData(uint16_t c) +static void gpsNewData(uint16_t c) { int axis; static uint32_t nav_loopTimer; @@ -293,7 +398,11 @@ void GPS_NewData(uint16_t c) int32_t dir; int16_t speed; - if (GPS_newFrame(c)) { + if (gpsNewFrame(c)) { + // new data received and parsed, we're in business + gpsData.lastLastMessage = gpsData.lastMessage; + gpsData.lastMessage = millis(); + sensorsSet(SENSOR_GPS); if (GPS_update == 1) GPS_update = 0; else @@ -411,7 +520,7 @@ void GPS_reset_nav(void) } // Get the relevant P I D values and set the PID controllers -void GPS_set_pids(void) +void gpsSetPIDs(void) { posholdPID_PARAM.kP = (float)cfg.P8[PIDPOS] / 100.0f; posholdPID_PARAM.kI = (float)cfg.I8[PIDPOS] / 100.0f; @@ -428,6 +537,31 @@ void GPS_set_pids(void) navPID_PARAM.Imax = POSHOLD_RATE_IMAX * 100; } +int8_t gpsSetPassthrough(void) +{ + if (gpsData.state != GPS_RECEIVINGDATA) + return -1; + + // get rid of callback + core.gpsport->callback = NULL; + + LED0_OFF; + LED1_OFF; + + while(1) { + if (serialTotalBytesWaiting(core.gpsport)) { + LED0_ON; + serialWrite(core.mainport, serialRead(core.gpsport)); + LED0_OFF; + } + if (serialTotalBytesWaiting(core.mainport)) { + LED1_ON; + serialWrite(core.gpsport, serialRead(core.mainport)); + LED1_OFF; + } + } +} + // OK here is the onboard GPS code //////////////////////////////////////////////////////////////////////////////////// @@ -777,19 +911,6 @@ static uint8_t hex_c(uint8_t n) return n; } -static bool GPS_newFrame(char c) -{ - switch (mcfg.gps_type) { - case GPS_NMEA: // NMEA - case GPS_MTK: // MTK outputs NMEA too - return GPS_NMEA_newFrame(c); - case GPS_UBLOX: // UBX - return GPS_UBLOX_newFrame(c); - } - - return false; -} - /* This is a light implementation of a GPS frame decoding This should work with most of modern GPS devices configured to output NMEA frames. It assumes there are some NMEA GGA frames to decode on the serial bus @@ -805,7 +926,7 @@ static bool GPS_newFrame(char c) #define FRAME_GGA 1 #define FRAME_RMC 2 -static bool GPS_NMEA_newFrame(char c) +static bool gpsNewFrameNMEA(char c) { uint8_t frameOK = 0; static uint8_t param = 0, offset = 0, parity = 0; @@ -868,8 +989,6 @@ static bool GPS_NMEA_newFrame(char c) if (!checksum_param) parity ^= c; } - if (frame) - GPS_Present = 1; return frameOK && (frame == FRAME_GGA); } @@ -1026,7 +1145,7 @@ void _update_checksum(uint8_t *data, uint8_t len, uint8_t *ck_a, uint8_t *ck_b) } } -static bool GPS_UBLOX_newFrame(uint8_t data) +static bool gpsNewFrameUBLOX(uint8_t data) { bool parsed = false; @@ -1083,10 +1202,8 @@ static bool GPS_UBLOX_newFrame(uint8_t data) _step = 0; if (_ck_b != data) break; // bad checksum - GPS_Present = 1; - if (UBLOX_parse_gps()) { + if (UBLOX_parse_gps()) parsed = true; - } } //end switch return parsed; } diff --git a/src/imu.c b/src/imu.c index c8c56ac10..e14fb3280 100755 --- a/src/imu.c +++ b/src/imu.c @@ -26,7 +26,7 @@ float accVelScale; int16_t gyroData[3] = { 0, 0, 0 }; int16_t gyroZero[3] = { 0, 0, 0 }; int16_t angle[2] = { 0, 0 }; // absolute angle inclination in multiple of 0.1 degree 180 deg = 1800 -float anglerad[2] = { 0, 0 }; // absolute angle inclination in radians +float anglerad[2] = { 0.0f, 0.0f }; // absolute angle inclination in radians static void getEstimatedAttitude(void); @@ -67,12 +67,14 @@ void computeIMU(void) Smoothing[YAW] = (mcfg.gyro_smoothing_factor) & 0xff; } for (axis = 0; axis < 3; axis++) { - gyroData[axis] = (int16_t)(((int32_t)((int32_t)gyroSmooth[axis] * (Smoothing[axis] - 1)) + gyroData[axis] + 1) / Smoothing[axis]); + gyroData[axis] = (int16_t)(((int32_t)((int32_t)gyroSmooth[axis] * (Smoothing[axis] - 1)) + gyroADC[axis] + 1) / Smoothing[axis]); gyroSmooth[axis] = gyroData[axis]; } } else if (mcfg.mixerConfiguration == MULTITYPE_TRI) { - gyroData[YAW] = (gyroYawSmooth * 2 + gyroData[YAW]) / 3; + gyroData[YAW] = (gyroYawSmooth * 2 + gyroADC[YAW]) / 3; gyroYawSmooth = gyroData[YAW]; + gyroData[ROLL] = gyroADC[ROLL]; + gyroData[PITCH] = gyroADC[PITCH]; } else { for (axis = 0; axis < 3; axis++) gyroData[axis] = gyroADC[axis]; @@ -172,17 +174,21 @@ int32_t applyDeadband(int32_t value, int32_t deadband) return value; } +#define F_CUT_ACCZ 20.0f +static const float fc_acc = 0.5f / (M_PI * F_CUT_ACCZ); + // rotate acc into Earth frame and calculate acceleration in it void acc_calc(uint32_t deltaT) { static int32_t accZoffset = 0; + static float accz_smooth; float rpy[3]; t_fp_vector accel_ned; // the accel values have to be rotated into the earth frame rpy[0] = -(float)anglerad[ROLL]; rpy[1] = -(float)anglerad[PITCH]; - rpy[2] = -(float)heading * RADX10 * 10.0f; + rpy[2] = -(float)heading * RAD; accel_ned.V.X = accSmooth[0]; accel_ned.V.Y = accSmooth[1]; @@ -198,19 +204,21 @@ void acc_calc(uint32_t deltaT) accel_ned.V.Z -= accZoffset / 64; // compensate for gravitation on z-axis } else accel_ned.V.Z -= acc_1G; + + accz_smooth = accz_smooth + (deltaT / (fc_acc + deltaT)) * (accel_ned.V.Z - accz_smooth); // low pass filter // apply Deadband to reduce integration drift and vibration influence - accel_ned.V.Z = applyDeadband(accel_ned.V.Z, cfg.accz_deadband); - accel_ned.V.X = applyDeadband(accel_ned.V.X, cfg.accxy_deadband); - accel_ned.V.Y = applyDeadband(accel_ned.V.Y, cfg.accxy_deadband); + accel_ned.V.Z = applyDeadband(lrintf(accz_smooth), cfg.accz_deadband); + accel_ned.V.X = applyDeadband(lrintf(accel_ned.V.X), cfg.accxy_deadband); + accel_ned.V.Y = applyDeadband(lrintf(accel_ned.V.Y), cfg.accxy_deadband); // sum up Values for later integration to get velocity and distance accTimeSum += deltaT; accSumCount++; - accSum[0] += accel_ned.V.X; - accSum[1] += accel_ned.V.Y; - accSum[2] += accel_ned.V.Z; + accSum[X] += lrintf(accel_ned.V.X); + accSum[Y] += lrintf(accel_ned.V.Y); + accSum[Z] += lrintf(accel_ned.V.Z); } void accSum_reset(void) @@ -288,7 +296,7 @@ static void getEstimatedAttitude(void) EstM.A[axis] = (EstM.A[axis] * (float)mcfg.gyro_cmpfm_factor + magADC[axis]) * INV_GYR_CMPFM_FACTOR; } - if (abs(EstG.A[Z]) > accZ_25deg) + if (EstG.A[Z] > accZ_25deg) f.SMALL_ANGLES_25 = 1; else f.SMALL_ANGLES_25 = 0; @@ -307,7 +315,7 @@ static void getEstimatedAttitude(void) acc_calc(deltaT); // rotate acc vector into earth frame if (cfg.throttle_angle_correction) { - int cosZ = EstG.V.Z / acc_1G * 100.0f; + int cosZ = EstG.V.Z / (acc_1G * 100.0f); throttleAngleCorrection = cfg.throttle_angle_correction * constrain(100 - cosZ, 0, 100) / 8; } } @@ -317,7 +325,6 @@ static void getEstimatedAttitude(void) int getEstimatedAltitude(void) { - static int32_t baroGroundPressure; static uint32_t previousT; uint32_t currentT = micros(); uint32_t dTime; @@ -326,11 +333,12 @@ int getEstimatedAltitude(void) int32_t vel_tmp; int32_t BaroAlt_tmp; float dt; - float PressureScaling; float vel_acc; static float vel = 0.0f; static float accAlt = 0.0f; static int32_t lastBaroAlt; + static int32_t baroGroundAltitude = 0; + static int32_t baroGroundPressure = 0; dTime = currentT - previousT; if (dTime < UPDATE_INTERVAL) @@ -338,19 +346,22 @@ int getEstimatedAltitude(void) previousT = currentT; if (calibratingB > 0) { - baroGroundPressure = baroPressureSum / (cfg.baro_tab_size - 1); - calibratingB--; + baroGroundPressure -= baroGroundPressure / 8; + baroGroundPressure += baroPressureSum / (cfg.baro_tab_size - 1); + baroGroundAltitude = (1.0f - powf((baroGroundPressure / 8) / 101325.0f, 0.190295f)) * 4433000.0f; + vel = 0; accAlt = 0; + calibratingB--; } // calculates height from ground via baro readings // see: https://github.com/diydrones/ardupilot/blob/master/libraries/AP_Baro/AP_Baro.cpp#L140 - PressureScaling = (float)baroPressureSum / ((float)baroGroundPressure * (float)(cfg.baro_tab_size - 1)); - BaroAlt_tmp = 153.8462f * (baroTemperature + 27315) * (1.0f - expf(0.190259f * logf(PressureScaling))); // in cm - BaroAlt = (float)BaroAlt * cfg.baro_noise_lpf + (float)BaroAlt_tmp * (1.0f - cfg.baro_noise_lpf); // additional LPF to reduce baro noise + BaroAlt_tmp = lrintf((1.0f - powf((float)(baroPressureSum / (cfg.baro_tab_size - 1)) / 101325.0f, 0.190295f)) * 4433000.0f); // in cm + BaroAlt_tmp -= baroGroundAltitude; + BaroAlt = lrintf((float)BaroAlt * cfg.baro_noise_lpf + (float)BaroAlt_tmp * (1.0f - cfg.baro_noise_lpf)); // additional LPF to reduce baro noise - dt = accTimeSum * 1e-6; // delta acc reading time in seconds + dt = accTimeSum * 1e-6f; // delta acc reading time in seconds // Integrator - velocity, cm/sec vel_acc = (float)accSum[2] * accVelScale * (float)accTimeSum / (float)accSumCount; @@ -391,7 +402,7 @@ int getEstimatedAltitude(void) vel = constrain(vel, -1000, 1000); // limit max velocity to +/- 10m/s (36km/h) // D - vel_tmp = vel; + vel_tmp = lrintf(vel); vel_tmp = applyDeadband(vel_tmp, 5); vario = vel_tmp; BaroPID -= constrain(cfg.D8[PIDALT] * vel_tmp / 16, -150, 150); diff --git a/src/main.c b/src/main.c index 7a0e506f1..91b8092b5 100755 --- a/src/main.c +++ b/src/main.c @@ -30,7 +30,9 @@ int main(void) uint8_t i; drv_pwm_config_t pwm_params; drv_adc_config_t adc_params; +#ifdef SOFTSERIAL_LOOPBACK serialPort_t* loopbackPort = NULL; +#endif systemInit(); #ifdef USE_LAME_PRINTF @@ -49,6 +51,7 @@ int main(void) } adcInit(&adc_params); + initBoardAlignment(); // We have these sensors; SENSORS_SET defined in board.h depending on hardware platform sensorsSet(SENSORS_SET); @@ -67,6 +70,7 @@ int main(void) pwm_params.extraServos = cfg.gimbal_flags & GIMBAL_FORWARDAUX; pwm_params.motorPwmRate = mcfg.motor_pwm_rate; pwm_params.servoPwmRate = mcfg.servo_pwm_rate; + pwm_params.idlePulse = feature(FEATURE_3D) ? mcfg.neutral3d : 0; pwm_params.failsafeThreshold = cfg.failsafe_detect_threshold; switch (mcfg.power_adc_channel) { case 1: @@ -82,8 +86,11 @@ int main(void) pwmInit(&pwm_params); - // configure PWM/CPPM read function. spektrum or sbus below will override that + // configure PWM/CPPM read function and max number of channels. spektrum or sbus below will override both of these, if enabled + for (i = 0; i < RC_CHANS; i++) + rcData[i] = 1502; rcReadRawFunc = pwmReadRawRC; + core.numRCChannels = MAX_INPUTS; if (feature(FEATURE_SERIALRX)) { switch (mcfg.serialrx_type) { @@ -96,10 +103,12 @@ int main(void) sbusInit(&rcReadRawFunc); break; } - } else { - // spektrum and GPS are mutually exclusive + } else { // spektrum and GPS are mutually exclusive // Optional GPS - available in both PPM and PWM input mode, in PWM input, reduces number of available channels by 2. - if (feature(FEATURE_GPS)) + // gpsInit will return if FEATURE_GPS is not enabled. + // Sanity check below - protocols other than NMEA do not support baud rate autodetection + if (mcfg.gps_type > 0 && mcfg.gps_baudrate < 0) + mcfg.gps_baudrate = 0; gpsInit(mcfg.gps_baudrate); } #ifdef SONAR @@ -139,7 +148,10 @@ int main(void) loopbackPort = (serialPort_t*)&(softSerialPorts[0]); serialPrint(loopbackPort, "LOOPBACK ENABLED\r\n"); #endif - } + } + + if (feature(FEATURE_TELEMETRY)) + initTelemetry(); previousTime = micros(); if (mcfg.mixerConfiguration == MULTITYPE_GIMBAL) diff --git a/src/mixer.c b/src/mixer.c index 25ceabeda..f0c0ecf2c 100755 --- a/src/mixer.c +++ b/src/mixer.c @@ -3,7 +3,8 @@ static uint8_t numberMotor = 0; int16_t motor[MAX_MOTORS]; -int16_t servo[8] = { 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500 }; +int16_t motor_disarmed[MAX_MOTORS]; +int16_t servo[MAX_SERVOS] = { 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500 }; static motorMixer_t currentMixer[MAX_MOTORS]; @@ -106,6 +107,20 @@ static const motorMixer_t mixerVtail4[] = { { 1.0f, 1.0f, -1.0f, -0.0f }, // FRONT_L }; +static const motorMixer_t mixerHex6H[] = { + { 1.0f, -1.0f, 1.0f, -1.0f }, // REAR_R + { 1.0f, -1.0f, -1.0f, 1.0f }, // FRONT_R + { 1.0f, 1.0f, 1.0f, 1.0f }, // REAR_L + { 1.0f, 1.0f, -1.0f, -1.0f }, // FRONT_L + { 1.0f, 0.0f, 0.0f, 0.0f }, // RIGHT + { 1.0f, 0.0f, 0.0f, 0.0f }, // LEFT +}; + +static const motorMixer_t mixerDualcopter[] = { + { 1.0f, 0.0f, 0.0f, -1.0f }, // LEFT + { 1.0f, 0.0f, 0.0f, 1.0f }, // RIGHT +}; + // Keep this synced with MultiType struct in mw.h! const mixer_t mixers[] = { // Mo Se Mixtable @@ -127,9 +142,37 @@ const mixer_t mixers[] = { { 0, 1, NULL }, // * MULTITYPE_HELI_120_CCPM { 0, 1, NULL }, // * MULTITYPE_HELI_90_DEG { 4, 0, mixerVtail4 }, // MULTITYPE_VTAIL4 + { 6, 0, mixerHex6H }, // MULTITYPE_HEX6H + { 0, 1, NULL }, // * MULTITYPE_PPM_TO_SERVO + { 2, 1, mixerDualcopter }, // MULTITYPE_DUALCOPTER + { 1, 1, NULL }, // MULTITYPE_SINGLECOPTER { 0, 0, NULL }, // MULTITYPE_CUSTOM }; +int16_t servoMiddle(int nr) +{ + // Normally, servo.middle is a value between 1000..2000, but for the purposes of stupid, if it's less than + // the number of RC channels, it means the center value is taken FROM that RC channel (by its index) + if (cfg.servoConf[nr].middle < RC_CHANS && nr < MAX_SERVOS) + return rcData[cfg.servoConf[nr].middle]; + else + return cfg.servoConf[nr].middle; +} + +int servoDirection(int nr, int lr) +{ + // servo.rate is overloaded for servos that don't have a rate, but only need direction + // bit set = negative, clear = positive + // rate[2] = ???_direction + // rate[1] = roll_direction + // rate[0] = pitch_direction + // servo.rate is also used as gimbal gain multiplier (yeah) + if (cfg.servoConf[nr].rate & lr) + return -1; + else + return 1; +} + void mixerInit(void) { int i; @@ -168,6 +211,15 @@ void mixerInit(void) } } } + mixerResetMotors(); +} + +void mixerResetMotors(void) +{ + int i; + // set disarmed motor values + for (i = 0; i < MAX_MOTORS; i++) + motor_disarmed[i] = feature(FEATURE_3D) ? mcfg.neutral3d : mcfg.mincommand; } void mixerLoadMix(int index) @@ -211,16 +263,29 @@ void writeServos(void) } break; - case MULTITYPE_AIRPLANE: - + case MULTITYPE_FLYING_WING: + pwmWriteServo(0, servo[3]); + pwmWriteServo(1, servo[4]); break; - case MULTITYPE_FLYING_WING: case MULTITYPE_GIMBAL: pwmWriteServo(0, servo[0]); pwmWriteServo(1, servo[1]); break; + case MULTITYPE_DUALCOPTER: + pwmWriteServo(0, servo[4]); + pwmWriteServo(1, servo[5]); + break; + + case MULTITYPE_AIRPLANE: + case MULTITYPE_SINGLECOPTER: + pwmWriteServo(0, servo[3]); + pwmWriteServo(1, servo[4]); + pwmWriteServo(2, servo[5]); + pwmWriteServo(3, servo[6]); + break; + default: // Two servos for SERVO_TILT, if enabled if (feature(FEATURE_SERVO_TILT)) { @@ -253,52 +318,55 @@ void writeAllMotors(int16_t mc) static void airplaneMixer(void) { -#if 0 - uint16_t servomid[8]; - int16_t flaperons[2] = { 0, 0 }; - - for (i = 0; i < 8; i++) { - servomid[i] = 1500 + cfg.servotrim[i]; // servo center is 1500? - } + int16_t flapperons[2] = { 0, 0 }; + int i; if (!f.ARMED) - motor[0] = cfg.mincommand; // Kill throttle when disarmed + servo[7] = mcfg.mincommand; // Kill throttle when disarmed else - motor[0] = rcData[THROTTLE]; + servo[7] = constrain(rcCommand[THROTTLE], mcfg.minthrottle, mcfg.maxthrottle); + motor[0] = servo[7]; +#if 0 if (cfg.flaperons) { } - - if (cfg.flaps) { - int16_t flap = 1500 - constrain(rcData[cfg.flaps], cfg.servoendpoint_low[2], cfg.servoendpoint_high[2]); - static int16_t slowFlaps = flap; - - if (cfg.flapspeed) { - if (slowFlaps < flap) { - slowFlaps += cfg.flapspeed; - } else if (slowFlaps > flap) { - slowFlaps -= cfg.flapspeed; - } - } else { - slowFlaps = flap; - } - servo[2] = servomid[2] + (slowFlaps * cfg.servoreverse[2]); - } - - if (f.PASSTHRU_MODE) { // Direct passthru from RX - servo[3] = servomid[3] + ((rcCommand[ROLL] + flapperons[0]) * cfg.servoreverse[3]); // Wing 1 - servo[4] = servomid[4] + ((rcCommand[ROLL] + flapperons[1]) * cfg.servoreverse[4]); // Wing 2 - servo[5] = servomid[5] + (rcCommand[YAW] * cfg.servoreverse[5]); // Rudder - servo[6] = servomid[6] + (rcCommand[PITCH] * cfg.servoreverse[6]); // Elevator - } else { // Assisted modes (gyro only or gyro+acc according to AUX configuration in Gui - servo[3] = (servomid[3] + ((axisPID[ROLL] + flapperons[0]) * cfg.servoreverse[3])); // Wing 1 - servo[4] = (servomid[4] + ((axisPID[ROLL] + flapperons[1]) * cfg.servoreverse[4])); // Wing 2 - servo[5] = (servomid[5] + (axisPID[YAW] * cfg.servoreverse[5])); // Rudder - servo[6] = (servomid[6] + (axisPID[PITCH] * cfg.servoreverse[6])); // Elevator - } #endif + + if (mcfg.flaps_speed) { + // configure SERVO3 middle point in GUI to using an AUX channel for FLAPS control + // use servo min, servo max and servo rate for proper endpoints adjust + static int16_t slow_LFlaps; + int16_t lFlap = servoMiddle(2); + + lFlap = constrain(lFlap, cfg.servoConf[2].min, cfg.servoConf[2].max); + lFlap = mcfg.midrc - lFlap; // shouldn't this be servoConf[2].middle? + if (slow_LFlaps < lFlap) + slow_LFlaps += mcfg.flaps_speed; + else if (slow_LFlaps > lFlap) + slow_LFlaps -= mcfg.flaps_speed; + + servo[2] = ((int32_t)cfg.servoConf[2].rate * slow_LFlaps) / 100L; + servo[2] += mcfg.midrc; + } + + if (f.PASSTHRU_MODE) { // Direct passthru from RX + servo[3] = rcCommand[ROLL] + flapperons[0]; // Wing 1 + servo[4] = rcCommand[ROLL] + flapperons[1]; // Wing 2 + servo[5] = rcCommand[YAW]; // Rudder + servo[6] = rcCommand[PITCH]; // Elevator + } else { + // Assisted modes (gyro only or gyro+acc according to AUX configuration in Gui + servo[3] = axisPID[ROLL] + flapperons[0]; // Wing 1 + servo[4] = axisPID[ROLL] + flapperons[1]; // Wing 2 + servo[5] = axisPID[YAW]; // Rudder + servo[6] = axisPID[PITCH]; // Elevator + } + for (i = 3; i < 7; i++) { + servo[i] = ((int32_t)cfg.servoConf[i].rate * servo[i]) / 100L; // servo rates + servo[i] += servoMiddle(i); + } } void mixTable(void) @@ -319,17 +387,17 @@ void mixTable(void) // airplane / servo mixes switch (mcfg.mixerConfiguration) { case MULTITYPE_BI: - servo[4] = constrain(1500 + (-cfg.yaw_direction * axisPID[YAW]) + axisPID[PITCH], 1020, 2000); //LEFT - servo[5] = constrain(1500 + (-cfg.yaw_direction * axisPID[YAW]) - axisPID[PITCH], 1020, 2000); //RIGHT + servo[4] = (servoDirection(4, 2) * axisPID[YAW]) + (servoDirection(4, 1) * axisPID[PITCH]) + servoMiddle(4); // LEFT + servo[5] = (servoDirection(5, 2) * axisPID[YAW]) + (servoDirection(5, 1) * axisPID[PITCH]) + servoMiddle(5); // RIGHT break; case MULTITYPE_TRI: - servo[5] = constrain(cfg.tri_yaw_middle + -cfg.yaw_direction * axisPID[YAW], cfg.tri_yaw_min, cfg.tri_yaw_max); //REAR + servo[5] = (servoDirection(5, 1) * axisPID[YAW]) + servoMiddle(5); // REAR break; case MULTITYPE_GIMBAL: - servo[0] = constrain(cfg.gimbal_pitch_mid + cfg.gimbal_pitch_gain * angle[PITCH] / 16 + rcCommand[PITCH], cfg.gimbal_pitch_min, cfg.gimbal_pitch_max); - servo[1] = constrain(cfg.gimbal_roll_mid + cfg.gimbal_roll_gain * angle[ROLL] / 16 + rcCommand[ROLL], cfg.gimbal_roll_min, cfg.gimbal_roll_max); + servo[0] = (((int32_t)cfg.servoConf[0].rate * angle[PITCH]) / 50) + servoMiddle(0); + servo[1] = (((int32_t)cfg.servoConf[1].rate * angle[ROLL]) / 50) + servoMiddle(1); break; case MULTITYPE_AIRPLANE: @@ -337,47 +405,62 @@ void mixTable(void) break; case MULTITYPE_FLYING_WING: - motor[0] = rcCommand[THROTTLE]; + if (!f.ARMED) + servo[7] = mcfg.mincommand; + else + servo[7] = constrain(rcCommand[THROTTLE], mcfg.minthrottle, mcfg.maxthrottle); + motor[0] = servo[7]; if (f.PASSTHRU_MODE) { // do not use sensors for correction, simple 2 channel mixing - servo[0] = cfg.pitch_direction_l * (rcData[PITCH] - mcfg.midrc) + cfg.roll_direction_l * (rcData[ROLL] - mcfg.midrc); - servo[1] = cfg.pitch_direction_r * (rcData[PITCH] - mcfg.midrc) + cfg.roll_direction_r * (rcData[ROLL] - mcfg.midrc); + servo[3] = (servoDirection(3, 1) * rcCommand[PITCH]) + (servoDirection(3, 2) * rcCommand[ROLL]); + servo[4] = (servoDirection(4, 1) * rcCommand[PITCH]) + (servoDirection(4, 2) * rcCommand[ROLL]); } else { // use sensors to correct (gyro only or gyro + acc) - servo[0] = cfg.pitch_direction_l * axisPID[PITCH] + cfg.roll_direction_l * axisPID[ROLL]; - servo[1] = cfg.pitch_direction_r * axisPID[PITCH] + cfg.roll_direction_r * axisPID[ROLL]; + servo[3] = (servoDirection(3, 1) * axisPID[PITCH]) + (servoDirection(3, 2) * axisPID[ROLL]); + servo[4] = (servoDirection(4, 1) * axisPID[PITCH]) + (servoDirection(4, 2) * axisPID[ROLL]); } - servo[0] = constrain(servo[0] + cfg.wing_left_mid, cfg.wing_left_min, cfg.wing_left_max); - servo[1] = constrain(servo[1] + cfg.wing_right_mid, cfg.wing_right_min, cfg.wing_right_max); + servo[3] += servoMiddle(3); + servo[4] += servoMiddle(4); + break; + + case MULTITYPE_DUALCOPTER: + for (i = 4; i < 6; i++ ) { + servo[i] = axisPID[5 - i] * servoDirection(i, 1); // mix and setup direction + servo[i] += servoMiddle(i); + } + break; + + case MULTITYPE_SINGLECOPTER: + for (i = 3; i < 7; i++) { + servo[i] = (axisPID[YAW] * servoDirection(i, 2)) + (axisPID[(6 - i) >> 1] * servoDirection(i, 1)); // mix and setup direction + servo[i] += servoMiddle(i); + } + motor[0] = rcCommand[THROTTLE]; break; } // do camstab if (feature(FEATURE_SERVO_TILT)) { - uint16_t aux[2] = { 0, 0 }; - - if ((cfg.gimbal_flags & GIMBAL_NORMAL) || (cfg.gimbal_flags & GIMBAL_TILTONLY)) - aux[0] = rcData[AUX3] - mcfg.midrc; - if (!(cfg.gimbal_flags & GIMBAL_DISABLEAUX34)) - aux[1] = rcData[AUX4] - mcfg.midrc; - - servo[0] = cfg.gimbal_pitch_mid + aux[0]; - servo[1] = cfg.gimbal_roll_mid + aux[1]; + // center at fixed position, or vary either pitch or roll by RC channel + servo[0] = servoMiddle(0); + servo[1] = servoMiddle(1); if (rcOptions[BOXCAMSTAB]) { if (cfg.gimbal_flags & GIMBAL_MIXTILT) { - servo[0] -= (-cfg.gimbal_pitch_gain) * angle[PITCH] / 16 - cfg.gimbal_roll_gain * angle[ROLL] / 16; - servo[1] += (-cfg.gimbal_pitch_gain) * angle[PITCH] / 16 + cfg.gimbal_roll_gain * angle[ROLL] / 16; + servo[0] -= (-(int32_t)cfg.servoConf[0].rate) * angle[PITCH] / 50 - (int32_t)cfg.servoConf[1].rate * angle[ROLL] / 50; + servo[1] += (-(int32_t)cfg.servoConf[0].rate) * angle[PITCH] / 50 + (int32_t)cfg.servoConf[1].rate * angle[ROLL] / 50; } else { - servo[0] += cfg.gimbal_pitch_gain * angle[PITCH] / 16; - servo[1] += cfg.gimbal_roll_gain * angle[ROLL] / 16; + servo[0] += (int32_t)cfg.servoConf[0].rate * angle[PITCH] / 50; + servo[1] += (int32_t)cfg.servoConf[0].rate * angle[ROLL] / 50; } } - - servo[0] = constrain(servo[0], cfg.gimbal_pitch_min, cfg.gimbal_pitch_max); - servo[1] = constrain(servo[1], cfg.gimbal_roll_min, cfg.gimbal_roll_max); } + // constrain servos + for (i = 0; i < MAX_SERVOS; i++) + servo[i] = constrain(servo[i], cfg.servoConf[i].min, cfg.servoConf[i].max); // limit the values + + // forward AUX1-4 to servo outputs (not constrained) if (cfg.gimbal_flags & GIMBAL_FORWARDAUX) { int offset = 0; if (feature(FEATURE_SERVO_TILT)) @@ -408,7 +491,8 @@ void mixTable(void) motor[i] = mcfg.mincommand; } } - if (!f.ARMED) - motor[i] = feature(FEATURE_3D) ? mcfg.neutral3d : mcfg.mincommand; + if (!f.ARMED) { + motor[i] = motor_disarmed[i]; + } } } diff --git a/src/mw.c b/src/mw.c index 8d4ea51e2..1248bff6c 100755 --- a/src/mw.c +++ b/src/mw.c @@ -16,10 +16,10 @@ int16_t telemTemperature1; // gyro sensor temperature int16_t failsafeCnt = 0; int16_t failsafeEvents = 0; -int16_t rcData[8] = { 1502, 1502, 1502, 1502, 1502, 1502, 1502, 1502 }; // interval [1000;2000] +int16_t rcData[RC_CHANS]; // interval [1000;2000] int16_t rcCommand[4]; // interval [1000;2000] for THROTTLE and [-500;+500] for ROLL/PITCH/YAW -int16_t lookupPitchRollRC[6]; // lookup table for expo & RC rate PITCH+ROLL -int16_t lookupThrottleRC[11]; // lookup table for expo & mid THROTTLE +int16_t lookupPitchRollRC[PITCH_LOOKUP_LENGTH]; // lookup table for expo & RC rate PITCH+ROLL +int16_t lookupThrottleRC[THROTTLE_LOOKUP_LENGTH]; // lookup table for expo & mid THROTTLE uint16_t rssi; // range: [0;1023] rcReadRawDataPtr rcReadRawFunc = NULL; // receive data from default (pwm/ppm) or additional (spek/sbus/?? receiver drivers) @@ -45,8 +45,6 @@ uint16_t GPS_altitude, GPS_speed; // altitude in 0.1m and speed in 0.1m/s uint8_t GPS_update = 0; // it's a binary toogle to distinct a GPS position update int16_t GPS_angle[2] = { 0, 0 }; // it's the angles that must be applied for GPS correction uint16_t GPS_ground_course = 0; // degrees * 10 -uint8_t GPS_Present = 0; // Checksum from Gps serial -uint8_t GPS_Enable = 0; int16_t nav[2]; int16_t nav_rated[2]; // Adding a rate controller to the navigation to make it smoother int8_t nav_mode = NAV_MODE_NONE; // Navigation mode @@ -179,9 +177,9 @@ void annexCode(void) LED0_OFF; if (f.ARMED) LED0_ON; - // This will switch to/from 9600 or 115200 baud depending on state. Of course, it should only do it on changes. + // This will switch to/from 9600 or 115200 baud depending on state. Of course, it should only do it on changes. With telemetry_softserial>0 telemetry is always enabled, also see updateTelemetryState() if (feature(FEATURE_TELEMETRY)) - initTelemetry(f.ARMED); + updateTelemetryState(); } #ifdef LEDRING @@ -758,8 +756,8 @@ void loop(void) } } else { // not in rc loop static int taskOrder = 0; // never call all function in the same loop, to avoid high delay spikes - if (taskOrder > 3) - taskOrder -= 4; + if (taskOrder > 4) + taskOrder -= 5; switch (taskOrder) { case 0: taskOrder++; @@ -777,9 +775,18 @@ void loop(void) taskOrder++; #ifdef BARO if (sensors(SENSOR_BARO) && getEstimatedAltitude()) - break; + break; #endif case 3: + // if GPS feature is enabled, gpsThread() will be called at some intervals to check for stuck + // hardware, wrong baud rates, init GPS if needed, etc. Don't use SENSOR_GPS here as gpsThread() can and will + // change this based on available hardware + taskOrder++; + if (feature(FEATURE_GPS)) { + gpsThread(); + break; + } + case 4: taskOrder++; #ifdef SONAR if (sensors(SENSOR_SONAR)) { @@ -802,9 +809,6 @@ void loop(void) currentTime = micros(); cycleTime = (int32_t)(currentTime - previousTime); previousTime = currentTime; -#ifdef MPU6050_DMP - mpu6050DmpLoop(); -#endif #ifdef MAG if (sensors(SENSOR_MAG)) { @@ -814,6 +818,7 @@ void loop(void) dif += 360; if (dif >= +180) dif -= 360; + dif *= -mcfg.yaw_control_direction; if (f.SMALL_ANGLES_25) rcCommand[YAW] -= dif * cfg.P8[PIDMAG] / 30; // 18 deg } else diff --git a/src/mw.h b/src/mw.h index f8200e919..835ba0e85 100755 --- a/src/mw.h +++ b/src/mw.h @@ -4,11 +4,13 @@ #define VBATFREQ 6 // to read battery voltage - nth number of loop iterations #define BARO_TAB_SIZE_MAX 48 -#define VERSION 220 +#define VERSION 230 #define LAT 0 #define LON 1 +#define RC_CHANS (18) + // Serial GPS only variables // navigation mode typedef enum NavigationMode @@ -38,16 +40,18 @@ typedef enum MultiType MULTITYPE_HELI_120_CCPM = 15, MULTITYPE_HELI_90_DEG = 16, MULTITYPE_VTAIL4 = 17, - MULTITYPE_CUSTOM = 18, // no current GUI displays this - MULTITYPE_LAST = 19 + MULTITYPE_HEX6H = 18, + MULTITYPE_PPM_TO_SERVO = 19, // PPM -> servo relay + MULTITYPE_DUALCOPTER = 20, + MULTITYPE_SINGLECOPTER = 21, + MULTITYPE_CUSTOM = 22, // no current GUI displays this + MULTITYPE_LAST = 23 } MultiType; typedef enum GimbalFlags { GIMBAL_NORMAL = 1 << 0, - GIMBAL_TILTONLY = 1 << 1, - GIMBAL_DISABLEAUX34 = 1 << 2, - GIMBAL_FORWARDAUX = 1 << 3, - GIMBAL_MIXTILT = 1 << 4, + GIMBAL_MIXTILT = 1 << 1, + GIMBAL_FORWARDAUX = 1 << 2, } GimbalFlags; /*********** RC alias *****************/ @@ -194,33 +198,9 @@ typedef struct config_t { // mixer-related configuration int8_t yaw_direction; uint8_t tri_unarmed_servo; // send tail servo correction pulses even when unarmed - uint16_t tri_yaw_middle; // tail servo center pos. - use this for initial trim - uint16_t tri_yaw_min; // tail servo min - uint16_t tri_yaw_max; // tail servo max - - // flying wing related configuration - uint16_t wing_left_min; // min/mid/max servo travel - uint16_t wing_left_mid; - uint16_t wing_left_max; - uint16_t wing_right_min; - uint16_t wing_right_mid; - uint16_t wing_right_max; - - int8_t pitch_direction_l; // left servo - pitch orientation - int8_t pitch_direction_r; // right servo - pitch orientation (opposite sign to pitch_direction_l if servos are mounted mirrored) - int8_t roll_direction_l; // left servo - roll orientation - int8_t roll_direction_r; // right servo - roll orientation (same sign as ROLL_DIRECTION_L, if servos are mounted in mirrored orientation) // gimbal-related configuration - int8_t gimbal_pitch_gain; // gimbal pitch servo gain (tied to angle) can be negative to invert movement - int8_t gimbal_roll_gain; // gimbal roll servo gain (tied to angle) can be negative to invert movement uint8_t gimbal_flags; // in servotilt mode, various things that affect stuff - uint16_t gimbal_pitch_min; // gimbal pitch servo min travel - uint16_t gimbal_pitch_max; // gimbal pitch servo max travel - uint16_t gimbal_pitch_mid; // gimbal pitch servo neutral value - uint16_t gimbal_roll_min; // gimbal roll servo min travel - uint16_t gimbal_roll_max; // gimbal roll servo max travel - uint16_t gimbal_roll_mid; // gimbal roll servo neutral value // gps-related stuff uint16_t gps_wp_radius; // if we are within this distance to a waypoint then we consider it reached (distance is in cm) @@ -258,6 +238,9 @@ typedef struct master_t { sensor_align_e gyro_align; // gyro alignment sensor_align_e acc_align; // acc alignment sensor_align_e mag_align; // mag alignment + int16_t board_align_roll; // board alignment correction in roll (deg) + int16_t board_align_pitch; // board alignment correction in pitch (deg) + int16_t board_align_yaw; // board alignment correction in yaw (deg) int8_t yaw_control_direction; // change control direction of yaw (inverted, normal) uint8_t acc_hardware; // Which acc hardware to use on boards with more than one device uint16_t gyro_lpf; // gyro LPF setting - values are driver specific, in case of invalid number, a reasonable default ~30-40HZ is chosen. @@ -265,7 +248,6 @@ typedef struct master_t { uint16_t gyro_cmpfm_factor; // Set the Gyro Weight for Gyro/Magnetometer complementary filter. Increasing this value would reduce and delay Magnetometer influence on the output of the filter uint32_t gyro_smoothing_factor; // How much to smoothen with per axis (32bit value with Roll, Pitch, Yaw in bits 24, 16, 8 respectively uint8_t moron_threshold; // people keep forgetting that moving model while init results in wrong gyro offsets. and then they never reset gyro. so this is now on by default. - uint8_t mpu6050_scale; // es/non-es variance between MPU6050 sensors, half my boards are mpu6000ES, need this to be dynamic. automatically set by mpu6050 driver. int16_t accZero[3]; int16_t magZero[3]; @@ -282,18 +264,21 @@ typedef struct master_t { uint16_t mincheck; // minimum rc end uint16_t maxcheck; // maximum rc end uint8_t retarded_arm; // allow disarsm/arm on throttle down + roll left/right + uint8_t flaps_speed; // airplane mode flaps, 0 = no flaps, > 0 = flap speed, larger = faster uint8_t rssi_aux_channel; // Read rssi from channel. 1+ = AUX1+, 0 to disable. // gps-related stuff - uint8_t gps_type; // Type of GPS hardware. 0: NMEA 1: UBX 2+ ?? - uint32_t gps_baudrate; // GPS baudrate + uint8_t gps_type; // Type of GPS hardware. 0: NMEA 1: UBX 2: MTK NMEA 3: MTK Binary + int8_t gps_baudrate; // GPS baudrate, -1: autodetect (NMEA only), 0: 115200, 1: 57600, 2: 38400, 3: 19200, 4: 9600 uint32_t serial_baudrate; uint32_t softserial_baudrate; uint8_t softserial_inverted; // use inverted softserial input and output signals + uint8_t telemetry_softserial; // Serial to use for Telemetry. 0:USART1, 1:SoftSerial1 (Enable FEATURE_SOFTSERIAL first) + config_t profile[3]; // 3 separate profiles uint8_t current_profile; // currently loaded profile @@ -307,8 +292,9 @@ typedef struct core_t { serialPort_t *gpsport; serialPort_t *telemport; serialPort_t *rcvrport; - bool useServo; - + uint8_t mpu6050_scale; // es/non-es variance between MPU6050 sensors, half my boards are mpu6000ES, need this to be dynamic. automatically set by mpu6050 driver. + uint8_t numRCChannels; // number of rc channels as reported by current input driver + bool useServo; // feature SERVO_TILT or wing/airplane mixers will enable this } core_t; typedef struct flags_t { @@ -365,15 +351,18 @@ extern int16_t throttleAngleCorrection; extern int16_t headFreeModeHold; extern int16_t heading, magHold; extern int16_t motor[MAX_MOTORS]; -extern int16_t servo[8]; -extern int16_t rcData[8]; +extern int16_t servo[MAX_SERVOS]; +extern int16_t rcData[RC_CHANS]; extern uint16_t rssi; // range: [0;1023] extern uint8_t vbat; extern int16_t telemTemperature1; // gyro sensor temperature -extern int16_t lookupPitchRollRC[6]; // lookup table for expo & RC rate PITCH+ROLL -extern int16_t lookupThrottleRC[11]; // lookup table for expo & mid THROTTLE extern uint8_t toggleBeep; +#define PITCH_LOOKUP_LENGTH 7 +#define THROTTLE_LOOKUP_LENGTH 12 +extern int16_t lookupPitchRollRC[PITCH_LOOKUP_LENGTH]; // lookup table for expo & RC rate PITCH+ROLL +extern int16_t lookupThrottleRC[THROTTLE_LOOKUP_LENGTH]; // lookup table for expo & mid THROTTLE + // GPS stuff extern int32_t GPS_coord[2]; extern int32_t GPS_home[2]; @@ -385,8 +374,6 @@ extern uint16_t GPS_altitude,GPS_speed; // altitude in 0.1m extern uint8_t GPS_update; // it's a binary toogle to distinct a GPS position update extern int16_t GPS_angle[2]; // it's the angles that must be applied for GPS correction extern uint16_t GPS_ground_course; // degrees*10 -extern uint8_t GPS_Present; // Checksum from Gps serial -extern uint8_t GPS_Enable; extern int16_t nav[2]; extern int8_t nav_mode; // Navigation mode extern int16_t nav_rated[2]; // Adding a rate controller to the navigation to make it smoother @@ -429,6 +416,7 @@ void Sonar_update(void); // Output void mixerInit(void); +void mixerResetMotors(void); void mixerLoadMix(int index); void writeServos(void); void writeMotors(void); @@ -470,13 +458,16 @@ void systemBeep(bool onoff); void cliProcess(void); // gps -void gpsInit(uint32_t baudrate); +void gpsInit(uint8_t baudrate); +void gpsThread(void); +void gpsSetPIDs(void); +int8_t gpsSetPassthrough(void); void GPS_reset_home_position(void); void GPS_reset_nav(void); -void GPS_set_pids(void); void GPS_set_next_wp(int32_t* lat, int32_t* lon); int32_t wrap_18000(int32_t error); // telemetry -void initTelemetry(bool State); +void initTelemetry(void); +void updateTelemetryState(void); void sendTelemetry(void); diff --git a/src/sbus.c b/src/sbus.c index e37ea25af..f9afd77e9 100644 --- a/src/sbus.c +++ b/src/sbus.c @@ -26,6 +26,7 @@ void sbusInit(rcReadRawDataPtr *callback) core.rcvrport = uartOpen(USART2, sbusDataReceive, 100000, MODE_RX); if (callback) *callback = sbusReadRawRC; + core.numRCChannels = SBUS_MAX_CHANNEL; } struct sbus_dat diff --git a/src/sensors.c b/src/sensors.c index ff4738b72..ed3bd94c3 100755 --- a/src/sensors.c +++ b/src/sensors.c @@ -36,7 +36,7 @@ void sensorsAutodetect(void) bool haveMpu6k = false; // Autodetect gyro hardware. We have MPU3050 or MPU6050. - if (mpu6050Detect(&acc, &gyro, mcfg.gyro_lpf, &mcfg.mpu6050_scale)) { + if (mpu6050Detect(&acc, &gyro, mcfg.gyro_lpf, &core.mpu6050_scale)) { // this filled up acc.* struct with init values haveMpu6k = true; } else if (l3g4200dDetect(&gyro, mcfg.gyro_lpf)) { @@ -64,7 +64,7 @@ retry: ; // fallthrough case ACC_MPU6050: // MPU6050 if (haveMpu6k) { - mpu6050Detect(&acc, &gyro, mcfg.gyro_lpf, &mcfg.mpu6050_scale); // yes, i'm rerunning it again. re-fill acc struct + mpu6050Detect(&acc, &gyro, mcfg.gyro_lpf, &core.mpu6050_scale); // yes, i'm rerunning it again. re-fill acc struct accHardware = ACC_MPU6050; if (mcfg.acc_hardware == ACC_MPU6050) break; diff --git a/src/serial.c b/src/serial.c index 4da63d505..55553000b 100755 --- a/src/serial.c +++ b/src/serial.c @@ -3,7 +3,9 @@ // Multiwii Serial Protocol 0 #define MSP_VERSION 0 -#define PLATFORM_32BIT ((uint32_t)1 << 31) +#define CAP_PLATFORM_32BIT ((uint32_t)1 << 31) +#define CAP_DYNBALANCE ((uint32_t)1 << 2) +#define CAP_FLAPS ((uint32_t)1 << 3) #define MSP_IDENT 100 //out message multitype + multiwii version + protocol version + capability variable #define MSP_STATUS 101 //out message cycletime & errors_count & sensor present & box activation & current setting number @@ -89,51 +91,8 @@ struct box_t { static uint8_t availableBoxes[CHECKBOXITEMS]; // this is the number of filled indexes in above array static uint8_t numberBoxItems = 0; - -static const char boxnames[] = - "ARM;" - "ANGLE;" - "HORIZON;" - "BARO;" - "VARIO;" - "MAG;" - "HEADFREE;" - "HEADADJ;" - "CAMSTAB;" - "CAMTRIG;" - "GPS HOME;" - "GPS HOLD;" - "PASSTHRU;" - "BEEPER;" - "LEDMAX;" - "LEDLOW;" - "LLIGHTS;" - "CALIB;" - "GOVERNOR;" - "OSD SW;"; - -const uint8_t boxids[] = { // permanent IDs associated to boxes. This way, you can rely on an ID number to identify a BOX function. - 0, // "ARM;" - 1, // "ANGLE;" - 2, // "HORIZON;" - 3, // "BARO;" - 4, // "VARIO;" - 5, // "MAG;" - 6, // "HEADFREE;" - 7, // "HEADADJ;" - 8, // "CAMSTAB;" - 9, // "CAMTRIG;" - 10, // "GPS HOME;" - 11, // "GPS HOLD;" - 12, // "PASSTHRU;" - 13, // "BEEPER;" - 14, // "LEDMAX;" - 15, // "LEDLOW;" - 16, // "LLIGHTS;" - 17, // "CALIB;" - 18, // "GOVERNOR;" - 19, // "OSD_SWITCH;" -}; +// from mixer.c +extern int16_t motor_disarmed[MAX_MOTORS]; static const char pidnames[] = "ROLL;" @@ -149,7 +108,6 @@ static const char pidnames[] = static uint8_t checksum, indRX, inBuf[INBUF_SIZE]; static uint8_t cmdMSP; -static bool guiConnected = false; // signal that we're in cli mode uint8_t cliMode = 0; @@ -247,31 +205,35 @@ void serializeNames(const char *s) void serializeBoxNamesReply(void) { - char buf[256]; // no fucking idea - char *c; - int i, j; + int i, idx, j, flag = 1, count = 0, len; - memset(buf, 0, sizeof(buf)); - for (i = 0; i < CHECKBOXITEMS; i++) { - for (j = 0; j < numberBoxItems; j++) { - if (boxes[i].boxIndex == availableBoxes[j]) - strcat(buf, boxes[i].boxName); +reset: + // in first run of the loop, we grab total size of junk to be sent + // then come back and actually send it + for (i = 0; i < numberBoxItems; i++) { + idx = availableBoxes[i]; + len = strlen(boxes[idx].boxName); + if (flag) { + count += len; + } else { + for (j = 0; j < len; j++) + serialize8(boxes[idx].boxName[j]); } } - headSerialReply(strlen(buf)); - for (c = buf; *c; c++) - serialize8(*c); + if (flag) { + headSerialReply(count); + flag = 0; + goto reset; + } } void serialInit(uint32_t baudrate) { int idx; - bool hfadded = false; core.mainport = uartOpen(USART1, NULL, baudrate, MODE_RXTX); - // TODO fix/hax - core.telemport = core.mainport; + // calculate used boxes based on features and fill availableBoxes[] array memset(availableBoxes, 0xFF, sizeof(availableBoxes)); @@ -280,41 +242,35 @@ void serialInit(uint32_t baudrate) if (sensors(SENSOR_ACC)) { availableBoxes[idx++] = BOXANGLE; availableBoxes[idx++] = BOXHORIZON; - availableBoxes[idx++] = BOXMAG; - availableBoxes[idx++] = BOXHEADFREE; - availableBoxes[idx++] = BOXHEADADJ; - hfadded = true; } if (sensors(SENSOR_BARO)) { availableBoxes[idx++] = BOXBARO; if (feature(FEATURE_VARIO)) availableBoxes[idx++] = BOXVARIO; } - if (sensors(SENSOR_MAG)) { - // this really shouldn't even needed to be tested as it wouldn't be possible without acc anyway - if (!hfadded) { - availableBoxes[idx++] = BOXMAG; - availableBoxes[idx++] = BOXHEADFREE; - availableBoxes[idx++] = BOXHEADADJ; - } + if (sensors(SENSOR_ACC) || sensors(SENSOR_MAG)) { + availableBoxes[idx++] = BOXMAG; + availableBoxes[idx++] = BOXHEADFREE; + availableBoxes[idx++] = BOXHEADADJ; } if (feature(FEATURE_SERVO_TILT)) availableBoxes[idx++] = BOXCAMSTAB; - if (feature(FEATURE_GPS) && sensors(SENSOR_GPS)) { + if (feature(FEATURE_GPS)) { availableBoxes[idx++] = BOXGPSHOME; availableBoxes[idx++] = BOXGPSHOLD; } - if (mcfg.mixerConfiguration == MULTITYPE_FLYING_WING || mcfg.mixerConfiguration == MULTITYPE_AIRPLANE) + if (mcfg.mixerConfiguration == MULTITYPE_FLYING_WING || mcfg.mixerConfiguration == MULTITYPE_AIRPLANE) availableBoxes[idx++] = BOXPASSTHRU; availableBoxes[idx++] = BOXBEEPERON; if (feature(FEATURE_INFLIGHT_ACC_CAL)) availableBoxes[idx++] = BOXCALIB; + availableBoxes[idx++] = BOXOSD; numberBoxItems = idx; } static void evaluateCommand(void) { - uint32_t i, tmp; + uint32_t i, tmp, junk; uint8_t wp_no; int32_t lat = 0, lon = 0, alt = 0; @@ -363,8 +319,23 @@ static void evaluateCommand(void) headSerialReply(0); break; case MSP_SET_MISC: + read16(); // powerfailmeter + mcfg.minthrottle = read16(); + read32(); // mcfg.maxthrottle, mcfg.mincommand + cfg.failsafe_throttle = read16(); + read16(); + read32(); + cfg.mag_declination = read16() * 10; + mcfg.vbatscale = read8(); // actual vbatscale as intended + mcfg.vbatmincellvoltage = read8(); // vbatlevel_warn1 in MWC2.3 GUI + mcfg.vbatmaxcellvoltage = read8(); // vbatlevel_warn2 in MWC2.3 GUI + read8(); // vbatlevel_crit (unused) headSerialReply(0); break; + case MSP_SET_MOTOR: + for (i = 0; i < 8; i++) + motor_disarmed[i] = read16(); + break; case MSP_SELECT_SETTING: if (!f.ARMED) { mcfg.current_profile = read8(); @@ -384,17 +355,18 @@ static void evaluateCommand(void) serialize8(VERSION); // multiwii version serialize8(mcfg.mixerConfiguration); // type of multicopter serialize8(MSP_VERSION); // MultiWii Serial Protocol Version - serialize32(PLATFORM_32BIT); // "capability" + serialize32(CAP_PLATFORM_32BIT | CAP_DYNBALANCE | (mcfg.flaps_speed ? CAP_FLAPS : 0)); // "capability" break; case MSP_STATUS: headSerialReply(11); serialize16(cycleTime); serialize16(i2cGetErrorCounter()); serialize16(sensors(SENSOR_ACC) | sensors(SENSOR_BARO) << 1 | sensors(SENSOR_MAG) << 2 | sensors(SENSOR_GPS) << 3 | sensors(SENSOR_SONAR) << 4); -#if FUCK_MULTIWII // OK, so you waste all the fucking time to have BOXNAMES and BOXINDEXES etc, and then you go ahead and serialize enabled shit simply by stuffing all // the bits in order, instead of setting the enabled bits based on BOXINDEX. WHERE IS THE FUCKING LOGIC IN THIS, FUCKWADS. - serialize32(f.ANGLE_MODE << BOXANGLE | f.HORIZON_MODE << BOXHORIZON | + // Serialize the boxes in the order we delivered them, until multiwii retards fix their shit + junk = 0; + tmp = f.ANGLE_MODE << BOXANGLE | f.HORIZON_MODE << BOXHORIZON | f.BARO_MODE << BOXBARO | f.MAG_MODE << BOXMAG | f.HEADFREE_MODE << BOXHEADFREE | rcOptions[BOXHEADADJ] << BOXHEADADJ | rcOptions[BOXCAMSTAB] << BOXCAMSTAB | rcOptions[BOXCAMTRIG] << BOXCAMTRIG | f.GPS_HOME_MODE << BOXGPSHOME | f.GPS_HOLD_MODE << BOXGPSHOLD | @@ -406,50 +378,13 @@ static void evaluateCommand(void) rcOptions[BOXCALIB] << BOXCALIB | rcOptions[BOXGOV] << BOXGOV | rcOptions[BOXOSD] << BOXOSD | - f.ARMED << BOXARM); -#else - // Serialize the boxes in the order we delivered them - tmp = 0; + f.ARMED << BOXARM; for (i = 0; i < numberBoxItems; i++) { - uint8_t val, box = availableBoxes[i]; - switch (box) { - // Handle the special cases - case BOXANGLE: - val = f.ANGLE_MODE; - break; - case BOXHORIZON: - val = f.HORIZON_MODE; - break; - case BOXMAG: - val = f.MAG_MODE; - break; - case BOXBARO: - val = f.BARO_MODE; - break; - case BOXHEADFREE: - val = f.HEADFREE_MODE; - break; - case BOXGPSHOME: - val = f.GPS_HOME_MODE; - break; - case BOXGPSHOLD: - val = f.GPS_HOLD_MODE; - break; - case BOXPASSTHRU: - val = f.PASSTHRU_MODE; - break; - case BOXARM: - val = f.ARMED; - break; - default: - // These just directly rely on their RC inputs - val = rcOptions[ box ]; - break; - } - tmp |= (val << i); + int flag = (tmp & (1 << availableBoxes[i])); + if (flag) + junk |= 1 << i; } - serialize32(tmp); -#endif + serialize32(junk); serialize8(mcfg.current_profile); break; case MSP_RAW_IMU: @@ -468,17 +403,28 @@ static void evaluateCommand(void) serialize16(magADC[i]); break; case MSP_SERVO: - headSerialReply(16); - for (i = 0; i < 8; i++) - serialize16(servo[i]); + s_struct((uint8_t *)&servo, 16); break; case MSP_SERVO_CONF: - s_struct((uint8_t *)&cfg.servoConf, 56); // struct servoConf is 7 bytes length: min:2 / max:2 / middle:2 / rate:1 ---- 8 servo => 8x7 = 56 + headSerialReply(56); + for (i = 0; i < MAX_SERVOS; i++) { + serialize16(cfg.servoConf[i].min); + serialize16(cfg.servoConf[i].max); + serialize16(cfg.servoConf[i].middle); + serialize8(cfg.servoConf[i].rate); + } + break; + case MSP_SET_SERVO_CONF: + headSerialReply(0); + for (i = 0; i < MAX_SERVOS; i++) { + cfg.servoConf[i].min = read16(); + cfg.servoConf[i].max = read16(); + cfg.servoConf[i].middle = read16(); + cfg.servoConf[i].rate = read8(); + } break; case MSP_MOTOR: - headSerialReply(16); - for (i = 0; i < 8; i++) - serialize16(motor[i]); + s_struct((uint8_t *)motor, 16); break; case MSP_RC: headSerialReply(16); @@ -556,8 +502,19 @@ static void evaluateCommand(void) serialize8(availableBoxes[i]); break; case MSP_MISC: - headSerialReply(2); - serialize16(0); // intPowerTrigger1 + headSerialReply(2 * 6 + 4 + 2 + 4); + serialize16(0); // intPowerTrigger1 (aka useless trash) + serialize16(mcfg.minthrottle); + serialize16(mcfg.maxthrottle); + serialize16(mcfg.mincommand); + serialize16(cfg.failsafe_throttle); + serialize16(0); // plog useless shit + serialize32(0); // plog useless shit + serialize16(cfg.mag_declination / 10); // TODO check this shit + serialize8(mcfg.vbatscale); + serialize8(mcfg.vbatmincellvoltage); + serialize8(mcfg.vbatmaxcellvoltage); + serialize8(0); break; case MSP_MOTOR_PINS: headSerialReply(8); @@ -718,7 +675,6 @@ void serialCom(void) indRX = 0; checksum ^= c; c_state = HEADER_SIZE; // the command is to follow - guiConnected = true; } else if (c_state == HEADER_SIZE) { cmdMSP = c; checksum ^= c; @@ -733,8 +689,7 @@ void serialCom(void) c_state = IDLE; } } - if (!cliMode && !serialTotalBytesWaiting(core.telemport) && feature(FEATURE_TELEMETRY) && f.ARMED) { // The first 2 conditions should never evaluate to true but I'm putting it here anyway - silpstream + if (!cliMode && feature(FEATURE_TELEMETRY)) { // The first condition should never evaluate to true but I'm putting it here anyway - silpstream sendTelemetry(); - return; } } diff --git a/src/spektrum.c b/src/spektrum.c index 21388c28d..f5655dcef 100644 --- a/src/spektrum.c +++ b/src/spektrum.c @@ -37,6 +37,7 @@ void spektrumInit(rcReadRawDataPtr *callback) core.rcvrport = uartOpen(USART2, spektrumDataReceive, 115200, MODE_RX); if (callback) *callback = spektrumReadRawRC; + core.numRCChannels = SPEK_MAX_CHANNEL; } // Receive ISR callback diff --git a/src/telemetry.c b/src/telemetry.c index 3868723a1..39c251539 100644 --- a/src/telemetry.c +++ b/src/telemetry.c @@ -45,6 +45,8 @@ #define ID_GYRO_Y 0x41 #define ID_GYRO_Z 0x42 +#define ID_VERT_SPEED 0x30 //opentx vario + // from sensors.c extern uint8_t batteryCellCount; @@ -96,7 +98,7 @@ static void sendBaro(void) sendDataHead(ID_ALTITUDE_BP); serialize16(BaroAlt / 100); sendDataHead(ID_ALTITUDE_AP); - serialize16(BaroAlt % 100); + serialize16(abs(BaroAlt % 100)); } static void sendTemperature1(void) @@ -135,6 +137,16 @@ static void sendGPS(void) serialize16(GPS_coord[LON] < 0 ? 'W' : 'E'); } +/* + * Send vertical speed for opentx. ID_VERT_SPEED + * Unit is cm/s + */ +static void sendVario(void) +{ + sendDataHead(ID_VERT_SPEED); + serialize16(vario); +} + /* * Send voltage via ID_VOLT * @@ -202,13 +214,29 @@ static void sendHeading(void) static bool telemetryEnabled = false; -void initTelemetry(bool State) +void initTelemetry(void) { + // Sanity check for softserial vs. telemetry port + if (!feature(FEATURE_SOFTSERIAL)) + mcfg.telemetry_softserial = TELEMETRY_UART; + + if (mcfg.telemetry_softserial == TELEMETRY_SOFTSERIAL) + core.telemport = &(softSerialPorts[0].port); + else + core.telemport = core.mainport; +} + +void updateTelemetryState(void) +{ + bool State = mcfg.telemetry_softserial != TELEMETRY_UART ? true : f.ARMED; + if (State != telemetryEnabled) { - if (State) - serialInit(9600); - else - serialInit(mcfg.serial_baudrate); + if (mcfg.telemetry_softserial == TELEMETRY_UART) { + if (State) + serialInit(9600); + else + serialInit(mcfg.serial_baudrate); + } telemetryEnabled = State; } } @@ -218,12 +246,19 @@ static uint8_t cycleNum = 0; void sendTelemetry(void) { + if (mcfg.telemetry_softserial == TELEMETRY_UART && !f.ARMED) + return; + + if (serialTotalBytesWaiting(core.telemport) != 0) + return; + if (millis() - lastCycleTime >= CYCLETIME) { lastCycleTime = millis(); cycleNum++; // Sent every 125ms sendAccel(); + sendVario(); sendTelemetryTail(); if ((cycleNum % 4) == 0) { // Sent every 500ms diff --git a/src/utils.c b/src/utils.c index 2de9f351b..db0b2697d 100644 --- a/src/utils.c +++ b/src/utils.c @@ -1,6 +1,9 @@ #include "board.h" #include "mw.h" +static bool standardBoardAlignment = true; // board orientation correction +static float boardRotation[3][3]; // matrix + int constrain(int amt, int low, int high) { if (amt < low) @@ -10,3 +13,109 @@ int constrain(int amt, int low, int high) else return amt; } + +void initBoardAlignment(void) +{ + float roll, pitch, yaw; + float cosx, sinx, cosy, siny, cosz, sinz; + float coszcosx, coszcosy, sinzcosx, coszsinx, sinzsinx; + + // standard alignment, nothing to calculate + if (!mcfg.board_align_roll && !mcfg.board_align_pitch && !mcfg.board_align_yaw) + return; + + standardBoardAlignment = false; + + // deg2rad + roll = mcfg.board_align_roll * M_PI / 180.0f; + pitch = mcfg.board_align_pitch * M_PI / 180.0f; + yaw = mcfg.board_align_yaw * M_PI / 180.0f; + + cosx = cosf(roll); + sinx = sinf(roll); + cosy = cosf(pitch); + siny = sinf(pitch); + cosz = cosf(yaw); + sinz = sinf(yaw); + + coszcosx = cosz * cosx; + coszcosy = cosz * cosy; + sinzcosx = sinz * cosx; + coszsinx = sinx * cosz; + sinzsinx = sinx * sinz; + + // define rotation matrix + boardRotation[0][0] = coszcosy; + boardRotation[0][1] = -cosy * sinz; + boardRotation[0][2] = siny; + + boardRotation[1][0] = sinzcosx + (coszsinx * siny); + boardRotation[1][1] = coszcosx - (sinzsinx * siny); + boardRotation[1][2] = -sinx * cosy; + + boardRotation[2][0] = (sinzsinx) - (coszcosx * siny); + boardRotation[2][1] = (coszsinx) + (sinzcosx * siny); + boardRotation[2][2] = cosy * cosx; +} + +void alignBoard(int16_t *vec) +{ + int16_t x = vec[X]; + int16_t y = vec[Y]; + int16_t z = vec[Z]; + + vec[X] = lrintf(boardRotation[0][0] * x + boardRotation[1][0] * y + boardRotation[2][0] * z); + vec[Y] = lrintf(boardRotation[0][1] * x + boardRotation[1][1] * y + boardRotation[2][1] * z); + vec[Z] = lrintf(boardRotation[0][2] * x + boardRotation[1][2] * y + boardRotation[2][2] * z); +} + +void alignSensors(int16_t *src, int16_t *dest, uint8_t rotation) +{ + switch (rotation) { + case CW0_DEG: + dest[X] = src[X]; + dest[Y] = src[Y]; + dest[Z] = src[Z]; + break; + case CW90_DEG: + dest[X] = src[Y]; + dest[Y] = -src[X]; + dest[Z] = src[Z]; + break; + case CW180_DEG: + dest[X] = -src[X]; + dest[Y] = -src[Y]; + dest[Z] = src[Z]; + break; + case CW270_DEG: + dest[X] = -src[Y]; + dest[Y] = src[X]; + dest[Z] = src[Z]; + break; + case CW0_DEG_FLIP: + dest[X] = -src[X]; + dest[Y] = src[Y]; + dest[Z] = -src[Z]; + break; + case CW90_DEG_FLIP: + dest[X] = src[Y]; + dest[Y] = src[X]; + dest[Z] = -src[Z]; + break; + case CW180_DEG_FLIP: + dest[X] = src[X]; + dest[Y] = -src[Y]; + dest[Z] = -src[Z]; + break; + case CW270_DEG_FLIP: + dest[X] = -src[Y]; + dest[Y] = -src[X]; + dest[Z] = -src[Z]; + break; + default: + break; + } + + if (!standardBoardAlignment) + alignBoard(dest); +} diff --git a/src/utils.h b/src/utils.h index 4fca60f8c..c6ef6b8cb 100644 --- a/src/utils.h +++ b/src/utils.h @@ -1,3 +1,6 @@ #pragma once int constrain(int amt, int low, int high); +// sensor orientation +void alignSensors(int16_t *src, int16_t *dest, uint8_t rotation); +void initBoardAlignment(void); diff --git a/support/stmloader/stmbootloader.c b/support/stmloader/stmbootloader.c index d6312cd11..c159c7e9c 100644 --- a/support/stmloader/stmbootloader.c +++ b/support/stmloader/stmbootloader.c @@ -322,7 +322,7 @@ void stmLoader(serialStruct_t *s, FILE *fp, unsigned char overrideParity, unsign printf("Flashing device...\n"); jumpAddress = stmHexLoader(s, fp); if (jumpAddress) { - printf("\nFlash complete, cycle power\n"); + printf("\nFlash complete, executing.\n"); go: // send GO command