From c501d0e4e732e09a4a75d873e976b2c801ef7920 Mon Sep 17 00:00:00 2001 From: XaviDCR92 Date: Thu, 2 Aug 2018 00:54:01 +0200 Subject: + Started unit selection implementation. Not finished yet. --- BaseUnit.cpp | 58 ++ BaseUnit.h | 3 + Exe/POCKET.ELF | Bin 32916 -> 33516 bytes Exe/POCKET.HEX | 1663 ++++++++++++++++++++++++++------------------------- Exe/POCKET.MAP | 657 ++++++++++---------- HumanPlayer.cpp | 42 +- PocketEmpires.geany | 34 +- Sprite.cpp | 2 +- Sprite.h | 2 +- Unit.cpp | 2 + 10 files changed, 1298 insertions(+), 1165 deletions(-) diff --git a/BaseUnit.cpp b/BaseUnit.cpp index c06a6b4..8fde6b4 100644 --- a/BaseUnit.cpp +++ b/BaseUnit.cpp @@ -3,8 +3,10 @@ * ******************************************************************/ #include "BaseUnit.h" +#include "System.h" #include #include +#include /* ******************************************************************* * Defines @@ -67,6 +69,35 @@ void BaseUnit::handler(void) { } +/*****************************************************************//** + * + * \brief Periodical draw handler for BaseUnit class. + * + *********************************************************************/ +void BaseUnit::drawHandler(const uint8_t* const pu8SprData) +{ + if (isSelected()) + { + enum + { + WIDTH_DATA_INDEX, + HEIGHT_DATA_INDEX + }; + + /* Retrieve unit width from sprite data. */ + const uint8_t w = pgm_read_byte(&pu8SprData[WIDTH_DATA_INDEX]); + + /* Retrieve unit height from sprite data. */ + const uint8_t h = pgm_read_byte(&pu8SprData[HEIGHT_DATA_INDEX]); + + gb.display.drawRect(_x, _y, w, h); + } + else + { + /* BaseUnit object is not selected. Exit. */ + } +} + /*****************************************************************//** * * \brief Returns Unit alive flag. @@ -91,6 +122,21 @@ bool BaseUnit::isSelected(void) return _selected; } +/*****************************************************************//** + * + * \brief This function selects/deselects a \ref BaseUnit object + * according to requested state. + * + * \param bSelect + * If true, unit must be selected. Otherwise, unit + * must be deselected. + * + *********************************************************************/ +void BaseUnit::setSelected(const bool bSelect) +{ + _selected = bSelect; +} + /*****************************************************************//** * * \brief Returns Unit X coordinates. @@ -102,3 +148,15 @@ uint16_t BaseUnit::getX(void) { return _x; } + +/*****************************************************************//** + * + * \brief Returns Unit Y coordinates. + * + * \return Returns Unit Y coordinates. + * + *********************************************************************/ +uint16_t BaseUnit::getY(void) +{ + return _y; +} diff --git a/BaseUnit.h b/BaseUnit.h index 7eafcb3..269eaf3 100644 --- a/BaseUnit.h +++ b/BaseUnit.h @@ -33,10 +33,13 @@ class BaseUnit public: explicit BaseUnit(void); void handler(void); + void drawHandler(const uint8_t* const pu8SprData); void create(const uint16_t x, const uint16_t y); bool isAlive(void); bool isSelected(void); + void setSelected(const bool bSelect); uint16_t getX(void); + uint16_t getY(void); protected: uint16_t _hp; /**< Health points. */ diff --git a/Exe/POCKET.ELF b/Exe/POCKET.ELF index 5626364..963332b 100755 Binary files a/Exe/POCKET.ELF and b/Exe/POCKET.ELF differ diff --git a/Exe/POCKET.HEX b/Exe/POCKET.HEX index 1306a7b..1527a20 100644 --- a/Exe/POCKET.HEX +++ b/Exe/POCKET.HEX @@ -1,8 +1,8 @@ :100000000C940B020C9433020C9433020C943302C4 :100010000C9433020C9433020C9433020C9433028C -:100020000C9433020C9433020C9433020C94E014BD +:100020000C9433020C9433020C9433020C947B1521 :100030000C9433020C9433020C9433020C9433026C -:100040000C94FE150C9433020C9433020C9433027E +:100040000C9499160C9433020C9433020C943302E2 :100050000C9433020C9433020C9433020C9433024C :100060000C9433020C943302526573756D65005124 :100070007569740068006F000808FC848884A2D148 @@ -64,834 +64,853 @@ :1003F000030303030300000000230026002900007C :10040000000000250028002B000000000024002729 :10041000002A00007B0211241FBECFEFD8E0DEBF10 -:10042000CDBF11E0A0E0B1E0E8E6F7E302C005903F +:10042000CDBF11E0A0E0B1E0EEE9F8E302C0059035 :100430000D92A437B107D9F724E0A4E7B1E001C0D9 :100440001D92AC30B207E1F712E0CBE0D2E004C07D -:100450002197FE010E945D1ACA30D107C9F70E9498 -:1004600035020C94B21B0C9400000E9475020E948D -:100470004C05FDCFEF92FF920F931F93CF93DF9325 +:100450002197FE010E94F81ACA30D107C9F70E94FD +:1004600035020C944D1C0C9400000E9475020E94F1 +:10047000D805FDCFEF92FF920F931F93CF93DF9399 :100480007C01C0E0D0E000E010E0F701828190E064 :100490000817190768F4808191818C0F9D1F0097C0 :1004A00011F00E9401030F5F1F4FC15ADE4FEDCFC5 -:1004B00084E791E00E94E30D8823D1F366E08EE7A4 -:1004C00091E00E94C5068823E1F242E064E770E013 -:1004D00084E791E00E949E0E813099F6DF91CF91E2 -:1004E0001F910F91FF90EF9008950E949F1684E74F -:1004F00091E00C94E4111092C5011092C40189E6B8 +:1004B00084E791E00E947E0E8823D1F366E08EE708 +:1004C00091E00E9460078823E1F242E064E770E077 +:1004D00084E791E00E94390F813099F6DF91CF9146 +:1004E0001F910F91FF90EF9008950E943A1784E7B3 +:1004F00091E00C947F121092C5011092C40189E61C :1005000091E09093C3018093C2010895EF92FF920E :100510000F931F93CF93DF93CDB7DEB727970FB617 -:10052000F894DEBF0FBECDBF7C010E94B503F7017A -:10053000E35AFE4F80819181019769F461E082EC7A -:1005400091E00E94C40708E024E548E260E082EC04 -:1005500091E00E94040800E022E040E068E770E0DB -:10056000CE0101960E94120386EAE81A8EEFF80A7D -:10057000C7010E948505182FC7010E948205412FDF -:10058000682FCE0101960E945403CE0101960E946D -:100590001D0327960FB6F894DEBF0FBECDBFDF91C7 +:10052000F894DEBF0FBECDBF7C010E941204F7011C +:10053000E85AFE4F80819181019769F461E082EC75 +:1005400091E00E945F0808E024E548E260E082EC68 +:1005500091E00E949F0800E022E040E068E770E040 +:10056000CE0101960E946F0384EAE81A8EEFF80A22 +:10057000C7010E941106182FC7010E940E06412FC5 +:10058000682FCE0101960E94B103CE0101960E9410 +:100590007A0327960FB6F894DEBF0FBECDBFDF916A :1005A000CF911F910F91FF90EF9008950F931F939C -:1005B000CF93DF93EC018A010E94580389E091E018 -:1005C00099838883FE01E85AFE4F11830083CE0190 -:1005D000865A9E4F0E945E05FE01E45AFE4F10822D -:1005E00031961182108220E130E040E150E061E07C +:1005B000CF93DF93EC018A010E94B50389E091E0BB +:1005C00099838883FE01E85AFE4F11821082329689 +:1005D00011830083CE01845A9E4F0E94EA05FE01DA +:1005E000E25AFE4F108220E130E040E150E061E04D :1005F00070E0CE014896DF91CF911F910F910C943E -:100600008904CF93DF93EC010E945C06CE010E9427 -:100610009E03E881F9810190F081E02DCE01DF9108 -:10062000CF9109940F93FC017183608342832383EC -:100630000483158216820F9108951F93CF93DF9341 -:10064000EC0140E06B8182EC91E00E94C807809150 -:10065000FB019091FC01009719F12A81222329F0D6 -:100660006D810E94D403182F01C01D818A818823C7 -:1006700041F06E818091FB019091FC010E94D903B1 -:1006800001C08E81288139812115310549F0482F1B -:10069000612F82EC91E0DF91CF911F910C94CF09F3 -:1006A000DF91CF911F910895FC01658346830895E2 -:1006B000AF92BF92CF92DF92EF92FF920F931F9370 -:1006C000CF93DF93EC016B018FE091E099838883F6 -:1006D0007E0188E0E80EF11C80E1F70111928A9515 -:1006E000E9F78E01085E1F4F5E01F8EAAF1AFEEFD0 -:1006F000BF0A60E070E0C8010E947A04065F1F4FE5 -:100700000A151B05B1F7C114D10431F040E150E0E6 -:10071000B601C7010E94A31B43E050E06CE271E008 -:10072000CE010296DF91CF911F910F91FF90EF9034 -:10073000DF90CF90BF90AF900C949C1B0F931F93B2 -:10074000CF93DF938C01085E1F4FEC01C85ADE4F38 -:10075000C8010E94B704065F1F4F0C171D07C1F7A1 -:10076000DF91CF911F910F9108950F931F93CF9316 -:10077000DF938C01085E1F4FEC01C85ADE4FC801A1 -:100780000E94B904065F1F4F0C171D07C1F7DF91C8 -:10079000CF911F910F910895FC0110821282118256 -:1007A0001482138215820895FC018181681B862FB3 -:1007B0000895FC018381681B862F08950F931F9372 -:1007C000CF93DF93EC018B01CB010E94880581114F -:1007D00009C040E06CEFC801DF91CF911F910F91EC -:1007E0000C94640589819A818430910594F304976F -:1007F0009A838983DF91CF911F910F9108950F9371 -:100800001F93CF93DF93EC018B01CB010E948805EE -:10081000811109C040E064E0C801DF91CF911F91D0 -:100820000F910C94640589819A81811522E09207C9 -:100830008CF704969A838983DF91CF911F910F9152 -:1008400008950F931F93CF93DF93EC018B01CB019E -:100850000E948F05811109C04CEF60E0C801DF9153 -:10086000CF911F910F910C9464058B819C81181678 -:10087000190694F704979C838B83DF91CF911F9186 -:100880000F9108950F931F93CF93DF93EC018B018A -:10089000CB010E948F05811109C044E060E0C801CE -:1008A000DF91CF911F910F910C9464058B819C81F6 -:1008B000811522E092078CF704969C838B83DF914D -:1008C000CF911F910F910895FC0180810895FC0143 -:1008D000118210821282138215821482178216826C -:1008E0000895FC0181E08283758364835783468386 -:1008F000089508950F931F93CF93DF93EC018B011D -:100900000E94670419870887DF91CF911F910F918B -:100910000895EF92FF920F931F93CF93DF9300D030 -:100920001F92CDB7DEB77C018B01BA01A9010E94ED -:100930007104F701118700878091020190910301F2 -:10094000A091040189839A83AB83FE01E00FF11F1C -:10095000818190E0F701918380830F900F900F9039 -:10096000DF91CF911F910F91FF90EF9008950C941C -:100970007904EF92FF920F93CF93DF93CDB7DEB759 -:100980002D970FB6F894DEBF0FBECDBFFC012085BA -:100990003185233031052CF57C011986188682E8D3 -:1009A00090E09B878A871D861C86220F331FE1E01B -:1009B000F0E0EC0FFD1FE20FF31F6781708500E090 -:1009C00021E041E0CE0101960E941203F701468129 -:1009D0006481CE0101960E945403CE0101960E94CB -:1009E0001D032D960FB6F894DEBF0FBECDBFDF916D -:1009F000CF910F91FF90EF900895EF92FF920F9398 -:100A00001F93CF93DF93CDB7DEB7C457D1400FB656 -:100A1000F894DEBF0FBECDBF7E0180EAE81A8EEFEC -:100A2000F80A8AE0D7011D928A95E9F7B70184E7B1 -:100A300091E00E943F128E0106591E4FC8010E948C -:100A4000CC03A801B701FE0131967F01CF010E94BE -:100A5000D602FE01E059FE4F85E0DF011D928A9526 -:100A6000E9F781E08283F182E082148303831093AB -:100A7000FC010093FB01CF010E943A02CC58DE4FEB -:100A80000FB6F894DEBF0FBECDBFDF91CF911F919F -:100A90000F91FF90EF9008956EEB70E084E791E086 -:100AA0000E94671143E068EB70E084E791E00E94E8 -:100AB0009E0E811102C00C94FD04089528E2FC01F1 -:100AC000208326E121830895FC019081262F062EA4 -:100AD000000C330B290F311D97FD3A952932310552 -:100AE00010F4960F90838181242F042E000C330B79 -:100AF000280F311D87FD3A952731310510F4840FF9 -:100B000081830895FC0180810895FC01818108950D -:100B1000FC0181E09081983209F080E0089521E0A5 -:100B2000FC018181863109F020E0822F089508952B -:100B3000DC01A35ABE4F2D913C911197FC01E45A60 -:100B4000FE4F2230310539F48081853020F081E07C -:100B500090E08D939C9310820895FC01E35AFE4F20 -:100B6000208131812230310531F4319780818F3FEE -:100B700011F08F5F80830895DB01AA0FBB1FAA0FBE -:100B8000BB1FA75BBE4FED91FC91119712962D9163 -:100B90003C911397A90141705527309719F44115DD -:100BA000510589F035952795452B51F0DC01A20FB1 -:100BB000B31F4D915C91E40FF51F0190F081E02D82 -:100BC000820F931F09940895EF92FF920F931F9342 -:100BD000CF93DF938C01EB017C0188EAE81A8EEF5A -:100BE000F80AD7018D919C910E946404811135C04F -:100BF000DE01AA0FBB1FAA0FBB1FA35DBE4FED9165 -:100C0000FC91119712968D919C9113979C012170E4 -:100C10003327309719F421153105F9F0959587950B -:100C2000232B61F0E701A881B981A80FB91F2D918D -:100C30003C91E20FF31F0190F081E02DB801665A5C -:100C40007E4FD7012D913C91820F931FDF91CF9161 -:100C50001F910F91FF90EF900994DF91CF911F9119 -:100C60000F91FF90EF900895DB01AA0FBB1FAA0F11 -:100C7000BB1FAF5EBE4FED91FC91119712962D9167 -:100C80003C911397A90141705527309719F44115EC -:100C9000510589F035952795452B51F0DC01A20FC0 -:100CA000B31F4D915C91E40FF51F0190F081E02D91 -:100CB000820F931F099408950F931F93CF93DF938F -:100CC0008C01C0E0D0E06C2F8EE791E00E94E60638 -:100CD000BE01882341F0C8010E94BC05BE01C801C5 -:100CE0000E94E40503C0C8010E9434062196C73063 -:100CF000D10549F7DF91CF911F910F910895FC0124 -:100D000088E0808389E0818387E0828386E0838333 -:100D100084E0848382E0858381E186830895FF9265 -:100D20000F931F93CF93DF93EC018C01095F1F4F4B -:100D3000FF24FA9462E088810E947F1788810E94D4 -:100D4000EA172F81892B19F42F5F2F8307C02223E5 -:100D500049F02F3F11F41F8201C0FF8260E08881BB -:100D60000E947F172196C017D10721F7DF91CF91FD -:100D70001F910F91FF900895FC01E60FF11D81E096 -:100D80009781913009F080E00895FC01E60FF11D94 -:100D900081E097819F3F09F080E00895262F30E0A1 -:100DA000FC01E20FF31F423030F49781915081E053 -:100DB0009E3F58F009C087818F3F31F0642F0E9419 -:100DC000DD1981E0913009F080E00895860F911DD2 -:100DD000FC0187818F3F09F480E008958EBD0DB43A -:100DE00007FEFDCF8EB50895DC01643508F057C0CD -:100DF000403308F054C090969C919097E42FE5956D -:100E0000E595E595262F062E000C330B542F5770D1 -:100E10009230A1F4D90184E5E802A00DB11D11249E -:100E2000A350BE4F8C9190E0052E02C095958795FA -:100E30000A94E2F78095982F91700CC0933051F48A -:100E40001C968C916427062E000C770B682760FF98 -:100E500003C014C0911112C084E5E802200D311DB9 -:100E60001124F901E350FE4F81E090E001C0880FAA -:100E70005A95EAF780959081892310C084E5E802AD -:100E8000200D311D1124F901E350FE4F81E090E067 -:100E900001C0880F5A95EAF79081892B80830895C5 -:100EA0001F93CF93DF93EC01162FF89460E08F85AA -:100EB0000E94BB17888918161CF460E00E94BB17BB -:100EC000812F0E94EE06888918161CF461E00E94AA -:100ED000BB177894DF91CF911F91089528EF31E0EF -:100EE000EDEFF1E0DF01A9011D9241505040E1F723 -:100EF000DC0119961C9219971A961C920895CF92AC -:100F0000DF92EF92FF920F931F93CF93DF93EC0149 -:100F10008C858F5F8C878DEFE82E81E0F82E10E0B6 -:100F2000612F6064CE010E94500760E8CE010E94EC -:100F3000500761E08F850E94BB17888918161CF442 -:100F400060E00E94BB17670104E5F60181916F0123 -:100F50000E94EE060150C9F7888918161CF461E05A -:100F60000E94BB171F5FF4E5EF0EF11C1630C1F6AF -:100F700060E4CE01DF91CF911F910F91FF90EF9030 -:100F8000DF90CF900C945007FC0160A361A30895FB -:100F9000FC0160A341A30895EF92FF920F931F936A -:100FA000CF93DF938C01D62FF42EE22EC0E0CE1526 -:100FB00044F44F2D4C0F6D2FC8010E94F406CF5FF3 -:100FC000F6CFDF91CF911F910F91FF90EF90089591 -:100FD000EF92FF920F931F93CF93DF938C01F62E26 -:100FE000D42FE22EC0E0CE1544F46F2D6C0F4D2FA0 -:100FF000C8010E94F406CF5FF6CFDF91CF911F9119 -:101000000F91FF90EF900895EF92FF920F931F932F -:10101000CF93DF937C01C62F142FD22F0E94E807B5 -:101020004FEF400F410F2D2F6C2FC7010E94E80793 -:10103000202F412F6C2FC7010E94CC076FEF6D0F3F -:101040006C0F202F412FC701DF91CF911F910F917E -:10105000FF90EF900C94CC07DF92EF92FF920F93EA -:101060001F93CF93DF937C01D62FD22EC42F002E57 -:10107000000C110B040F111D47FD1A958C2F0C2E1F -:10108000000C990B8017910744F42D2D4C2F6D2FD8 -:10109000C7010E94E807CF5FF1CFDF91CF911F9189 -:1010A0000F91FF90EF90DF9008958F929F92AF92F3 -:1010B000BF92CF92DF92EF92FF920F931F93CF9345 -:1010C000DF937C01162FD42EC22F81E0C82EC21AC6 -:1010D000B22EB194BB0CD0E0802F8470A82E802F4C -:1010E0008270982E802F8870882E0170DC170CF08B -:1010F0004DC0C7FC04C0C150B394B394CB0CDF5FA8 -:101100008D2F880F8F5FC80EAA2071F04D2D4C0FC8 -:10111000612F6D0FC7010E94F4064D2D4D0F6C2FEE -:10112000610FC7010E94F406992071F04D2D4C1BF0 -:10113000612F6D0FC7010E94F4064D2D4D1B6C2FC2 -:10114000610FC7010E94F406882071F04D2D4D0FEC -:10115000612F6C1BC7010E94F4064D2D4C0F612FAF -:101160006D1BC7010E94F406002309F4BFCF4D2D6B -:101170004D1B612F6C1BC7010E94F4064D2D4C1BAB -:10118000612F6D1BC7010E94F406B0CFDF91CF9194 -:101190001F910F91FF90EF90DF90CF90BF90AF9095 -:1011A0009F908F9008958F929F92AF92BF92CF920F -:1011B000DF92EF92FF920F931F93CF93DF936C0117 -:1011C000A62E942EC22F11E0121BF22EF194FF0CCA -:1011D00083E0B82EBE0CD1E0802F8170882EE3947E -:1011E00002708FEF8D0F8C17BCF517FD04C0C15036 -:1011F000F394F3941F0D8D2F880F8F5F180F8820A5 -:1012000091F02C2F220F2E0D492D4C1B6D2F6A0DA6 -:10121000C6010E94CC072B2D492D4D1B6C2F6A0D4A -:10122000C6010E94CC07011104C0DF5FB394B394E0 -:10123000D8CF2C2F220F2E0D492D4C1B6A2D6D1B44 -:10124000C6010E94CC072B2D492D4D1B6A2D6C1B0E -:10125000C6010E94CC07E9CFDF91CF911F910F917A -:10126000FF90EF90DF90CF90BF90AF909F908F90C6 -:1012700008959F92AF92BF92CF92DF92EF92FF922A -:101280000F931F93CF93DF936C01C62FD42FB22EF1 -:10129000AE2CAA0C922E9A18FE2CF60E292D6F2D2C -:1012A0000E94E8071FEF100F1D0F292D412F6F2DF2 -:1012B000C6010E94E8070A19DE0D202F4D2F6C2F62 -:1012C000C6010E94CC07CB0D6FEF6C0F202F4D2F66 -:1012D000C6010E94CC0701E02E2D4D2F6F2DC601B7 -:1012E0000E9455088E2D8095C80F02E02E2D4D2F9F -:1012F0006C2FC6010E945508D12FDE1904E02E2D57 -:101300004D2F6C2FC6010E94550808E02E2D4D2F41 -:101310006F2DC6010E945508DF91CF911F910F914B -:10132000FF90EF90DF90CF90BF90AF909F90089587 -:10133000AF92BF92CF92DF92EF92FF920F931F93E3 -:10134000CF93DF936C01B62EF42E122FC02FDE2D1B -:10135000EE0CAD2EA60E2E196A2D0E942C08C1503F -:10136000CE19FD0E6FEF6B0D610F6D1BEC2E01E0C2 -:101370002D2F4F2DC6010E94D30802E02D2F4F2D97 -:101380006A2DC6010E94D308DF91CF911F910F9162 -:10139000FF90EF90DF90CF90BF90AF9008952F9285 -:1013A0003F925F926F927F928F929F92AF92BF9285 -:1013B000CF92DF92EF92FF920F931F93CF93DF9321 -:1013C000EC01F901E4903196849164350CF019C177 -:1013D0000E2C000CFF08062F062E000C110BF70137 -:1013E000E00FF11F1E161F060CF00BC140330CF06E -:1013F00008C1A82FC42E042E000CDD085601A80E2B -:10140000B11C87FDBA941A141B040CF0FAC02E5FAD -:101410003F4F570197E0A90EB11CB7FE04C057011A -:10142000BEE0AB0EB11CB3E0B594A794BA95E1F75A -:1014300047FF0AC0A42FA80FAC9CC001AD9C900D23 -:101440001124281B390B40E08A2F0A2E000C990B1F -:10145000840F911D47FD9A95C19714F0A0E3A41B3A -:10146000F8A067FD60E0E535F10514F0E4E5F0E093 -:101470009E2FCC85C427C62E062E000CDD08F60153 -:10148000E01BF10B8F014F01F7E08F229924E0E878 -:10149000F0E002C0F595E7958A94E2F77E2F17FFFA -:1014A00002C0095F1F4FF3E015950795FA95E1F724 -:1014B000200F311F542F577081E001C0880F5A95BB -:1014C000EAF7459545954595F601B4E54B02E00DE3 -:1014D000F11D1124AF0143505E4FD0E02A2EAA0F18 -:1014E0003308EE24E394BB24ED2FF0E0E215F3057E -:1014F0000CF087C0F9015490F1E0FF121AC0962E4B -:101500008A01E72F6901991608F072C08E2E852096 -:1015100021F0D8018C90882A8C92E69531F4BFEFA7 -:10152000CB1ADB0AF6015490E0E893940F5F1F4F4B -:10153000EACFF1101CC0782E7094962E8A01E72F06 -:101540006901991608F054C08E2E852021F0D8012B -:101550008C9087208C92E69531F4BFEFCB1ADB0A92 -:10156000F6015490E0E893940F5F1F4FEACFF3E049 -:10157000FF1629F0962E8A01E72F690137C0682EE1 -:101580006094862E8A01972E69018916D8F4E92D78 -:10159000E52159F0D801EC917C2E782470FE02C030 -:1015A000E82B02C0E621D801EC93969439F4BFEF02 -:1015B000CB1ADB0AF6015490E0E89E2E83940F5F6D -:1015C0001F4FE3CFCE2514C08E2E852021F0D801E9 -:1015D0008C9088268C92E69531F4BFEFCB1ADB0A0B -:1015E000F6015490E0E893940F5F1F4F991660F353 -:1015F000880F19F44C5A5F4F81E0DF5F2A0D3B1DC5 -:1016000073CFDF91CF911F910F91FF90EF90DF90FB -:10161000CF90BF90AF909F908F907F906F905F9092 -:101620003F902F900895DC01FB0184918F5F149609 -:101630008C9314973196E491EF5F1596EC93159780 -:101640006E5F7F4F5F967C936E935E970895EF92E7 -:101650000F93CF93DF93EC014E876D872F87E98A35 -:10166000088B81E0888788A319A28F836DEC70E0D6 -:10167000CE010E94130B0E949A1981E00E94B019BA -:1016800085E00E94BE198CE00E94B91961E08E8548 -:101690000E947F1761E08D850E947F1761E08F8532 -:1016A0000E947F17898918161CF461E00E947F1739 -:1016B000888918161CF461E00E947F178989181622 -:1016C0006CF460E00E94BB176AE070E080E090E09C -:1016D0000E94791661E089890E94BB178D85082ECA -:1016E000000C990BFC01EF51FC4FE491F0E0EE0F80 -:1016F000FF1FE150FC4F259134913D8B2C8BFC0159 -:10170000E353FC4FE491EB8F8E85082E000C990B70 -:10171000FC01EF51FC4FE491F0E0EE0FFF1FE150B0 -:10172000FC4F259134913B8B2A8BFC01E353FC4FFA -:10173000E491EA8F8889082E000C990BFC01EF5187 -:10174000FC4FE491F0E0EE0FFF1FE150FC4F2591BC -:1017500034913F8B2E8BFC01E353FC4FE491EC8FD3 -:101760008F85082E000C990BFC01EF51FC4FE49182 -:10177000F0E0EE0FFF1FE150FC4F25913491398FBF -:10178000288FFC01E353FC4FE491ED8F61E2CE0121 -:101790000E94500764E1CE010E9450078B8587FFAD -:1017A00002C08FE78B876B856068CE010E9450076F -:1017B00060E2CE010E9450076CE0CE010E9450070B -:1017C000CE01DF91CF910F91EF900C947F076F9234 -:1017D0007F928F929F92AF92BF92CF92DF92EF92C1 -:1017E000FF920F931F93CF93DF93EC0164350CF0BE -:1017F00084C040330CF081C0EC81F0E031970E9F43 -:10180000C0010F9F900D1124860F911D67FD9A95C1 -:10181000181619060CF071C03D81842F042E000C9F -:10182000990B039F800D911D1124181619060CF0B9 -:1018300064C0D02EB42EC62E88A0A62E962EE22EE0 -:10184000F12CEA2DEC190E2E000CFF0B8C8190E090 -:10185000E817F9070CF050C00197E817F90779F07D -:10186000E89E9001E99E300DF89E300D1124E20FA4 -:10187000F31F8E8D9F8DE80FF91F149101C010E0AA -:101880007B2C6B2C272D2B19022E000C330B8D81FA -:1018900090E0281739076CF510FF11C081E0D812CD -:1018A00006C0472D6A2DCE010E94F4061EC00D2DE4 -:1018B0002D2D462D692DCE010E942C0816C089A120 -:1018C00098A1891791F088A381E0D81206C0472D0E -:1018D0006A2DCE010E94F40607C00D2D2D2D462D38 -:1018E000692DCE010E942C0888A216956D0C739468 -:1018F000C9CF9D0CA394A5CF88A2DF91CF911F9152 -:101900000F91FF90EF90DF90CF90BF90AF909F909E -:101910008F907F906F9008950F93CF93DF93EC019A -:101920006A3011F428851EC06D3019F1262F088504 -:101930004A8569850E94E70B28853C818985239F1C -:10194000800D112489879F81992399F0082E000C1E -:10195000990B44E550E0239F401951091124481781 -:1019600059073CF49D818A85299F800D11248A871F -:10197000198681E090E0DF91CF910F9108958F92C9 -:101980009F92AF92BF92CF92DF92EF92FF920F930E -:101990001F93CF93DF93EC015C0186E8A80EB11C86 -:1019A000D5019C91992309F44DC09C3018F41CE09A -:1019B000191B01C010E0FE01EA5AFF4F81E080834D -:1019C0006E01BEE4CB0ED11C60E0C6010E94C407CC -:1019D0004E01E3E58E0E911CD4018C9103E0080FBB -:1019E0009DE2F92E4F2D481B410F23E0E22E24E506 -:1019F00060E0C6010E94980961E0C6010E94C40728 -:101A0000F401808103E0080F4F2D481B410F24E5AE -:101A100060E0C6010E943909FE01E95AFF4F84E0E7 -:101A200080833196D4018C91181B115D1083CC57A3 -:101A3000DF4F68817981C6010E945018F5018081CD -:101A400081508083DF91CF911F910F91FF90EF9094 -:101A5000DF90CF90BF90AF909F908F900895CF92DE -:101A6000DF92FF920F931F93CF93DF93FC01248D9E -:101A7000358D232B09F49FC0EC018C01025B1F4FB5 -:101A800040E061E0C8010E94C807FE01E95AFF4F2B -:101A9000DE01AE5ABF4F9C9185E5891B808331964C -:101AA0001082698D613009F463C028F0888D65303B -:101AB00008F074C06FC0CE0185960E94851381E046 -:101AC000FE01EA5AFF4F80836DEC70E0C8010E946E -:101AD000130B1D8E1C8EFE01EC5AFF4F108288EAFC -:101AE000F82E6E01FAE0CF0ED11CCE010E94E30D5C -:101AF0008823D9F36CEB72E0C8010E9450186A8DFC -:101B00007B8D4AE050E0C8010E94031967EA72E049 -:101B1000C8010E9450186F2D62956F7070E04AE006 -:101B200050E0C8010E9451196CE972E0C8010E949E -:101B3000501864E0C6010E94BC0681113CC0FA94B2 -:101B4000F110D3CF60E0CE010E94581583B7817F9A -:101B5000846083BF83B7816083BF83B7816083BFA5 -:101B6000889583B78E7F83BF83B78E7F83BFBDCFBA -:101B7000CF58DF4F88819981AA81BB818F709927C7 -:101B8000AA27BB270897A105B10510F467E009C093 -:101B900068E707C0882379F06B5F03C0882359F09A -:101BA0006FE2C801DF91CF911F910F91FF90DF90FD -:101BB000CF900C947318DF91CF911F910F91FF90EC -:101BC000DF90CF9008958F929F92AF92BF92CF9265 -:101BD000DF92EF92FF920F931F93CF93DF93EC016D -:101BE0007C0180E8E80EF11CF70180809180A280E2 -:101BF000B3800E944816861A970AA80AB90A6E018D -:101C0000FFE7CF0ED11CF601808190E0A0E0B0E0AC -:101C10008E0105581F4F88159905AA05BB0550F47C -:101C2000F80180819181A281B381892B8A2B8B2B32 -:101C300009F040C0F80180819181A281B381892B94 -:101C40008A2B8B2BA9F57E01F5E2EF0EF11CC70163 -:101C50000E948213C7010E94EE13C7010E94B314B1 -:101C6000CE010E94BF0CCE010E942F0D7E018EE49A -:101C7000E80EF11CC7010E947F07FE01EC5AFF4FDE -:101C80008081811103C0C7010E946E070E94541613 -:101C9000F8016083718382839383FE01EB58FF4FC9 -:101CA000C958DF4F28813981621B730B71836083B0 -:101CB00080E037C00E944816F6012081DC01CB018C -:101CC000820F911DA11DB11DF70180839183A28315 -:101CD000B383FE01EF58FF4F80819181A281B381D0 -:101CE0000196A11DB11D80839183A283B383F80166 -:101CF00010821182128213820E945416FE01E9584A -:101D0000FF4F6083718382839383CE010E945C15B1 -:101D1000CE010A960E948F06CE0148960E94C515F4 -:101D200081E0DF91CF911F910F91FF90EF90DF90B5 -:101D3000CF90BF90AF909F908F9008952F923F9239 -:101D40004F925F926F927F928F929F92AF92BF92CB -:101D5000CF92DF92EF92FF920F931F93CF93DF9377 -:101D6000CDB7DEB765970FB6F894DEBF0FBECDBF17 -:101D70006C016A8B7B8B4B83FC01EC5AFF4F10820A -:101D80002FEF2D831C821D8A10E31C8A5C013AE030 -:101D9000A30EB11C1C0183E5280E311CBF972F0137 -:101DA000242F30E03F832E83C601895A9F4F9987A5 -:101DB0008887F396FB87EA8796012A5A3F4F3F8729 -:101DC0002E870297998B888B3A973F01C6010E9414 -:101DD000E30D8823D9F364E0C5010E94BC06012FFE -:101DE000110F110B811144C065E0C5010E94BC06B2 -:101DF00081113EC066E0C5010E94BC06811138C059 -:101E00002C8121114CC044E063E0C5010E94CE0644 -:101E1000882331F03C893F5F3C8BC2010E94301522 -:101E200044E061E0C5010E94CE06882331F08C8930 -:101E300081508C8BC2010E943015EC898E2F0E2EA2 -:101E4000000C990B2E813F818217930731F0E7FF39 -:101E500005C03B8131503C8B01C01C8AF10180815F -:101E6000F4E0F80F2C89829FF0191124FD8B22C019 -:101E7000F101F081F98364E0C5010E94BC0688236A -:101E800009F48CC0C2010E940415FC89FD832981DC -:101E900021953B81239F302D112432503D8BC80169 -:101EA0003D89831B910937FD939502970CF47AC005 -:101EB00081E08C839D89090F111D97FD1A9517FFED -:101EC00002C00F5F1F4FF801F595E795FA83E9838C -:101ED0000981102FE885F9851082EA85FB8500834A -:101EE00081E0EE85FF858083E889F9891082EA88A0 -:101EF000FB88812C912C2C89022E000C330B3D8702 -:101F00002C878E819F818816990609F1EC85FD85C5 -:101F1000E815F90579F423E0E885F9852083F101D6 -:101F20008081F02F2C89289FF00D11248F2FEA85B6 -:101F3000FB858083F70165917491C3010E948E181F -:101F4000FFEF8F1A9F0A22E0E20EF11CDACF60E069 -:101F5000C3010E94C407F10180814981FC89F89F77 -:101F6000400D1124415024E560E0C3010E94E807C0 -:101F700061E0C3010E94C407F101808103E0080F02 -:101F80004981FC89F89F400D1124425083E0E82EDE -:101F900024E560E0C3010E94390918CFC2010E9404 -:101FA0001A1575CF8D8165960FB6F894DEBF0FBEFA -:101FB000CDBFDF91CF911F910F91FF90EF90DF90F8 -:101FC000CF90BF90AF909F908F907F906F905F90D9 -:101FD0004F903F902F9008950F931F93CF93DF93CF -:101FE000EC018C01025B1F4FC8010E946E0764E781 -:101FF00072E0C8010E945018C8010E947F0783E068 -:102000000E94BE198DE691E0EEEFFFE30995FE0117 -:10201000EC5AFF4F10826FE472E0C8010E948E18E4 -:10202000C8010E947F072A96CE010E948F0664E0B5 -:10203000CE010E94BC06811107C062E370E080E01F -:1020400090E00E947916F0CFDF91CF911F910F9110 -:1020500008952F923F924F925F926F927F928F924C -:102060009F92AF92BF92CF92DF92EF92FF920F9327 -:102070001F93CF93DF93CDB7DEB729970FB6F894B0 -:10208000DEBF0FBECDBF3C0120E7620E711CF30125 -:102090002081222309F402C15A011B0199878887F4 -:1020A0007A9781E08083E885F985EB5AFF4F1082AB -:1020B000E885F985EC5AFF4F1082E885F985108E86 -:1020C0008F01025B1F4F61E0C8010E94C407888531 -:1020D00099858D5A9F4F9D838C83C884D98497E5B9 -:1020E000C90ED11CE884F984E8E5EE0EF11C888560 -:1020F00099858E5A9F4F9A838983E885F985EF5891 -:10210000FF4FFF83EE8388849984FAE08F0E911C41 -:102110004884598425E2420E511C888599850E9485 -:10212000E30D8823D1F3F1018491882329F0EC8118 -:10213000FD81F081FB8301C01B822EED32E040E087 -:1021400060E0C8010E94CF09A114B10439F04B81AD -:10215000445F950160E0C8010E94CF09F60110823A -:102160002CE0F7012083B101C8010E945018E981D9 -:10217000FA818081982F990F890F81958D5AF601E8 -:102180008083EC81FD818081982F990F890F819543 -:10219000835DF7018083EE81FF81808184FF03C02E -:1021A0006AED72E002C066ED72E0C8010E948E180E -:1021B000E981FA818081982F990F890F81958D5A35 -:1021C000F6018083F70180818F5F8083E885F98540 -:1021D00082A5882319F062ED72E002C06EEC72E015 -:1021E000C8010E948E18E981FA818081982F990F89 -:1021F000890F81958D5AF6018083F70180818F5F69 -:1022000080836AEC72E0C8010E948E1865E0C40108 -:102210000E94BC06882351F0E885F98562A56F5FAE -:10222000C2010E944615C2010E94301564E0C4013B -:102230000E94BC06811113C0F3012081422F50E09F -:1022400060E070E0EE81FF8180819181A281B381A5 -:1022500084179507A607B707A8F02F3F99F08FEFCF -:10226000F3018083088519850B5D1F4F60E0C8016D -:102270000E942313C8010E94041581E0E885F985B6 -:10228000808F0CC066E0C4010E94BC06882309F45C -:1022900044CF888599850E94EC0F35CF29960FB6DB -:1022A000F894DEBF0FBECDBFDF91CF911F910F918C -:1022B000FF90EF90DF90CF90BF90AF909F908F9066 -:1022C0007F906F905F904F903F902F90089540E0E7 -:1022D00050E00C942910E0E8F7E72591349181E073 -:1022E0002130304C09F080E00895CF93DF93EC016A -:1022F0000E946B119E01275A3F4FDE01A059BF4F2C -:10230000882309F43CC0E6E9F7E78491F90180836A -:10231000E7E9F7E7E491EC83E8E9F7E7E491ED8397 -:10232000E9E9F7E7859194919F838E83EBE9F7E7DD -:102330008591949199878887EDE9F7E7E491EBA778 -:10234000EEE9F7E7E491EAA7EFE9F7E7E491EC9328 -:10235000E0EAF7E7859194919D8F8C8FE2EAF7E7A9 -:10236000859194919F8F8E8FE4EAF7E78591949100 -:1023700099A388A3E6EAF7E78591949120C08CE3BE -:10238000F90180831C828FEF8D8320E233E03F834D -:102390002E8324ED33E03987288791E09BA79AA705 -:1023A0008C938CEA9DE09D8F8C8F8EED9DE09F8FAE -:1023B0008E8F84E79EE099A388A38CE39FE09BA384 -:1023C0008AA3DF91CF910895CF92DF92EF920F937E -:1023D000CF93DF93EC01FC01E158FF4F82E3808350 -:1023E000349781E090E0A0E0B0E080839183A28305 -:1023F000B3833B978FEF8083CE010E947511CE018E -:102400000E9454156FEFCE010E9458156E018AE0AC -:10241000C80ED11CC6010E947F06C6010E948F060D -:10242000CE0148960E94BB158EE0E82E0FE020E119 -:102430004BE06DE0CE01825B9F4F0E94270BA5967B -:10244000CE010E948F1265E0C6010E94BC0688235F -:1024500051F060E0CE01DF91CF910F91EF90DF90CE -:10246000CF900C94461540E06EE473E0CE01DF910E -:10247000CF910F91EF90DF90CF900C942E13CF93CC -:10248000DF93D62FC72F0E946B11882359F0AD2FF1 -:10249000BC2FEBE8F7E784918D933196E53987E718 -:1024A000F807C9F7DF91CF91089550E0DA01AA0F3C -:1024B000BB1FA80FB91F1F963C911F9750962C91D8 -:1024C0005097E32FF22FE60FF11DE60FF11D259136 -:1024D000349190963C932E935F97F9016591749196 -:1024E000FC017481769F602D1124DC01A40FB51FBF -:1024F00091966C939197F90185919491E92FF0E071 -:10250000862F90E0E817F90720F4F901859194915E -:10251000692F769F602D112492966C93089521E087 -:10252000FC01248324E020A72DEA33E0308B2787A9 -:1025300040E060E00E94551261E070E083E00E949C -:10254000F716E1EBF0E08081887F81608083F8946A -:1025500010928000E1E8F0E0108210928500109265 -:10256000840088E191E090938900809388008081C5 -:1025700088608083808181608083EFE6F0E08081E5 -:1025800082608083789408950F93FC01842F011159 -:102590002AC06230D9F050F4662399F0613019F501 -:1025A00040E0682FCF010F910C9455126330A9F0D1 -:1025B0006430C9F46481649F802D1124858F268F37 -:1025C00012C04B3008F08AE0868B0DC06481649F96 -:1025D000802D1124818F228F06C06481649F802DFD -:1025E0001124838F248F0F910895FC0121110EC0B7 -:1025F000648B8481849F402D1124458B15A214A2E5 -:1026000013A281E0878B80930104108E089580913E -:102610000104882319F08091FE0301C080E08093BB -:10262000B4000895FC0161110DC0178A158A14A227 -:1026300013A2108E1092FE031092FF031092010459 -:102640000C9407130895CF93DF93611104C0EC013C -:102650000E9412131982DF91CF9108950F931F9357 -:10266000CF93DF93411110C08B01EC0160E00E9419 -:1026700023131E870D871B8A1A8A81E0898389E0CC -:102680008E8B198E1B8E1D8EDF91CF911F910F9116 -:102690000895CF93DF93DC01611131C08C918823C1 -:1026A00071F111968C911197811129C019968C9115 -:1026B000199717962C91179718969C911897E22FB7 -:1026C000F92FE80FF11DE80FF11D259134912F3FEF -:1026D0008FEF380711F41C9212C0ED013C873327AD -:1026E000220F331FEA85FB85E20FF31F659174917A -:1026F00040E0CD010E942E1389858F5F8987DF918D -:10270000CF91089560E00C94491360E00C9423137A -:102710000F93CF93DF93EC0161115CC08981882313 -:1027200009F458C08D89811155C02D853E85EA89EF -:10273000FB89EE0FFF1FE20FF31F85919491009725 -:1027400001F58989813021F41B8A1A8AF90110C0A8 -:102750001982888160E0882371F0CE010E944913BC -:10276000EA89FB89EE0FFF1F8D859E85E80FF91F13 -:102770008591949106C0CE01DF91CF910F910C9479 -:102780001213BC01769567957695679580FF17C003 -:10279000AC0186E0569547958A95E1F7292F269555 -:1027A0002695269520514F716F7000E0CE010E9452 -:1027B000C412EA89FB893196FB8BEA8BD3CF492F70 -:1027C0006F7320E0CE010E94F5128A899B890196E1 -:1027D0009B8B8A8BDF91CF910F91089560E00C94D1 -:1027E0008813CF93DF93EC016111BAC08F898823DE -:1027F00009F4B6C09D89911105C0CE01DF91CF913A -:102800000C94121391509D8B8DA1811139C02BA175 -:102810003CA12F5F3F4FC901880F991FEF8DF8A191 -:10282000E80FF91F65917491862F87708EA3AB0115 -:1028300063E0569547956A95E1F7CA0196958795A5 -:10284000972F969596959FA38F739C81899F802D36 -:1028500011248DA341704093FD033CA32BA389A1B8 -:1028600090E02817390760F02AA1222329F0821B63 -:1028700091099CA38BA304C060E0CE010E941213B7 -:102880008DA181508DA3888D21E0280F288F4C8940 -:102890003FA1340F8C85380F3A836B8D662361F02E -:1028A00070E0822F022E000C990B0E94FD198C8D76 -:1028B000869F300D11243A838A8190E0CB966BE39A -:1028C00070E00E94FD198A833E893B83698D6623EF -:1028D00071F0062E000C770B822F022E000C990B44 -:1028E0000E94FD198A8D869F300D11243B836D8DCA -:1028F000662389F0822F220F990B70E00E94FD1948 -:10290000CB0162E070E00E94FD192E8D9B81289F13 -:10291000900D11249B834F3341F08B818A300CF052 -:1029200089E087FD80E08B8301C01B82F894EA81F7 -:10293000F0E0E45AFC4FE491E09300048D8198A507 -:10294000899F802D11249B81899F802D11249EA118 -:10295000899F802D11248093FF038093FE03789438 -:10296000DF91CF91089560E00C94F1136091FF0323 -:10297000662329F1809102048F5F80930204909175 -:1029800000048917E0F081E090910104911180E04A -:1029900080930104109202048091FD03882369F062 -:1029A0008091000193E4899F802D1124895B80939D -:1029B00000010E94DD199093FE030C940713089503 -:1029C0001F920F920FB60F9211242F933F934F93A4 -:1029D0005F936F937F938F939F93AF93BF93EF9387 -:1029E000FF930E94B614FF91EF91BF91AF919F9119 -:1029F0008F917F916F915F914F913F912F910F90A8 -:102A00000FBE0F901F901895CF93DF93EC0160E0FD -:102A10000E94231385EA93E09E878D871B8A1A8A7A -:102A200081E0898389E08E8B198E1B8E1D8EDF914C -:102A3000CF910895CF93DF93EC0160E00E942313C0 -:102A40008DE993E09E878D871B8A1A8A81E08983AE -:102A500089E08E8B198E1B8E1D8EDF91CF9108958C -:102A6000CF93DF93EC0160E00E94231387E993E0AA -:102A70009E878D871B8A1A8A81E0898389E08E8BE5 -:102A8000198E1B8E1D8EDF91CF910895FC01262F8C -:102A9000660F330B9681692F70E06F5F7F4FC9011E -:102AA0000E94FD198583089521E0FC01208308958B -:102AB00070E085E00C94F716AF92BF92CF92DF9250 -:102AC000EF92FF920F931F93CF93DF93EC018981D5 -:102AD0009A812FE0289F8001299F100D112485E104 -:102AE0000E94DA16800F911F24E0969587952A950B -:102AF000E1F79A8389832881222391F1EC81AD80CB -:102B0000B12CC12CD12CA885B9857D0100E010E045 -:102B10006E817F819B0140E050E08617970728F087 -:102B2000BC01A817B90708F4BD0180E090E01F922E -:102B30001F921F92EF930E9458196B830F900F9072 -:102B40000F900F9070E085E0DF91CF911F910F9172 -:102B5000FF90EF90DF90CF90BF90AF900C94F7165E -:102B6000DF91CF911F910F91FF90EF90DF90CF9069 -:102B7000BF90AF900895FC018CE39FE09383828324 -:102B800084E0818381E084870895CF93DF93FC0103 -:102B900024813581232B79F1EC0184858F7141F5F6 -:102BA00084E10E94DA16BC01990F880B990B0E94F0 -:102BB000A31A26EE3FE34EEC50E40E942F1B0E9426 -:102BC000721A9B017B836A83672B81F084E089837F -:102BD000FE01349680E0419151912417350710F49D -:102BE000898309C08F5F8430B1F702C08FEF89837A -:102BF0008C858F5F8C87DF91CF9108951F920F9204 -:102C00000FB60F9211242F933F938F939F93AF93FF -:102C1000BF938091040490910504A0910604B091A3 -:102C200007043091030423E0230F2D3720F401968D -:102C3000A11DB11D05C026E8230F0296A11DB11DDF -:102C4000209303048093040490930504A093060446 -:102C5000B09307048091080490910904A0910A049C -:102C6000B0910B040196A11DB11D809308049093AF -:102C70000904A0930A04B0930B04BF91AF919F91F4 -:102C80008F913F912F910F900FBE0F901F9018952D -:102C90002FB7F894609104047091050480910604A4 -:102CA000909107042FBF08953FB7F89480910804CE -:102CB00090910904A0910A04B0910B0426B5A89B39 -:102CC00005C02F3F19F00196A11DB11D3FBFBA2FBE -:102CD000A92F982F8827820F911DA11DB11DBC011E -:102CE000CD0142E0660F771F881F991F4A95D1F7E3 -:102CF0000895CF92DF92EF92FF92CF93DF936B0113 -:102D00007C010E945416EB01C114D104E104F104CA -:102D100079F00E9454166C1B7D0B683E7340A0F343 -:102D200081E0C81AD108E108F108C851DC4FECCFA6 -:102D3000DF91CF91FF90EF90DF90CF90089578943E -:102D400084B5826084BD84B5816084BD85B58260B0 -:102D500085BD85B5816085BDEEE6F0E0808181604E -:102D60008083E1E8F0E0108280818260808380814E -:102D700081608083E0E8F0E0808181608083E1EB26 -:102D8000F0E0808184608083E0EBF0E0808181600E -:102D90008083EAE7F0E080818460808380818260C4 -:102DA00080838081816080838081806880831092AD -:102DB000C10008958E3008F08E502091010190E4FA -:102DC000299F900111248770822B80937C00809131 -:102DD0007A00806480937A0080917A0086FDFCCF2F -:102DE000809178002091790090E0922B08951F93B4 -:102DF000CF93DF93182FEB0161E00E947F1720979C -:102E000011F460E004C0CF3FD10539F461E0812FB7 -:102E1000DF91CF911F910C94BB17E12FF0E0E754A5 -:102E2000FC4FE491E330F9F048F4E130B9F0E230DE -:102E3000A1F584B5806284BDC8BD34C0E630E9F038 -:102E4000E73019F1E43049F5809180008062809389 -:102E50008000D0938B00C0938A0024C084B5806822 -:102E600084BDC7BD1FC080918000806880938000B2 -:102E7000D0938900C093880015C08091B00080680D -:102E80008093B000C093B3000DC08091B000806209 -:102E90008093B000C093B40005C0C038D1050CF0D9 -:102EA000B5CFAFCFDF91CF911F910895833081F0DF -:102EB00028F4813099F08230A1F008958630A9F08D -:102EC0008730B9F08430D1F4809180008F7D03C0C9 -:102ED000809180008F7780938000089584B58F77EC -:102EE00002C084B58F7D84BD08958091B0008F7736 -:102EF00003C08091B0008F7D8093B0000895CF9380 -:102F0000DF9390E0FC01E353FC4F2491FC01EF516F -:102F1000FC4F8491882361F190E0880F991FFC0198 -:102F2000E75FFB4FC591D491FC01E150FC4FA591A7 -:102F3000B491611109C09FB7F894888120958223CC -:102F40008883EC912E230BC0623061F49FB7F89414 -:102F50008881322F309583238883EC912E2B2C93FC -:102F60009FBF06C08FB7F894E8812E2B28838FBFB0 -:102F7000DF91CF9108951F93CF93DF93282F30E0F7 -:102F8000F901E754FC4F8491F901E353FC4FD491CC -:102F9000F901EF51FC4FC491CC23C1F0162F8111E0 -:102FA0000E945617EC2FF0E0EE0FFF1FE150FC4F90 -:102FB000A591B4919FB7F894111104C08C91D0954C -:102FC000D82302C0EC91DE2BDC939FBFDF91CF9121 -:102FD0001F910895CF93DF93282F30E0F901E75434 -:102FE000FC4F8491F901E353FC4FD491F901EF5167 -:102FF000FC4FC491CC2391F081110E945617EC2F05 -:10300000F0E0EE0FFF1FEB50FC4FA591B491EC9157 -:10301000ED2381E090E021F480E002C080E090E0C8 -:10302000DF91CF910895CF92DF92EF92FF920F93AD -:103030001F93CF93DF936C01EB017B01E40EF51E30 -:1030400000E010E0CE15DF0561F06991D601ED9149 -:10305000FC910190F081E02DC6010995080F191F20 -:10306000F1CFC801DF91CF911F910F91FF90EF90A9 -:10307000DF90CF9008956115710579F0FB01019003 -:103080000020E9F73197AF01461B570BDC01ED91AA -:10309000FC910280F381E02D099480E090E0089596 -:1030A000EF92FF920F931F93CF93DF937C01FB016D -:1030B00000E010E06491EF012196662361F0D701F2 -:1030C000ED91FC910190F081E02DC7010995080F69 -:1030D000191FFE01EFCFC801DF91CF911F910F9112 -:1030E000FF90EF900895DC01ED91FC910190F0814B -:1030F000E02D09940F931F93CF93DF93EC016DE0C4 -:103100000E9473188C016AE0CE010E947318800F30 -:10311000911FDF91CF911F910F9108950F931F93EE -:10312000CF93DF93EC010E9450188C01CE010E94D6 -:103130007A18800F911FDF91CF911F910F91089501 -:103140008F929F92AF92BF92CF92DF92EF92FF92B7 -:103150000F931F93CF93DF93CDB7DEB7A1970FB631 -:10316000F894DEBF0FBECDBF6C01142FE52FCB014D -:10317000022F19A2223008F40AE07E0121E2E20EB9 -:10318000F11C802E912CA12CB12C612F7E2FA5013A -:1031900094010E94111A029F1019112481E0E81A6B -:1031A000F1081A3014F4105D01C0195CF7011083A6 -:1031B000122FE32FCA01232B242B252B31F7B70124 -:1031C000C6010E943B18A1960FB6F894DEBF0FBE51 -:1031D000CDBFDF91CF911F910F91FF90EF90DF90C6 -:1031E000CF90BF90AF909F908F900895211531059B -:1031F00041F4DC01ED91FC910190F081E02D642F10 -:1032000009940C94A0189A01AB0160E070E00C9452 -:10321000F618CF92DF92EF92FF920F931F93CF9306 -:10322000DF932115310581F4DC01ED91FC910190D2 -:10323000F081E02D642FDF91CF911F910F91FF90CE -:10324000EF90DF90CF9009942A30310501F577FF98 -:103250001DC06A017B01EC016DE20E9473188C01B4 -:1032600044275527BA014C195D096E097F092AE0E8 -:10327000CE010E94A018800F911FDF91CF911F9166 -:103280000F91FF90EF90DF90CF9008952AE0DF91AB -:10329000CF911F910F91FF90EF90DF90CF900C9402 -:1032A000A0189A01AB01770F660B770B0C940919E4 -:1032B0004F925F926F927F92AF92BF92CF92DF92C6 -:1032C000EF92FF920F931F93CF93DF93CDB7DEB7AB -:1032D00029013A019B01AC01241935094609570916 -:1032E00089899A89AB89BC89BC01CD016A197B099E -:1032F0008C099D090E94CD19A8019701241935094F -:10330000460957090E94331ACA01B9016A0D7B1D8B -:103310008C1D9D1DDF91CF911F910F91FF90EF901C -:10332000DF90CF90BF90AF907F906F905F904F9065 -:103330000895089561E08AE00E94BB1761E08AE089 -:103340000E947F178CB580618CBD8CB580648CBD6C -:1033500061E08DE00E947F1761E08BE00C947F17A5 -:10336000811103C08CB5806202C08CB58F7D8CBD8D -:1033700008959CB5937F892B8CBD08959CB59C7F47 -:10338000282F2370922B9CBD2DB582FB992790F995 -:10339000822F8E7F892B8DBD0895DB018F939F93A4 -:1033A0000E94521ABF91AF91A29F800D911DA39FC1 -:1033B000900DB29F900D11240895991B79E004C0DF -:1033C000991F961708F0961B881F7A95C9F7809564 -:1033D0000895AA1BBB1B51E107C0AA1FBB1FA6175C -:1033E000B70710F0A61BB70B881F991F5A95A9F7AE -:1033F00080959095BC01CD01089597FB072E16F49A -:10340000009407D077FD09D00E94E91907FC05D088 -:103410003EF4909581959F4F0895709561957F4FEB -:103420000895A1E21A2EAA1BBB1BFD010DC0AA1F05 -:10343000BB1FEE1FFF1FA217B307E407F50720F01D -:10344000A21BB30BE40BF50B661F771F881F991F98 -:103450001A9469F760957095809590959B01AC01E1 -:10346000BD01CF010895052E97FB1EF400940E9424 -:103470004A1A57FD07D00E94111A07FC03D04EF4D8 -:103480000C944A1A50954095309521953F4F4F4FD7 -:103490005F4F089590958095709561957F4F8F4F00 -:1034A0009F4F08950E94631AA59F900DB49F900DA1 -:1034B000A49F800D911D11240895EE0FFF1F05900C -:1034C000F491E02D0994A29FB001B39FC001A39F86 -:1034D000700D811D1124911DB29F700D811D11244D -:1034E000911D08950E940E1B88F09F5798F0B92FE8 -:1034F0009927B751B0F0E1F0660F771F881F991F29 -:103500001AF0BA95C9F714C0B13091F00E94281B87 -:10351000B1E008950C94281B672F782F8827B85F97 -:1035200039F0B93FCCF3869577956795B395D9F780 -:103530003EF490958095709561957F4F8F4F9F4F8A -:103540000895E89409C097FB3EF490958095709596 -:1035500061957F4F8F4F9F4F9923A9F0F92F96E9DF -:10356000BB279395F695879577956795B795F11154 -:10357000F8CFFAF4BB0F11F460FF1BC06F5F7F4FF1 -:103580008F4F9F4F16C0882311F096E911C0772303 -:1035900021F09EE8872F762F05C0662371F096E80C -:1035A000862F70E060E02AF09A95660F771F881FDB -:1035B000DAF7880F9695879597F9089597F99F6799 -:1035C00080E870E060E008959FEF80EC08950024AB -:1035D0000A941616170618060906089500240A9478 -:1035E00012161306140605060895092E0394000CFE -:1035F00011F4882352F0BB0F40F4BF2B11F460FF8D -:1036000004C06F5F7F4F8F4F9F4F089557FD9058B5 -:10361000440F551F59F05F3F71F04795880F97FB96 -:10362000991F61F09F3F79F0879508951216130650 -:103630001406551FF2CF4695F1DF08C0161617067F -:103640001806991FF1CF86957105610508940895B4 -:10365000E894BB2766277727CB0197F908950E9446 -:10366000421B0C94F51A0E94E71A38F00E94EE1AD9 -:1036700020F0952311F00C94DE1A0C94E41A112416 -:103680000C94291B0E94061B70F3959FC1F3950FA4 -:1036900050E0551F629FF001729FBB27F00DB11DD6 -:1036A000639FAA27F00DB11DAA1F649F6627B00D66 -:1036B000A11D661F829F2227B00DA11D621F739F4F -:1036C000B00DA11D621F839FA00D611D221F749F5D -:1036D0003327A00D611D231F849F600D211D822FA4 -:1036E000762F6A2F11249F5750409AF0F1F08823CB -:1036F0004AF0EE0FFF1FBB1F661F771F881F9150F8 -:103700005040A9F79E3F510580F00C94DE1A0C94AE -:10371000291B5F3FE4F3983ED4F386957795679530 -:10372000B795F795E7959F5FC1F7FE2B880F911D21 -:103730009695879597F90895DC0101C06D934150E6 -:103740005040E0F70895FB01DC014150504048F043 -:1037500001900D920020C9F701C01D9241505040C8 -:08376000E0F70895F894FFCF93 -:1037680001010019230000000086020000000099F2 -:103778001900000000000000000000000000000028 -:1037880000980500000000000000000000DE0300B3 -:103798000021040000FF03000042040000000000B4 -:1037A8000000000000000000000000000000000011 -:1037B800000000000000000000AD050000970500B3 -:1037C8000000000000000000008C0C13184C4F4152 -:0437D8004445520012 +:100600000C05CF93DF93EC010E94F706CE010E9408 +:10061000FB03E881F9810190F081E02DCE01DF91AB +:10062000CF9109949F92AF92BF92CF92DF92EF92B7 +:10063000FF920F931F93CF93DF93EC0168966C01A9 +:1006400028EAC21A2EEFD20A8C01045A1E4FCE019C +:100650000E94EC04882389F1CE010E94EF048111ED +:100660002CC0CE010E94F5045C01CE010E94F90469 +:100670007C01C8010E940E06982EC8010E94110636 +:1006800095012919310937FF03C0319521953109A9 +:100690002830310594F49701281B3109C90137FF2F +:1006A00003C091958195910908973CF461E0CE01D2 +:1006B0000E94F20482E090E006C02A96CC15DD0587 +:1006C00031F680E090E0DF91CF911F910F91FF9084 +:1006D000EF90DF90CF90BF90AF909F9008950F93D1 +:1006E000FC01718360834283238304831582168215 +:1006F0000F9108951F93CF93DF93EC0140E06B813E +:1007000082EC91E00E9463088091FB019091FC01D2 +:10071000009719F12A81222329F06D810E9431046A +:10072000182F01C01D818A81882341F06E8180913C +:10073000FB019091FC010E94360401C08E8128814A +:1007400039812115310549F0482F612F82EC91E064 +:10075000DF91CF911F910C946A0ADF91CF911F9185 +:100760000895FC01658346830895AF92BF92CF92AE +:10077000DF92EF92FF920F931F93CF93DF93EC01E1 +:100780006B018FE091E0998388837E0188E0E80E19 +:10079000F11C80E1F70111928A95E9F78E01085E5C +:1007A0001F4F5E01F8EAAF1AFEEFBF0A60E070E08B +:1007B000C8010E94FD04065F1F4F0A151B05B1F713 +:1007C000C114D10431F040E150E0B601C7010E94EC +:1007D0003E1C43E050E06CE271E0CE010296DF91F6 +:1007E000CF911F910F91FF90EF90DF90CF90BF902E +:1007F000AF900C94371C0F931F93CF93DF938C0112 +:10080000085E1F4FEC01C85ADE4FC8010E943A052E +:10081000065F1F4F0C171D07C1F7DF91CF911F9186 +:100820000F9108950F931F93CF93DF938C01085E70 +:100830001F4FEC01C85ADE4FC8010E943C05065FFD +:100840001F4F0C171D07C1F7DF91CF911F910F911B +:100850000895FC0110821282118214821382158283 +:100860000895FC018181681B862F0895FC01838116 +:10087000681B862F08950F931F93CF93DF93EC018E +:100880008B01CB010E941406811109C040E06CEF7E +:10089000C801DF91CF911F910F910C94F0058981D0 +:1008A0009A818430910594F304979A838983DF9128 +:1008B000CF911F910F9108950F931F93CF93DF93C3 +:1008C000EC018B01CB010E941406811109C040E0AC +:1008D00064E0C801DF91CF911F910F910C94F00556 +:1008E00089819A81811522E092078CF704969A8378 +:1008F0008983DF91CF911F910F9108950F931F93DB +:10090000CF93DF93EC018B01CB010E941B06811179 +:1009100009C04CEF60E0C801DF91CF911F910F91AA +:100920000C94F0058B819C811816190694F7049796 +:100930009C838B83DF91CF911F910F9108950F932B +:100940001F93CF93DF93EC018B01CB010E941B0619 +:10095000811109C044E060E0C801DF91CF911F918F +:100960000F910C94F0058B819C81811522E09207F8 +:100970008CF704969C838B83DF91CF911F910F910D +:100980000895FC0180810895FC0111821082128279 +:10099000138215821482178216820895FC0181E069 +:1009A00082837583648357834683089508950F93E4 +:1009B000FC012381222371F0FB01DC01249131969B +:1009C000049116964C91169714966C9182EC91E0D6 +:1009D0000E949F080F910895FC0182810895FC01F7 +:1009E00083810895FC0163830895FC0184819581CE +:1009F0000895FC018681978108950F931F93CF93EB +:100A0000DF93EC018B010E94C40419870887DF91F2 +:100A1000CF911F910F910895EF92FF920F931F9323 +:100A2000CF93DF9300D01F92CDB7DEB77C018B014F +:100A3000BA01A9010E94CE04F701118700878091B5 +:100A4000020190910301A091040189839A83AB83F1 +:100A5000FE01E00FF11F818190E0F7019183808317 +:100A60000F900F900F90DF91CF911F910F91FF90FA +:100A7000EF9008950C94D604CF92DF92EF92FF92FC +:100A80000F93CF93DF93CDB7DEB72D970FB6F894C2 +:100A9000DEBF0FBECDBFFC0120853185233031057F +:100AA00054F57C011986188682E890E09B878A8736 +:100AB0001D861C86220F331FE1E0F0E0EC0FFD1FC6 +:100AC000E20FF31FC780D08400E021E041E0B601CF +:100AD000CE0101960E946F03F70146816481CE0129 +:100AE00001960E94B103CE0101960E947A03B601DD +:100AF000C7010E94D7042D960FB6F894DEBF0FBE33 +:100B0000CDBFDF91CF910F91FF90EF90DF90CF900D +:100B10000895EF92FF920F931F93CF93DF93CDB77A +:100B2000DEB7C457D1400FB6F894DEBF0FBECDBFBD +:100B30007E0180EAE81A8EEFF80A8AE0D7011D925A +:100B40008A95E9F7B70184E791E00E94DA128E01F5 +:100B500006591E4FC8010E942904A801B701FE01D1 +:100B600031967F01CF010E94D602FE01E059FE4F6F +:100B700085E0DF011D928A95E9F781E08283F182A9 +:100B8000E082148303831093FC010093FB01CF01E7 +:100B90000E943A02CC58DE4F0FB6F894DEBF0FBE6B +:100BA000CDBFDF91CF911F910F91FF90EF900895EE +:100BB0006EEB70E084E791E00E94021243E068EB84 +:100BC00070E084E791E00E94390F811102C00C941B +:100BD0008905089528E2FC01208326E121830895F8 +:100BE000FC019081262F062E000C330B290F311D9E +:100BF00097FD3A952932310510F4960F9083818143 +:100C0000242F042E000C330B280F311D87FD3A953D +:100C10002731310510F4840F81830895FC01808110 +:100C20000895FC0181810895FC0181E09081983252 +:100C300009F080E0089521E0FC018181863109F00E +:100C400020E0822F08950895DC01A85ABE4F2D910F +:100C50003C911197FC01E25AFE4F2230310539F4E4 +:100C60008081853020F081E090E08D939C9310820C +:100C70000895CF93DF93EC01C85ADE4F2881398164 +:100C80002115310521F02230310531F00DC00E94CF +:100C900012039983888308C0FC01E25AFE4F8081C9 +:100CA0008F3F11F08F5F8083DF91CF910895DB013B +:100CB000AA0FBB1FAA0FBB1FA75BBE4FED91FC91F4 +:100CC000119712962D913C911397A90141705527C8 +:100CD000309719F44115510589F035952795452B25 +:100CE00051F0DC01A20FB31F4D915C91E40FF51F91 +:100CF0000190F081E02D820F931F09940895EF92E7 +:100D0000FF920F931F93CF93DF938C01EB017C0134 +:100D100086EAE81A8EEFF80AD7018D919C910E941D +:100D2000C104811135C0DE01AA0FBB1FAA0FBB1F72 +:100D3000A35DBE4FED91FC91119712968D919C9100 +:100D400013979C0121703327309719F42115310531 +:100D5000F9F095958795232B61F0E701A881B9817A +:100D6000A80FB91F2D913C91E20FF31F0190F08164 +:100D7000E02DB801645A7E4FD7012D913C91820F2E +:100D8000931FDF91CF911F910F91FF90EF900994E6 +:100D9000DF91CF911F910F91FF90EF900895DB01AC +:100DA000AA0FBB1FAA0FBB1FAF5EBE4FED91FC91F8 +:100DB000119712962D913C911397A90141705527D7 +:100DC000309719F44115510589F035952795452B34 +:100DD00051F0DC01A20FB31F4D915C91E40FF51FA0 +:100DE0000190F081E02D820F931F099408950F93D5 +:100DF0001F93CF93DF938C01C0E0D0E06C2F8EE780 +:100E000091E00E948107BE01882341F0C8010E9441 +:100E10005706BE01C8010E947F0603C0C8010E9498 +:100E2000CF062196C730D10549F7DF91CF911F91A9 +:100E30000F910895FC0188E0808389E0818387E039 +:100E4000828386E0838384E0848382E0858381E1FA +:100E500086830895FF920F931F93CF93DF93EC0146 +:100E60008C01095F1F4FFF24FA9462E088810E9481 +:100E70001A1888810E9485182F81892B19F42F5FF9 +:100E80002F8307C0222349F02F3F11F41F8201C096 +:100E9000FF8260E088810E941A182196C017D1074E +:100EA00021F7DF91CF911F910F91FF900895FC01E1 +:100EB000E60FF11D81E09781913009F080E00895FF +:100EC000FC01E60FF11D81E097819F3F09F080E072 +:100ED0000895262F30E0FC01E20FF31F423030F47A +:100EE0009781915081E09E3F58F009C087818F3FE4 +:100EF00031F0642F0E94781A81E0913009F080E08F +:100F00000895860F911DFC0187818F3F09F480E0D1 +:100F100008958EBD0DB407FEFDCF8EB50895DC019A +:100F2000643508F057C0403308F054C090969C9147 +:100F30009097E42FE595E595E595262F062E000C74 +:100F4000330B542F57709230A1F4D90184E5E80295 +:100F5000A00DB11D1124A350BE4F8C9190E0052E21 +:100F600002C0959587950A94E2F78095982F917025 +:100F70000CC0933051F41C968C916427062E000C03 +:100F8000770B682760FF03C014C0911112C084E57D +:100F9000E802200D311D1124F901E350FE4F81E0DC +:100FA00090E001C0880F5A95EAF7809590818923D7 +:100FB00010C084E5E802200D311D1124F901E35031 +:100FC000FE4F81E090E001C0880F5A95EAF79081CA +:100FD000892B808308951F93CF93DF93EC01162F05 +:100FE000F89460E08F850E945618888918161CF4C2 +:100FF00060E00E945618812F0E9489078889181680 +:101000001CF461E00E9456187894DF91CF911F91F3 +:10101000089528EF31E0EDEFF1E0DF01A9011D9225 +:1010200041505040E1F7DC0119961C9219971A962D +:101030001C920895CF92DF92EF92FF920F931F932D +:10104000CF93DF93EC018C858F5F8C878DEFE82E3B +:1010500081E0F82E10E0612F6064CE010E94EB0762 +:1010600060E8CE010E94EB0761E08F850E94561870 +:10107000888918161CF460E00E945618670104E580 +:10108000F60181916F010E9489070150C9F7888993 +:1010900018161CF461E00E9456181F5FF4E5EF0E6D +:1010A000F11C1630C1F660E4CE01DF91CF911F91A3 +:1010B0000F91FF90EF90DF90CF900C94EB07FC0125 +:1010C00060A361A30895FC0160A341A30895EF927A +:1010D000FF920F931F93CF93DF938C01D62FF42EA3 +:1010E000E22EC0E0CE1544F44F2D4C0F6D2FC801F9 +:1010F0000E948F07CF5FF6CFDF91CF911F910F91A5 +:10110000FF90EF900895EF92FF920F931F93CF936C +:10111000DF938C01F62ED42FE22EC0E0CE1544F4DE +:101120006F2D6C0F4D2FC8010E948F07CF5FF6CF38 +:10113000DF91CF911F910F91FF90EF900895EF9263 +:10114000FF920F931F93CF93DF937C01C62F142F31 +:10115000D22F0E9483084FEF400F410F2D2F6C2F8D +:10116000C7010E948308202F412F6C2FC7010E94C6 +:1011700067086FEF6D0F6C0F202F412FC701DF91B4 +:10118000CF911F910F91FF90EF900C946708DF9221 +:10119000EF92FF920F931F93CF93DF937C01D62F93 +:1011A000D22EC42F002E000C110B040F111D47FD71 +:1011B0001A958C2F0C2E000C990B8017910744F474 +:1011C0002D2D4C2F6D2FC7010E948308CF5FF1CFCB +:1011D000DF91CF911F910F91FF90EF90DF900895D5 +:1011E0008F929F92AF92BF92CF92DF92EF92FF9237 +:1011F0000F931F93CF93DF937C01162FD42EC22F12 +:1012000081E0C82EC21AB22EB194BB0CD0E0802F60 +:101210008470A82E802F8270982E802F8870882E40 +:101220000170DC170CF04DC0C7FC04C0C150B39472 +:10123000B394CB0CDF5F8D2F880F8F5FC80EAA2071 +:1012400071F04D2D4C0F612F6D0FC7010E948F075C +:101250004D2D4D0F6C2F610FC7010E948F079920F4 +:1012600071F04D2D4C1B612F6D0FC7010E948F0730 +:101270004D2D4D1B6C2F610FC7010E948F078820D9 +:1012800071F04D2D4D0F612F6C1BC7010E948F0710 +:101290004D2D4C0F612F6D1BC7010E948F0700233E +:1012A00009F4BFCF4D2D4D1B612F6C1BC7010E9450 +:1012B0008F074D2D4C1B612F6D1BC7010E948F079F +:1012C000B0CFDF91CF911F910F91FF90EF90DF9002 +:1012D000CF90BF90AF909F908F9008958F929F92E4 +:1012E000AF92BF92CF92DF92EF92FF920F931F9334 +:1012F000CF93DF936C01A62E942EC22F11E0121B08 +:10130000F22EF194FF0C83E0B82EBE0CD1E0802FBA +:101310008170882EE39402708FEF8D0F8C17BCF5CF +:1013200017FD04C0C150F394F3941F0D8D2F880F47 +:101330008F5F180F882091F02C2F220F2E0D492D32 +:101340004C1B6D2F6A0DC6010E9467082B2D492D7D +:101350004D1B6C2F6A0DC6010E946708011104C065 +:10136000DF5FB394B394D8CF2C2F220F2E0D492DCD +:101370004C1B6A2D6D1BC6010E9467082B2D492D41 +:101380004D1B6A2D6C1BC6010E946708E9CFDF91D7 +:10139000CF911F910F91FF90EF90DF90CF90BF9072 +:1013A000AF909F908F9008959F92AF92BF92CF92EF +:1013B000DF92EF92FF920F931F93CF93DF936C0115 +:1013C000C62FD42FB22EAE2CAA0C922E9A18FE2C19 +:1013D000F60E292D6F2D0E9483081FEF100F1D0F91 +:1013E000292D412F6F2DC6010E9483080A19DE0D99 +:1013F000202F4D2F6C2FC6010E946708CB0D6FEF79 +:101400006C0F202F4D2FC6010E94670801E02E2D82 +:101410004D2F6F2DC6010E94F0088E2D8095C80FAC +:1014200002E02E2D4D2F6C2FC6010E94F008D12F07 +:10143000DE1904E02E2D4D2F6C2FC6010E94F008FE +:1014400008E02E2D4D2F6F2DC6010E94F008DF9170 +:10145000CF911F910F91FF90EF90DF90CF90BF90B1 +:10146000AF909F900895AF92BF92CF92DF92EF928C +:10147000FF920F931F93CF93DF936C01B62EF42E40 +:10148000122FC02FDE2DEE0CAD2EA60E2E196A2DBA +:101490000E94C708C150CE19FD0E6FEF6B0D610F92 +:1014A0006D1BEC2E01E02D2F4F2DC6010E946E0901 +:1014B00002E02D2F4F2D6A2DC6010E946E09DF918B +:1014C000CF911F910F91FF90EF90DF90CF90BF9041 +:1014D000AF9008952F923F925F926F927F928F927A +:1014E0009F92AF92BF92CF92DF92EF92FF920F93B3 +:1014F0001F93CF93DF93EC01F901E490319684912F +:1015000064350CF019C10E2C000CFF08062F062EB6 +:10151000000C110BF701E00FF11F1E161F060CF057 +:101520000BC140330CF008C1A82FC42E042E000CB0 +:10153000DD085601A80EB11C87FDBA941A141B04CD +:101540000CF0FAC02E5F3F4F570197E0A90EB11C77 +:10155000B7FE04C05701BEE0AB0EB11CB3E0B594BA +:10156000A794BA95E1F747FF0AC0A42FA80FAC9C37 +:10157000C001AD9C900D1124281B390B40E08A2F2F +:101580000A2E000C990B840F911D47FD9A95C19767 +:1015900014F0A0E3A41BF8A067FD60E0E535F105B9 +:1015A00014F0E4E5F0E09E2FCC85C427C62E062E6D +:1015B000000CDD08F601E01BF10B8F014F01F7E095 +:1015C0008F229924E0E8F0E002C0F595E7958A942F +:1015D000E2F77E2F17FF02C0095F1F4FF3E015955A +:1015E0000795FA95E1F7200F311F542F577081E0CE +:1015F00001C0880F5A95EAF7459545954595F6013E +:10160000B4E54B02E00DF11D1124AF0143505E4FD4 +:10161000D0E02A2EAA0F3308EE24E394BB24ED2F4A +:10162000F0E0E215F3050CF087C0F9015490F1E009 +:10163000FF121AC0962E8A01E72F6901991608F049 +:1016400072C08E2E852021F0D8018C90882A8C9231 +:10165000E69531F4BFEFCB1ADB0AF6015490E0E8CF +:1016600093940F5F1F4FEACFF1101CC0782E709437 +:10167000962E8A01E72F6901991608F054C08E2E24 +:10168000852021F0D8018C9087208C92E69531F44A +:10169000BFEFCB1ADB0AF6015490E0E893940F5F9A +:1016A0001F4FEACFF3E0FF1629F0962E8A01E72FAD +:1016B000690137C0682E6094862E8A01972E6901D1 +:1016C0008916D8F4E92DE52159F0D801EC917C2E4A +:1016D000782470FE02C0E82B02C0E621D801EC930A +:1016E000969439F4BFEFCB1ADB0AF6015490E0E888 +:1016F0009E2E83940F5F1F4FE3CFCE2514C08E2EF6 +:10170000852021F0D8018C9088268C92E69531F4C2 +:10171000BFEFCB1ADB0AF6015490E0E893940F5F19 +:101720001F4F991660F3880F19F44C5A5F4F81E0F0 +:10173000DF5F2A0D3B1D73CFDF91CF911F910F917A +:10174000FF90EF90DF90CF90BF90AF909F908F90E1 +:101750007F906F905F903F902F900895DC01FB0188 +:1017600084918F5F14968C9314973196E491EF5F78 +:101770001596EC9315976E5F7F4F5F967C936E93F3 +:101780005E970895EF920F93CF93DF93EC014E870E +:101790006D872F87E98A088B81E0888788A319A243 +:1017A0008F836DEC70E0CE010E94AE0B0E94351A63 +:1017B00081E00E944B1A85E00E94591A8CE00E9439 +:1017C000541A61E08E850E941A1861E08D850E948E +:1017D0001A1861E08F850E941A18898918161CF45E +:1017E00061E00E941A18888918161CF461E00E94B2 +:1017F0001A18898918166CF460E00E9456186AE07D +:1018000070E080E090E00E94141761E089890E94F6 +:1018100056188D85082E000C990BFC01EF51FC4FDA +:10182000E491F0E0EE0FFF1FE150FC4F2591349161 +:101830003D8B2C8BFC01E353FC4FE491EB8F8E85A9 +:10184000082E000C990BFC01EF51FC4FE491F0E0E5 +:10185000EE0FFF1FE150FC4F259134913B8B2A8BFB +:10186000FC01E353FC4FE491EA8F8889082E000CB9 +:10187000990BFC01EF51FC4FE491F0E0EE0FFF1FDC +:10188000E150FC4F259134913F8B2E8BFC01E353AB +:10189000FC4FE491EC8F8F85082E000C990BFC0116 +:1018A000EF51FC4FE491F0E0EE0FFF1FE150FC4FD1 +:1018B00025913491398F288FFC01E353FC4FE4913B +:1018C000ED8F61E2CE010E94EB0764E1CE010E9440 +:1018D000EB078B8587FF02C08FE78B876B8560687E +:1018E000CE010E94EB0760E2CE010E94EB076CE0A4 +:1018F000CE010E94EB07CE01DF91CF910F91EF90C7 +:101900000C941A086F927F928F929F92AF92BF921F +:10191000CF92DF92EF92FF920F931F93CF93DF93BB +:10192000EC0164350CF084C040330CF081C0EC81D4 +:10193000F0E031970E9FC0010F9F900D1124860F8C +:10194000911D67FD9A95181619060CF071C03D811E +:10195000842F042E000C990B039F800D911D1124E0 +:10196000181619060CF064C0D02EB42EC62E88A00E +:10197000A62E962EE22EF12CEA2DEC190E2E000C3E +:10198000FF0B8C8190E0E817F9070CF050C001972D +:10199000E817F90779F0E89E9001E99E300DF89E6E +:1019A000300D1124E20FF31F8E8D9F8DE80FF91F6C +:1019B000149101C010E07B2C6B2C272D2B19022ECB +:1019C000000C330B8D8190E0281739076CF510FF60 +:1019D00011C081E0D81206C0472D6A2DCE010E94A9 +:1019E0008F071EC00D2D2D2D462D692DCE010E9475 +:1019F000C70816C089A198A1891791F088A381E032 +:101A0000D81206C0472D6A2DCE010E948F0707C04D +:101A10000D2D2D2D462D692DCE010E94C70888A2BF +:101A200016956D0C7394C9CF9D0CA394A5CF88A275 +:101A3000DF91CF911F910F91FF90EF90DF90CF90AA +:101A4000BF90AF909F908F907F906F9008950F936D +:101A5000CF93DF93EC016A3011F428851EC06D30FE +:101A600019F1262F08854A8569850E94820C2885F0 +:101A70003C818985239F800D112489879F8199232B +:101A800099F0082E000C990B44E550E0239F401973 +:101A900051091124481759073CF49D818A85299FD3 +:101AA000800D11248A87198681E090E0DF91CF9123 +:101AB0000F9108958F929F92AF92BF92CF92DF9233 +:101AC000EF92FF920F931F93CF93DF93EC015C0192 +:101AD00086E8A80EB11CD5019C91992309F44DC04C +:101AE0009C3018F41CE0191B01C010E0FE01EA5AFA +:101AF000FF4F81E080836E01BEE4CB0ED11C60E01D +:101B0000C6010E945F084E01E3E58E0E911CD401D0 +:101B10008C9103E0080F9DE2F92E4F2D481B410FD9 +:101B200023E0E22E24E560E0C6010E94330A61E072 +:101B3000C6010E945F08F401808103E0080F4F2D69 +:101B4000481B410F24E560E0C6010E94D409FE0154 +:101B5000E95AFF4F84E080833196D4018C91181BA1 +:101B6000115D1083CC57DF4F68817981C6010E94D7 +:101B7000EB18F501808181508083DF91CF911F9117 +:101B80000F91FF90EF90DF90CF90BF90AF909F901C +:101B90008F900895CF92DF92FF920F931F93CF9370 +:101BA000DF93FC01248D358D232B09F49FC0EC01BC +:101BB0008C01025B1F4F40E061E0C8010E94630896 +:101BC000FE01E95AFF4FDE01AE5ABF4F9C9185E5F9 +:101BD000891B808331961082698D613009F463C05E +:101BE00028F0888D653008F074C06FC0CE018596EE +:101BF0000E94201481E0FE01EA5AFF4F80836DECC1 +:101C000070E0C8010E94AE0B1D8E1C8EFE01EC5AC6 +:101C1000FF4F108288EAF82E6E01FAE0CF0ED11C39 +:101C2000CE010E947E0E8823D9F36CEB72E0C801CE +:101C30000E94EB186A8D7B8D4AE050E0C8010E943B +:101C40009E1967EA72E0C8010E94EB186F2D629539 +:101C50006F7070E04AE050E0C8010E94EC196CE936 +:101C600072E0C8010E94EB1864E0C6010E945707A9 +:101C700081113CC0FA94F110D3CF60E0CE010E94F4 +:101C8000F31583B7817F846083BF83B7816083BF8F +:101C900083B7816083BF889583B78E7F83BF83B707 +:101CA0008E7F83BFBDCFCF58DF4F88819981AA81B6 +:101CB000BB818F709927AA27BB270897A105B1057B +:101CC00010F467E009C068E707C0882379F06B5F0C +:101CD00003C0882359F06FE2C801DF91CF911F91B3 +:101CE0000F91FF90DF90CF900C940E19DF91CF9160 +:101CF0001F910F91FF90DF90CF9008958F929F9248 +:101D0000AF92BF92CF92DF92EF92FF920F931F9309 +:101D1000CF93DF93EC017C0180E8E80EF11CF70122 +:101D200080809180A280B3800E94E316861A970A71 +:101D3000A80AB90A6E01FFE7CF0ED11CF601808117 +:101D400090E0A0E0B0E08E0105581F4F881599057E +:101D5000AA05BB0550F4F80180819181A281B3816D +:101D6000892B8A2B8B2B09F040C0F801808191814F +:101D7000A281B381892B8A2B8B2BA9F57E01F5E2F9 +:101D8000EF0EF11CC7010E941D14C7010E948914A7 +:101D9000C7010E944E15CE010E945A0DCE010E942D +:101DA000CA0D7E018EE4E80EF11CC7010E941A08DC +:101DB000FE01EC5AFF4F8081811103C0C7010E94D0 +:101DC00009080E94EF16F801608371838283938370 +:101DD000FE01EB58FF4FC958DF4F28813981621B44 +:101DE000730B7183608380E037C00E94E316F601B5 +:101DF0002081DC01CB01820F911DA11DB11DF701D6 +:101E000080839183A283B383FE01EF58FF4F8081CB +:101E10009181A281B3810196A11DB11D808391831F +:101E2000A283B383F80110821182128213820E946E +:101E3000EF16FE01E958FF4F60837183828393831D +:101E4000CE010E94F715CE010A960E942A07CE0104 +:101E500048960E94601681E0DF91CF911F910F910B +:101E6000FF90EF90DF90CF90BF90AF909F908F90BA +:101E700008952F923F924F925F926F927F928F922E +:101E80009F92AF92BF92CF92DF92EF92FF920F9309 +:101E90001F93CF93DF93CDB7DEB765970FB6F89456 +:101EA000DEBF0FBECDBF6C016A8B7B8B4B83FC0109 +:101EB000EC5AFF4F10822FEF2D831C821D8A10E3F6 +:101EC0001C8A5C013AE0A30EB11C1C0183E5280EBC +:101ED000311CBF972F01242F30E03F832E83C60192 +:101EE000895A9F4F99878887F396FB87EA879601DF +:101EF0002A5A3F4F3F872E870297998B888B3A97B4 +:101F00003F01C6010E947E0E8823D9F364E0C5011B +:101F10000E945707012F110F110B811144C065E07A +:101F2000C5010E94570781113EC066E0C5010E94AD +:101F30005707811138C02C8121114CC044E063E067 +:101F4000C5010E946907882331F03C893F5F3C8BC3 +:101F5000C2010E94CB1544E061E0C5010E946907FF +:101F6000882331F08C8981508C8BC2010E94CB1563 +:101F7000EC898E2F0E2E000C990B2E813F8182173B +:101F8000930731F0E7FF05C03B8131503C8B01C026 +:101F90001C8AF1018081F4E0F80F2C89829FF019EE +:101FA0001124FD8B22C0F101F081F98364E0C501A9 +:101FB0000E945707882309F48CC0C2010E949F1514 +:101FC000FC89FD83298121953B81239F302D11249C +:101FD00032503D8BC8013D89831B910937FD939594 +:101FE00002970CF47AC081E08C839D89090F111D42 +:101FF00097FD1A9517FF02C00F5F1F4FF801F59567 +:10200000E795FA83E9830981102FE885F985108225 +:10201000EA85FB85008381E0EE85FF858083E88982 +:10202000F9891082EA88FB88812C912C2C89022E58 +:10203000000C330B3D872C878E819F818816990673 +:1020400009F1EC85FD85E815F90579F423E0E885CB +:10205000F9852083F1018081F02F2C89289FF00DD4 +:1020600011248F2FEA85FB858083F7016591749198 +:10207000C3010E942919FFEF8F1A9F0A22E0E20E86 +:10208000F11CDACF60E0C3010E945F08F10180819A +:102090004981FC89F89F400D1124415024E560E0FE +:1020A000C3010E94830861E0C3010E945F08F1013F +:1020B000808103E0080F4981FC89F89F400D1124BD +:1020C000425083E0E82E24E560E0C3010E94D40979 +:1020D00018CFC2010E94B51575CF8D8165960FB6D8 +:1020E000F894DEBF0FBECDBFDF91CF911F910F914E +:1020F000FF90EF90DF90CF90BF90AF909F908F9028 +:102100007F906F905F904F903F902F9008950F9326 +:102110001F93CF93DF93EC018C01025B1F4FC8012B +:102120000E94090864E772E0C8010E94EB18C80128 +:102130000E941A0883E00E94591A8DE691E0EEEFA2 +:10214000FFE30995FE01EC5AFF4F10826FE472E045 +:10215000C8010E942919C8010E941A082A96CE01B6 +:102160000E942A0764E0CE010E945707811107C030 +:1021700062E370E080E090E00E941417F0CFDF91FE +:10218000CF911F910F9108952F923F924F925F929E +:102190006F927F928F929F92AF92BF92CF92DF9277 +:1021A000EF92FF920F931F93CF93DF93CDB7DEB7DC +:1021B00029970FB6F894DEBF0FBECDBF3C0120E7D4 +:1021C000620E711CF3012081222309F402C15A011D +:1021D0001B01998788877A9781E08083E885F98554 +:1021E000EB5AFF4F1082E885F985EC5AFF4F1082B9 +:1021F000E885F985108E8F01025B1F4F61E0C801F1 +:102200000E945F08888599858D5A9F4F9D838C8396 +:10221000C884D98497E5C90ED11CE884F984E8E51F +:10222000EE0EF11C888599858E5A9F4F9A8389837B +:10223000E885F985EF58FF4FFF83EE838884998402 +:10224000FAE08F0E911C4884598425E2420E511CFD +:10225000888599850E947E0E8823D1F3F1018491AF +:10226000882329F0EC81FD81F081FB8301C01B8272 +:102270002EED32E040E060E0C8010E946A0AA1143D +:10228000B10439F04B81445F950160E0C8010E94C0 +:102290006A0AF60110822CE0F7012083B101C8011F +:1022A0000E94EB18E981FA818081982F990F890F9C +:1022B00081958D5AF6018083EC81FD818081982F74 +:1022C000990F890F8195835DF7018083EE81FF81EE +:1022D000808184FF03C06AED72E002C066ED72E0A7 +:1022E000C8010E942919E981FA818081982F990FEC +:1022F000890F81958D5AF6018083F70180818F5F68 +:102300008083E885F98582A5882319F062ED72E063 +:1023100002C06EEC72E0C8010E942919E981FA81BD +:102320008081982F990F890F81958D5AF6018083AE +:10233000F70180818F5F80836AEC72E0C8010E94A0 +:10234000291965E0C4010E945707882351F0E885E8 +:10235000F98562A56F5FC2010E94E115C2010E946A +:10236000CB1564E0C4010E945707811113C0F3012B +:102370002081422F50E060E070E0EE81FF8180819B +:102380009181A281B38184179507A607B707A8F0AA +:102390002F3F99F08FEFF3018083088519850B5D3E +:1023A0001F4F60E0C8010E94BE13C8010E949F1524 +:1023B00081E0E885F985808F0CC066E0C4010E9449 +:1023C0005707882309F444CF888599850E94871090 +:1023D00035CF29960FB6F894DEBF0FBECDBFDF9183 +:1023E000CF911F910F91FF90EF90DF90CF90BF9012 +:1023F000AF909F908F907F906F905F904F903F90A5 +:102400002F90089540E050E00C94C410E0E8F7E706 +:102410002591349181E02130304C09F080E008951D +:10242000CF93DF93EC010E9406129E01275A3F4F83 +:10243000DE01A059BF4F882309F43CC0E6E9F7E765 +:102440008491F9018083E7E9F7E7E491EC83E8E917 +:10245000F7E7E491ED83E9E9F7E7859194919F83AC +:102460008E83EBE9F7E78591949199878887EDE969 +:10247000F7E7E491EBA7EEE9F7E7E491EAA7EFE9E4 +:10248000F7E7E491EC93E0EAF7E7859194919D8F6B +:102490008C8FE2EAF7E7859194919F8F8E8FE4EA23 +:1024A000F7E78591949199A388A3E6EAF7E78591E8 +:1024B000949120C08CE3F90180831C828FEF8D837F +:1024C00020E233E03F832E8324ED33E039872887F1 +:1024D00091E09BA79AA78C938CEA9DE09D8F8C8FAF +:1024E0008EED9DE09F8F8E8F84E79EE099A388A359 +:1024F0008CE39FE09BA38AA3DF91CF910895CF92B5 +:10250000DF92EF920F93CF93DF93EC01FC01E15840 +:10251000FF4F82E38083349781E090E0A0E0B0E059 +:1025200080839183A283B3833B978FEF8083CE0117 +:102530000E941012CE010E94EF156FEFCE010E9493 +:10254000F3156E018AE0C80ED11CC6010E941A075D +:10255000C6010E942A07CE0148960E9456168EE0B8 +:10256000E82E0FE020E14BE06DE0CE01825B9F4F53 +:102570000E94C20BA596CE010E942A1365E0C601F7 +:102580000E945707882351F060E0CE01DF91CF9180 +:102590000F91EF90DF90CF900C94E11540E06EE446 +:1025A00073E0CE01DF91CF910F91EF90DF90CF904C +:1025B0000C94C913CF93DF93D62FC72F0E94061216 +:1025C000882359F0AD2FBC2FEBE8F7E784918D936A +:1025D0003196E53987E7F807C9F7DF91CF9108957C +:1025E00050E0DA01AA0FBB1FA80FB91F1F963C913C +:1025F0001F9750962C915097E32FF22FE60FF11D65 +:10260000E60FF11D2591349190963C932E935F97A0 +:10261000F90165917491FC017481769F602D1124FC +:10262000DC01A40FB51F91966C939197F9018591E8 +:102630009491E92FF0E0862F90E0E817F90720F455 +:10264000F90185919491692F769F602D11249296BE +:102650006C93089521E0FC01248324E020A72DEA57 +:1026600033E0308B278740E060E00E94F01261E0A9 +:1026700070E083E00E949217E1EBF0E08081887FB8 +:1026800081608083F89410928000E1E8F0E010828D +:10269000109285001092840088E191E09093890067 +:1026A00080938800808188608083808181608083BE +:1026B000EFE6F0E0808182608083789408950F9344 +:1026C000FC01842F01112AC06230D9F050F4662336 +:1026D00099F0613019F540E0682FCF010F910C940B +:1026E000F0126330A9F06430C9F46481649F802DD6 +:1026F0001124858F268F12C04B3008F08AE0868B1C +:102700000DC06481649F802D1124818F228F06C0AB +:102710006481649F802D1124838F248F0F910895ED +:10272000FC0121110EC0648B8481849F402D1124F3 +:10273000458B15A214A213A281E0878B809301041C +:10274000108E089580910104882319F08091FE0372 +:1027500001C080E08093B4000895FC0161110DC0B8 +:10276000178A158A14A213A2108E1092FE031092DB +:10277000FF03109201040C94A2130895CF93DF93EA +:10278000611104C0EC010E94AD131982DF91CF9159 +:1027900008950F931F93CF93DF93411110C08B01C6 +:1027A000EC0160E00E94BE131E870D871B8A1A8A07 +:1027B00081E0898389E08E8B198E1B8E1D8EDF91BF +:1027C000CF911F910F910895CF93DF93DC01611199 +:1027D00031C08C91882371F111968C9111978111E0 +:1027E00029C019968C91199717962C9117971896BE +:1027F0009C911897E22FF92FE80FF11DE80FF11DBA +:10280000259134912F3F8FEF380711F41C9212C09D +:10281000ED013C873327220F331FEA85FB85E20F4A +:10282000F31F6591749140E0CD010E94C913898521 +:102830008F5F8987DF91CF91089560E00C94E41356 +:1028400060E00C94BE130F93CF93DF93EC01611102 +:102850005CC08981882309F458C08D89811155C0D5 +:102860002D853E85EA89FB89EE0FFF1FE20FF31FDE +:1028700085919491009701F58989813021F41B8A13 +:102880001A8AF90110C01982888160E0882371F0EA +:10289000CE010E94E413EA89FB89EE0FFF1F8D85AC +:1028A0009E85E80FF91F8591949106C0CE01DF91B6 +:1028B000CF910F910C94AD13BC01769567957695E9 +:1028C000679580FF17C0AC0186E0569547958A95BD +:1028D000E1F7292F26952695269520514F716F7087 +:1028E00000E0CE010E945F13EA89FB893196FB8BE1 +:1028F000EA8BD3CF492F6F7320E0CE010E94901353 +:102900008A899B8901969B8B8A8BDF91CF910F914E +:10291000089560E00C942314CF93DF93EC016111D0 +:10292000BAC08F89882309F4B6C09D89911105C06A +:10293000CE01DF91CF910C94AD1391509D8B8DA161 +:10294000811139C02BA13CA12F5F3F4FC901880FD6 +:10295000991FEF8DF8A1E80FF91F65917491862FEB +:1029600087708EA3AB0163E0569547956A95E1F7B2 +:10297000CA0196958795972F969596959FA38F73E5 +:102980009C81899F802D11248DA341704093FD036C +:102990003CA32BA389A190E02817390760F02AA156 +:1029A000222329F0821B91099CA38BA304C060E021 +:1029B000CE010E94AD138DA181508DA3888D21E0A1 +:1029C000280F288F4C893FA1340F8C85380F3A830C +:1029D0006B8D662361F070E0822F022E000C990B44 +:1029E0000E94981A8C8D869F300D11243A838A811B +:1029F00090E0CB966BE370E00E94981A8A833E8940 +:102A00003B83698D662371F0062E000C770B822FB5 +:102A1000022E000C990B0E94981A8A8D869F300D09 +:102A200011243B836D8D662389F0822F220F990B31 +:102A300070E00E94981ACB0162E070E00E94981A40 +:102A40002E8D9B81289F900D11249B834F3341F045 +:102A50008B818A300CF089E087FD80E08B8301C098 +:102A60001B82F894EA81F0E0E45AFC4FE491E09391 +:102A700000048D8198A5899F802D11249B81899FB9 +:102A8000802D11249EA1899F802D11248093FF0306 +:102A90008093FE037894DF91CF91089560E00C94C9 +:102AA0008C146091FF03662329F1809102048F5FEB +:102AB00080930204909100048917E0F081E09091E6 +:102AC0000104911180E0809301041092020480912E +:102AD000FD03882369F08091000193E4899F802D94 +:102AE0001124895B809300010E94781A9093FE0361 +:102AF0000C94A21308951F920F920FB60F921124F7 +:102B00002F933F934F935F936F937F938F939F93F5 +:102B1000AF93BF93EF93FF930E945115FF91EF91F5 +:102B2000BF91AF919F918F917F916F915F914F91E5 +:102B30003F912F910F900FBE0F901F901895CF933C +:102B4000DF93EC0160E00E94BE1385EA93E09E876C +:102B50008D871B8A1A8A81E0898389E08E8B198E82 +:102B60001B8E1D8EDF91CF910895CF93DF93EC01E3 +:102B700060E00E94BE138DE993E09E878D871B8ADB +:102B80001A8A81E0898389E08E8B198E1B8E1D8EB7 +:102B9000DF91CF910895CF93DF93EC0160E00E9425 +:102BA000BE1387E993E09E878D871B8A1A8A81E08E +:102BB000898389E08E8B198E1B8E1D8EDF91CF91BC +:102BC0000895FC01262F660F330B9681692F70E064 +:102BD0006F5F7F4FC9010E94981A8583089521E095 +:102BE000FC012083089570E085E00C949217AF9269 +:102BF000BF92CF92DF92EF92FF920F931F93CF93EA +:102C0000DF93EC0189819A812FE0289F8001299F21 +:102C1000100D112485E10E947517800F911F24E08B +:102C2000969587952A95E1F79A83898328812223AF +:102C300091F1EC81AD80B12CC12CD12CA885B98546 +:102C40007D0100E010E06E817F819B0140E050E05B +:102C50008617970728F0BC01A817B90708F4BD012B +:102C600080E090E01F921F921F92EF930E94F31951 +:102C70006B830F900F900F900F9070E085E0DF91C5 +:102C8000CF911F910F91FF90EF90DF90CF90BF9069 +:102C9000AF900C949217DF91CF911F910F91FF90FD +:102CA000EF90DF90CF90BF90AF900895FC018CE340 +:102CB0009FE09383828384E0818381E08487089509 +:102CC000CF93DF93FC0124813581232B79F1EC0133 +:102CD00084858F7141F584E10E947517BC01990FBD +:102CE000880B990B0E943E1B26EE3FE34EEC50E40E +:102CF0000E94CA1B0E940D1B9B017B836A83672B6A +:102D000081F084E08983FE01349680E04191519105 +:102D10002417350710F4898309C08F5F8430B1F719 +:102D200002C08FEF89838C858F5F8C87DF91CF9175 +:102D300008951F920F920FB60F9211242F933F9375 +:102D40008F939F93AF93BF93809104049091050458 +:102D5000A0910604B09107043091030423E0230FEF +:102D60002D3720F40196A11DB11D05C026E8230FC3 +:102D70000296A11DB11D2093030480930404909337 +:102D80000504A0930604B093070480910804909171 +:102D90000904A0910A04B0910B040196A11DB11D74 +:102DA0008093080490930904A0930A04B0930B0441 +:102DB000BF91AF919F918F913F912F910F900FBE37 +:102DC0000F901F9018952FB7F8946091040470919C +:102DD000050480910604909107042FBF08953FB722 +:102DE000F8948091080490910904A0910A04B0918C +:102DF0000B0426B5A89B05C02F3F19F00196A11D15 +:102E0000B11D3FBFBA2FA92F982F8827820F911D80 +:102E1000A11DB11DBC01CD0142E0660F771F881FC7 +:102E2000991F4A95D1F70895CF92DF92EF92FF92C2 +:102E3000CF93DF936B017C010E94EF16EB01C1146D +:102E4000D104E104F10479F00E94EF166C1B7D0BB4 +:102E5000683E7340A0F381E0C81AD108E108F10888 +:102E6000C851DC4FECCFDF91CF91FF90EF90DF9016 +:102E7000CF900895789484B5826084BD84B58160D4 +:102E800084BD85B5826085BD85B5816085BDEEE672 +:102E9000F0E0808181608083E1E8F0E01082808151 +:102EA00082608083808181608083E0E8F0E08081BF +:102EB00081608083E1EBF0E0808184608083E0EBDF +:102EC000F0E0808181608083EAE7F0E080818460C7 +:102ED0008083808182608083808181608083808123 +:102EE000806880831092C10008958E3008F08E5063 +:102EF0002091010190E4299F900111248770822B79 +:102F000080937C0080917A00806480937A00809125 +:102F10007A0086FDFCCF809178002091790090E0C6 +:102F2000922B08951F93CF93DF93182FEB0161E04D +:102F30000E941A18209711F460E004C0CF3FD10519 +:102F400039F461E0812FDF91CF911F910C945618D5 +:102F5000E12FF0E0E754FC4FE491E330F9F048F45E +:102F6000E130B9F0E230A1F584B5806284BDC8BD1E +:102F700034C0E630E9F0E73019F1E43049F58091EA +:102F80008000806280938000D0938B00C0938A0081 +:102F900024C084B5806884BDC7BD1FC080918000F7 +:102FA000806880938000D0938900C093880015C00A +:102FB0008091B00080688093B000C093B3000DC0D2 +:102FC0008091B00080628093B000C093B40005C0CF +:102FD000C038D1050CF0B5CFAFCFDF91CF911F91A5 +:102FE0000895833081F028F4813099F08230A1F087 +:102FF00008958630A9F08730B9F08430D1F48091FB +:1030000080008F7D03C0809180008F778093800047 +:10301000089584B58F7702C084B58F7D84BD0895EF +:103020008091B0008F7703C08091B0008F7D809336 +:10303000B0000895CF93DF9390E0FC01E353FC4F81 +:103040002491FC01EF51FC4F8491882361F190E0C1 +:10305000880F991FFC01E75FFB4FC591D491FC01DC +:10306000E150FC4FA591B491611109C09FB7F8944C +:103070008881209582238883EC912E230BC06230B7 +:1030800061F49FB7F8948881322F30958323888329 +:10309000EC912E2B2C939FBF06C08FB7F894E8813C +:1030A0002E2B28838FBFDF91CF9108951F93CF934D +:1030B000DF93282F30E0F901E754FC4F8491F901A8 +:1030C000E353FC4FD491F901EF51FC4FC491CC2351 +:1030D000C1F0162F81110E94F117EC2FF0E0EE0FD6 +:1030E000FF1FE150FC4FA591B4919FB7F8941111C7 +:1030F00004C08C91D095D82302C0EC91DE2BDC93D8 +:103100009FBFDF91CF911F910895CF93DF93282F19 +:1031100030E0F901E754FC4F8491F901E353FC4F8F +:10312000D491F901EF51FC4FC491CC2391F081115E +:103130000E94F117EC2FF0E0EE0FFF1FEB50FC4F59 +:10314000A591B491EC91ED2381E090E021F480E031 +:1031500002C080E090E0DF91CF910895CF92DF929E +:10316000EF92FF920F931F93CF93DF936C01EB01CC +:103170007B01E40EF51E00E010E0CE15DF0561F0E6 +:103180006991D601ED91FC910190F081E02DC6018D +:103190000995080F191FF1CFC801DF91CF911F9139 +:1031A0000F91FF90EF90DF90CF900895611571051A +:1031B00079F0FB0101900020E9F73197AF01461B40 +:1031C000570BDC01ED91FC910280F381E02D099415 +:1031D00080E090E00895EF92FF920F931F93CF93BA +:1031E000DF937C01FB0100E010E06491EF01219688 +:1031F000662361F0D701ED91FC910190F081E02D03 +:10320000C7010995080F191FFE01EFCFC801DF9113 +:10321000CF911F910F91FF90EF900895DC01ED91F8 +:10322000FC910190F081E02D09940F931F93CF93AF +:10323000DF93EC016DE00E940E198C016AE0CE0173 +:103240000E940E19800F911FDF91CF911F910F9156 +:1032500008950F931F93CF93DF93EC010E94EB1817 +:103260008C01CE010E941519800F911FDF91CF9123 +:103270001F910F9108958F929F92AF92BF92CF921C +:10328000DF92EF92FF920F931F93CF93DF93CDB70F +:10329000DEB7A1970FB6F894DEBF0FBECDBF6C01AD +:1032A000142FE52FCB01022F19A2223008F40AE0D7 +:1032B0007E0121E2E20EF11C802E912CA12CB12C7A +:1032C000612F7E2FA50194010E94AC1A029F101954 +:1032D000112481E0E81AF1081A3014F4105D01C0DD +:1032E000195CF7011083122FE32FCA01232B242B23 +:1032F000252B31F7B701C6010E94D618A1960FB64B +:10330000F894DEBF0FBECDBFDF91CF911F910F911B +:10331000FF90EF90DF90CF90BF90AF909F908F90F5 +:1033200008952115310541F4DC01ED91FC910190E6 +:10333000F081E02D642F09940C943B199A01AB01A4 +:1033400060E070E00C949119CF92DF92EF92FF92BF +:103350000F931F93CF93DF932115310581F4DC0187 +:10336000ED91FC910190F081E02D642FDF91CF91E0 +:103370001F910F91FF90EF90DF90CF9009942A302A +:10338000310501F577FF1DC06A017B01EC016DE29B +:103390000E940E198C0144275527BA014C195D096A +:1033A0006E097F092AE0CE010E943B19800F911F10 +:1033B000DF91CF911F910F91FF90EF90DF90CF9011 +:1033C00008952AE0DF91CF911F910F91FF90EF9028 +:1033D000DF90CF900C943B199A01AB01770F660BED +:1033E000770B0C94A4194F925F926F927F92AF92D9 +:1033F000BF92CF92DF92EF92FF920F931F93CF93E2 +:10340000DF93CDB7DEB729013A019B01AC01241946 +:1034100035094609570989899A89AB89BC89BC0154 +:10342000CD016A197B098C099D090E94681AA801BF +:10343000970124193509460957090E94CE1ACA0175 +:10344000B9016A0D7B1D8C1D9D1DDF91CF911F91D0 +:103450000F91FF90EF90DF90CF90BF90AF907F9053 +:103460006F905F904F900895089561E08AE00E9408 +:10347000561861E08AE00E941A188CB580618CBDF4 +:103480008CB580648CBD61E08DE00E941A1861E00B +:103490008BE00C941A18811103C08CB5806202C0B5 +:1034A0008CB58F7D8CBD08959CB5937F892B8CBD89 +:1034B00008959CB59C7F282F2370922B9CBD2DB521 +:1034C00082FB992790F9822F8E7F892B8DBD0895DD +:1034D000DB018F939F930E94ED1ABF91AF91A29F42 +:1034E000800D911DA39F900DB29F900D1124089502 +:1034F000991B79E004C0991F961708F0961B881F46 +:103500007A95C9F780950895AA1BBB1B51E107C0A6 +:10351000AA1FBB1FA617B70710F0A61BB70B881F63 +:10352000991F5A95A9F780959095BC01CD010895F2 +:1035300097FB072E16F4009407D077FD09D00E9460 +:10354000841A07FC05D03EF4909581959F4F08950D +:10355000709561957F4F0895A1E21A2EAA1BBB1B9F +:10356000FD010DC0AA1FBB1FEE1FFF1FA217B3074F +:10357000E407F50720F0A21BB30BE40BF50B661F65 +:10358000771F881F991F1A9469F760957095809529 +:1035900090959B01AC01BD01CF010895052E97FBCD +:1035A0001EF400940E94E51A57FD07D00E94AC1A41 +:1035B00007FC03D04EF40C94E51A509540953095D5 +:1035C00021953F4F4F4F5F4F08959095809570958F +:1035D00061957F4F8F4F9F4F08950E94FE1AA59FC0 +:1035E000900DB49F900DA49F800D911D11240895FE +:1035F000EE0FFF1F0590F491E02D0994A29FB001FA +:10360000B39FC001A39F700D811D1124911DB29F16 +:10361000700D811D1124911D08950E94A91B88F031 +:103620009F5798F0B92F9927B751B0F0E1F0660F86 +:10363000771F881F991F1AF0BA95C9F714C0B130C7 +:1036400091F00E94C31BB1E008950C94C31B672F37 +:10365000782F8827B85F39F0B93FCCF386957795F6 +:103660006795B395D9F73EF49095809570956195DF +:103670007F4F8F4F9F4F0895E89409C097FB3EF40A +:1036800090958095709561957F4F8F4F9F4F9923AF +:10369000A9F0F92F96E9BB279395F695879577952D +:1036A0006795B795F111F8CFFAF4BB0F11F460FFED +:1036B0001BC06F5F7F4F8F4F9F4F16C0882311F045 +:1036C00096E911C0772321F09EE8872F762F05C059 +:1036D000662371F096E8862F70E060E02AF09A95F4 +:1036E000660F771F881FDAF7880F9695879597F9E9 +:1036F000089597F99F6780E870E060E008959FEF74 +:1037000080EC089500240A94161617061806090678 +:10371000089500240A941216130614060506089547 +:10372000092E0394000C11F4882352F0BB0F40F4CF +:10373000BF2B11F460FF04C06F5F7F4F8F4F9F4F0F +:10374000089557FD9058440F551F59F05F3F71F091 +:103750004795880F97FB991F61F09F3F79F08795F8 +:103760000895121613061406551FF2CF4695F1DF81 +:1037700008C0161617061806991FF1CF8695710511 +:10378000610508940895E894BB2766277727CB0145 +:1037900097F908950E94DD1B0C94901B0E94821BD8 +:1037A00038F00E94891B20F0952311F00C94791BAE +:1037B0000C947F1B11240C94C41B0E94A11B70F35A +:1037C000959FC1F3950F50E0551F629FF001729FC6 +:1037D000BB27F00DB11D639FAA27F00DB11DAA1FD5 +:1037E000649F6627B00DA11D661F829F2227B00D22 +:1037F000A11D621F739FB00DA11D621F839FA00DAD +:10380000611D221F749F3327A00D611D231F849FFC +:10381000600D211D822F762F6A2F11249F57504053 +:103820009AF0F1F088234AF0EE0FFF1FBB1F661FCE +:10383000771F881F91505040A9F79E3F510580F097 +:103840000C94791B0C94C41B5F3FE4F3983ED4F3B3 +:10385000869577956795B795F795E7959F5FC1F73B +:10386000FE2B880F911D9695879597F90895DC0199 +:1038700001C06D9341505040E0F70895FB01DC0119 +:103880004150504048F001900D920020C9F701C00E +:0E3890001D9241505040E0F70895F894FFCF8C +:10389E000101001923000000008602000000003420 +:1038AE001A000000000000000000000000000000F0 +:1038BE00002406000000000000000000003B040091 +:1038CE00007E0400005C0400009F04000000000065 +:1038DE0000000000000000000000000000000000DA +:1038EE000000000000000000003906000023060062 +:1038FE00000000000000000000270DAE184C4F41E4 +:04390E0044455200DA :040000030000046A8B :00000001FF diff --git a/Exe/POCKET.MAP b/Exe/POCKET.MAP index fa94013..b3da1f5 100644 --- a/Exe/POCKET.MAP +++ b/Exe/POCKET.MAP @@ -1146,7 +1146,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x0000000000000000 0x3768 +.text 0x0000000000000000 0x389e *(.vectors) .vectors 0x0000000000000000 0x68 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o 0x0000000000000000 __vectors @@ -1335,463 +1335,484 @@ END GROUP .text._ZN11HumanPlayer7handlerEv 0x0000000000000602 0x22 Obj/HumanPlayer.o 0x0000000000000602 _ZN11HumanPlayer7handlerEv + .text._ZN11HumanPlayer10selectUnitEv + 0x0000000000000624 0xba Obj/HumanPlayer.o + 0x0000000000000624 _ZN11HumanPlayer10selectUnitEv .text._ZN6SpriteC2EPKhbhh - 0x0000000000000624 0x16 Obj/Sprite.o - 0x0000000000000624 _ZN6SpriteC2EPKhbhh - 0x0000000000000624 _ZN6SpriteC1EPKhbhh + 0x00000000000006de 0x16 Obj/Sprite.o + 0x00000000000006de _ZN6SpriteC2EPKhbhh + 0x00000000000006de _ZN6SpriteC1EPKhbhh .text._ZN6Sprite4drawEv - 0x000000000000063a 0x6e Obj/Sprite.o - 0x000000000000063a _ZN6Sprite4drawEv + 0x00000000000006f4 0x6e Obj/Sprite.o + 0x00000000000006f4 _ZN6Sprite4drawEv .text._ZN6Sprite6setPosEhh - 0x00000000000006a8 0x8 Obj/Sprite.o - 0x00000000000006a8 _ZN6Sprite6setPosEhh + 0x0000000000000762 0x8 Obj/Sprite.o + 0x0000000000000762 _ZN6Sprite6setPosEhh .text._ZN6PlayerC2EPKc - 0x00000000000006b0 0x8c Obj/Player.o - 0x00000000000006b0 _ZN6PlayerC1EPKc - 0x00000000000006b0 _ZN6PlayerC2EPKc + 0x000000000000076a 0x8c Obj/Player.o + 0x000000000000076a _ZN6PlayerC1EPKc + 0x000000000000076a _ZN6PlayerC2EPKc .text._ZN6Player11handleUnitsEv - 0x000000000000073c 0x2e Obj/Player.o - 0x000000000000073c _ZN6Player11handleUnitsEv + 0x00000000000007f6 0x2e Obj/Player.o + 0x00000000000007f6 _ZN6Player11handleUnitsEv .text._ZN6Player9drawUnitsEv - 0x000000000000076a 0x2e Obj/Player.o - 0x000000000000076a _ZN6Player9drawUnitsEv + 0x0000000000000824 0x2e Obj/Player.o + 0x0000000000000824 _ZN6Player9drawUnitsEv .text._ZN6CameraC2Ev - 0x0000000000000798 0x10 Obj/Camera.o - 0x0000000000000798 _ZN6CameraC1Ev - 0x0000000000000798 _ZN6CameraC2Ev + 0x0000000000000852 0x10 Obj/Camera.o + 0x0000000000000852 _ZN6CameraC1Ev + 0x0000000000000852 _ZN6CameraC2Ev .text._ZNK6Camera4getXEh - 0x00000000000007a8 0xa Obj/Camera.o - 0x00000000000007a8 _ZNK6Camera4getXEh + 0x0000000000000862 0xa Obj/Camera.o + 0x0000000000000862 _ZNK6Camera4getXEh .text._ZNK6Camera4getYEh - 0x00000000000007b2 0xa Obj/Camera.o - 0x00000000000007b2 _ZNK6Camera4getYEh + 0x000000000000086c 0xa Obj/Camera.o + 0x000000000000086c _ZNK6Camera4getYEh .text._ZN6Camera16onLeftBtnPressedER6Cursor - 0x00000000000007bc 0x42 Obj/Camera.o - 0x00000000000007bc _ZN6Camera16onLeftBtnPressedER6Cursor + 0x0000000000000876 0x42 Obj/Camera.o + 0x0000000000000876 _ZN6Camera16onLeftBtnPressedER6Cursor .text._ZN6Camera17onRightBtnPressedER6Cursor - 0x00000000000007fe 0x44 Obj/Camera.o - 0x00000000000007fe _ZN6Camera17onRightBtnPressedER6Cursor + 0x00000000000008b8 0x44 Obj/Camera.o + 0x00000000000008b8 _ZN6Camera17onRightBtnPressedER6Cursor .text._ZN6Camera14onUpBtnPressedER6Cursor - 0x0000000000000842 0x42 Obj/Camera.o - 0x0000000000000842 _ZN6Camera14onUpBtnPressedER6Cursor + 0x00000000000008fc 0x42 Obj/Camera.o + 0x00000000000008fc _ZN6Camera14onUpBtnPressedER6Cursor .text._ZN6Camera16onDownBtnPressedER6Cursor - 0x0000000000000884 0x44 Obj/Camera.o - 0x0000000000000884 _ZN6Camera16onDownBtnPressedER6Cursor + 0x000000000000093e 0x44 Obj/Camera.o + 0x000000000000093e _ZN6Camera16onDownBtnPressedER6Cursor .text._ZNK6Camera8isLockedEv - 0x00000000000008c8 0x6 Obj/Camera.o - 0x00000000000008c8 _ZNK6Camera8isLockedEv + 0x0000000000000982 0x6 Obj/Camera.o + 0x0000000000000982 _ZNK6Camera8isLockedEv .text._ZN8BaseUnitC2Ev - 0x00000000000008ce 0x14 Obj/BaseUnit.o - 0x00000000000008ce _ZN8BaseUnitC1Ev - 0x00000000000008ce _ZN8BaseUnitC2Ev + 0x0000000000000988 0x14 Obj/BaseUnit.o + 0x0000000000000988 _ZN8BaseUnitC1Ev + 0x0000000000000988 _ZN8BaseUnitC2Ev .text._ZN8BaseUnit6createEjj - 0x00000000000008e2 0x10 Obj/BaseUnit.o - 0x00000000000008e2 _ZN8BaseUnit6createEjj + 0x000000000000099c 0x10 Obj/BaseUnit.o + 0x000000000000099c _ZN8BaseUnit6createEjj .text._ZN8BaseUnit7handlerEv - 0x00000000000008f2 0x2 Obj/BaseUnit.o - 0x00000000000008f2 _ZN8BaseUnit7handlerEv + 0x00000000000009ac 0x2 Obj/BaseUnit.o + 0x00000000000009ac _ZN8BaseUnit7handlerEv + .text._ZN8BaseUnit11drawHandlerEPKh + 0x00000000000009ae 0x2a Obj/BaseUnit.o + 0x00000000000009ae _ZN8BaseUnit11drawHandlerEPKh + .text._ZN8BaseUnit7isAliveEv + 0x00000000000009d8 0x6 Obj/BaseUnit.o + 0x00000000000009d8 _ZN8BaseUnit7isAliveEv + .text._ZN8BaseUnit10isSelectedEv + 0x00000000000009de 0x6 Obj/BaseUnit.o + 0x00000000000009de _ZN8BaseUnit10isSelectedEv + .text._ZN8BaseUnit11setSelectedEb + 0x00000000000009e4 0x6 Obj/BaseUnit.o + 0x00000000000009e4 _ZN8BaseUnit11setSelectedEb + .text._ZN8BaseUnit4getXEv + 0x00000000000009ea 0x8 Obj/BaseUnit.o + 0x00000000000009ea _ZN8BaseUnit4getXEv + .text._ZN8BaseUnit4getYEv + 0x00000000000009f2 0x8 Obj/BaseUnit.o + 0x00000000000009f2 _ZN8BaseUnit4getYEv .text._ZN4UnitC2ENS_7tUnitIDE - 0x00000000000008f4 0x1e Obj/Unit.o - 0x00000000000008f4 _ZN4UnitC2ENS_7tUnitIDE - 0x00000000000008f4 _ZN4UnitC1ENS_7tUnitIDE + 0x00000000000009fa 0x1e Obj/Unit.o + 0x00000000000009fa _ZN4UnitC2ENS_7tUnitIDE + 0x00000000000009fa _ZN4UnitC1ENS_7tUnitIDE .text._ZN4Unit6createENS_7tUnitIDEjj - 0x0000000000000912 0x5c Obj/Unit.o - 0x0000000000000912 _ZN4Unit6createENS_7tUnitIDEjj + 0x0000000000000a18 0x5c Obj/Unit.o + 0x0000000000000a18 _ZN4Unit6createENS_7tUnitIDEjj .text._ZN4Unit7handlerEv - 0x000000000000096e 0x4 Obj/Unit.o - 0x000000000000096e _ZN4Unit7handlerEv + 0x0000000000000a74 0x4 Obj/Unit.o + 0x0000000000000a74 _ZN4Unit7handlerEv .text._ZN4Unit11drawHandlerEv - 0x0000000000000972 0x88 Obj/Unit.o - 0x0000000000000972 _ZN4Unit11drawHandlerEv + 0x0000000000000a78 0x9a Obj/Unit.o + 0x0000000000000a78 _ZN4Unit11drawHandlerEv .text._ZL20MainMenuSinglePlayerv - 0x00000000000009fa 0x9e Obj/Menu.o + 0x0000000000000b12 0x9e Obj/Menu.o .text._Z8MainMenuv - 0x0000000000000a98 0x24 Obj/Menu.o - 0x0000000000000a98 _Z8MainMenuv + 0x0000000000000bb0 0x24 Obj/Menu.o + 0x0000000000000bb0 _Z8MainMenuv .text._ZN6CursorC2Ev - 0x0000000000000abc 0xc Obj/Cursor.o - 0x0000000000000abc _ZN6CursorC1Ev - 0x0000000000000abc _ZN6CursorC2Ev + 0x0000000000000bd4 0xc Obj/Cursor.o + 0x0000000000000bd4 _ZN6CursorC1Ev + 0x0000000000000bd4 _ZN6CursorC2Ev .text._ZN6Cursor4moveEaa - 0x0000000000000ac8 0x3c Obj/Cursor.o - 0x0000000000000ac8 _ZN6Cursor4moveEaa + 0x0000000000000be0 0x3c Obj/Cursor.o + 0x0000000000000be0 _ZN6Cursor4moveEaa .text._ZN6Cursor4getXEv - 0x0000000000000b04 0x6 Obj/Cursor.o - 0x0000000000000b04 _ZN6Cursor4getXEv + 0x0000000000000c1c 0x6 Obj/Cursor.o + 0x0000000000000c1c _ZN6Cursor4getXEv .text._ZN6Cursor4getYEv - 0x0000000000000b0a 0x6 Obj/Cursor.o - 0x0000000000000b0a _ZN6Cursor4getYEv + 0x0000000000000c22 0x6 Obj/Cursor.o + 0x0000000000000c22 _ZN6Cursor4getYEv .text._ZN6Cursor11isXCenteredEv - 0x0000000000000b10 0xe Obj/Cursor.o - 0x0000000000000b10 _ZN6Cursor11isXCenteredEv + 0x0000000000000c28 0xe Obj/Cursor.o + 0x0000000000000c28 _ZN6Cursor11isXCenteredEv .text._ZN6Cursor11isYCenteredEv - 0x0000000000000b1e 0x10 Obj/Cursor.o - 0x0000000000000b1e _ZN6Cursor11isYCenteredEv + 0x0000000000000c36 0x10 Obj/Cursor.o + 0x0000000000000c36 _ZN6Cursor11isYCenteredEv .text._ZN11HumanPlayer13onBBtnPressedEv - 0x0000000000000b2e 0x2 Obj/HumanPlayerBtn.o - 0x0000000000000b2e _ZN11HumanPlayer13onBBtnPressedEv + 0x0000000000000c46 0x2 Obj/HumanPlayerBtn.o + 0x0000000000000c46 _ZN11HumanPlayer13onBBtnPressedEv .text._ZN11HumanPlayer14onABtnReleasedEv - 0x0000000000000b30 0x2a Obj/HumanPlayerBtn.o - 0x0000000000000b30 _ZN11HumanPlayer14onABtnReleasedEv + 0x0000000000000c48 0x2a Obj/HumanPlayerBtn.o + 0x0000000000000c48 _ZN11HumanPlayer14onABtnReleasedEv .text._ZN11HumanPlayer13onABtnPressedEv - 0x0000000000000b5a 0x1e Obj/HumanPlayerBtn.o - 0x0000000000000b5a _ZN11HumanPlayer13onABtnPressedEv + 0x0000000000000c72 0x3c Obj/HumanPlayerBtn.o + 0x0000000000000c72 _ZN11HumanPlayer13onABtnPressedEv .text._ZN11HumanPlayer26playerButtonPressedHandlerEj - 0x0000000000000b78 0x50 Obj/HumanPlayerBtn.o - 0x0000000000000b78 _ZN11HumanPlayer26playerButtonPressedHandlerEj + 0x0000000000000cae 0x50 Obj/HumanPlayerBtn.o + 0x0000000000000cae _ZN11HumanPlayer26playerButtonPressedHandlerEj .text._ZN11HumanPlayer26cameraButtonPressedHandlerEj - 0x0000000000000bc8 0xa0 Obj/HumanPlayerBtn.o - 0x0000000000000bc8 _ZN11HumanPlayer26cameraButtonPressedHandlerEj + 0x0000000000000cfe 0xa0 Obj/HumanPlayerBtn.o + 0x0000000000000cfe _ZN11HumanPlayer26cameraButtonPressedHandlerEj .text._ZN11HumanPlayer27playerButtonReleasedHandlerEj - 0x0000000000000c68 0x50 Obj/HumanPlayerBtn.o - 0x0000000000000c68 _ZN11HumanPlayer27playerButtonReleasedHandlerEj + 0x0000000000000d9e 0x50 Obj/HumanPlayerBtn.o + 0x0000000000000d9e _ZN11HumanPlayer27playerButtonReleasedHandlerEj .text._ZN11HumanPlayer13buttonHandlerEv - 0x0000000000000cb8 0x46 Obj/HumanPlayerBtn.o - 0x0000000000000cb8 _ZN11HumanPlayer13buttonHandlerEv + 0x0000000000000dee 0x46 Obj/HumanPlayerBtn.o + 0x0000000000000dee _ZN11HumanPlayer13buttonHandlerEv .text._ZN7Buttons5beginEv - 0x0000000000000cfe 0x20 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000cfe _ZN7Buttons5beginEv + 0x0000000000000e34 0x20 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000000e34 _ZN7Buttons5beginEv .text._ZN7Buttons6updateEv - 0x0000000000000d1e 0x5a ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000d1e _ZN7Buttons6updateEv + 0x0000000000000e54 0x5a ../lib/libgamebuino.a(Buttons.o) + 0x0000000000000e54 _ZN7Buttons6updateEv .text._ZN7Buttons7pressedEh - 0x0000000000000d78 0x12 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000d78 _ZN7Buttons7pressedEh + 0x0000000000000eae 0x12 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000000eae _ZN7Buttons7pressedEh .text._ZN7Buttons8releasedEh - 0x0000000000000d8a 0x12 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000d8a _ZN7Buttons8releasedEh + 0x0000000000000ec0 0x12 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000000ec0 _ZN7Buttons8releasedEh .text._ZN7Buttons6repeatEhh - 0x0000000000000d9c 0x30 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000d9c _ZN7Buttons6repeatEhh + 0x0000000000000ed2 0x30 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000000ed2 _ZN7Buttons6repeatEhh .text._ZN7Buttons8timeHeldEh - 0x0000000000000dcc 0x10 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000dcc _ZN7Buttons8timeHeldEh + 0x0000000000000f02 0x10 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000000f02 _ZN7Buttons8timeHeldEh .text._ZN8SPIClass8transferEh - 0x0000000000000ddc 0xc ../lib/libgamebuino.a(Display.o) - 0x0000000000000ddc _ZN8SPIClass8transferEh + 0x0000000000000f12 0xc ../lib/libgamebuino.a(Display.o) + 0x0000000000000f12 _ZN8SPIClass8transferEh .text._ZN7Display9drawPixelEaa - 0x0000000000000de8 0xb8 ../lib/libgamebuino.a(Display.o) - 0x0000000000000de8 _ZN7Display9drawPixelEaa + 0x0000000000000f1e 0xb8 ../lib/libgamebuino.a(Display.o) + 0x0000000000000f1e _ZN7Display9drawPixelEaa .text._ZN7Display7commandEh - 0x0000000000000ea0 0x3c ../lib/libgamebuino.a(Display.o) - 0x0000000000000ea0 _ZN7Display7commandEh + 0x0000000000000fd6 0x3c ../lib/libgamebuino.a(Display.o) + 0x0000000000000fd6 _ZN7Display7commandEh .text._ZN7Display5clearEv - 0x0000000000000edc 0x22 ../lib/libgamebuino.a(Display.o) - 0x0000000000000edc _ZN7Display5clearEv + 0x0000000000001012 0x22 ../lib/libgamebuino.a(Display.o) + 0x0000000000001012 _ZN7Display5clearEv .text._ZN7Display6updateEv - 0x0000000000000efe 0x8a ../lib/libgamebuino.a(Display.o) - 0x0000000000000efe _ZN7Display6updateEv + 0x0000000000001034 0x8a ../lib/libgamebuino.a(Display.o) + 0x0000000000001034 _ZN7Display6updateEv .text._ZN7Display8setColorEa - 0x0000000000000f88 0x8 ../lib/libgamebuino.a(Display.o) - 0x0000000000000f88 _ZN7Display8setColorEa + 0x00000000000010be 0x8 ../lib/libgamebuino.a(Display.o) + 0x00000000000010be _ZN7Display8setColorEa .text._ZN7Display8setColorEaa - 0x0000000000000f90 0x8 ../lib/libgamebuino.a(Display.o) - 0x0000000000000f90 _ZN7Display8setColorEaa + 0x00000000000010c6 0x8 ../lib/libgamebuino.a(Display.o) + 0x00000000000010c6 _ZN7Display8setColorEaa .text._ZN7Display13drawFastVLineEaaa - 0x0000000000000f98 0x38 ../lib/libgamebuino.a(Display.o) - 0x0000000000000f98 _ZN7Display13drawFastVLineEaaa + 0x00000000000010ce 0x38 ../lib/libgamebuino.a(Display.o) + 0x00000000000010ce _ZN7Display13drawFastVLineEaaa .text._ZN7Display13drawFastHLineEaaa - 0x0000000000000fd0 0x38 ../lib/libgamebuino.a(Display.o) - 0x0000000000000fd0 _ZN7Display13drawFastHLineEaaa + 0x0000000000001106 0x38 ../lib/libgamebuino.a(Display.o) + 0x0000000000001106 _ZN7Display13drawFastHLineEaaa .text._ZN7Display8drawRectEaaaa - 0x0000000000001008 0x50 ../lib/libgamebuino.a(Display.o) - 0x0000000000001008 _ZN7Display8drawRectEaaaa + 0x000000000000113e 0x50 ../lib/libgamebuino.a(Display.o) + 0x000000000000113e _ZN7Display8drawRectEaaaa .text._ZN7Display8fillRectEaaaa - 0x0000000000001058 0x52 ../lib/libgamebuino.a(Display.o) - 0x0000000000001058 _ZN7Display8fillRectEaaaa + 0x000000000000118e 0x52 ../lib/libgamebuino.a(Display.o) + 0x000000000000118e _ZN7Display8fillRectEaaaa .text._ZN7Display16drawCircleHelperEaaah - 0x00000000000010aa 0xfc ../lib/libgamebuino.a(Display.o) - 0x00000000000010aa _ZN7Display16drawCircleHelperEaaah + 0x00000000000011e0 0xfc ../lib/libgamebuino.a(Display.o) + 0x00000000000011e0 _ZN7Display16drawCircleHelperEaaah .text._ZN7Display16fillCircleHelperEaaaha - 0x00000000000011a6 0xcc ../lib/libgamebuino.a(Display.o) - 0x00000000000011a6 _ZN7Display16fillCircleHelperEaaaha + 0x00000000000012dc 0xcc ../lib/libgamebuino.a(Display.o) + 0x00000000000012dc _ZN7Display16fillCircleHelperEaaaha .text._ZN7Display13drawRoundRectEaaaaa - 0x0000000000001272 0xbe ../lib/libgamebuino.a(Display.o) - 0x0000000000001272 _ZN7Display13drawRoundRectEaaaaa + 0x00000000000013a8 0xbe ../lib/libgamebuino.a(Display.o) + 0x00000000000013a8 _ZN7Display13drawRoundRectEaaaaa .text._ZN7Display13fillRoundRectEaaaaa - 0x0000000000001330 0x6e ../lib/libgamebuino.a(Display.o) - 0x0000000000001330 _ZN7Display13fillRoundRectEaaaaa + 0x0000000000001466 0x6e ../lib/libgamebuino.a(Display.o) + 0x0000000000001466 _ZN7Display13fillRoundRectEaaaaa .text._ZN7Display10drawBitmapEaaPKh - 0x000000000000139e 0x288 ../lib/libgamebuino.a(Display.o) - 0x000000000000139e _ZN7Display10drawBitmapEaaPKh + 0x00000000000014d4 0x288 ../lib/libgamebuino.a(Display.o) + 0x00000000000014d4 _ZN7Display10drawBitmapEaaPKh .text._ZN7Display7setFontEPKh - 0x0000000000001626 0x28 ../lib/libgamebuino.a(Display.o) - 0x0000000000001626 _ZN7Display7setFontEPKh + 0x000000000000175c 0x28 ../lib/libgamebuino.a(Display.o) + 0x000000000000175c _ZN7Display7setFontEPKh .text._ZN7Display5beginEaaaaa - 0x000000000000164e 0x180 ../lib/libgamebuino.a(Display.o) - 0x000000000000164e _ZN7Display5beginEaaaaa + 0x0000000000001784 0x180 ../lib/libgamebuino.a(Display.o) + 0x0000000000001784 _ZN7Display5beginEaaaaa .text._ZN7Display8drawCharEaahh - 0x00000000000017ce 0x14a ../lib/libgamebuino.a(Display.o) - 0x00000000000017ce _ZN7Display8drawCharEaahh + 0x0000000000001904 0x14a ../lib/libgamebuino.a(Display.o) + 0x0000000000001904 _ZN7Display8drawCharEaahh .text._ZN7Display5writeEh - 0x0000000000001918 0x66 ../lib/libgamebuino.a(Display.o) - 0x0000000000001918 _ZN7Display5writeEh + 0x0000000000001a4e 0x66 ../lib/libgamebuino.a(Display.o) + 0x0000000000001a4e _ZN7Display5writeEh .text._ZN9Gamebuino11updatePopupEv - 0x000000000000197e 0xe0 ../lib/libgamebuino.a(Gamebuino.o) - 0x000000000000197e _ZN9Gamebuino11updatePopupEv + 0x0000000000001ab4 0xe0 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000001ab4 _ZN9Gamebuino11updatePopupEv .text._ZN9Gamebuino14displayBatteryEv - 0x0000000000001a5e 0x168 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000001a5e _ZN9Gamebuino14displayBatteryEv + 0x0000000000001b94 0x168 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000001b94 _ZN9Gamebuino14displayBatteryEv .text._ZN9Gamebuino6updateEv - 0x0000000000001bc6 0x176 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000001bc6 _ZN9Gamebuino6updateEv + 0x0000000000001cfc 0x176 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000001cfc _ZN9Gamebuino6updateEv .text._ZN9Gamebuino4menuEPKPKch - 0x0000000000001d3c 0x29c ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000001d3c _ZN9Gamebuino4menuEPKPKch + 0x0000000000001e72 0x29c ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000001e72 _ZN9Gamebuino4menuEPKPKch .text._ZN9Gamebuino10changeGameEv - 0x0000000000001fd8 0x7a ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000001fd8 _ZN9Gamebuino10changeGameEv + 0x000000000000210e 0x7a ../lib/libgamebuino.a(Gamebuino.o) + 0x000000000000210e _ZN9Gamebuino10changeGameEv .text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh - 0x0000000000002052 0x27c ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000002052 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh + 0x0000000000002188 0x27c ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002188 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh .text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelper - 0x00000000000022ce 0x8 ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000022ce _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper + 0x0000000000002404 0x8 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002404 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper .text._ZN9Gamebuino17settingsAvailableEv - 0x00000000000022d6 0x14 ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000022d6 _ZN9Gamebuino17settingsAvailableEv + 0x000000000000240c 0x14 ../lib/libgamebuino.a(Gamebuino.o) + 0x000000000000240c _ZN9Gamebuino17settingsAvailableEv .text._ZN9Gamebuino12readSettingsEv - 0x00000000000022ea 0xde ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000022ea _ZN9Gamebuino12readSettingsEv + 0x0000000000002420 0xde ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002420 _ZN9Gamebuino12readSettingsEv .text._ZN9Gamebuino5beginEv - 0x00000000000023c8 0xb6 ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000023c8 _ZN9Gamebuino5beginEv + 0x00000000000024fe 0xb6 ../lib/libgamebuino.a(Gamebuino.o) + 0x00000000000024fe _ZN9Gamebuino5beginEv .text._ZN9Gamebuino14getDefaultNameEPc - 0x000000000000247e 0x2c ../lib/libgamebuino.a(Gamebuino.o) - 0x000000000000247e _ZN9Gamebuino14getDefaultNameEPc + 0x00000000000025b4 0x2c ../lib/libgamebuino.a(Gamebuino.o) + 0x00000000000025b4 _ZN9Gamebuino14getDefaultNameEPc .text._ZN5Sound7commandEhhah.part.0 - 0x00000000000024aa 0x74 ../lib/libgamebuino.a(Sound.o) + 0x00000000000025e0 0x74 ../lib/libgamebuino.a(Sound.o) .text._ZN5Sound5beginEv - 0x000000000000251e 0x6a ../lib/libgamebuino.a(Sound.o) - 0x000000000000251e _ZN5Sound5beginEv + 0x0000000000002654 0x6a ../lib/libgamebuino.a(Sound.o) + 0x0000000000002654 _ZN5Sound5beginEv .text._ZN5Sound7commandEhhah - 0x0000000000002588 0x62 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002588 _ZN5Sound7commandEhhah + 0x00000000000026be 0x62 ../lib/libgamebuino.a(Sound.o) + 0x00000000000026be _ZN5Sound7commandEhhah .text._ZN5Sound8playNoteEhhh - 0x00000000000025ea 0x24 ../lib/libgamebuino.a(Sound.o) - 0x00000000000025ea _ZN5Sound8playNoteEhhh + 0x0000000000002720 0x24 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002720 _ZN5Sound8playNoteEhhh .text._ZN5Sound12updateOutputEv - 0x000000000000260e 0x16 ../lib/libgamebuino.a(Sound.o) - 0x000000000000260e _ZN5Sound12updateOutputEv + 0x0000000000002744 0x16 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002744 _ZN5Sound12updateOutputEv .text._ZN5Sound8stopNoteEh - 0x0000000000002624 0x22 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002624 _ZN5Sound8stopNoteEh + 0x000000000000275a 0x22 ../lib/libgamebuino.a(Sound.o) + 0x000000000000275a _ZN5Sound8stopNoteEh .text._ZN5Sound11stopPatternEh - 0x0000000000002646 0x16 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002646 _ZN5Sound11stopPatternEh + 0x000000000000277c 0x16 ../lib/libgamebuino.a(Sound.o) + 0x000000000000277c _ZN5Sound11stopPatternEh .text._ZN5Sound11playPatternEPKjh - 0x000000000000265c 0x36 ../lib/libgamebuino.a(Sound.o) - 0x000000000000265c _ZN5Sound11playPatternEPKjh + 0x0000000000002792 0x36 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002792 _ZN5Sound11playPatternEPKjh .text._ZN5Sound11updateTrackEh - 0x0000000000002692 0x72 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002692 _ZN5Sound11updateTrackEh + 0x00000000000027c8 0x72 ../lib/libgamebuino.a(Sound.o) + 0x00000000000027c8 _ZN5Sound11updateTrackEh .text._ZN5Sound11updateTrackEv - 0x0000000000002704 0x6 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002704 _ZN5Sound11updateTrackEv + 0x000000000000283a 0x6 ../lib/libgamebuino.a(Sound.o) + 0x000000000000283a _ZN5Sound11updateTrackEv .text._ZN5Sound11stopPatternEv - 0x000000000000270a 0x6 ../lib/libgamebuino.a(Sound.o) - 0x000000000000270a _ZN5Sound11stopPatternEv + 0x0000000000002840 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002840 _ZN5Sound11stopPatternEv .text._ZN5Sound13updatePatternEh - 0x0000000000002710 0xcc ../lib/libgamebuino.a(Sound.o) - 0x0000000000002710 _ZN5Sound13updatePatternEh + 0x0000000000002846 0xcc ../lib/libgamebuino.a(Sound.o) + 0x0000000000002846 _ZN5Sound13updatePatternEh .text._ZN5Sound13updatePatternEv - 0x00000000000027dc 0x6 ../lib/libgamebuino.a(Sound.o) - 0x00000000000027dc _ZN5Sound13updatePatternEv + 0x0000000000002912 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002912 _ZN5Sound13updatePatternEv .text._ZN5Sound10updateNoteEh - 0x00000000000027e2 0x184 ../lib/libgamebuino.a(Sound.o) - 0x00000000000027e2 _ZN5Sound10updateNoteEh + 0x0000000000002918 0x184 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002918 _ZN5Sound10updateNoteEh .text._ZN5Sound10updateNoteEv - 0x0000000000002966 0x6 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002966 _ZN5Sound10updateNoteEv + 0x0000000000002a9c 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002a9c _ZN5Sound10updateNoteEv .text._ZN5Sound14generateOutputEv - 0x000000000000296c 0x54 ../lib/libgamebuino.a(Sound.o) - 0x000000000000296c _ZN5Sound14generateOutputEv + 0x0000000000002aa2 0x54 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002aa2 _ZN5Sound14generateOutputEv .text.__vector_11 - 0x00000000000029c0 0x48 ../lib/libgamebuino.a(Sound.o) - 0x00000000000029c0 __vector_11 + 0x0000000000002af6 0x48 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002af6 __vector_11 .text._ZN5Sound6playOKEv - 0x0000000000002a08 0x2c ../lib/libgamebuino.a(Sound.o) - 0x0000000000002a08 _ZN5Sound6playOKEv + 0x0000000000002b3e 0x2c ../lib/libgamebuino.a(Sound.o) + 0x0000000000002b3e _ZN5Sound6playOKEv .text._ZN5Sound10playCancelEv - 0x0000000000002a34 0x2c ../lib/libgamebuino.a(Sound.o) - 0x0000000000002a34 _ZN5Sound10playCancelEv + 0x0000000000002b6a 0x2c ../lib/libgamebuino.a(Sound.o) + 0x0000000000002b6a _ZN5Sound10playCancelEv .text._ZN5Sound8playTickEv - 0x0000000000002a60 0x2c ../lib/libgamebuino.a(Sound.o) - 0x0000000000002a60 _ZN5Sound8playTickEv + 0x0000000000002b96 0x2c ../lib/libgamebuino.a(Sound.o) + 0x0000000000002b96 _ZN5Sound8playTickEv .text._ZN5Sound9setVolumeEa - 0x0000000000002a8c 0x1c ../lib/libgamebuino.a(Sound.o) - 0x0000000000002a8c _ZN5Sound9setVolumeEa + 0x0000000000002bc2 0x1c ../lib/libgamebuino.a(Sound.o) + 0x0000000000002bc2 _ZN5Sound9setVolumeEa .text._ZN9Backlight5beginEv - 0x0000000000002aa8 0x8 ../lib/libgamebuino.a(Backlight.o) - 0x0000000000002aa8 _ZN9Backlight5beginEv + 0x0000000000002bde 0x8 ../lib/libgamebuino.a(Backlight.o) + 0x0000000000002bde _ZN9Backlight5beginEv .text._ZN9Backlight3setEh - 0x0000000000002ab0 0x8 ../lib/libgamebuino.a(Backlight.o) - 0x0000000000002ab0 _ZN9Backlight3setEh + 0x0000000000002be6 0x8 ../lib/libgamebuino.a(Backlight.o) + 0x0000000000002be6 _ZN9Backlight3setEh .text._ZN9Backlight6updateEv - 0x0000000000002ab8 0xbe ../lib/libgamebuino.a(Backlight.o) - 0x0000000000002ab8 _ZN9Backlight6updateEv + 0x0000000000002bee 0xbe ../lib/libgamebuino.a(Backlight.o) + 0x0000000000002bee _ZN9Backlight6updateEv .text._ZN7Battery5beginEv - 0x0000000000002b76 0x14 ../lib/libgamebuino.a(Battery.o) - 0x0000000000002b76 _ZN7Battery5beginEv + 0x0000000000002cac 0x14 ../lib/libgamebuino.a(Battery.o) + 0x0000000000002cac _ZN7Battery5beginEv .text._ZN7Battery6updateEv - 0x0000000000002b8a 0x72 ../lib/libgamebuino.a(Battery.o) - 0x0000000000002b8a _ZN7Battery6updateEv + 0x0000000000002cc0 0x72 ../lib/libgamebuino.a(Battery.o) + 0x0000000000002cc0 _ZN7Battery6updateEv .text.__vector_16 - 0x0000000000002bfc 0x94 ../lib/libarduino.a(wiring.o) - 0x0000000000002bfc __vector_16 - .text.millis 0x0000000000002c90 0x18 ../lib/libarduino.a(wiring.o) - 0x0000000000002c90 millis - .text.micros 0x0000000000002ca8 0x4a ../lib/libarduino.a(wiring.o) - 0x0000000000002ca8 micros - .text.delay 0x0000000000002cf2 0x4c ../lib/libarduino.a(wiring.o) - 0x0000000000002cf2 delay - .text.init 0x0000000000002d3e 0x76 ../lib/libarduino.a(wiring.o) - 0x0000000000002d3e init + 0x0000000000002d32 0x94 ../lib/libarduino.a(wiring.o) + 0x0000000000002d32 __vector_16 + .text.millis 0x0000000000002dc6 0x18 ../lib/libarduino.a(wiring.o) + 0x0000000000002dc6 millis + .text.micros 0x0000000000002dde 0x4a ../lib/libarduino.a(wiring.o) + 0x0000000000002dde micros + .text.delay 0x0000000000002e28 0x4c ../lib/libarduino.a(wiring.o) + 0x0000000000002e28 delay + .text.init 0x0000000000002e74 0x76 ../lib/libarduino.a(wiring.o) + 0x0000000000002e74 init .text.analogRead - 0x0000000000002db4 0x3a ../lib/libarduino.a(wiring_analog.o) - 0x0000000000002db4 analogRead + 0x0000000000002eea 0x3a ../lib/libarduino.a(wiring_analog.o) + 0x0000000000002eea analogRead .text.analogWrite - 0x0000000000002dee 0xbe ../lib/libarduino.a(wiring_analog.o) - 0x0000000000002dee analogWrite + 0x0000000000002f24 0xbe ../lib/libarduino.a(wiring_analog.o) + 0x0000000000002f24 analogWrite .text.turnOffPWM - 0x0000000000002eac 0x52 ../lib/libarduino.a(wiring_digital.o) - .text.pinMode 0x0000000000002efe 0x78 ../lib/libarduino.a(wiring_digital.o) - 0x0000000000002efe pinMode + 0x0000000000002fe2 0x52 ../lib/libarduino.a(wiring_digital.o) + .text.pinMode 0x0000000000003034 0x78 ../lib/libarduino.a(wiring_digital.o) + 0x0000000000003034 pinMode .text.digitalWrite - 0x0000000000002f76 0x5e ../lib/libarduino.a(wiring_digital.o) - 0x0000000000002f76 digitalWrite + 0x00000000000030ac 0x5e ../lib/libarduino.a(wiring_digital.o) + 0x00000000000030ac digitalWrite .text.digitalRead - 0x0000000000002fd4 0x52 ../lib/libarduino.a(wiring_digital.o) - 0x0000000000002fd4 digitalRead + 0x000000000000310a 0x52 ../lib/libarduino.a(wiring_digital.o) + 0x000000000000310a digitalRead .text._ZN5Print5writeEPKhj - 0x0000000000003026 0x50 ../lib/libarduino.a(Print.o) - 0x0000000000003026 _ZN5Print5writeEPKhj + 0x000000000000315c 0x50 ../lib/libarduino.a(Print.o) + 0x000000000000315c _ZN5Print5writeEPKhj .text._ZN5Print5writeEPKc - 0x0000000000003076 0x2a ../lib/libarduino.a(Print.o) - 0x0000000000003076 _ZN5Print5writeEPKc + 0x00000000000031ac 0x2a ../lib/libarduino.a(Print.o) + 0x00000000000031ac _ZN5Print5writeEPKc .text._ZN5Print5printEPK19__FlashStringHelper - 0x00000000000030a0 0x46 ../lib/libarduino.a(Print.o) - 0x00000000000030a0 _ZN5Print5printEPK19__FlashStringHelper + 0x00000000000031d6 0x46 ../lib/libarduino.a(Print.o) + 0x00000000000031d6 _ZN5Print5printEPK19__FlashStringHelper .text._ZN5Print5printEc - 0x00000000000030e6 0xe ../lib/libarduino.a(Print.o) - 0x00000000000030e6 _ZN5Print5printEc + 0x000000000000321c 0xe ../lib/libarduino.a(Print.o) + 0x000000000000321c _ZN5Print5printEc .text._ZN5Print7printlnEv - 0x00000000000030f4 0x28 ../lib/libarduino.a(Print.o) - 0x00000000000030f4 _ZN5Print7printlnEv + 0x000000000000322a 0x28 ../lib/libarduino.a(Print.o) + 0x000000000000322a _ZN5Print7printlnEv .text._ZN5Print7printlnEPK19__FlashStringHelper - 0x000000000000311c 0x24 ../lib/libarduino.a(Print.o) - 0x000000000000311c _ZN5Print7printlnEPK19__FlashStringHelper + 0x0000000000003252 0x24 ../lib/libarduino.a(Print.o) + 0x0000000000003252 _ZN5Print7printlnEPK19__FlashStringHelper .text._ZN5Print11printNumberEmh - 0x0000000000003140 0xac ../lib/libarduino.a(Print.o) - 0x0000000000003140 _ZN5Print11printNumberEmh + 0x0000000000003276 0xac ../lib/libarduino.a(Print.o) + 0x0000000000003276 _ZN5Print11printNumberEmh .text._ZN5Print5printEmi - 0x00000000000031ec 0x1a ../lib/libarduino.a(Print.o) - 0x00000000000031ec _ZN5Print5printEmi + 0x0000000000003322 0x1a ../lib/libarduino.a(Print.o) + 0x0000000000003322 _ZN5Print5printEmi .text._ZN5Print5printEji - 0x0000000000003206 0xc ../lib/libarduino.a(Print.o) - 0x0000000000003206 _ZN5Print5printEji + 0x000000000000333c 0xc ../lib/libarduino.a(Print.o) + 0x000000000000333c _ZN5Print5printEji .text._ZN5Print5printEli - 0x0000000000003212 0x90 ../lib/libarduino.a(Print.o) - 0x0000000000003212 _ZN5Print5printEli + 0x0000000000003348 0x90 ../lib/libarduino.a(Print.o) + 0x0000000000003348 _ZN5Print5printEli .text._ZN5Print5printEii - 0x00000000000032a2 0xe ../lib/libarduino.a(Print.o) - 0x00000000000032a2 _ZN5Print5printEii + 0x00000000000033d8 0xe ../lib/libarduino.a(Print.o) + 0x00000000000033d8 _ZN5Print5printEii .text._Z3maplllll - 0x00000000000032b0 0x82 ../lib/libarduino.a(WMath.o) - 0x00000000000032b0 _Z3maplllll + 0x00000000000033e6 0x82 ../lib/libarduino.a(WMath.o) + 0x00000000000033e6 _Z3maplllll .text.__cxa_pure_virtual - 0x0000000000003332 0x2 ../lib/libarduino.a(forward.o) - 0x0000000000003332 __cxa_pure_virtual + 0x0000000000003468 0x2 ../lib/libarduino.a(forward.o) + 0x0000000000003468 __cxa_pure_virtual .text._ZN8SPIClass5beginEv - 0x0000000000003334 0x2c ../lib/libarduino.a(SPI.o) - 0x0000000000003334 _ZN8SPIClass5beginEv + 0x000000000000346a 0x2c ../lib/libarduino.a(SPI.o) + 0x000000000000346a _ZN8SPIClass5beginEv .text._ZN8SPIClass11setBitOrderEh - 0x0000000000003360 0x12 ../lib/libarduino.a(SPI.o) - 0x0000000000003360 _ZN8SPIClass11setBitOrderEh + 0x0000000000003496 0x12 ../lib/libarduino.a(SPI.o) + 0x0000000000003496 _ZN8SPIClass11setBitOrderEh .text._ZN8SPIClass11setDataModeEh - 0x0000000000003372 0xa ../lib/libarduino.a(SPI.o) - 0x0000000000003372 _ZN8SPIClass11setDataModeEh + 0x00000000000034a8 0xa ../lib/libarduino.a(SPI.o) + 0x00000000000034a8 _ZN8SPIClass11setDataModeEh .text._ZN8SPIClass15setClockDividerEh - 0x000000000000337c 0x1e ../lib/libarduino.a(SPI.o) - 0x000000000000337c _ZN8SPIClass15setClockDividerEh + 0x00000000000034b2 0x1e ../lib/libarduino.a(SPI.o) + 0x00000000000034b2 _ZN8SPIClass15setClockDividerEh .text.libgcc.mul - 0x000000000000339a 0x20 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_mulsi3.o) - 0x000000000000339a __mulsi3 + 0x00000000000034d0 0x20 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_mulsi3.o) + 0x00000000000034d0 __mulsi3 .text.libgcc.div - 0x00000000000033ba 0x18 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodqi4.o) - 0x00000000000033ba __udivmodqi4 + 0x00000000000034f0 0x18 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodqi4.o) + 0x00000000000034f0 __udivmodqi4 .text.libgcc.div - 0x00000000000033d2 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodhi4.o) - 0x00000000000033d2 __udivmodhi4 + 0x0000000000003508 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodhi4.o) + 0x0000000000003508 __udivmodhi4 .text.libgcc.div - 0x00000000000033fa 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodhi4.o) - 0x00000000000033fa __divmodhi4 - 0x00000000000033fa _div + 0x0000000000003530 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodhi4.o) + 0x0000000000003530 __divmodhi4 + 0x0000000000003530 _div .text.libgcc.div - 0x0000000000003422 0x44 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodsi4.o) - 0x0000000000003422 __udivmodsi4 + 0x0000000000003558 0x44 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodsi4.o) + 0x0000000000003558 __udivmodsi4 .text.libgcc.div - 0x0000000000003466 0x2e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodsi4.o) - 0x0000000000003466 __divmodsi4 + 0x000000000000359c 0x2e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodsi4.o) + 0x000000000000359c __divmodsi4 .text.libgcc.div - 0x0000000000003494 0x10 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_negsi2.o) - 0x0000000000003494 __negsi2 + 0x00000000000035ca 0x10 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_negsi2.o) + 0x00000000000035ca __negsi2 .text.libgcc.mul - 0x00000000000034a4 0x16 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_muluhisi3.o) - 0x00000000000034a4 __muluhisi3 - .text.libgcc 0x00000000000034ba 0xc /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_tablejump2.o) - 0x00000000000034ba __tablejump2__ + 0x00000000000035da 0x16 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_muluhisi3.o) + 0x00000000000035da __muluhisi3 + .text.libgcc 0x00000000000035f0 0xc /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_tablejump2.o) + 0x00000000000035f0 __tablejump2__ .text.libgcc.mul - 0x00000000000034c6 0x1e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_umulhisi3.o) - 0x00000000000034c6 __umulhisi3 + 0x00000000000035fc 0x1e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_umulhisi3.o) + 0x00000000000035fc __umulhisi3 .text.avr-libc.fplib - 0x00000000000034e4 0x5e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fixunssfsi.o) - 0x00000000000034e4 __fixunssfsi + 0x000000000000361a 0x5e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fixunssfsi.o) + 0x000000000000361a __fixunssfsi .text.avr-libc.fplib - 0x0000000000003542 0x7a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(floatsisf.o) - 0x0000000000003542 __floatunsisf - 0x0000000000003546 __floatsisf + 0x0000000000003678 0x7a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(floatsisf.o) + 0x0000000000003678 __floatunsisf + 0x000000000000367c __floatsisf .text.avr-libc.fplib - 0x00000000000035bc 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_inf.o) - 0x00000000000035bc __fp_inf + 0x00000000000036f2 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_inf.o) + 0x00000000000036f2 __fp_inf .text.avr-libc.fplib - 0x00000000000035c8 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_nan.o) - 0x00000000000035c8 __fp_nan + 0x00000000000036fe 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_nan.o) + 0x00000000000036fe __fp_nan .text.avr-libc.fplib - 0x00000000000035ce 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscA.o) - 0x00000000000035ce __fp_pscA + 0x0000000000003704 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscA.o) + 0x0000000000003704 __fp_pscA .text.avr-libc.fplib - 0x00000000000035dc 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscB.o) - 0x00000000000035dc __fp_pscB + 0x0000000000003712 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscB.o) + 0x0000000000003712 __fp_pscB .text.avr-libc.fplib - 0x00000000000035ea 0x22 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_round.o) - 0x00000000000035ea __fp_round + 0x0000000000003720 0x22 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_round.o) + 0x0000000000003720 __fp_round .text.avr-libc.fplib - 0x000000000000360c 0x44 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_split3.o) - 0x000000000000360c __fp_split3 - 0x000000000000361c __fp_splitA + 0x0000000000003742 0x44 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_split3.o) + 0x0000000000003742 __fp_split3 + 0x0000000000003752 __fp_splitA .text.avr-libc.fplib - 0x0000000000003650 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_zero.o) - 0x0000000000003650 __fp_zero - 0x0000000000003652 __fp_szero + 0x0000000000003786 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_zero.o) + 0x0000000000003786 __fp_zero + 0x0000000000003788 __fp_szero .text.avr-libc.fplib - 0x000000000000365e 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3.o) - 0x000000000000365e __mulsf3 + 0x0000000000003794 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3.o) + 0x0000000000003794 __mulsf3 .text.avr-libc.fplib - 0x0000000000003666 0xd2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3x.o) - 0x0000000000003684 __mulsf3x - 0x000000000000368a __mulsf3_pse + 0x000000000000379c 0xd2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3x.o) + 0x00000000000037ba __mulsf3x + 0x00000000000037c0 __mulsf3_pse .text.avr-libc - 0x0000000000003738 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(memset.o) - 0x0000000000003738 memset + 0x000000000000386e 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(memset.o) + 0x000000000000386e memset .text.avr-libc - 0x0000000000003746 0x1e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(strncpy.o) - 0x0000000000003746 strncpy - 0x0000000000003764 . = ALIGN (0x2) + 0x000000000000387c 0x1e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(strncpy.o) + 0x000000000000387c strncpy + 0x000000000000389a . = ALIGN (0x2) *(.fini9) - .fini9 0x0000000000003764 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) - 0x0000000000003764 exit - 0x0000000000003764 _exit + .fini9 0x000000000000389a 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) + 0x000000000000389a exit + 0x000000000000389a _exit *(.fini9) *(.fini8) *(.fini8) @@ -1810,11 +1831,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x0000000000003764 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) + .fini0 0x000000000000389a 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) *(.fini0) - 0x0000000000003768 _etext = . + 0x000000000000389e _etext = . -.data 0x0000000000800100 0x74 load address 0x0000000000003768 +.data 0x0000000000800100 0x74 load address 0x000000000000389e 0x0000000000800100 PROVIDE (__data_start, .) *(.data) *(.data*) @@ -1887,8 +1908,8 @@ END GROUP 0x0000000000800408 timer0_overflow_count *(COMMON) 0x000000000080040c PROVIDE (__bss_end, .) - 0x0000000000003768 __data_load_start = LOADADDR (.data) - 0x00000000000037dc __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x000000000000389e __data_load_start = LOADADDR (.data) + 0x0000000000003912 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x000000000080040c 0x0 [!provide] PROVIDE (__noinit_start, .) diff --git a/HumanPlayer.cpp b/HumanPlayer.cpp index 02bda69..b432d18 100644 --- a/HumanPlayer.cpp +++ b/HumanPlayer.cpp @@ -61,9 +61,9 @@ static const PROGMEM uint8_t au8MouseSprData[] = *********************************************************************/ HumanPlayer::HumanPlayer(const char* const strPlayerName, const Camera& cam) : Player(strPlayerName), +_eState(PLAYER_STATE_IDLE), _cam(cam), -_ABtnFrames(0), -_eState(PLAYER_STATE_IDLE) +_ABtnFrames(0) { _unitsMap[0].create(Unit::UNIT_ID_PEASANT, 16, 16); } @@ -121,7 +121,7 @@ void HumanPlayer::drawHandler(void) * \see \ref tPlayerState. * *********************************************************************/ -enum tPlayerState HumanPlayer::selectUnit(void) +enum HumanPlayer::tPlayerState HumanPlayer::selectUnit(void) { for (size_t szUnit = 0; szUnit < MAX_UNITS; szUnit++) { @@ -132,10 +132,42 @@ enum tPlayerState HumanPlayer::selectUnit(void) { if (not u.isSelected()) { + enum + { + /* Maximum distance, in pixels, + * between unit and cursor + * in order to select a unit. */ + MAX_SELECTION_DISTANCE = 8 + }; + /* Extract Unit object X position. */ const uint16_t x = u.getX(); -#error ("TODO") + /* Extract Unit object Y position. */ + const uint16_t y = u.getY(); + + /* Extract cursor X. */ + const uint16_t cx = _cursor.getX(); + + /* Extract cursor Y. */ + const uint16_t cy = _cursor.getY(); + + /* Calculate X distance between cursor and unit. */ + const uint16_t x_dist = (uint16_t)abs((int)x - (int)cx); + + /* Calculate Y distance between cursor and unit. */ + const uint16_t y_dist = (uint16_t)abs((int)y - (int)cy); + + if ((x_dist < MAX_SELECTION_DISTANCE) + && + (y_dist < MAX_SELECTION_DISTANCE)) + { + /* Select unit. */ + u.setSelected(true); + + /* Player has entered unit selection mode. */ + return PLAYER_STATE_UNIT_SELECTED; + } } else { @@ -147,4 +179,6 @@ enum tPlayerState HumanPlayer::selectUnit(void) /* Unit is not alive. Continue. */ } } + + return PLAYER_STATE_IDLE; } diff --git a/PocketEmpires.geany b/PocketEmpires.geany index 42bae1c..a96f26d 100644 --- a/PocketEmpires.geany +++ b/PocketEmpires.geany @@ -28,7 +28,7 @@ long_line_behaviour=1 long_line_column=120 [files] -current_page=36 +current_page=33 FILE_NAME_0=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2Fmain.cpp;0;4 FILE_NAME_1=3821;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMenu.cpp;0;4 FILE_NAME_2=549;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.cpp;0;4 @@ -38,35 +38,31 @@ FILE_NAME_5=611;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad. FILE_NAME_6=1102;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPlayer.h;0;4 FILE_NAME_7=453;Make;0;EUTF-8;1;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMakefile;0;4 FILE_NAME_8=2168;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSystem.cpp;0;4 -FILE_NAME_9=1689;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4 +FILE_NAME_9=1115;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4 FILE_NAME_10=1827;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPlayer.cpp;0;4 FILE_NAME_11=2960;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FGame.cpp;0;4 FILE_NAME_12=571;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FGame.h;0;4 FILE_NAME_13=2317;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCamera.cpp;0;4 -FILE_NAME_14=1129;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.h;0;4 -FILE_NAME_15=1743;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.cpp;0;4 +FILE_NAME_14=1249;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.h;0;4 +FILE_NAME_15=1779;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.cpp;0;4 FILE_NAME_16=575;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSystem.h;0;4 -FILE_NAME_17=2863;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.h;0;4 +FILE_NAME_17=5880;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.h;0;4 FILE_NAME_18=7987;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FGamebuino.cpp;0;4 FILE_NAME_19=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FGamebuino.h;0;4 FILE_NAME_20=3497;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FButtons.cpp;0;4 FILE_NAME_21=1135;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FButtons.h;0;4 FILE_NAME_22=3441;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2Fsettings.c;0;4 FILE_NAME_23=19868;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.cpp;0;4 -FILE_NAME_24=3082;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4 -FILE_NAME_25=1289;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4 -FILE_NAME_26=1511;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.h;0;4 -FILE_NAME_27=1197;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.cpp;0;4 -FILE_NAME_28=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBarracksSpr.i;0;4 -FILE_NAME_29=937;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMouseSpr.i;0;4 -FILE_NAME_30=225;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPeasantSpr.i;0;4 -FILE_NAME_31=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSoldierSpr.i;0;4 -FILE_NAME_32=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTowerSpr.i;0;4 -FILE_NAME_33=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTownCentre.i;0;4 -FILE_NAME_34=2402;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.cpp;0;4 -FILE_NAME_35=1300;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.h;0;4 -FILE_NAME_36=3994;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4 -FILE_NAME_37=6419;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.cpp;0;4 +FILE_NAME_24=1181;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4 +FILE_NAME_25=1096;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.h;0;4 +FILE_NAME_26=3832;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.cpp;0;4 +FILE_NAME_27=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTownCentre.i;0;4 +FILE_NAME_28=2402;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.cpp;0;4 +FILE_NAME_29=1300;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.h;0;4 +FILE_NAME_30=2718;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4 +FILE_NAME_31=6501;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.cpp;0;4 +FILE_NAME_32=1485;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Finclude%2Farduino%2FArduino.h;0;4 +FILE_NAME_33=2398;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4 [VTE] last_dir=/home/xavier/PocketEmpires/src diff --git a/Sprite.cpp b/Sprite.cpp index 2a5c3dc..49ee2bd 100644 --- a/Sprite.cpp +++ b/Sprite.cpp @@ -48,7 +48,7 @@ const Camera* _cam; * Sprite rotation. Default value is NOROT. * *********************************************************************/ -Sprite::Sprite(const uint8_t* pu8SprData, const bool followCam, const uint8_t u8Colour, const uint8_t rotation) : +Sprite::Sprite(const uint8_t* const pu8SprData, const bool followCam, const uint8_t u8Colour, const uint8_t rotation) : _pu8SprData(pu8SprData), _followCam(followCam), _colour(u8Colour), diff --git a/Sprite.h b/Sprite.h index afe9db1..20b30a9 100644 --- a/Sprite.h +++ b/Sprite.h @@ -34,7 +34,7 @@ extern const Camera* _cam; class Sprite { public: - Sprite( const uint8_t* pu8SprData, + Sprite( const uint8_t* const pu8SprData, const bool followCam = true, const uint8_t u8Colour = BLACK, const uint8_t rotation = NOFLIP); diff --git a/Unit.cpp b/Unit.cpp index 89e218e..f06fd5c 100644 --- a/Unit.cpp +++ b/Unit.cpp @@ -128,6 +128,8 @@ void Unit::drawHandler(void) spr.setPos(_x, _y); spr.draw(); + + BaseUnit::drawHandler(pu8UnitSpriteData); } else { -- cgit v1.2.3