diff options
author | sicarius <devnull@localhost> | 2007-02-14 18:47:03 +0100 |
---|---|---|
committer | sicarius <devnull@localhost> | 2007-02-14 18:47:03 +0100 |
commit | 29618453d22c694a0dcb9541b2cea3ee32928fbb (patch) | |
tree | 00f7d1c86c904d3a65bd52438e1fabc3fdf3f5df /source/AVR_Studio/Soccer | |
parent | ab9cf92c1a0f1d400e7f46a346c47d952ea376cc (diff) | |
download | rc2007-soccer-29618453d22c694a0dcb9541b2cea3ee32928fbb.tar rc2007-soccer-29618453d22c694a0dcb9541b2cea3ee32928fbb.zip |
Code-Work by Marian
Diffstat (limited to 'source/AVR_Studio/Soccer')
24 files changed, 1264 insertions, 1010 deletions
diff --git a/source/AVR_Studio/Soccer/Soccer.aps b/source/AVR_Studio/Soccer/Soccer.aps index 09677cb..04830f4 100755 --- a/source/AVR_Studio/Soccer/Soccer.aps +++ b/source/AVR_Studio/Soccer/Soccer.aps @@ -1 +1 @@ -<AVRStudio><MANAGEMENT><ProjectName>Soccer</ProjectName><Created>07-Feb-2007 15:43:12</Created><LastEdit>13-Feb-2007 17:28:05</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>07-Feb-2007 15:43:12</Created><Version>4</Version><Build>4, 12, 0, 462</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\Soccer.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>Y:\AVR_Studio\Soccer\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega128</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>Soccer.c</SOURCEFILE><SOURCEFILE>hal\board.c</SOURCEFILE><SOURCEFILE>hal\keylcd.c</SOURCEFILE><SOURCEFILE>hal\i2c.c</SOURCEFILE><SOURCEFILE>global.c</SOURCEFILE><SOURCEFILE>hal\uart.c</SOURCEFILE><SOURCEFILE>navigation.c</SOURCEFILE><SOURCEFILE>sensor\sensor.c</SOURCEFILE><SOURCEFILE>sensor\ballsensor.c</SOURCEFILE><SOURCEFILE>hal\maussensor.c</SOURCEFILE><HEADERFILE>hal\board.h</HEADERFILE><HEADERFILE>hal\keylcd.h</HEADERFILE><HEADERFILE>hal\i2c.h</HEADERFILE><HEADERFILE>global.h</HEADERFILE><HEADERFILE>hal\uart.h</HEADERFILE><HEADERFILE>navigation.h</HEADERFILE><HEADERFILE>sensor\sensor.h</HEADERFILE><HEADERFILE>sensor\ballsensor.h</HEADERFILE><HEADERFILE>hal\maussensor.h</HEADERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>0</LIST><MAP>0</MAP><OUTPUTFILENAME>Soccer.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>Soccer.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>global.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\board.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\i2c.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\keylcd.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=16000000ULUL -O3 -fsigned-char</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>0</USES_WINAVR><GCC_LOC>C:\WinAVR\bin\avr-g++.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><ProjectFiles><Files><Name>Y:\AVR_Studio\Soccer\hal\board.h</Name><Name>Y:\AVR_Studio\Soccer\hal\keylcd.h</Name><Name>Y:\AVR_Studio\Soccer\hal\i2c.h</Name><Name>Y:\AVR_Studio\Soccer\global.h</Name><Name>Y:\AVR_Studio\Soccer\hal\uart.h</Name><Name>Y:\AVR_Studio\Soccer\navigation.h</Name><Name>Y:\AVR_Studio\Soccer\sensor\sensor.h</Name><Name>Y:\AVR_Studio\Soccer\sensor\ballsensor.h</Name><Name>Y:\AVR_Studio\Soccer\hal\maussensor.h</Name><Name>Y:\AVR_Studio\Soccer\Soccer.c</Name><Name>Y:\AVR_Studio\Soccer\hal\board.c</Name><Name>Y:\AVR_Studio\Soccer\hal\keylcd.c</Name><Name>Y:\AVR_Studio\Soccer\hal\i2c.c</Name><Name>Y:\AVR_Studio\Soccer\global.c</Name><Name>Y:\AVR_Studio\Soccer\hal\uart.c</Name><Name>Y:\AVR_Studio\Soccer\navigation.c</Name><Name>Y:\AVR_Studio\Soccer\sensor\sensor.c</Name><Name>Y:\AVR_Studio\Soccer\sensor\ballsensor.c</Name><Name>Y:\AVR_Studio\Soccer\hal\maussensor.c</Name></Files></ProjectFiles><Files><File00000><FileId>00000</FileId><FileName>Soccer.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>hal\board.c</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>hal\keylcd.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>hal\keylcd.c</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>hal\i2c.h</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>hal\i2c.c</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>global.h</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>global.c</FileName><Status>1</Status></File00007><File00008><FileId>00008</FileId><FileName>c:\WinAVR\avr\include\avr\iom128.h</FileName><Status>1</Status></File00008><File00009><FileId>00009</FileId><FileName>hal\board.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>hal\uart.c</FileName><Status>1</Status></File00010><File00011><FileId>00011</FileId><FileName>navigation.h</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>hal\uart.h</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>navigation.c</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>sensor\sensor.h</FileName><Status>1</Status></File00014><File00015><FileId>00015</FileId><FileName>sensor\sensor.c</FileName><Status>1</Status></File00015><File00016><FileId>00016</FileId><FileName>sensor\ballsensor.h</FileName><Status>1</Status></File00016><File00017><FileId>00017</FileId><FileName>sensor\ballsensor.c</FileName><Status>1</Status></File00017><File00018><FileId>00018</FileId><FileName>c:\WinAVR\avr\include\stdlib.h</FileName><Status>1</Status></File00018><File00019><FileId>00019</FileId><FileName>c:\WinAVR\avr\include\avr\signal.h</FileName><Status>1</Status></File00019><File00020><FileId>00020</FileId><FileName>hal\maussensor.h</FileName><Status>1</Status></File00020><File00021><FileId>00021</FileId><FileName>hal\maussensor.c</FileName><Status>1</Status></File00021></Files><Workspace><File00000><Position>187 110 819 380</Position><LineCol>28 1</LineCol></File00000><File00001><Position>296 70 1022 525</Position><LineCol>190 0</LineCol></File00001><File00002><Position>251 202 997 444</Position><LineCol>6 20</LineCol></File00002><File00003><Position>163 86 909 328</Position><LineCol>26 0</LineCol></File00003><File00004><Position>278 58 780 345</Position><LineCol>54 29</LineCol></File00004><File00005><Position>284 62 1010 517</Position><LineCol>13 0</LineCol></File00005><File00006><Position>159 56 971 448</Position><LineCol>29 0</LineCol></File00006><File00007><Position>290 66 1016 521</Position><LineCol>8 0</LineCol></File00007><File00008><Position>376 208 1006 513</Position><LineCol>769 0</LineCol></File00008><File00009><Position>313 123 943 428</Position><LineCol>5 0</LineCol></File00009><File00010><Position>294 96 924 401</Position><LineCol>277 0</LineCol></File00010><File00011><Position>316 125 946 430</Position><LineCol>0 0</LineCol></File00011><File00012><Position>338 154 968 459</Position><LineCol>0 0</LineCol></File00012><File00013><Position>360 183 990 488</Position><LineCol>42 0</LineCol></File00013><File00014><Position>382 212 1012 517</Position><LineCol>5 17</LineCol></File00014><File00015><Position>293 68 1019 523</Position><LineCol>2 0</LineCol></File00015><File00016><Position>316 125 946 430</Position><LineCol>13 28</LineCol></File00016><File00017><Position>338 154 968 459</Position><LineCol>27 18</LineCol></File00017><File00018><Position>360 183 990 488</Position><LineCol>115 0</LineCol></File00018><File00019><Position>385 214 1015 519</Position><LineCol>35 0</LineCol></File00019><File00020><Position>303 102 933 407</Position><LineCol>46 0</LineCol></File00020><File00021><Position>299 72 1025 527</Position><LineCol>51 27</LineCol><State>Maximized</State></File00021></Workspace><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
+<AVRStudio><MANAGEMENT><ProjectName>Soccer</ProjectName><Created>07-Feb-2007 15:43:12</Created><LastEdit>14-Feb-2007 18:24:30</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>07-Feb-2007 15:43:12</Created><Version>4</Version><Build>4, 12, 0, 462</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\Soccer.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>Y:\AVR_Studio\Soccer\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega128</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>Soccer.c</SOURCEFILE><SOURCEFILE>hal\board.c</SOURCEFILE><SOURCEFILE>hal\keylcd.c</SOURCEFILE><SOURCEFILE>hal\i2c.c</SOURCEFILE><SOURCEFILE>global.c</SOURCEFILE><SOURCEFILE>hal\uart.c</SOURCEFILE><SOURCEFILE>navigation.c</SOURCEFILE><SOURCEFILE>sensor\sensor.c</SOURCEFILE><SOURCEFILE>sensor\ballsensor.c</SOURCEFILE><SOURCEFILE>hal\maussensor.c</SOURCEFILE><SOURCEFILE>sensor\position.c</SOURCEFILE><SOURCEFILE>sensor\abstand.c</SOURCEFILE><HEADERFILE>hal\board.h</HEADERFILE><HEADERFILE>hal\keylcd.h</HEADERFILE><HEADERFILE>hal\i2c.h</HEADERFILE><HEADERFILE>global.h</HEADERFILE><HEADERFILE>hal\uart.h</HEADERFILE><HEADERFILE>navigation.h</HEADERFILE><HEADERFILE>sensor\sensor.h</HEADERFILE><HEADERFILE>sensor\ballsensor.h</HEADERFILE><HEADERFILE>hal\maussensor.h</HEADERFILE><HEADERFILE>sensor\position.h</HEADERFILE><HEADERFILE>sensor\abstand.h</HEADERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega128</PART><HEX>1</HEX><LIST>0</LIST><MAP>0</MAP><OUTPUTFILENAME>Soccer.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>Soccer.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>global.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\board.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\i2c.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>hal\keylcd.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -DF_CPU=16000000ULUL -O3 -fsigned-char</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>0</USES_WINAVR><GCC_LOC>C:\WinAVR\bin\avr-g++.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><ProjectFiles><Files><Name>Y:\AVR_Studio\Soccer\hal\board.h</Name><Name>Y:\AVR_Studio\Soccer\hal\keylcd.h</Name><Name>Y:\AVR_Studio\Soccer\hal\i2c.h</Name><Name>Y:\AVR_Studio\Soccer\global.h</Name><Name>Y:\AVR_Studio\Soccer\hal\uart.h</Name><Name>Y:\AVR_Studio\Soccer\navigation.h</Name><Name>Y:\AVR_Studio\Soccer\sensor\sensor.h</Name><Name>Y:\AVR_Studio\Soccer\sensor\ballsensor.h</Name><Name>Y:\AVR_Studio\Soccer\hal\maussensor.h</Name><Name>Y:\AVR_Studio\Soccer\sensor\position.h</Name><Name>Y:\AVR_Studio\Soccer\sensor\abstand.h</Name><Name>Y:\AVR_Studio\Soccer\Soccer.c</Name><Name>Y:\AVR_Studio\Soccer\hal\board.c</Name><Name>Y:\AVR_Studio\Soccer\hal\keylcd.c</Name><Name>Y:\AVR_Studio\Soccer\hal\i2c.c</Name><Name>Y:\AVR_Studio\Soccer\global.c</Name><Name>Y:\AVR_Studio\Soccer\hal\uart.c</Name><Name>Y:\AVR_Studio\Soccer\navigation.c</Name><Name>Y:\AVR_Studio\Soccer\sensor\sensor.c</Name><Name>Y:\AVR_Studio\Soccer\sensor\ballsensor.c</Name><Name>Y:\AVR_Studio\Soccer\hal\maussensor.c</Name><Name>Y:\AVR_Studio\Soccer\sensor\position.c</Name><Name>Y:\AVR_Studio\Soccer\sensor\abstand.c</Name></Files></ProjectFiles><Files><File00000><FileId>00000</FileId><FileName>Soccer.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>hal\board.c</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>hal\keylcd.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>hal\keylcd.c</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>hal\i2c.h</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>hal\i2c.c</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>global.h</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>global.c</FileName><Status>1</Status></File00007><File00008><FileId>00008</FileId><FileName>c:\WinAVR\avr\include\avr\iom128.h</FileName><Status>1</Status></File00008><File00009><FileId>00009</FileId><FileName>hal\board.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>hal\uart.c</FileName><Status>1</Status></File00010><File00011><FileId>00011</FileId><FileName>navigation.h</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>hal\uart.h</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>navigation.c</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>sensor\sensor.h</FileName><Status>1</Status></File00014><File00015><FileId>00015</FileId><FileName>sensor\sensor.c</FileName><Status>1</Status></File00015><File00016><FileId>00016</FileId><FileName>sensor\ballsensor.h</FileName><Status>1</Status></File00016><File00017><FileId>00017</FileId><FileName>sensor\ballsensor.c</FileName><Status>1</Status></File00017><File00018><FileId>00018</FileId><FileName>c:\WinAVR\avr\include\stdlib.h</FileName><Status>1</Status></File00018><File00019><FileId>00019</FileId><FileName>c:\WinAVR\avr\include\avr\signal.h</FileName><Status>1</Status></File00019><File00020><FileId>00020</FileId><FileName>hal\maussensor.h</FileName><Status>1</Status></File00020><File00021><FileId>00021</FileId><FileName>hal\maussensor.c</FileName><Status>1</Status></File00021><File00022><FileId>00022</FileId><FileName>sensor\position.h</FileName><Status>1</Status></File00022><File00023><FileId>00023</FileId><FileName>sensor\position.c</FileName><Status>1</Status></File00023><File00024><FileId>00024</FileId><FileName>sensor\abstand.h</FileName><Status>1</Status></File00024><File00025><FileId>00025</FileId><FileName>sensor\abstand.c</FileName><Status>1</Status></File00025></Files><Workspace><File00000><Position>299 72 1025 527</Position><LineCol>27 13</LineCol><State>Maximized</State></File00000><File00001><Position>293 68 1019 523</Position><LineCol>108 6</LineCol></File00001><File00002><Position>248 200 994 442</Position><LineCol>6 0</LineCol></File00002><File00003><Position>160 84 906 326</Position><LineCol>26 0</LineCol></File00003><File00004><Position>275 56 777 343</Position><LineCol>54 0</LineCol></File00004><File00005><Position>281 60 1007 515</Position><LineCol>13 0</LineCol></File00005><File00006><Position>156 54 968 446</Position><LineCol>26 13</LineCol></File00006><File00007><Position>287 64 1013 519</Position><LineCol>8 0</LineCol></File00007><File00008><Position>373 206 1003 511</Position><LineCol>769 0</LineCol></File00008><File00009><Position>310 121 940 426</Position><LineCol>36 24</LineCol></File00009><File00010><Position>291 94 921 399</Position><LineCol>277 0</LineCol></File00010><File00011><Position>313 123 943 428</Position><LineCol>3 0</LineCol></File00011><File00012><Position>335 152 965 457</Position><LineCol>0 0</LineCol></File00012><File00013><Position>357 181 987 486</Position><LineCol>42 41</LineCol></File00013><File00014><Position>379 210 1009 515</Position><LineCol>6 20</LineCol></File00014><File00015><Position>290 66 1016 521</Position><LineCol>12 58</LineCol></File00015><File00016><Position>313 123 943 428</Position><LineCol>14 16</LineCol></File00016><File00017><Position>335 152 965 457</Position><LineCol>40 29</LineCol></File00017><File00018><Position>357 181 987 486</Position><LineCol>115 0</LineCol></File00018><File00019><Position>382 212 1012 517</Position><LineCol>35 0</LineCol></File00019><File00020><Position>300 100 930 405</Position><LineCol>116 22</LineCol></File00020><File00021><Position>296 70 1022 525</Position><LineCol>27 5</LineCol></File00021><File00022><Position>347 160 977 465</Position><LineCol>18 11</LineCol></File00022><File00023><Position>369 189 999 494</Position><LineCol>27 0</LineCol></File00023><File00024><Position>391 218 1021 523</Position><LineCol>7 3</LineCol></File00024><File00025><Position>303 102 933 407</Position><LineCol>20 23</LineCol></File00025></Workspace><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
diff --git a/source/AVR_Studio/Soccer/Soccer.c b/source/AVR_Studio/Soccer/Soccer.c index c1a8129..52bcd06 100755 --- a/source/AVR_Studio/Soccer/Soccer.c +++ b/source/AVR_Studio/Soccer/Soccer.c @@ -23,8 +23,9 @@ int main() { board.motor(1, speed);
board.motor(2, speed);
board.motor(3, speed);
- PORTB |= (1 << PB5) | (1 << PB7); // Setze PWM-Ports auf high
- PORTE |= (1 << PE3) | (1 << PE4);
+ PORTB |= (1 << PB5) | (1 << PB6); // Setze PWM-Ports auf high
+ PORTE |= (1 << PE3); // | (1 << PE4);
+ PORTA |= (1 << PA4); // | (1 << PA5);
//sleep(10);
while(true) { sleep(1); }
/*sleep(10);
diff --git a/source/AVR_Studio/Soccer/default/Makefile b/source/AVR_Studio/Soccer/default/Makefile index 4996ec9..1ea98b9 100755 --- a/source/AVR_Studio/Soccer/default/Makefile +++ b/source/AVR_Studio/Soccer/default/Makefile @@ -34,7 +34,7 @@ HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 ## Objects that must be built in order to link
-OBJECTS = Soccer.o board.o keylcd.o i2c.o global.o uart.o navigation.o sensor.o ballsensor.o maussensor.o
+OBJECTS = Soccer.o board.o keylcd.o i2c.o global.o uart.o navigation.o sensor.o ballsensor.o maussensor.o position.o abstand.o
## Objects explicitly added by the user
LINKONLYOBJECTS =
@@ -73,6 +73,12 @@ ballsensor.o: ../sensor/ballsensor.c maussensor.o: ../hal/maussensor.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
+position.o: ../sensor/position.c
+ $(CC) $(INCLUDES) $(CFLAGS) -c $<
+
+abstand.o: ../sensor/abstand.c
+ $(CC) $(INCLUDES) $(CFLAGS) -c $<
+
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
diff --git a/source/AVR_Studio/Soccer/default/Soccer.elf b/source/AVR_Studio/Soccer/default/Soccer.elf Binary files differindex 698e83a..75a4f4a 100755 --- a/source/AVR_Studio/Soccer/default/Soccer.elf +++ b/source/AVR_Studio/Soccer/default/Soccer.elf diff --git a/source/AVR_Studio/Soccer/default/Soccer.hex b/source/AVR_Studio/Soccer/default/Soccer.hex index c3ba96a..afa7ee0 100755 --- a/source/AVR_Studio/Soccer/default/Soccer.hex +++ b/source/AVR_Studio/Soccer/default/Soccer.hex @@ -2,1006 +2,1147 @@ :100010000C9483000C9483000C9483000C94830054
:100020000C9483000C9483000C9483000C94830044
:100030000C9483000C9483000C9483000C94830034
-:100040000C94A0010C9483000C944B040C947C043D
+:100040000C94EA010C9483000C9493040C94C40463
:100050000C9483000C9483000C9483000C94830014
:100060000C9483000C9483000C9483000C94830004
-:100070000C9483000C9483000C94E9040C941C05EC
+:100070000C9483000C9483000C9431050C9464055B
:100080000C9483000C9483000C9483000829573F40
:100090009F2D49CBA5310F76C73493F27E37D00D13
:1000A000013AB60B613D2AAAAB3F0000003F800039
:1000B0000000BA00B30011241FBECFEFD0E1DEBFB5
-:1000C000CDBF11E0A0E0B1E0E8ECFEE300E00BBF43
+:1000C000CDBF11E0A0E0B1E0E2E9F7E400E00BBF52
:1000D00002C007900D92A031B107D9F711E0A0E15D
-:1000E000B1E001C01D92AA3BB107E1F710E0C4EBFB
-:1000F000D0E004C02297FE010E940B1EC23BD10734
+:1000E000B1E001C01D92A63DB107E1F710E0C4EBFD
+:1000F000D0E004C02297FE010E947022C23BD107CB
:10010000C9F70C94C1000C9400008130910531F0C6
:10011000892B19F46F5F7F4FA9F008956F5F7F4FB0
-:10012000E1F780E191E00E94E70181E191E00E9426
-:10013000A50283E191E00E94E00689E191E00E943E
-:100140000807089589E191E00E94020783E191E0A8
-:100150000E94120681E191E00E94560280E191E046
-:100160000E94100108956FEF7FEF80E090E00E9401
+:10012000E1F780E191E00E94310281E191E00E94DB
+:10013000ED0283E191E00E94090789E191E00E94CC
+:100140005B07089589E191E00E943B0783E191E01C
+:100150000E945A0681E191E00E949E0280E191E0B6
+:100160000E940F0108956FEF7FEF80E090E00E9402
:10017000850008956FEF7FEF81E090E00E94850099
:10018000089520E030E080E090E0A0E0B0E00000E2
:100190000196A11DB11D8E3E42E7940745E1A407DB
:1001A00040E0B407A1F72F5F3F4F2230310559F7E8
-:1001B0004FEF50E060E070E080E191E00E94380194
-:1001C0004FEF50E061E070E080E191E00E94380183
-:1001D0004FEF50E062E070E080E191E00E94380172
-:1001E0004FEF50E063E070E080E191E00E94380161
-:1001F00088B3806A88BB83B1886183B980E090E06E
-:10020000A0E0B0E000000196A11DB11D8E3E22E7E6
-:10021000920725E1A20720E0B207A1F7EFCF0895EA
-:10022000089586E886B967B987B1806C87B9369A30
-:100230003699FECF40E020E030E0369A3699FECF86
-:1002400084B195B1280F391F4F5F4330B1F737980C
-:10025000C90163E070E00E94BE1DCB010895709358
-:100260002A01609329010895C19A0895C1980895BB
-:100270006430710500F5CA0157FD36C088968F3F7E
-:10028000910509F01CF561157105B1F0613071053A
-:1002900081F16230710501F16330710561F4909371
-:1002A00079008093780014161506D4F5C29AC39885
-:1002B0000895C29AC39A0895909387008093860008
-:1002C0001416150604F5959A949808958FEF90E00A
-:1002D00061157105D9F6F0CF9BBD8ABD14161506C0
-:1002E00024F5C09AC198089588279927841B950BF7
-:1002F000C5CF9093850080938400141615065CF496
-:10030000969A97980895452B19F4949A959A08957A
-:10031000949A95980895452B69F0979A9698089520
-:10032000452B39F2C39AC2980895452B31F0C19AF2
-:10033000C0980895969A979A0895C19AC09A089578
-:100340001F920F920FB60F9211242F933F938F930A
-:100350009F9320910001309101018091290190919A
-:100360002A0197FD23C095958795821793077CF402
-:10037000809165008460809365002115310579F4D2
-:100380008FEF90E0909301018093000111C0809164
-:1003900065008B7F809365002115310589F321501D
-:1003A0003040309301012093000102C00196DBCF61
-:1003B0009F918F913F912F910F900FBE0F901F90A3
-:1003C0001895662311F0C1980895C19A08958EE793
-:1003D0008ABB1BBA9FEF97BB82E088BB94BB15BA60
-:1003E0008CEF81BB23E022BB8FED82B913B8109252
-:1003F0006100909362008FE1809364002093650018
-:1004000088E290E09093870080938600949A959A72
-:100410009093850080938400969A979A9BBD8ABD9D
-:10042000C19AC09A9093790080937800C29AC39A37
-:100430008AE090E00E944605789408958EE78ABB92
-:100440001BBA9FEF97BB82E088BB94BB15BA8CEFB9
-:1004500081BB23E022BB8FED82B913B810926100FB
-:10046000909362008FE1809364002093650088E29E
-:1004700090E09093870080938600949A959A909349
-:10048000850080938400969A979A9BBD8ABDC19AF5
-:10049000C09A9093790080937800C29AC39A8AE0B8
-:1004A00090E00E944605789408950895089508956F
-:1004B0000E94C10299270895CF92DF92EF92FF9296
-:1004C0000F931F93CF93DF93CDB7DEB78C01FB0162
-:1004D000EDB6FEB6DB010D900020E9F76D01089442
-:1004E000C108D108C61AD70AC60101962DB73EB772
-:1004F000281B390B0FB6F8943EBF0FBE2DBF4DB76A
-:100500005EB74F5F5F4F1C141D0464F420E030E0C1
-:10051000BA018191DB018D93BD012F5F3F4FC21660
-:10052000D306B9F7960162E0C8010E94EE030FB648
-:10053000F894FEBE0FBEEDBEDF91CF911F910F91DB
-:10054000FF90EF90DF90CF9008950E94B60208953B
-:100550000E94B6020895FC0180E48093700084E458
-:10056000809374001092710010820895FC0180E461
-:100570008093700084E48093740010927100108264
-:100580000895FC01808199270895660F6093720099
-:10059000089580917400992787FD90958827990F79
-:1005A000881F99270895FC0190E020E030E0660F55
-:1005B00044EC80917400806A809374008091740090
-:1005C00087FFFCCF80917100887F883001F56093B0
-:1005D0007300409374008091740087FFFCCF80917A
-:1005E0007100887F883189F080917100887F803226
-:1005F00021F09923F1F2108208952F5F3F4F2A30A6
-:100600003105B9F781E08083089591E0EDCF82E074
-:1006100080830895660F616024EC80917400806A85
-:10062000809374008091740087FFFCCF80917100EB
-:1006300060937300209374008091740087FFFCCF57
-:10064000809171009091710080917100809174008F
-:10065000806880937400987F9034F9F608956093D1
-:10066000730084EC809374008091740087FFFCCF4A
-:100670008091710080917100089584ED80937400E1
-:10068000089584EC809374008091740087FFFCCF00
-:1006900020E030E094ECFB0180917100887F80388D
-:1006A00089F480917300808390937400809174002A
-:1006B00087FFFCCF2F5F3F4F319680917100887F7D
-:1006C000803879F38091710084EC80937400C901C3
-:1006D0000895FB018091740087FFFCCF8091710029
-:1006E0008091710080917300808384EC809374000A
-:1006F00008951F93141615060CF5DA01119720E0E2
-:1007000030E014E894ECFB01808180937300A21721
-:10071000B30789F0909374008091740087FFFCCF39
-:1007200080917100809171002F5F3F4F3196421789
-:10073000530751F703C010937400EECF84EC8093FD
-:1007400074001F910895FC01660F616074EC809144
-:100750007400806A809374008091740087FFFCCFDE
-:1007600080917100609373007093740080917400A5
-:1007700087FFFCCF80917100909171008091710092
-:1007800080917400806880937400987F9034F9F6AB
-:1007900080818823E9F412161306B4F460E070E057
-:1007A00094ECFA018091740087FFFCCF8091710076
-:1007B00080917100809173008193909374006F5FBA
-:1007C0007F4F2617370771F784ED809374000895E3
-:1007D00084ED8093740083E080830895DC0190E0D1
-:1007E000E0E0F0E0660F74EC80917400806A809322
-:1007F00074008091740087FFFCCF80917100887F26
-:100800008830E9F5609373007093740080917400F0
-:1008100087FFFCCF80917100887F883171F18091D2
-:100820007100887F803211F19923F1F21C92121627
-:100830001306BCF460E070E094ECFA0180818093D0
-:100840007300909374008091740087FFFCCF8091B7
-:100850007100809171006F5F7F4F319626173707C7
-:1008600069F784ED809374001C9208953196EA3004
-:10087000F105D1F681E08C9304C091E0D0CF82E005
-:100880008C9384ED8093740008950E94681D0895F0
-:100890000E94C51C08951F920F920FB60F9211244B
-:1008A0002F933F934F938F939F93EF93FF933BB17E
-:1008B0004CB1209192012F5F2F7180919301E22F13
-:1008C000FF279927E817F90741F0832F88712093B4
-:1008D0009201EC56FE4F408301C082E08093B40148
-:1008E000FF91EF919F918F914F913F912F910F9099
-:1008F0000FBE0F901F9018951F920F920FB60F9278
-:1009000011248F939F93EF93FF93909170018091A7
-:100910007101981761F0E0917101EF5FEF71E09361
-:100920007101FF27EE58FE4F80818CB901C05598A8
-:10093000FF91EF919F918F910F900FBE0F901F909D
-:1009400018959C0110927001109271011092920101
-:100950001092930197FF03C082E08BB93F77832FFA
-:1009600099278093900029B988E98AB986E0809315
-:10097000950008959091920180919301981791F0BC
-:10098000E0919301EF5FEF71E0939301FF27EC5645
-:10099000FE4F20818091B4019927982F8827820FDC
-:1009A000911D089580E091E00895382F2091700105
-:1009B0002F5F2F71E22FFF278091710199278E17EA
-:1009C0009F07D1F3EE58FE4F308320937001559A64
-:1009D00008951F920F920FB60F9211242F933F93F9
-:1009E0004F938F939F93EF93FF9330919B00409190
-:1009F0009C0020914D012F5F2F7180914E01E22FBD
-:100A0000FF279927E817F90741F0832F8871209372
-:100A10004D01E15BFE4F408301C082E080936F0196
-:100A2000FF91EF919F918F914F913F912F910F9057
-:100A30000FBE0F901F9018951F920F920FB60F9236
-:100A400011248F939F93EF93FF9390912B018091AB
-:100A50002C01981769F0E0912C01EF5FEF71E093A2
-:100A60002C01FF27E35DFE4F808180939C0005C031
-:100A700080919A008F7D80939A00FF91EF919F91D2
-:100A80008F910F900FBE0F901F9018959C011092A0
-:100A90002B0110922C0110924D0110924E0197FFE4
-:100AA00004C082E080939B003F77832F9927809337
-:100AB00098002093990088E980939A0086E08093BB
-:100AC0009D00089590914D0180914E01981791F0ED
-:100AD000E0914E01EF5FEF71E0934E01FF27E15B84
-:100AE000FE4F208180916F019927982F8827820FD0
-:100AF000911D089580E091E00895382F20912B01F9
-:100B00002F5F2F71E22FFF2780912C0199278E17DD
-:100B10009F07D1F3E35DFE4F308320932B0180913B
-:100B20009A00806280939A000895DC013C913323FF
-:100B3000D1F0119620912B012F5F2F71E22FFF270B
-:100B400080912C019927E817F907D1F3E35DFE4F57
-:100B5000308320932B0180919A00806280939A00C9
-:100B60003C91332331F70895FC0184918823D1F01F
-:100B7000AF014F5F5F4F382F209170012F5F2F71B2
-:100B8000E22FFF27809171019927E817F907D1F328
-:100B9000EE58FE4F308320937001559AFA018491EC
-:100BA000882339F70895DC013C913323B1F0119685
-:100BB000209170012F5F2F71E22FFF27809171012B
-:100BC0009927E817F907D1F3EE58FE4F30832093A9
-:100BD0007001559A3C91332351F70895FC0184919B
-:100BE0008823F1F0AF014F5F5F4F382F20912B0129
-:100BF0002F5F2F71E22FFF2780912C019927E81793
-:100C0000F907D1F3E35DFE4F308320932B018091F0
-:100C10009A00806280939A00FA018491882319F7E0
-:100C2000089508950895FC01718360830895FC017F
-:100C3000738362830895FC017583648308952F9202
-:100C40003F924F925F926F927F928F929F92AF925C
-:100C5000BF92CF92DF92EF92FF920F931F934C01BE
-:100C6000FC0160817181882777FD8095982F0E9413
-:100C70004B1A5B016C010E94AC1E0E94B41A7B01EE
-:100C80008C0189E191E00E94FF06F4012281338109
-:100C90003C01621A730A662777276E197F09882735
-:100CA00077FD8095982F0E944B1A1B012C01C601DD
-:100CB000B5010E940F1E0E94B41A882777FD809507
-:100CC000982F0E944B1A5B016C01B701882777FDB2
-:100CD0008095982F0E944B1A0E94B41AF401248127
-:100CE0003581629FA001639F500D729F500D1124AA
-:100CF000460D571D00E111E060E070E0C8010E9460
-:100D0000380127ED33EB4DED5FE3C601B5010E94DD
-:100D10002D199B01AC01C201B1010E94001920E014
-:100D200030E040E05FE30E942D190E94B41AF40104
-:100D300024813581629FA001639F500D729F500DE9
-:100D40001124460D571D61E070E0C8010E94380172
-:100D500027ED33EB4DED5FEBC601B5010E942D1978
-:100D60009B01AC01C201B1010E94001920E030E0FA
-:100D700040E05FE30E942D190E94B41AF40124811F
-:100D80003581629FA001639F500D729F500D112409
-:100D9000460D571D62E070E0C8010E9438011F91A6
-:100DA0000F91FF90EF90DF90CF90BF90AF909F900A
-:100DB0008F907F906F905F904F903F902F9008950D
-:100DC000FC011182108213821282158214820E9409
-:100DD0001F060895FC01118210821382128215826F
-:100DE00014820E941F060895FC017183608353835F
-:100DF0004283358324830E941F060895089580E06E
-:100E000090E008950E944F0708950E944F070895AB
-:100E10000E942E0708950E942E070895FC0111825A
-:100E200010828EE190E0938382838CE390E095833F
-:100E3000848384E690E09783868384EB90E09187B7
-:100E4000808784E091E0938782878CE291E09587A8
-:100E500084878AE491E0978786870895FC01118250
-:100E600010828EE190E0938382838CE390E09583FF
-:100E7000848384E690E09783868384EB90E0918777
-:100E8000808784E091E0938782878CE291E0958768
-:100E900084878AE491E09787868708950895089566
-:100EA0000F931F93CF93DF93CDB7DEB760970FB645
-:100EB000F894DEBF0FBECDBF8C0160E080E191E011
-:100EC0000E9411019A83898361E080E191E00E9490
-:100ED00011019C838B8362E080E191E00E9411010B
-:100EE0009E838D8363E080E191E00E9411019887E9
-:100EF0008F8364E080E191E00E9411019A878987E5
-:100F000065E080E191E00E9411019C878B8766E09B
-:100F100080E191E00E9411019E878D8767E080E16A
-:100F200091E00E941101AC01988B8F8720E030E0A6
-:100F30008B819C818050944014F421E030E0F901D1
-:100F40008D819E818050944014F4E2E0F0E08F8126
-:100F500098858050944014F4E3E0F0E089859A8508
-:100F60008050944014F4E4E0F0E08B859C85805040
-:100F7000944014F4E5E0F0E08D859E858050944027
-:100F800014F4E6E0F0E04050544014F4E7E0F0E000
-:100F9000EE0FFF1FE00FF11F8081918160960FB669
-:100FA000F894DEBF0FBECDBFDF91CF911F910F919F
-:100FB0000895FC01672B49F484E090E091838083DD
-:100FC00086E090E093838283089585E090E09183AA
-:100FD000808387E090E0938382830895FC01672BF0
-:100FE00049F484E090E09183808386E090E09383ED
-:100FF0008283089585E090E09183808387E090E08C
-:10100000938382830895089508950F931F93CF9338
-:10101000DF93DC0184B32D913C91119741E050E0C6
-:10102000FA01022E02C0EE0FFF1F0A94E2F78E2B88
-:1010300084BB07E010E0021B130BED010A8002C025
-:10104000440F551F0A94E2F7342F309585B383235C
-:1010500085BB25B383B380952823862F9927002E3F
-:1010600002C0959587950A94E2F78E23282B25BB1D
-:10107000660F000085B3842B85BB85B3832385BBB6
-:1010800025B383B380952823862F9927002E02C08D
-:10109000959587950A94E2F78E23282B25BB660F3A
-:1010A000000085B3842B85BB85B3832385BB25B323
-:1010B00083B380952823862F9927002E02C095950B
-:1010C00087950A94E2F78E23282B25BB660F000034
-:1010D00085B3842B85BB85B3832385BB25B383B3BD
-:1010E00080952823862F9927002E02C095958795F5
-:1010F0000A94E2F78E23282B25BB660F000085B3E8
-:10110000842B85BB85B3832385BB25B383B38095AF
-:101110002823862F9927002E02C0959587950A943B
-:10112000E2F78E23282B25BB660F000085B3842BA6
-:1011300085BB85B3832385BB25B383B380952823E3
-:10114000862F9927002E02C0959587950A94E2F77D
-:101150008E23282B25BB660F000085B3842B85BB0F
-:1011600085B3832385BB25B383B380952823862F3E
-:101170009927002E02C0959587950A94E2F78E2351
-:10118000282B25BB000085B3842B85BB85B3832327
-:1011900085BB95B383B380959823660F772702C0EC
-:1011A000759567950A95E2F7E6239E2B95BB00009F
-:1011B00085B3482B45BBDF91CF911F910F910895C7
-:1011C000FC0124B3A081B18161E070E0CB010A2E63
-:1011D00002C0880F991F0A94E2F78095282324BB48
-:1011E000028002C0660F771F0A94E2F7362F30950F
-:1011F00085B3832385BB000085B3862B85BB43B3B2
-:1012000085B3832385BB55270A2E02C05595479584
-:101210000A94E2F741705070440F000085B3862BAA
-:1012200085BB83B325B3232325BB99270A2E02C090
-:10123000959587950A94E2F78170482B440F00003A
-:1012400085B3862B85BB83B325B3232325BB992781
-:101250000A2E02C0959587950A94E2F78170482B73
-:10126000440F000085B3862B85BB83B325B32323AE
-:1012700025BB99270A2E02C0959587950A94E2F717
-:101280008170482B440F000085B3862B85BB83B348
-:1012900025B3232325BB99270A2E02C09595879550
-:1012A0000A94E2F78170482B440F000085B3862B27
-:1012B00085BB83B325B3232325BB99270A2E02C000
-:1012C000959587950A94E2F78170482B440F0000AA
-:1012D00085B3862B85BB83B325B3232325BB9927F1
-:1012E0000A2E02C0959587950A94E2F78170482BE3
-:1012F000440F000085B3682B65BB83B3992702C0F8
-:1013000095958795AA95E2F78170482B842F9927A8
-:101310000895CF93DF93FC0144B3C081D18121E0D4
-:1013200030E0C9010C2E02C0880F991F0A94E2F721
-:10133000A82F482B44BB47E050E04C1B5D0B0280BC
-:1013400002C0220F331F0A94E2F7322FE22FE095FA
-:1013500085B38E2385BB25B383B380952823862F41
-:101360009927042E02C0959587950A94E2F78A235F
-:10137000282B25BB660F000085B3832B85BB85B367
-:101380008E2385BB25B383B380952823862F992789
-:10139000042E02C0959587950A94E2F78A23282B9C
-:1013A00025BB660F000085B3832B85BB85B38E23D9
-:1013B00085BB25B383B380952823862F9927042ED8
-:1013C00002C0959587950A94E2F78A23282B25BBBE
-:1013D000660F000085B3832B85BB85B38E2385BB49
-:1013E00025B383B380952823862F9927042E02C026
-:1013F000959587950A94E2F78A23282B25BB660FDB
-:10140000000085B3832B85BB85B38E2385BB25B3B5
-:1014100083B380952823862F9927042E02C09595A3
-:1014200087950A94E2F78A23282B25BB660F0000D4
-:1014300085B3832B85BB85B38E2385BB25B383B34F
-:1014400080952823862F9927042E02C0959587958D
-:101450000A94E2F78A23282B25BB660F000085B388
-:10146000832B85BB85B38E2385BB25B383B3809542
-:101470002823862F9927042E02C0959587950A94D4
-:10148000E2F78A23282B25BB000085B3832B85BB7D
-:1014900085B38E2385BB95B383B380959823660F60
-:1014A000772702C0759567954A95E2F78A2F8623BC
-:1014B000982B95BB000085B3832B85BB80E090E023
-:1014C0000000019621E08C329207D1F784B3A095F9
-:1014D0008A2384BB85B38E2385BB000085B3832B11
-:1014E00085BB43B385B38E2385BB55270C2E02C025
-:1014F000559547950A94E2F741705070440F0000EB
-:1015000085B3832B85BB83B325B32E2325BB9927B6
-:101510000C2E02C0959587950A94E2F78170482BAE
-:10152000440F000085B3832B85BB83B325B32E23E3
-:1015300025BB99270C2E02C0959587950A94E2F752
-:101540008170482B440F000085B3832B85BB83B388
-:1015500025B32E2325BB99270C2E02C09595879580
-:101560000A94E2F78170482B440F000085B3832B67
-:1015700085BB83B325B32E2325BB99270C2E02C030
-:10158000959587950A94E2F78170482B440F0000E7
-:1015900085B3832B85BB83B325B32E2325BB992726
-:1015A0000C2E02C0959587950A94E2F78170482B1E
-:1015B000440F000085B3832B85BB83B325B32E2353
-:1015C00025BB99270C2E02C0959587950A94E2F7C2
-:1015D0008170482B440F000085B3832B85BB83B3F8
-:1015E000992702C095958795CA95E2F78170482B97
-:1015F000842F9927DF91CF910895EF92FF920F9357
-:101600001F93CF93DF937C01606884B3E701288147
-:101610003981A1E0B0E0FD01022E02C0EE0FFF1FF4
-:101620000A94E2F78E2B84BB07E010E0021B130B39
-:101630000A8002C0AA0FBB1F0A94E2F73A2F309526
-:1016400085B3832385BB25B383B380952823862F59
-:101650009927002E02C0959587950A94E2F78E236C
-:10166000282B25BB660F000085B38A2B85BB85B36D
-:10167000832385BB25B383B380952823862F9927A1
-:10168000002E02C0959587950A94E2F78E23282BA9
-:1016900025BB660F000085B38A2B85BB85B38323EA
-:1016A00085BB25B383B380952823862F9927002EE9
-:1016B00002C0959587950A94E2F78E23282B25BBC7
-:1016C000660F000085B38A2B85BB85B3832385BB5A
-:1016D00025B383B380952823862F9927002E02C037
-:1016E000959587950A94E2F78E23282B25BB660FE4
-:1016F000000085B38A2B85BB85B3832385BB25B3C7
-:1017000083B380952823862F9927002E02C09595B4
-:1017100087950A94E2F78E23282B25BB660F0000DD
-:1017200085B38A2B85BB85B3832385BB25B383B360
-:1017300080952823862F9927002E02C0959587959E
-:101740000A94E2F78E23282B25BB660F000085B391
-:101750008A2B85BB85B3832385BB25B383B3809553
-:101760002823862F9927002E02C0959587950A94E5
-:10177000E2F78E23282B25BB000085B38A2B85BB7F
-:1017800085B3832385BB95B383B380959823660F78
-:101790007727002E02C0759567950A94E2F78E2F81
-:1017A0008623982B95BB000085B38A2B85BB84B319
-:1017B0008E2B84BB85B3832385BB25B383B38095F0
-:1017C0002823842F9927002E02C0959587950A9487
-:1017D000E2F78E23282B25BB440F000085B38A2B0C
-:1017E00085BB85B3832385BB25B383B3809528232D
-:1017F000842F9927002E02C0959587950A94E2F7C9
-:101800008E23282B25BB440F000085B38A2B85BB74
-:1018100085B3832385BB25B383B380952823842F89
-:101820009927002E02C0959587950A94E2F78E239A
-:10183000282B25BB440F000085B38A2B85BB85B3BD
-:10184000832385BB25B383B380952823842F9927D1
-:10185000002E02C0959587950A94E2F78E23282BD7
-:1018600025BB440F000085B38A2B85BB85B383233A
-:1018700085BB25B383B380952823842F9927002E19
-:1018800002C0959587950A94E2F78E23282B25BBF5
-:10189000440F000085B38A2B85BB85B3832385BBAA
-:1018A00025B383B380952823842F9927002E02C067
-:1018B000959587950A94E2F78E23282B25BB440F34
-:1018C000000085B38A2B85BB85B3832385BB25B3F5
-:1018D00083B380952823842F9927002E02C09595E5
-:1018E00087950A94E2F78E23282B25BB000085B349
-:1018F0008A2B85BB85B3832385BB95B383B3809542
-:101900009823440F552702C0559547950A95E2F74D
-:10191000E4239E2B95BB000085B38A2B85BB80E01A
-:1019200090E000000196E1E08C329E07D1F7DF9154
-:10193000CF911F910F91FF90EF900895CF93DF9378
-:10194000FC0124B34081518161E070E0CB01042EA1
-:1019500002C0880F991F0A94E2F7A82F282B24BBF6
-:10196000C7E0D0E0C41BD50BCB01028002C0880FBA
-:10197000991F0A94E2F7582F482F409585B3842386
-:1019800085BB25B383B38095282380E890E00C2E97
-:1019900002C0959587950A94E2F73A2F3823232BB6
-:1019A00025BB000085B3852B85BB85B3842385BB10
-:1019B00095B383B38095982395BB000085B3852BA1
-:1019C00085BB85B3842385BB95B383B3809598236A
-:1019D00095BB000085B3852B85BB85B3842385BB70
-:1019E00095B383B38095982395BB000085B3852B71
-:1019F00085BB85B3842385BB95B383B3809598233A
-:101A000095BB000085B3852B85BB85B3842385BB3F
-:101A100095B383B38095982395BB000085B3852B40
-:101A200085BB85B3842385BB95B383B38095982309
-:101A300095BB000085B3852B85BB85B3842385BB0F
-:101A400095B383B38095982395BB000085B3852B10
-:101A500085BB84B38A2B84BB85B3842385BB95B3B4
-:101A600083B3809598230C2E02C0759567950A94D0
-:101A7000E2F78A2F8623982B95BB000085B3852B30
-:101A800085BB85B3842385BB25B383B38095282389
-:101A900082E090E00C2E02C0959587950A94E2F7BB
-:101AA0008A23282B25BB000085B3852B85BB85B3F6
-:101AB000842385BB25B383B38095282384E090E0FD
-:101AC0000C2E02C0959587950A94E2F78A23282B5D
-:101AD00025BB000085B3852B85BB85B3842385BBDF
-:101AE00025B383B38095282388E090E00C2E02C0B4
-:101AF000959587950A94E2F78A23282B25BB000049
-:101B000085B3852B85BB85B3842385BB25B383B380
-:101B10008095282380E190E00C2E02C09595879552
-:101B20000A94E2F78A23282B25BB000085B3852B76
-:101B300085BB85B3842385BB25B383B380952823D8
-:101B400080E290E00C2E02C0959587950A94E2F70A
-:101B50008A23282B25BB000085B3852B85BB85B345
-:101B6000842385BB25B383B38095282380E490E04C
-:101B70000C2E02C0959587950A94E2F78A23282BAC
-:101B800025BB000085B3852B85BB85B3842385BB2E
-:101B900095B383B380959823932B95BB000085B3B1
-:101BA000852B85BB80E090E00000019621E08C321F
-:101BB0009207D1F784B38A2B84BB85B3842385BB7A
-:101BC00025B383B38095282388E890E00C2E02C0CB
-:101BD000959587950A94E2F78A23282B25BB000068
-:101BE00085B3852B85BB85B3842385BB25B383B3A0
-:101BF0008095282380E190E00C2E02C09595879572
-:101C00000A94E2F78A23282B25BB000085B3852B95
-:101C100085BB85B3842385BB25B383B380952823F7
-:101C200080E290E00C2E02C0959587950A94E2F729
-:101C30008A23282B25BB000085B3852B85BB85B364
-:101C4000842385BB25B383B38095282380E490E06B
-:101C50000C2E02C0959587950A94E2F78A23282BCB
-:101C600025BB000085B3852B85BB85B3842385BB4D
-:101C700025B383B38095282380E890E002C0959532
-:101C80008795CA95E2F78A23282B25BB000085B3E8
-:101C9000852B85BB85B3842385BB95B383B38095A2
-:101CA000982395BB000085B3852B85BB85B3842322
-:101CB00085BB95B383B38095982395BB000085B30E
-:101CC000852B85BB85B3842385BB95B383B3809572
-:101CD000982395BB000085B3852B85BB84B3A82BC7
-:101CE000A4BB85B3842385BB95B383B38095982328
-:101CF00095BB000085B3852B85BB85B3842385BB4D
-:101D000095B383B38095982395BB000085B3852B4D
-:101D100085BB85B3842385BB95B383B38095982316
-:101D200095BB000085B3852B85BB85B3842385BB1C
-:101D300095B383B38095982395BB000085B3852B1D
-:101D400085BB85B3842385BB95B383B380959823E6
-:101D500095BB000085B3852B85BB85B3842385BBEC
-:101D600095B383B38095982395BB000085B3852BED
-:101D700085BB85B3842385BB95B383B380959823B6
-:101D800095BB000085B3852B85BB85B3842385BBBC
-:101D900095B383B38095982395BB000085B3852BBD
-:101DA00085BB80E090E00000019621E08C32920734
-:101DB000D1F781E08093B501DF91CF910895FC01C7
-:101DC00020E030E080E090E00000019645E08D37B3
-:101DD0009407D1F72F5F3F4F2436310599F784B32D
-:101DE00021E030E0028002C0220F331F0A94E2F7A4
-:101DF000322F822B84BB85B3622F6095862385BBEF
-:101E000040E050E080E090E00000019625E08D3752
-:101E10009207D1F74F5F5F4F4A30510599F724B3CE
-:101E20004081518181E090E0042E02C0880F991F0B
-:101E30000A94E2F7782F282B24BBE7E0F0E0E41BBC
-:101E4000F50B85B3862385BB25B383B38095282303
-:101E500080E890E00E2E02C0959587950A94E2F7EF
-:101E6000472F4823242B25BB000085B3832B85BB3C
-:101E700085B3862385BB95B383B38095982395BBA3
-:101E8000000085B3832B85BB85B3862385BB95B3C3
-:101E900083B38095982395BB000085B3832B85BBC6
-:101EA00085B3862385BB95B383B38095982395BB73
-:101EB000000085B3832B85BB85B3862385BB95B393
-:101EC00083B38095982395BB000085B3832B85BB96
-:101ED00085B3862385BB95B383B38095982395BB43
-:101EE000000085B3832B85BB85B3862385BB95B363
-:101EF00083B38095982395BB000085B3832B85BB66
-:101F000085B3862385BB95B383B38095982395BB12
-:101F1000000085B3832B85BB84B3872B84BB85B33B
-:101F2000862385BB95B383B380959823942B95BB6B
-:101F3000000085B3832B85BB85B3862385BB95B312
-:101F400083B38095982395BB000085B3832B85BB15
-:101F500085B3862385BB95B383B38095982395BBC2
-:101F6000000085B3832B85BB85B3862385BB95B3E2
-:101F700083B38095982395BB000085B3832B85BBE5
-:101F800085B3862385BB95B383B38095982395BB92
-:101F9000000085B3832B85BB85B3862385BB95B3B2
-:101FA00083B38095982395BB000085B3832B85BBB5
-:101FB00085B3862385BB95B383B38095982395BB62
-:101FC000000085B3832B85BB85B3862385BB95B382
-:101FD00083B38095982395BB000085B3832B85BB85
-:101FE00080E090E00000019621E08C329207D1F76A
-:101FF00084B3872B84BB85B3862385BB25B383B38A
-:102000008095282380E890E00E2E02C09595879554
-:102010000A94E2F78723282B25BB000085B3832B86
-:1020200085BB85B3862385BB95B383B38095982301
-:1020300095BB000085B3832B85BB85B3862385BB09
-:1020400095B383B38095982395BB000085B3832B0C
-:1020500085BB85B3862385BB95B383B380959823D1
-:1020600095BB000085B3832B85BB85B3862385BBD9
-:1020700095B383B38095982395BB000085B3832BDC
-:1020800085BB85B3862385BB95B383B380959823A1
-:1020900095BB000085B3832B85BB85B3862385BBA9
-:1020A00095B383B38095982395BB000085B3832BAC
-:1020B00085BB85B3862385BB95B383B38095982371
-:1020C00095BB000085B3832B85BB84B3872B84BB72
-:1020D00085B3862385BB25B383B38095282381E010
-:1020E00090E00E2E02C0959587950A94E2F787231B
-:1020F000282B25BB000085B3832B85BB85B38623A6
-:1021000085BB25B383B38095282382E090E00E2E13
-:1021100002C0959587950A94E2F78723282B25BB63
-:10212000000085B3832B85BB85B3862385BB25B390
-:1021300083B38095282384E090E00E2E02C095950D
-:1021400087950A94E2F78723282B25BB000085B3E7
-:10215000832B85BB85B3862385BB25B383B380954D
-:10216000282388E090E00E2E02C0959587950A946A
-:10217000E2F78723282B25BB000085B3832B85BB83
-:1021800085B3862385BB25B383B38095282380E15F
-:1021900090E00E2E02C0959587950A94E2F787236A
-:1021A000282B25BB000085B3832B85BB85B38623F5
-:1021B00085BB25B383B38095282380E290E00E2E63
-:1021C00002C0959587950A94E2F78723282B25BBB3
-:1021D000000085B3832B85BB85B3862385BB25B3E0
-:1021E00083B38095282380E490E002C0959587957D
-:1021F000EA95E2F77823272B25BB000085B3832BD4
-:1022000085BB85B3682365BB95B383B3809598235D
-:10221000942B95BB000085B3382B35BB80E090E054
-:102220000000019641E08C329407D1F70895FC013B
-:1022300044B3A081B18121E030E0C9010A2E02C07F
-:10224000880F991F0A94E2F7782F482B44BB47E088
-:1022500050E04A1B5B0B028002C0220F331F0A941E
-:10226000E2F7322F622F609585B3862385BB25B3B5
-:1022700083B38095282383E090E0042E02C09595D7
-:1022800087950A94E2F78723282B25BB000085B3A6
-:10229000832B85BB85B3862385BB25B383B380950C
-:1022A000282386E090E0042E02C0959587950A9435
-:1022B000E2F78723282B25BB000085B3832B85BB42
-:1022C00085B3862385BB25B383B3809528238CE013
-:1022D00090E0042E02C0959587950A94E2F7872333
-:1022E000282B25BB000085B3832B85BB85B38623B4
-:1022F00085BB25B383B38095282388E190E0042E25
-:1023000002C0959587950A94E2F78723282B25BB71
-:10231000000085B3832B85BB85B3862385BB25B39E
-:1023200083B38095282380E390E0042E02C0959526
-:1023300087950A94E2F78723282B25BB000085B3F5
-:10234000832B85BB85B3862385BB25B383B380955B
-:10235000282380E690E0042E02C0959587950A9484
-:10236000E2F78723282B25BB000085B3832B85BB91
-:1023700085B3862385BB25B383B38095282380EC62
-:1023800090E0042E02C0959587950A94E2F7872382
-:10239000282B25BB000085B3832B85BB85B3862303
-:1023A00085BB25B383B38095282380E890E002C0E5
-:1023B000959587954A95E2F78723282B25BB000042
-:1023C00085B3832B85BB80E090E00000019621E07F
-:1023D0008C329207D1F784B37095872384BB85B381
-:1023E000862385BB000085B3832B85BB43B385B3B0
-:1023F000862385BB55270A2E02C0559547950A941A
-:10240000E2F741705070440F000085B3832B85BB09
-:1024100083B325B3262325BB99270A2E02C09595A1
-:1024200087950A94E2F78170482B440F000085B32A
-:10243000832B85BB83B325B3262325BB99270A2E7F
-:1024400002C0959587950A94E2F78170482B440F56
-:10245000000085B3832B85BB83B325B3262325BB1F
-:1024600099270A2E02C0959587950A94E2F7817004
-:10247000482B440F000085B3832B85BB83B325B362
-:10248000262325BB99270A2E02C0959587950A9485
-:10249000E2F78170482B440F000085B3832B85BB86
-:1024A00083B325B3262325BB99270A2E02C0959511
-:1024B00087950A94E2F78170482B440F000085B39A
-:1024C000832B85BB83B325B3262325BB99270A2EEF
-:1024D00002C0959587950A94E2F78170482B440FC6
-:1024E000000085B3832B85BB83B3992702C09595E4
-:1024F0008795AA95E2F78170482B842F9927089534
-:10250000FC0144B3A081B18121E030E0C9010A2E71
-:1025100002C0880F991F0A94E2F7782F482B44BB1A
-:1025200047E050E04A1B5B0B028002C0220F331FC2
-:102530000A94E2F7322F622F609585B3862385BB1C
-:1025400025B383B38095282384E090E0042E02C055
-:10255000959587950A94E2F78723282B25BB0000E1
-:1025600085B3832B85BB85B3862385BB25B383B316
-:102570008095282388E090E0042E02C095958795E9
-:102580000A94E2F78723282B25BB000085B3832B11
-:1025900085BB85B3862385BB25B383B3809528236C
-:1025A00080E190E0042E02C0959587950A94E2F7A9
-:1025B0008723282B25BB000085B3832B85BB85B3E0
-:1025C000862385BB25B383B38095282380E290E0E2
-:1025D000042E02C0959587950A94E2F78723282B4D
-:1025E00025BB000085B3832B85BB85B3862385BBC4
-:1025F00025B383B38095282380E490E0042E02C0A5
-:10260000959587950A94E2F78723282B25BB000030
-:1026100085B3832B85BB85B3862385BB25B383B365
-:102620008095282380E890E002C0959587954A958B
-:10263000E2F78723282B25BB000085B3832B85BBBE
-:1026400085B3862385BB95B383B38095982395BBCB
-:10265000000085B3832B85BB85B3862385BB95B3EB
-:1026600083B38095982395BB000085B3832B85BBEE
-:1026700080E090E00000019621E08C329207D1F7D3
-:1026800084B37095872384BB85B3862385BB000004
-:1026900085B3832B85BB43B385B3862385BB552781
-:1026A0000A2E02C0559547950A94E2F74170507082
-:1026B000440F000085B3832B85BB83B325B326234A
-:1026C00025BB99270A2E02C0959587950A94E2F7B3
-:1026D0008170482B440F000085B3832B85BB83B3E7
-:1026E00025B3262325BB99270A2E02C095958795E9
-:1026F0000A94E2F78170482B440F000085B3832BC6
-:1027000085BB83B325B3262325BB99270A2E02C098
-:10271000959587950A94E2F78170482B440F000045
-:1027200085B3832B85BB83B325B3262325BB99278C
-:102730000A2E02C0959587950A94E2F78170482B7E
-:10274000440F000085B3832B85BB83B325B32623B9
-:1027500025BB99270A2E02C0959587950A94E2F722
-:102760008170482B440F000085B3832B85BB83B356
-:1027700025B3262325BB99270A2E02C09595879558
-:102780000A94E2F78170482B440F000085B3832B35
-:1027900085BB83B3992702C095958795AA95E2F7E3
-:1027A0008170482B842F99270895FC0144B3A081A0
+:1001B0004FEF50E060E070E080E191E00E947D014F
+:1001C0004FEF50E061E070E080E191E00E947D013E
+:1001D0004FEF50E062E070E080E191E00E947D012D
+:1001E0004FEF50E063E070E080E191E00E947D011C
+:1001F00088B3806688BB1B9ADC9A80E090E0A0E020
+:10020000B0E000000196A11DB11D8E3E22E79207CD
+:1002100025E1A20720E0B207A1F7EFCF08950895E6
+:1002200086E886B967B987B1806C87B9369A3699FE
+:10023000FECF40E020E030E0369A3699FECF84B120
+:1002400095B1280F391F4F5F4330B1F73798C90177
+:1002500063E070E00E942322CB01089564307105B1
+:1002600008F03EC084B321E030E0062E02C0220F29
+:10027000331F0A94E2F7822B84BB85B3822B85BBA4
+:10028000E0E0F0E040E050E000004F5F5F4F85E0CD
+:100290004D375807C9F7319683E0E83EF80791F7E4
+:1002A00085B3922F9095892385BB84B3982394BB03
+:1002B00083B3992786239723892BD1F383B3992777
+:1002C00086239723892B61F02FEF3FEF2F5F3F4F5E
+:1002D000000083B3992786239723892BB9F702C09F
+:1002E0002FEF3FEFC90108957093460160934501D8
+:1002F0000895C19A0895C198089564307105A0F4D5
+:100300004115510591F480E090E061157105D1F43B
+:10031000909387008093860014161506C4F5959A6D
+:1003200094980895C39AC29A0895CA0157FD34C09B
+:1003300088968F3F910549F344F38FEF90E0611564
+:10034000710531F361307105C1F06230710569F0FA
+:100350006330710549F79093790080937800141603
+:1003600015063CF5C29AC39808959BBD8ABD141624
+:1003700015062CF5C09AC198089590938500809336
+:1003800084001416150684F4969A97980895452BC0
+:1003900041F4949A959A089588279927841B950B80
+:1003A000C7CF949A95980895452B71F0979A96988F
+:1003B0000895452B09F4B6CFC39AC2980895452BEA
+:1003C00031F0C19AC0980895979A969A0895C19A63
+:1003D000C09A08951F920F920FB60F9211242F9377
+:1003E0003F938F939F932091000130910101809161
+:1003F00045019091460197FD23C0959587958217F9
+:1004000093077CF4809165008460809365002115DA
+:10041000310579F48FEF90E0909301018093000112
+:1004200011C0809165008B7F809365002115310597
+:1004300089F321503040309301012093000102C024
+:100440000196DBCF9F918F913F912F910F900FBE1F
+:100450000F901F901895662311F0C1980895C19AC6
+:1004600008958EE78ABB1BBA2FEF27BB82E088BBBB
+:100470008FEC84BB15BA8CEF81BB93E092BB8FED00
+:1004800082B913B810926100209362008FE18093CB
+:100490006400909365001092870010928600949AF1
+:1004A000959A1092850010928400979A969A1BBC98
+:1004B0001ABCC19AC09A1092790010927800C39A1F
+:1004C000C29A8AE090E00E948E05789408958EE7A3
+:1004D0008ABB1BBA2FEF27BB82E088BB8FEC84BBA3
+:1004E00015BA8CEF81BB93E092BB8FED82B913B844
+:1004F00010926100209362008FE1809364009093DA
+:1005000065001092870010928600949A959A109236
+:10051000850010928400979A969A1BBC1ABCC19AC7
+:10052000C09A1092790010927800C39AC29A8AE019
+:1005300090E00E948E057894089508950895089596
+:100540000E94090399270895CF92DF92EF92FF92BC
+:100550000F931F93CF93DF93CDB7DEB78C01FB01D1
+:10056000EDB6FEB6DB010D900020E9F76D010894B1
+:10057000C108D108C61AD70AC60101962DB73EB7E1
+:10058000281B390B0FB6F8943EBF0FBE2DBF4DB7D9
+:100590005EB74F5F5F4F1C141D0464F420E030E031
+:1005A000BA018191DB018D93BD012F5F3F4FC216D0
+:1005B000D306B9F7960162E0C8010E9436040FB66F
+:1005C000F894FEBE0FBEEDBEDF91CF911F910F914B
+:1005D000FF90EF90DF90CF9008950E94FE02089563
+:1005E0000E94FE020895FC0180E48093700084E480
+:1005F000809374001092710010820895FC0180E4D1
+:100600008093700084E480937400109271001082D3
+:100610000895FC01808199270895660F6093720008
+:10062000089580917400992787FD90958827990FE8
+:10063000881F99270895FC0190E020E030E0660FC4
+:1006400044EC80917400806A8093740080917400FF
+:1006500087FFFCCF80917100887F883001F560931F
+:100660007300409374008091740087FFFCCF8091E9
+:100670007100887F883189F080917100887F803295
+:1006800021F09923F1F2108208952F5F3F4F2A3015
+:100690003105B9F781E08083089591E0EDCF82E0E4
+:1006A00080830895660F616024EC80917400806AF5
+:1006B000809374008091740087FFFCCF809171005B
+:1006C00060937300209374008091740087FFFCCFC7
+:1006D00080917100909171008091710080917400FF
+:1006E000806880937400987F9034F9F60895609341
+:1006F000730084EC809374008091740087FFFCCFBA
+:100700008091710080917100089584ED8093740050
+:10071000089584EC809374008091740087FFFCCF6F
+:1007200020E030E094ECFB0180917100887F8038FC
+:1007300089F4809173008083909374008091740099
+:1007400087FFFCCF2F5F3F4F319680917100887FEC
+:10075000803879F38091710084EC80937400C90132
+:100760000895FB018091740087FFFCCF8091710098
+:100770008091710080917300808384EC8093740079
+:1007800008951F93141615060CF5DA01119720E051
+:1007900030E014E894ECFB01808180937300A21791
+:1007A000B30789F0909374008091740087FFFCCFA9
+:1007B00080917100809171002F5F3F4F31964217F9
+:1007C000530751F703C010937400EECF84EC80936D
+:1007D00074001F910895FC01660F616074EC8091B4
+:1007E0007400806A809374008091740087FFFCCF4E
+:1007F0008091710060937300709374008091740015
+:1008000087FFFCCF80917100909171008091710001
+:1008100080917400806880937400987F9034F9F61A
+:1008200080818823E9F412161306B4F460E070E0C6
+:1008300094ECFA018091740087FFFCCF80917100E5
+:1008400080917100809173008193909374006F5F29
+:100850007F4F2617370771F784ED80937400089552
+:1008600084ED8093740083E080830895DC0190E040
+:10087000E0E0F0E0660F74EC80917400806A809391
+:1008800074008091740087FFFCCF80917100887F95
+:100890008830E9F560937300709374008091740060
+:1008A00087FFFCCF80917100887F883171F1809142
+:1008B0007100887F803211F19923F1F21C92121697
+:1008C0001306BCF460E070E094ECFA018081809340
+:1008D0007300909374008091740087FFFCCF809127
+:1008E0007100809171006F5F7F4F31962617370737
+:1008F00069F784ED809374001C9208953196EA3074
+:10090000F105D1F681E08C9304C091E0D0CF82E074
+:100910008C9384ED8093740008950E94CD210895F6
+:100920000E942A2108951F920F920FB60F92112450
+:100930002F933F934F938F939F93EF93FF933BB1ED
+:100940004CB12091AE012F5F2F718091AF01E22F4A
+:10095000FF279927E817F90741F0832F8871209323
+:10096000AE01E055FE4F408301C082E08093D0018C
+:10097000FF91EF919F918F914F913F912F910F9008
+:100980000FBE0F901F9018951F920F920FB60F92E7
+:1009900011248F939F93EF93FF9390918C018091FB
+:1009A0008D01981761F0E0918D01EF5FEF71E09399
+:1009B0008D01FF27E257FE4F80818CB901C0559809
+:1009C000FF91EF919F918F910F900FBE0F901F900D
+:1009D00018959C0110928C0110928D011092AE011D
+:1009E0001092AF0197FF03C082E08BB93F77832F4E
+:1009F00099278093900029B988E98AB986E0809385
+:100A0000950008959091AE018091AF01981791F0F3
+:100A1000E091AF01EF5FEF71E093AF01FF27E05589
+:100A2000FE4F20818091D0019927982F8827820F2F
+:100A3000911D089580E091E00895382F20918C0158
+:100A40002F5F2F71E22FFF2780918D0199278E173D
+:100A50009F07D1F3E257FE4F308320938C01559AC4
+:100A600008951F920F920FB60F9211242F933F9368
+:100A70004F938F939F93EF93FF9330919B004091FF
+:100A80009C00209169012F5F2F7180916A01E22FF4
+:100A9000FF279927E817F90741F0832F88712093E2
+:100AA0006901E559FE4F408301C082E080938B01CC
+:100AB000FF91EF919F918F914F913F912F910F90C7
+:100AC0000FBE0F901F9018951F920F920FB60F92A6
+:100AD00011248F939F93EF93FF93909147018091FF
+:100AE0004801981769F0E0914801EF5FEF71E093DA
+:100AF0004801FF27E75BFE4F808180939C0005C083
+:100B000080919A008F7D80939A00FF91EF919F9141
+:100B10008F910F900FBE0F901F9018959C0110920F
+:100B20004701109248011092690110926A0197FFE3
+:100B300004C082E080939B003F77832F99278093A6
+:100B400098002093990088E980939A0086E080932A
+:100B50009D0008959091690180916A01981791F024
+:100B6000E0916A01EF5FEF71E0936A01FF27E559B9
+:100B7000FE4F208180918B019927982F8827820F23
+:100B8000911D089580E091E00895382F209147014C
+:100B90002F5F2F71E22FFF278091480199278E1731
+:100BA0009F07D1F3E75BFE4F30832093470180918D
+:100BB0009A00806280939A000895DC013C9133236F
+:100BC000D1F01196209147012F5F2F71E22FFF275F
+:100BD000809148019927E817F907D1F3E75BFE4FA9
+:100BE00030832093470180919A00806280939A001D
+:100BF0003C91332331F70895FC0184918823D1F08F
+:100C0000AF014F5F5F4F382F20918C012F5F2F7105
+:100C1000E22FFF2780918D019927E817F907D1F37B
+:100C2000E257FE4F308320938C01559AFA0184914C
+:100C3000882339F70895DC013C913323B1F01196F4
+:100C400020918C012F5F2F71E22FFF2780918D0162
+:100C50009927E817F907D1F3E257FE4F3083209325
+:100C60008C01559A3C91332351F70895FC018491EE
+:100C70008823F1F0AF014F5F5F4F382F209147017C
+:100C80002F5F2F71E22FFF27809148019927E817E6
+:100C9000F907D1F3E75BFE4F308320934701809142
+:100CA0009A00806280939A00FA018491882319F750
+:100CB000089508950895FC01718360830895FC01EF
+:100CC000738362830895FC017583648308952F9272
+:100CD0003F924F925F926F927F928F929F92AF92CC
+:100CE000BF92CF92DF92EF92FF920F931F934C012E
+:100CF000FC0160817181882777FD8095982F0E9483
+:100D0000B01E7B018C010E9411235B016C0189E103
+:100D100091E00E942707F401228133811C01221AED
+:100D2000330AC801B7010E9474222B013C01C6019D
+:100D3000B5010E94191FF40124813581629FA00131
+:100D4000639F500D729F500D1124420D531D00E101
+:100D500011E060E070E0C8010E947D0127ED33EBF7
+:100D60004DED5FE3C301B2010E94921DA601950102
+:100D70000E94341D20E030E040E05FE30E94921DBD
+:100D80000E94191FF40124813581629FA001639F95
+:100D9000500D729F500D1124420D531D61E070E003
+:100DA000C8010E947D0127ED33EB4DED5FEBC301E0
+:100DB000B2010E94921DA60195010E94341D20E0FF
+:100DC00030E040E05FE30E94921D0E94191FF40191
+:100DD00024813581629FA001639F500D729F500D49
+:100DE0001124420D531D62E070E0C8010E947D0194
+:100DF0001F910F91FF90EF90DF90CF90BF90AF9039
+:100E00009F908F907F906F905F904F903F902F902A
+:100E10000895FC01118210821382128215821482BD
+:100E20000E9467060895FC011182108213821282CB
+:100E3000158214820E9467060895FC017183608305
+:100E400053834283358324830E9467060895429624
+:100E50000E94521A08950F931F938C0142960E948C
+:100E6000561AC8010E94C507C80184960E94DB1B60
+:100E70001F910F9108950F931F938C0184960E94E8
+:100E8000CC1BC80142960E94411BC8010E94C007AA
+:100E90001F910F9108950F931F938C0184960E94C8
+:100EA000CC1BC80142960E94411BC8010E94C0078A
+:100EB0001F910F9108950F931F938C010E949D071E
+:100EC000C80142960E94591BC80184960E94BF1B0C
+:100ED0001F910F9108950F931F938C010E949D07FE
+:100EE000C80142960E94591BC80184960E94BF1BEC
+:100EF0001F910F910895FC01118210828EE190E004
+:100F0000938382838CE390E09583848384E690E0EE
+:100F10009783868384EB90E09187808784E091E0DB
+:100F2000938782878CE291E0958784878AE491E0B9
+:100F300097878687118A108A0895FC011182108292
+:100F40008EE190E0938382838CE390E095838483A9
+:100F500084E690E09783868384EB90E09187808796
+:100F600084E091E0938782878CE291E09587848783
+:100F70008AE491E097878687118A108A08950895F8
+:100F80000895FC018089918908950F931F93CF9351
+:100F9000DF93CDB7DEB760970FB6F894DEBF0FBE14
+:100FA000CDBF8C0160E080E191E00E9410019A8346
+:100FB000898361E080E191E00E9410019C838B8332
+:100FC00062E080E191E00E9410019E838D8363E0E6
+:100FD00080E191E00E94100198878F8364E080E1B6
+:100FE00091E00E9410019A87898765E080E191E095
+:100FF0000E9410019C878B8766E080E191E00E944F
+:1010000010019E878D8767E080E191E00E941001CA
+:10101000AC01988B8F8720E030E08B819C818050E1
+:10102000944014F421E030E0F9018D819E818050DC
+:10103000944014F4E2E0F0E08F8198858050944071
+:1010400014F4E3E0F0E089859A858050944014F42C
+:10105000E4E0F0E08B859C858050944014F4E5E05A
+:10106000F0E08D859E858050944014F4E6E0F0E039
+:101070004050544014F4E7E0F0E0EE0FFF1FE00FA3
+:10108000F11F80819181F801918B808B60960FB662
+:10109000F894DEBF0FBECDBFDF91CF911F910F91AE
+:1010A000089508950895089508950F931F93CF9379
+:1010B000DF93DC0184B32D913C91119741E050E026
+:1010C000FA01022E02C0EE0FFF1F0A94E2F78E2BE8
+:1010D00084BB07E010E0021B130BED010A8002C085
+:1010E000440F551F0A94E2F7342F309585B38323BC
+:1010F00085BB25B383B380952823862F9927002E9F
+:1011000002C0959587950A94E2F78E23282B25BB7C
+:10111000660F000085B3842B85BB85B3832385BB15
+:1011200025B383B380952823862F9927002E02C0EC
+:10113000959587950A94E2F78E23282B25BB660F99
+:10114000000085B3842B85BB85B3832385BB25B382
+:1011500083B380952823862F9927002E02C095956A
+:1011600087950A94E2F78E23282B25BB660F000093
+:1011700085B3842B85BB85B3832385BB25B383B31C
+:1011800080952823862F9927002E02C09595879554
+:101190000A94E2F78E23282B25BB660F000085B347
+:1011A000842B85BB85B3832385BB25B383B380950F
+:1011B0002823862F9927002E02C0959587950A949B
+:1011C000E2F78E23282B25BB660F000085B3842B06
+:1011D00085BB85B3832385BB25B383B38095282343
+:1011E000862F9927002E02C0959587950A94E2F7DD
+:1011F0008E23282B25BB660F000085B3842B85BB6F
+:1012000085B3832385BB25B383B380952823862F9D
+:101210009927002E02C0959587950A94E2F78E23B0
+:10122000282B25BB000085B3842B85BB85B3832386
+:1012300085BB95B383B380959823660F772702C04B
+:10124000759567950A95E2F7E6239E2B95BB0000FE
+:1012500085B3482B45BBDF91CF911F910F91089526
+:10126000FC0124B3A081B18161E070E0CB010A2EC2
+:1012700002C0880F991F0A94E2F78095282324BBA7
+:10128000028002C0660F771F0A94E2F7362F30956E
+:1012900085B3832385BB000085B3862B85BB43B311
+:1012A00085B3832385BB55270A2E02C055954795E4
+:1012B0000A94E2F741705070440F000085B3862B0A
+:1012C00085BB83B325B3232325BB99270A2E02C0F0
+:1012D000959587950A94E2F78170482B440F00009A
+:1012E00085B3862B85BB83B325B3232325BB9927E1
+:1012F0000A2E02C0959587950A94E2F78170482BD3
+:10130000440F000085B3862B85BB83B325B323230D
+:1013100025BB99270A2E02C0959587950A94E2F776
+:101320008170482B440F000085B3862B85BB83B3A7
+:1013300025B3232325BB99270A2E02C095958795AF
+:101340000A94E2F78170482B440F000085B3862B86
+:1013500085BB83B325B3232325BB99270A2E02C05F
+:10136000959587950A94E2F78170482B440F000009
+:1013700085B3862B85BB83B325B3232325BB992750
+:101380000A2E02C0959587950A94E2F78170482B42
+:10139000440F000085B3682B65BB83B3992702C057
+:1013A00095958795AA95E2F78170482B842F992708
+:1013B0000895CF93DF93FC0144B3C081D18121E034
+:1013C00030E0C9010C2E02C0880F991F0A94E2F781
+:1013D000A82F482B44BB47E050E04C1B5D0B02801C
+:1013E00002C0220F331F0A94E2F7322FE22FE0955A
+:1013F00085B38E2385BB25B383B380952823862FA1
+:101400009927042E02C0959587950A94E2F78A23BE
+:10141000282B25BB660F000085B3832B85BB85B3C6
+:101420008E2385BB25B383B380952823862F9927E8
+:10143000042E02C0959587950A94E2F78A23282BFB
+:1014400025BB660F000085B3832B85BB85B38E2338
+:1014500085BB25B383B380952823862F9927042E37
+:1014600002C0959587950A94E2F78A23282B25BB1D
+:10147000660F000085B3832B85BB85B38E2385BBA8
+:1014800025B383B380952823862F9927042E02C085
+:10149000959587950A94E2F78A23282B25BB660F3A
+:1014A000000085B3832B85BB85B38E2385BB25B315
+:1014B00083B380952823862F9927042E02C0959503
+:1014C00087950A94E2F78A23282B25BB660F000034
+:1014D00085B3832B85BB85B38E2385BB25B383B3AF
+:1014E00080952823862F9927042E02C095958795ED
+:1014F0000A94E2F78A23282B25BB660F000085B3E8
+:10150000832B85BB85B38E2385BB25B383B38095A1
+:101510002823862F9927042E02C0959587950A9433
+:10152000E2F78A23282B25BB000085B3832B85BBDC
+:1015300085B38E2385BB95B383B380959823660FBF
+:10154000772702C0759567954A95E2F78A2F86231B
+:10155000982B95BB000085B3832B85BB80E090E082
+:101560000000019621E08C329207D1F784B3A09558
+:101570008A2384BB85B38E2385BB000085B3832B70
+:1015800085BB43B385B38E2385BB55270C2E02C084
+:10159000559547950A94E2F741705070440F00004A
+:1015A00085B3832B85BB83B325B32E2325BB992716
+:1015B0000C2E02C0959587950A94E2F78170482B0E
+:1015C000440F000085B3832B85BB83B325B32E2343
+:1015D00025BB99270C2E02C0959587950A94E2F7B2
+:1015E0008170482B440F000085B3832B85BB83B3E8
+:1015F00025B32E2325BB99270C2E02C095958795E0
+:101600000A94E2F78170482B440F000085B3832BC6
+:1016100085BB83B325B32E2325BB99270C2E02C08F
+:10162000959587950A94E2F78170482B440F000046
+:1016300085B3832B85BB83B325B32E2325BB992785
+:101640000C2E02C0959587950A94E2F78170482B7D
+:10165000440F000085B3832B85BB83B325B32E23B2
+:1016600025BB99270C2E02C0959587950A94E2F721
+:101670008170482B440F000085B3832B85BB83B357
+:10168000992702C095958795CA95E2F78170482BF6
+:10169000842F9927DF91CF910895EF92FF920F93B6
+:1016A0001F93CF93DF937C01606884B3E7012881A7
+:1016B0003981A1E0B0E0FD01022E02C0EE0FFF1F54
+:1016C0000A94E2F78E2B84BB07E010E0021B130B99
+:1016D0000A8002C0AA0FBB1F0A94E2F73A2F309586
+:1016E00085B3832385BB25B383B380952823862FB9
+:1016F0009927002E02C0959587950A94E2F78E23CC
+:10170000282B25BB660F000085B38A2B85BB85B3CC
+:10171000832385BB25B383B380952823862F992700
+:10172000002E02C0959587950A94E2F78E23282B08
+:1017300025BB660F000085B38A2B85BB85B3832349
+:1017400085BB25B383B380952823862F9927002E48
+:1017500002C0959587950A94E2F78E23282B25BB26
+:10176000660F000085B38A2B85BB85B3832385BBB9
+:1017700025B383B380952823862F9927002E02C096
+:10178000959587950A94E2F78E23282B25BB660F43
+:10179000000085B38A2B85BB85B3832385BB25B326
+:1017A00083B380952823862F9927002E02C0959514
+:1017B00087950A94E2F78E23282B25BB660F00003D
+:1017C00085B38A2B85BB85B3832385BB25B383B3C0
+:1017D00080952823862F9927002E02C095958795FE
+:1017E0000A94E2F78E23282B25BB660F000085B3F1
+:1017F0008A2B85BB85B3832385BB25B383B38095B3
+:101800002823862F9927002E02C0959587950A9444
+:10181000E2F78E23282B25BB000085B38A2B85BBDE
+:1018200085B3832385BB95B383B380959823660FD7
+:101830007727002E02C0759567950A94E2F78E2FE0
+:101840008623982B95BB000085B38A2B85BB84B378
+:101850008E2B84BB85B3832385BB25B383B380954F
+:101860002823842F9927002E02C0959587950A94E6
+:10187000E2F78E23282B25BB440F000085B38A2B6B
+:1018800085BB85B3832385BB25B383B3809528238C
+:10189000842F9927002E02C0959587950A94E2F728
+:1018A0008E23282B25BB440F000085B38A2B85BBD4
+:1018B00085B3832385BB25B383B380952823842FE9
+:1018C0009927002E02C0959587950A94E2F78E23FA
+:1018D000282B25BB440F000085B38A2B85BB85B31D
+:1018E000832385BB25B383B380952823842F992731
+:1018F000002E02C0959587950A94E2F78E23282B37
+:1019000025BB440F000085B38A2B85BB85B3832399
+:1019100085BB25B383B380952823842F9927002E78
+:1019200002C0959587950A94E2F78E23282B25BB54
+:10193000440F000085B38A2B85BB85B3832385BB09
+:1019400025B383B380952823842F9927002E02C0C6
+:10195000959587950A94E2F78E23282B25BB440F93
+:10196000000085B38A2B85BB85B3832385BB25B354
+:1019700083B380952823842F9927002E02C0959544
+:1019800087950A94E2F78E23282B25BB000085B3A8
+:101990008A2B85BB85B3832385BB95B383B38095A1
+:1019A0009823440F552702C0559547950A95E2F7AD
+:1019B000E4239E2B95BB000085B38A2B85BB80E07A
+:1019C00090E000000196E1E08C329E07D1F7DF91B4
+:1019D000CF911F910F91FF90EF900895CF93DF93D8
+:1019E000FC0124B34081518161E070E0CB01042E01
+:1019F00002C0880F991F0A94E2F7A82F282B24BB56
+:101A0000C7E0D0E0C41BD50BCB01028002C0880F19
+:101A1000991F0A94E2F7582F482F409585B38423E5
+:101A200085BB25B383B38095282380E890E00C2EF6
+:101A300002C0959587950A94E2F73A2F3823232B15
+:101A400025BB000085B3852B85BB85B3842385BB6F
+:101A500095B383B38095982395BB000085B3852B00
+:101A600085BB85B3842385BB95B383B380959823C9
+:101A700095BB000085B3852B85BB85B3842385BBCF
+:101A800095B383B38095982395BB000085B3852BD0
+:101A900085BB85B3842385BB95B383B38095982399
+:101AA00095BB000085B3852B85BB85B3842385BB9F
+:101AB00095B383B38095982395BB000085B3852BA0
+:101AC00085BB85B3842385BB95B383B38095982369
+:101AD00095BB000085B3852B85BB85B3842385BB6F
+:101AE00095B383B38095982395BB000085B3852B70
+:101AF00085BB84B38A2B84BB85B3842385BB95B314
+:101B000083B3809598230C2E02C0759567950A942F
+:101B1000E2F78A2F8623982B95BB000085B3852B8F
+:101B200085BB85B3842385BB25B383B380952823E8
+:101B300082E090E00C2E02C0959587950A94E2F71A
+:101B40008A23282B25BB000085B3852B85BB85B355
+:101B5000842385BB25B383B38095282384E090E05C
+:101B60000C2E02C0959587950A94E2F78A23282BBC
+:101B700025BB000085B3852B85BB85B3842385BB3E
+:101B800025B383B38095282388E090E00C2E02C013
+:101B9000959587950A94E2F78A23282B25BB0000A8
+:101BA00085B3852B85BB85B3842385BB25B383B3E0
+:101BB0008095282380E190E00C2E02C095958795B2
+:101BC0000A94E2F78A23282B25BB000085B3852BD6
+:101BD00085BB85B3842385BB25B383B38095282338
+:101BE00080E290E00C2E02C0959587950A94E2F76A
+:101BF0008A23282B25BB000085B3852B85BB85B3A5
+:101C0000842385BB25B383B38095282380E490E0AB
+:101C10000C2E02C0959587950A94E2F78A23282B0B
+:101C200025BB000085B3852B85BB85B3842385BB8D
+:101C300095B383B380959823932B95BB000085B310
+:101C4000852B85BB80E090E00000019621E08C327E
+:101C50009207D1F784B38A2B84BB85B3842385BBD9
+:101C600025B383B38095282388E890E00C2E02C02A
+:101C7000959587950A94E2F78A23282B25BB0000C7
+:101C800085B3852B85BB85B3842385BB25B383B3FF
+:101C90008095282380E190E00C2E02C095958795D1
+:101CA0000A94E2F78A23282B25BB000085B3852BF5
+:101CB00085BB85B3842385BB25B383B38095282357
+:101CC00080E290E00C2E02C0959587950A94E2F789
+:101CD0008A23282B25BB000085B3852B85BB85B3C4
+:101CE000842385BB25B383B38095282380E490E0CB
+:101CF0000C2E02C0959587950A94E2F78A23282B2B
+:101D000025BB000085B3852B85BB85B3842385BBAC
+:101D100025B383B38095282380E890E002C0959591
+:101D20008795CA95E2F78A23282B25BB000085B347
+:101D3000852B85BB85B3842385BB95B383B3809501
+:101D4000982395BB000085B3852B85BB85B3842381
+:101D500085BB95B383B38095982395BB000085B36D
+:101D6000852B85BB85B3842385BB95B383B38095D1
+:101D7000982395BB000085B3852B85BB84B3A82B26
+:101D8000A4BB85B3842385BB95B383B38095982387
+:101D900095BB000085B3852B85BB85B3842385BBAC
+:101DA00095B383B38095982395BB000085B3852BAD
+:101DB00085BB85B3842385BB95B383B38095982376
+:101DC00095BB000085B3852B85BB85B3842385BB7C
+:101DD00095B383B38095982395BB000085B3852B7D
+:101DE00085BB85B3842385BB95B383B38095982346
+:101DF00095BB000085B3852B85BB85B3842385BB4C
+:101E000095B383B38095982395BB000085B3852B4C
+:101E100085BB85B3842385BB95B383B38095982315
+:101E200095BB000085B3852B85BB85B3842385BB1B
+:101E300095B383B38095982395BB000085B3852B1C
+:101E400085BB80E090E00000019621E08C32920793
+:101E5000D1F781E08093D101DF91CF910895FC010A
+:101E600020E030E080E090E00000019645E08D3712
+:101E70009407D1F72F5F3F4F2436310599F784B38C
+:101E800021E030E0028002C0220F331F0A94E2F703
+:101E9000322F822B84BB85B3622F6095862385BB4E
+:101EA00040E050E080E090E00000019625E08D37B2
+:101EB0009207D1F74F5F5F4F4A30510599F724B32E
+:101EC0004081518181E090E0042E02C0880F991F6B
+:101ED0000A94E2F7782F282B24BBE7E0F0E0E41B1C
+:101EE000F50B85B3862385BB25B383B38095282363
+:101EF00080E890E00E2E02C0959587950A94E2F74F
+:101F0000472F4823242B25BB000085B3832B85BB9B
+:101F100085B3862385BB95B383B38095982395BB02
+:101F2000000085B3832B85BB85B3862385BB95B322
+:101F300083B38095982395BB000085B3832B85BB25
+:101F400085B3862385BB95B383B38095982395BBD2
+:101F5000000085B3832B85BB85B3862385BB95B3F2
+:101F600083B38095982395BB000085B3832B85BBF5
+:101F700085B3862385BB95B383B38095982395BBA2
+:101F8000000085B3832B85BB85B3862385BB95B3C2
+:101F900083B38095982395BB000085B3832B85BBC5
+:101FA00085B3862385BB95B383B38095982395BB72
+:101FB000000085B3832B85BB84B3872B84BB85B39B
+:101FC000862385BB95B383B380959823942B95BBCB
+:101FD000000085B3832B85BB85B3862385BB95B372
+:101FE00083B38095982395BB000085B3832B85BB75
+:101FF00085B3862385BB95B383B38095982395BB22
+:10200000000085B3832B85BB85B3862385BB95B341
+:1020100083B38095982395BB000085B3832B85BB44
+:1020200085B3862385BB95B383B38095982395BBF1
+:10203000000085B3832B85BB85B3862385BB95B311
+:1020400083B38095982395BB000085B3832B85BB14
+:1020500085B3862385BB95B383B38095982395BBC1
+:10206000000085B3832B85BB85B3862385BB95B3E1
+:1020700083B38095982395BB000085B3832B85BBE4
+:1020800080E090E00000019621E08C329207D1F7C9
+:1020900084B3872B84BB85B3862385BB25B383B3E9
+:1020A0008095282380E890E00E2E02C095958795B4
+:1020B0000A94E2F78723282B25BB000085B3832BE6
+:1020C00085BB85B3862385BB95B383B38095982361
+:1020D00095BB000085B3832B85BB85B3862385BB69
+:1020E00095B383B38095982395BB000085B3832B6C
+:1020F00085BB85B3862385BB95B383B38095982331
+:1021000095BB000085B3832B85BB85B3862385BB38
+:1021100095B383B38095982395BB000085B3832B3B
+:1021200085BB85B3862385BB95B383B38095982300
+:1021300095BB000085B3832B85BB85B3862385BB08
+:1021400095B383B38095982395BB000085B3832B0B
+:1021500085BB85B3862385BB95B383B380959823D0
+:1021600095BB000085B3832B85BB84B3872B84BBD1
+:1021700085B3862385BB25B383B38095282381E06F
+:1021800090E00E2E02C0959587950A94E2F787237A
+:10219000282B25BB000085B3832B85BB85B3862305
+:1021A00085BB25B383B38095282382E090E00E2E73
+:1021B00002C0959587950A94E2F78723282B25BBC3
+:1021C000000085B3832B85BB85B3862385BB25B3F0
+:1021D00083B38095282384E090E00E2E02C095956D
+:1021E00087950A94E2F78723282B25BB000085B347
+:1021F000832B85BB85B3862385BB25B383B38095AD
+:10220000282388E090E00E2E02C0959587950A94C9
+:10221000E2F78723282B25BB000085B3832B85BBE2
+:1022200085B3862385BB25B383B38095282380E1BE
+:1022300090E00E2E02C0959587950A94E2F78723C9
+:10224000282B25BB000085B3832B85BB85B3862354
+:1022500085BB25B383B38095282380E290E00E2EC2
+:1022600002C0959587950A94E2F78723282B25BB12
+:10227000000085B3832B85BB85B3862385BB25B33F
+:1022800083B38095282380E490E002C095958795DC
+:10229000EA95E2F77823272B25BB000085B3832B33
+:1022A00085BB85B3682365BB95B383B380959823BD
+:1022B000942B95BB000085B3382B35BB80E090E0B4
+:1022C0000000019641E08C329407D1F70895EF9217
+:1022D000FF920F931F93FC0144B3A081B18121E0D1
+:1022E00030E0C9010A2E02C0880F991F0A94E2F754
+:1022F000182F482B44BB47E050E04A1B5B0B028081
+:1023000002C0220F331F0A94E2F7722F622F6095EA
+:1023100085B3862385BB35B323B388E090E0042ED4
+:1023200002C0959587950A94E2F7F12EF822209540
+:1023300032233F2935BB000085B3872B85BB85B38E
+:10234000862385BB35B323B380E190E0042E02C021
+:10235000959587950A94E2F7E12EE822209532239D
+:102360003E2935BB000085B3872B85BB85B386230B
+:1023700085BB35B323B380E290E0042E02C095956F
+:1023800087950A94E2F7012F082320953223302BFA
+:1023900035BB000085B3872B85BB85B3862385BB02
+:1023A00035B323B380E490E0042E02C09595879561
+:1023B0000A94E2F7F12FF823209532233F2B35BB07
+:1023C000000085B3872B85BB85B3862385BB35B3DA
+:1023D00023B380E890E002C0959587954A95E2F78F
+:1023E000E12FE823209532233E2B35BB000085B337
+:1023F000872B85BB85B3862385BB95B383B3809537
+:10240000982395BB000085B3872B85BB85B38623B6
+:1024100085BB95B383B38095982395BB000085B3A6
+:10242000872B85BB85B3862385BB95B383B3809506
+:10243000982395BB000085B3872B85BB80E090E097
+:102440000000019621E08C329207D1F784B3312F3E
+:102450003095832384BB85B3862385BB000085B379
+:10246000872B85BB43B385B3862385BB55270A2EAF
+:1024700002C0559547950A94E2F741705070440F99
+:10248000000085B3872B85BB83B325B3262325BBEB
+:1024900099270A2E02C0959587950A94E2F78170D4
+:1024A000482B440F000085B3872B85BB83B325B32E
+:1024B000262325BB99270A2E02C0959587950A9455
+:1024C000E2F78170482B440F000085B3872B85BB52
+:1024D00083B325B3262325BB99270A2E02C09595E1
+:1024E00087950A94E2F78170482B440F000085B36A
+:1024F000872B85BB83B325B3262325BB99270A2EBB
+:1025000002C0959587950A94E2F78170482B440F95
+:10251000000085B3872B85BB83B325B3262325BB5A
+:1025200099270A2E02C0959587950A94E2F7817043
+:10253000482B440F000085B3872B85BB83B325B39D
+:10254000262325BB99270A2E02C0959587950A94C4
+:10255000E2F78170482B440F000085B3872B85BBC1
+:1025600083B399270A2E02C0959587950A94E2F7BE
+:102570008170482B5527242F8091D101813009F09B
+:102580000BC147FD07C184B3812B84BB85B3862370
+:1025900085BB95B383B3809598239F2995BB000095
+:1025A00085B3872B85BB85B3862385BB95B383B362
+:1025B000809598239E2995BB000085B3872B85BB0A
+:1025C00085B3862385BB95B383B380959823902BE1
+:1025D00095BB000085B3872B85BB85B3862385BB60
+:1025E00095B383B3809598239F2B95BB000085B34B
+:1025F000872B85BB85B3862385BB95B383B3809535
+:1026000098239E2B95BB000085B3872B85BB85B394
+:10261000862385BB95B383B38095982395BB000033
+:1026200085B3872B85BB85B3862385BB95B383B3E1
+:102630008095982395BB000085B3872B85BB85B318
+:10264000862385BB95B383B38095982395BB000003
+:1026500085B3872B85BB80E090E00000019621E0E8
+:102660008C329207D1F784B3832384BB85B386234E
+:1026700085BB000085B3872B85BB43B385B3862319
+:1026800085BB55270A2E02C0559547950A94E2F757
+:1026900041705070440F000085B3872B85BB83B316
+:1026A00025B3262325BB99270A2E02C09595879529
+:1026B0000A94E2F78170482B440F000085B3872B02
+:1026C00085BB83B325B3262325BB99270A2E02C0D9
+:1026D000959587950A94E2F78170482B440F000086
+:1026E00085B3872B85BB83B325B3262325BB9927C9
+:1026F0000A2E02C0959587950A94E2F78170482BBF
+:10270000440F000085B3872B85BB83B325B32623F5
+:1027100025BB99270A2E02C0959587950A94E2F762
+:102720008170482B440F000085B3872B85BB83B392
+:1027300025B3262325BB99270A2E02C09595879598
+:102740000A94E2F78170482B440F000085B3872B71
+:1027500085BB83B325B3262325BB99270A2E02C048
+:10276000959587950A94E2F78170482B440F0000F5
+:1027700085B3872B85BB83B399270A2E02C0959515
+:1027800087950A94E2F78170482B842F9927282F88
+:1027900087FFF9CE1092D101822F992787FD90955E
+:1027A0001F910F91FF90EF900895FC0144B3A08119
:1027B000B18121E030E0C9010A2E02C0880F991FC3
:1027C0000A94E2F7782F482B44BB47E050E04A1BBD
:1027D0005B0B028002C0220F331F0A94E2F7322FF4
:1027E000622F609585B3862385BB25B383B380951F
-:1027F000282382E090E0042E02C0959587950A94E4
+:1027F000282384E090E0042E02C0959587950A94E2
:10280000E2F78723282B25BB000085B3832B85BBEC
-:1028100085B3862385BB25B383B38095282384E0C5
+:1028100085B3862385BB25B383B38095282388E0C1
:1028200090E0042E02C0959587950A94E2F78723DD
:10283000282B25BB000085B3832B85BB85B386235E
-:1028400085BB25B383B38095282388E090E0042ED0
+:1028400085BB25B383B38095282380E190E0042ED7
:1028500002C0959587950A94E2F78723282B25BB1C
:10286000000085B3832B85BB85B3862385BB25B349
-:1028700083B38095282380E190E0042E02C09595D3
+:1028700083B38095282380E290E0042E02C09595D2
:1028800087950A94E2F78723282B25BB000085B3A0
:10289000832B85BB85B3862385BB25B383B3809506
-:1028A000282380E290E0042E02C0959587950A9433
+:1028A000282380E490E0042E02C0959587950A9431
:1028B000E2F78723282B25BB000085B3832B85BB3C
-:1028C00085B3862385BB25B383B38095282380E415
-:1028D00090E0042E02C0959587950A94E2F787232D
-:1028E000282B25BB000085B3832B85BB85B38623AE
-:1028F00085BB25B383B38095282380E890E002C090
-:10290000959587954A95E2F78723282B25BB0000EC
-:1029100085B3832B85BB85B3862385BB95B383B3F2
-:102920008095982395BB000085B3832B85BB80E001
-:1029300090E00000019621E08C329207D1F784B339
-:102940007095872384BB85B3862385BB000085B340
-:10295000832B85BB43B385B3862385BB55270A2EBE
-:1029600002C0559547950A94E2F741705070440FA4
-:10297000000085B3832B85BB83B325B3262325BBFA
-:1029800099270A2E02C0959587950A94E2F78170DF
-:10299000482B440F000085B3832B85BB83B325B33D
-:1029A000262325BB99270A2E02C0959587950A9460
-:1029B000E2F78170482B440F000085B3832B85BB61
-:1029C00083B325B3262325BB99270A2E02C09595EC
-:1029D00087950A94E2F78170482B440F000085B375
-:1029E000832B85BB83B325B3262325BB99270A2ECA
-:1029F00002C0959587950A94E2F78170482B440FA1
-:102A0000000085B3832B85BB83B325B3262325BB69
-:102A100099270A2E02C0959587950A94E2F781704E
-:102A2000482B440F000085B3832B85BB83B325B3AC
-:102A3000262325BB99270A2E02C0959587950A94CF
-:102A4000E2F78170482B440F000085B3832B85BBD0
-:102A500083B3992702C095958795AA95E2F781706F
-:102A6000482B842F99270895EF92FF920F931F937D
-:102A7000FC0144B3A081B18121E030E0C9010A2EFC
-:102A800002C0880F991F0A94E2F7182F482B44BB05
-:102A900047E050E04A1B5B0B028002C0220F331F4D
-:102AA0000A94E2F7722F622F609585B3862385BB67
-:102AB00035B323B388E090E0042E02C09595879546
-:102AC0000A94E2F7F12EF822209532233F2935BBF4
-:102AD000000085B3872B85BB85B3862385BB35B3C3
-:102AE00023B380E190E0042E02C0959587950A9467
-:102AF000E2F7E12EE822209532233E2935BB000083
-:102B000085B3872B85BB85B3862385BB35B323B3BC
-:102B100080E290E0042E02C0959587950A94E2F732
-:102B2000012F082320953223302B35BB000085B3BD
-:102B3000872B85BB85B3862385BB35B323B380E460
-:102B400090E0042E02C0959587950A94E2F7F12F44
-:102B5000F823209532233F2B35BB000085B3872B0C
-:102B600085BB85B3862385BB35B323B380E890E06E
-:102B700002C0959587954A95E2F7E12FE8232095C5
-:102B800032233E2B35BB000085B3872B85BB85B335
-:102B9000862385BB95B383B38095982395BB0000AE
-:102BA00085B3872B85BB85B3862385BB95B383B35C
-:102BB0008095982395BB000085B3872B85BB85B393
-:102BC000862385BB95B383B38095982395BB00007E
-:102BD00085B3872B85BB80E090E00000019621E063
-:102BE0008C329207D1F784B3312F3095832384BB85
-:102BF00085B3862385BB000085B3872B85BB43B394
+:1028C00085B3862385BB25B383B38095282380E811
+:1028D00090E002C0959587954A95E2F78723282BCB
+:1028E00025BB000085B3832B85BB85B3862385BBC1
+:1028F00095B383B38095982395BB000085B3832B54
+:1029000085BB85B3862385BB95B383B38095982318
+:1029100095BB000085B3832B85BB80E090E0000071
+:10292000019621E08C329207D1F784B3709587230A
+:1029300084BB85B3862385BB000085B3832B85BB11
+:1029400043B385B3862385BB55270A2E02C0559510
+:1029500047950A94E2F741705070440F000085B328
+:10296000832B85BB83B325B3262325BB99270A2E4A
+:1029700002C0959587950A94E2F78170482B440F21
+:10298000000085B3832B85BB83B325B3262325BBEA
+:1029900099270A2E02C0959587950A94E2F78170CF
+:1029A000482B440F000085B3832B85BB83B325B32D
+:1029B000262325BB99270A2E02C0959587950A9450
+:1029C000E2F78170482B440F000085B3832B85BB51
+:1029D00083B325B3262325BB99270A2E02C09595DC
+:1029E00087950A94E2F78170482B440F000085B365
+:1029F000832B85BB83B325B3262325BB99270A2EBA
+:102A000002C0959587950A94E2F78170482B440F90
+:102A1000000085B3832B85BB83B325B3262325BB59
+:102A200099270A2E02C0959587950A94E2F781703E
+:102A3000482B440F000085B3832B85BB83B39927B4
+:102A400002C095958795AA95E2F78170482B842F4F
+:102A500099270895FC0144B3A081B18121E030E0C1
+:102A6000C9010A2E02C0880F991F0A94E2F7782F35
+:102A7000482B44BB47E050E04A1B5B0B028002C07E
+:102A8000220F331F0A94E2F7322F622F609585B32D
+:102A9000862385BB25B383B38095282382E090E00D
+:102AA000042E02C0959587950A94E2F78723282B78
+:102AB00025BB000085B3832B85BB85B3862385BBEF
+:102AC00025B383B38095282384E090E0042E02C0D0
+:102AD000959587950A94E2F78723282B25BB00005C
+:102AE00085B3832B85BB85B3862385BB25B383B391
+:102AF0008095282388E090E0042E02C09595879564
+:102B00000A94E2F78723282B25BB000085B3832B8B
+:102B100085BB85B3862385BB25B383B380952823E6
+:102B200080E190E0042E02C0959587950A94E2F723
+:102B30008723282B25BB000085B3832B85BB85B35A
+:102B4000862385BB25B383B38095282380E290E05C
+:102B5000042E02C0959587950A94E2F78723282BC7
+:102B600025BB000085B3832B85BB85B3862385BB3E
+:102B700025B383B38095282380E490E0042E02C01F
+:102B8000959587950A94E2F78723282B25BB0000AB
+:102B900085B3832B85BB85B3862385BB25B383B3E0
+:102BA0008095282380E890E002C0959587954A9506
+:102BB000E2F78723282B25BB000085B3832B85BB39
+:102BC00085B3862385BB95B383B38095982395BB46
+:102BD000000085B3832B85BB80E090E00000019668
+:102BE00021E08C329207D1F784B37095872384BBA0
+:102BF00085B3862385BB000085B3832B85BB43B398
:102C000085B3862385BB55270A2E02C05595479567
-:102C10000A94E2F741705070440F000085B3872B8F
+:102C10000A94E2F741705070440F000085B3832B93
:102C200085BB83B325B3262325BB99270A2E02C073
:102C3000959587950A94E2F78170482B440F000020
-:102C400085B3872B85BB83B325B3262325BB992763
+:102C400085B3832B85BB83B325B3262325BB992767
:102C50000A2E02C0959587950A94E2F78170482B59
-:102C6000440F000085B3872B85BB83B325B3262390
+:102C6000440F000085B3832B85BB83B325B3262394
:102C700025BB99270A2E02C0959587950A94E2F7FD
-:102C80008170482B440F000085B3872B85BB83B32D
+:102C80008170482B440F000085B3832B85BB83B331
:102C900025B3262325BB99270A2E02C09595879533
-:102CA0000A94E2F78170482B440F000085B3872B0C
+:102CA0000A94E2F78170482B440F000085B3832B10
:102CB00085BB83B325B3262325BB99270A2E02C0E3
:102CC000959587950A94E2F78170482B440F000090
-:102CD00085B3872B85BB83B325B3262325BB9927D3
+:102CD00085B3832B85BB83B325B3262325BB9927D7
:102CE0000A2E02C0959587950A94E2F78170482BC9
-:102CF000440F000085B3872B85BB83B399270A2E29
-:102D000002C0959587950A94E2F78170482B552764
-:102D1000242F8091B501813009F00BC147FD07C117
-:102D200084B3812B84BB85B3862385BB95B383B3E2
-:102D3000809598239F2995BB000085B3872B85BB81
-:102D400085B3862385BB95B383B3809598239E294D
-:102D500095BB000085B3872B85BB85B3862385BBD8
-:102D600095B383B380959823902B95BB000085B3D2
-:102D7000872B85BB85B3862385BB95B383B38095AD
-:102D800098239F2B95BB000085B3872B85BB85B30C
-:102D9000862385BB95B383B3809598239E2B95BBE3
-:102DA000000085B3872B85BB85B3862385BB95B390
-:102DB00083B38095982395BB000085B3872B85BB93
-:102DC00085B3862385BB95B383B38095982395BB44
-:102DD000000085B3872B85BB85B3862385BB95B360
-:102DE00083B38095982395BB000085B3872B85BB63
-:102DF00080E090E00000019621E08C329207D1F74C
-:102E000084B3832384BB85B3862385BB000085B34D
-:102E1000872B85BB43B385B3862385BB55270A2EF5
-:102E200002C0559547950A94E2F741705070440FDF
-:102E3000000085B3872B85BB83B325B3262325BB31
-:102E400099270A2E02C0959587950A94E2F781701A
-:102E5000482B440F000085B3872B85BB83B325B374
-:102E6000262325BB99270A2E02C0959587950A949B
-:102E7000E2F78170482B440F000085B3872B85BB98
-:102E800083B325B3262325BB99270A2E02C0959527
-:102E900087950A94E2F78170482B440F000085B3B0
-:102EA000872B85BB83B325B3262325BB99270A2E01
-:102EB00002C0959587950A94E2F78170482B440FDC
-:102EC000000085B3872B85BB83B325B3262325BBA1
-:102ED00099270A2E02C0959587950A94E2F781708A
-:102EE000482B440F000085B3872B85BB83B325B3E4
-:102EF000262325BB99270A2E02C0959587950A940B
-:102F0000E2F78170482B440F000085B3872B85BB07
-:102F100083B399270A2E02C0959587950A94E2F704
-:102F20008170482B842F9927282F87FFF9CE109284
-:102F3000B501822F992787FD90951F910F91FF90E2
-:102F4000EF900895A0E0B0E0E8EAF7E10C94D61D18
-:102F5000FC016A019081923008F41BC1DB018C9165
-:102F6000823080F0943061F4843009F012C1918194
-:102F7000EB018981981709F40CC1E2E0F1E009C185
-:102F8000843011F4FB0105C1823091F4923009F0D4
-:102F900000C1EA01DF0188E00D9009928150E1F75C
-:102FA0008181FB0191818923E6018983F601F1C0CA
-:102FB000923041F362807380EB018A809B80E480D1
-:102FC000F580068117812C813D814E815F815301FF
-:102FD000A818B908C501B7FCABC080970CF457C05E
-:102FE000861497040CF4BEC03401EE24FF2487013C
-:102FF0009181FB018181981709F4A6C0992309F4F6
-:103000009CC02E193F09400B510B57FDB0C0E60183
-:1030100019827B826A82F601248335834683578333
-:10302000E6012C813D814E815F8179018A01DA01BF
-:10303000C9010197A109B1098F5F9F4FAF4FBF43EE
-:10304000F8F4E6016A817B81A8019701220F331F02
-:10305000441F551F6150704079018A01DA01C9018E
-:103060000197A109B1098F5F9F4FAF4FBF4360F335
-:10307000E6017B836A83F601248335834683578385
-:1030800083E0D6018C9357FD39C0F60182C08614C7
-:103090009704B4F4C0E0D0E0DA01C9018170907007
-:1030A000A070B0705695479537952795282B392BEA
-:1030B0004A2B5B2B2196AC16BD0671F78A0C9B1C24
-:1030C000681479040CF094CFC0E0D0E05401A61845
-:1030D000B708D801C70181709070A070B0701695C4
-:1030E0000795F794E794E82AF92A0A2B1B2B2196D7
-:1030F000AC16BD0671F76A0C7B1C7ACFDA01C901E8
-:10310000B695A7959795879521703070407050704F
-:10311000282B392B4A2B5B2BE6012C833D834E83D6
-:103120005F838A819B8101969B838A83F60131C0EC
-:10313000882799278A199B0950CFE21AF30A040BB2
-:10314000150BA801970161CFE60199837B826A8202
-:103150002E0D3F1D401F511FF601248335834683EA
-:1031600057838ECF20E030E040E050E041CF81E057
-:10317000E60189837B826A8250954095309521953E
-:103180003F4F4F4F5F4FF60124833583468357836C
-:1031900047CFCF01EEE0CDB7DEB70C94F21DA0E231
-:1031A000B0E0E5EDF8E10C94DE1D69837A838B8352
-:1031B0009C832D833E834F83588789E1E82EF12C31
-:1031C000EC0EFD1EB701CE0101960E94261C8E0159
-:1031D0000F5E1F4FB801CE0105960E94261C8A89FA
-:1031E00091E089278A8BAE01475F5F4FB801C70125
-:1031F0000E94A2170E94041BE6E0A0960C94FA1D00
-:10320000A0E2B0E0E6E0F9E10C94DE1D69837A8388
-:103210008B839C832D833E834F83588799E1E92ECE
-:10322000F12CEC0EFD1EB701CE0101960E94261C6A
-:103230008E010F5E1F4FB801CE0105960E94261C1D
-:10324000AE01475F5F4FB801C7010E94A2170E94FD
-:10325000041BE6E0A0960C94FA1DA0E2B0E0E3E3C4
-:10326000F9E10C94D21D69837A838B839C832D832F
-:103270003E834F8358878E01075E1F4FB801CE01F2
-:1032800001960E94261CF1E1EF2EF12CEC0EFD1EA2
-:10329000B701CE0105960E94261C898D823078F0F8
-:1032A0009989923040F420E09A8D8A89981321E020
-:1032B0002A8BB701E9C0843051F4923061F020E0EC
-:1032C0009A8D8A89981321E02A8FB801DDC0943045
-:1032D00029F4823041F762E071E0D6C0823079F3A0
-:1032E000923009F32D8D3E8D4F8D58A18D899E8989
-:1032F000AF89B88D222433242101AA24BB2465017F
-:10330000EE24FF24870160E070E00DC06F5F7F4F07
-:103310006032710599F1880F991FAA1FBB1F56953E
-:1033200047953795279520FF19C0280E391E4A1E4C
-:103330005B1E662477244301281639064A065B067D
-:1033400028F4E1E06E2E712C812C912CAE0CBF1C68
-:10335000C01ED11EA60CB71CC81CD91CEE0CFF1C2D
-:10336000001F111FB7FFD2CFE1E06E2E712C812C10
-:10337000912CE628F72808291929C8CF8B8D9C8D18
-:103380002B893C89820F931F02969C878B871A8614
-:103390009A8D8A89981711F081E08A87D7FE17C025
-:1033A0008B859C85A0FE0CC0569447943794279437
-:1033B00020E030E040E050E8222A332A442A552A0F
-:1033C000D694C794B794A79401969C878B8730E0D6
-:1033D000A31630E0B30630E0C30630E4D30618F598
-:1033E0008B859C850EC0220C331C441C551C0197F8
-:1033F00020E0A21620E0B20620E0C20620E4D206B9
-:1034000080F4AA0CBB1CCC1CDD1C57FEECCF31E0B9
-:10341000632E712C812C912CA628B728C828D92876
-:10342000E2CF9C878B87D601C5018F779070A07003
-:10343000B07080349105A105B10551F0AD86BE860E
-:10344000CF86D88A83E08987BE01675F7F4F1CC023
-:10345000A7FCF4CF211431044104510479F380E432
-:1034600090E0A0E0B0E0A80EB91ECA1EDB1E80E806
-:10347000682E8FEF782E8FEF882E8FEF982EA62054
-:10348000B720C820D920DACFCB010E94041BE2E18B
-:10349000A0960C94EE1DA8E0B0E0E1E5FAE10C94F2
-:1034A000E11D9B01AC0183E089831A8257FD51C065
-:1034B000211531054105510539F482E08983CE019A
-:1034C00001960E94041B4CC0EEE1F0E0FC83EB830C
-:1034D0008A818823C9F1203010E0310710E04107CC
-:1034E00010E85107C9F188279927DC01821B930B4B
-:1034F000A40BB50B8D839E83AF83B8872D813E814E
-:103500004F815885203080E0380780E0480780E40C
-:103510005807A8F6EB81FC81DA01C901880F991FD1
-:10352000AA1FBB1F31979C01AD01803010E09107AD
-:1035300010E0A10710E4B10778F3FC83EB838D83DF
-:103540009E83AF83B887BBCF2D833E834F8358873D
-:10355000D5CF81E08A83ACCF60E070E080E09FEC63
-:10356000E3E028960C94FD1DACE0B0E0EAEBFAE154
-:103570000C94E21D69837A838B839C83BE016B5F0D
-:103580007F4FCE0101960E94261C8D81823061F012
-:10359000823050F0843069F48E81882359F52FEF02
-:1035A0003FEF4FEF5FE72AC020E030E040E050E01F
-:1035B00025C02F81388537FDF7CF2F31310564F7CE
-:1035C0008EE190E0821B930B29853A854B855C85C3
-:1035D00004C056954795379527958A95D2F78E81E1
-:1035E000882361F050954095309521953F4F4F4F7E
-:1035F0005F4F04C020E030E040E050E8CA01B9016C
-:10360000E2E02C960C94FE1D4F925F926F927F9297
-:103610008F929F92AF92BF92DF92EF92FF920F93A1
-:103620001F9320E030E040E050E0FC01E480F580B2
-:1036300006811781D1808081823038F4D801C7019A
-:10364000A061AF77B0706FEFD9C0843009F46EC05D
-:10365000823009F471C0E114F1040105110509F487
-:103660006BC0828193816FEF823896070CF06AC03D
-:1036700062E87FEF681B790B6A3171050CF080C03E
-:1036800047015801062E04C0B694A79497948794D6
-:103690000A94D2F744245524320181E090E0A0E05E
-:1036A000B0E004C0880F991FAA1FBB1F6A95D2F70C
-:1036B0000197A109B109E822F9220A231B23E11489
-:1036C000F1040105110529F061E0462E512C612C11
-:1036D000712C85017401E428F52806291729D801E1
-:1036E000C7018F779070A070B07080349105A105EC
-:1036F000B10509F457C0D801C701CF96A11DB11D6E
-:1037000060E070E08030E0E09E07E0E0AE07E0E4DB
-:10371000BE0710F061E070E027E0B695A795979599
-:1037200087952A95D1F7AF77B07068C080E090E0B8
-:10373000A0E0B0E06FEF62C080E090E0A0E0B0E019
-:1037400060E05CC0803891058CF7BC0161587F4F08
-:10375000D801C7018F779070A070B0708034910548
-:10376000A105B105A1F08FE390E0A0E0B0E0E80E84
-:10377000F91E0A1F1B1F17FD28C0D801C701CCCF97
-:1037800060E070E080E090E0A0E0B0E0CCCFE7FE49
-:10379000F2CF80E490E0A0E0B0E0E80EF91E0A1F4E
-:1037A0001B1FE9CFE7FC18C080E090E060E0E61660
-:1037B00060E0F60660E0060760E4160710F081E0BE
-:1037C00090E0BC01D801C701A7CF16950795F794E3
-:1037D000E7946F5F7F4FD1CFD801C701805C9F4FC7
-:1037E000AF4FBF4F60E070E08030E0E09E07E0E068
-:1037F000AE07E0E4BE0708F48FCF8CCF282F392F17
-:103800009A2F9F77842F8078892B962F97959927C9
-:1038100097958F77482F492B6695852F8078862B33
-:10382000D794DD24D7948F77582F5D29CA01B90129
-:103830001F910F91FF90EF90DF90BF90AF909F90FE
-:103840008F907F906F905F904F900895FC01DB0107
-:10385000208131819281492F4F7750E0991F99271C
-:10386000991F8381682F660F692B881F8827881FFF
-:10387000FD018183662309F049C021153105410509
-:10388000510509F470C082E89FEFFD0193838283A4
-:10389000220F331F441F551F220F331F441F551F74
-:1038A000220F331F441F551F220F331F441F551F64
-:1038B000220F331F441F551F220F331F441F551F54
-:1038C000220F331F441F551F83E08C932030F0E0FC
-:1038D0003F07F0E04F07F0E45F0790F482E89FEFC6
-:1038E000220F331F441F551F0197203060E0360719
-:1038F00060E0460760E4560798F3FD0193838283F6
-:10390000FD01248335834683578308956F3F71F10A
-:10391000862F99278F579040FD019383828383E000
-:103920008C93220F331F441F551F220F331F441F38
-:10393000551F220F331F441F551F220F331F441FD3
-:10394000551F220F331F441F551F220F331F441FC3
-:10395000551F220F331F441F551F50642483358386
-:1039600046835783089582E08C930895211531058D
-:103970004105510519F484E08C93089544FD02C07B
-:103980001C92BECF81E08C93BBCFCF93DF93AC0171
-:10399000029710F442E050E0A091B801B091B90153
-:1039A000FD01C0E0D0E020E030E020C080819181C6
-:1039B0008417950769F482819381209719F09B837E
-:1039C0008A8304C09093B9018093B801CF0132C0BB
-:1039D0004817590738F42115310519F08217930754
-:1039E00008F49C01EF010280F381E02D3097F1F69D
-:1039F0002115310589F1C901841B950B049708F441
-:103A0000A901E0E0F0E026C08D919C91119782170A
-:103A10009307E9F44817590779F4ED018A819B81EE
-:103A2000309719F09383828304C09093B9018093F7
-:103A3000B801CD01029649C0841B950BFD01E80F2A
-:103A4000F91F4193519302978D939C933AC0FD01C6
-:103A5000A281B3811097C1F68091B6019091B70110
-:103A6000892B41F480910C0190910D019093B70145
-:103A70008093B60120910E0130910F01211531057F
-:103A800041F42DB73EB780910A0190910B01281B9C
-:103A9000390BE091B601F091B7012E1B3F0B2417B3
-:103AA000350788F0CA0102962817390760F0CF0160
-:103AB000840F951F02969093B7018093B6014193AE
-:103AC0005193CF0102C080E090E0DF91CF91089543
-:103AD000CF93DF93009709F44EC0EC0122971B822D
-:103AE0001A82A091B801B091B901109711F140E08C
-:103AF00050E001C0DC01AC17BD0700F1BB83AA8315
-:103B0000FE0121913191E20FF31FEA17FB0771F4D7
-:103B10002E5F3F4F8D919C911197820F931F998338
-:103B20008883FD01828193819B838A83411551059E
-:103B300059F4D093B901C093B8011DC0FD01828131
-:103B40009381AD010097B1F6FA01D383C28321912D
-:103B50003191E20FF31FEC17FD0769F42E5F3F4F21
-:103B600088819981820F931FFA01918380838A81D2
-:103B70009B8193838283DF91CF910895AA1BBB1B06
-:103B800051E107C0AA1FBB1FA617B70710F0A61B5D
-:103B9000B70B881F991F5A95A9F780959095BC017E
-:103BA000CD0108952F923F924F925F926F927F9234
-:103BB0008F929F92AF92BF92CF92DF92EF92FF923D
-:103BC0000F931F93CF93DF93CDB7DEB7CA1BDB0BE9
-:103BD0000FB6F894DEBF0FBECDBF09942A8839888E
-:103BE00048885F846E847D848C849B84AA84B98495
-:103BF000C884DF80EE80FD800C811B81AA81B981A1
-:103C0000CE0FD11D0FB6F894DEBF0FBECDBFED01B4
-:103C10000895EE0FFF1F0590F491E02D099450E4F4
-:103C200049EC3FE02BED01D013C05F77552319F429
-:103C300044230AF02BC02F933F934F935F93A3D05D
-:103C40005527442759D05F914F913F912F9105CB34
-:103C50001F939F7750EC49E43FE02BEDD1DA10E859
-:103C60009F775FE349EC3FE02BED62177307840712
-:103C7000950720F050EC49E4C3DA112780D0906812
-:103C8000ECE8F0E006D091271F9108959FEF80ECBB
-:103C90000895FF92EF92DF92CF92BF926B017C0169
-:103CA000B59016D0B590BB2069F09F938F937F930A
-:103CB0006F93B601C7010CD02F913F914F915F9147
-:103CC0000E94C31EBF90CF90DF90EF90FF900895A9
-:103CD000A0D002C09601A701EF93FF930E942D1977
-:103CE000FF91EF9196D0EF93FF930E940019FF91FF
-:103CF000EF91BA9479F70895C8D0CF93DF93D52F79
-:103D0000C42F55274427332722279923D9F09F37DB
-:103D1000C8F0F92F88D0592F482F372F262FF63982
-:103D200068F422DCB8DBC030CD0721F069937993C9
-:103D3000899399939058DF91CF9162CA99278827E8
-:103D400077276627C030CD0721F02993399349930F
-:103D50005993DF91CF9167C09F939F77993358F024
-:103D600050E449EC3FE02BED60DF5FEB49EC3FE0D6
-:103D70002BED46DA6DDF5F915078952708959B0112
-:103D8000AC010C942D1967D001D04DC0552359F0CA
-:103D9000992369F09F575F57951B33F442F490388D
-:103DA00011F4915805C072CF91589F3F09F47FC01C
-:103DB000BB27112462177307840730F4660F771F3F
-:103DC000881FBB1F915098F311D00F920FD00F9204
-:103DD0000DD0A0E82617370748071B0609F0A048B2
-:103DE000BA2F602D7F918F9100240895A0E80024C0
-:103DF000621773078407B10528F0621B730B840BED
-:103E0000B1090A2A660F771F881FBB1FA69581F785
-:103E10000895559145913591259108959A95BB0F37
-:103E2000661F771F881F11249923A1F08823B2F7FA
-:103E30009F3F59F0BB0F48F421F4002011F460FFBC
-:103E400004C06F5F7F4F8F4F9F4F881F9795879557
-:103E500097F9089529C0052E092607FA440F551F22
-:103E60005F3F79F0AA27A51708F051E04795880F22
-:103E7000991F9F3F31F0BB27B91708F091E0879554
-:103E800008959F919F91112401CF97FB880F991F4F
-:103E90009F3F31F0BB27B91708F091E0879508954F
-:103EA0009F919F911124F2CE662777278827992723
-:103EB000089510E0C4EBD0E004C0FE010E940B1E88
-:083EC0002296C63BD107C9F7A9
-:103EC800FF0000000000000000002000BA01000010
+:102CF000440F000085B3832B85BB83B3992702C0A3
+:102D000095958795AA95E2F78170482B842F99278E
+:102D10000895FC0144B3A081B18121E030E0C901F4
+:102D20000A2E02C0880F991F0A94E2F7782F482BC9
+:102D300044BB47E050E04A1B5B0B028002C0220FFD
+:102D4000331F0A94E2F7322F622F609585B38623F2
+:102D500085BB25B383B38095282383E090E0042EC0
+:102D600002C0959587950A94E2F78723282B25BB07
+:102D7000000085B3832B85BB85B3862385BB25B334
+:102D800083B38095282386E090E0042E02C09595B9
+:102D900087950A94E2F78723282B25BB000085B38B
+:102DA000832B85BB85B3862385BB25B383B38095F1
+:102DB00028238CE090E0042E02C0959587950A9414
+:102DC000E2F78723282B25BB000085B3832B85BB27
+:102DD00085B3862385BB25B383B38095282388E1FB
+:102DE00090E0042E02C0959587950A94E2F7872318
+:102DF000282B25BB000085B3832B85BB85B3862399
+:102E000085BB25B383B38095282380E390E0042E0F
+:102E100002C0959587950A94E2F78723282B25BB56
+:102E2000000085B3832B85BB85B3862385BB25B383
+:102E300083B38095282380E690E0042E02C0959508
+:102E400087950A94E2F78723282B25BB000085B3DA
+:102E5000832B85BB85B3862385BB25B383B3809540
+:102E6000282380EC90E0042E02C0959587950A9463
+:102E7000E2F78723282B25BB000085B3832B85BB76
+:102E800085B3862385BB25B383B38095282380E84B
+:102E900090E002C0959587954A95E2F78723282B05
+:102EA00025BB000085B3832B85BB80E090E000004C
+:102EB000019621E08C329207D1F784B37095872375
+:102EC00084BB85B3862385BB000085B3832B85BB7C
+:102ED00043B385B3862385BB55270A2E02C055957B
+:102EE00047950A94E2F741705070440F000085B393
+:102EF000832B85BB83B325B3262325BB99270A2EB5
+:102F000002C0959587950A94E2F78170482B440F8B
+:102F1000000085B3832B85BB83B325B3262325BB54
+:102F200099270A2E02C0959587950A94E2F7817039
+:102F3000482B440F000085B3832B85BB83B325B397
+:102F4000262325BB99270A2E02C0959587950A94BA
+:102F5000E2F78170482B440F000085B3832B85BBBB
+:102F600083B325B3262325BB99270A2E02C0959546
+:102F700087950A94E2F78170482B440F000085B3CF
+:102F8000832B85BB83B325B3262325BB99270A2E24
+:102F900002C0959587950A94E2F78170482B440FFB
+:102FA000000085B3832B85BB83B325B3262325BBC4
+:102FB00099270A2E02C0959587950A94E2F78170A9
+:102FC000482B440F000085B3832B85BB83B399271F
+:102FD00002C095958795AA95E2F78170482B842FBA
+:102FE00099270895FC01672B09F03FC284E090E027
+:102FF0009183808386E090E09383828320E030E0B9
+:1030000080E090E00000019645E08D379407D1F70D
+:103010002F5F3F4F2436310599F784B321E030E02C
+:10302000028002C0220F331F0A94E2F7322F822B54
+:1030300084BB85B3622F6095862385BB40E050E05A
+:1030400080E090E00000019625E08D379207D1F7EF
+:103050004F5F5F4F4A30510599F724B3408151814A
+:1030600081E090E0042E02C0880F991F0A94E2F7D5
+:10307000782F282B24BBE7E0F0E0E41BF50B85B3A9
+:10308000862385BB25B383B38095282380E890E011
+:103090000E2E02C0959587950A94E2F7472F482394
+:1030A000242B25BB000085B3832B85BB85B38623EA
+:1030B00085BB95B383B38095982395BB000085B3FA
+:1030C000832B85BB85B3862385BB95B383B380955E
+:1030D000982395BB000085B3832B85BB85B38623DE
+:1030E00085BB95B383B38095982395BB000085B3CA
+:1030F000832B85BB85B3862385BB95B383B380952E
+:10310000982395BB000085B3832B85BB85B38623AD
+:1031100085BB95B383B38095982395BB000085B399
+:10312000832B85BB85B3862385BB95B383B38095FD
+:10313000982395BB000085B3832B85BB85B386237D
+:1031400085BB95B383B38095982395BB000085B369
+:10315000832B85BB84B3872B84BB85B3862385BB38
+:1031600095B383B380959823942B95BB000085B3CA
+:10317000832B85BB85B3862385BB95B383B38095AD
+:10318000982395BB000085B3832B85BB85B386232D
+:1031900085BB95B383B38095982395BB000085B319
+:1031A000832B85BB85B3862385BB95B383B380957D
+:1031B000982395BB000085B3832B85BB85B38623FD
+:1031C00085BB95B383B38095982395BB000085B3E9
+:1031D000832B85BB85B3862385BB95B383B380954D
+:1031E000982395BB000085B3832B85BB85B38623CD
+:1031F00085BB95B383B38095982395BB000085B3B9
+:10320000832B85BB85B3862385BB95B383B380951C
+:10321000982395BB000085B3832B85BB80E090E0AD
+:103220000000019621E08C329207D1F784B3872BFE
+:1032300084BB85B3862385BB25B383B380952823C0
+:1032400080E890E00E2E02C0959587950A94E2F7EB
+:103250008723282B25BB000085B3832B85BB85B333
+:10326000862385BB95B383B38095982395BB0000D7
+:1032700085B3832B85BB85B3862385BB95B383B389
+:103280008095982395BB000085B3832B85BB85B3C0
+:10329000862385BB95B383B38095982395BB0000A7
+:1032A00085B3832B85BB85B3862385BB95B383B359
+:1032B0008095982395BB000085B3832B85BB85B390
+:1032C000862385BB95B383B38095982395BB000077
+:1032D00085B3832B85BB85B3862385BB95B383B329
+:1032E0008095982395BB000085B3832B85BB85B360
+:1032F000862385BB95B383B38095982395BB000047
+:1033000085B3832B85BB84B3872B84BB85B386238E
+:1033100085BB25B383B38095282381E090E00E2EF2
+:1033200002C0959587950A94E2F78723282B25BB41
+:10333000000085B3832B85BB85B3862385BB25B36E
+:1033400083B38095282382E090E00E2E02C09595ED
+:1033500087950A94E2F78723282B25BB000085B3C5
+:10336000832B85BB85B3862385BB25B383B380952B
+:10337000282384E090E00E2E02C0959587950A944C
+:10338000E2F78723282B25BB000085B3832B85BB61
+:1033900085B3862385BB25B383B38095282388E036
+:1033A00090E00E2E02C0959587950A94E2F7872348
+:1033B000282B25BB000085B3832B85BB85B38623D3
+:1033C00085BB25B383B38095282380E190E00E2E42
+:1033D00002C0959587950A94E2F78723282B25BB91
+:1033E000000085B3832B85BB85B3862385BB25B3BE
+:1033F00083B38095282380E290E00E2E02C095953D
+:1034000087950A94E2F78723282B25BB000085B314
+:10341000832B85BB85B3862385BB25B383B380957A
+:10342000282380E490E002C095958795EA95E2F71D
+:103430007823272B25BB000085B3832B85BB85B361
+:10344000682365BB95B383B380959823942B95BB74
+:10345000000085B3382B35BB80E090E0000001967A
+:1034600041E08C329407D1F7089585E090E0918394
+:10347000808387E090E093838283C0CDFC016085E8
+:103480007185828593850E94191FDC01CB01089507
+:10349000FC0164857585868597850E94191FDC016E
+:1034A000CB010895FC018089918908952F923F9264
+:1034B0004F925F926F927F928F929F92AF92BF9244
+:1034C000CF92DF92EF92FF920F931F93CF93DF93F0
+:1034D000CDB7DEB725970FB6F894DEBF0FBECDBFD0
+:1034E0001C010E948916E82EC1010E942A15482E4F
+:1034F00084E0882E912C820C931CC4010E948916B2
+:10350000A82EC4010E942A158983F101608971895E
+:10351000635D7F4F882777FD8095982F0E94B01EAE
+:103520006A837B838C839D83FF240027F7FC0095AF
+:10353000102FC801B7010E94B01E7B018C016A8167
+:103540007B818C819D810E9411239B01AC01C8016C
+:10355000B7010E94921D3B014C01BB24CC24B7FC57
+:10356000C094DC2CC601B5010E94B01E7B018C0109
+:103570006A817B818C819D810E9474229B01AC01B8
+:10358000C801B7010E94921D9B01AC01C401B301A7
+:103590000E94651D20E030E040E05FE30E94921D44
+:1035A0009B01AC01F10160857185828593850E9444
+:1035B000651DF10160877187828793875524662492
+:1035C00057FC6094762CC301B2010E94B01E7B01AF
+:1035D0008C016A817B818C819D810E9411239B01DA
+:1035E000AC01C801B7010E94921D5B016C01F98119
+:1035F0006F2F7727882777FD8095982F0E94B01E20
+:103600007B018C016A817B818C819D810E94742267
+:103610009B01AC01C801B7010E94921D9B01AC0146
+:10362000C601B5010E94651D20E030E040E05FE387
+:103630000E94921D9B01AC01F10164857585868510
+:1036400097850E94651DF101648775878687978736
+:1036500025960FB6F894DEBF0FBECDBFDF91CF9198
+:103660001F910F91FF90EF90DF90CF90BF90AF90A0
+:103670009F908F907F906F905F904F903F902F9092
+:1036800008950F931F938C0104960E945408C8015B
+:103690000E9454081F910F9108950F931F938C015E
+:1036A00004960E945408C8010E9454081F910F916B
+:1036B0000895EF92FF920F931F938C010E9452087E
+:1036C00094E0E92EF12CE00EF11EC7010E94520891
+:1036D00060E070E0C8010E94F21761E070E0C7018D
+:1036E0000E94F21780E090E0A0E0B0E0F80180874F
+:1036F0009187A287B38784879587A687B787118A22
+:10370000108A1F910F91FF90EF900895EF92FF9212
+:103710000F931F938C010E94520824E0E22EF12C9B
+:10372000E00EF11EC7010E94520860E070E0C8017F
+:103730000E94F21761E070E0C7010E94F21780E07A
+:1037400090E0A0E0B0E0F80180879187A287B3877E
+:1037500084879587A687B787118A108A1F910F9152
+:10376000FF90EF900895FC018FEF9FEF918380838E
+:103770009383828395838483978386830895FC0152
+:103780008FEF9FEF918380839383828395838483DC
+:1037900097838683089508950895FB016430710529
+:1037A00038F4EE0FFF1FE80FF91F80819181089513
+:1037B0008FEF9FEF0895EF92FF920F931F937C017D
+:1037C00000E111E060E070E0C8010E942E01F70105
+:1037D0009183808361E070E0C8010E942E01F701AF
+:1037E0009383828362E070E0C8010E942E01F7019A
+:1037F0009583848363E070E0C8010E942E01F70185
+:10380000978386831F910F91FF90EF900895A0E01A
+:10381000B0E0EDE0FCE10C943B22FC016A019081F8
+:10382000923008F41BC1DB018C91823080F094301F
+:1038300061F4843009F012C19181EB0189819817FC
+:1038400009F40CC1E2E0F1E009C1843011F4FB019C
+:1038500005C1823091F4923009F000C1EA01DF0124
+:1038600088E00D9009928150E1F78181FB019181FF
+:103870008923E6018983F601F1C0923041F3628029
+:103880007380EB018A809B80E480F580068117813C
+:103890002C813D814E815F815301A818B908C50173
+:1038A000B7FCABC080970CF457C0861497040CF497
+:1038B000BEC03401EE24FF2487019181FB01818188
+:1038C000981709F4A6C0992309F49CC02E193F0942
+:1038D000400B510B57FDB0C0E60119827B826A8212
+:1038E000F6012483358346835783E6012C813D818D
+:1038F0004E815F8179018A01DA01C9010197A1092D
+:10390000B1098F5F9F4FAF4FBF43F8F4E6016A8163
+:103910007B81A8019701220F331F441F551F61505F
+:10392000704079018A01DA01C9010197A109B10941
+:103930008F5F9F4FAF4FBF4360F3E6017B836A8386
+:10394000F601248335834683578383E0D6018C9325
+:1039500057FD39C0F60182C086149704B4F4C0E064
+:10396000D0E0DA01C90181709070A070B0705695F6
+:10397000479537952795282B392B4A2B5B2B21967A
+:10398000AC16BD0671F78A0C9B1C681479040CF008
+:1039900094CFC0E0D0E05401A618B708D801C70101
+:1039A00081709070A070B07016950795F794E794A9
+:1039B000E82AF92A0A2B1B2B2196AC16BD0671F7B3
+:1039C0006A0C7B1C7ACFDA01C901B695A795979549
+:1039D00087952170307040705070282B392B4A2BFE
+:1039E0005B2BE6012C833D834E835F838A819B8121
+:1039F00001969B838A83F60131C0882799278A190B
+:103A00009B0950CFE21AF30A040B150BA80197018A
+:103A100061CFE60199837B826A822E0D3F1D401F94
+:103A2000511FF60124833583468357838ECF20E0D0
+:103A300030E040E050E041CF81E0E60189837B82C5
+:103A40006A8250954095309521953F4F4F4F5F4F7B
+:103A5000F601248335834683578347CFCF01EEE0B9
+:103A6000CDB7DEB70C945722A0E2B0E0EAE3FDE167
+:103A70000C94432269837A838B839C832D833E83BA
+:103A80004F83588789E1E82EF12CEC0EFD1EB7011B
+:103A9000CE0101960E948B208E010F5E1F4FB80150
+:103AA000CE0105960E948B208A8991E089278A8B16
+:103AB000AE01475F5F4FB801C7010E94071C0E941B
+:103AC000691FE6E0A0960C945F22A0E2B0E0EBE66E
+:103AD000FDE10C94432269837A838B839C832D833D
+:103AE0003E834F83588799E1E92EF12CEC0EFD1EA1
+:103AF000B701CE0101960E948B208E010F5E1F4FF1
+:103B0000B801CE0105960E948B20AE01475F5F4F42
+:103B1000B801C7010E94071C0E94691FE6E0A09639
+:103B20000C945F22A0E2B0E0E8E9FDE10C943722BA
+:103B300069837A838B839C832D833E834F8358874D
+:103B40008E01075E1F4FB801CE0101960E948B20A7
+:103B5000F1E1EF2EF12CEC0EFD1EB701CE01059622
+:103B60000E948B20898D823078F09989923040F4C0
+:103B700020E09A8D8A89981321E02A8BB701E9C049
+:103B8000843051F4923061F020E09A8D8A89981344
+:103B900021E02A8FB801DDC0943029F4823041F74A
+:103BA00062E071E0D6C0823079F3923009F32D8D56
+:103BB0003E8D4F8D58A18D899E89AF89B88D222465
+:103BC00033242101AA24BB246501EE24FF248701AC
+:103BD00060E070E00DC06F5F7F4F6032710599F15A
+:103BE000880F991FAA1FBB1F569547953795279594
+:103BF00020FF19C0280E391E4A1E5B1E662477243A
+:103C00004301281639064A065B0628F4E1E06E2EC9
+:103C1000712C812C912CAE0CBF1CC01ED11EA60C89
+:103C2000B71CC81CD91CEE0CFF1C001F111FB7FFCE
+:103C3000D2CFE1E06E2E712C812C912CE628F72852
+:103C400008291929C8CF8B8D9C8D2B893C89820F1F
+:103C5000931F02969C878B871A869A8D8A8998175C
+:103C600011F081E08A87D7FE17C08B859C85A0FE66
+:103C70000CC0569447943794279420E030E040E0FD
+:103C800050E8222A332A442A552AD694C794B79456
+:103C9000A79401969C878B8730E0A31630E0B3068B
+:103CA00030E0C30630E4D30618F58B859C850EC042
+:103CB000220C331C441C551C019720E0A21620E066
+:103CC000B20620E0C20620E4D20680F4AA0CBB1C97
+:103CD000CC1CDD1C57FEECCF31E0632E712C812C07
+:103CE000912CA628B728C828D928E2CF9C878B8793
+:103CF000D601C5018F779070A070B07080349105A7
+:103D0000A105B10551F0AD86BE86CF86D88A83E085
+:103D10008987BE01675F7F4F1CC0A7FCF4CF2114C9
+:103D200031044104510479F380E490E0A0E0B0E074
+:103D3000A80EB91ECA1EDB1E80E8682E8FEF782EF3
+:103D40008FEF882E8FEF982EA620B720C820D9207D
+:103D5000DACFCB010E94691FE2E1A0960C945322B6
+:103D6000A8E0B0E0E6EBFEE10C9446229B01AC013A
+:103D700083E089831A8257FD51C021153105410521
+:103D8000510539F482E08983CE0101960E94691FB2
+:103D90004CC0EEE1F0E0FC83EB838A818823C9F11B
+:103DA000203010E0310710E0410710E85107C9F159
+:103DB00088279927DC01821B930BA40BB50B8D83FD
+:103DC0009E83AF83B8872D813E814F8158852030F7
+:103DD00080E0380780E0480780E45807A8F6EB81C8
+:103DE000FC81DA01C901880F991FAA1FBB1F3197F7
+:103DF0009C01AD01803010E0910710E0A10710E4B4
+:103E0000B10778F3FC83EB838D839E83AF83B88700
+:103E1000BBCF2D833E834F835887D5CF81E08A83E4
+:103E2000ACCF60E070E080E09FECE3E028960C947B
+:103E30006222ACE0B0E0EFE1FFE10C94472269833D
+:103E40007A838B839C83BE016B5F7F4FCE0101968B
+:103E50000E948B208D81823061F0823050F084305E
+:103E600069F48E81882359F52FEF3FEF4FEF5FE71D
+:103E70002AC020E030E040E050E025C02F813885A6
+:103E800037FDF7CF2F31310564F78EE190E0821BCB
+:103E9000930B29853A854B855C8504C056954795DB
+:103EA000379527958A95D2F78E81882361F05095B2
+:103EB0004095309521953F4F4F4F5F4F04C020E014
+:103EC00030E040E050E8CA01B901E2E02C960C94E1
+:103ED00063224F925F926F927F928F929F92AF92E6
+:103EE000BF92DF92EF92FF920F931F9320E030E09A
+:103EF00040E050E0FC01E480F58006811781D1802C
+:103F00008081823038F4D801C701A061AF77B070EA
+:103F10006FEFD9C0843009F46EC0823009F471C0EB
+:103F2000E114F1040105110509F46BC0828193814C
+:103F30006FEF823896070CF06AC062E87FEF681B6B
+:103F4000790B6A3171050CF080C047015801062ECB
+:103F500004C0B694A794979487940A94D2F7442403
+:103F60005524320181E090E0A0E0B0E004C0880F69
+:103F7000991FAA1FBB1F6A95D2F70197A109B10922
+:103F8000E822F9220A231B23E114F104010511059B
+:103F900029F061E0462E512C612C712C85017401B1
+:103FA000E428F52806291729D801C7018F779070D2
+:103FB000A070B07080349105A105B10509F457C017
+:103FC000D801C701CF96A11DB11D60E070E080301F
+:103FD000E0E09E07E0E0AE07E0E4BE0710F061E03D
+:103FE00070E027E0B695A795979587952A95D1F724
+:103FF000AF77B07068C080E090E0A0E0B0E06FEF15
+:1040000062C080E090E0A0E0B0E060E05CC080389A
+:1040100091058CF7BC0161587F4FD801C7018F779C
+:104020009070A070B07080349105A105B105A1F029
+:104030008FE390E0A0E0B0E0E80EF91E0A1F1B1F1E
+:1040400017FD28C0D801C701CCCF60E070E080E048
+:1040500090E0A0E0B0E0CCCFE7FEF2CF80E490E0CB
+:10406000A0E0B0E0E80EF91E0A1F1B1FE9CFE7FC35
+:1040700018C080E090E060E0E61660E0F60660E0E0
+:10408000060760E4160710F081E090E0BC01D8015B
+:10409000C701A7CF16950795F794E7946F5F7F4FF9
+:1040A000D1CFD801C701805C9F4FAF4FBF4F60E0B9
+:1040B00070E08030E0E09E07E0E0AE07E0E4BE079D
+:1040C00008F48FCF8CCF282F392F9A2F9F77842FEA
+:1040D0008078892B962F9795992797958F77482FDA
+:1040E000492B6695852F8078862BD794DD24D7942D
+:1040F0008F77582F5D29CA01B9011F910F91FF9049
+:10410000EF90DF90BF90AF909F908F907F906F90D7
+:104110005F904F900895FC01DB01208131819281F5
+:10412000492F4F7750E0991F9927991F8381682F56
+:10413000660F692B881F8827881FFD0181836623EE
+:1041400009F049C0211531054105510509F470C038
+:1041500082E89FEFFD0193838283220F331F441F68
+:10416000551F220F331F441F551F220F331F441F9B
+:10417000551F220F331F441F551F220F331F441F8B
+:10418000551F220F331F441F551F220F331F441F7B
+:10419000551F83E08C932030F0E03F07F0E04F079D
+:1041A000F0E45F0790F482E89FEF220F331F441F73
+:1041B000551F0197203060E0360760E0460760E455
+:1041C000560798F3FD0193838283FD012483358391
+:1041D0004683578308956F3F71F1862F99278F5734
+:1041E0009040FD019383828383E08C93220F331FE1
+:1041F000441F551F220F331F441F551F220F331F0B
+:10420000441F551F220F331F441F551F220F331FFA
+:10421000441F551F220F331F441F551F220F331FEA
+:10422000441F551F50642483358346835783089564
+:1042300082E08C930895211531054105510519F44B
+:1042400084E08C93089544FD02C01C92BECF81E0AF
+:104250008C93BBCFCF93DF93AC01029710F442E075
+:1042600050E0A091D401B091D501FD01C0E0D0E0B3
+:1042700020E030E020C0808191818417950769F4A7
+:1042800082819381209719F09B838A8304C0909345
+:10429000D5018093D401CF0132C04817590738F4B3
+:1042A0002115310519F08217930708F49C01EF01DD
+:1042B0000280F381E02D3097F1F62115310589F167
+:1042C000C901841B950B049708F4A901E0E0F0E014
+:1042D00026C08D919C91119782179307E9F4481796
+:1042E000590779F4ED018A819B81309719F0938306
+:1042F000828304C09093D5018093D401CD010296AE
+:1043000049C0841B950BFD01E80FF91F41935193A0
+:1043100002978D939C933AC0FD01A281B3811097BF
+:10432000C1F68091D2019091D301892B41F4809103
+:104330000C0190910D019093D3018093D2012091B3
+:104340000E0130910F012115310541F42DB73EB713
+:1043500080910A0190910B01281B390BE091D20149
+:10436000F091D3012E1B3F0B2417350788F0CA01AB
+:1043700002962817390760F0CF01840F951F029627
+:104380009093D3018093D20141935193CF0102C006
+:1043900080E090E0DF91CF910895CF93DF93009775
+:1043A00009F44EC0EC0122971B821A82A091D4011D
+:1043B000B091D501109711F140E050E001C0DC014F
+:1043C000AC17BD0700F1BB83AA83FE012191319197
+:1043D000E20FF31FEA17FB0771F42E5F3F4F8D9139
+:1043E0009C911197820F931F99838883FD0182818D
+:1043F00093819B838A834115510559F4D093D5014C
+:10440000C093D4011DC0FD0182819381AD0100974D
+:10441000B1F6FA01D383C28321913191E20FF31FE8
+:10442000EC17FD0769F42E5F3F4F88819981820F59
+:10443000931FFA01918380838A819B819383828376
+:10444000DF91CF910895AA1BBB1B51E107C0AA1FA2
+:10445000BB1FA617B70710F0A61BB70B881F991F25
+:104460005A95A9F780959095BC01CD0108952F929A
+:104470003F924F925F926F927F928F929F92AF92F4
+:10448000BF92CF92DF92EF92FF920F931F93CF9341
+:10449000DF93CDB7DEB7CA1BDB0B0FB6F894DEBFD8
+:1044A0000FBECDBF09942A88398848885F846E84FE
+:1044B0007D848C849B84AA84B984C884DF80EE8048
+:1044C000FD800C811B81AA81B981CE0FD11D0FB651
+:1044D000F894DEBF0FBECDBFED010895EE0FFF1FB4
+:1044E0000590F491E02D099450E449EC3FE02BED68
+:1044F00001D013C05F77552319F444230AF02BC071
+:104500002F933F934F935F93A3D05527442759D0C0
+:104510005F914F913F912F9105CB1F939F7750EC67
+:1045200049E43FE02BEDD1DA10E89F775FE349ECF7
+:104530003FE02BED621773078407950720F050ECDE
+:1045400049E4C3DA112780D09068ECE8F0E006D0A7
+:1045500091271F9108959FEF80EC0895FF92EF92AD
+:10456000DF92CF92BF926B017C01B59016D0B590CF
+:10457000BB2069F09F938F937F936F93B601C70120
+:104580000CD02F913F914F915F910E942823BF90B3
+:10459000CF90DF90EF90FF900895A0D002C09601D9
+:1045A000A701EF93FF930E94921DFF91EF9196D088
+:1045B000EF93FF930E94651DFF91EF91BA9479F7F5
+:1045C0000895C8D0CF93DF93D52FC42F5527442704
+:1045D000332722279923D9F09F37C8F0F92F88D0A5
+:1045E000592F482F372F262FF63968F422DCB8DBF5
+:1045F000C030CD0721F069937993899399939058AE
+:10460000DF91CF9162CA9927882777276627C03024
+:10461000CD0721F02993399349935993DF91CF9195
+:1046200067C09F939F77993358F050E449EC3FE07F
+:104630002BED60DF5FEB49EC3FE02BED46DA6DDF01
+:104640005F915078952708959B01AC010C94921DC1
+:1046500067D001D04DC0552359F0992369F09F5779
+:104660005F57951B33F442F4903811F4915805C00C
+:1046700072CF91589F3F09F47FC0BB271124621766
+:104680007307840730F4660F771F881FBB1F915094
+:1046900098F311D00F920FD00F920DD0A0E82617EB
+:1046A000370748071B0609F0A048BA2F602D7F91F5
+:1046B0008F9100240895A0E80024621773078407EF
+:1046C000B10528F0621B730B840BB1090A2A660F2F
+:1046D000771F881FBB1FA69581F7089555914591B7
+:1046E0003591259108959A95BB0F661F771F881FF6
+:1046F00011249923A1F08823B2F79F3F59F0BB0FF3
+:1047000048F421F4002011F460FF04C06F5F7F4F74
+:104710008F4F9F4F881F9795879597F9089529C0C8
+:10472000052E092607FA440F551F5F3F79F0AA2787
+:10473000A51708F051E04795880F991F9F3F31F06A
+:10474000BB27B91708F091E0879508959F919F9135
+:10475000112401CF97FB880F991F9F3F31F0BB2792
+:10476000B91708F091E0879508959F919F911124C2
+:10477000F2CE6627772788279927089510E0C4EBA3
+:10478000D0E004C0FE010E9470222296C63BD107F1
+:02479000C9F767
+:10479200FF0000000000000000002000D601000021
:00000001FF
diff --git a/source/AVR_Studio/Soccer/default/dep/Soccer.o.d b/source/AVR_Studio/Soccer/default/dep/Soccer.o.d index 8bf7346..4c16d08 100755 --- a/source/AVR_Studio/Soccer/default/dep/Soccer.o.d +++ b/source/AVR_Studio/Soccer/default/dep/Soccer.o.d @@ -8,14 +8,14 @@ Soccer.o: ../Soccer.c ../global.h c:/winavr/bin/../avr/include/stdlib.h \ c:/winavr/bin/../avr/include/avr/portpins.h \
c:/winavr/bin/../avr/include/avr/version.h \
c:/winavr/bin/../avr/include/avr/interrupt.h ../hal/uart.h \
- ../hal/keylcd.h ../hal/i2c.h ../hal/../global.h \
+ ../hal/../global.h ../hal/keylcd.h ../hal/i2c.h \
c:/winavr/bin/../avr/include/compat/twi.h \
c:/winavr/bin/../avr/include/util/twi.h \
c:/winavr/bin/../avr/include/string.h ../navigation.h \
c:/winavr/bin/../avr/include/math.h ../sensor/sensor.h \
- ../sensor/../hal/board.h ../sensor/ballsensor.h \
+ ../sensor/../hal/board.h ../sensor/ballsensor.h ../sensor/position.h \
../sensor/../hal/maussensor.h ../sensor/../hal/../global.h \
- ../sensor/../global.h
+ ../sensor/abstand.h ../sensor/../global.h
../global.h:
@@ -43,12 +43,12 @@ c:/winavr/bin/../avr/include/avr/interrupt.h: ../hal/uart.h:
+../hal/../global.h:
+
../hal/keylcd.h:
../hal/i2c.h:
-../hal/../global.h:
-
c:/winavr/bin/../avr/include/compat/twi.h:
c:/winavr/bin/../avr/include/util/twi.h:
@@ -65,8 +65,12 @@ c:/winavr/bin/../avr/include/math.h: ../sensor/ballsensor.h:
+../sensor/position.h:
+
../sensor/../hal/maussensor.h:
../sensor/../hal/../global.h:
+../sensor/abstand.h:
+
../sensor/../global.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/ballsensor.o.d b/source/AVR_Studio/Soccer/default/dep/ballsensor.o.d index 5f42752..68fe1c7 100755 --- a/source/AVR_Studio/Soccer/default/dep/ballsensor.o.d +++ b/source/AVR_Studio/Soccer/default/dep/ballsensor.o.d @@ -9,7 +9,8 @@ ballsensor.o: ../sensor/ballsensor.c ../sensor/ballsensor.h \ c:/winavr/bin/../avr/include/avr/interrupt.h \
c:/winavr/bin/../avr/include/stdlib.h \
c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h \
- ../sensor/../hal/uart.h
+ ../sensor/../hal/uart.h ../sensor/../hal/../global.h \
+ ../sensor/../hal/../hal/board.h
../sensor/ballsensor.h:
@@ -36,3 +37,7 @@ c:/winavr/bin/../avr/include/stdlib.h: c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h:
../sensor/../hal/uart.h:
+
+../sensor/../hal/../global.h:
+
+../sensor/../hal/../hal/board.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/board.o.d b/source/AVR_Studio/Soccer/default/dep/board.o.d index 25fb966..255bb8a 100755 --- a/source/AVR_Studio/Soccer/default/dep/board.o.d +++ b/source/AVR_Studio/Soccer/default/dep/board.o.d @@ -8,7 +8,8 @@ board.o: ../hal/board.c ../hal/board.h \ c:/winavr/bin/../avr/include/avr/version.h \
c:/winavr/bin/../avr/include/avr/interrupt.h \
c:/winavr/bin/../avr/include/stdlib.h \
- c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h ../hal/uart.h
+ c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h ../hal/uart.h \
+ ../hal/../global.h ../hal/../hal/board.h
../hal/board.h:
@@ -33,3 +34,7 @@ c:/winavr/bin/../avr/include/stdlib.h: c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h:
../hal/uart.h:
+
+../hal/../global.h:
+
+../hal/../hal/board.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/global.o.d b/source/AVR_Studio/Soccer/default/dep/global.o.d index cd99039..ddb9079 100755 --- a/source/AVR_Studio/Soccer/default/dep/global.o.d +++ b/source/AVR_Studio/Soccer/default/dep/global.o.d @@ -7,7 +7,8 @@ global.o: ../global.c ../global.h c:/winavr/bin/../avr/include/stdlib.h \ c:/winavr/bin/../avr/include/avr/iom128.h \
c:/winavr/bin/../avr/include/avr/portpins.h \
c:/winavr/bin/../avr/include/avr/version.h \
- c:/winavr/bin/../avr/include/avr/interrupt.h ../hal/uart.h
+ c:/winavr/bin/../avr/include/avr/interrupt.h ../hal/uart.h \
+ ../hal/../global.h
../global.h:
@@ -34,3 +35,5 @@ c:/winavr/bin/../avr/include/avr/version.h: c:/winavr/bin/../avr/include/avr/interrupt.h:
../hal/uart.h:
+
+../hal/../global.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/i2c.o.d b/source/AVR_Studio/Soccer/default/dep/i2c.o.d index 3facd0f..ba64a62 100755 --- a/source/AVR_Studio/Soccer/default/dep/i2c.o.d +++ b/source/AVR_Studio/Soccer/default/dep/i2c.o.d @@ -9,7 +9,7 @@ i2c.o: ../hal/i2c.c ../hal/i2c.h ../hal/../global.h \ c:/winavr/bin/../avr/include/avr/portpins.h \
c:/winavr/bin/../avr/include/avr/version.h \
c:/winavr/bin/../avr/include/avr/interrupt.h ../hal/../hal/uart.h \
- c:/winavr/bin/../avr/include/compat/twi.h \
+ ../hal/../hal/../global.h c:/winavr/bin/../avr/include/compat/twi.h \
c:/winavr/bin/../avr/include/util/twi.h
../hal/i2c.h:
@@ -40,6 +40,8 @@ c:/winavr/bin/../avr/include/avr/interrupt.h: ../hal/../hal/uart.h:
+../hal/../hal/../global.h:
+
c:/winavr/bin/../avr/include/compat/twi.h:
c:/winavr/bin/../avr/include/util/twi.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/keylcd.o.d b/source/AVR_Studio/Soccer/default/dep/keylcd.o.d index c779700..5a3eaeb 100755 --- a/source/AVR_Studio/Soccer/default/dep/keylcd.o.d +++ b/source/AVR_Studio/Soccer/default/dep/keylcd.o.d @@ -9,7 +9,7 @@ keylcd.o: ../hal/keylcd.c ../hal/keylcd.h ../hal/i2c.h ../hal/../global.h \ c:/winavr/bin/../avr/include/avr/portpins.h \
c:/winavr/bin/../avr/include/avr/version.h \
c:/winavr/bin/../avr/include/avr/interrupt.h ../hal/../hal/uart.h \
- c:/winavr/bin/../avr/include/compat/twi.h \
+ ../hal/../hal/../global.h c:/winavr/bin/../avr/include/compat/twi.h \
c:/winavr/bin/../avr/include/util/twi.h \
c:/winavr/bin/../avr/include/string.h
@@ -43,6 +43,8 @@ c:/winavr/bin/../avr/include/avr/interrupt.h: ../hal/../hal/uart.h:
+../hal/../hal/../global.h:
+
c:/winavr/bin/../avr/include/compat/twi.h:
c:/winavr/bin/../avr/include/util/twi.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/maussensor.o.d b/source/AVR_Studio/Soccer/default/dep/maussensor.o.d index b33351d..30ebd65 100755 --- a/source/AVR_Studio/Soccer/default/dep/maussensor.o.d +++ b/source/AVR_Studio/Soccer/default/dep/maussensor.o.d @@ -8,7 +8,8 @@ maussensor.o: ../hal/maussensor.c ../hal/maussensor.h ../hal/../global.h \ c:/winavr/bin/../avr/include/avr/iom128.h \
c:/winavr/bin/../avr/include/avr/portpins.h \
c:/winavr/bin/../avr/include/avr/version.h \
- c:/winavr/bin/../avr/include/avr/interrupt.h ../hal/../hal/uart.h
+ c:/winavr/bin/../avr/include/avr/interrupt.h ../hal/../hal/uart.h \
+ ../hal/../hal/../global.h
../hal/maussensor.h:
@@ -37,3 +38,5 @@ c:/winavr/bin/../avr/include/avr/version.h: c:/winavr/bin/../avr/include/avr/interrupt.h:
../hal/../hal/uart.h:
+
+../hal/../hal/../global.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/navigation.o.d b/source/AVR_Studio/Soccer/default/dep/navigation.o.d index 0fbda94..0fa3a52 100755 --- a/source/AVR_Studio/Soccer/default/dep/navigation.o.d +++ b/source/AVR_Studio/Soccer/default/dep/navigation.o.d @@ -10,9 +10,10 @@ navigation.o: ../navigation.c ../navigation.h \ c:/winavr/bin/../avr/include/avr/interrupt.h \
c:/winavr/bin/../avr/include/stdlib.h \
c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h ../hal/uart.h \
- ../sensor/sensor.h ../sensor/../hal/board.h ../sensor/ballsensor.h \
+ ../hal/../global.h ../hal/../hal/board.h ../sensor/sensor.h \
+ ../sensor/../hal/board.h ../sensor/ballsensor.h ../sensor/position.h \
../sensor/../hal/maussensor.h ../sensor/../hal/../global.h \
- ../sensor/../hal/../hal/board.h ../sensor/../global.h
+ ../sensor/abstand.h ../sensor/../global.h
../navigation.h:
@@ -42,16 +43,22 @@ c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h: ../hal/uart.h:
+../hal/../global.h:
+
+../hal/../hal/board.h:
+
../sensor/sensor.h:
../sensor/../hal/board.h:
../sensor/ballsensor.h:
+../sensor/position.h:
+
../sensor/../hal/maussensor.h:
../sensor/../hal/../global.h:
-../sensor/../hal/../hal/board.h:
+../sensor/abstand.h:
../sensor/../global.h:
diff --git a/source/AVR_Studio/Soccer/default/dep/sensor.o.d b/source/AVR_Studio/Soccer/default/dep/sensor.o.d index 209d5f9..ce4c5d0 100755 --- a/source/AVR_Studio/Soccer/default/dep/sensor.o.d +++ b/source/AVR_Studio/Soccer/default/dep/sensor.o.d @@ -9,9 +9,11 @@ sensor.o: ../sensor/sensor.c ../sensor/sensor.h ../sensor/../hal/board.h \ c:/winavr/bin/../avr/include/avr/interrupt.h \
c:/winavr/bin/../avr/include/stdlib.h \
c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h \
- ../sensor/../hal/uart.h ../sensor/ballsensor.h \
- ../sensor/../hal/maussensor.h ../sensor/../hal/../global.h \
- ../sensor/../hal/../hal/board.h ../sensor/../global.h
+ ../sensor/../hal/uart.h ../sensor/../hal/../global.h \
+ ../sensor/../hal/../hal/board.h ../sensor/ballsensor.h \
+ ../sensor/position.h ../sensor/../hal/maussensor.h \
+ c:/winavr/bin/../avr/include/math.h ../sensor/abstand.h \
+ ../sensor/../global.h
../sensor/sensor.h:
@@ -39,12 +41,18 @@ c:\winavr\bin\../lib/gcc/avr/4.1.1/include/stddef.h: ../sensor/../hal/uart.h:
+../sensor/../hal/../global.h:
+
+../sensor/../hal/../hal/board.h:
+
../sensor/ballsensor.h:
+../sensor/position.h:
+
../sensor/../hal/maussensor.h:
-../sensor/../hal/../global.h:
+c:/winavr/bin/../avr/include/math.h:
-../sensor/../hal/../hal/board.h:
+../sensor/abstand.h:
../sensor/../global.h:
diff --git a/source/AVR_Studio/Soccer/global.h b/source/AVR_Studio/Soccer/global.h index 4b9339a..79b86fa 100755 --- a/source/AVR_Studio/Soccer/global.h +++ b/source/AVR_Studio/Soccer/global.h @@ -22,6 +22,17 @@ inline void msleep(int msec) }
};
+inline void usleep(int usec)
+{
+ usec *= 100;
+ for (int s=0; s<usec; s++) {
+ for (long int i=0; i<1405; i++) {
+ asm volatile("nop");
+ }
+ }
+};
+
+
void *operator new(size_t sz);
void operator delete(void *p);
diff --git a/source/AVR_Studio/Soccer/hal/board.c b/source/AVR_Studio/Soccer/hal/board.c index 0731886..b01d79c 100755 --- a/source/AVR_Studio/Soccer/hal/board.c +++ b/source/AVR_Studio/Soccer/hal/board.c @@ -92,6 +92,29 @@ int Board::GetADC(uint8_t channel) { return result;
}
+// Gibt den Wert vom Abstandsensor zurück
+int Board::GetAbstand(int i) {
+ int result = -1;
+ if((i < 0) || (i > 3)) return result; // Ungültige Nummern rausfiltern
+
+ // Sende zunächst einen Impuls aus
+ ABSTAND_DDR |= (1 << i); // Konfiguriere Pin als Ausgang
+ ABSTAND_PORT |= (1 << i); // Und setze ihn auf High
+ usleep(10); // Warte jetzt 10us
+ ABSTAND_PORT &= ~(1 << i); // Und setze den Pin wieder auf Low
+ ABSTAND_DDR &= ~(1 << i); // Konfiguriere Pin als Eingang
+
+ // Jetzt warten wir auf die Antwort vom Sensor
+ while(!(ABSTAND_PIN & i)) {} // während er low ist nichts machen
+ while(ABSTAND_PIN & i) { // Und während er high ist
+ result++; //schleifendurchläufe zähenlen (unsauber, ich weiß)
+ asm volatile("nop"); // ein ganz bisschen warten
+ }
+
+ // Die Zahl der Schleifendurchläufe geben wir dann zurück
+ return result;
+}
+
void Board::beep(int freq) {
beepFreq = freq;
}
diff --git a/source/AVR_Studio/Soccer/hal/board.h b/source/AVR_Studio/Soccer/hal/board.h index 03df24f..445ffa4 100755 --- a/source/AVR_Studio/Soccer/hal/board.h +++ b/source/AVR_Studio/Soccer/hal/board.h @@ -5,6 +5,7 @@ #include <avr/interrupt.h>
#include <stdlib.h>
#include "uart.h"
+#include "../global.h"
//#define abs(a) ((a < 0)? -a : a)
@@ -31,6 +32,11 @@ #define DRIBBLER_A (1 << 2) #define DRIBBLER_B (1 << 3)
+// Definiere Konstanten für Abstandsensoren
+#define ABSTAND_PORT PORTC
+#define ABSTAND_DDR DDRC
+#define ABSTAND_PIN PINC
+
#define UART_BAUD_RATE 9600
class Board
@@ -40,7 +46,9 @@ public: Board();
~Board();
- int GetADC(uint8_t channel);
+ int GetADC(uint8_t channel);
+ int GetAbstand(int i);
+
void beep(int freq);
void ledOn();
void ledOff();
diff --git a/source/AVR_Studio/Soccer/hal/maussensor.c b/source/AVR_Studio/Soccer/hal/maussensor.c index 2768b8e..258e083 100755 --- a/source/AVR_Studio/Soccer/hal/maussensor.c +++ b/source/AVR_Studio/Soccer/hal/maussensor.c @@ -1,6 +1,15 @@ #include "maussensor.h"
-Maussensor::Maussensor(int index) { +Maussensor::Maussensor() {
+}
+
+
+Maussensor::~Maussensor() {
+}
+
+
+// Initialisiert den Maussensor
+void Maussensor::init(int index) { // Setze die Pins entsprechend dem übergebenen Index
if(index == MAUSSENSOR0) {
sda_pin = MAUS0_SDA;
@@ -15,9 +24,6 @@ Maussensor::Maussensor(int index) { maus_sens_init();
}
-Maussensor::~Maussensor() {
-}
-
// Gibt die X-Koordinate Zurück
uint8 Maussensor::GetX() {
return maus_sens_read(MOUSE_DELTA_X_REG);
diff --git a/source/AVR_Studio/Soccer/hal/maussensor.h b/source/AVR_Studio/Soccer/hal/maussensor.h index 2abb8bd..5701808 100755 --- a/source/AVR_Studio/Soccer/hal/maussensor.h +++ b/source/AVR_Studio/Soccer/hal/maussensor.h @@ -111,9 +111,11 @@ void maus_image_prepare(void); */
public:
- Maussensor(int index);
+ Maussensor();
~Maussensor();
+ void init(int index);
+
uint8 GetX();
uint8 GetY();
uint8 GetSqual();
diff --git a/source/AVR_Studio/Soccer/navigation.c b/source/AVR_Studio/Soccer/navigation.c index 6bf5d4d..f2c1d1c 100755 --- a/source/AVR_Studio/Soccer/navigation.c +++ b/source/AVR_Studio/Soccer/navigation.c @@ -2,10 +2,11 @@ // Initialisiert die Klasse
Navigation::Navigation() {
+ // Am Anfang stehen wir an der Stelle
richtung = 0;
ausrichtung = 0;
geschwindigkeit = 0;
- Aktualisieren();
+ Aktualisieren(); // und änderungen anwenden
}
Navigation::~Navigation() {
}
@@ -27,11 +28,11 @@ void Navigation::SetzeGeschwindigkeit(int nGeschwindigkeit) { // Aktualieren ohne Parameter
void Navigation::Aktualisieren() {
// Richtung in x und y-Kompontente zerlegen
- int y = (int)cos(richtung); // richtung ist winkel
- int x = (int)sin(richtung);
+ float y = cos(richtung); // richtung ist winkel
+ float x = sin(richtung);
// Abweichung der Ausrichtung ermitteln(als winkel)
- int w = sensor.getAusrichtung() - ausrichtung;
+ int w = sensor.GetAusrichtung() - ausrichtung;
// Stärke der einzelnen Motoren berechnen
float v0 = x;
diff --git a/source/AVR_Studio/Soccer/sensor/ballsensor.c b/source/AVR_Studio/Soccer/sensor/ballsensor.c index af9434b..8136581 100755 --- a/source/AVR_Studio/Soccer/sensor/ballsensor.c +++ b/source/AVR_Studio/Soccer/sensor/ballsensor.c @@ -10,12 +10,19 @@ Ballsensor::Ballsensor() { winkel[5] = 260;
winkel[6] = 300;
winkel[7] = 330;
+
+ // Der Winkel ist erstmal 0
+ ballwinkel = 0;
}
Ballsensor::~Ballsensor() {
}
-int Ballsensor::getBallwinkel() {
+int Ballsensor::GetBallwinkel() {
+ return ballwinkel;
+}
+
+void Ballsensor::Aktualisieren() {
// Erstelle ein Array für die Sensorwerte
int sensor[NUM_BALLSENSOR];
int result = 0; // und einer Variable fürs Ergebnis
@@ -30,6 +37,6 @@ int Ballsensor::getBallwinkel() { if(sensor[i] < current) result = i; // Ergebnis ist erstmal index
}
- // Gebe den Winkel zum index result zurück
- return winkel[result];
+ // Setze den Winkel zum index result
+ ballwinkel = winkel[result];
}
diff --git a/source/AVR_Studio/Soccer/sensor/ballsensor.h b/source/AVR_Studio/Soccer/sensor/ballsensor.h index 5fa7f08..5190a87 100755 --- a/source/AVR_Studio/Soccer/sensor/ballsensor.h +++ b/source/AVR_Studio/Soccer/sensor/ballsensor.h @@ -12,11 +12,13 @@ class Ballsensor {
private:
int winkel[NUM_BALLSENSOR];
+ int ballwinkel;
public:
Ballsensor();
~Ballsensor();
- int getBallwinkel(); // Gibt den aktuellen Winkel vom Ball zurück
+ int GetBallwinkel(); // Gibt den aktuellen Winkel vom Ball zurück
+ void Aktualisieren(); // Aktualisiert die Variable
};
#endif
diff --git a/source/AVR_Studio/Soccer/sensor/sensor.c b/source/AVR_Studio/Soccer/sensor/sensor.c index a1730db..78326ee 100755 --- a/source/AVR_Studio/Soccer/sensor/sensor.c +++ b/source/AVR_Studio/Soccer/sensor/sensor.c @@ -6,10 +6,14 @@ Sensor::Sensor() :ballsensor() { Sensor::~Sensor() {
}
+// Aktualisiert die ganzen Sachen ;)
void Sensor::Aktualisieren() {
-
+ position.Aktualisieren(); // Aktualisiere die Position
+ ballsensor.Aktualisieren(); // Aktualisiere den Ballwinkel
+ abstand.Aktualisieren(); // Aktualsiere die abstandsdaten
}
-int Sensor::getAusrichtung() {
- return 0;
+// Gebe die aktuelle Ausrichtung zurück
+int Sensor::GetAusrichtung() {
+ return position.GetAusrichtung();
}
diff --git a/source/AVR_Studio/Soccer/sensor/sensor.h b/source/AVR_Studio/Soccer/sensor/sensor.h index afbb3a0..f3f36ad 100755 --- a/source/AVR_Studio/Soccer/sensor/sensor.h +++ b/source/AVR_Studio/Soccer/sensor/sensor.h @@ -3,7 +3,8 @@ #include "../hal/board.h"
#include "ballsensor.h"
-#include "../hal/maussensor.h"
+#include "position.h"
+#include "abstand.h"
#include "../global.h"
extern Board board;
@@ -12,13 +13,15 @@ class Sensor {
private:
Ballsensor ballsensor;
+ Position position;
+ Abstand abstand;
public:
Sensor();
~Sensor();
void Aktualisieren();
- int getAusrichtung(); // Gibt die aktuelle Ausrichtung des Roboters zurück
+ int GetAusrichtung(); // Gibt die aktuelle Ausrichtung des Roboters zurück
};
#endif
|