diff --git a/Coordinates.cpp b/Coordinates.cpp new file mode 100644 index 0000000..95fd398 --- /dev/null +++ b/Coordinates.cpp @@ -0,0 +1,75 @@ +/* ******************************************************************* + * Includes + * ******************************************************************/ + +#include "Coordinates.h" + +/* ******************************************************************* + * Defines + * ******************************************************************/ + +/* ******************************************************************* + * Types definition + * ******************************************************************/ + +/* ******************************************************************* + * Global variables definition + * ******************************************************************/ + +/* ******************************************************************* + * Local variables definition + * ******************************************************************/ + +/* ******************************************************************* + * Local prototypes declaration + * ******************************************************************/ + +/* ******************************************************************* + * Functions definition + * ******************************************************************/ + +/*****************************************************************//** + * + * \brief Constructor for Coordinates class. + * + *********************************************************************/ +Coordinates::Coordinates(const Coordinates::tPos x, const Coordinates::tPos y) : +_x(x), +_y(y) +{ +} + +/*****************************************************************//** + * + * \brief Reportedly, returns X coordinate position. + * + *********************************************************************/ +Coordinates::tPos Coordinates::getX(void) const +{ + return _x; +} + +/*****************************************************************//** + * + * \brief Reportedly, returns Y coordinate position. + * + *********************************************************************/ +Coordinates::tPos Coordinates::getY(void) const +{ + return _y; +} + +/*****************************************************************//** + * + * \brief This function adds X/Y coordinates to a Coordinates + * object. Overloaded function for \ref Coordinates objects. + * + * \param + * + *********************************************************************/ +Coordinates Coordinates::operator+(const Coordinates& c) const +{ + const Coordinates::tPos x = c.getX() + _x; + const Coordinates::tPos y = c.getY() + _y; + return Coordinates(x, y); +} diff --git a/Coordinates.h b/Coordinates.h new file mode 100644 index 0000000..8a5e05e --- /dev/null +++ b/Coordinates.h @@ -0,0 +1,45 @@ +#ifndef COORDINATES_H__ +#define COORDINATES_H__ + +/* ******************************************************************* + * Includes + * ******************************************************************/ + +#include +#include + +/* ******************************************************************* + * Defines + * ******************************************************************/ + +/* ******************************************************************* + * Global types definition + * ******************************************************************/ + +/* ******************************************************************* + * Global variables declaration + * ******************************************************************/ + +/* ******************************************************************* + * Global functions declaration + * ******************************************************************/ + +/* ******************************************************************* + * Class definition + * ******************************************************************/ + +class Coordinates +{ + public: + typedef uint16_t tPos; + explicit Coordinates(const tPos x, const tPos y); + Coordinates operator+(const Coordinates& c) const; + tPos getX(void) const; + tPos getY(void) const; + + private: + tPos _x; + tPos _y; +}; + +#endif /* COORDINATES_H__ */ diff --git a/Exe/POCKET.ELF b/Exe/POCKET.ELF index 963332b..461589b 100755 Binary files a/Exe/POCKET.ELF and b/Exe/POCKET.ELF differ diff --git a/Exe/POCKET.HEX b/Exe/POCKET.HEX index 1527a20..bdb807d 100644 --- a/Exe/POCKET.HEX +++ b/Exe/POCKET.HEX @@ -1,8 +1,8 @@ :100000000C940B020C9433020C9433020C943302C4 :100010000C9433020C9433020C9433020C9433028C -:100020000C9433020C9433020C9433020C947B1521 +:100020000C9433020C9433020C9433020C94A616F5 :100030000C9433020C9433020C9433020C9433026C -:100040000C9499160C9433020C9433020C943302E2 +:100040000C94C4170C9433020C9433020C943302B6 :100050000C9433020C9433020C9433020C9433024C :100060000C9433020C943302526573756D65005124 :100070007569740068006F000808FC848884A2D148 @@ -64,853 +64,891 @@ :1003F000030303030300000000230026002900007C :10040000000000250028002B000000000024002729 :10041000002A00007B0211241FBECFEFD8E0DEBF10 -:10042000CDBF11E0A0E0B1E0EEE9F8E302C0059035 +:10042000CDBF11E0A0E0B1E0E4EFFAE302C0059037 :100430000D92A437B107D9F724E0A4E7B1E001C0D9 -:100440001D92AC30B207E1F712E0CBE0D2E004C07D -:100450002197FE010E94F81ACA30D107C9F70E94FD -:1004600035020C944D1C0C9400000E9475020E94F1 -:10047000D805FDCFEF92FF920F931F93CF93DF9399 +:100440001D92AE30B207E1F712E0CBE0D2E004C07B +:100450002197FE010E94231CCA30D107C9F70E94D0 +:1004600035020C94781D0C9400000E9475020E94C5 +:100470007A06FDCFEF92FF920F931F93CF93DF93F6 :100480007C01C0E0D0E000E010E0F701828190E064 :100490000817190768F4808191818C0F9D1F0097C0 -:1004A00011F00E9401030F5F1F4FC15ADE4FEDCFC5 -:1004B00084E791E00E947E0E8823D1F366E08EE708 -:1004C00091E00E9460078823E1F242E064E770E077 -:1004D00084E791E00E94390F813099F6DF91CF9146 -:1004E0001F910F91FF90EF9008950E943A1784E7B3 -:1004F00091E00C947F121092C5011092C40189E61C +:1004A00011F00E9404030F5F1F4FCE5DDD4FEDCFB3 +:1004B00084E791E00E94A90F8823D1F366E08EE7DC +:1004C00091E00E948B088823E1F242E064E770E04B +:1004D00084E791E00E946410813099F6DF91CF911A +:1004E0001F910F91FF90EF9008950E94651884E787 +:1004F00091E00C94AA131092C5011092C40189E6F0 :1005000091E09093C3018093C2010895EF92FF920E :100510000F931F93CF93DF93CDB7DEB727970FB617 -:10052000F894DEBF0FBECDBF7C010E941204F7011C -:10053000E85AFE4F80819181019769F461E082EC75 -:1005400091E00E945F0808E024E548E260E082EC68 -:1005500091E00E949F0800E022E040E068E770E040 -:10056000CE0101960E946F0384EAE81A8EEFF80A22 -:10057000C7010E941106182FC7010E940E06412FC5 -:10058000682FCE0101960E94B103CE0101960E9410 -:100590007A0327960FB6F894DEBF0FBECDBFDF916A +:10052000F894DEBF0FBECDBF7C010E942004F7010E +:10053000E85EFD4F80819181019769F461E082EC72 +:1005400091E00E948A0908E024E548E260E082EC3C +:1005500091E00E94CA0900E022E040E068E770E014 +:10056000CE0101960E94720384EEE81A8DEFF80A1C +:10057000C7010E94B506182FC7010E94B206412F7D +:10058000682FCE0101960E94BF03CE0101960E9402 +:100590007D0327960FB6F894DEBF0FBECDBFDF9167 :1005A000CF911F910F91FF90EF9008950F931F939C -:1005B000CF93DF93EC018A010E94B50389E091E0BB -:1005C00099838883FE01E85AFE4F11821082329689 -:1005D00011830083CE01845A9E4F0E94EA05FE01DA -:1005E000E25AFE4F108220E130E040E150E061E04D -:1005F00070E0CE014896DF91CF911F910F910C943E -: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 +:1005B000CF93DF93EC018A010E94C30389E091E0AD +:1005C00099838883FE01E85EFD4F11821082329686 +:1005D00011830083B801CE01845E9D4F0E948C067A +:1005E000FE01E05EFD4F10823196108220E130E086 +:1005F00040E150E061E070E0CE014896DF91CF919C +:100600001F910F910C946705CF93DF93EC010E942B +:100610001A08CE010E940904E881F9810190F08155 +:10062000E02DCE01DF91CF9109949F92AF92BF92BE +:10063000CF92DF92EF92FF920F931F93CF93DF93AE +:10064000EC0168966C0128EEC21A2DEFD20A8C01DB +:10065000045E1D4FCE010E944105882389F1CE0121 +:100660000E94440581112CC0CE010E944A055C0104 +:10067000CE010E944E057C01C8010E94B806982E4A +:10068000C8010E94C00695012919310937FF03C02E +:100690003195219531092032310594F49701281BB9 +:1006A0003109C90137FF03C0919581959109809760 +:1006B0003CF461E0CE010E94470582E090E006C074 +:1006C0006096CC15DD0531F680E090E0DF91CF91AA +:1006D0001F910F91FF90EF90DF90CF90BF90AF9060 +:1006E0009F9008950F93FC0171836083428323835D +:1006F0000483158216820F9108950F931F93CF9351 +:10070000DF93EC0140E06B8182EC91E00E948E0966 +:100710008091FB019091FC01009729F12A816D8164 +:10072000222329F070E00E944B048C0101C0062FA7 +:100730009A818E81992341F0682F70E08091FB01AE +:100740009091FC010E9453042881398121153105C3 +:1007500051F0482F602F82EC91E0DF91CF911F91F3 +:100760000F910C94950BDF91CF911F910F910895EC +:10077000FC01849108950196FC0184910895FC0187 +:10078000658346830895AF92BF92CF92DF92EF9236 +:10079000FF920F931F93CF93DF93EC016B018FE0D8 +:1007A00091E0998388837E0188E0E80EF11C80E166 +:1007B000F70111928A95E9F78E01085E1F4F5E01DD +:1007C000F8EEAF1AFDEFBF0A60E070E0C8010E94CA +:1007D0005205005F1F4F0A151B05B1F7C114D10464 +:1007E00031F040E150E0B601C7010E94691D43E0CD +:1007F00050E06CE271E0CE010296DF91CF911F9143 +:100800000F91FF90EF90DF90CF90BF90AF900C943E +:10081000621D0F931F93CF93DF938C01085E1F4FD0 +:10082000EC01C85EDD4FC8010E949F05005F1F4FAD +:100830000C171D07C1F7DF91CF911F910F910895FC +:100840000F931F93CF93DF938C01085E1F4FEC0132 +:10085000C85EDD4FC8010E94C905005F1F4F0C171D +:100860001D07C1F7DF91CF911F910F910895FC01F2 +:100870001082128211821482138215820895FC0163 +:1008800081819281860F971F0895FC018381948155 +:10089000860F971F0895FC01818192819B01281B7F +:1008A000390BC9010895FC01838194819B01281BA8 +:1008B000390BC90108950F931F93CF93DF93EC0178 +:1008C0008B01CB010E94C806811109C040E06CEF8A +:1008D000C801DF91CF911F910F910C9494068981EB +:1008E0009A818430910594F304979A838983DF91E8 +:1008F000CF911F910F9108950F931F93CF93DF9383 +:10090000EC018B01CB010E94C806811109C040E0B7 +:1009100064E0C801DF91CF911F910F910C94940670 +:1009200089819A81811522E092078CF704969A8337 +:100930008983DF91CF911F910F9108950F931F939A +:10094000CF93DF93EC018B01CB010E94CF06811185 +:1009500009C04CEF60E0C801DF91CF911F910F916A +:100960000C9494068B819C811816190694F70497B1 +:100970009C838B83DF91CF911F910F9108950F93EB +:100980001F93CF93DF93EC018B01CB010E94CF0625 +:10099000811109C044E060E0C801DF91CF911F914F +:1009A0000F910C9494068B819C81811522E0920713 +:1009B0008CF704969C838B83DF91CF911F910F91CD +:1009C0000895FC0180810895FC0111821082128239 +:1009D000138215821482178216820895FC0181E029 +:1009E0008283758364835783468308950895909323 +:1009F000FE018093FD010895DF92EF92FF920F9325 +:100A00001F93CF93DF93FC012381222391F18B016C +:100A10007C01CB010E94B803C82FC8010E94BB0310 +:100A2000082F8091FD019091FE01009711F1D0E017 +:100A3000F701648175816C1B7D0B0E944B04D82EDD +:100A400010E0F70166817781601B710B8091FD01D9 +:100A50009091FE010E945304000F111F9E01220F6E +:100A6000331F52E0E52E482F6D2D82EC91E00E945D +:100A7000FF0ADF91CF911F910F91FF90EF90DF90D0 +:100A80000895FC0182810895FC0183810895FC0191 +:100A900063830895FC01848195810895FC0186811A +:100AA000978108950F931F93CF93DF93EC018B01F0 +:100AB0000E94E404198708871B861A861D861C86F7 +:100AC0001F861E86DF91CF911F910F910895EF929F +:100AD000FF920F931F93CF93DF9300D01F92CDB758 +:100AE000DEB77C018B01BA01A9010E94EE04F70177 +:100AF000118700878091020190910301A091040168 +:100B000089839A83AB83FE01E00FF11F818190E01E +:100B1000F701918380830F900F900F90DF91CF9119 +:100B20001F910F91FF90EF900895FC0175876487E6 +:100B30005787468781E090E0938782870895CF9317 +:100B4000DF93EC010E94F6048A859B850197F1F4FE +:100B50008C819D812C853D858217930710F4019629 +:100B600004C02817390718F401979D838C838E8160 +:100B70009F812E853F858217930710F4019604C04C +:100B80002817390718F401979F838E83DF91CF913F +:100B90000895CF92DF92EF92FF920F931F93CF931E +:100BA000DF93CDB7DEB72D970FB6F894DEBF0FBE3B +:100BB000CDBFFC012085318523303105BCF57C019A +:100BC0001986188682E890E09B878A871D861C8696 +:100BD000220F331FE1E0F0E0EC0FFD1FE20FF31FE7 +:100BE000C780D08400E021E041E0B601CE0101964B +:100BF0000E947203F7010681C6010E94BB0386951D +:100C0000081BF7011481C6010E94B8038695612F65 +:100C1000681B402FCE0101960E94BF03CE010196B2 +:100C20000E947D03B601C7010E94FC042D960FB6F9 +:100C3000F894DEBF0FBECDBFDF91CF911F910F9112 +:100C4000FF90EF90DF90CF900895CF92DF92EF92D8 +:100C5000FF920F931F93CF93DF93CDB7DEB7C753A8 +:100C6000D2400FB6F894DEBF0FBECDBF8E010D5D32 +:100C70001D4F8AE0F80111928A95E9F7B80184E7DF +:100C800091E00E9405147E01F3EDEF1AFDEFFF0ADB +:100C9000C7010E943704A701B801CE0101966C017B +:100CA0000E94D602005F1F4F85E0F80111928A95DD +:100CB000E9F781E0F8018283D182C082F482E38285 +:100CC000F092FC01E092FB01C7010E94F704C80109 +:100CD0000E943A02C95CDD4F0FB6F894DEBF0FBE2A +:100CE000CDBFDF91CF911F910F91FF90EF90DF90DB +:100CF000CF9008956EEB70E084E791E00E942D1391 +:100D000043E068EB70E084E791E00E946410811199 +:100D100002C00C9425060895FC0188E2808386E1D8 +:100D20008183738362830895FC019081262F062EB0 +:100D3000000C330B290F311D97FD3A9529323105EF +:100D400010F4960F90838181242F042E000C330B16 +:100D5000280F311D87FD3A952731310510F4840F96 +:100D600081830895FC0180810895FC0181810895AB +:100D7000FC01608170E0828193810E943F040895AC +:100D8000FC01618170E0828193810E944504089595 +:100D9000FC0181E09081983209F080E0089521E023 +:100DA000FC018181863109F020E0822F0895DC0169 +:100DB000A85EBD4F2D913C911197FC01E05EFD4F67 +:100DC0002230310539F48081853020F081E090E0D7 +:100DD0008D939C9310820895AF92BF92CF92DF9231 +:100DE000FF920F931F93CF93DF93EC016C0188EE7A +:100DF000C81A8DEFD80AF60180819181029701F51A +:100E00008E01085E1F4F5E01F4EEAF1AFDEFBF0AC0 +:100E1000C8010E944405882371F0C5010E94B806EC +:100E2000F82EC5010E94C006482F50E06F2D70E0DB +:100E3000C8010E949505005F1F4F0C151D0541F765 +:100E4000CF5DDD4F1882DF91CF911F910F91FF9001 +:100E5000DF90CF90BF90AF900895EF92FF920F93E5 +:100E60001F93CF93DF938C010F5D1D4FF8012081FD +:100E70002F5F20832A30C8F07C01F8EEEF1AFDEFD7 +:100E8000FF0AF701208131812230310561F4EC0144 +:100E9000689660E0CE010E9447056096CE15DF059A +:100EA000C1F719821882F8011082DF91CF911F914A +:100EB0000F91FF90EF900895CF93DF93EC01C85E00 +:100EC000DD4F288139812115310521F0223031058E +:100ED00031F00DC00E9415039983888308C0FC017E +:100EE000E05EFD4F80818F3F11F08F5F8083DF9147 +:100EF000CF910895DB01AA0FBB1FAA0FBB1FA75BF1 +:100F0000BE4FED91FC91119712962D913C91139744 +:100F1000A90141705527309719F44115510589F001 +:100F200035952795452B51F0DC01A20FB31F4D914C +:100F30005C91E40FF51F0190F081E02D820F931F6B +:100F400009940895EF92FF920F931F93CF93DF932D +:100F50008C01EB017C0186EEE81A8DEFF80AD701CF +:100F60008D919C910E94E104811135C0DE01AA0F90 +:100F7000BB1FAA0FBB1FA35DBE4FED91FC91119744 +:100F800012968D919C9113979C0121703327309775 +:100F900019F421153105F9F095958795232B61F00A +:100FA000E701A881B981A80FB91F2D913C91E20FEB +:100FB000F31F0190F081E02DB801645E7D4FD701F1 +:100FC0002D913C91820F931FDF91CF911F910F9133 +:100FD000FF90EF900994DF91CF911F910F91FF90B7 +:100FE000EF900895DB01AA0FBB1FAA0FBB1FAF5ED6 +:100FF000BE4FED91FC91119712962D913C91139754 +:10100000A90141705527309719F44115510589F010 +:1010100035952795452B51F0DC01A20FB31F4D915B +:101020005C91E40FF51F0190F081E02D820F931F7A +:10103000099408950F931F93CF93DF938C01C0E021 +:10104000D0E06C2F8EE791E00E94AC08882349F035 +:10105000BE01C8010E947A07BE01C8010E94A20712 +:101060000BC06C2F8EE791E00E948B08882321F043 +:10107000BE01C8010E94F2072196C730D10509F7C9 +:10108000DF91CF911F910F910895FC0188E080833B +:1010900089E0818387E0828386E0838384E08483A0 +:1010A00082E0858381E186830895FF920F931F93E9 +:1010B000CF93DF93EC018C01095F1F4FFF24FA945B +:1010C00062E088810E94451988810E94B0192F81B1 +:1010D000892B19F42F5F2F8307C0222349F02F3F5C +:1010E00011F41F8201C0FF8260E088810E944519CF +:1010F0002196C017D10721F7DF91CF911F910F9152 +:10110000FF900895FC01E60FF11D81E09781913079 +:1011100009F080E00895FC01E60FF11D81E0978160 +:101120009F3F09F080E00895262F30E0FC01E20F98 +:10113000F31F423030F49781915081E09E3F58F088 +:1011400009C087818F3F31F0642F0E94A31B81E08B +:10115000913009F080E00895860F911DFC01878190 +:101160008F3F09F480E008958EBD0DB407FEFDCFDA +:101170008EB50895DC01643508F057C0403308F09F +:1011800054C090969C919097E42FE595E595E59550 +:10119000262F062E000C330B542F57709230A1F4DB +:1011A000D90184E5E802A00DB11D1124A150BE4F64 +:1011B0008C9190E0052E02C0959587950A94E2F7F0 +:1011C0008095982F91700CC0933051F41C968C919F +:1011D0006427062E000C770B682760FF03C014C03D +:1011E000911112C084E5E802200D311D1124F9018E +:1011F000E150FE4F81E090E001C0880F5A95EAF778 +:1012000080959081892310C084E5E802200D311D6E +:101210001124F901E150FE4F81E090E001C0880FF8 +:101220005A95EAF79081892B808308951F93CF9375 +:10123000DF93EC01162FF89460E08F850E948119EE +:10124000888918161CF460E00E948119812F0E9481 +:10125000B408888918161CF461E00E9481197894FA +:10126000DF91CF911F91089528EF31E0EFEFF1E08A +:10127000DF01A9011D9241505040E1F7DC011996B0 +:101280001C9219971A961C920895CF92DF92EF92B2 +:10129000FF920F931F93CF93DF93EC018C858F5FA9 +:1012A0008C878FEFE82E81E0F82E10E0612F6064CC +:1012B000CE010E94160960E8CE010E94160961E085 +:1012C0008F850E948119888918161CF460E00E949D +:1012D0008119670104E5F60181916F010E94B4084C +:1012E0000150C9F7888918161CF461E00E94811921 +:1012F0001F5FF4E5EF0EF11C1630C1F660E4CE017D +:10130000DF91CF911F910F91FF90EF90DF90CF90E1 +:101310000C941609FC0160A361A30895FC0160A36D +:1013200041A30895EF92FF920F931F93CF93DF9302 +:101330008C01D62FF42EE22EC0E0CE1544F44F2DB2 +:101340004C0F6D2FC8010E94BA08CF5FF6CFDF9116 +:10135000CF911F910F91FF90EF900895EF92FF9220 +:101360000F931F93CF93DF938C01F62ED42FE22E91 +:10137000C0E0CE1544F46F2D6C0F4D2FC8010E94B4 +:10138000BA08CF5FF6CFDF91CF911F910F91FF90F9 +:10139000EF900895EF92FF920F931F93CF93DF93F7 +:1013A0007C01C62F142FD22F0E94AE094FEF400FA1 +:1013B000410F2D2F6C2FC7010E94AE09202F412F06 +:1013C0006C2FC7010E9492096FEF6D0F6C0F202FD9 +:1013D000412FC701DF91CF911F910F91FF90EF90A7 +:1013E0000C949209DF92EF92FF920F931F93CF9389 +:1013F000DF937C01D62FD22EC42F002E000C110BB0 +:10140000040F111D47FD1A958C2F0C2E000C990B03 +:101410008017910744F42D2D4C2F6D2FC7010E948A +:10142000AE09CF5FF1CFDF91CF911F910F91FF9068 +:10143000EF90DF9008958F929F92AF92BF92CF92DC +:10144000DF92EF92FF920F931F93CF93DF937C0174 +:10145000162FD42EC22F81E0C82EC21AB22EB194FC +:10146000BB0CD0E0802F8470A82E802F8270982E25 +:10147000802F8870882E0170DC170CF04DC0C7FCDF +:1014800004C0C150B394B394CB0CDF5F8D2F880F91 +:101490008F5FC80EAA2071F04D2D4C0F612F6D0F7C +:1014A000C7010E94BA084D2D4D0F6C2F610FC70167 +:1014B0000E94BA08992071F04D2D4C1B612F6D0FC1 +:1014C000C7010E94BA084D2D4D1B6C2F610FC7013B +:1014D0000E94BA08882071F04D2D4D0F612F6C1BB2 +:1014E000C7010E94BA084D2D4C0F612F6D1BC7011B +:1014F0000E94BA08002309F4BFCF4D2D4D1B612F68 +:101500006C1BC7010E94BA084D2D4C1B612F6D1B2F +:10151000C7010E94BA08B0CFDF91CF911F910F9100 +:10152000FF90EF90DF90CF90BF90AF909F908F9003 +:1015300008958F929F92AF92BF92CF92DF92EF92D7 +:10154000FF920F931F93CF93DF936C01A62E942EDF +:10155000C22F11E0121BF22EF194FF0C83E0B82E83 +:10156000BE0CD1E0802F8170882EE39402708FEF43 +:101570008D0F8C17BCF517FD04C0C150F394F39484 +:101580001F0D8D2F880F8F5F180F882091F02C2F43 +:10159000220F2E0D492D4C1B6D2F6A0DC6010E9486 +:1015A00092092B2D492D4D1B6C2F6A0DC6010E94EF +:1015B0009209011104C0DF5FB394B394D8CF2C2FEC +:1015C000220F2E0D492D4C1B6A2D6D1BC6010E944A +:1015D00092092B2D492D4D1B6A2D6C1BC6010E94B3 +:1015E0009209E9CFDF91CF911F910F91FF90EF907A +:1015F000DF90CF90BF90AF909F908F9008959F9273 +:10160000AF92BF92CF92DF92EF92FF920F931F9310 +:10161000CF93DF936C01C62FD42FB22EAE2CAA0C21 +:10162000922E9A18FE2CF60E292D6F2D0E94AE09CF +:101630001FEF100F1D0F292D412F6F2DC6010E9486 +:10164000AE090A19DE0D202F4D2F6C2FC6010E9406 +:101650009209CB0D6FEF6C0F202F4D2FC6010E940A +:10166000920901E02E2D4D2F6F2DC6010E941B0AFD +:101670008E2D8095C80F02E02E2D4D2F6C2FC601A8 +:101680000E941B0AD12FDE1904E02E2D4D2F6C2F46 +:10169000C6010E941B0A08E02E2D4D2F6F2DC6019A +:1016A0000E941B0ADF91CF911F910F91FF90EF9045 +:1016B000DF90CF90BF90AF909F900895AF92BF9270 +:1016C000CF92DF92EF92FF920F931F93CF93DF930E +:1016D0006C01B62EF42E122FC02FDE2DEE0CAD2E87 +:1016E000A60E2E196A2D0E94F209C150CE19FD0EC8 +:1016F0006FEF6B0D610F6D1BEC2E01E02D2F4F2D49 +:10170000C6010E94990A02E02D2F4F2D6A2DC601B5 +:101710000E94990ADF91CF911F910F91FF90EF9056 +:10172000DF90CF90BF90AF9008952F923F925F923D +:101730006F927F928F929F92AF92BF92CF92DF92E1 +:10174000EF92FF920F931F93CF93DF93EC01F90178 +:10175000E4903196849164350CF019C10E2C000C84 +:10176000FF08062F062E000C110BF701E00FF11FEA +:101770001E161F060CF00BC140330CF008C1A82F39 +:10178000C42E042E000CDD085601A80EB11C87FDE6 +:10179000BA941A141B040CF0FAC02E5F3F4F570185 +:1017A00097E0A90EB11CB7FE04C05701BEE0AB0E16 +:1017B000B11CB3E0B594A794BA95E1F747FF0AC00E +:1017C000A42FA80FAC9CC001AD9C900D1124281B28 +:1017D000390B40E08A2F0A2E000C990B840F911DC3 +:1017E00047FD9A95C19714F0A0E3A41BF8A067FDEC +:1017F00060E0E535F10514F0E4E5F0E09E2FCC85DE +:10180000C427C62E062E000CDD08F601E01BF10BE6 +:101810008F014F01F7E08F229924E0E8F0E002C049 +:10182000F595E7958A94E2F77E2F17FF02C0095FCE +:101830001F4FF3E015950795FA95E1F7200F311F3B +:10184000542F577081E001C0880F5A95EAF74595EB +:1018500045954595F601B4E54B02E00DF11D1124C7 +:10186000AF0141505E4FD0E02A2EAA0F3308EE247C +:10187000E394BB24ED2FF0E0E215F3050CF087C0F4 +:10188000F9015490F1E0FF121AC0962E8A01E72F59 +:101890006901991608F072C08E2E852021F0D801BA +:1018A0008C90882A8C92E69531F4BFEFCB1ADB0A34 +:1018B000F6015490E0E893940F5F1F4FEACFF110C8 +:1018C0001CC0782E7094962E8A01E72F6901991614 +:1018D00008F054C08E2E852021F0D8018C908720EE +:1018E0008C92E69531F4BFEFCB1ADB0AF6015490E7 +:1018F000E0E893940F5F1F4FEACFF3E0FF1629F063 +:10190000962E8A01E72F690137C0682E6094862ED3 +:101910008A01972E69018916D8F4E92DE52159F03D +:10192000D801EC917C2E782470FE02C0E82B02C016 +:10193000E621D801EC93969439F4BFEFCB1ADB0A79 +:10194000F6015490E0E89E2E83940F5F1F4FE3CF83 +:10195000CE2514C08E2E852021F0D8018C908826AB +:101960008C92E69531F4BFEFCB1ADB0AF601549066 +:10197000E0E893940F5F1F4F991660F3880F19F4F6 +:101980004C5A5F4F81E0DF5F2A0D3B1D73CFDF9123 +:10199000CF911F910F91FF90EF90DF90CF90BF906C +:1019A000AF909F908F907F906F905F903F902F901F +:1019B0000895DC01FB0184918F5F14968C9314973A +:1019C0003196E491EF5F1596EC9315976E5F7F4F1C +:1019D0005F967C936E935E970895EF920F93CF93EB +:1019E000DF93EC014E876D872F87E98A088B81E0B2 +:1019F000888788A319A28F836DEC70E0CE010E94C6 +:101A0000D90C0E94601B81E00E94761B85E00E9439 +:101A1000841B8CE00E947F1B61E08E850E9445192B +:101A200061E08D850E94451961E08F850E9445190E +:101A3000898918161CF461E00E94451988891816D6 +:101A40001CF461E00E944519898918166CF460E065 +:101A50000E9481196AE070E080E090E00E943F18E7 +:101A600061E089890E9481198D85082E000C990BEF +:101A7000FC01EF51FC4FE491F0E0EE0FFF1FE1504D +:101A8000FC4F259134913D8B2C8BFC01E353FC4F93 +:101A9000E491EB8F8E85082E000C990BFC01EF5121 +:101AA000FC4FE491F0E0EE0FFF1FE150FC4F259159 +:101AB00034913B8B2A8BFC01E353FC4FE491EA8F7A +:101AC0008889082E000C990BFC01EF51FC4FE49122 +:101AD000F0E0EE0FFF1FE150FC4F259134913F8B5A +:101AE0002E8BFC01E353FC4FE491EC8F8F85082E85 +:101AF000000C990BFC01EF51FC4FE491F0E0EE0F6C +:101B0000FF1FE150FC4F25913491398F288FFC0144 +:101B1000E353FC4FE491ED8F61E2CE010E94160980 +:101B200064E1CE010E9416098B8587FF02C08FE712 +:101B30008B876B856068CE010E94160960E2CE013A +:101B40000E9416096CE0CE010E941609CE01DF91B9 +:101B5000CF910F91EF900C9445096F927F928F92E5 +:101B60009F92AF92BF92CF92DF92EF92FF920F932C +:101B70001F93CF93DF93EC0164350CF084C04033A6 +:101B80000CF081C0EC81F0E031970E9FC0010F9FF7 +:101B9000900D1124860F911D67FD9A951816190650 +:101BA0000CF071C03D81842F042E000C990B039F13 +:101BB000800D911D1124181619060CF064C0D02E4A +:101BC000B42EC62E88A0A62E962EE22EF12CEA2D3B +:101BD000EC190E2E000CFF0B8C8190E0E817F90732 +:101BE0000CF050C00197E817F90779F0E89E9001D2 +:101BF000E99E300DF89E300D1124E20FF31F8E8DFB +:101C00009F8DE80FF91F149101C010E07B2C6B2C05 +:101C1000272D2B19022E000C330B8D8190E02817F5 +:101C200039076CF510FF11C081E0D81206C0472DAE +:101C30006A2DCE010E94BA081EC00D2D2D2D462DF5 +:101C4000692DCE010E94F20916C089A198A18917B9 +:101C500091F088A381E0D81206C0472D6A2DCE01ED +:101C60000E94BA0807C00D2D2D2D462D692DCE01DD +:101C70000E94F20988A216956D0C7394C9CF9D0C31 +:101C8000A394A5CF88A2DF91CF911F910F91FF90D0 +:101C9000EF90DF90CF90BF90AF909F908F907F900C +:101CA0006F9008950F93CF93DF93EC016A3011F496 +:101CB00028851EC06D3019F1262F08854A85698553 +:101CC0000E94AD0D28853C818985239F800D1124BC +:101CD00089879F81992399F0082E000C990B44E580 +:101CE00050E0239F401951091124481759073CF42B +:101CF0009D818A85299F800D11248A87198681E01C +:101D000090E0DF91CF910F9108958F929F92AF92C3 +:101D1000BF92CF92DF92EF92FF920F931F93CF93D8 +:101D2000DF93EC015C0186E8A80EB11CD5019C9103 +:101D3000992309F44DC09C3018F41CE0191B01C014 +:101D400010E0FE01EA5AFF4F81E080836E01BEE49D +:101D5000CB0ED11C60E0C6010E948A094E01E3E56A +:101D60008E0E911CD4018C9103E0080F9DE2F92E98 +:101D70004F2D481B410F23E0E22E24E560E0C60111 +:101D80000E945E0B61E0C6010E948A09F401808115 +:101D900003E0080F4F2D481B410F24E560E0C6010A +:101DA0000E94FF0AFE01E95AFF4F84E080833196CA +:101DB000D4018C91181B115D1083CC57DF4F6881C3 +:101DC0007981C6010E94161AF501808181508083B5 +:101DD000DF91CF911F910F91FF90EF90DF90CF9007 +:101DE000BF90AF909F908F900895CF92DF92FF9217 +:101DF0000F931F93CF93DF93FC01248D358D232BFD +:101E000009F49FC0EC018C01025B1F4F40E061E0D0 +:101E1000C8010E948E09FE01E95AFF4FDE01AE5A49 +:101E2000BF4F9C9185E5891B808331961082698D17 +:101E3000613009F463C028F0888D653008F074C003 +:101E40006FC0CE0185960E944B1581E0FE01EA5AD3 +:101E5000FF4F80836DEC70E0C8010E94D90C1D8E8D +:101E60001C8EFE01EC5AFF4F108288EAF82E6E019C +:101E7000FAE0CF0ED11CCE010E94A90F8823D9F31E +:101E80006CEB72E0C8010E94161A6A8D7B8D4AE0E5 +:101E900050E0C8010E94C91A67EA72E0C8010E94B6 +:101EA000161A6F2D62956F7070E04AE050E0C8011D +:101EB0000E94171B6CE972E0C8010E94161A64E0C8 +:101EC000C6010E94820881113CC0FA94F110D3CF60 +:101ED00060E0CE010E941E1783B7817F846083BFBC +:101EE00083B7816083BF83B7816083BF889583B7E1 +:101EF0008E7F83BF83B78E7F83BFBDCFCF58DF4F29 +:101F000088819981AA81BB818F709927AA27BB27D5 +:101F10000897A105B10510F467E009C068E707C09C +:101F2000882379F06B5F03C0882359F06FE2C80102 +:101F3000DF91CF911F910F91FF90DF90CF900C9484 +:101F4000391ADF91CF911F910F91FF90DF90CF90C1 +:101F500008958F929F92AF92BF92CF92DF92EF92AD +:101F6000FF920F931F93CF93DF93EC017C0180E8E6 +:101F7000E80EF11CF70180809180A280B3800E945E +:101F80000E18861A970AA80AB90A6E01FFE7CF0E43 +:101F9000D11CF601808190E0A0E0B0E08E010558F0 +:101FA0001F4F88159905AA05BB0550F4F8018081DB +:101FB0009181A281B381892B8A2B8B2B09F040C0A0 +:101FC000F80180819181A281B381892B8A2B8B2B8F +:101FD000A9F57E01F5E2EF0EF11CC7010E9448153C +:101FE000C7010E94B415C7010E947916CE010E9454 +:101FF000850ECE010E94F50E7E018EE4E80EF11CE6 +:10200000C7010E944509FE01EC5AFF4F80818111F2 +:1020100003C0C7010E9434090E941A18F8016083A6 +:10202000718382839383FE01EB58FF4FC958DF4FC2 +:1020300028813981621B730B7183608380E037C014 +:102040000E940E18F6012081DC01CB01820F911D48 +:10205000A11DB11DF70180839183A283B383FE018B +:10206000EF58FF4F80819181A281B3810196A11D1C +:10207000B11D80839183A283B383F8011082118202 +:10208000128213820E941A18FE01E958FF4F6083E2 +:10209000718382839383CE010E942217CE010A9618 +:1020A0000E945508CE0148960E948B1781E0DF916F +:1020B000CF911F910F91FF90EF90DF90CF90BF9045 +:1020C000AF909F908F9008952F923F924F925F9282 +:1020D0006F927F928F929F92AF92BF92CF92DF9238 +:1020E000EF92FF920F931F93CF93DF93CDB7DEB79D +:1020F00065970FB6F894DEBF0FBECDBF6C016A8B3B +:102100007B8B4B83FC01EC5AFF4F10822FEF2D830A +:102110001C821D8A10E31C8A5C013AE0A30EB11CEC +:102120001C0183E5280E311CBF972F01242F30E0BE +:102130003F832E83C601895A9F4F99878887F396DC +:10214000FB87EA8796012A5A3F4F3F872E870297DF +:10215000998B888B3A973F01C6010E94A90F88236B +:10216000D9F364E0C5010E948208012F110F110B01 +:10217000811144C065E0C5010E94820881113EC002 +:1021800066E0C5010E948208811138C02C812111AE +:102190004CC044E063E0C5010E949408882331F0FC +:1021A0003C893F5F3C8BC2010E94F61644E061E02F +:1021B000C5010E949408882331F08C8981508C8B52 +:1021C000C2010E94F616EC898E2F0E2E000C990B80 +:1021D0002E813F818217930731F0E7FF05C03B81D5 +:1021E00031503C8B01C01C8AF1018081F4E0F80F72 +:1021F0002C89829FF0191124FD8B22C0F101F081FE +:10220000F98364E0C5010E948208882309F48CC028 +:10221000C2010E94CA16FC89FD83298121953B8158 +:10222000239F302D112432503D8BC8013D89831BE3 +:10223000910937FD939502970CF47AC081E08C8365 +:102240009D89090F111D97FD1A9517FF02C00F5F99 +:102250001F4FF801F595E795FA83E9830981102F5F +:10226000E885F9851082EA85FB85008381E0EE85AB +:10227000FF858083E889F9891082EA88FB88812CB0 +:10228000912C2C89022E000C330B3D872C878E81DC +:102290009F818816990609F1EC85FD85E815F905F9 +:1022A00079F423E0E885F9852083F1018081F02F1E +:1022B0002C89289FF00D11248F2FEA85FB858083C0 +:1022C000F70165917491C3010E94541AFFEF8F1AB0 +:1022D0009F0A22E0E20EF11CDACF60E0C3010E9407 +:1022E0008A09F10180814981FC89F89F400D112400 +:1022F000415024E560E0C3010E94AE0961E0C301E2 +:102300000E948A09F101808103E0080F4981FC895C +:10231000F89F400D1124425083E0E82E24E560E050 +:10232000C3010E94FF0A18CFC2010E94E01675CFB8 +:102330008D8165960FB6F894DEBF0FBECDBFDF91DD +:10234000CF911F910F91FF90EF90DF90CF90BF90B2 +:10235000AF909F908F907F906F905F904F903F9045 +:102360002F9008950F931F93CF93DF93EC018C016F +:10237000025B1F4FC8010E94340964E772E0C80184 +:102380000E94161AC8010E94450983E00E94841B1E +:102390008DE691E0EEEFFFE30995FE01EC5AFF4F69 +:1023A00010826FE472E0C8010E94541AC8010E94B2 +:1023B00045092A96CE010E94550864E0CE010E948C +:1023C0008208811107C062E370E080E090E00E9423 +:1023D0003F18F0CFDF91CF911F910F9108952F9269 +:1023E0003F924F925F926F927F928F929F92AF92A5 +:1023F000BF92CF92DF92EF92FF920F931F93CF93F2 +:10240000DF93CDB7DEB729970FB6F894DEBF0FBEC6 +:10241000CDBF3C0120E7620E711CF3012081222315 +:1024200009F402C15A011B01998788877A9781E0D4 +:102430008083E885F985EB5AFF4F1082E885F9859E +:10244000EC5AFF4F1082E885F985108E8F01025BF0 +:102450001F4F61E0C8010E948A09888599858D5ABD +:102460009F4F9D838C83C884D98497E5C90ED11C66 +:10247000E884F984E8E5EE0EF11C888599858E5A8A +:102480009F4F9A838983E885F985EF58FF4FFF8333 +:10249000EE8388849984FAE08F0E911C48845984D5 +:1024A00025E2420E511C888599850E94A90F882338 +:1024B000D1F3F1018491882329F0EC81FD81F08131 +:1024C000FB8301C01B822EED32E040E060E0C801DA +:1024D0000E94950BA114B10439F04B81445F950122 +:1024E00060E0C8010E94950BF60110822CE0F70114 +:1024F0002083B101C8010E94161AE981FA81808106 +:10250000982F990F890F81958D5AF6018083EC8160 +:10251000FD818081982F990F890F8195835DF70147 +:102520008083EE81FF81808184FF03C06AED72E0C9 +:1025300002C066ED72E0C8010E94541AE981FA8176 +:102540008081982F990F890F81958D5AF60180838C +:10255000F70180818F5F8083E885F98582A58823D4 +:1025600019F062ED72E002C06EEC72E0C8010E94E8 +:10257000541AE981FA818081982F990F890F8195EA +:102580008D5AF6018083F70180818F5F80836AEC2A +:1025900072E0C8010E94541A65E0C4010E948208DA +:1025A000882351F0E885F98562A56F5FC2010E941A +:1025B0000C17C2010E94F61664E0C4010E94820852 +:1025C000811113C0F3012081422F50E060E070E0E0 +:1025D000EE81FF8180819181A281B381841795076B +:1025E000A607B707A8F02F3F99F08FEFF30180837C +:1025F000088519850B5D1F4F60E0C8010E94E91432 +:10260000C8010E94CA1681E0E885F985808F0CC058 +:1026100066E0C4010E948208882309F444CF8885BB +:1026200099850E94B21135CF29960FB6F894DEBF76 +:102630000FBECDBFDF91CF911F910F91FF90EF9013 +:10264000DF90CF90BF90AF909F908F907F906F90D2 +:102650005F904F903F902F90089540E050E00C9491 +:10266000EF11E0E8F7E72591349181E02130304C1B +:1026700009F080E00895CF93DF93EC010E943113BD +:102680009E01275A3F4FDE01A059BF4F882309F40E +:102690003CC0E6E9F7E78491F9018083E7E9F7E7D1 +:1026A000E491EC83E8E9F7E7E491ED83E9E9F7E702 +:1026B000859194919F838E83EBE9F7E785919491BF +:1026C00099878887EDE9F7E7E491EBA7EEE9F7E76B +:1026D000E491EAA7EFE9F7E7E491EC93E0EAF7E7A2 +:1026E000859194919D8F8C8FE2EAF7E78591949183 +:1026F0009F8F8E8FE4EAF7E78591949199A388A341 +:10270000E6EAF7E78591949120C08CE3F901808394 +:102710001C828FEF8D8320E233E03F832E8324EDF4 +:1027200033E03987288791E09BA79AA78C938CEA9E +:102730009DE09D8F8C8F8EED9DE09F8F8E8F84E727 +:102740009EE099A388A38CE39FE09BA38AA3DF91DB +:10275000CF910895CF92DF92EF920F93CF93DF93B3 +:10276000EC01FC01E158FF4F82E38083349781E064 +:1027700090E0A0E0B0E080839183A283B3833B9795 +:102780008FEF8083CE010E943B13CE010E941A1767 +:102790006FEFCE010E941E176E018AE0C80ED11C99 +:1027A000C6010E944508C6010E945508CE01489600 +:1027B0000E9481178EE0E82E0FE020E14BE06DE0F3 +:1027C000CE01825B9F4F0E94ED0CA596CE010E9428 +:1027D000551465E0C6010E948208882351F060E02C +:1027E000CE01DF91CF910F91EF90DF90CF900C94BD +:1027F0000C1740E06EE473E0CE01DF91CF910F91B2 +:10280000EF90DF90CF900C94F414CF93DF93D62FFA +:10281000C72F0E943113882359F0AD2FBC2FEBE84E +:10282000F7E784918D933196E53987E7F807C9F783 +:10283000DF91CF91089550E0DA01AA0FBB1FA80FD6 +:10284000B91F1F963C911F9750962C915097E32FDC +:10285000F22FE60FF11DE60FF11D259134919096B0 +:102860003C932E935F97F90165917491FC017481FB +:10287000769F602D1124DC01A40FB51F91966C93F7 +:102880009197F90185919491E92FF0E0862F90E0DE +:10289000E817F90720F4F90185919491692F769F43 +:1028A000602D112492966C93089521E0FC012483FD +:1028B00024E020A72DEA33E0308B278740E060E05A +:1028C0000E941B1461E070E083E00E94BD18E1EB00 +:1028D000F0E08081887F81608083F894109280008E +:1028E000E1E8F0E01082109285001092840088E107 +:1028F00091E0909389008093880080818860808334 +:10290000808181608083EFE6F0E080818260808357 +:10291000789408950F93FC01842F01112AC062302E +:10292000D9F050F4662399F0613019F540E0682F32 +:10293000CF010F910C941B146330A9F06430C9F4DB +:102940006481649F802D1124858F268F12C04B30A7 +:1029500008F08AE0868B0DC06481649F802D11246D +:10296000818F228F06C06481649F802D1124838F04 +:10297000248F0F910895FC0121110EC0648B848176 +:10298000849F402D1124458B15A214A213A281E02F +:10299000878B80930304108E08958091030488230D +:1029A00019F08091000401C080E08093B400089584 +:1029B000FC0161110DC0178A158A14A213A2108E92 +:1029C0001092000410920104109203040C94CD1490 +:1029D0000895CF93DF93611104C0EC010E94D814D5 +:1029E0001982DF91CF9108950F931F93CF93DF93B7 +:1029F000411110C08B01EC0160E00E94E9141E87B8 +:102A00000D871B8A1A8A81E0898389E08E8B198E53 +:102A10001B8E1D8EDF91CF911F910F910895CF9343 +:102A2000DF93DC01611131C08C91882371F1119623 +:102A30008C911197811129C019968C91199717962D +:102A40002C91179718969C911897E22FF92FE80F61 +:102A5000F11DE80FF11D259134912F3F8FEF3807BD +:102A600011F41C9212C0ED013C873327220F331F53 +:102A7000EA85FB85E20FF31F6591749140E0CD017B +:102A80000E94F41489858F5F8987DF91CF91089523 +:102A900060E00C940F1560E00C94E9140F93CF9351 +:102AA000DF93EC0161115CC08981882309F458C06F +:102AB0008D89811155C02D853E85EA89FB89EE0FF0 +:102AC000FF1FE20FF31F85919491009701F589890B +:102AD000813021F41B8A1A8AF90110C01982888179 +:102AE00060E0882371F0CE010E940F15EA89FB890E +:102AF000EE0FFF1F8D859E85E80FF91F859194913C +:102B000006C0CE01DF91CF910F910C94D814BC0177 +:102B1000769567957695679580FF17C0AC0186E03E +:102B2000569547958A95E1F7292F2695269526955E +:102B300020514F716F7000E0CE010E948A14EA8923 +:102B4000FB893196FB8BEA8BD3CF492F6F7320E043 +:102B5000CE010E94BB148A899B8901969B8B8A8B2C +:102B6000DF91CF910F91089560E00C944E15CF93B3 +:102B7000DF93EC016111BAC08F89882309F4B6C0D4 +:102B80009D89911105C0CE01DF91CF910C94D8148D +:102B900091509D8B8DA1811139C02BA13CA12F5F3C +:102BA0003F4FC901880F991FEF8DF8A1E80FF91F5A +:102BB00065917491862F87708EA3AB0163E0569563 +:102BC00047956A95E1F7CA0196958795972F96954F +:102BD00096959FA38F739C81899F802D11248DA32F +:102BE00041704093FF033CA32BA389A190E02817D9 +:102BF000390760F02AA1222329F0821B91099CA3A6 +:102C00008BA304C060E0CE010E94D8148DA1815036 +:102C10008DA3888D21E0280F288F4C893FA1340F88 +:102C20008C85380F3A836B8D662361F070E0822FBC +:102C3000022E000C990B0E94C31B8C8D869F300DB9 +:102C400011243A838A8190E0CB966BE370E00E9476 +:102C5000C31B8A833E893B83698D662371F0062EF0 +:102C6000000C770B822F022E000C990B0E94C31BC5 +:102C70008A8D869F300D11243B836D8D662389F0EC +:102C8000822F220F990B70E00E94C31BCB0162E0E0 +:102C900070E00E94C31B2E8D9B81289F900D1124F4 +:102CA0009B834F3341F08B818A300CF089E087FDA4 +:102CB00080E08B8301C01B82F894EA81F0E0E45A43 +:102CC000FC4FE491E09302048D8198A5899F802DAB +:102CD00011249B81899F802D11249EA1899F802D85 +:102CE000112480930104809300047894DF91CF91A4 +:102CF000089560E00C94B71560910104662329F1F2 +:102D0000809104048F5F80930404909102048917DA +:102D1000E0F081E090910304911180E0809303043E +:102D2000109204048091FF03882369F080910001D0 +:102D300093E4899F802D1124895B809300010E9478 +:102D4000A31B909300040C94CD1408951F920F922E +:102D50000FB60F9211242F933F934F935F936F936E +:102D60007F938F939F93AF93BF93EF93FF930E94B3 +:102D70007C16FF91EF91BF91AF919F918F917F91C1 +:102D80006F915F914F913F912F910F900FBE0F90D8 +:102D90001F901895CF93DF93EC0160E00E94E91437 +:102DA00085EA93E09E878D871B8A1A8A81E0898352 +:102DB00089E08E8B198E1B8E1D8EDF91CF91089529 +:102DC000CF93DF93EC0160E00E94E9148DE993E07A +:102DD0009E878D871B8A1A8A81E0898389E08E8B82 +:102DE000198E1B8E1D8EDF91CF910895CF93DF93A7 +:102DF000EC0160E00E94E91487E993E09E878D87EB +:102E00001B8A1A8A81E0898389E08E8B198E1B8E3A +:102E10001D8EDF91CF910895FC01262F660F330B95 +:102E20009681692F70E06F5F7F4FC9010E94C31BBD +:102E30008583089521E0FC012083089570E085E0FA +:102E40000C94BD18AF92BF92CF92DF92EF92FF9297 +:102E50000F931F93CF93DF93EC0189819A812FE029 +:102E6000289F8001299F100D112485E10E94A01840 +:102E7000800F911F24E0969587952A95E1F79A8314 +:102E800089832881222391F1EC81AD80B12CC12C62 +:102E9000D12CA885B9857D0100E010E06E817F818D +:102EA0009B0140E050E08617970728F0BC01A81767 +:102EB000B90708F4BD0180E090E01F921F921F92B5 +:102EC000EF930E941E1B6B830F900F900F900F903B +:102ED00070E085E0DF91CF911F910F91FF90EF900F +:102EE000DF90CF90BF90AF900C94BD18DF91CF9141 +:102EF0001F910F91FF90EF90DF90CF90BF90AF9018 +:102F00000895FC018CE39FE09383828384E08183B6 +:102F100081E084870895CF93DF93FC01248135817C +:102F2000232B79F1EC0184858F7141F584E10E94B6 +:102F3000A018BC01990F880B990B0E94691C26EE02 +:102F40003FE34EEC50E40E94F51C0E94381C9B01AC +:102F50007B836A83672B81F084E08983FE0134964A +:102F600080E0419151912417350710F4898309C0FD +:102F70008F5F8430B1F702C08FEF89838C858F5FBC +:102F80008C87DF91CF9108951F920F920FB60F9209 +:102F900011242F933F938F939F93AF93BF9380916F +:102FA000060490910704A0910804B091090430919F +:102FB000050423E0230F2D3720F40196A11DB11D38 +:102FC00005C026E8230F0296A11DB11D209305041C +:102FD0008093060490930704A0930804B093090417 +:102FE00080910A0490910B04A0910C04B0910D04FF +:102FF0000196A11DB11D80930A0490930B04A09328 +:103000000C04B0930D04BF91AF919F918F913F91AC +:103010002F910F900FBE0F901F9018952FB7F89417 +:10302000609106047091070480910804909109044E +:103030002FBF08953FB7F89480910A0490910B0434 +:10304000A0910C04B0910D0426B5A89B05C02F3F9C +:1030500019F00196A11DB11D3FBFBA2FA92F982FBE +:103060008827820F911DA11DB11DBC01CD0142E039 +:10307000660F771F881F991F4A95D1F70895CF9241 +:10308000DF92EF92FF92CF93DF936B017C010E945E +:103090001A18EB01C114D104E104F10479F00E9483 +:1030A0001A186C1B7D0B683E7340A0F381E0C81AB0 +:1030B000D108E108F108C851DC4FECCFDF91CF9186 +:1030C000FF90EF90DF90CF900895789484B5826060 +:1030D00084BD84B5816084BD85B5826085BD85B5BC +:1030E000816085BDEEE6F0E0808181608083E1E86B +:1030F000F0E01082808182608083808181608083A3 +:10310000E0E8F0E0808181608083E1EBF0E08081A5 +:1031100084608083E0EBF0E0808181608083EAE777 +:10312000F0E0808184608083808182608083808100 +:10313000816080838081806880831092C1000895BF +:103140008E3008F08E502091010190E4299F90016B +:1031500011248770822B80937C0080917A00806498 +:1031600080937A0080917A0086FDFCCF8091780070 +:103170002091790090E0922B08951F93CF93DF93D5 +:10318000182FEB0161E00E944519209711F460E0CF +:1031900004C0CF3FD10539F461E0812FDF91CF9199 +:1031A0001F910C948119E12FF0E0E754FC4FE4915A +:1031B000E330F9F048F4E130B9F0E230A1F584B53C +:1031C000806284BDC8BD34C0E630E9F0E73019F153 +:1031D000E43049F580918000806280938000D09334 +:1031E0008B00C0938A0024C084B5806884BDC7BDAD +:1031F0001FC080918000806880938000D0938900F8 +:10320000C093880015C08091B00080688093B000A2 +:10321000C093B3000DC08091B00080628093B00075 +:10322000C093B40005C0C038D1050CF0B5CFAFCF06 +:10323000DF91CF911F910895833081F028F4813080 +:1032400099F08230A1F008958630A9F08730B9F066 +:103250008430D1F4809180008F7D03C08091800004 +:103260008F7780938000089584B58F7702C084B5EE +:103270008F7D84BD08958091B0008F7703C08091C9 +:10328000B0008F7D8093B0000895CF93DF9390E0DE +:10329000FC01E353FC4F2491FC01EF51FC4F84915E +:1032A000882361F190E0880F991FFC01E75FFB4FD5 +:1032B000C591D491FC01E150FC4FA591B4916111ED +:1032C00009C09FB7F8948881209582238883EC9168 +:1032D0002E230BC0623061F49FB7F8948881322F9F +:1032E000309583238883EC912E2B2C939FBF06C0AF +:1032F0008FB7F894E8812E2B28838FBFDF91CF9171 +:1033000008951F93CF93DF93282F30E0F901E754FE +:10331000FC4F8491F901E353FC4FD491F901EF5133 +:10332000FC4FC491CC23C1F0162F81110E941C19AF +:10333000EC2FF0E0EE0FFF1FE150FC4FA591B49190 +:103340009FB7F894111104C08C91D095D82302C076 +:10335000EC91DE2BDC939FBFDF91CF911F910895FD +:10336000CF93DF93282F30E0F901E754FC4F84918D +:10337000F901E353FC4FD491F901EF51FC4FC49193 +:10338000CC2391F081110E941C19EC2FF0E0EE0F7C +:10339000FF1FEB50FC4FA591B491EC91ED2381E020 +:1033A00090E021F480E002C080E090E0DF91CF91D6 +:1033B0000895CF92DF92EF92FF920F931F93CF93D6 +:1033C000DF936C01EB017B01E40EF51E00E010E0E1 +:1033D000CE15DF0561F06991D601ED91FC91019068 +:1033E000F081E02DC6010995080F191FF1CFC80122 +:1033F000DF91CF911F910F91FF90EF90DF90CF90D1 +:1034000008956115710579F0FB0101900020E9F73D +:103410003197AF01461B570BDC01ED91FC91028007 +:10342000F381E02D099480E090E00895EF92FF92FF +:103430000F931F93CF93DF937C01FB0100E010E01B +:103440006491EF012196662361F0D701ED91FC9123 +:103450000190F081E02DC7010995080F191FFE01A9 +:10346000EFCFC801DF91CF911F910F91FF90EF90A7 +:103470000895DC01ED91FC910190F081E02D09941B +:103480000F931F93CF93DF93EC016DE00E94391AE5 +:103490008C016AE0CE010E94391A800F911FDF91E2 +:1034A000CF911F910F9108950F931F93CF93DF93A7 +:1034B000EC010E94161A8C01CE010E94401A800F66 +:1034C000911FDF91CF911F910F9108958F929F923D +:1034D000AF92BF92CF92DF92EF92FF920F931F9322 +:1034E000CF93DF93CDB7DEB7A1970FB6F894DEBFC9 +:1034F0000FBECDBF6C01142FE52FCB01022F19A2F7 +:10350000223008F40AE07E0121E2E20EF11C802E56 +:10351000912CA12CB12C612F7E2FA50194010E942A +:10352000D71B029F1019112481E0E81AF1081A3004 +:1035300014F4105D01C0195CF7011083122FE32F02 +:10354000CA01232B242B252B31F7B701C6010E947A +:10355000011AA1960FB6F894DEBF0FBECDBFDF9162 +:10356000CF911F910F91FF90EF90DF90CF90BF9080 +:10357000AF909F908F9008952115310541F4DC01A3 +:10358000ED91FC910190F081E02D642F09940C9451 +:10359000661A9A01AB0160E070E00C94BC1ACF92FD +:1035A000DF92EF92FF920F931F93CF93DF9321153A +:1035B000310581F4DC01ED91FC910190F081E02D69 +:1035C000642FDF91CF911F910F91FF90EF90DF90CB +:1035D000CF9009942A30310501F577FF1DC06A01AB +:1035E0007B01EC016DE20E94391A8C0144275527BA +:1035F000BA014C195D096E097F092AE0CE010E94CB +:10360000661A800F911FDF91CF911F910F91FF904C +:10361000EF90DF90CF9008952AE0DF91CF911F9136 +:103620000F91FF90EF90DF90CF900C94661A9A0163 +:10363000AB01770F660B770B0C94CF1A4F925F920A +:103640006F927F92AF92BF92CF92DF92EF92FF92F2 +:103650000F931F93CF93DF93CDB7DEB729013A01C4 +:103660009B01AC01241935094609570989899A89B2 +:10367000AB89BC89BC01CD016A197B098C099D0904 +:103680000E94931BA801970124193509460957097F +:103690000E94F91BCA01B9016A0D7B1D8C1D9D1D7D +:1036A000DF91CF911F910F91FF90EF90DF90CF901E +:1036B000BF90AF907F906F905F904F900895089566 +:1036C00061E08AE00E94811961E08AE00E94451968 +:1036D0008CB580618CBD8CB580648CBD61E08DE063 +:1036E0000E94451961E08BE00C944519811103C0DB +:1036F0008CB5806202C08CB58F7D8CBD08959CB561 +:10370000937F892B8CBD08959CB59C7F282F2370B7 +:10371000922B9CBD2DB582FB992790F9822F8E7F2D +:10372000892B8DBD0895DB018F939F930E94181CF8 +:10373000BF91AF91A29F800D911DA39F900DB29F4D +:10374000900D11240895991B79E004C0991F9617D4 +:1037500008F0961B881F7A95C9F780950895AA1BD3 +:10376000BB1B51E107C0AA1FBB1FA617B70710F06C +:10377000A61BB70B881F991F5A95A9F7809590959E +:10378000BC01CD01089597FB072E16F4009407D0D5 +:1037900077FD09D00E94AF1B07FC05D03EF4909541 +:1037A00081959F4F0895709561957F4F0895A1E28F +:1037B0001A2EAA1BBB1BFD010DC0AA1FBB1FEE1FAB +:1037C000FF1FA217B307E407F50720F0A21BB30BF6 +:1037D000E40BF50B661F771F881F991F1A9469F772 +:1037E00060957095809590959B01AC01BD01CF01CE +:1037F0000895052E97FB1EF400940E94101C57FD9F +:1038000007D00E94D71B07FC03D04EF40C94101C69 +:1038100050954095309521953F4F4F4F5F4F0895FC +:1038200090958095709561957F4F8F4F9F4F08952C +:103830000E94291CA59F900DB49F900DA49F800D00 +:10384000911D11240895EE0FFF1F0590F491E02DB6 +:103850000994A29FB001B39FC001A39F700D811D69 +:103860001124911DB29F700D811D1124911D089589 +:103870000E94D41C88F09F5798F0B92F9927B75110 +:10388000B0F0E1F0660F771F881F991F1AF0BA9504 +:10389000C9F714C0B13091F00E94EE1CB1E0089558 +:1038A0000C94EE1C672F782F8827B85F39F0B93F4A +:1038B000CCF3869577956795B395D9F73EF49095B7 +:1038C0008095709561957F4F8F4F9F4F0895E89435 +:1038D00009C097FB3EF490958095709561957F4F58 +:1038E0008F4F9F4F9923A9F0F92F96E9BB27939506 +:1038F000F695879577956795B795F111F8CFFAF416 +:10390000BB0F11F460FF1BC06F5F7F4F8F4F9F4F46 +:1039100016C0882311F096E911C0772321F09EE8A4 +:10392000872F762F05C0662371F096E8862F70E00A +:1039300060E02AF09A95660F771F881FDAF7880FE4 +:103940009695879597F9089597F99F6780E870E0B5 +:1039500060E008959FEF80EC089500240A94161605 +:10396000170618060906089500240A94121613066D +:10397000140605060895092E0394000C11F48823FB +:1039800052F0BB0F40F4BF2B11F460FF04C06F5F17 +:103990007F4F8F4F9F4F089557FD9058440F551FED +:1039A00059F05F3F71F04795880F97FB991F61F0C1 +:1039B0009F3F79F087950895121613061406551F38 +:1039C000F2CF4695F1DF08C0161617061806991FA4 +:1039D000F1CF86957105610508940895E894BB2799 +:1039E00066277727CB0197F908950E94081D0C944C +:1039F000BB1C0E94AD1C38F00E94B41C20F0952323 +:103A000011F00C94A41C0C94AA1C11240C94EF1C0F +:103A10000E94CC1C70F3959FC1F3950F50E0551F89 +:103A2000629FF001729FBB27F00DB11D639FAA2713 +:103A3000F00DB11DAA1F649F6627B00DA11D661F62 +:103A4000829F2227B00DA11D621F739FB00DA11D83 +:103A5000621F839FA00D611D221F749F3327A00D3D +:103A6000611D231F849F600D211D822F762F6A2FD9 +:103A700011249F5750409AF0F1F088234AF0EE0F3E +:103A8000FF1FBB1F661F771F881F91505040A9F76B +:103A90009E3F510580F00C94A41C0C94EF1C5F3FDA +:103AA000E4F3983ED4F3869577956795B795F795A7 +:103AB000E7959F5FC1F7FE2B880F911D969587951F +:103AC00097F90895DC0101C06D9341505040E0F733 +:103AD0000895FB01DC014150504048F001900D92E7 +:103AE0000020C9F701C01D9241505040E0F70895F1 +:043AF000F894FFCF78 +:103AF4000101001923000000008602000000005F9D +:103B04001B00000000000000000000000000000096 +:103B140000D7060000EC060000000000005B040073 +:103B2400009E0400007C040000BF040000000000AC +:103B34000000000000000000000000000000000081 +:103B44000000000000000000005C0700002D0700DA +:103B5400000000000000000000520ED9194C4F4133 +:043B64004445520082 :040000030000046A8B :00000001FF diff --git a/Exe/POCKET.MAP b/Exe/POCKET.MAP index b3da1f5..14c0278 100644 --- a/Exe/POCKET.MAP +++ b/Exe/POCKET.MAP @@ -208,6 +208,18 @@ Discarded input sections .text 0x0000000000000000 0x0 Obj/HumanPlayerBtn.o .data 0x0000000000000000 0x0 Obj/HumanPlayerBtn.o .bss 0x0000000000000000 0x0 Obj/HumanPlayerBtn.o + .text 0x0000000000000000 0x0 Obj/Coordinates.o + .data 0x0000000000000000 0x0 Obj/Coordinates.o + .bss 0x0000000000000000 0x0 Obj/Coordinates.o + .text._ZN11CoordinatesC2Ejj + 0x0000000000000000 0xc Obj/Coordinates.o + .text._ZNK11Coordinates4getXEv + 0x0000000000000000 0x8 Obj/Coordinates.o + .text._ZNK11Coordinates4getYEv + 0x0000000000000000 0x8 Obj/Coordinates.o + .text._ZNK11CoordinatesplERKS_ + 0x0000000000000000 0x2c Obj/Coordinates.o + .comment 0x0000000000000000 0x12 Obj/Coordinates.o .text 0x0000000000000000 0x0 ../lib/libgamebuino.a(Buttons.o) .data 0x0000000000000000 0x0 ../lib/libgamebuino.a(Buttons.o) .bss 0x0000000000000000 0x0 ../lib/libgamebuino.a(Buttons.o) @@ -1038,6 +1050,7 @@ LOAD Obj/Unit.o LOAD Obj/Menu.o LOAD Obj/Cursor.o LOAD Obj/HumanPlayerBtn.o +LOAD Obj/Coordinates.o LOAD ../lib/libgamebuino.a LOAD ../lib/libarduino.a LOAD /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a @@ -1146,7 +1159,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x0000000000000000 0x389e +.text 0x0000000000000000 0x3af4 *(.vectors) .vectors 0x0000000000000000 0x68 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o 0x0000000000000000 __vectors @@ -1329,490 +1342,517 @@ END GROUP 0x000000000000050c 0xa0 Obj/HumanPlayer.o 0x000000000000050c _ZN11HumanPlayer11drawHandlerEv .text._ZN11HumanPlayerC2EPKcRK6Camera - 0x00000000000005ac 0x56 Obj/HumanPlayer.o + 0x00000000000005ac 0x5c Obj/HumanPlayer.o 0x00000000000005ac _ZN11HumanPlayerC2EPKcRK6Camera 0x00000000000005ac _ZN11HumanPlayerC1EPKcRK6Camera .text._ZN11HumanPlayer7handlerEv - 0x0000000000000602 0x22 Obj/HumanPlayer.o - 0x0000000000000602 _ZN11HumanPlayer7handlerEv + 0x0000000000000608 0x22 Obj/HumanPlayer.o + 0x0000000000000608 _ZN11HumanPlayer7handlerEv .text._ZN11HumanPlayer10selectUnitEv - 0x0000000000000624 0xba Obj/HumanPlayer.o - 0x0000000000000624 _ZN11HumanPlayer10selectUnitEv + 0x000000000000062a 0xba Obj/HumanPlayer.o + 0x000000000000062a _ZN11HumanPlayer10selectUnitEv .text._ZN6SpriteC2EPKhbhh - 0x00000000000006de 0x16 Obj/Sprite.o - 0x00000000000006de _ZN6SpriteC2EPKhbhh - 0x00000000000006de _ZN6SpriteC1EPKhbhh + 0x00000000000006e4 0x16 Obj/Sprite.o + 0x00000000000006e4 _ZN6SpriteC2EPKhbhh + 0x00000000000006e4 _ZN6SpriteC1EPKhbhh .text._ZN6Sprite4drawEv - 0x00000000000006f4 0x6e Obj/Sprite.o - 0x00000000000006f4 _ZN6Sprite4drawEv + 0x00000000000006fa 0x76 Obj/Sprite.o + 0x00000000000006fa _ZN6Sprite4drawEv + .text._ZN6Sprite8getWidthEPKh + 0x0000000000000770 0x6 Obj/Sprite.o + 0x0000000000000770 _ZN6Sprite8getWidthEPKh + .text._ZN6Sprite9getHeightEPKh + 0x0000000000000776 0x8 Obj/Sprite.o + 0x0000000000000776 _ZN6Sprite9getHeightEPKh .text._ZN6Sprite6setPosEhh - 0x0000000000000762 0x8 Obj/Sprite.o - 0x0000000000000762 _ZN6Sprite6setPosEhh + 0x000000000000077e 0x8 Obj/Sprite.o + 0x000000000000077e _ZN6Sprite6setPosEhh .text._ZN6PlayerC2EPKc - 0x000000000000076a 0x8c Obj/Player.o - 0x000000000000076a _ZN6PlayerC1EPKc - 0x000000000000076a _ZN6PlayerC2EPKc + 0x0000000000000786 0x8c Obj/Player.o + 0x0000000000000786 _ZN6PlayerC1EPKc + 0x0000000000000786 _ZN6PlayerC2EPKc .text._ZN6Player11handleUnitsEv - 0x00000000000007f6 0x2e Obj/Player.o - 0x00000000000007f6 _ZN6Player11handleUnitsEv + 0x0000000000000812 0x2e Obj/Player.o + 0x0000000000000812 _ZN6Player11handleUnitsEv .text._ZN6Player9drawUnitsEv - 0x0000000000000824 0x2e Obj/Player.o - 0x0000000000000824 _ZN6Player9drawUnitsEv + 0x0000000000000840 0x2e Obj/Player.o + 0x0000000000000840 _ZN6Player9drawUnitsEv .text._ZN6CameraC2Ev - 0x0000000000000852 0x10 Obj/Camera.o - 0x0000000000000852 _ZN6CameraC1Ev - 0x0000000000000852 _ZN6CameraC2Ev - .text._ZNK6Camera4getXEh - 0x0000000000000862 0xa Obj/Camera.o - 0x0000000000000862 _ZNK6Camera4getXEh - .text._ZNK6Camera4getYEh - 0x000000000000086c 0xa Obj/Camera.o - 0x000000000000086c _ZNK6Camera4getYEh + 0x000000000000086e 0x10 Obj/Camera.o + 0x000000000000086e _ZN6CameraC1Ev + 0x000000000000086e _ZN6CameraC2Ev + .text._ZNK6Camera8getRealXEi + 0x000000000000087e 0xc Obj/Camera.o + 0x000000000000087e _ZNK6Camera8getRealXEi + .text._ZNK6Camera8getRealYEi + 0x000000000000088a 0xc Obj/Camera.o + 0x000000000000088a _ZNK6Camera8getRealYEi + .text._ZNK6Camera4getXEj + 0x0000000000000896 0x10 Obj/Camera.o + 0x0000000000000896 _ZNK6Camera4getXEj + .text._ZNK6Camera4getYEj + 0x00000000000008a6 0x10 Obj/Camera.o + 0x00000000000008a6 _ZNK6Camera4getYEj .text._ZN6Camera16onLeftBtnPressedER6Cursor - 0x0000000000000876 0x42 Obj/Camera.o - 0x0000000000000876 _ZN6Camera16onLeftBtnPressedER6Cursor + 0x00000000000008b6 0x42 Obj/Camera.o + 0x00000000000008b6 _ZN6Camera16onLeftBtnPressedER6Cursor .text._ZN6Camera17onRightBtnPressedER6Cursor - 0x00000000000008b8 0x44 Obj/Camera.o - 0x00000000000008b8 _ZN6Camera17onRightBtnPressedER6Cursor + 0x00000000000008f8 0x44 Obj/Camera.o + 0x00000000000008f8 _ZN6Camera17onRightBtnPressedER6Cursor .text._ZN6Camera14onUpBtnPressedER6Cursor - 0x00000000000008fc 0x42 Obj/Camera.o - 0x00000000000008fc _ZN6Camera14onUpBtnPressedER6Cursor + 0x000000000000093c 0x42 Obj/Camera.o + 0x000000000000093c _ZN6Camera14onUpBtnPressedER6Cursor .text._ZN6Camera16onDownBtnPressedER6Cursor - 0x000000000000093e 0x44 Obj/Camera.o - 0x000000000000093e _ZN6Camera16onDownBtnPressedER6Cursor + 0x000000000000097e 0x44 Obj/Camera.o + 0x000000000000097e _ZN6Camera16onDownBtnPressedER6Cursor .text._ZNK6Camera8isLockedEv - 0x0000000000000982 0x6 Obj/Camera.o - 0x0000000000000982 _ZNK6Camera8isLockedEv + 0x00000000000009c2 0x6 Obj/Camera.o + 0x00000000000009c2 _ZNK6Camera8isLockedEv .text._ZN8BaseUnitC2Ev - 0x0000000000000988 0x14 Obj/BaseUnit.o - 0x0000000000000988 _ZN8BaseUnitC1Ev - 0x0000000000000988 _ZN8BaseUnitC2Ev + 0x00000000000009c8 0x14 Obj/BaseUnit.o + 0x00000000000009c8 _ZN8BaseUnitC1Ev + 0x00000000000009c8 _ZN8BaseUnitC2Ev .text._ZN8BaseUnit6createEjj - 0x000000000000099c 0x10 Obj/BaseUnit.o - 0x000000000000099c _ZN8BaseUnit6createEjj + 0x00000000000009dc 0x10 Obj/BaseUnit.o + 0x00000000000009dc _ZN8BaseUnit6createEjj .text._ZN8BaseUnit7handlerEv - 0x00000000000009ac 0x2 Obj/BaseUnit.o - 0x00000000000009ac _ZN8BaseUnit7handlerEv + 0x00000000000009ec 0x2 Obj/BaseUnit.o + 0x00000000000009ec _ZN8BaseUnit7handlerEv + .text._ZN8BaseUnit9setCameraEPK6Camera + 0x00000000000009ee 0xa Obj/BaseUnit.o + 0x00000000000009ee _ZN8BaseUnit9setCameraEPK6Camera .text._ZN8BaseUnit11drawHandlerEPKh - 0x00000000000009ae 0x2a Obj/BaseUnit.o - 0x00000000000009ae _ZN8BaseUnit11drawHandlerEPKh + 0x00000000000009f8 0x8a Obj/BaseUnit.o + 0x00000000000009f8 _ZN8BaseUnit11drawHandlerEPKh .text._ZN8BaseUnit7isAliveEv - 0x00000000000009d8 0x6 Obj/BaseUnit.o - 0x00000000000009d8 _ZN8BaseUnit7isAliveEv + 0x0000000000000a82 0x6 Obj/BaseUnit.o + 0x0000000000000a82 _ZN8BaseUnit7isAliveEv .text._ZN8BaseUnit10isSelectedEv - 0x00000000000009de 0x6 Obj/BaseUnit.o - 0x00000000000009de _ZN8BaseUnit10isSelectedEv + 0x0000000000000a88 0x6 Obj/BaseUnit.o + 0x0000000000000a88 _ZN8BaseUnit10isSelectedEv .text._ZN8BaseUnit11setSelectedEb - 0x00000000000009e4 0x6 Obj/BaseUnit.o - 0x00000000000009e4 _ZN8BaseUnit11setSelectedEb + 0x0000000000000a8e 0x6 Obj/BaseUnit.o + 0x0000000000000a8e _ZN8BaseUnit11setSelectedEb .text._ZN8BaseUnit4getXEv - 0x00000000000009ea 0x8 Obj/BaseUnit.o - 0x00000000000009ea _ZN8BaseUnit4getXEv + 0x0000000000000a94 0x8 Obj/BaseUnit.o + 0x0000000000000a94 _ZN8BaseUnit4getXEv .text._ZN8BaseUnit4getYEv - 0x00000000000009f2 0x8 Obj/BaseUnit.o - 0x00000000000009f2 _ZN8BaseUnit4getYEv + 0x0000000000000a9c 0x8 Obj/BaseUnit.o + 0x0000000000000a9c _ZN8BaseUnit4getYEv .text._ZN4UnitC2ENS_7tUnitIDE - 0x00000000000009fa 0x1e Obj/Unit.o - 0x00000000000009fa _ZN4UnitC2ENS_7tUnitIDE - 0x00000000000009fa _ZN4UnitC1ENS_7tUnitIDE + 0x0000000000000aa4 0x2a Obj/Unit.o + 0x0000000000000aa4 _ZN4UnitC2ENS_7tUnitIDE + 0x0000000000000aa4 _ZN4UnitC1ENS_7tUnitIDE .text._ZN4Unit6createENS_7tUnitIDEjj - 0x0000000000000a18 0x5c Obj/Unit.o - 0x0000000000000a18 _ZN4Unit6createENS_7tUnitIDEjj + 0x0000000000000ace 0x5c Obj/Unit.o + 0x0000000000000ace _ZN4Unit6createENS_7tUnitIDEjj + .text._ZN4Unit6moveToEjj + 0x0000000000000b2a 0x14 Obj/Unit.o + 0x0000000000000b2a _ZN4Unit6moveToEjj .text._ZN4Unit7handlerEv - 0x0000000000000a74 0x4 Obj/Unit.o - 0x0000000000000a74 _ZN4Unit7handlerEv + 0x0000000000000b3e 0x54 Obj/Unit.o + 0x0000000000000b3e _ZN4Unit7handlerEv .text._ZN4Unit11drawHandlerEv - 0x0000000000000a78 0x9a Obj/Unit.o - 0x0000000000000a78 _ZN4Unit11drawHandlerEv + 0x0000000000000b92 0xb8 Obj/Unit.o + 0x0000000000000b92 _ZN4Unit11drawHandlerEv .text._ZL20MainMenuSinglePlayerv - 0x0000000000000b12 0x9e Obj/Menu.o + 0x0000000000000c4a 0xaa Obj/Menu.o .text._Z8MainMenuv - 0x0000000000000bb0 0x24 Obj/Menu.o - 0x0000000000000bb0 _Z8MainMenuv - .text._ZN6CursorC2Ev - 0x0000000000000bd4 0xc Obj/Cursor.o - 0x0000000000000bd4 _ZN6CursorC1Ev - 0x0000000000000bd4 _ZN6CursorC2Ev + 0x0000000000000cf4 0x24 Obj/Menu.o + 0x0000000000000cf4 _Z8MainMenuv + .text._ZN6CursorC2ERK6Camera + 0x0000000000000d18 0x10 Obj/Cursor.o + 0x0000000000000d18 _ZN6CursorC1ERK6Camera + 0x0000000000000d18 _ZN6CursorC2ERK6Camera .text._ZN6Cursor4moveEaa - 0x0000000000000be0 0x3c Obj/Cursor.o - 0x0000000000000be0 _ZN6Cursor4moveEaa + 0x0000000000000d28 0x3c Obj/Cursor.o + 0x0000000000000d28 _ZN6Cursor4moveEaa + .text._ZN6Cursor10getScreenXEv + 0x0000000000000d64 0x6 Obj/Cursor.o + 0x0000000000000d64 _ZN6Cursor10getScreenXEv + .text._ZN6Cursor10getScreenYEv + 0x0000000000000d6a 0x6 Obj/Cursor.o + 0x0000000000000d6a _ZN6Cursor10getScreenYEv .text._ZN6Cursor4getXEv - 0x0000000000000c1c 0x6 Obj/Cursor.o - 0x0000000000000c1c _ZN6Cursor4getXEv + 0x0000000000000d70 0x10 Obj/Cursor.o + 0x0000000000000d70 _ZN6Cursor4getXEv .text._ZN6Cursor4getYEv - 0x0000000000000c22 0x6 Obj/Cursor.o - 0x0000000000000c22 _ZN6Cursor4getYEv + 0x0000000000000d80 0x10 Obj/Cursor.o + 0x0000000000000d80 _ZN6Cursor4getYEv .text._ZN6Cursor11isXCenteredEv - 0x0000000000000c28 0xe Obj/Cursor.o - 0x0000000000000c28 _ZN6Cursor11isXCenteredEv + 0x0000000000000d90 0xe Obj/Cursor.o + 0x0000000000000d90 _ZN6Cursor11isXCenteredEv .text._ZN6Cursor11isYCenteredEv - 0x0000000000000c36 0x10 Obj/Cursor.o - 0x0000000000000c36 _ZN6Cursor11isYCenteredEv - .text._ZN11HumanPlayer13onBBtnPressedEv - 0x0000000000000c46 0x2 Obj/HumanPlayerBtn.o - 0x0000000000000c46 _ZN11HumanPlayer13onBBtnPressedEv + 0x0000000000000d9e 0x10 Obj/Cursor.o + 0x0000000000000d9e _ZN6Cursor11isYCenteredEv .text._ZN11HumanPlayer14onABtnReleasedEv - 0x0000000000000c48 0x2a Obj/HumanPlayerBtn.o - 0x0000000000000c48 _ZN11HumanPlayer14onABtnReleasedEv + 0x0000000000000dae 0x2a Obj/HumanPlayerBtn.o + 0x0000000000000dae _ZN11HumanPlayer14onABtnReleasedEv + .text._ZN11HumanPlayer14onBBtnReleasedEv + 0x0000000000000dd8 0x82 Obj/HumanPlayerBtn.o + 0x0000000000000dd8 _ZN11HumanPlayer14onBBtnReleasedEv + .text._ZN11HumanPlayer13onBBtnPressedEv + 0x0000000000000e5a 0x5e Obj/HumanPlayerBtn.o + 0x0000000000000e5a _ZN11HumanPlayer13onBBtnPressedEv .text._ZN11HumanPlayer13onABtnPressedEv - 0x0000000000000c72 0x3c Obj/HumanPlayerBtn.o - 0x0000000000000c72 _ZN11HumanPlayer13onABtnPressedEv + 0x0000000000000eb8 0x3c Obj/HumanPlayerBtn.o + 0x0000000000000eb8 _ZN11HumanPlayer13onABtnPressedEv .text._ZN11HumanPlayer26playerButtonPressedHandlerEj - 0x0000000000000cae 0x50 Obj/HumanPlayerBtn.o - 0x0000000000000cae _ZN11HumanPlayer26playerButtonPressedHandlerEj + 0x0000000000000ef4 0x50 Obj/HumanPlayerBtn.o + 0x0000000000000ef4 _ZN11HumanPlayer26playerButtonPressedHandlerEj .text._ZN11HumanPlayer26cameraButtonPressedHandlerEj - 0x0000000000000cfe 0xa0 Obj/HumanPlayerBtn.o - 0x0000000000000cfe _ZN11HumanPlayer26cameraButtonPressedHandlerEj + 0x0000000000000f44 0xa0 Obj/HumanPlayerBtn.o + 0x0000000000000f44 _ZN11HumanPlayer26cameraButtonPressedHandlerEj .text._ZN11HumanPlayer27playerButtonReleasedHandlerEj - 0x0000000000000d9e 0x50 Obj/HumanPlayerBtn.o - 0x0000000000000d9e _ZN11HumanPlayer27playerButtonReleasedHandlerEj + 0x0000000000000fe4 0x50 Obj/HumanPlayerBtn.o + 0x0000000000000fe4 _ZN11HumanPlayer27playerButtonReleasedHandlerEj .text._ZN11HumanPlayer13buttonHandlerEv - 0x0000000000000dee 0x46 Obj/HumanPlayerBtn.o - 0x0000000000000dee _ZN11HumanPlayer13buttonHandlerEv + 0x0000000000001034 0x56 Obj/HumanPlayerBtn.o + 0x0000000000001034 _ZN11HumanPlayer13buttonHandlerEv .text._ZN7Buttons5beginEv - 0x0000000000000e34 0x20 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000e34 _ZN7Buttons5beginEv + 0x000000000000108a 0x20 ../lib/libgamebuino.a(Buttons.o) + 0x000000000000108a _ZN7Buttons5beginEv .text._ZN7Buttons6updateEv - 0x0000000000000e54 0x5a ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000e54 _ZN7Buttons6updateEv + 0x00000000000010aa 0x5a ../lib/libgamebuino.a(Buttons.o) + 0x00000000000010aa _ZN7Buttons6updateEv .text._ZN7Buttons7pressedEh - 0x0000000000000eae 0x12 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000eae _ZN7Buttons7pressedEh + 0x0000000000001104 0x12 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001104 _ZN7Buttons7pressedEh .text._ZN7Buttons8releasedEh - 0x0000000000000ec0 0x12 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000ec0 _ZN7Buttons8releasedEh + 0x0000000000001116 0x12 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001116 _ZN7Buttons8releasedEh .text._ZN7Buttons6repeatEhh - 0x0000000000000ed2 0x30 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000ed2 _ZN7Buttons6repeatEhh + 0x0000000000001128 0x30 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001128 _ZN7Buttons6repeatEhh .text._ZN7Buttons8timeHeldEh - 0x0000000000000f02 0x10 ../lib/libgamebuino.a(Buttons.o) - 0x0000000000000f02 _ZN7Buttons8timeHeldEh + 0x0000000000001158 0x10 ../lib/libgamebuino.a(Buttons.o) + 0x0000000000001158 _ZN7Buttons8timeHeldEh .text._ZN8SPIClass8transferEh - 0x0000000000000f12 0xc ../lib/libgamebuino.a(Display.o) - 0x0000000000000f12 _ZN8SPIClass8transferEh + 0x0000000000001168 0xc ../lib/libgamebuino.a(Display.o) + 0x0000000000001168 _ZN8SPIClass8transferEh .text._ZN7Display9drawPixelEaa - 0x0000000000000f1e 0xb8 ../lib/libgamebuino.a(Display.o) - 0x0000000000000f1e _ZN7Display9drawPixelEaa + 0x0000000000001174 0xb8 ../lib/libgamebuino.a(Display.o) + 0x0000000000001174 _ZN7Display9drawPixelEaa .text._ZN7Display7commandEh - 0x0000000000000fd6 0x3c ../lib/libgamebuino.a(Display.o) - 0x0000000000000fd6 _ZN7Display7commandEh + 0x000000000000122c 0x3c ../lib/libgamebuino.a(Display.o) + 0x000000000000122c _ZN7Display7commandEh .text._ZN7Display5clearEv - 0x0000000000001012 0x22 ../lib/libgamebuino.a(Display.o) - 0x0000000000001012 _ZN7Display5clearEv + 0x0000000000001268 0x22 ../lib/libgamebuino.a(Display.o) + 0x0000000000001268 _ZN7Display5clearEv .text._ZN7Display6updateEv - 0x0000000000001034 0x8a ../lib/libgamebuino.a(Display.o) - 0x0000000000001034 _ZN7Display6updateEv + 0x000000000000128a 0x8a ../lib/libgamebuino.a(Display.o) + 0x000000000000128a _ZN7Display6updateEv .text._ZN7Display8setColorEa - 0x00000000000010be 0x8 ../lib/libgamebuino.a(Display.o) - 0x00000000000010be _ZN7Display8setColorEa + 0x0000000000001314 0x8 ../lib/libgamebuino.a(Display.o) + 0x0000000000001314 _ZN7Display8setColorEa .text._ZN7Display8setColorEaa - 0x00000000000010c6 0x8 ../lib/libgamebuino.a(Display.o) - 0x00000000000010c6 _ZN7Display8setColorEaa + 0x000000000000131c 0x8 ../lib/libgamebuino.a(Display.o) + 0x000000000000131c _ZN7Display8setColorEaa .text._ZN7Display13drawFastVLineEaaa - 0x00000000000010ce 0x38 ../lib/libgamebuino.a(Display.o) - 0x00000000000010ce _ZN7Display13drawFastVLineEaaa + 0x0000000000001324 0x38 ../lib/libgamebuino.a(Display.o) + 0x0000000000001324 _ZN7Display13drawFastVLineEaaa .text._ZN7Display13drawFastHLineEaaa - 0x0000000000001106 0x38 ../lib/libgamebuino.a(Display.o) - 0x0000000000001106 _ZN7Display13drawFastHLineEaaa + 0x000000000000135c 0x38 ../lib/libgamebuino.a(Display.o) + 0x000000000000135c _ZN7Display13drawFastHLineEaaa .text._ZN7Display8drawRectEaaaa - 0x000000000000113e 0x50 ../lib/libgamebuino.a(Display.o) - 0x000000000000113e _ZN7Display8drawRectEaaaa + 0x0000000000001394 0x50 ../lib/libgamebuino.a(Display.o) + 0x0000000000001394 _ZN7Display8drawRectEaaaa .text._ZN7Display8fillRectEaaaa - 0x000000000000118e 0x52 ../lib/libgamebuino.a(Display.o) - 0x000000000000118e _ZN7Display8fillRectEaaaa + 0x00000000000013e4 0x52 ../lib/libgamebuino.a(Display.o) + 0x00000000000013e4 _ZN7Display8fillRectEaaaa .text._ZN7Display16drawCircleHelperEaaah - 0x00000000000011e0 0xfc ../lib/libgamebuino.a(Display.o) - 0x00000000000011e0 _ZN7Display16drawCircleHelperEaaah + 0x0000000000001436 0xfc ../lib/libgamebuino.a(Display.o) + 0x0000000000001436 _ZN7Display16drawCircleHelperEaaah .text._ZN7Display16fillCircleHelperEaaaha - 0x00000000000012dc 0xcc ../lib/libgamebuino.a(Display.o) - 0x00000000000012dc _ZN7Display16fillCircleHelperEaaaha + 0x0000000000001532 0xcc ../lib/libgamebuino.a(Display.o) + 0x0000000000001532 _ZN7Display16fillCircleHelperEaaaha .text._ZN7Display13drawRoundRectEaaaaa - 0x00000000000013a8 0xbe ../lib/libgamebuino.a(Display.o) - 0x00000000000013a8 _ZN7Display13drawRoundRectEaaaaa + 0x00000000000015fe 0xbe ../lib/libgamebuino.a(Display.o) + 0x00000000000015fe _ZN7Display13drawRoundRectEaaaaa .text._ZN7Display13fillRoundRectEaaaaa - 0x0000000000001466 0x6e ../lib/libgamebuino.a(Display.o) - 0x0000000000001466 _ZN7Display13fillRoundRectEaaaaa + 0x00000000000016bc 0x6e ../lib/libgamebuino.a(Display.o) + 0x00000000000016bc _ZN7Display13fillRoundRectEaaaaa .text._ZN7Display10drawBitmapEaaPKh - 0x00000000000014d4 0x288 ../lib/libgamebuino.a(Display.o) - 0x00000000000014d4 _ZN7Display10drawBitmapEaaPKh + 0x000000000000172a 0x288 ../lib/libgamebuino.a(Display.o) + 0x000000000000172a _ZN7Display10drawBitmapEaaPKh .text._ZN7Display7setFontEPKh - 0x000000000000175c 0x28 ../lib/libgamebuino.a(Display.o) - 0x000000000000175c _ZN7Display7setFontEPKh + 0x00000000000019b2 0x28 ../lib/libgamebuino.a(Display.o) + 0x00000000000019b2 _ZN7Display7setFontEPKh .text._ZN7Display5beginEaaaaa - 0x0000000000001784 0x180 ../lib/libgamebuino.a(Display.o) - 0x0000000000001784 _ZN7Display5beginEaaaaa + 0x00000000000019da 0x180 ../lib/libgamebuino.a(Display.o) + 0x00000000000019da _ZN7Display5beginEaaaaa .text._ZN7Display8drawCharEaahh - 0x0000000000001904 0x14a ../lib/libgamebuino.a(Display.o) - 0x0000000000001904 _ZN7Display8drawCharEaahh + 0x0000000000001b5a 0x14a ../lib/libgamebuino.a(Display.o) + 0x0000000000001b5a _ZN7Display8drawCharEaahh .text._ZN7Display5writeEh - 0x0000000000001a4e 0x66 ../lib/libgamebuino.a(Display.o) - 0x0000000000001a4e _ZN7Display5writeEh + 0x0000000000001ca4 0x66 ../lib/libgamebuino.a(Display.o) + 0x0000000000001ca4 _ZN7Display5writeEh .text._ZN9Gamebuino11updatePopupEv - 0x0000000000001ab4 0xe0 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000001ab4 _ZN9Gamebuino11updatePopupEv + 0x0000000000001d0a 0xe0 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000001d0a _ZN9Gamebuino11updatePopupEv .text._ZN9Gamebuino14displayBatteryEv - 0x0000000000001b94 0x168 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000001b94 _ZN9Gamebuino14displayBatteryEv + 0x0000000000001dea 0x168 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000001dea _ZN9Gamebuino14displayBatteryEv .text._ZN9Gamebuino6updateEv - 0x0000000000001cfc 0x176 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000001cfc _ZN9Gamebuino6updateEv + 0x0000000000001f52 0x176 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000001f52 _ZN9Gamebuino6updateEv .text._ZN9Gamebuino4menuEPKPKch - 0x0000000000001e72 0x29c ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000001e72 _ZN9Gamebuino4menuEPKPKch + 0x00000000000020c8 0x29c ../lib/libgamebuino.a(Gamebuino.o) + 0x00000000000020c8 _ZN9Gamebuino4menuEPKPKch .text._ZN9Gamebuino10changeGameEv - 0x000000000000210e 0x7a ../lib/libgamebuino.a(Gamebuino.o) - 0x000000000000210e _ZN9Gamebuino10changeGameEv + 0x0000000000002364 0x7a ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002364 _ZN9Gamebuino10changeGameEv .text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh - 0x0000000000002188 0x27c ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000002188 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh + 0x00000000000023de 0x27c ../lib/libgamebuino.a(Gamebuino.o) + 0x00000000000023de _ZN9Gamebuino11titleScreenEPK19__FlashStringHelperPKh .text._ZN9Gamebuino11titleScreenEPK19__FlashStringHelper - 0x0000000000002404 0x8 ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000002404 _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper + 0x000000000000265a 0x8 ../lib/libgamebuino.a(Gamebuino.o) + 0x000000000000265a _ZN9Gamebuino11titleScreenEPK19__FlashStringHelper .text._ZN9Gamebuino17settingsAvailableEv - 0x000000000000240c 0x14 ../lib/libgamebuino.a(Gamebuino.o) - 0x000000000000240c _ZN9Gamebuino17settingsAvailableEv + 0x0000000000002662 0x14 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002662 _ZN9Gamebuino17settingsAvailableEv .text._ZN9Gamebuino12readSettingsEv - 0x0000000000002420 0xde ../lib/libgamebuino.a(Gamebuino.o) - 0x0000000000002420 _ZN9Gamebuino12readSettingsEv + 0x0000000000002676 0xde ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002676 _ZN9Gamebuino12readSettingsEv .text._ZN9Gamebuino5beginEv - 0x00000000000024fe 0xb6 ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000024fe _ZN9Gamebuino5beginEv + 0x0000000000002754 0xb6 ../lib/libgamebuino.a(Gamebuino.o) + 0x0000000000002754 _ZN9Gamebuino5beginEv .text._ZN9Gamebuino14getDefaultNameEPc - 0x00000000000025b4 0x2c ../lib/libgamebuino.a(Gamebuino.o) - 0x00000000000025b4 _ZN9Gamebuino14getDefaultNameEPc + 0x000000000000280a 0x2c ../lib/libgamebuino.a(Gamebuino.o) + 0x000000000000280a _ZN9Gamebuino14getDefaultNameEPc .text._ZN5Sound7commandEhhah.part.0 - 0x00000000000025e0 0x74 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002836 0x74 ../lib/libgamebuino.a(Sound.o) .text._ZN5Sound5beginEv - 0x0000000000002654 0x6a ../lib/libgamebuino.a(Sound.o) - 0x0000000000002654 _ZN5Sound5beginEv + 0x00000000000028aa 0x6a ../lib/libgamebuino.a(Sound.o) + 0x00000000000028aa _ZN5Sound5beginEv .text._ZN5Sound7commandEhhah - 0x00000000000026be 0x62 ../lib/libgamebuino.a(Sound.o) - 0x00000000000026be _ZN5Sound7commandEhhah + 0x0000000000002914 0x62 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002914 _ZN5Sound7commandEhhah .text._ZN5Sound8playNoteEhhh - 0x0000000000002720 0x24 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002720 _ZN5Sound8playNoteEhhh + 0x0000000000002976 0x24 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002976 _ZN5Sound8playNoteEhhh .text._ZN5Sound12updateOutputEv - 0x0000000000002744 0x16 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002744 _ZN5Sound12updateOutputEv + 0x000000000000299a 0x16 ../lib/libgamebuino.a(Sound.o) + 0x000000000000299a _ZN5Sound12updateOutputEv .text._ZN5Sound8stopNoteEh - 0x000000000000275a 0x22 ../lib/libgamebuino.a(Sound.o) - 0x000000000000275a _ZN5Sound8stopNoteEh + 0x00000000000029b0 0x22 ../lib/libgamebuino.a(Sound.o) + 0x00000000000029b0 _ZN5Sound8stopNoteEh .text._ZN5Sound11stopPatternEh - 0x000000000000277c 0x16 ../lib/libgamebuino.a(Sound.o) - 0x000000000000277c _ZN5Sound11stopPatternEh + 0x00000000000029d2 0x16 ../lib/libgamebuino.a(Sound.o) + 0x00000000000029d2 _ZN5Sound11stopPatternEh .text._ZN5Sound11playPatternEPKjh - 0x0000000000002792 0x36 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002792 _ZN5Sound11playPatternEPKjh + 0x00000000000029e8 0x36 ../lib/libgamebuino.a(Sound.o) + 0x00000000000029e8 _ZN5Sound11playPatternEPKjh .text._ZN5Sound11updateTrackEh - 0x00000000000027c8 0x72 ../lib/libgamebuino.a(Sound.o) - 0x00000000000027c8 _ZN5Sound11updateTrackEh + 0x0000000000002a1e 0x72 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002a1e _ZN5Sound11updateTrackEh .text._ZN5Sound11updateTrackEv - 0x000000000000283a 0x6 ../lib/libgamebuino.a(Sound.o) - 0x000000000000283a _ZN5Sound11updateTrackEv + 0x0000000000002a90 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002a90 _ZN5Sound11updateTrackEv .text._ZN5Sound11stopPatternEv - 0x0000000000002840 0x6 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002840 _ZN5Sound11stopPatternEv + 0x0000000000002a96 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002a96 _ZN5Sound11stopPatternEv .text._ZN5Sound13updatePatternEh - 0x0000000000002846 0xcc ../lib/libgamebuino.a(Sound.o) - 0x0000000000002846 _ZN5Sound13updatePatternEh + 0x0000000000002a9c 0xcc ../lib/libgamebuino.a(Sound.o) + 0x0000000000002a9c _ZN5Sound13updatePatternEh .text._ZN5Sound13updatePatternEv - 0x0000000000002912 0x6 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002912 _ZN5Sound13updatePatternEv + 0x0000000000002b68 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002b68 _ZN5Sound13updatePatternEv .text._ZN5Sound10updateNoteEh - 0x0000000000002918 0x184 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002918 _ZN5Sound10updateNoteEh + 0x0000000000002b6e 0x184 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002b6e _ZN5Sound10updateNoteEh .text._ZN5Sound10updateNoteEv - 0x0000000000002a9c 0x6 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002a9c _ZN5Sound10updateNoteEv + 0x0000000000002cf2 0x6 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002cf2 _ZN5Sound10updateNoteEv .text._ZN5Sound14generateOutputEv - 0x0000000000002aa2 0x54 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002aa2 _ZN5Sound14generateOutputEv + 0x0000000000002cf8 0x54 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002cf8 _ZN5Sound14generateOutputEv .text.__vector_11 - 0x0000000000002af6 0x48 ../lib/libgamebuino.a(Sound.o) - 0x0000000000002af6 __vector_11 + 0x0000000000002d4c 0x48 ../lib/libgamebuino.a(Sound.o) + 0x0000000000002d4c __vector_11 .text._ZN5Sound6playOKEv - 0x0000000000002b3e 0x2c ../lib/libgamebuino.a(Sound.o) - 0x0000000000002b3e _ZN5Sound6playOKEv + 0x0000000000002d94 0x2c ../lib/libgamebuino.a(Sound.o) + 0x0000000000002d94 _ZN5Sound6playOKEv .text._ZN5Sound10playCancelEv - 0x0000000000002b6a 0x2c ../lib/libgamebuino.a(Sound.o) - 0x0000000000002b6a _ZN5Sound10playCancelEv + 0x0000000000002dc0 0x2c ../lib/libgamebuino.a(Sound.o) + 0x0000000000002dc0 _ZN5Sound10playCancelEv .text._ZN5Sound8playTickEv - 0x0000000000002b96 0x2c ../lib/libgamebuino.a(Sound.o) - 0x0000000000002b96 _ZN5Sound8playTickEv + 0x0000000000002dec 0x2c ../lib/libgamebuino.a(Sound.o) + 0x0000000000002dec _ZN5Sound8playTickEv .text._ZN5Sound9setVolumeEa - 0x0000000000002bc2 0x1c ../lib/libgamebuino.a(Sound.o) - 0x0000000000002bc2 _ZN5Sound9setVolumeEa + 0x0000000000002e18 0x1c ../lib/libgamebuino.a(Sound.o) + 0x0000000000002e18 _ZN5Sound9setVolumeEa .text._ZN9Backlight5beginEv - 0x0000000000002bde 0x8 ../lib/libgamebuino.a(Backlight.o) - 0x0000000000002bde _ZN9Backlight5beginEv + 0x0000000000002e34 0x8 ../lib/libgamebuino.a(Backlight.o) + 0x0000000000002e34 _ZN9Backlight5beginEv .text._ZN9Backlight3setEh - 0x0000000000002be6 0x8 ../lib/libgamebuino.a(Backlight.o) - 0x0000000000002be6 _ZN9Backlight3setEh + 0x0000000000002e3c 0x8 ../lib/libgamebuino.a(Backlight.o) + 0x0000000000002e3c _ZN9Backlight3setEh .text._ZN9Backlight6updateEv - 0x0000000000002bee 0xbe ../lib/libgamebuino.a(Backlight.o) - 0x0000000000002bee _ZN9Backlight6updateEv + 0x0000000000002e44 0xbe ../lib/libgamebuino.a(Backlight.o) + 0x0000000000002e44 _ZN9Backlight6updateEv .text._ZN7Battery5beginEv - 0x0000000000002cac 0x14 ../lib/libgamebuino.a(Battery.o) - 0x0000000000002cac _ZN7Battery5beginEv + 0x0000000000002f02 0x14 ../lib/libgamebuino.a(Battery.o) + 0x0000000000002f02 _ZN7Battery5beginEv .text._ZN7Battery6updateEv - 0x0000000000002cc0 0x72 ../lib/libgamebuino.a(Battery.o) - 0x0000000000002cc0 _ZN7Battery6updateEv + 0x0000000000002f16 0x72 ../lib/libgamebuino.a(Battery.o) + 0x0000000000002f16 _ZN7Battery6updateEv .text.__vector_16 - 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 + 0x0000000000002f88 0x94 ../lib/libarduino.a(wiring.o) + 0x0000000000002f88 __vector_16 + .text.millis 0x000000000000301c 0x18 ../lib/libarduino.a(wiring.o) + 0x000000000000301c millis + .text.micros 0x0000000000003034 0x4a ../lib/libarduino.a(wiring.o) + 0x0000000000003034 micros + .text.delay 0x000000000000307e 0x4c ../lib/libarduino.a(wiring.o) + 0x000000000000307e delay + .text.init 0x00000000000030ca 0x76 ../lib/libarduino.a(wiring.o) + 0x00000000000030ca init .text.analogRead - 0x0000000000002eea 0x3a ../lib/libarduino.a(wiring_analog.o) - 0x0000000000002eea analogRead + 0x0000000000003140 0x3a ../lib/libarduino.a(wiring_analog.o) + 0x0000000000003140 analogRead .text.analogWrite - 0x0000000000002f24 0xbe ../lib/libarduino.a(wiring_analog.o) - 0x0000000000002f24 analogWrite + 0x000000000000317a 0xbe ../lib/libarduino.a(wiring_analog.o) + 0x000000000000317a analogWrite .text.turnOffPWM - 0x0000000000002fe2 0x52 ../lib/libarduino.a(wiring_digital.o) - .text.pinMode 0x0000000000003034 0x78 ../lib/libarduino.a(wiring_digital.o) - 0x0000000000003034 pinMode + 0x0000000000003238 0x52 ../lib/libarduino.a(wiring_digital.o) + .text.pinMode 0x000000000000328a 0x78 ../lib/libarduino.a(wiring_digital.o) + 0x000000000000328a pinMode .text.digitalWrite - 0x00000000000030ac 0x5e ../lib/libarduino.a(wiring_digital.o) - 0x00000000000030ac digitalWrite + 0x0000000000003302 0x5e ../lib/libarduino.a(wiring_digital.o) + 0x0000000000003302 digitalWrite .text.digitalRead - 0x000000000000310a 0x52 ../lib/libarduino.a(wiring_digital.o) - 0x000000000000310a digitalRead + 0x0000000000003360 0x52 ../lib/libarduino.a(wiring_digital.o) + 0x0000000000003360 digitalRead .text._ZN5Print5writeEPKhj - 0x000000000000315c 0x50 ../lib/libarduino.a(Print.o) - 0x000000000000315c _ZN5Print5writeEPKhj + 0x00000000000033b2 0x50 ../lib/libarduino.a(Print.o) + 0x00000000000033b2 _ZN5Print5writeEPKhj .text._ZN5Print5writeEPKc - 0x00000000000031ac 0x2a ../lib/libarduino.a(Print.o) - 0x00000000000031ac _ZN5Print5writeEPKc + 0x0000000000003402 0x2a ../lib/libarduino.a(Print.o) + 0x0000000000003402 _ZN5Print5writeEPKc .text._ZN5Print5printEPK19__FlashStringHelper - 0x00000000000031d6 0x46 ../lib/libarduino.a(Print.o) - 0x00000000000031d6 _ZN5Print5printEPK19__FlashStringHelper + 0x000000000000342c 0x46 ../lib/libarduino.a(Print.o) + 0x000000000000342c _ZN5Print5printEPK19__FlashStringHelper .text._ZN5Print5printEc - 0x000000000000321c 0xe ../lib/libarduino.a(Print.o) - 0x000000000000321c _ZN5Print5printEc + 0x0000000000003472 0xe ../lib/libarduino.a(Print.o) + 0x0000000000003472 _ZN5Print5printEc .text._ZN5Print7printlnEv - 0x000000000000322a 0x28 ../lib/libarduino.a(Print.o) - 0x000000000000322a _ZN5Print7printlnEv + 0x0000000000003480 0x28 ../lib/libarduino.a(Print.o) + 0x0000000000003480 _ZN5Print7printlnEv .text._ZN5Print7printlnEPK19__FlashStringHelper - 0x0000000000003252 0x24 ../lib/libarduino.a(Print.o) - 0x0000000000003252 _ZN5Print7printlnEPK19__FlashStringHelper + 0x00000000000034a8 0x24 ../lib/libarduino.a(Print.o) + 0x00000000000034a8 _ZN5Print7printlnEPK19__FlashStringHelper .text._ZN5Print11printNumberEmh - 0x0000000000003276 0xac ../lib/libarduino.a(Print.o) - 0x0000000000003276 _ZN5Print11printNumberEmh + 0x00000000000034cc 0xac ../lib/libarduino.a(Print.o) + 0x00000000000034cc _ZN5Print11printNumberEmh .text._ZN5Print5printEmi - 0x0000000000003322 0x1a ../lib/libarduino.a(Print.o) - 0x0000000000003322 _ZN5Print5printEmi + 0x0000000000003578 0x1a ../lib/libarduino.a(Print.o) + 0x0000000000003578 _ZN5Print5printEmi .text._ZN5Print5printEji - 0x000000000000333c 0xc ../lib/libarduino.a(Print.o) - 0x000000000000333c _ZN5Print5printEji + 0x0000000000003592 0xc ../lib/libarduino.a(Print.o) + 0x0000000000003592 _ZN5Print5printEji .text._ZN5Print5printEli - 0x0000000000003348 0x90 ../lib/libarduino.a(Print.o) - 0x0000000000003348 _ZN5Print5printEli + 0x000000000000359e 0x90 ../lib/libarduino.a(Print.o) + 0x000000000000359e _ZN5Print5printEli .text._ZN5Print5printEii - 0x00000000000033d8 0xe ../lib/libarduino.a(Print.o) - 0x00000000000033d8 _ZN5Print5printEii + 0x000000000000362e 0xe ../lib/libarduino.a(Print.o) + 0x000000000000362e _ZN5Print5printEii .text._Z3maplllll - 0x00000000000033e6 0x82 ../lib/libarduino.a(WMath.o) - 0x00000000000033e6 _Z3maplllll + 0x000000000000363c 0x82 ../lib/libarduino.a(WMath.o) + 0x000000000000363c _Z3maplllll .text.__cxa_pure_virtual - 0x0000000000003468 0x2 ../lib/libarduino.a(forward.o) - 0x0000000000003468 __cxa_pure_virtual + 0x00000000000036be 0x2 ../lib/libarduino.a(forward.o) + 0x00000000000036be __cxa_pure_virtual .text._ZN8SPIClass5beginEv - 0x000000000000346a 0x2c ../lib/libarduino.a(SPI.o) - 0x000000000000346a _ZN8SPIClass5beginEv + 0x00000000000036c0 0x2c ../lib/libarduino.a(SPI.o) + 0x00000000000036c0 _ZN8SPIClass5beginEv .text._ZN8SPIClass11setBitOrderEh - 0x0000000000003496 0x12 ../lib/libarduino.a(SPI.o) - 0x0000000000003496 _ZN8SPIClass11setBitOrderEh + 0x00000000000036ec 0x12 ../lib/libarduino.a(SPI.o) + 0x00000000000036ec _ZN8SPIClass11setBitOrderEh .text._ZN8SPIClass11setDataModeEh - 0x00000000000034a8 0xa ../lib/libarduino.a(SPI.o) - 0x00000000000034a8 _ZN8SPIClass11setDataModeEh + 0x00000000000036fe 0xa ../lib/libarduino.a(SPI.o) + 0x00000000000036fe _ZN8SPIClass11setDataModeEh .text._ZN8SPIClass15setClockDividerEh - 0x00000000000034b2 0x1e ../lib/libarduino.a(SPI.o) - 0x00000000000034b2 _ZN8SPIClass15setClockDividerEh + 0x0000000000003708 0x1e ../lib/libarduino.a(SPI.o) + 0x0000000000003708 _ZN8SPIClass15setClockDividerEh .text.libgcc.mul - 0x00000000000034d0 0x20 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_mulsi3.o) - 0x00000000000034d0 __mulsi3 + 0x0000000000003726 0x20 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_mulsi3.o) + 0x0000000000003726 __mulsi3 .text.libgcc.div - 0x00000000000034f0 0x18 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodqi4.o) - 0x00000000000034f0 __udivmodqi4 + 0x0000000000003746 0x18 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodqi4.o) + 0x0000000000003746 __udivmodqi4 .text.libgcc.div - 0x0000000000003508 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodhi4.o) - 0x0000000000003508 __udivmodhi4 + 0x000000000000375e 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodhi4.o) + 0x000000000000375e __udivmodhi4 .text.libgcc.div - 0x0000000000003530 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodhi4.o) - 0x0000000000003530 __divmodhi4 - 0x0000000000003530 _div + 0x0000000000003786 0x28 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodhi4.o) + 0x0000000000003786 __divmodhi4 + 0x0000000000003786 _div .text.libgcc.div - 0x0000000000003558 0x44 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodsi4.o) - 0x0000000000003558 __udivmodsi4 + 0x00000000000037ae 0x44 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_udivmodsi4.o) + 0x00000000000037ae __udivmodsi4 .text.libgcc.div - 0x000000000000359c 0x2e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodsi4.o) - 0x000000000000359c __divmodsi4 + 0x00000000000037f2 0x2e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_divmodsi4.o) + 0x00000000000037f2 __divmodsi4 .text.libgcc.div - 0x00000000000035ca 0x10 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_negsi2.o) - 0x00000000000035ca __negsi2 + 0x0000000000003820 0x10 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_negsi2.o) + 0x0000000000003820 __negsi2 .text.libgcc.mul - 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__ + 0x0000000000003830 0x16 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_muluhisi3.o) + 0x0000000000003830 __muluhisi3 + .text.libgcc 0x0000000000003846 0xc /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_tablejump2.o) + 0x0000000000003846 __tablejump2__ .text.libgcc.mul - 0x00000000000035fc 0x1e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_umulhisi3.o) - 0x00000000000035fc __umulhisi3 + 0x0000000000003852 0x1e /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_umulhisi3.o) + 0x0000000000003852 __umulhisi3 .text.avr-libc.fplib - 0x000000000000361a 0x5e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fixunssfsi.o) - 0x000000000000361a __fixunssfsi + 0x0000000000003870 0x5e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fixunssfsi.o) + 0x0000000000003870 __fixunssfsi .text.avr-libc.fplib - 0x0000000000003678 0x7a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(floatsisf.o) - 0x0000000000003678 __floatunsisf - 0x000000000000367c __floatsisf + 0x00000000000038ce 0x7a /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(floatsisf.o) + 0x00000000000038ce __floatunsisf + 0x00000000000038d2 __floatsisf .text.avr-libc.fplib - 0x00000000000036f2 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_inf.o) - 0x00000000000036f2 __fp_inf + 0x0000000000003948 0xc /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_inf.o) + 0x0000000000003948 __fp_inf .text.avr-libc.fplib - 0x00000000000036fe 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_nan.o) - 0x00000000000036fe __fp_nan + 0x0000000000003954 0x6 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_nan.o) + 0x0000000000003954 __fp_nan .text.avr-libc.fplib - 0x0000000000003704 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscA.o) - 0x0000000000003704 __fp_pscA + 0x000000000000395a 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscA.o) + 0x000000000000395a __fp_pscA .text.avr-libc.fplib - 0x0000000000003712 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscB.o) - 0x0000000000003712 __fp_pscB + 0x0000000000003968 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_pscB.o) + 0x0000000000003968 __fp_pscB .text.avr-libc.fplib - 0x0000000000003720 0x22 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_round.o) - 0x0000000000003720 __fp_round + 0x0000000000003976 0x22 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_round.o) + 0x0000000000003976 __fp_round .text.avr-libc.fplib - 0x0000000000003742 0x44 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_split3.o) - 0x0000000000003742 __fp_split3 - 0x0000000000003752 __fp_splitA + 0x0000000000003998 0x44 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_split3.o) + 0x0000000000003998 __fp_split3 + 0x00000000000039a8 __fp_splitA .text.avr-libc.fplib - 0x0000000000003786 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_zero.o) - 0x0000000000003786 __fp_zero - 0x0000000000003788 __fp_szero + 0x00000000000039dc 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(fp_zero.o) + 0x00000000000039dc __fp_zero + 0x00000000000039de __fp_szero .text.avr-libc.fplib - 0x0000000000003794 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3.o) - 0x0000000000003794 __mulsf3 + 0x00000000000039ea 0x8 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3.o) + 0x00000000000039ea __mulsf3 .text.avr-libc.fplib - 0x000000000000379c 0xd2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3x.o) - 0x00000000000037ba __mulsf3x - 0x00000000000037c0 __mulsf3_pse + 0x00000000000039f2 0xd2 /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libm.a(mulsf3x.o) + 0x0000000000003a10 __mulsf3x + 0x0000000000003a16 __mulsf3_pse .text.avr-libc - 0x000000000000386e 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(memset.o) - 0x000000000000386e memset + 0x0000000000003ac4 0xe /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(memset.o) + 0x0000000000003ac4 memset .text.avr-libc - 0x000000000000387c 0x1e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(strncpy.o) - 0x000000000000387c strncpy - 0x000000000000389a . = ALIGN (0x2) + 0x0000000000003ad2 0x1e /usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/libc.a(strncpy.o) + 0x0000000000003ad2 strncpy + 0x0000000000003af0 . = ALIGN (0x2) *(.fini9) - .fini9 0x000000000000389a 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) - 0x000000000000389a exit - 0x000000000000389a _exit + .fini9 0x0000000000003af0 0x0 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) + 0x0000000000003af0 exit + 0x0000000000003af0 _exit *(.fini9) *(.fini8) *(.fini8) @@ -1831,11 +1871,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000000000000389a 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) + .fini0 0x0000000000003af0 0x4 /usr/lib/gcc/avr/5.4.0/avr5/libgcc.a(_exit.o) *(.fini0) - 0x000000000000389e _etext = . + 0x0000000000003af4 _etext = . -.data 0x0000000000800100 0x74 load address 0x000000000000389e +.data 0x0000000000800100 0x74 load address 0x0000000000003af4 0x0000000000800100 PROVIDE (__data_start, .) *(.data) *(.data*) @@ -1869,7 +1909,7 @@ END GROUP 0x0000000000800174 _edata = . 0x0000000000800174 PROVIDE (__data_end, .) -.bss 0x0000000000800174 0x298 +.bss 0x0000000000800174 0x29a 0x0000000000800174 PROVIDE (__bss_start, .) *(.bss) *(.bss*) @@ -1877,46 +1917,47 @@ END GROUP 0x0000000000800174 gb .bss._cam 0x00000000008001fb 0x2 Obj/Sprite.o 0x00000000008001fb _cam + .bss._ZL3cam 0x00000000008001fd 0x2 Obj/BaseUnit.o .bss._displayBuffer - 0x00000000008001fd 0x200 ../lib/libgamebuino.a(Display.o) - 0x00000000008001fd _displayBuffer + 0x00000000008001ff 0x200 ../lib/libgamebuino.a(Display.o) + 0x00000000008001ff _displayBuffer .bss._chanNoise - 0x00000000008003fd 0x1 ../lib/libgamebuino.a(Sound.o) - 0x00000000008003fd _chanNoise - .bss._chanOutput - 0x00000000008003fe 0x1 ../lib/libgamebuino.a(Sound.o) - 0x00000000008003fe _chanOutput - .bss._chanOutputVolume 0x00000000008003ff 0x1 ../lib/libgamebuino.a(Sound.o) - 0x00000000008003ff _chanOutputVolume - .bss._chanHalfPeriod + 0x00000000008003ff _chanNoise + .bss._chanOutput 0x0000000000800400 0x1 ../lib/libgamebuino.a(Sound.o) - 0x0000000000800400 _chanHalfPeriod - .bss._chanState + 0x0000000000800400 _chanOutput + .bss._chanOutputVolume 0x0000000000800401 0x1 ../lib/libgamebuino.a(Sound.o) - 0x0000000000800401 _chanState - .bss._chanCount + 0x0000000000800401 _chanOutputVolume + .bss._chanHalfPeriod 0x0000000000800402 0x1 ../lib/libgamebuino.a(Sound.o) - 0x0000000000800402 _chanCount + 0x0000000000800402 _chanHalfPeriod + .bss._chanState + 0x0000000000800403 0x1 ../lib/libgamebuino.a(Sound.o) + 0x0000000000800403 _chanState + .bss._chanCount + 0x0000000000800404 0x1 ../lib/libgamebuino.a(Sound.o) + 0x0000000000800404 _chanCount .bss.timer0_fract - 0x0000000000800403 0x1 ../lib/libarduino.a(wiring.o) + 0x0000000000800405 0x1 ../lib/libarduino.a(wiring.o) .bss.timer0_millis - 0x0000000000800404 0x4 ../lib/libarduino.a(wiring.o) - 0x0000000000800404 timer0_millis + 0x0000000000800406 0x4 ../lib/libarduino.a(wiring.o) + 0x0000000000800406 timer0_millis .bss.timer0_overflow_count - 0x0000000000800408 0x4 ../lib/libarduino.a(wiring.o) - 0x0000000000800408 timer0_overflow_count + 0x000000000080040a 0x4 ../lib/libarduino.a(wiring.o) + 0x000000000080040a timer0_overflow_count *(COMMON) - 0x000000000080040c PROVIDE (__bss_end, .) - 0x000000000000389e __data_load_start = LOADADDR (.data) - 0x0000000000003912 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x000000000080040e PROVIDE (__bss_end, .) + 0x0000000000003af4 __data_load_start = LOADADDR (.data) + 0x0000000000003b68 __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x000000000080040c 0x0 +.noinit 0x000000000080040e 0x0 [!provide] PROVIDE (__noinit_start, .) *(.noinit*) [!provide] PROVIDE (__noinit_end, .) - 0x000000000080040c _end = . - 0x000000000080040c PROVIDE (__heap_start, .) + 0x000000000080040e _end = . + 0x000000000080040e PROVIDE (__heap_start, .) .eeprom 0x0000000000810000 0x0 *(.eeprom*) diff --git a/HumanPlayer.cpp b/HumanPlayer.cpp index b432d18..6be3f37 100644 --- a/HumanPlayer.cpp +++ b/HumanPlayer.cpp @@ -63,7 +63,9 @@ HumanPlayer::HumanPlayer(const char* const strPlayerName, const Camera& cam) : Player(strPlayerName), _eState(PLAYER_STATE_IDLE), _cam(cam), -_ABtnFrames(0) +_cursor(cam), +_ABtnFrames(0), +_BBtnFrames(0) { _unitsMap[0].create(Unit::UNIT_ID_PEASANT, 16, 16); } @@ -104,7 +106,7 @@ void HumanPlayer::drawHandler(void) Sprite cursorSpr(au8MouseSprData, false, INVERT); /* Transfer Cursor to Sprite coordinates. */ - cursorSpr.setPos(_cursor.getX(), _cursor.getY()); + cursorSpr.setPos(_cursor.getScreenX(), _cursor.getScreenY()); /* Draw cursor sprite. */ cursorSpr.draw(); @@ -137,7 +139,7 @@ enum HumanPlayer::tPlayerState HumanPlayer::selectUnit(void) /* Maximum distance, in pixels, * between unit and cursor * in order to select a unit. */ - MAX_SELECTION_DISTANCE = 8 + MAX_SELECTION_DISTANCE = 32 }; /* Extract Unit object X position. */ diff --git a/HumanPlayer.h b/HumanPlayer.h index 262dde8..071415d 100644 --- a/HumanPlayer.h +++ b/HumanPlayer.h @@ -50,6 +50,7 @@ class HumanPlayer : public Player /* Released button event handlers. */ void onABtnReleased(void); + void onBBtnReleased(void); /* Unit selection. */ enum tPlayerState selectUnit(void); @@ -60,6 +61,7 @@ class HumanPlayer : public Player /* Private variables. */ uint8_t _ABtnFrames; + uint8_t _BBtnFrames; }; #endif /* HUMAN_PLAYER_H__ */ diff --git a/Makefile b/Makefile index 97bd08d..703ab3b 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ SRC_DIR = . OBJECTS=$(addprefix $(OBJ_DIR)/,main.o Game.o System.o HumanPlayer.o Sprite.o \ Player.o Camera.o BaseUnit.o Unit.o Menu.o \ - Cursor.o HumanPlayerBtn.o) + Cursor.o HumanPlayerBtn.o Coordinates.o) DEPS = $(OBJECTS:.o=.d) diff --git a/Menu.cpp b/Menu.cpp index 76c821b..5e11df2 100644 --- a/Menu.cpp +++ b/Menu.cpp @@ -125,6 +125,8 @@ static void MainMenuSinglePlayer(void) /* Set global camera for sprites. */ Sprite::setCamera(&c.cam); + BaseUnit::setCamera(&c.cam); + /* Initialize game with defined configuration. */ Game(c); } diff --git a/PocketEmpires.geany b/PocketEmpires.geany index a96f26d..0720f72 100644 --- a/PocketEmpires.geany +++ b/PocketEmpires.geany @@ -28,41 +28,41 @@ long_line_behaviour=1 long_line_column=120 [files] -current_page=33 +current_page=30 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_1=3852;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 -FILE_NAME_3=136;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCamera.h;0;4 +FILE_NAME_3=1268;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCamera.h;0;4 FILE_NAME_4=299;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMenu.h;0;4 FILE_NAME_5=611;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.h;0;4 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=1115;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4 +FILE_NAME_9=1827;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=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_13=3108;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCamera.cpp;0;4 +FILE_NAME_14=1593;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSprite.h;0;4 +FILE_NAME_15=2421;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=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_17=6207;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.h;0;4 +FILE_NAME_18=18699;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=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_23=9733;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.cpp;0;4 +FILE_NAME_24=1468;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4 +FILE_NAME_25=1280;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.h;0;4 +FILE_NAME_26=4771;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_28=3133;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.cpp;0;4 +FILE_NAME_29=1351;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.h;0;4 +FILE_NAME_30=3873;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4 +FILE_NAME_31=10225;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 +FILE_NAME_33=2607;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/Unit.cpp b/Unit.cpp index f06fd5c..f739d36 100644 --- a/Unit.cpp +++ b/Unit.cpp @@ -59,7 +59,10 @@ static const PROGMEM uint8_t au8PeasantSprData[] = *********************************************************************/ Unit::Unit(const enum Unit::tUnitID eUnitID) : BaseUnit(), -_eUnitID(eUnitID) +_eUnitID(eUnitID), +_eState(UNIT_STATE_IDLE), +_target_x(0), +_target_y(0) { } @@ -90,6 +93,19 @@ void Unit::create(const enum Unit::tUnitID eUnitID, const uint16_t x, const uint _hp = au8HpData[eUnitID]; } +/*****************************************************************//** + * + * \brief This function sets a position target for a \ref Unit + * object. + * + *********************************************************************/ +void Unit::moveTo(const uint16_t x, const uint16_t y) +{ + _target_x = x; + _target_y = y; + _eState = UNIT_STATE_MOVING; +} + /*****************************************************************//** * * \brief Periodical handler for Unit class. @@ -99,6 +115,33 @@ void Unit::handler(void) { /* Execute base class handler. */ BaseUnit::handler(); + + switch (_eState) + { + case UNIT_STATE_MOVING: + if (_x < _target_x) + { + _x += 1; + } + else if (_x > _target_x) + { + _x -= 1; + } + + if (_y < _target_y) + { + _y += 1; + } + else if (_y > _target_y) + { + _y -= 1; + } + break; + + case UNIT_STATE_IDLE: + default: + break; + } } /*****************************************************************//** @@ -125,7 +168,7 @@ void Unit::drawHandler(void) Sprite spr(pu8UnitSpriteData); - spr.setPos(_x, _y); + spr.setPos(_x - (Sprite::getWidth(pu8UnitSpriteData) >> 1), _y - (Sprite::getHeight(pu8UnitSpriteData) >> 1)); spr.draw(); diff --git a/Unit.h b/Unit.h index e110ba7..ea5efdf 100644 --- a/Unit.h +++ b/Unit.h @@ -45,9 +45,17 @@ class Unit : public BaseUnit void create(const enum Unit::tUnitID eUnitID, const uint16_t x, const uint16_t y); void handler(void); void drawHandler(void); + void moveTo(const uint16_t x, const uint16_t y); private: enum tUnitID _eUnitID; + enum tUnitState + { + UNIT_STATE_IDLE, + UNIT_STATE_MOVING + } _eState; + uint16_t _target_x; + uint16_t _target_y; }; #endif /* UNIT_H__ */