|
From: Olivier B. <Ba...@us...> - 2010-03-08 23:14:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "krobot".
The branch, master has been updated
via bba0433fac2aeb548186bb883b0016fa3583f8c1 (commit)
from 6979c0aaac3d8e3225bde86295cbf178e973dafc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit bba0433fac2aeb548186bb883b0016fa3583f8c1
Author: Olivier BICHLER <oli...@gm...>
Date: Tue Mar 9 00:14:02 2010 +0100
Added safe-guards for the Motor Controller board and implemented host interrupt
-----------------------------------------------------------------------
Changes:
diff --git a/PC_Mainboard/common/PcInterface.h b/PC_Mainboard/common/PcInterface.h
index 04a05cb..cb0e224 100644
--- a/PC_Mainboard/common/PcInterface.h
+++ b/PC_Mainboard/common/PcInterface.h
@@ -93,6 +93,7 @@ typedef struct _UP {
#define ERR_CMP03_NOT_RESPONDING 8
#define ERR_ADJD_S371_NOT_RESPONDING 9
#define ERR_LM_COMMAND_ERROR 10
+#define ERR_LM_POSITION_ERROR 11
// CMD_SET arguments
#define SET_PORTS_CONFIG_INPUTS 0x00 ///< Dnir les entr du PIC
diff --git a/PC_Mainboard/python/dev/USB_Com_Layer/src/PcInterface.h b/PC_Mainboard/python/dev/USB_Com_Layer/src/PcInterface.h
index 04a05cb..cb0e224 100644
--- a/PC_Mainboard/python/dev/USB_Com_Layer/src/PcInterface.h
+++ b/PC_Mainboard/python/dev/USB_Com_Layer/src/PcInterface.h
@@ -93,6 +93,7 @@ typedef struct _UP {
#define ERR_CMP03_NOT_RESPONDING 8
#define ERR_ADJD_S371_NOT_RESPONDING 9
#define ERR_LM_COMMAND_ERROR 10
+#define ERR_LM_POSITION_ERROR 11
// CMD_SET arguments
#define SET_PORTS_CONFIG_INPUTS 0x00 ///< Dnir les entr du PIC
diff --git a/PC_Mainboard/python/dev/User_Interface/PcInterface.h b/PC_Mainboard/python/dev/User_Interface/PcInterface.h
index 04a05cb..cb0e224 100644
--- a/PC_Mainboard/python/dev/User_Interface/PcInterface.h
+++ b/PC_Mainboard/python/dev/User_Interface/PcInterface.h
@@ -93,6 +93,7 @@ typedef struct _UP {
#define ERR_CMP03_NOT_RESPONDING 8
#define ERR_ADJD_S371_NOT_RESPONDING 9
#define ERR_LM_COMMAND_ERROR 10
+#define ERR_LM_POSITION_ERROR 11
// CMD_SET arguments
#define SET_PORTS_CONFIG_INPUTS 0x00 ///< Dnir les entr du PIC
diff --git a/USB_Dev_Board/Firmware/PcInterface.h b/USB_Dev_Board/Firmware/PcInterface.h
index 04a05cb..cb0e224 100644
--- a/USB_Dev_Board/Firmware/PcInterface.h
+++ b/USB_Dev_Board/Firmware/PcInterface.h
@@ -93,6 +93,7 @@ typedef struct _UP {
#define ERR_CMP03_NOT_RESPONDING 8
#define ERR_ADJD_S371_NOT_RESPONDING 9
#define ERR_LM_COMMAND_ERROR 10
+#define ERR_LM_POSITION_ERROR 11
// CMD_SET arguments
#define SET_PORTS_CONFIG_INPUTS 0x00 ///< Dnir les entr du PIC
diff --git a/USB_Module/Battery_Monitoring/Firmware/PcInterface.h b/USB_Module/Battery_Monitoring/Firmware/PcInterface.h
index 04a05cb..cb0e224 100644
--- a/USB_Module/Battery_Monitoring/Firmware/PcInterface.h
+++ b/USB_Module/Battery_Monitoring/Firmware/PcInterface.h
@@ -93,6 +93,7 @@ typedef struct _UP {
#define ERR_CMP03_NOT_RESPONDING 8
#define ERR_ADJD_S371_NOT_RESPONDING 9
#define ERR_LM_COMMAND_ERROR 10
+#define ERR_LM_POSITION_ERROR 11
// CMD_SET arguments
#define SET_PORTS_CONFIG_INPUTS 0x00 ///< Dnir les entr du PIC
diff --git a/USB_Module/Motor_Controller/Firmware/PcInterface.h b/USB_Module/Motor_Controller/Firmware/PcInterface.h
index 04a05cb..cb0e224 100644
--- a/USB_Module/Motor_Controller/Firmware/PcInterface.h
+++ b/USB_Module/Motor_Controller/Firmware/PcInterface.h
@@ -93,6 +93,7 @@ typedef struct _UP {
#define ERR_CMP03_NOT_RESPONDING 8
#define ERR_ADJD_S371_NOT_RESPONDING 9
#define ERR_LM_COMMAND_ERROR 10
+#define ERR_LM_POSITION_ERROR 11
// CMD_SET arguments
#define SET_PORTS_CONFIG_INPUTS 0x00 ///< Dnir les entr du PIC
diff --git a/USB_Module/Motor_Controller/Firmware/lm629.c b/USB_Module/Motor_Controller/Firmware/lm629.c
index 491d96d..46f5267 100644
--- a/USB_Module/Motor_Controller/Firmware/lm629.c
+++ b/USB_Module/Motor_Controller/Firmware/lm629.c
@@ -11,6 +11,22 @@
volatile DWORD_VAL posRight = 0;
volatile DWORD_VAL posLeft = 0;
+void checkLM629Interrupt(void) {
+ // Ne jamais oublier de resetter l'interruption correspondante sous peine de flooder l'USB dans le cas de la mode LM_POLLING
+ // et de ne pas dcter les interruptions suivantes dans le cas de la mode LM_INTERRUPT !
+ // Toutes les interruptions non masqu doivent e traitici dans le cas de la mode LM_INTERRUPT.
+
+ if (readStatusBit(MOTOR_RIGHT, LM_COMMAND_ERROR) || readStatusBit(MOTOR_LEFT, LM_COMMAND_ERROR)) {
+ error(ERR_LM_COMMAND_ERROR);
+ resetInterrupt(MOTOR_BOTH, LM_COMMAND_ERROR);
+ }
+
+ if (readStatusBit(MOTOR_RIGHT, LM_POSITION_ERROR) || readStatusBit(MOTOR_LEFT, LM_POSITION_ERROR)) {
+ error(ERR_LM_POSITION_ERROR);
+ resetInterrupt(MOTOR_BOTH, LM_POSITION_ERROR);
+ }
+}
+
/**
* Change la direction du BUS de donn
* Cette fonction est utilisen interne et ne doit pas e appelsinon.
@@ -304,28 +320,32 @@ BYTE readStatus(char axis) {
* @return value la valeur du bit, 0 (#FALSE) ou 1 (#TRUE).
*/
BOOL readStatusBit(char axis, BYTE type) {
- BYTE status = 0;
-
- status = readStatus(axis);
- status = (status & type);
-
- if (status != 0)
- return 1;
- else
- return 0;
+ return ((readStatus(axis) & type) != 0);
}
/**
- * Reset les bits d'interruption du/des LM(s).
+ * Reset certains bits d'interruption du/des LM(s).
*
* @param axis l'axe moteur correspondant au LM rogrammer, peut valoir : @n
* #MOTOR_RIGHT le moteur de droite uniquement @n
* #MOTOR_LEFT le moteur de gauche uniquement @n
* #MOTOR_BOTH les 2 moteurs
*/
-void resetInterrupt(char axis) {
+void resetInterrupt(char axis, WORD type) {
writeCommand(axis, LM_CMD_RSTI);
- writeDataWord(axis, 0x0000);
+ writeDataWord(axis, type);
+}
+
+/**
+ * Reset tous les bits d'interruption du/des LM(s).
+ *
+ * @param axis l'axe moteur correspondant au LM rogrammer, peut valoir : @n
+ * #MOTOR_RIGHT le moteur de droite uniquement @n
+ * #MOTOR_LEFT le moteur de gauche uniquement @n
+ * #MOTOR_BOTH les 2 moteurs
+*/
+void resetAllInterrupt(char axis) {
+ resetInterrupt(axis, 0x0000);
}
/**
@@ -365,16 +385,21 @@ initLM_RESET:
// Activation de certaines interruptions
writeCommand(axis, LM_CMD_MSKI);
- writeDataWord(axis, LM_COMMAND_ERROR | LM_INDEX_PULSE);
+
+ #if defined(LM_INTERRUPT)
+ writeDataWord(axis, LM_COMMAND_ERROR | LM_POSITION_ERROR);
+ #else
+ writeDataWord(axis, 0);
+ #endif
// Reset des interruptions
- resetInterrupt(axis);
+ resetAllInterrupt(axis);
if (readStatus(axis) != 0x80 && readStatus(axis) != 0xC0)
goto initLM_RESET;
if (readStatus(axis) == 0xC0)
- resetInterrupt(axis);
+ resetAllInterrupt(axis);
// Chargement des parames du filtre
writeCommand(axis, LM_CMD_LFIL);
@@ -386,6 +411,10 @@ initLM_RESET:
// Application du filtre
writeCommand(axis, LM_CMD_UDF);
+
+ // Srit+ writeCommand(axis, LM_CMD_LPES);
+ writeDataWord(axis, LM_PES_LIMIT);
}
/**
@@ -669,7 +698,7 @@ WORD getIntegrationSum(char axis) {
* @param acc accration, en mm/s, sur 16 bits
*/
void moveForward(short pos, short vel, short acc) {
- resetInterrupt(MOTOR_BOTH);
+ resetAllInterrupt(MOTOR_BOTH);
newPosition(MOTOR_BOTH,
(long) ((float) pos * COEF_RIGHT_WHEEL),
(long) ((float) vel * COEF_RIGHT_WHEEL * CONST_VEL),
@@ -685,7 +714,7 @@ void moveForward(short pos, short vel, short acc) {
* @param acc accration, en mm/s, sur 16 bits
*/
void moveBackward(short pos, short vel, short acc) {
- resetInterrupt(MOTOR_BOTH);
+ resetAllInterrupt(MOTOR_BOTH);
newPosition(MOTOR_BOTH,
- (long) ((float) pos * COEF_RIGHT_WHEEL),
(long) ((float) vel * COEF_RIGHT_WHEEL * CONST_VEL),
@@ -701,7 +730,7 @@ void moveBackward(short pos, short vel, short acc) {
* @param acc accration, en mm/s, sur 16 bits
*/
void turnRight(short angle, short vel, short acc) {
- resetInterrupt(MOTOR_BOTH);
+ resetAllInterrupt(MOTOR_BOTH);
newPosition(MOTOR_RIGHT,
- (long) ((float) angle * CONST_POS * WHEELS_DIST * COEF_RIGHT_WHEEL),
(long) ((float) vel * COEF_RIGHT_WHEEL * CONST_VEL),
@@ -721,7 +750,7 @@ void turnRight(short angle, short vel, short acc) {
* @param acc accration, en mm/s, sur 16 bits
*/
void turnLeft(short angle, short vel, short acc) {
- resetInterrupt(MOTOR_BOTH);
+ resetAllInterrupt(MOTOR_BOTH);
newPosition(MOTOR_RIGHT,
(long) ((float) angle * CONST_POS * WHEELS_DIST * COEF_RIGHT_WHEEL),
(long) ((float) vel * COEF_RIGHT_WHEEL * CONST_VEL),
@@ -751,7 +780,7 @@ void turnLeft(short angle, short vel, short acc) {
* Lorsqu'exprimn %, c peut e supeur 00 en valeur absolue.
*/
void turn(short angle, short vel, short acc, short c, BOOL rel) {
- resetInterrupt(MOTOR_BOTH);
+ resetAllInterrupt(MOTOR_BOTH);
if (rel)
c = WHEELS_DIST / 2.0 * (c / 100.0);
@@ -802,7 +831,7 @@ void goTo(short x, short y, short vel, short acc, BYTE mode, short d) {
a = (((float) x)*((float) x) + ((float) y)*((float) y))/4.0;
angle1 = atan2((float)y, (float)x);
- resetInterrupt(MOTOR_BOTH);
+ resetAllInterrupt(MOTOR_BOTH);
if (mode == GOTO_STRAIGHT || d == 0) {
turnRight(90.0 - angle1*180.0/PI, vel, acc);
diff --git a/USB_Module/Motor_Controller/Firmware/lm629.h b/USB_Module/Motor_Controller/Firmware/lm629.h
index a604630..341794a 100644
--- a/USB_Module/Motor_Controller/Firmware/lm629.h
+++ b/USB_Module/Motor_Controller/Firmware/lm629.h
@@ -11,7 +11,9 @@
#include "GenericTypeDefs.h"
#include "Compiler.h"
#include "HardwareProfile.h"
+#include "PcInterface.h"
#include "eeprom.h"
+#include "error.h"
#include "motor.h"
// Robot utilis@@ -20,6 +22,8 @@
// Parames graux
#define LM_CLOCK 8e6 ///< Frence horloge LM (en Hz) -- forcnt 6 ou 8 MHz selon la rrence du composant
+#define LM_INTERRUPT
+//#define LM_POLLING
#if defined(KROBOT_2010)
// Constantes pour [Kro]bot 2010
@@ -50,13 +54,15 @@
#define DEFAULT_KP 1 ///< Constante action proportionnelle
#define DEFAULT_KI 0 ///< Constante action intale
#define DEFAULT_KD 0 ///< Constante action dv
- #define DEFAULT_IL 10000 ///< Integration Limit -- limite la contribution du terme intateur (doit e non nul si KI est non nul !)
+ #define DEFAULT_IL 1000 ///< Integration Limit -- limite la contribution du terme intateur (doit e non nul si KI est non nul !)
+ #define LM_PES_LIMIT 10000 ///< Position Error Stop Limit
#elif defined(KROBOT_PROTO)
// Constantes pour le robot protoype basur des EMG30s
#define DEFAULT_KP 1000 ///< Constante action proportionnelle
#define DEFAULT_KI 1 ///< Constante action intale
#define DEFAULT_KD 0 ///< Constante action dv
#define DEFAULT_IL 10000 ///< Integration Limit -- limite la contribution du terme intateur (doit e non nul si KI est non nul !)
+ #define LM_PES_LIMIT 10000 ///< Position Error Stop Limit
#else
#error Il est nssaire de darer un type de robot tiliser
#endif
@@ -202,6 +208,8 @@
/* Compter 1.5 ms artir d'ici pour que le RESET soit effectif. */ \
}
+void checkLM629Interrupt(void);
+
// Fonctions de bas niveau
void dataBusDirection(char dir);
void waitBusyLM(char axis);
@@ -210,7 +218,8 @@ void writeDataWord(char axis, WORD data);
WORD readDataWord(char axis);
BYTE readStatus(char axis);
BOOL readStatusBit(char axis, BYTE type);
-void resetInterrupt(char axis);
+void resetInterrupt(char axis, WORD type);
+void resetAllInterrupt(char axis);
void initLM(char axis, WORD kp, WORD ki, WORD kd, WORD il);
// Fonctions de rptions des grandeurs actuelles
diff --git a/USB_Module/Motor_Controller/Firmware/main.c b/USB_Module/Motor_Controller/Firmware/main.c
index 387f8ce..7bc8086 100644
--- a/USB_Module/Motor_Controller/Firmware/main.c
+++ b/USB_Module/Motor_Controller/Firmware/main.c
@@ -238,16 +238,17 @@ char ResetSource(void);
// On rtorise l'interruption
PIR1bits.TMR1IF = 0;
}
- /*
- // Interruption provenant du controleur d'interruption
- if (INTCONbits.INT0IF) {
-
- // On rtorise l'interruption
- INTCONbits.INT0IF = 0;
- }
- */
-
+ #if defined(LM_INTERRUPT)
+ // Interruption provenant d'un LM
+ if (INTCONbits.RBIF) {
+ checkLM629Interrupt();
+
+ // On rtorise l'interruption
+ INTCONbits.RBIF = 0;
+ }
+ #endif
+
// restauration des registres de calcul
PRODL = sProdL;
PRODH = sProdH;
@@ -524,6 +525,10 @@ void UserInit(void)
INTCONbits.GIE = 1; // Enables all high priority interrupts
INTCONbits.PEIE = 1; // Enables all low priority peripheral interrupts
+ #if defined(LM_INTERRUPT)
+ INTCONbits.RBIE = 1; // Enable PORTB Interrupt-on-change
+ #endif
+
// Configuration de l'I2C
// OpenI2C(MASTER, SLEW_OFF);
@@ -575,7 +580,20 @@ void ProcessIO(void) {
}
// User Application USB tasks
- if((USBDeviceState < CONFIGURED_STATE)||(USBSuspendControl==1)) return;
+ if((USBDeviceState < CONFIGURED_STATE)||(USBSuspendControl==1)) {
+ // Mesure de srit ce n'est pas normal de perdre la liaison USB au milieu d'une trajectoire
+ if (traj_engaged) {
+ stop(MOTOR_BOTH, TRAJ_STOP_MOTOR_OFF);
+ waitTrajComplete();
+ traj_engaged = 0;
+ }
+
+ return;
+ }
+
+ #if defined(LM_POLLING)
+ checkLM629Interrupt();
+ #endif
if (!HIDTxHandleBusy(USBInHandle) && err[errno] > 0) {
ToSendDataBuffer.HSEQ = 0; // Num sence PC
@@ -605,11 +623,6 @@ void ProcessIO(void) {
}
}
- if (readStatusBit(MOTOR_RIGHT, LM_COMMAND_ERROR) || readStatusBit(MOTOR_LEFT, LM_COMMAND_ERROR)) {
- error(ERR_LM_COMMAND_ERROR);
- resetInterrupt(MOTOR_BOTH); // Nssaire car sinon en cas d'erreur on flood l'USB
- }
-
// Machine d't pour la commande CMD_TEST
switch (state) {
case 1:
@@ -835,6 +848,13 @@ void ProcessIO(void) {
case MOTOR_DISABLE:
disableMotor(ReceivedDataBuffer.DATA[1]);
+
+ // Mesure de srit ce n'est pas normal que l'on dctive les moteurs au milieu d'une trajectoire
+ if (traj_engaged) {
+ stop(MOTOR_BOTH, TRAJ_STOP_MOTOR_OFF);
+ waitTrajComplete();
+ traj_engaged = 0;
+ }
break;
default:
@@ -1024,7 +1044,6 @@ void ProcessIO(void) {
word1.byte.LB = ReceivedDataBuffer.DATA[3];
stop(ReceivedDataBuffer.DATA[1], word1.Val);
- //traj_engaged = 0;
break;
case TRAJ_NEW_POSITION:
@@ -1035,7 +1054,7 @@ void ProcessIO(void) {
word3.byte.HB = ReceivedDataBuffer.DATA[6];
word3.byte.LB = ReceivedDataBuffer.DATA[7];
- resetInterrupt(ReceivedDataBuffer.DATA[1]);
+ resetAllInterrupt(ReceivedDataBuffer.DATA[1]);
newPosition(ReceivedDataBuffer.DATA[1],
(long) ((float) word1.Val * COEF_WHEEL),
(long) ((float) word2.Val * COEF_WHEEL * CONST_VEL),
@@ -1048,7 +1067,7 @@ void ProcessIO(void) {
word2.byte.HB = ReceivedDataBuffer.DATA[4];
word2.byte.LB = ReceivedDataBuffer.DATA[5];
- resetInterrupt(ReceivedDataBuffer.DATA[1]);
+ resetAllInterrupt(ReceivedDataBuffer.DATA[1]);
newVelocity(ReceivedDataBuffer.DATA[1],
(long) ((float) word1.Val * COEF_WHEEL * CONST_VEL),
(long) ((float) word2.Val * COEF_WHEEL * CONST_ACC),
@@ -1059,7 +1078,7 @@ void ProcessIO(void) {
word1.byte.HB = ReceivedDataBuffer.DATA[2];
word1.byte.LB = ReceivedDataBuffer.DATA[3];
- resetInterrupt(ReceivedDataBuffer.DATA[1]);
+ resetAllInterrupt(ReceivedDataBuffer.DATA[1]);
changeVelocity(ReceivedDataBuffer.DATA[1],
(long) ((float) word1.Val * COEF_WHEEL * CONST_VEL),
ReceivedDataBuffer.DATA[4]);
@@ -1284,10 +1303,6 @@ void USBCBSuspend(void)
//cleared inside the usb_device.c file. Clearing USBActivityIF here will cause
//things to not work as intended.
- // Si on perd la communication avec la carte m, un probl est certainement arriv- // Pour rire les risques on arr les moteurs (en roue libre)
- stop(MOTOR_BOTH, LM_LTRJ_MOTOR_OFF);
-
#if defined(__C30__)
#if 0
U1EIR = 0xFFFF;
diff --git a/USB_Module/Motor_Controller/Firmware/output/Motor_controller.cof b/USB_Module/Motor_Controller/Firmware/output/Motor_controller.cof
index 03d6dfa..df02379 100644
Binary files a/USB_Module/Motor_Controller/Firmware/output/Motor_controller.cof and b/USB_Module/Motor_Controller/Firmware/output/Motor_controller.cof differ
diff --git a/USB_Module/Motor_Controller/Firmware/output/Motor_controller.hex b/USB_Module/Motor_Controller/Firmware/output/Motor_controller.hex
index f676229..6ff3456 100644
--- a/USB_Module/Motor_Controller/Firmware/output/Motor_controller.hex
+++ b/USB_Module/Motor_Controller/Firmware/output/Motor_controller.hex
@@ -1,1484 +1,1496 @@
:020000040000FA
-:06000000E5EF30F01200F4
+:060000001FEF31F01200B9
:0600080004EF04F01200F9
:060018000CEF04F01200E1
-:06080000E5EF30F01200EC
-:0608080088EF10F0120061
-:06081800F0EF10F01200E9
-:06082A0004005D62000005
-:100830002601000021000000556200005F01000059
-:100840000800000047620000470100000E000000A1
-:0C085000446200006A0100000300000088
-:04085C0025EC0DF08A
-:10086000FE0EDB5006E1F80E96163C0E9416959897
-:1008700008D0FE0EDB0405E1070E9612C30E94129B
-:1008800095882AEF0DF0D9CFE6FFE1CFD9FFE652E8
-:10089000010EE66EE3DFE5528098FE0EDB5004E0C9
-:1008A000FE0EDB5002080FE1839C808A0000839ECD
-:1008B0000000000000008450010BDF6E838E0000FA
-:1008C0000000DF04F4E0FE0EDB0404E0FE0EDB506B
-:1008D00002080FE1838C809A0000839E00000000D4
-:1008E00000008450010BDF6E838E00000000DF04E7
-:1008F000F4E0E552E552E7CFD9FF1200D9CFE6FF89
-:10090000E1CFD9FFE652FD0EDB50DF6EFE0EDBCFEE
-:10091000E6FFB9DFE552E66AA1DFE552FE0EDB50E5
-:1009200003E1839C808A0CD0FE0EDB0403E1838C00
-:10093000809A06D0FE0EDB50020802E1839C809A6A
-:10094000809800008096D9CFE9FFDACFEAFFEF5018
-:10095000010B02E0848001D08490D9CFE9FFDACF87
-:10096000EAFFEF50020B02E0848201D08492D9CFDB
-:10097000E9FFDACFEAFFEF50040B02E0848401D0F4
-:100980008494D9CFE9FFDACFEAFFEF50080B02E0F9
-:10099000838801D08398D9CFE9FFDACFEAFFEF50FF
-:1009A000100B02E0828201D08292D9CFE9FFDACF28
-:1009B000EAFFEF50200B02E0828E01D0829ED9CF59
-:1009C000E9FFDACFEAFFEF50400B02E0828001D06E
-:1009D0008290D9CFE9FFDACFEAFFEF50800B02E037
-:1009E000828C01D0829C0000000080860000000004
-:1009F000E552E552E7CFD9FF1200D9CFE6FFE1CFAC
-:100A0000D9FF020EE126FC0EDBCFDEFFDBCFDDFFE0
-:100A1000FE0EDBCFE6FF37DFE552E66A1FDFE55269
-:100A2000FE0EDB5003E1839C808A0CD0FE0EDB04BB
-:100A300003E1838C809A06D0FE0EDB50020802E1AF
-:100A4000839C809A808800008096D9CFE9FFDACF16
-:100A5000EAFFEE52EF50010B02E0848001D0849057
-:100A6000D9CFE9FFDACFEAFFEE52EF50020B02E0F6
-:100A7000848201D08492D9CFE9FFDACFEAFFEE5227
-:100A8000EF50040B02E0848401D08494D9CFE9FFB5
-:100A9000DACFEAFFEE52EF50080B02E0838801D074
-:100AA0008398D9CFE9FFDACFEAFFEE52EF50100B6F
-:100AB00002E0828201D08292D9CFE9FFDACFEAFF49
-:100AC000EE52EF50200B02E0828E01D0829ED9CFF1
-:100AD000E9FFDACFEAFFEE52EF50400B02E08280EE
-:100AE00001D08290D9CFE9FFDACFEAFFEE52EF5082
-:100AF000800B02E0828C01D0829C00000000808686
-:100B0000000000008096D9CFE9FFDACFEAFFEF506E
-:100B1000010B02E0848001D08490D9CFE9FFDACFC5
-:100B2000EAFFEF50020B02E0848201D08492D9CF19
-:100B3000E9FFDACFEAFFEF50040B02E0848401D032
-:100B40008494D9CFE9FFDACFEAFFEF50080B02E037
-:100B5000838801D08398D9CFE9FFDACFEAFFEF503D
-:100B6000100B02E0828201D08292D9CFE9FFDACF66
-:100B7000EAFFEF50200B02E0828E01D0829ED9CF97
-:100B8000E9FFDACFEAFFEF50400B02E0828001D0AC
-:100B90008290D9CFE9FFDACFEAFFEF50800B02E075
-:100BA000828C01D0829C0000000080860000000042
-:100BB000020EE15C02E2E16AE552E16EE552E7CF46
-:100BC000D9FF1200D9CFE6FFE1CFD9FF020EE1260F
-:100BD000FE0EDBCFE6FF57DEE552010EE66E3EDE8F
-:100BE000E552FE0EDB5003E1839C808A05D0FE0EA9
-:100BF000DB0402E1838C809A80880000839E0000E1
-:100C0000000000008450010B066E8450020B01E0CE
-:100C1000010EE824056E8450040B01E0010E040D62
-:100C2000F3CF04F08350100B01E0010E080DF3CF59
-:100C300003F08250020B01E0010E100DF3CF02F021
-:100C40008250800B01E0010E200DF3CF01F08250A5
-:100C5000010B400DF3CF00F08250400B01E0010E7C
-:100C6000800DF35000100110021003100410051045
-:100C70000610E76E010EE7CFDBFF838E0000000059
-:100C8000839E0000000000008450010B066E84501B
-:100C9000020B01E0010EE824056E8450040B01E014
-:100CA000010E040DF3CF04F08350100B01E0010E90
-:100CB000080DF3CF03F08250020B01E0010E100D7E
-:100CC000F3CF02F08250800B01E0010E200DF3CF34
-:100CD00001F08250010B400DF3CF00F08250400B29
-:100CE00001E0010E800DF3500010011002100310FE
-:100CF000041005100610DF6E838EDECF00F0DDCF0E
-:100D000001F000C0F3FF01C0F4FF00D0020EE15C6F
-:100D100002E2E16AE552E16EE552E7CFD9FF120047
-:100D2000D9CFE6FFE1CFD9FFE652DF6AFE0EDBCF77
-:100D3000E6FFA9DDE552010EE66E90DDE552FE0EFE
-:100D4000DB5003E1839C808A05D0FE0EDB0402E1C8
-:100D5000838C809A80980000839E00000000000031
-:100D60008450010B066E8450020B01E0010EE82452
-:100D7000056E8450040B01E0010E040DF3CF04F066
-:100D80008350100B01E0010E080DF3CF03F08250E9
-:100D9000020B01E0010E100DF3CF02F08250800B28
-:100DA00001E0010E200DF3CF01F08250010B400D48
-:100DB000F3CF00F08250400B01E0010E800DF350A4
-:100DC0000010011002100310041005100610DF6E51
-:100DD000838EDF5000D0E552E552E7CFD9FF1200F5
-:100DE00025EC0DF0E652DF6A68EC0DF0DF6EFD0ECB
-:100DF000DB50DF14DF6EDF5002E0010E01D0000E89
-:100E0000E5522AEF0DF025EC0DF01D0EAFEC0CF0C5
-:100E1000000E92EC0FF02AEF0DF025EC0DF068ECCF
-:100E20000DF084080DE068EC0DF0C40809E0E66AF6
-:100E300080EC0FF011EC0EF0B8EC30F0E552EFD78B
-:100E40001C0EAFEC0CF00A0E92EC0FF015EC0EF04D
-:100E500068EC0DF0800804E068EC0DF0C008E7E1F4
-:100E600068EC0DF0C00802E115EC0EF01E0EAFECC0
-:100E70000CF00F0E92EC0FF047EC10F0FA0EDBCFF7
-:100E8000E6FFFB0E39EC0FF0F80EDBCFE6FFF90EB4
-:100E900039EC0FF0F60EDBCFE6FFF70E39EC0FF072
-:100EA000040EAFEC0CF02AEF0DF025EC0DF0080E5F
-:100EB000E126010EF8EC0CF0010EE7CFDBFF020E8D
-:100EC000BAEC0FF0DF6E030EF8EC0CF0030EE7CF78
-:100ED000DBFF040EF8EC0CF0020EE7CFDBFF050E93
-:100EE000F8EC0CF0050EE7CFDBFF060EF8EC0CF08B
-:100EF000040EE7CFDBFF070EF8EC0CF0070EE7CF90
-:100F0000DBFF080EF8EC0CF04EEC0DF0E66A1AEC84
-:100F10000EF0090EF8EC0CF0010EE7CFDBFF0A0E25
-:100F2000BAEC0FF0DF6E0B0EF8EC0CF0030EE7CF0F
-:100F3000DBFF0C0EF8EC0CF0020EE7CFDBFF0D0E22
-:100F4000F8EC0CF0050EE7CFDBFF0E0EF8EC0CF022
-:100F5000040EE7CFDBFF0F0EF8EC0CF0070EE7CF27
-:100F6000DBFF100EF8EC0CF04EEC0DF0010EE66E0F
-:100F70001AEC0EF0020EE66EE66E11EC0EF0E66A6A
-:100F8000DCEC0DF007E1020EE66E010EE66EDCEC25
-:100F90000DF002E0000E01D0010E006E080EE15CC3
-:100FA00002E2E16AE552E16E00502AEF0DF025EC15
-:100FB0000DF00C0EE1267EEC0DF0D950F20F96EC00
-:100FC0000FF0080EEECFDBFF090EEECFDBFF0A0EAF
-:100FD000EECFDBFF0B0EEECFDBFF1F0EAFEC0CF006
-:100FE000080EDBCF00F0090EDBCF01F00A0EDBCFDD
-:100FF00002F00B0EA0EC0FF00CE02B0E92EC0FF0B9
-:101000000A0EDBCFE6FF0B0E39EC0FF0A9EC0DF06A
-:1010100003D00B0EE66EE66A82EC0CF011EC10F0D9
-:10102000D4EC0DF009E18EEC0CF082EC0CF078ECD5
-:101030000FF080EC0FF01CD0D4EC0DF003E0FE0EAE
-:10104000DB0408E18EEC0CF0C8EC0DF078EC0FF04E
-:10105000C8EC0DF0D4EC0DF003E0FE0EDB500AE11D
-:101060008EEC0CF0E66A53EC0FF078EC0FF0E66AC9
-:1010700053EC0FF00C0EE15C02E2E16AE552E16E26
-:101080002AEF0DF025EC0DF00A0EE126D9CFE9FF8D
-:10109000DACFEAFFFA0EDBCFEEFFFB0EDBCFEEFF7F
-:1010A000FC0EDBCFEEFFFD0EDBCFEEFF7EEC0DF096
-:1010B000080EF36EDB6E090EF3CFDBFF1F0EAFECF5
-:1010C0000CF094EC0DF007E0D950080FE96EDACF80
-:1010D000EAFFEE8AED52D4EC0DF00BE1F50EDB5099
-:1010E000FF0802E1CCEC0DF0A9EC0DF080EC0FF064
-:1010F0001FD0D4EC0DF003E0FE0EDB040AE1F50E88
-:10110000DB50FF0802E1CCEC0DF0A9EC0DF0C8ECCF
-:101110000DF0D4EC0DF003E0FE0EDB500BE1F50E0C
-:10112000DB50FF0802E1CCEC0DF0A9EC0DF0E66A13
-:1011300053EC0FF094EC0DF002E011EC10F0020E05
-:10114000DBCFE6FF030E39EC0FF078EC0FF0DADBC3
-:101150000A0EE15C02E2E16AE552E16E2AEF0DF06F
-:1011600025EC0DF0F90EDBCFE6FFE66AE66AE66AEB
-:10117000E66AD950FA0F96EC0FF084EC0FF080EC91
-:101180000FF080DF006E0A0EE15E00502AEF0DF0D6
-:1011900025EC0DF0FE0EDB5003E0D4EC0DF013E176
-:1011A0000A0EE66EE66A9BEC0FF0E66AC4EC0FF0FE
-:1011B000F3CF61F1F4CF62F1E66AC4EC0FF0F3CF44
-:1011C0005FF1F4CF60F1FE0EDB0403E0D4EC0DF030
-:1011D00016E10A0EE66E010EE66E9BEC0FF0010EB4
-:1011E000E66EC4EC0FF0F3CF65F1F4CF66F1010EBB
-:1011F000E66EC4EC0FF0F3CF63F1F4CF64F1010EAF
-:10120000AEDB2AEF0DF025EC0DF01F0EA8DB47EC4E
-:1012100010F0010EA4DB2AEF0DF0A7EC0FF005E1B2
-:101220003D6A3E6A3F6A406A0BD00A0EACEC0FF092
-:10123000B0EC0DF0F3CFDEFFF4CFDDFFE2EC0DF00C
-:10124000040EE15C02E2E16AE552E16E2AEF0DF084
-:10125000A7EC0FF005E13D6A3E6A3F6A406A07D09D
-:101260000B0EACEC0FF0DE6ADD6AE2EC0DF0040E62
-:10127000E15C02E2E16AE552E16EECD3E6DBD4EC3C
-:101280000DF003E1F36AF46A04D00D0E68DBB0ECF4
-:101290000DF0E0D34DEC10F0EDEC0DF05FEC0DF047
-:1012A000D9D34DEC10F083DB020E5FEC0DF0D2D3FE
-:1012B0007DEC0FF0A6EC0EF07ADBE66A78DE0CEC43
-:1012C0000EF0A6EC0EF0C8EC0FF059EF0FF07DEC2D
-:1012D0000FF0A6EC0EF06DEC0DF00CEC0EF0A6ECA1
-:1012E0000EF065DB59EF0FF07DEC0FF0F60EDB50E2
-:1012F00020E0006A800E016E010E026E430E036E46
-:1013000064EC10F07FEC10F0436A446AC80E456E3E
-:10131000420E466EB8EC22F0D9EC0FF0EADA38EC67
-:1013200010F078EC23F0F70E3FC0DBFFF80E40C062
-:10133000DBFFC9EC0EF021EC22F020EC0FF0CDDB4E
-:10134000386E0D0EE15E3850C9EC0EF022EC22F042
-:1013500020EC0FF02CDB010EE66E29DE386E0D0E50
-:10136000E15E385032EC10F075D36FDB3C0EE126B5
-:101370001AEC0FF0CCEC0FF01AEC0FF01CEC10F0A4
-:1013800008C03EF009C03FF00AC040F00BC041F079
-:101390000BEC23F0D9EC0FF082EC10F002EC10F023
-:1013A00082EC10F0FDEC0DF0A4DA14C03EF015C094
-:1013B0003FF016C040F017C041F00BEC23F085EC75
-:1013C00010F03ADB22EC22F0CEDA436A446A800E57
-:1013D000456ED0DB380E3EC0DBFF390E3FC0DBFF71
-:1013E0003A0E40C0DBFF3B0E41C0DBFF1AEC0FF0B2
-:1013F000BADA77DB6DEC0FF0F8DA73DB6AEC2BF01E
-:10140000086E080EE15E0850080E3DC0DBFF090EB5
-:101410003EC0DBFF0A0E3FC0DBFF0B0E40C0DBFF10
-:101420007DDBF60EDB5007E0D950F40F96EC0FF0A1
-:10143000EE50ED1039E112DB080EDBCF0EF0090E95
-:10144000DBCF0FF00A0EDBCF10F00B0E83EC0EF0AB
-:1014500030DA60EC0FF03E6A3F6A800E406E400E5C
-:10146000416E380EDBCF43F0390EDBCF44F03A0E3D
-:10147000DBCF45F03B0E3BEC10F037DB32DB73DBB0
-:101480003DC002F03EC003F03FC004F040C005F094
-:101490003DC03EF0B0EC0FF072EC0FF0FBDE0A6ED8
-:1014A000060EE15E0A50D2D1380EDBCF04F0390EC1
-:1014B000DBCF05F03A0EDBCF06F03B0EDBCF07F0BB
-:1014C000A5DBE6DA85EC10F072EC10F0E1DA95DBE2
-:1014D0008DEC0FF035EC0FF022EC22F0140E3EC034
-:1014E000DBFF150E3FC0DBFF160E40C0DBFF170E03
-:1014F000CEDB1AEC0FF035EC0FF00BEC23F0180EEE
-:101500003EC0DBFF190E3FC0DBFF1A0E40C0DBFF01
-:101510001B0EBDDB82EC10F035EC0FF00BEC23F072
-:101520001C0E3EC0DBFF1D0E3FC0DBFF1E0E40C089
-:10153000DBFF1F0E41C0DBFF1C0EDBCF00F01D0EDA
-:10154000DBCF01F01E0EDBCF02F01F0EDBCF03F06E
-:101550007FDB38EC10F0200E3EC0DBFF210E3FC0D9
-:10156000DBFF220E40C0DBFF230E41C0DBFFD95062
-:10157000180FE96EDACFEAFF240EEECFDBFF250E5F
-:10158000EECFDBFF260EEECFDBFF270EEECFDBFF2D
-:10159000FD0EDBCF3FF0FE0E26EC10F0200EDBCF71
-:1015A00043F0210EDBCF44F0220EDBCF45F0230EBB
-:1015B0003DEC0FF0280E3EC0DBFF290E3FC0DBFFE5
-:1015C0002A0E40C0DBFF2B0E41C0DBFF6DEC0FF09D
-:1015D00026EC10F0240EDBCF43F0250EDBCF44F0D9
-:1015E000260EDBCF45F0270E3DEC0FF02C0E3EC053
-:1015F000DBFF2D0E3FC0DBFF2E0E40C0DBFF2F0EAA
-:1016000041C0DBFF2C0EDBCF04F02D0EDBCF05F04D
-:101610002E0EDBCF06F02F0EDBCF07F019DB0CDA36
-:101620000BEC23F043EC0FF0300E3EC0DBFF310E2D
-:101630003FC0DBFF320E40C0DBFF330E41C0DBFF9B
-:10164000280EDBCF3EF0290EDBCF3FF02A0EDBCF9A
-:1016500040F02B0EDBCF41F043EC0FF0340E3EC0D8
-:10166000DBFF350E3FC0DBFF360E40C0DBFF370E21
-:1016700041C0DBFFD950300FDAD9D950340FD7D958
-:101680006AEC2BF0006E080EE15E00500C0E3DC0BF
-:10169000DBFF0D0E3EC0DBFF0E0E3FC0DBFF0F0E6B
-:1016A00040C0DBFF006A016A026A400E036E00C0A0
-:1016B000E6FF01C0E6FF02C0E6FFE66E91DBCCEC80
-:1016C0000FF00FDA51EC10F03DC014F03EC015F0F1
-:1016D0003FC016F040C017F0C8EC0FF06AEC2BF0DA
-:1016E000186E080EE15E1850E552E7CF03F0E552A0
-:1016F000E7CF02F0E552E7CF01F0E552E7CF00F087
-:101700003DC004F03EC005F03FC006F040C007F009
-:1017100017DA38EC10F0100E3EC0DBFF110E3FC0A0
-:10172000DBFF120E40C0DBFF130E41C0DBFFF60EE5
-:10173000DB5002081DE1F4EC0FF021EC22F02BEC61
-:1017400010F022EC22F044D919DA060E3FC0DBFF7C
-:10175000070E40C0DBFFBFEC0FF047D9020EDBCF16
-:101760003FF0030E5FDB040E3FC0DBFF050E4FD0E2
-:101770003E6A3F6A406A400E416E080EDBCF43F07E
-:10178000090EDBCF44F00A0EDBCF45F00B0E3BEC2D
-:1017900010F0E9D80C0EDBCF04F00D0EDBCF05F016
-:1017A0000E0EDBCF06F00F0EDBCF07F004C043F0C8
-:1017B00005C044F006C045F007C046F021EC22F019
-:1017C0000C0E3EC0DBFF0D0E3FC0DBFF0E0E40C017
-:1017D000DBFF0F0E41C0DBFFF4EC0FF022EC22F038
-:1017E0002BEC10F021EC22F0F3D8C8D9040E3FC046
-:1017F000DBFF050E40C0DBFF020EDBCF3FF0030E28
-:10180000F4D8BDDB0FDB060E3FC0DBFF070E40C088
-:10181000DBFF4FD8B1D8040EDBCF3FF0050E1FDA47
-:10182000B7DBADDBA4DB59D9206E0D0EE15E205095
-:10183000A3D8060EDBCF3FF0070E11DACED9DBCFEF
-:101840003FF0030E94DBA4DB010E39D93C0EE15CC2
-:1018500002E2E16AE552E16EFDD0E66ADEDCE552C5
-:1018600001015F513D5C066E60513E58076E61514B
-:101870003F58086E6251BFD0010EE66ECEDCE552D5
-:10188000010163513D5C066E64513E58076E65511F
-:101890003F58086E6651AFD0040EE66EE66A8CD9EA
-:1018A00006E0040EE66E010EE66E86D901E1000C3C
-:1018B000010CF2DF0009FDE0120069EC10F051DAD2
-:1018C0000CDBCDD965DB1AEF0FF03EC01CF03FC03A
-:1018D0001DF040C01EF041C01FF07DDB6EEC10F02B
-:1018E0003DC018F03EC019F03FC01AF040C01BF0D8
-:1018F00012003EC043F03FC044F040C045F041C03C
-:1019000046F01200FDDA53EF0FF000C03EF001C0C8
-:101910003FF002C040F003C041F01200FA0EDBCFEE
-:1019200000F0FB0EDBCF01F0FC0EDBCF02F0FD0E72
-:10193000DBCF03F0000E006C011E0122021E02220A
-:10194000031E032200C0DFFF010E01C0DBFF020EF9
-:1019500002C0DBFF030E03C0DBFF56EF10F0E66EA4
-:10196000CFDA9BEF0FF03EC000F03FC001F040C067
-:1019700002F041C003F01200A7DBB1EF0EF002C08D
-:101980003EF0EEDA21EC22F0ADDA92DC126E060EB9
-:10199000E15E12501200466E0BEC23F03EC020F0C8
-:1019A0003FC021F040C022F041C023F01200000EE1
-:1019B000186C191E19221A1E1A221B1E1B2218C06F
-:1019C000E6FF19C0E6FF1AC0E6FF1BC0E6FF1200E3
-:1019D000100EDBCF43F0110EDBCF44F0120EDBCF45
-:1019E00045F0130E48DB78EF23F0DFDAD9EF0FF084
-:1019F000C1DAE76E12004058096E06C03DF007C01C
-:101A00003EF008C03FF0406E08EC22F03EC002F00D
-:101A10003FC003F040C004F041C005F0DCDAB8EC90
-:101A200022F04BDB3FC0F3FF40C0F4FF1200E96E31
-:101A3000DACFEAFF84EF0FF004C03EF005C03FF0BC
-:101A400006C040F007C041F01200D9CFE6FFE1CF59
-:101A5000D9FF1200E552E7CFD9FF120031DA026A4E
-:101A6000036AB40E046E420E056E12003EC024F0EE
-:101A70003FC025F040C026F041C027F012000CC046
-:101A80003EF00DC03FF00EC040F00FC041F012001C
-:101A9000F40EDBCF3FF0F50ED5EF0FF0060EE7CFDB
-:101AA000DBFFDBCFE6FF070EDBCFE6FF040EDBCF6D
-:101AB000E6FF050EDBCFE6FFF9DA78EF0FF0E66E12
-:101AC000D7EC07F0206E0D0EE15E205032EF10F0E3
-:101AD00017DA90EC06F0E55212005ADAE66AD7EF10
-:101AE00007F006DB41C0E6FF12003EC006F03FC033
-:101AF00007F040C008F041C009F01200D950F60FBD
-:101B000015DA040EEECFDBFF050EEECFDBFF060E7F
-:101B1000EECFDBFF070EEECFDBFF1200020EE66E0C
-:101B200003EC07F0E5521200040EDBCF00F0050EC7
-:101B3000DBCF01F0060EDBCF02F0070EA0EF0FF0B7
-:101B40003DC043F03EC044F03FC045F040C046F0C9
-:101B50001200080EDBCFE6FF090EDBCFE6FF120016
-:101B6000CFD9C4EF0FF07DEC27F0E552E552E552F6
-:101B7000E5521200400E466EB8EF22F0020E3FC052
-:101B8000DBFF030E40C0DBFFA4DADBCF40F0120026
-:101B9000010EE66E53EF0FF0D950080FE96EDACF61
-:101BA000EAFFEE52ED881200FE0EDB500208120032
-:101BB000456E430E466E1200F0EC06F0E552E5521B
-:101BC00000091200DECF3DF0DECF3EF0DECF3FF069
-:101BD000DDCF40F0DD52DD521200DAD9020E1200E4
-:101BE000436A800E446E120030C03EF031C03FF0B8
-:101BF00032C040F033C041F012003EC018F03FC088
-:101C000019F040C01AF041C01BF012000C6A0D6AB6
-:101C10000E6A400E0F6E1200286E0D0EE15E285007
-:101C2000120089D9020EE66E12006AD903EC07F0A1
-:101C3000E55212000DEC07F0006E090EE15E005057
-:101C40001200020EF3CFDBFF030EF4CFDBFF120016
-:101C5000436A446A800E456EBF0E466E1200A5D9D7
-:101C6000D1D9B9D90BEC23F0ADD9BD0E436E370EE7
-:101C7000446E860E456E410E466E30DA3DC00CF065
-:101C80003EC00DF03FC00EF040C00FF0120041C04A
-:101C9000DBFF046A056A800E066E3F0E076EB6DF34
-:101CA00004C0E6FF05C0E6FF06C0E6FF07C0E6FF8A
-:101CB0000CC0E6FF0DC0E6FF0EC0E6FFE66EF1D9F0
-:101CC000E552E7CF0FF0E552E7CF0EF0E552E7CF50
-:101CD0000DF0E552E7CF0CF0E552E7CF07F0E55203
-:101CE000E7CF06F0E552E7CF05F0E552E7CF04F085
-:101CF0003DC010F03EC011F03FC012F040C013F0E4
-:101D00001FDF72EF10F0DBCF11F0436A446A340E2C
-:101D10004FDF0EC03EF00FC03FF010C040F011C0CA
-:101D200041F00BEC23F03EC00AF03FC00BF040C086
-:101D30000CF041C00DF0DB0E436E0F0E446E490EE9
-:101D4000456E18DFD2DED5DDBFEF0CF0B6DD8EDEDE
-:101D500096D921DE45DF810E2BDF0BEC23F065EFFA
-:101D60000CF0CDD938D90BEC23F023D9CC0E436E2F
-:101D7000BC0E446E8C0E456E3B0E466EAFD93DC018
-:101D800000F03EC001F03FC002F040C003F0C8EFD9
-:101D90000FF093DD3EC028F03FC029F040C02AF08C
-:101DA00041C02BF06CD9466E0BEC23F05FDE436A2A
-:101DB000446A456A400EEFDD306A800E316E010ED6
-:101DC000326E430E336E80D9F0D83EC034F03FC03F
-:101DD00035F040C036F041C037F08BDDF4EF0DF048
-:101DE000140EDBCF0CF0150EDBCF0DF0160EDBCF93
-:101DF0000EF0170EDBCF0FF04BDE87D940DE21EF60
-:101E000022F0140EDBCF00F0150EDBCF01F0160E22
-:101E1000DBCF02F0170EDBCF03F0E2DE010EC8DEEF
-:101E200085EF0CF06CD9F7D854D9BFD805D920D993
-:101E300078EF23F0FD0EDBCF3FF0FE0ED5EF0FF075
-:101E40003EC02CF03FC02DF040C02EF041C02FF01E
-:101E500050DD20C03EF021C03FF022C040F023C042
-:101E600041F00BEC23F065EF0CF0CCD842DD85EFB0
-:101E70000CF0DBCFE6FF82EF0CF0FDD88DD839DD1A
-:101E800044DD21EF22F0140EDBCF43F0150EDBCF43
-:101E900044F0160EDBCF45F0170EDBCF46F0B8EC62
-:101EA00022F0B3EF0CF0FDEC04F0E552E552E55200
-:101EB0001200010EE66ED7EC07F0AEDED3D8CAD51D
-:101EC000F70EDBCFE6FFF80EDBCFE6FFF90EDBCF38
-:101ED000E6FFFA0EDBCFE6FF1200FB0EDBCF3FF092
-:101EE000FC0E1200EAD83FC0E6FF40C0E6FF120039
-:101EF000DECFE6FFDDCFE6FF1200A7DD8EEF0DF0AF
-:101F0000FE0EDBCFE6FF1200EECFE6FFEECFE6FFE0
-:101F1000EECFE6FFEFCFE6FF1200436A446A456A60
-:101F2000BAEF0DF0E66EE66A82EF0CF0E96EFF0E96
-:101F3000DA20EA6E12007EEC04F0E552E55212005F
-:101F4000DBCF03F0005001100210031012007DDD02
-:101F5000040EE126D4EF0DF002DD02DE21EF0EF0DB
-:101F600003C03FF004C040F005C041F012001DD88E
-:101F700065EF0CF0E66ED7EC2FF0E5521200000E84
-:101F8000DFCF3FF0010E1200E2EC05F0E552120047
-:101F90003DC0E6FF78EF10F03EC008F03FC009F00A
-:101FA00040C00AF041C00BF01200DBCF40F0F3EF6D
-:101FB00021F03EC004F03FC005F040C006F041C033
-:101FC00007F012003EC010F03FC011F040C012F008
-:101FD00041C013F01200330E436EE20E446EC20E87
-:101FE000456E420E466E120039DD0C0EDBCF0EF050
-:101FF0000D0EDBCF0FF00E0EDBCF10F00F0E83DED9
-:1020000001EF0FF03EC014F03FC015F040C016F0D5
-:1020100041C017F012006DDC0FDDB8EC22F0B3EF19
-:102020000CF0060EDBCFE6FF070E23DF040EDBCF3E
-:10203000E6FF050E39EF0FF03EC00CF03FC00DF08B
-:1020400040C00EF041C00FF079EF0CF0CEDC65DF40
-:102050008ADCF0EF0EF0BCDC3FC0DEFF40C0DDFFED
-:1020600001EF0FF0020EE66EC8EC08F0E552120028
-:102070004CDC0BEF23F0DBCF46F00BEF23F0350EFB
-:10208000436EFA0E446E0E0E456E3C0E1200FC0EB0
-:10209000DBCFE6FFFD0E39EF0FF02FDF0EDC65EF33
-:1020A0000CF0D950380FC3DCB3EF0DF0020EDBCFCC
-:1020B000E6FF030EDBCFE6FF120078EC23F03FC013
-:1020C00000F040C001F01200F70EDBCF3FF0F80E39
-:1020D0001200F90EDBCF3FF0FA0E12000BEC23F0EA
-:1020E000A7EF23F0CCDC0BEC23F056DF0BEF10F066
-:1020F0003EC0E6FF3FC0E6FF40C0E6FF120055DFEE
-:10210000CCEF0FF0EADED5EF0FF05CDF79EF0CF0EB
-:10211000DACFE4FFE2CFDAFFE9CFE4FFEACFE4FF72
-:10212000F6CFE4FFF7CFE4FFF5CFE4FFF3CFE4FF12
-:10213000F4CFE4FFFACFE4FF00EE39F0140EE80428
-:1021400003E3EECFE4FFFBD700EE00F0390EE80426
-:1021500003E3EECFE4FFFBD723EC1CF09EA013D0EB
-:102160002DEC1CF001014D2B000E4E23E80E4D5DB1
-:10217000030E4E5905E34D6B4E6B4F2B000E502353
-:102180009EEC29F09E9036EC1CF002E2E16AE552EA
-:10219000E16EE552E7CFD9FFE55200EE38F0390E97
-:1021A000E80403E3E5CFEDFFFBD700EE4CF0140E9F
-:1021B000E80403E3E5CFEDFFFBD7E5CFFAFFE5CF7A
-:1021C000F4FFE5CFF3FFE5CFF5FFE5CFF7FFE5CF70
-:1021D000F6FFE5CFEAFFE5CFE9FFE5CFDAFF110033
-:1021E000D8CFE4FFE0CFE4FFE46EDACFE4FFE2CF44
-:1021F000DAFFF3CFE4FFF4CFE4FF23EC1CF036EC7E
-:102200001CF002E2E16AE552E16EE552E7CFD9FF48
-:10221000E552E5CFF4FFE5CFF3FFE5CFDAFFE55078
-:10222000E5CFE0FFE5CFD8FF100004D881EC1CF02B
-:1022300060D8FCD70F0EC11202D84BEF1CF046EC51
-:102240001CF0E652FAEC1BF00101676F070E675DA8
-:1022500010E1E66AD7EC2FF0E552DF6E000EDF806A
-:102260003EEC1CF0E66AB8EC30F0E552DF703EEC74
-:102270001CF0D08EF28EF28CF30E8C1695160101A6
-:10228000476B486B496B4A6B010E4B6F929480947D
-:10229000939881980D0EE66E7C0EE66EE10EE66E6A
-:1022A0004AEC2FF0E552E552E552C70E921694948F
-:1022B0003F0E9516010EE66E2EEC04F0E552838C6F
-:1022C000808A82848088838E80868294010EE66E66
-:1022D000F3EC30F0E55282849D80C50EE66E48EC4A
-:1022E00030F0E5522DEC1CF0E552E552E7CFD9FF76
-:1022F0001200D9CFE6FFE1CFD9FF0F0EE126010191
-:102300004B5102E035EC1BF0200E0101005D03E3B0
-:102310006D50020B02E02BEF1BF0010149514A11F5
-:1023200002E1000E08D049C1E9FF4AC1EAFFEF50BF
-:10233000800B01E0010E000947E101014651EA6A04
-:10234000260FE96E010EEA22EF5000083DE205017A
-:10235000406B01014C514C2B0501416F0501040EEE
-:10236000426F01014651EA6A260FE96E010EEA2228
-:10237000EFCF43F5400EE66E400EE66E050EE66EBC
-:10238000010EE66E010EE66E9CEC20F0006E050E6E
-:10239000E15E0050F3CF49F1F4CF4AF1010146511B
-:1023A000EA6A260FE96E010EEA22EF6A0101465140
-:1023B000000803E20101460707D00101455100086A
-:1023C00003E201011F0E466F010149514A1102E16A
-:1023D000000E08D049C1E9FF4AC1EAFFEF50800B67
-:1023E00001E0010E00092CE10101520529E14CEC4C
-:1023F0000CF0000925E00501406B01014C514C2B0C
-:102400000501416F05010A0E426F0501436B05018D
-:10241000010E486F400EE66E400EE66E050EE66E4B
-:10242000010EE66E010EE66E9CEC20F0006E050ECD
-:10243000E15E0050F3CF49F1F4CF4AF10101526B54
-:10244000020EE66EE66AF0EC06F0E552E55200098F
-:102450000AE1020EE66E010EE66EF0EC06F0E552C1
-:10246000E55200090AE00A0EE66E85EC30F0E5520E
-:10247000020EE66E03EC07F0E55201015151020A2B
-:1024800010E0030A01E021D0020EE66EEAEC2AF029
-:10249000E55255EC07F0000903E00101020E516F0F
-:1024A00016D0200EE66E030EE66EC80EE66EE66AE5
-:1024B000E80EE66E030EE66E4AEC09F0006E060EBC
-:1024C000E15E00500101516B02D00101516B01012D
-:1024D0004751481102E1000E08D047C1E9FF48C149
-:1024E000EAFFEF50800B01E0010E000902E02BEF44
-:1024F0001BF005010251070A02E18CEF1AF00D0AE8
-:1025000001E156D2010A01E126D20D0A01E1BED154
-:10251000040A1AE0030A07E0010A02E0EAEF1AF0EF
-:10252000FF002BEF1BF0E66AD7EC2FF0E552DF6ED1
-:10253000000EDB80DFCFE6FFE66AB7EC2FF0E55256
-:10254000E552FF002BEF1BF0010149514A1102E156
-:10255000000E08D049C1E9FF4AC1EAFFEF50800BE5
-:1025600001E0010E000901E08FD100C540F5050131
-:10257000416B0501030E426F0501436B05010851D4
-:10258000100A01E135D11F0A01E1F8D0080A01E182
-:10259000BBD0010A01E17ED0020A71E0070A64E0C3
-:1025A000010A20E0030A06E0010A01E043D167C105
-:1025B00048F543D10501486B6B0E006E600E016E4D
-:1025C000026A00C0E6FF01C0E6FF02C0E6FF480E57
-:1025D000E66E050EE66E9BEC2FF0036E050EE15ED7
-:1025E00003502BD10501486B5F0E006E600E016E2B
-:1025F000026A00C0E6FF01C0E6FF02C0E6FF480E27
-:10260000E66E050EE66E9BEC2FF0036E050EE15EA6
-:1026100003505D0E006E600E016E026A00C0E6FFA0
-:1026200001C0E6FF02C0E6FF480EE66E050EE66E4C
-:102630009BEC2FF0036E050EE15E0350540E006E0E
-:10264000600E016E026A00C0E6FF01C0E6FF02C034
-:10265000E6FF480EE66E050EE66E9BEC2FF0036E6D
-:10266000050EE15E0350E9D092CF48F593CF49F5CE
-:1026700094CF4AF595CF4BF596CF4CF5DED080CF71
-:1026800048F581CF49F582CF4AF583CF4BF584CF0A
-:102690004CF5D3D0E66A44EC2AF0E552010E3DC079
-:1026A000DBFF020E3EC0DBFF030E3FC0DBFF040E6C
-:1026B00040C0DBFF040EDBCF48F5030EDBCF49F54E
-:1026C000020EDBCF4AF5010EDBCF4BF5010EE66EB5
-:1026D00044EC2AF0E552010E3DC0DBFF020E3EC085
-:1026E000DBFF030E3FC0DBFF040E40C0DBFF040E28
-:1026F000DBCF4CF5030EDBCF4DF5020EDBCF4EF5F5
-:10270000010EDBCF4FF599D0E66A0DEC09F0E552EA
-:10271000010E3DC0DBFF020E3EC0DBFF030E3FC0DB
-:10272000DBFF040E40C0DBFF040EDBCF48F5030ED9
-:10273000DBCF49F5020EDBCF4AF5010EDBCF4BF5BF
-:10274000010EE66E0DEC09F0E552010E3DC0DBFF17
-:10275000020E3EC0DBFF030E3FC0DBFF040E40C095
-:10276000DBFF040EDBCF4CF5030EDBCF4DF5020E85
-:10277000DBCF4EF5010EDBCF4FF55FD0E66A28ECDC
-:1027800009F0E552010E3DC0DBFF020E3EC0DBFF4B
-:10279000030E3FC0DBFF040E40C0DBFF040EDBCFA7
-:1027A00048F5030EDBCF49F5020EDBCF4AF5010EEB
-:1027B000DBCF4BF5010EE66E28EC09F0E552010E79
-:1027C0003DC0DBFF020E3EC0DBFF030E3FC0DBFF60
-:1027D000040E40C0DBFF040EDBCF4CF5030EDBCF55
-:1027E0004DF5020EDBCF4EF5010EDBCF4FF525D0B8
-:1027F000E66A3EEC09F0E552050EF3CFDBFF060E6C
-:10280000F4CFDBFF060EDBCF48F5050EDBCF49F535
-:10281000010EE66E3EEC09F0E552050EF3CFDBFF4C
-:10282000060EF4CFDBFF060EDBCF4AF5050EDBCF3D
-:102830004BF503D00501020E436F400EE66E400ECD
-:10284000E66E050EE66E010EE66E010EE66E9CEC7F
-:1028500020F0006E050EE15E0050F3CF49F1F4CF99
-:102860004AF1400EE66E000EE66E050EE66EE66A72
-:10287000010EE66E9CEC20F0006E050EE15E00504D
-:10288000F3CF47F1F4CF48F12BEF1BF005010851CE
-:10289000030A37E0010A25E0030A13E0010A01E018
-:1028A00040D005010951921205010A519312050108
-:1028B0000B51941205010C51951205010D51961200
-:1028C00035D00501091D921605010A1D9316050153
-:1028D0000B1D941605010C1D951605010D1D961670
-:1028E00025D00501091D891605010A1D8A16050155
-:1028F0000B1D8B1605010C1D8C1605010D1D8D166B
-:1029000015D005010951891205010A518A120501E4
-:102910000B518B1205010C518C1205010D518D12BA
-:1029200005D0030EE66E85EC30F0E552400EE66E03
-:10293000000EE66E050EE66EE66A010EE66E9CEC93
-:1029400020F0006E050EE15E0050F3CF47F1F4CFAA
-:1029500048F12BEF1BF005010851020A09E0030AB8
-:1029600001E00CD009C5E6FFEAEC2AF0E5520BD0F5
-:1029700009C5E6FFFAEC2AF0E55205D0010EE66E35
-:1029800085EC30F0E552400EE66E000EE66E050E68
-:10299000E66EE66A010EE66E9CEC20F0006E050E17
-:1029A000E15E0050F3CF47F1F4CF48F12BEF1BF07D
-:1029B00005010851060A02E14BEF1AF0080A02E18C
-:1029C00011EF1AF0030A02E108EF1AF0070A02E118
-:1029D000A4EF19F0030A02E1ECEF18F0010A01E19B
-:1029E0000BD30F0A01E1F4D2020A01E1A9D2150AC0
-:1029F00001E16AD2140A01E139D2070A01E108D2E1
-:102A0000010A01E1D7D1030A01E1A6D1010A01E1DE
-:102A1000A0D10C0A01E126D1030A01E194D0040AF5
-:102A200002E073EF1AF00501095104E0020E0501FE
-:102A3000095D40E10AC5E6FF010EE66EB7EC2FF036
-:102A4000E552E5520BC5E6FF020EE66EB7EC2FF03D
-:102A5000E552E5520CC5E6FF030EE66EB7EC2FF02B
-:102A6000E552E5520DC5E6FF040EE66EB7EC2FF019
-:102A7000E552E5520EC5E6FF050EE66EB7EC2FF007
-:102A8000E552E5520FC5E6FF060EE66EB7EC2FF0F5
-:102A9000E552E55210C5E6FF070EE66EB7EC2FF0E3
-:102AA000E552E55211C5E6FF080EE66EB7EC2FF0D1
-:102AB000E552E5520501090504E0020E0501095D34
-:102AC00040E10AC5E6FF090EE66EB7EC2FF0E552CD
-:102AD000E5520BC5E6FF0A0EE66EB7EC2FF0E552A5
-:102AE000E5520CC5E6FF0B0EE66EB7EC2FF0E55293
-:102AF000E5520DC5E6FF0C0EE66EB7EC2FF0E55281
-:102B0000E5520EC5E6FF0D0EE66EB7EC2FF0E5526E
-:102B1000E5520FC5E6FF0E0EE66EB7EC2FF0E5525C
-:102B2000E55210C5E6FF0F0EE66EB7EC2FF0E5524A
-:102B3000E55211C5E6FF100EE66EB7EC2FF0E55238
-:102B4000E55278EF1AF000C540F50501416B05012B
-:102B5000030E426F0501436B010EE66ED7EC2FF0BA
-:102B6000E5520501486F020EE66ED7EC2FF0E552F4
-:102B70000501496F030EE66ED7EC2FF0E552050113
-:102B80004A6F040EE66ED7EC2FF0E55205014B6F4D
-:102B9000050EE66ED7EC2FF0E55205014C6F060EE0
-:102BA000E66ED7EC2FF0E55205014D6F070EE66E8D
-:102BB000D7EC2FF0E55205014E6F080EE66ED7EC0C
-:102BC0002FF0E55205014F6F090EE66ED7EC2FF09E
-:102BD000E5520501506F0A0EE66ED7EC2FF0E55274
-:102BE0000501516F0B0EE66ED7EC2FF0E552050193
-:102BF000526F0C0EE66ED7EC2FF0E5520501536FC5
-:102C00000D0EE66ED7EC2FF0E5520501546F0E0E57
-:102C1000E66ED7EC2FF0E5520501556F0F0EE66E0C
-:102C2000D7EC2FF0E5520501566F100EE66ED7EC8B
-:102C30002FF0E5520501576F400EE66E400EE66E2E
-:102C4000050EE66E010EE66E010EE66E9CEC20F0BF
-:102C5000006E050EE15E0050F3CF49F1F4CF4AF16A
-:102C600078EF1AF0E66A010EE66EB7EC2FF0E55247
-:102C7000E552010EE66E020EE66EB7EC2FF0E5525D
-:102C8000E552E66A030EE66EB7EC2FF0E552E55228
-:102C9000E66A040EE66EB7EC2FF0E552E552E66AFE
-:102CA000050EE66EB7EC2FF0E552E552E66A060E29
-:102CB000E66EB7EC2FF0E552E552270EE66E070EF2
-:102CC000E66EB7EC2FF0E552E552100EE66E080EF8
-:102CD000E66EB7EC2FF0E552E552E66A090EE66EB5
-:102CE000B7EC2FF0E552E552010EE66E0A0EE66EE5
-:102CF000B7EC2FF0E552E552E66A0B0EE66EB7EC44
-:102D00002FF0E552E552E66A0C0EE66EB7EC2FF0B6
-:102D1000E552E552E66A0D0EE66EB7EC2FF0E5528D
-:102D2000E552E66A0E0EE66EB7EC2FF0E552E5527C
-:102D3000270EE66E0F0EE66EB7EC2FF0E552E55269
-:102D4000100EE66E100EE66EB7EC2FF0E552E5526F
-:102D5000CFD355EC07F0CCD3060E09C5DBFF050E2B
-:102D60000AC5DBFF080E0BC5DBFF070E0CC5DBFF3A
-:102D70000A0E0DC5DBFF090E0EC5DBFF090EDBCF0A
-:102D8000E6FF0A0EDBCFE6FF070EDBCFE6FF080EFD
-:102D9000DBCFE6FF050EDBCFE6FF060EDBCFE6FF5F
-:102DA0004AEC09F0006E060EE15E00500101010ED2
-:102DB000526F9ED3060E09C5DBFF050E0AC5DBFF69
-:102DC000080E0BC5DBFF070E0CC5DBFF0A0E0DC599
-:102DD000DBFF090E0EC5DBFF090EDBCFE6FF0A0E97
-:102DE000DBCFE6FF070EDBCFE6FF080EDBCFE6FF0B
-:102DF000050EDBCFE6FF060EDBCFE6FF51EC09F058
-:102E0000006E060EE15E00500101010E526F70D39C
-:102E1000060E09C5DBFF050E0AC5DBFF080E0BC554
-:102E2000DBFF070E0CC5DBFF0A0E0DC5DBFF090E2D
-:102E30000EC5DBFF090EDBCFE6FF0A0EDBCFE6FF98
-:102E4000070EDBCFE6FF080EDBCFE6FF050EDBCF7C
-:102E5000E6FF060EDBCFE6FF58EC09F0006E060E2B
-:102E6000E15E00500101010E526F42D3060E09C50A
-:102E7000DBFF050E0AC5DBFF080E0BC5DBFF070EE7
-:102E80000CC5DBFF0A0E0DC5DBFF090E0EC5DBFF0F
-:102E9000090EDBCFE6FF0A0EDBCFE6FF070EDBCF26
-:102EA000E6FF080EDBCFE6FF050EDBCFE6FF060EE2
-:102EB000DBCFE6FF67EC09F0006E060EE15E005026
-:102EC0000101010E526F14D3060E09C5DBFF050E7A
-:102ED0000AC5DBFF080E0BC5DBFF070E0CC5DBFFC9
-:102EE0000A0E0DC5DBFF090E0EC5DBFF0C0E0FC56C
-:102EF000DBFF0B0E10C5DBFF11C5E6FF0B0EDBCFB2
-:102F0000E6FF0C0EDBCFE6FF090EDBCFE6FF0A0E75
-:102F1000DBCFE6FF070EDBCFE6FF080EDBCFE6FFD9
-:102F2000050EDBCFE6FF060EDBCFE6FF74EC09F003
-:102F3000006E090EE15E00500101010E526FD8D201
-:102F4000060E09C5DBFF050E0AC5DBFF080E0BC523
-:102F5000DBFF070E0CC5DBFF0A0E0DC5DBFF090EFC
-:102F60000EC5DBFF0C0E0FC5DBFF0B0E10C5DBFF24
-:102F70000E0E12C5DBFF0D0E13C5DBFF0D0EDBCFF2
-:102F8000E6FF0E0EDBCFE6FF11C5E6FF0B0EDBCF33
-:102F9000E6FF0C0EDBCFE6FF090EDBCFE6FF0A0EE5
-:102FA000DBCFE6FF070EDBCFE6FF080EDBCFE6FF49
-:102FB000050EDBCFE6FF060EDBCFE6FFB5EC09F032
-:102FC000006E0B0EE15E00500101010E526F90D2B7
-:102FD000060E0AC5DBFF050E0BC5DBFF050EDBCFBA
-:102FE000E6FF060EDBCFE6FF09C5E6FF03EC09F0BE
-:102FF000E552E552E5527CD2060E0AC5DBFF050E0E
-:103000000BC5DBFF080E0CC5DBFF070E0DC5DBFF94
-:103010000A0E0EC5DBFF090E0FC5DBFF09C5E6FF73
-:1030200003EC07F0E552090EDBCF3FF00A0EDBCFD1
-:1030300040F0F1EC21F03EC008F03FC009F040C084
-:103040000AF041C00BF0330E436EE20E446EC20E26
-:10305000456E420E466E08C03EF009C03FF00AC001
-:1030600040F00BC041F00BEC23F03EC004F03FC039
-:1030700005F040C006F041C007F0CC0E436EBC0E18
-:10308000446E8C0E456E3B0E466E04C03EF005C08D
-:103090003FF006C040F007C041F00BEC23F0A7EC76
-:1030A00023F03DC000F03EC001F03FC002F040C040
-:1030B00003F000C0E6FF01C0E6FF02C0E6FF03C068
-:1030C000E6FF070EDBCF3FF0080EDBCF40F0F1EC60
-:1030D00021F03EC014F03FC015F040C016F041C0D2
-:1030E00017F0330E436EE20E446EC20E456E420E72
-:1030F000466E14C03EF015C03FF016C040F017C039
-:1031000041F00BEC23F03EC010F03FC011F040C086
-:1031100012F041C013F0BD0E436E370E446E860EA2
-:10312000456E410E466E10C03EF011C03FF012C019
-:1031300040F013C041F00BEC23F0A7EC23F03DC0AE
-:103140000CF03EC00DF03FC00EF040C00FF00CC0C0
-:10315000E6FF0DC0E6FF0EC0E6FF0FC0E6FF050E5E
-:10316000DBCF3FF0060EDBCF40F0F1EC21F03EC0AC
-:103170001CF03FC01DF040C01EF041C01FF0330ED8
-:10318000436EE20E446EC20E456E420E466E1CC089
-:103190003EF01DC03FF01EC040F01FC041F00BECE0
-:1031A00023F0A7EC23F03DC018F03EC019F03FC05B
-:1031B0001AF040C01BF018C0E6FF19C0E6FF1AC0A5
-:1031C000E6FF1BC0E6FF09C5E6FFD7EC07F0206E5F
-:1031D0000D0EE15E20508CD1060E0AC5DBFF050EF8
-:1031E0000BC5DBFF080E0CC5DBFF070E0DC5DBFFB3
-:1031F00009C5E6FF03EC07F0E5520EC5E6FF070E32
-:10320000DBCF3FF0080EDBCF40F0F1EC21F03EC009
-:1032100008F03FC009F040C00AF041C00BF0330E87
-:10322000436EE20E446EC20E456E420E466E08C0FC
-:103230003EF009C03FF00AC040F00BC041F00BEC7B
-:1032400023F03EC004F03FC005F040C006F041C08E
-:1032500007F0CC0E436EBC0E446E8C0E456E3B0EDA
-:10326000466E04C03EF005C03FF006C040F007C007
-:1032700041F00BEC23F0A7EC23F03DC000F03EC082
-:1032800001F03FC002F040C003F000C0E6FF01C003
-:10329000E6FF02C0E6FF03C0E6FF050EDBCF3FF00E
-:1032A000060EDBCF40F0F1EC21F03EC014F03FC041
-:1032B00015F040C016F041C017F0330E436EE20E19
-:1032C000446EC20E456E420E466E14C03EF015C0EE
-:1032D0003FF016C040F017C041F00BEC23F03EC0A9
-:1032E00010F03FC011F040C012F041C013F0BD0E0D
-:1032F000436E370E446E860E456E410E466E10C00C
-:103300003EF011C03FF012C040F013C041F00BEC92
-:1033100023F0A7EC23F03DC00CF03EC00DF03FC001
-:103320000EF040C00FF00CC0E6FF0DC0E6FF0EC06F
-:10333000E6FF0FC0E6FF09C5E6FF42EC08F0186E95
-:103340000A0EE15E1850D4D0060E0AC5DBFF050E4A
-:103350000BC5DBFF09C5E6FF03EC07F0E5520CC522
-:10336000E6FF050EDBCF3FF0060EDBCF40F0F1ECC1
-:1033700021F03EC008F03FC009F040C00AF041C053
-:103380000BF0330E436EE20E446EC20E456E420EDB
-:10339000466E08C03EF009C03FF00AC040F00BC0C6
-:1033A00041F00BEC23F03EC004F03FC005F040C0FC
-:1033B00006F041C007F0BD0E436E370E446E860E18
-:1033C000456E410E466E04C03EF005C03FF006C09B
-:1033D00040F007C041F00BEC23F0A7EC23F03DC018
-:1033E00000F03EC001F03FC002F040C003F000C05A
-:1033F000E6FF01C0E6FF02C0E6FF03C0E6FF09C525
-:10340000E6FFB0EC08F00C6E060EE15E0C5070D0DA
-:1034100009C5E6FFC8EC08F0E5520101010E526F44
-:1034200067D02DEC0CF0050EF3CFDBFF060EF4CFCA
-:10343000DBFF3CEC0CF0070EF3CFDBFF080EF4CF04
-:10344000DBFF00C540F50501416B0501030E426F2E
-:103450000501436B060EDBCF48F5050EDBCF49F5C2
-:10346000080EDBCF4AF5070EDBCF4BF5400EE66EBC
-:10347000400EE66E050EE66E010EE66E010EE66E7D
-:103480009CEC20F0006E050EE15E0050F3CF49F198
-:10349000F4CF4AF12DD000C540F50501416B05017F
-:1034A000030E426F0501436B4CEC0CF0000904E085
-:1034B0000501010E486F02D00501486B400EE66E13
-:1034C000400EE66E050EE66E010EE66E010EE66E2D
-:1034D0009CEC20F0006E050EE15E0050F3CF49F148
-:1034E000F4CF4AF105D0010EE66E85EC30F0E552DE
-:1034F000400EE66E000EE66E050EE66EE66A010E02
-:10350000E66E9CEC20F0006E050EE15E0050F3CFFD
-:1035100047F1F4CF48F19FD0010149514A1102E12E
-:10352000000E08D049C1E9FF4AC1EAFFEF50800B05
-:1035300001E0010E00094DE10101010E516F05018D
-:10354000406B01014C514C2B0501416F0501050EEB
-:10355000426F0501436B0501486B400E006E600E23
-:10356000016E026A00C0E6FF01C0E6FF02C0E6FF8E
-:10357000480EE66E050EE66E9BEC2FF0036E050E10
-:10358000E15E0350400EE66E400EE66E050EE66EFE
-:10359000010EE66E010EE66E9CEC20F0006E050E4C
-:1035A000E15E0050F3CF49F1F4CF4AF1400EE66EF0
-:1035B000000EE66E050EE66EE66A010EE66E9CEC07
-:1035C00020F0006E050EE15E0050F3CF47F1F4CF1E
-:1035D00048F141D0010149514A1102E1000E08D0E1
-:1035E00049C1E9FF4AC1EAFFEF50800B01E0010E3B
-:1035F000000931E100C540F50501416B0501030EED
-:10360000426F0501010E436F400EE66E400EE66EFE
-:10361000050EE66E010EE66E010EE66E9CEC20F0E5
-:10362000006E050EE15E0050F3CF49F1F4CF4AF190
-:10363000400EE66E000EE66E050EE66EE66A010EC0
-:10364000E66E9CEC20F0006E050EE15E0050F3CFBC
-:1036500047F1F4CF48F10F0EE15C02E2E16AE55276
-:10366000E16EE552E7CFD9FF120001015351541129
-:1036700004E1100E536F270E546F5307000E545B76
-:103680006DA207D0535154112EE18C748CB413D019
-:1036900027D00101005102E18C9422D0000502E103
-:1036A0008C8409D0020E005D02E18C8419D0040ED6
-:1036B000005D03E18C948C861200100E005D06E123
-:1036C0000101535154110FE18C740AD0200E005D9A
-:1036D0000AE101015351541106E18C748CA402D00B
-:1036E0008C9612008C861200E66A010EE66E020EBF
-:1036F000E66E03EC09F0E552E552E55212001200C5
-:10370000120012003BEF2EF012001E0EE66E010EAC
-:10371000E66E6AEC20F0E552E552400EE66E000ED1
-:10372000E66E050EE66EE66A010EE66E9CEC20F093
-:10373000006E050EE15E0050F3CF47F1F4CF48F183
-:1037400012006D840101080E686F070E696F68072B
-:10375000000E695B68516911FAE16D941200D9CFCE
-:10376000E6FFE1CFD9FFFD0EDBCF3FF0FE0EDBCF52
-:1037700040F0010E3F1801E1405033E0E8683F1887
-:1037800002E1E86840182BE0030E3F1801E14050C9
-:1037900024E0040E3F1801E140501DE0020E3F18E6
-:1037A00001E1405016E0170E3F1801E140500FE0D4
-:1037B000160E3F1801E1405008E0150E3F1801E1D8
-:1037C000405001E010D0A1DF0FD09EDF0DD09ADF76
-:1037D0000BD096DF09D088DF07D091DF05D091DFCD
-:1037E00003D0000001D000D0010E00D0E552E7CF99
-:1037F000D9FF12004BD8E652D0B202D0010E15D03C
-:10380000D0B802D0020E11D0D0B002D0030E0DD02D
-:10381000D0B602D0040E09D0FCAE02D0050E05D001
-:10382000FCAC02D0060E01D0070EDF6ED088D08629
-:10383000D084D082D080FC9EFC9CDF50E552E552C3
-:10384000E7CFD9FF1200E65221D8020EE126F3504D
-:10385000DF6E010EF4CFDBFF1200C00EE66EE00E4D
-:10386000E66E69EC30F0E552E5521200DF50F36E7F
-:10387000010EDB50F46E020EE15C1200DFCFE6FFBA
-:10388000E66AB7EC2FF0E552E5521200D9CFE6FF19
-:06389000E1CFD9FF120098
-:0A38960043EC21F06A6A686A76ECE0
-:1038A00021F06D8C6E6A26EC21F06D9CDF6A57EC7E
-:1038B00021F010E2DF50040DF3CFE9FFF4CFEAFF6F
-:1038C000000EE926040EEA22EE6AEE6AEE6AEE6A5D
-:1038D000DF2AEDD7160E706E68A604D0030EECEC4E
-:1038E00020F0FAD70101136B186B196B1A6B6D98E6
-:1038F000080E0B6F040E0C6F016B006BE55201EFAD
-:1039000021F043EC21F0010100510BE16D6A696A7D
-:1039100076EC21F06DB602D06D86FCD70101010E68
-:10392000006F000508E16DBA06D0686A696A6980AF
-:103930006988020E006F6850040B07E06950040BA1
-:1039400004E0020EECEC20F089D86DB247D068504C
-:10395000010B14E06950010B11E09DDF0101040E21
-:10396000006F0401200E026F040E036F080E016F3A
-:10397000006B8C0E0013E66AB5EC21F06850100B5A
-:1039800007E06950100B04E060D8040EECEC20F066
-:103990006850400B0BE06950400B08E07DEC21F0D3
-:1039A000020EF4EC20F0060EECEC20F06850200B38
-:1039B00004E06950200B01E035D86850020B0AE0A2
-:1039C0006950020B07E07DEC21F0E668E668D5EC73
-:1039D00021F06A6A040E0101005D02E2A19A1FD083
-:1039E00069A61CD0DF6A040EDF5C18E268A616D058
-:1039F0006CCF20F1030EECEC20F0780E01012015C5
-:103A000002E138D809D0000EE66EE66A200EE66EB6
-:103A1000010EE66E010EE8DBDF2AE5D7A19AE5523A
-:103A200001EF21F070A00ED00FEC21F0EF508008D4
-:103A300008E1D5DBEF50840804E10FEC21F08C0E97
-:103A4000EF6E7090050EECEF20F06984040EC4DB7D
-:103A50006D822FEC21F0040EF4EF20F02FEC21F01A
-:103A6000030EC2DB6D92699468A403D0020EB4DB2E
-:103A7000FBD7120043EC21F0FD0E010120153DE1C2
-:103A80007E0E2015E8407F0B040DF3CF03F1F4CF39
-:103A900004F1000E0327040E042303C105F104C141
-:103AA00006F10575BCDBEF503C0BE842E8420D081F
-:103AB00022E1B5DBACEC21F0EECF00F0EFCF01F06E
-:103AC000280E001816E1040E011813E1E6EC21F0AF
-:103AD000DF6AEDDB0EE2DF505FEC21F0DF50EA6AD7
-:103AE000200FE96E040EEA22E552E750EF6EDF2A5E
-:103AF000F0D70AD807D01AD805D0FD0E2015040833
-:103B000001E122D8E5527DD36ADBEF50800B02E061
-:103B100066DBEF6A01010F6B106B146B156B136B97
-:103B200064D89DDB170E60DB2AEF1FF0020E010147
-:103B3000105D02E1B7EF1FF034D80101215102E11D
-:103B4000B1EF21F0216B12009EDB49DBEF50400BFF
-:103B500001E0010EDF6E01010B75080E005D09E149
-:103B600022C46EFF6E50000802E2100E01D0040E57
-:103B7000006F100513E1EAEC21F0A6D9020E010155
-:103B80000F5D03E12CDB840E07D0DF5003E127DB60
-:103B9000C80E02D024DB880EEF6E01D002D8E552A9
-:103BA00030D32BDB0101106B1ADBEF6A040E0B190B
-:103BB000006E0CC101F0DE6E0CC1DDFF19DBEF6A97
-:103BC00018AF0CD01B511C1107E005D01CC1FAFF27
-:103BD00001011B51F96EFADF0101189F020EE15C31
-:103BE00002E2E16AE552E16E0CD304012051600B60
-:103BF000E842E842E842E842E842000901E01200F7
-:103C000021510C0A45E00B0A3FE00C0A31E0010AA1
-:103C100022E00B0A1EE0020A1CE0030A18E0080A70
-:103C200010E0010A0CE00F0A08E0030A01E01200AC
-:103C30000101138F080E006F1200AAEF1EF013EFA0
-:103C400020F00101010E116F010E126F0CD0EBEF8D
-:103C50001EF049EF1EF024510101116F126B020E8C
-:103C60001127010E12231381010E146F138F1200FE
-:103C70000101138F04012451EA6A020FE96E010E5B
-:103C8000EA2222C4EFFF1200EADA160EF4EF20F067
-:103C900012007EDB040EE1260401220510E1205112
-:103CA0001F0B00090CE10101138F030E0401215DBC
-:103CB00004E10101010E1F6F02D001011F6B04011D
-:103CC000225141E120511F0B02083DE124510F0B0D
-:103CD000000939E00101138F040124BF05D0A4DAE3
-:103CE000070EE926010E04D09FDA0B0EE926010E1D
-:103CF000D2DA030E215D03E17BDA840E23D0245156
-:103D00000F0B016A700F006E0F0E0122020E00C031
-:103D1000DBFF030E01C0DBFF020EDBCFE9FF030E6A
-:103D2000DBCFEAFFEE90ED5224AF06D061DAEF6A06
-:103D3000DF745EDA400E06D05BDA880EEF6EDF7459
-:103D400057DAC80EEF6E040EE15C02E2E16AE5525A
-:103D5000E16E57D2800E0401205D3CE10101C00EEE
-:103D6000136F04012351030A1EE0010A09E0030A4C
-:103D70002FE10101440E116F5D0E126F120E22D061
-:103D8000C3DAEE0EF6265D0EA2DA020E0101F76A24
-:103D90001125F66E1251F7220900F5CF14F10A0031
-:103DA000F5CF15F11200030E225D0FE2ADDAF00E31
-:103DB000F6265D0E8CDA11C1F6FF12C1F7FF08007E
-:103DC000F5500101146F156B12000101136B120005
-:103DD0000101136B120011DA0401286B296B2051C9
-:103DE0001F0B020A11E0030A0CE0010A22E10101A3
-:103DF000138F0401288101011F051BE104012883A1
-:103E000018D00101138F15D00101138F040124BFB5
-:103E100005D00ADA070EE926010E04D005DA0B0EEA
-:103E2000E926010E38DAE4D9EF50040B02E0010E66
-:103E3000286F010113AF07D0280E116F040E126F07
-:103E40001381020E146F020EE15C02E2E16AE55298
-:103E5000E16ED7D16D98010113BF08D018AF02D021
-:103E600061DA2AD07EDABBD9840E27D018BF2BD0D6
-:103E7000040120AF24D0010114510401265D010189
-:103E800015510401275904E226C414F127C415F181
-:103E90001BD80101010E106FA1DA800EEF6E216BAD
-:103EA000BED9EE52080EEF6E91DAB9D9840EEF6EDC
-:103EB000010E216F8FDA93D9C80EEF6E1200010147
-:103EC00031DAC80EEF6E120098D90101080E145DA8
-:103ED000000E15590DE214C1DEFF15C1DDFF0F51B3
-:103EE00002E1010E03D00F0506E1020E0F6F03D0B1
-:103EF000080EDE6EDD6A73D9EF9271D9EF906FD93B
-:103F0000010EDB50EF126BD9EE52DFCFEFFF000E48
-:103F1000DB50145F010EDB50155B280E1D6F040E85
-:103F20001E6F13B10FD0F7D91BE011C1F6FF12C1FC
-:103F3000F7FF112B000E12230800F55096D9F3E27B
-:103F4000DB06F1D7E8D90CE011C1E9FF12C1EAFFA5
-:103F5000112B000E1223EF5088D9F4E2DB06F2D7C2
-:103F6000020EE15C02E2E16AE552E16E4AD145D916
-:103F700056D9EE52EFCFDFFFDFCF00F00050010146
-:103F8000195D000E1A5903E219C1DFFF09D0DF5095
-:103F9000006E016AE850195D196F01501A591A6FC5
-:103FA000010EDB6ADF50F36E010EDBCFF4FFF3503E
-:103FB000F45C10E2010EDB5082D916C1E9FF17C193
-:103FC000EAFF162B000E1723E552E750EF6E010EA5
-:103FD000DB2AE8D7000ED8801955000E1A550DE2DD
-:103FE000F4D854D91CD9EF50400B03E1EAD9C80EDC
-:103FF00002D0E7D9880EEF6E0FD0F0D9840EEF6EA5
-:104000001B511C1107E005D01CC1FAFF01011B5117
-:10401000F96EFADF0101189F020EE15...
[truncated message content] |