Merge remote-tracking branch 'upstream/dev' into dev

This commit is contained in:
Michael Tryby
2019-02-01 11:41:19 -05:00
13 changed files with 1374 additions and 285 deletions

7
.gitignore vendored
View File

@@ -224,5 +224,10 @@ temp/
nrtestsuite/ nrtestsuite/
tests/data/ tests/data/
#Cmake generated export headers #Cmake stuff
buildprod*/
*_export.h *_export.h
# git merge
*.orig

View File

@@ -69,8 +69,8 @@ ENDIF (MSVC)
# configure file groups # configure file groups
file(GLOB EPANET_SOURCES src/*.c) file(GLOB EPANET_SOURCES src/*.c src/util/*.c)
file(GLOB EPANET_LIB_ALL src/*.c src/*.h) file(GLOB EPANET_LIB_ALL src/* src/util/*)
source_group("Library" FILES ${EPANET_LIB_ALL}) source_group("Library" FILES ${EPANET_LIB_ALL})

View File

@@ -80,14 +80,15 @@ Contributors to this version (listed in order of first contribution):
``` ```
ENopenH(); ENopenH();
ENopenQ();
ENinitH(0); ENinitH(0);
ENinitQ(EN_NOSAVE); ENinitQ(EN_NOSAVE);
do { do {
ENrunH(&t); ENrunH(&t);
ENrunQ(&qt); ENrunQ(&qt);
ENnextQ(&qstep);
// collect results // collect results
ENnextH(&tstep); ENnextH(&tstep);
ENnextQ(&qstep);
} while (tstep > 0); } while (tstep > 0);
ENcloseQ(); ENcloseQ();
ENcloseH(); ENcloseH();

View File

@@ -109,8 +109,8 @@ int ENgetdemandmodel(int *modelType, double *pMin, double *pReq, double *pExp);
``` ```
for the legacy API and for the legacy API and
``` ```
int EN_setdemandmodel(EN_Project *pr, int modelType, double pMin, double pReq, double pExp); int EN_setdemandmodel(EN_Project ph, int modelType, double pMin, double pReq, double pExp);
int EN_getdemandmodel(EN_Project *pr, int *modelType, double *pMin, double *pReq, double *pExp); int EN_getdemandmodel(EN_Project ph, int *modelType, double *pMin, double *pReq, double *pExp);
``` ```
for the thread-safe API. Some additional points regarding the new **PDA** option are: for the thread-safe API. Some additional points regarding the new **PDA** option are:

View File

@@ -1,7 +1,7 @@
%!PS-Adobe-3.0 EPSF-3.0 %!PS-Adobe-3.0 EPSF-3.0
%%Creator: (ImageMagick) %%Creator: (ImageMagick)
%%Title: (/srv/www/vhosts/git_exclude/save/processed/f/e/b/feb24f93-0578-4fbd-bacd-cea373ca6d55/01_974b6e74f4a6ddd6b9fc94889edcc782_png_intermediate_eps/DataFlow3.eps) %%Title: (/srv/www/vhosts/git_exclude/save/processed/5/f/7/5f73a081-3008-4947-be6b-2ae45f4afa5d/01_0631f921834777aef3d754c155093225_png_intermediate_eps/DataFlow.eps)
%%CreationDate: (2019-01-23T17:53:26+01:00) %%CreationDate: (2019-01-27T17:06:23+01:00)
%%BoundingBox: -0 -0 393 292 %%BoundingBox: -0 -0 393 292
%%HiResBoundingBox: 0 0 393.041 292 %%HiResBoundingBox: 0 0 393.041 292
%%DocumentData: Clean7Bit %%DocumentData: Clean7Bit
@@ -7292,8 +7292,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA97A4B530619E3770B6
407ECA64C1F7FFEBE5647ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA64C1F7FFEBE5647ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA3F7CC7 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA3F7CC7
3D78C13A74BB3871B7366DB22E5E9A4C5F76EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFEFEFEFEFEFE 3D78C13A74BB3871B7366DB22E5E9A4C5F76EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
FDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFF
@@ -7333,7 +7333,7 @@ EAEAEA97A4B530619E3770B63A74BD3B77C03D79C43F7CC7407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA3F7CC73D78C13A74BB3871B7366DB22E5E9A4C5F76EAEAEAF8F8F8FDFDFD 407ECA407ECA407ECA3F7CC73D78C13A74BB3871B7366DB22E5E9A4C5F76EAEAEAF8F8F8FDFDFD
FEFEFEFEFEFEFCFCFCDBDBDB4646460000005E5E5EFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDEBEBEB2F2F2F080808757575 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDEBEBEB2F2F2F080808757575
@@ -7373,8 +7373,8 @@ C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBE5647ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA3F7CC73D78C13A74BB3871B7366DB22E5E9A 407ECA407ECA407ECA407ECA407ECA407ECA407ECA3F7CC73D78C13A74BB3871B7366DB22E5E9A
4C5F76EAEAEAF8F8F8FCFCFCFCFCFCEAEAEA737373070707000000000000070707F6F6F6FCFCFC 4C5F76EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFA FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFA
B7B7B7000000000000000000171717929292FBFBFBFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFEFEFE B7B7B7000000000000000000171717929292FBFBFBFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFEFEFE
@@ -7413,8 +7413,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA97A4B530619D3770B63A74BD
FFFFF7A694CA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA FFFFF7A694CA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA3F7CC73D78C1 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA3F7CC73D78C1
3A74BB3871B7366DB22E5E9A4C5F76E9E9E9F6F6F6F9F9F9929292161616000000000000000000 3A74BB3871B7366DB22E5E9A4C5F76EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
000000858585EFEFEFF9F9F9FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFDFDFDF7F7F7EBEBEB454545000000000000000000000000353535C2C2C2FBFBFB FFFFFFFFFFFFFDFDFDF7F7F7EBEBEB454545000000000000000000000000353535C2C2C2FBFBFB
@@ -7453,8 +7453,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA 407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA407ECA
407ECA407ECA3F7CC73D78C13A74BB3871B7366DB22E5E994C5F76E6E6E6BCBCBC2D2D2D000000 407ECA407ECA3F7CC73D78C13A74BB3871B7366DB22E5E9A4C5F76EAEAEAF8F8F8FDFDFDFFFFFF
000000000000000000313131A9A9A9D8D8D8EAEAEAF7F7F7FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF4F4F4E5E5E5D3D3D3888888181818000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF4F4F4E5E5E5D3D3D3888888181818000000
@@ -7493,8 +7493,8 @@ FFFFFFFDFDFDF8F8F8EAEAEA97A4B530619D3770B53A74BC3B77BF3D79C33F7CC7407EC9407EC9
407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9 407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9
407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9 407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9
407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9 407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9
407EC9407EC9407EC9407EC9407EC9407EC93F7CC63D78C03A74BA3871B6366DB02D5D97435468 407EC9407EC9407EC9407EC9407EC9407EC93F7CC63D78C03A74B93871B5366CB02E5D984B5E75
4D4D4D0000000000000000000000001818187F7F7FBCBCBCC7C7C7D9D9D9EAEAEAF6F6F6FBFBFB E7E7E7F5F5F5FAFAFAFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFAFAFAF3F3F3E6E6E6 FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFAFAFAF3F3F3E6E6E6
@@ -7533,8 +7533,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA97A4B530619D3770B53A74BC3B76BF
407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9 407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9
407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9 407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9
407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9 407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9
407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC93F7CC63D78C03A74B9 407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC9407EC93F7CC63D78BF3973B8
3870B53368A9162D49020303000000000000000000000000000000000000000000000000000000 1B3759000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -7574,7 +7574,7 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA97A4B5
FFFFFFFFFFFFFFFFFFFFFFFFFFFFED857DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9 FFFFFFFFFFFFFFFFFFFFFFFFFFFFED857DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9
3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9 3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9
3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9 3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9
3F7DC93F7BC63C77C03A72B92F609C050A10000000000000000000000000000000000000000000 3F7DC93F7BC63C76BE3870B51A3556000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -7614,7 +7614,7 @@ FDFDFDF8F8F8EAEAEA96A4B52F609D366FB53974BC3A75BF3C78C33E7BC63F7DC93F7DC93F7DC9
85D5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A694C93F7DC93F7DC93F7DC93F7DC9 85D5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A694C93F7DC93F7DC93F7DC93F7DC9
3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9 3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9
3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9 3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9
3F7DC93F7DC93F7DC93F7DC93F7DC93E7BC63B77BF3871B7356BAE2750820A1420000000000000 3F7DC93F7DC93F7DC93F7DC93F7DC93E7BC53A75BD366DB1183251000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -7654,9 +7654,9 @@ FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA96A4B52F609D366FB53974BC3A75BE3C78C2
3F7DC93F7DC93F7DC93F7DDBC4FFFFE1C1D33F7DC93FAAEDFFFFED857DC93F7DC964C1F6FFD5DB 3F7DC93F7DC93F7DC93F7DDBC4FFFFE1C1D33F7DC93FAAEDFFFFED857DC93F7DC964C1F6FFD5DB
3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9 3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9
3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9 3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC9
3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93E7BC53B77BE3870B63469AA 3F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93F7DC93E7BC43A74BB356BAE30629E
2F5F9B254C7B252E390F0F0F000000000000000000000000444444A3A3A3B4B4B4B8B8B8BABABA 2A568E234774384657ADADADB7B7B7BBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
BBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
BBBBBBBBBBBBBBBBBBBABABAB7B7B7B3B3B38C8C8C2A2A2A0000000000000000000000002D2D2D BBBBBBBBBBBBBBBBBBBABABAB7B7B7B3B3B38C8C8C2A2A2A0000000000000000000000002D2D2D
@@ -7695,8 +7695,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA96A4B52F609C
857DC83F7DC83F94E4E1FFED857DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 857DC83F7DC83F94E4E1FFED857DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3E7BC53B77BD3871B5346AAB2F609D264D7D3947589E9E9E525252050505000000000000000000 3E7BC43A75BA366CAE30629F2B59902449763A4859B1B1B1BCBCBCBFBFBFC1C1C1C1C1C1C1C1C1
0B0B0B676767BCBCBCBFBFBFC0C0C0C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C0C0C0BEBEBEAFAFAF4F4F4F000000000000000000 C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C0C0C0BEBEBEAFAFAF4F4F4F000000000000000000
@@ -7735,8 +7735,8 @@ F8F8F8EAEAEA96A4B52F609C366FB43974BB3A75BE3C78C23E7BC53F7DC83F7DC83F7DC83F7DC8
C4AAC83F7DC83F7DDBC4FFF6A694C83F7DC83FAAEDFFFFED857DC83F7DC83F7DC83F7DC83F7DC8 C4AAC83F7DC83F7DDBC4FFF6A694C83F7DC83FAAEDFFFFED857DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83E7BC53B77BD3872B7356CAF3164A42852863E4E60B2B2B2B1B1B1 3F7DC83F7DC83F7DC83F7DC83E7BC43A76BC376EB23367A72F5F9B275082405063C5C5C5D1D1D1
969696343434000000000000000000000000202020A9A9A9D4D4D4D6D6D6D6D6D6D7D7D7D7D7D7 D5D5D5D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D5D5D5D3D3D38080800C0C0C D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D5D5D5D3D3D38080800C0C0C
@@ -7775,9 +7775,9 @@ FFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA96A4B52F609C366FB43974BB3A75BE3C78C23E7BC5
3F7DC83F7DC83F7DC885D5FFFFD5DB3F7DC83F7DD2A6EAFFFFFFFFFFFFFFFFFFFFFFD5DB3F7DC8 3F7DC83F7DC83F7DC885D5FFFFD5DB3F7DC83F7DD2A6EAFFFFFFFFFFFFFFFFFFFFFFD5DB3F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83E7BC53B77BE3973B8366FB33369AA 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83E7BC53B76BD3871B5356CAF3266A6
2B588F445569C7C7C7C5C5C5BEBEBEB4B4B48383831B1B1B000000000000000000151515E5E5E5 2B578E47586DD9D9D9E6E6E6EBEBEBEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
EAEAEAECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECEC EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECEC
E9E9E9B8B8B80000000000000000000000003737379A9A9AB7B7B7C2C2C2CFCFCFDDDDDDE9E9E9 E9E9E9B8B8B80000000000000000000000003737379A9A9AB7B7B7C2C2C2CFCFCFDDDDDDE9E9E9
@@ -7816,8 +7816,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA96A4B52F609C366FB4
FFFFFFFFFFED857DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 FFFFFFFFFFED857DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC8
3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83E7BC5 3F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83F7DC83E7BC5
3B77BE3973B93770B4356BAF2D5B95495B70D9D9D9DCDCDCD3D3D3C8C8C8BDBDBDB6B6B6666666 3B77BE3973B8366FB3346AAD2D5B954A5D72E4E4E4F2F2F2F7F7F7F9F9F9F9F9F9F9F9F9F9F9F9
0C0C0C000000292929EAEAEAF4F4F4F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
F9F9F9F9F9F9F9F9F9F7F7F7F2F2F2CACACA0707070000001D1D1D838383B7B7B7C0C0C0CCCCCC F9F9F9F9F9F9F9F9F9F7F7F7F2F2F2CACACA0707070000001D1D1D838383B7B7B7C0C0C0CCCCCC
@@ -7856,8 +7856,8 @@ EAEAEA96A4B42F609B366FB33974BA3A75BD3C78C03E7BC43F7DC73F7DC73F7DC73F7DC73F7DC7
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7
3F7DC73F7DC73F7DC73E7BC43B77BE3973B83770B4356CAE2E5D964B5E74E4E4E4EBEBEBE8E8E8 3F7DC73F7DC73F7DC73E7BC43B77BE3973B83770B3356CAE2E5D964C5F75E9E9E9F7F7F7FCFCFC
DFDFDFD2D2D2C6C6C6BEBEBEB1B1B1949494CACACAEAEAEAF7F7F7FCFCFCFEFEFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFBFBFBF4F4F4E5E5E5B8B8B8929292BDBDBD FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFBFBFBF4F4F4E5E5E5B8B8B8929292BDBDBD
@@ -7897,8 +7897,8 @@ FFFFFFFFFFFFFDFDFDF8F8F8EAEAEA96A4B42F609B366FB33974BA3A75BD3C78C03E7BC43F7DC7
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73E7BC43B77BD3973B83770B4356CAF2E5D97 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73E7BC43B77BD3973B83770B4356CAF2E5D97
4C5F75E8E8E8F4F4F4F5F5F5F0F0F0E7E7E7DCDCDCD1D1D1CBCBCBCECECEDBDBDBECECECF8F8F8 4C5F75EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF5F5F5 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF5F5F5
E8E8E8D7D7D7CCCCCCCCCCCCD4D4D4DFDFDFEAEAEAF2F2F2F8F8F8FCFCFCFEFEFEFEFEFEFEFEFE E8E8E8D7D7D7CCCCCCCCCCCCD4D4D4DFDFDFEAEAEAF2F2F2F8F8F8FCFCFCFEFEFEFEFEFEFEFEFE
@@ -7937,8 +7937,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA96A4B42E609B366EB33873BA
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC7
3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73D7AC43B76BD 3F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73F7DC73D7AC43B76BD
3972B8376FB4356CAF2D5D974C5F75EAEAEAF7F7F7FBFBFBFAFAFAF5F5F5EFEFEFE6E6E6E0E0E0 3972B8376FB4356CAF2D5D974C5F75EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
E0E0E0E8E8E8F2F2F2FAFAFAFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFDFDFDF9F9F9F0F0F0E5E5E5E0E0E0E2E2E2E9E9E9F0F0F0F7F7F7FBFBFBFDFDFD FFFFFFFFFFFFFDFDFDF9F9F9F0F0F0E5E5E5E0E0E0E2E2E2E9E9E9F0F0F0F7F7F7FBFBFBFDFDFD
@@ -7977,8 +7977,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA
FFFFFFFFFFFFFFFFFFFFFFFFE1C0D03E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7 FFFFFFFFFFFFFFFFFFFFFFFFE1C0D03E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7
3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7 3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7
3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7 3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7
3E7CC73E7CC73D79C43A75BD3872B8366FB4346BAF2D5D974C5E75EAEAEAF8F8F8FDFDFDFEFEFE 3E7CC73E7CC73D79C43A75BD3872B8366FB4346BAF2D5D974C5E75EAEAEAF8F8F8FDFDFDFFFFFF
FCFCFCF9F9F9F5F5F5F2F2F2F1F1F1F5F5F5F9F9F9FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF8F8F8F3F3F3F1F1F1F3F3F3F7F7F7 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF8F8F8F3F3F3F1F1F1F3F3F3F7F7F7
@@ -8018,7 +8018,7 @@ FFD5DA3E7CC73E7CC73E7CC73E7CC73E7CC73E7CD0A5EAFFFFFFF6A593C73E7CC73E7CC73E7CC7
3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7 3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7
3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7 3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73E7CC7
3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73D79C33A75BD3872B8366FB4346BAF2D5D974C5E75 3E7CC73E7CC73E7CC73E7CC73E7CC73E7CC73D79C33A75BD3872B8366FB4346BAF2D5D974C5E75
EAEAEAF8F8F8FDFDFDFFFFFFFEFEFEFEFEFEFCFCFCFBFBFBFBFBFBFCFCFCFDFDFDFEFEFEFFFFFF EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFD
@@ -8058,8 +8058,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA96A4B42E5F9A356EB23873B93974BC
FFD5D93E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC6 FFD5D93E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC6
3E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC6 3E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC6
3E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63D79C23A75BC3872B7 3E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63E7CC63D79C23A75BC3872B7
366FB3346BAE2D5D964C5E75EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFE 366FB3346BAE2D5D964C5E75EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@@ -10235,7 +10235,7 @@ A4E9FFE1BDC83B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC
3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC 3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC
3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC 3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC3B75BC
3B75BC3B75BC3B75BC3B75BC3B75BC3A73B9386FB3366CAE3469AA3165A52B578F4B5C72EAEAEA 3B75BC3B75BC3B75BC3B75BC3B75BC3A73B9386FB3366CAE3469AA3165A52B578F4B5C72EAEAEA
F8F8F8FDFDFDFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFF F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@@ -10275,8 +10275,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B22C5A923268A8356CAF376EB23870B5
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3A73B8386FB3366CAE3469A9 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3A73B8386FB3366CAE3469A9
3165A42B578E4B5C71EAEAEAF8F8F8FDFDFDFEFEFEFEFEFEFCFCFCDBDBDB4646460000005E5E5E 3165A42B578E4B5C71EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDEBEBEB2F2F2F080808757575EBEBEBFDFDFDFEFEFE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDEBEBEB2F2F2F080808757575EBEBEBFDFDFDFEFEFE
@@ -10315,8 +10315,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B22C5A92
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3A73B8386FB3366CAE3469A93165A42B578E4B5C71EAEAEAF8F8F8FCFCFCFCFCFCEAEAEA737373 3A73B8386FB3366CAE3469A93165A42B578E4B5C71EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFF
070707000000000000070707F6F6F6FCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBBEBEBE000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBBEBEBE000000000000
@@ -10355,8 +10355,8 @@ F8F8F8EAEAEA95A2B22C5A923268A8356CAF376EB23870B53A73B83B75BB3B75BB3B75BB3B75BB
82D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9DE6075BB3B75BB3B75BB3B75BB3B75BB 82D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9DE6075BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3A73B8386FB3366CAE3469A93165A42B578E4B5C71E9E9E9F6F6F6 3B75BB3B75BB3B75BB3B75BB3A73B8386FB3366CAE3469A93165A42B578E4B5C71EAEAEAF8F8F8
F9F9F9929292161616000000000000000000000000858585EFEFEFF9F9F9FEFEFEFFFFFFFFFFFF FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD
@@ -10396,8 +10396,8 @@ FFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B22C5A923268A8356CAF376EB23870B53A73B8
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB
3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3A73B8386FB3366CAE3469A93165A4 3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3B75BB3A73B8386FB3366CAE3469A93165A4
2B578D4B5C71E6E6E6BCBCBC2D2D2D000000000000000000000000313131A9A9A9D8D8D8EAEAEA 2B578E4B5C71EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
F7F7F7FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFEFEFEFCFCFCF4F4F4E6E6E6D3D3D3888888181818000000000000000000000000 FFFFFFFFFFFFFEFEFEFCFCFCF4F4F4E6E6E6D3D3D3888888181818000000000000000000000000
@@ -10436,8 +10436,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B22C5A913268A7
3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9 3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9
3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9 3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9
3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93A73B7 3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93A73B7
386FB2366CAD3469A83165A22A568B4252644D4D4D0000000000000000000000001818187F7F7F 386FB2366CAC3469A73164A22B568C4A5B70E7E7E7F5F5F5FAFAFAFCFCFCFCFCFCFCFCFCFCFCFC
BCBCBCC7C7C7D9D9D9EAEAEAF6F6F6FBFBFBFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFAFAFAF4F4F4E6E6E6D4D4D4C4C4C4B4B4B4 FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFAFAFAF4F4F4E6E6E6D4D4D4C4C4C4B4B4B4
@@ -10476,7 +10476,7 @@ EAEAEA95A2B12C5A913268A7356CAE376EB13870B43A73B73B75B93B75B93B75B93B75B93B75B9
3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9 3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9
3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9 3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9
3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9 3B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B93B75B9
3B75B93B75B93B75B93A73B7386FB2366CAC3468A72E609B142A43020303000000000000000000 3B75B93B75B93B75B93A73B7386FB1356BAB193352000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -10516,7 +10516,7 @@ FFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B12B59913267A7346BAE366DB1376FB43972B73A74B9
5FBCF3FFFFFFFFFFFFFFFFFFE1BCC53A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9 5FBCF3FFFFFFFFFFFFFFFFFFE1BCC53A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9
3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9 3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9
3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9 3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9
3A74B93A74B93A74B93A74B93A74B93A74B93A74B93972B7376EB2356AAC2C599004090F000000 3A74B93A74B93A74B93A74B93A74B93A74B93A74B93972B7376DB13468A818314F000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -10556,8 +10556,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B12B59913167A7346BAE
3A74B93A74B93A74B95FBCF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3D03A74B93A74B93A74B9 3A74B93A74B93A74B95FBCF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3D03A74B93A74B93A74B9
3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9 3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9
3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9 3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9
3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93972B7376EB1 3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93972B6366CAF
3469AA3164A1234A7809121E000000000000000000000000000000000000000000000000000000 3266A4172E4B000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000
@@ -10597,8 +10597,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA
FFFFF3A38DB93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9 FFFFF3A38DB93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9
3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9 3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9
3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9 3A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B93A74B9
3A74B93A74B93972B6376EB03468A830629E2A588F224671232C360F0F0F000000000000000000 3A74B93A74B93972B5366BAD3164A12C5B9226508220426B374454ADADADB7B7B7BBBBBBBCBCBC
000000444444A3A3A3B4B4B4B8B8B8BABABABBBBBBBBBBBBBBBBBBBCBCBCBCBCBCBCBCBCBCBCBC BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBBBBBBBBBBBBBBBBBB BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBBBBBBBBBBBBBBBBBB
@@ -10637,8 +10637,8 @@ FFFFFFFDFDFDF8F8F8EAEAEA95A2B12B59903167A6346BAD366DB0376FB23972B63A74B83A74B8
3A74B83A74B83A74B83A74D0C2FFFFC2A5B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74D0C2FFFFC2A5B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83972B6376EB03469A930629E2B5990224774374555 3A74B83A74B83A74B83A74B83A74B83A74B83972B5366CAE3265A22D5B9327528521446D384656
9E9E9E5252520505050000000000000000000B0B0B676767BCBCBCBFBFBFC0C0C0C1C1C1C1C1C1 B1B1B1BCBCBCBFBFBFC1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1 C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
@@ -10677,9 +10677,9 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B12B59903167A6346BAD366DB0
3A74B83A74D0C2FFFFC2A5B83A74B83A74B83A74B83A74D0C2FFFFC2A5B83A74B83A74B83A74B8 3A74B83A74D0C2FFFFC2A5B83A74B83A74B83A74B83A74D0C2FFFFC2A5B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83972B6376EB0346AAA 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83972B5366DAF3367A5
3165A22D5D97254C7C3D4B5DB2B2B2B1B1B1969696343434000000000000000000000000202020 2F609A2A588F244A793E4E5FC5C5C5D1D1D1D5D5D5D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
A9A9A9D4D4D4D6D6D6D6D6D6D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7 D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D3D3D38080800C0C0C000000000000000000 D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D3D3D38080800C0C0C000000000000000000
@@ -10718,8 +10718,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B1
FFFFFFFFFFFFFFFFFFFFFFFFFFE9DC5F74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 FFFFFFFFFFFFFFFFFFFFFFFFFFE9DC5F74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83972B6376EB1356BAB3267A52E619D285284425365C7C7C7C5C5C5BEBEBEB4B4B4838383 3A74B83972B6376DB03469A93164A12D5F99275183455669D9D9D9E6E6E6EBEBEBEDEDEDEDEDED
1B1B1B000000000000000000151515E5E5E5EAEAEAECECECEDEDEDEDEDEDEDEDEDEDEDEDEDEDED EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECE9E9E9BFBFBF000000 EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDECECECECECECE9E9E9BFBFBF000000
@@ -10758,8 +10758,8 @@ FDFDFDF8F8F8EAEAEA95A2B12B59903167A6346BAD366DB0376FB23972B63A74B83A74B83A74B8
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE78274B83A74B83A74B83A74B8 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE78274B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8 3A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B83A74B8
3A74B83A74B83A74B83A74B83A74B83972B6376EB0356BAC3368A63063A129558947586CD9D9D9 3A74B83A74B83A74B83A74B83A74B83972B6376EB0356BAB3267A52F629F295589485A6EE4E4E4
DCDCDCD3D3D3C8C8C8BDBDBDB6B6B66666660C0C0C000000292929EAEAEAF4F4F4F8F8F8F9F9F9 F2F2F2F7F7F7F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9 F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
@@ -10798,9 +10798,9 @@ FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B12B598F3167A5346BAC366DAF376FB1
3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7 3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7
3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7 3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7
3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7 3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7
3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73972B5376EB0356BAB3368A6 3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73972B5376EB0356BAB3368A5
3064A02A578B495B6FE4E4E4EBEBEBE8E8E8DFDFDFD2D2D2C6C6C6BEBEBEB1B1B1949494CACACA 3064A02A578B4A5C70E9E9E9F7F7F7FCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
EAEAEAF7F7F7FCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FEFEFEFEFEFEFEFEFEFDFDFDFBFBFBF4F4F4E5E5E5B8B8B8929292BDBDBDC0C0C0C9C9C9D6D6D6 FEFEFEFEFEFEFEFEFEFDFDFDFBFBFBF4F4F4E5E5E5B8B8B8929292BDBDBDC0C0C0C9C9C9D6D6D6
@@ -10839,8 +10839,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B12B598F
3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7 3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7
3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7 3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7
3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7 3A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B73A74B7
3972B5376EAF356BAB3368A63064A12A578C4A5C70E8E8E8F4F4F4F5F5F5F0F0F0E7E7E7DCDCDC 3972B5376EAF356BAB3368A63064A12A578C4A5C70EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFF
D1D1D1CBCBCBCECECEDBDBDBECECECF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF6F6F6E8E8E8D7D7D7CCCCCC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF6F6F6E8E8E8D7D7D7CCCCCC
@@ -10879,8 +10879,8 @@ F8F8F8EAEAEA95A2B12A598F3166A5336AAC356CAF376EB13871B53973B73973B73973B73973B7
3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7 3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7
3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7 3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7
3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7 3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7
3973B73973B73973B73973B73871B5366EAF346AAB3267A63063A129568C4A5C70EAEAEAF7F7F7 3973B73973B73973B73973B73871B5366EAF346AAB3267A63063A129568C4A5C70EAEAEAF8F8F8
FBFBFBFAFAFAF5F5F5EFEFEFE6E6E6E0E0E0E0E0E0E8E8E8F2F2F2FAFAFAFEFEFEFFFFFFFFFFFF FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFD
@@ -10920,8 +10920,8 @@ FFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B12A588F3166A5336AAC356CAF366EB13871B5
3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7 3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7
3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7 3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7
3973B73973B73973B73973B73973B73973B73973B73973B73871B5366DAF346AAB3267A62F63A1 3973B73973B73973B73973B73973B73973B73973B73973B73871B5366DAF346AAB3267A62F63A1
29568C4A5B70EAEAEAF8F8F8FDFDFDFEFEFEFCFCFCF9F9F9F5F5F5F2F2F2F1F1F1F5F5F5F9F9F9 29568C4A5B70EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF8F8F8F3F3F3F1F1F1F3F3F3F7F7F7FAFAFAFDFDFDFEFEFE FFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF8F8F8F3F3F3F1F1F1F3F3F3F7F7F7FAFAFAFDFDFDFEFEFE
@@ -10960,8 +10960,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA95A2B12A588F3166A5
3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7 3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7
3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7 3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B7
3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73871B4 3973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73973B73871B4
366DAF346AAA3267A62F63A129568C4A5B70EAEAEAF8F8F8FDFDFDFFFFFFFEFEFEFEFEFEFCFCFC 366DAF346AAA3267A62F63A129568C4A5B70EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
FBFBFBFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFBFBFBFBFBFBFCFCFC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFBFBFBFBFBFBFCFCFC
@@ -11001,7 +11001,7 @@ EAEAEA95A2B12A588E3166A4336AAB356CAD366EB03871B43973B63973B63973B63973B63973B6
3973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B6 3973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B6
3973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B6 3973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B63973B6
3973B63973B63973B63871B4366DAE346AAA3267A52F63A029568B4A5B70EAEAEAF8F8F8FDFDFD 3973B63973B63973B63871B4366DAE346AAA3267A52F63A029568B4A5B70EAEAEAF8F8F8FDFDFD
FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@@ -13423,7 +13423,7 @@ FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA94A0AE2751842D5E9830619E3164A13366A4
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFEFEFEFFFFFF
FFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EB0B52A89A331A1BE34A8C736ABCA37AECE39B1D13AB3D4 FFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EB0B52A89A331A1BE34A8C736ABCA37AECE39B1D13AB3D4
3AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D4 3AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D4
3AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D4 3AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D43AB3D4
@@ -13463,8 +13463,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA94A0AE275184
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDEBEBEB2F2F2F
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EB0B42A88A2309FBD33A7C6 080808757575EBEBEBFDFDFDFEFEFEFEFEFEFAFAFAF1F1F1DCDCDC9EB0B42A88A2309FBD33A7C6
35AAC936ADCC38B0D039B2D239B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D3 35AAC936ADCC38B0D039B2D239B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D3
39B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D3 39B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D3
39B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D3 39B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D339B2D3
@@ -13504,7 +13504,7 @@ FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC FEFEFEFBFBFBBEBEBE000000000000000000171717929292FBFBFBFCFCFCF9F9F9F1F1F1DCDCDC
9EB0B42987A1309EBC33A6C535A9C836ACCB38AFCF39B1D139B1D139B1D139B1D139B1D139B1D1 9EB0B42987A1309EBC33A6C535A9C836ACCB38AFCF39B1D139B1D139B1D139B1D139B1D139B1D1
39B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D1 39B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D1
39B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D1 39B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D139B1D1
@@ -13544,8 +13544,8 @@ FFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA94A0AE2751842C5D982F619E3064A13266A43368A6
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF7F7F7EBEBEB4D4D4D0000000000000000000000002D2D2D
FEFEFEFAFAFAF1F1F1DCDCDC9EB0B42987A0309EBB33A5C334A8C736ABCA38AECD39B1D039B1D0 B9B9B9F6F6F6EFEFEFDBDBDB9EB0B42987A0309EBB33A5C334A8C736ABCA38AECD39B1D039B1D0
39B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D0 39B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D0
39B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D0 39B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D0
39B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039CCF0FFFFF7A3BFD0 39B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039B1D039CCF0FFFFF7A3BFD0
@@ -13584,8 +13584,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA94A0AE2751842C5D98
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF4F4F4E6E6E6D3D3D3888888
FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EAFB429869F2F9DBA32A4C234A7C5 181818000000000000000000000000525252D5D5D5D9D9D99DAEB329869F2F9DBA32A4C234A7C5
35AAC937ADCC38AFCF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF 35AAC937ADCC38AFCF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF
38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF 38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF
38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF 38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF38B0CF
@@ -13620,13 +13620,13 @@ EAEAEA94A0AE2751842C5D982F619E3063A13265A33368A6356AAA356AAA356AAA356AAA356AAA
356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA 356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA
356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA 356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA
356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA 356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA356AAA
356AAA356AAA356AAA3367A63164A12F619D2D5E982B5B94264F8049596CEAEAEAF8F8F8FDFDFD 356AAA356AAA356AAA3367A63164A12F619D2D5E972B5B93264E7F48586BE8E8E8F5F5F5FAFAFA
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFAFAFA
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EAFB4 F4F4F4E6E6E6D4D4D4C4C4C4B4B4B462626206060600000000000000000007070769696996A7AA
28859E2F9CB931A3C133A6C435A9C836ACCB38AECD38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE 28849D2F9BB831A3C133A6C435A9C836ACCB38AECD38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE
38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE 38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE
38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE 38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE38AFCE
38AFCE38AFCE38AFCE38AFCE38AFCE38CAEFFFFFF7A2BDCE38AFCE38AFCE38CAEFFFFFFFE1D8D6 38AFCE38AFCE38AFCE38AFCE38AFCE38CAEFFFFFF7A2BDCE38AFCE38AFCE38CAEFFFFFFFE1D8D6
@@ -13660,13 +13660,13 @@ FFFFFFFFFFFFFDFDFDF8F8F8EAEAEA94A0AE2750832C5D972F609D3063A03265A33367A53569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93367A53163A02F609C2D5D972B5A93264E80 3569A93569A93569A93569A93569A93569A93569A93367A53163A02F609B2C5C95152C48000000
49586CEAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE 000000000000000000000000000000000000000000000000000000000000000000000000000000
FAFAFAF1F1F1DCDCDC9EAFB428849D2E9BB831A2C032A5C334A8C636ABCA37ADCC37ADCC37ADCC 0000000000000000000E10101A54642D99B531A1BF32A5C334A8C636ABCA37ADCC37ADCC37ADCC
37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC 37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC
37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC 37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC
37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC36C9EEFFFFFFFFFFFFFFFFFF 37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC37ADCC36C9EEFFFFFFFFFFFFFFFFFF
@@ -13701,12 +13701,12 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA949FAE2750832C5D972F609D
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93367A53163A0 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93367A53163A0
2F609C2D5D972B5A93264E8049586CEAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2F5F9B2C5A93142A45000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EAFB328839C2E9AB631A1BF32A4C234A7C5 0000000000000000000000000000000000000000000000000000000C2A312E99B632A3C134A7C5
36AAC937ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB 36AAC937ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB
37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB 37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB
37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB 37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB37ACCB
@@ -13741,13 +13741,13 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93367A53163A02F609C2D5D972B5A93264E8049586CEAEAEAF8F8F8FDFDFDFFFFFF 3569A93569A93367A531639F2E5E9A2B588F132842000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000000000000000000000000000000000000000000000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EAFB327829B 0000000000000000000000000000000000000000000000000000000000000000000000000E2E37
2D98B5309FBD31A2C133A5C435A8C736ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA 257F972E99B630A0BF33A4C335A8C736ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA
36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA 36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA
36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA 36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA36ABCA
36ABCA36ABCA36ABCA36ABCA36C8EDFFFFF7A2B9CA36ABCA36ABCA5DD6F7FFFFF7A2B9CA36ABCA 36ABCA36ABCA36ABCA36ABCA36C8EDFFFFF7A2B9CA36ABCA36ABCA5DD6F7FFFFF7A2B9CA36ABCA
@@ -13781,13 +13781,13 @@ FFFFFFFDFDFDF8F8F8EAEAEA949FAE2750832C5C972F609D3062A03265A33367A53569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9 3569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A93569A9
3569A93569A93569A93569A93569A93569A93367A53163A02F609C2D5D972B5A93264E8049586C 3569A93569A93569A93569A93569A93569A93367A531639F2E5E982A578D254E801E3E66374352
EAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ADADADB7B7B7BBBBBBBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFA BCBCBCBCBCBCBBBBBBBBBBBBBBBBBBBABABAB7B7B7B3B3B38C8C8C2A2A2A000000000000000000
F1F1F1DCDCDC9EAFB327829A2D98B4309FBC31A2BF33A4C335A7C636AAC936AAC936AAC936AAC9 000000222222616B6E206B7F2888A12E98B3309FBC33A3C235A7C636AAC936AAC936AAC936AAC9
36AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC9 36AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC9
36AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC9 36AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC9
36AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936C8EDFFFFF6A2B9C936AAC936AAC9 36AAC936AAC936AAC936AAC936AAC936AAC936AAC936AAC936C8EDFFFFF6A2B9C936AAC936AAC9
@@ -13821,13 +13821,13 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA949FAE2650832C5C972E609D3062A0
3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9 3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9
3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9 3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9
3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9 3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9
3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93367A53163A02F609C 3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93367A531639F2E5E99
2D5D972B5A93254E8048586CEAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2A588E264F811E4069384454B2B2B2BCBCBCBFBFBFC1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C1C0C0C0BEBEBEAFAFAF4F4F4F000000
FFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EAFB32781992D97B3309EBB31A1BE33A4C135A7C5 0000000000000000000F0F0F6A6A6A9C9C9C79878A216C802989A22E97B3309FBC33A3C035A7C5
36A9C736AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC8 36A9C736AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC8
36AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC8 36AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC8
36AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836C8ED 36AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836AAC836C8ED
@@ -13862,13 +13862,13 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA949FAE
3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9 3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9
3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9 3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9
3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9 3469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A93469A9
3469A93266A43063A02E609B2C5D972A5992254E7F48586CEAEAEAF8F8F8FDFDFDFFFFFFFFFFFF 3469A93266A430639F2D5F992A59912752872145703E4B5CC5C5C5D1D1D1D5D5D5D7D7D7D7D7D7
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D3D3D3
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EAEB32680982D96B2 8080800C0C0C0000000000000000000505054F4F4FA7A7A7AFAFAFABABAB8491962272872A8DA8
2F9DBA31A0BD32A3C034A6C435A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C6 2E99B6319FBC32A3C034A6C435A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C6
35A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C6 35A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C6
35A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C6 35A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C635A8C6
35A8C635A8C635A8C635C6EDFFFFF6A1B8C635A8C635A8C635A8C65CD5F6FFFFFFC1C6C635A8C6 35A8C635A8C635A8C635C6EDFFFFF6A1B8C635A8C635A8C635A8C65CD5F6FFFFFFC1C6C635A8C6
@@ -13902,13 +13902,13 @@ FDFDFDF8F8F8EAEAEA949FAD264F822C5C962E5F9C2F619F3164A13266A43468A83468A83468A8
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3468A83468A83468A83468A83468A83265A430629F2E5F9B2C5C962A5992254D7F48586BEAEAEA 3468A83468A83468A83468A83468A83265A430629F2E5E9A2B5A9329568D234978435264D9D9D9
F8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6E6E6EBEBEBEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1 ECECECECECECE9E9E9BFBFBF0000000000000000000000003737379A9A9AB6B6B6BEBEBEC4C4C4
DCDCDC9EAEB3267F972C95B12F9CB9309FBC32A2BF34A4C235A7C535A7C535A7C535A7C535A7C5 BFBFBF909FA424798F2B91AD2F9BB8309EBB32A2BF34A4C235A7C535A7C535A7C535A7C535A7C5
35A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C5 35A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C5
35A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C5 35A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C535A7C5
35A7C535A7C535A7C535A7C535A7C535A7C535A7C535C5ECFFFFF6A1B6C535A7C535A7C535A7C5 35A7C535A7C535A7C535A7C535A7C535A7C535A7C535C5ECFFFFF6A1B6C535A7C535A7C535A7C5
@@ -13942,13 +13942,13 @@ FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA949FAD264F822B5C962E5F9C2F619F3164A1
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3468A83468A83468A83468A83468A83468A83468A83468A83468A83265A430629F2E5F9B2C5C96 3468A83468A83468A83468A83468A83468A83468A83468A83468A83265A430629F2E5F9B2C5C95
2A5992254D7F48586BEAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2A5890244C7D475669E4E4E4F2F2F2F7F7F7F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F7F7F7F2F2F2D1D1D10707070000001D1D1D838383B7B7B7
FFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EAEB2267F962C95B02F9CB8309EBB32A1BE34A4C135A7C4 C0C0C0CBCBCBD5D5D5D8D8D8CECECE98A8AC257D942C94AF2F9BB7309EBB32A1BE34A4C135A7C4
35A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C4 35A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C4
35A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C4 35A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C4
35A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C4 35A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C435A7C4
@@ -13983,12 +13983,12 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA949FAD264F82
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8 3468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A83468A8
3265A430629F2E5F9B2C5C962A5992254D7F48586BEAEAEAF8F8F8FDFDFDFFFFFFFFFFFFFFFFFF 3265A430629F2E5F9B2C5C962A5991254D7F48586BE9E9E9F7F7F7FCFCFCFEFEFEFEFEFEFEFEFE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFBFBFBF4F4F4E5E5E5B8B8B8
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EAEB2267E952C93AE2E9AB6 929292BDBDBDC0C0C0C9C9C9D6D6D6E1E1E1E8E8E8E7E7E7D8D8D89CACB0267E942C93AE2E9AB6
309DB932A0BD33A3C035A5C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C3 309DB932A0BD33A3C035A5C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C3
35A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C3 35A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C3
35A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C3 35A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C335A6C3
@@ -14027,9 +14027,9 @@ F8F8F8EAEAEA949FAD264F822B5C962E5F9C2F619F3164A13266A43468A83468A83468A83468A8
FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC FCFCFCF6F6F6E8E8E8D7D7D7CCCCCCCCCCCCD4D4D4DFDFDFEAEAEAF1F1F1F3F3F3EEEEEEDBDBDB
9EAEB2257D942B92AD2E99B52F9CB8319FBB33A2BF34A4C134A5C234A5C234A5C234A5C234A5C2 9DADB1257D942B92AD2E99B52F9CB8319FBB33A2BF34A4C134A5C234A5C234A5C234A5C234A5C2
34A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C2 34A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C2
34A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C2 34A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C2
34A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C2 34A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C234A5C2
@@ -14068,8 +14068,8 @@ FFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA949FAD264F822B5C962E5F9C2F619F3164A13266A4
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF9F9F9F0F0F0E6E6E6E0E0E0E2E2E2E9E9E9F0F0F0F7F7F7
FEFEFEFAFAFAF1F1F1DCDCDC9EAEB2257C932B91AD2E98B52F9BB8319EBB33A1BE34A3C134A4C1 FAFAFAF8F8F8F0F0F0DCDCDC9EAEB2257C932B91AD2E98B52F9BB8319EBB33A1BE34A3C134A4C1
34A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C1 34A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C1
34A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C1 34A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C1
34A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C1 34A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C134A4C1
@@ -14108,8 +14108,8 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDF8F8F8EAEAEA949FAD264F822B5C95
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCF8F8F8F3F3F3F1F1F1
FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9EADB2257B932B90AC2E97B42F9AB7 F3F3F3F7F7F7FAFAFAFDFDFDFDFDFDFAFAFAF1F1F1DCDCDC9EADB2257B932B90AC2E97B42F9AB7
319DBA339FBD34A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C0 319DBA339FBD34A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C0
34A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C0 34A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C0
34A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C0 34A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C034A2C0
@@ -14149,7 +14149,7 @@ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9DADB2 FEFEFEFDFDFDFBFBFBFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFEFEFEFAFAFAF1F1F1DCDCDC9DADB2
257A922B8FAB2D96B32F98B6309BB9329EBC33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF 257A922B8FAB2D96B32F98B6309BB9329EBC33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF
33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF 33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF
33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF 33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF33A0BF
@@ -14189,7 +14189,7 @@ FFFFFFFFFFFFFDFDFDF8F8F8EAEAEA949FAD264F812B5B952E5F9B2F619E3163A03265A33467A6
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFEFEFE
FAFAFAF1F1F1DCDCDC9DADB22479912A8EA92D95B12E97B5309AB8329DBB339FBE339FBE339FBE FAFAFAF1F1F1DCDCDC9DADB22479912A8EA92D95B12E97B5309AB8329DBB339FBE339FBE339FBE
339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE 339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE
339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE 339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE339FBE

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

@@ -88,7 +88,7 @@ void changeDiameters(EN_Project ph)
for (i = 1; i <= nLinks; i++) for (i = 1; i <= nLinks; i++)
{ {
EN_getlinkvalue(ph, i, EN_DIAMETER, &diam); EN_getlinkvalue(ph, i, EN_DIAMETER, &diam);
if (diam == 10) ENsetlinkvalue(i, EN_DIAMETER, 12); if (diam == 10) EN_setlinkvalue(ph, i, EN_DIAMETER, 12);
} }
} }
\endcode \endcode

175
include/epanet_py.h Normal file
View File

@@ -0,0 +1,175 @@
/*
******************************************************************************
Project: OWA EPANET
Version: 2.2
Module: epanet_py.h
Description: EPANET API functions for Python SWIG wrap
Authors: see AUTHORS
Copyright: see AUTHORS
License: see LICENSE
Last Updated: 12/10/2018
******************************************************************************
*/
#ifndef EPANET_PY_H
#define EPANET_PY_H
// Opaque pointer to project
typedef void *Handle;
#include "epanet2_enums.h"
#include "epanet2_export.h"
#if defined(__cplusplus)
extern "C" {
#endif
int DLLEXPORT proj_create(Handle *ph_out);
int DLLEXPORT proj_delete(Handle *ph_inout);
int DLLEXPORT proj_run(Handle ph, const char *input_path, const char *report_path, const char *output_path);
int DLLEXPORT proj_init(Handle ph, const char *rptFile, const char *outFile, EN_FlowUnits unitsType, EN_HeadLossType headLossType);
int DLLEXPORT proj_open(Handle ph, const char *inpFile, const char *rptFile, const char *binOutFile);
int DLLEXPORT proj_savefile(Handle ph, const char *inpfilename);
int DLLEXPORT proj_close(Handle ph);
int DLLEXPORT hydr_solve(Handle ph);
int DLLEXPORT hydr_save(Handle ph);
int DLLEXPORT hydr_open(Handle ph);
int DLLEXPORT hydr_init(Handle ph, EN_InitHydOption saveFlag);
int DLLEXPORT hydr_run(Handle ph, long *currentTime);
int DLLEXPORT hydr_next(Handle ph, long *tStep);
int DLLEXPORT hydr_close(Handle ph);
int DLLEXPORT hydr_savefile(Handle ph, char *filename);
int DLLEXPORT hydr_usefile(Handle ph, char *filename);
int DLLEXPORT qual_solve(Handle ph);
int DLLEXPORT qual_open(Handle ph);
int DLLEXPORT qual_init(Handle ph, EN_InitHydOption saveFlag);
int DLLEXPORT qual_run(Handle ph, long *currentTime);
int DLLEXPORT qual_next(Handle ph, long *tStep);
int DLLEXPORT qual_step(Handle ph, long *timeLeft);
int DLLEXPORT qual_close(Handle ph);
int DLLEXPORT rprt_writeline(Handle ph, char *line);
int DLLEXPORT rprt_writeresults(Handle ph);
int DLLEXPORT rprt_reset(Handle ph);
int DLLEXPORT rprt_set(Handle ph, char *reportCommand);
int DLLEXPORT rprt_setlevel(Handle ph, EN_StatusReport code);
int DLLEXPORT rprt_getcount(Handle ph, EN_CountType code, int *count);
int DLLEXPORT rprt_anlysstats(Handle ph, EN_AnalysisStatistic code, double* value);
int DLLEXPORT anlys_getoption(Handle ph, EN_Option code, double *value);
int DLLEXPORT anlys_setoption(Handle ph, EN_Option code, double value);
int DLLEXPORT anlys_getflowunits(Handle ph, int *code);
int DLLEXPORT anlys_setflowunits(Handle ph, EN_FlowUnits code);
int DLLEXPORT anlys_gettimeparam(Handle ph, EN_TimeParameter code, long *value);
int DLLEXPORT anlys_settimeparam(Handle ph, EN_TimeParameter code, long value);
int DLLEXPORT anlys_getqualinfo(Handle ph, int *qualcode, char *chemname, char *chemunits, int *tracenode);
int DLLEXPORT anlys_getqualtype(Handle ph, int *qualcode, int *tracenode);
int DLLEXPORT anlys_setqualtype(Handle ph, EN_QualityType qualcode, char *chemname, char *chemunits, char *tracenode);
int DLLEXPORT node_add(Handle ph, char *id, EN_NodeType nodeType);
int DLLEXPORT node_delete(Handle ph, int index, int actionCode);
int DLLEXPORT node_getindex(Handle ph, char *id, int *index);
int DLLEXPORT node_getid(Handle ph, int index, char *id);
int DLLEXPORT node_setid(Handle ph, int index, char *newid);
int DLLEXPORT node_gettype(Handle ph, int index, int *code);
int DLLEXPORT node_getvalue(Handle ph, int index, EN_NodeProperty code, double *value);
int DLLEXPORT node_setvalue(Handle ph, int index, EN_NodeProperty code, double value);
int DLLEXPORT node_getcoord(Handle ph, int index, double *x, double *y);
int DLLEXPORT node_setcoord(Handle ph, int index, double x, double y);
int DLLEXPORT dmnd_getmodel(Handle ph, int *type, double *pmin, double *preq, double *pexp);
int DLLEXPORT dmnd_setmodel(Handle ph, int type, double pmin, double preq, double pexp);
int DLLEXPORT dmnd_getcount(Handle ph, int nodeIndex, int *numDemands);
int DLLEXPORT dmnd_getbase(Handle ph, int nodeIndex, int demandIndex, double *baseDemand);
int DLLEXPORT dmnd_setbase(Handle ph, int nodeIndex, int demandIndex, double baseDemand);
int DLLEXPORT dmnd_getpattern(Handle ph, int nodeIndex, int demandIndex, int *pattIndex);
int DLLEXPORT dmnd_setpattern(Handle ph, int nodeIndex, int demandIndex, int patIndex);
int DLLEXPORT dmnd_getname(Handle ph, int nodeIndex, int demandIdx, char *demandName);
int DLLEXPORT dmnd_setname(Handle ph, int nodeIndex, int demandIdx, char *demandName);
int DLLEXPORT link_add(Handle ph, char *id, EN_LinkType linkType, char *fromNode, char *toNode);
int DLLEXPORT link_delete(Handle ph, int index, int actionCode);
int DLLEXPORT link_getindex(Handle ph, char *id, int *index);
int DLLEXPORT link_getid(Handle ph, int index, char *id);
int DLLEXPORT link_setid(Handle ph, int index, char *newid);
int DLLEXPORT link_gettype(Handle ph, int index, int *code);
int DLLEXPORT link_settype(Handle ph, int *index, EN_LinkType type, int actionCode);
int DLLEXPORT link_getnodes(Handle ph, int index, int *node1, int *node2);
int DLLEXPORT link_setnodes(Handle ph, int index, int node1, int node2);
int DLLEXPORT link_getvalue(Handle ph, int index, EN_LinkProperty code, double *value);
int DLLEXPORT link_setvalue(Handle ph, int index, int code, double v);
int DLLEXPORT pump_gettype(Handle ph, int linkIndex, int *outType);
int DLLEXPORT pump_getheadcurveindex(Handle ph, int pumpIndex, int *curveIndex);
int DLLEXPORT pump_setheadcurveindex(Handle ph, int pumpIndex, int curveIndex);
int DLLEXPORT ptrn_add(Handle ph, char *id);
int DLLEXPORT ptrn_getindex(Handle ph, char *id, int *index);
int DLLEXPORT ptrn_getid(Handle ph, int index, char *id);
int DLLEXPORT ptrn_getlength(Handle ph, int index, int *len);
int DLLEXPORT ptrn_getvalue(Handle ph, int index, int period, double *value);
int DLLEXPORT ptrn_setvalue(Handle ph, int index, int period, double value);
int DLLEXPORT ptrn_getavgvalue(Handle ph, int index, double *value);
int DLLEXPORT ptrn_set(Handle ph, int index, double *f, int len);
int DLLEXPORT curv_add(Handle ph, char *id);
int DLLEXPORT curv_getindex(Handle ph, char *id, int *index);
int DLLEXPORT curv_getid(Handle ph, int index, char *id);
int DLLEXPORT curv_getlength(Handle ph, int index, int *len);
int DLLEXPORT curv_gettype(Handle ph, int curveIndex, int *outType);
int DLLEXPORT curv_getvalue(Handle ph, int curveIndex, int pointIndex, double *x, double *y);
int DLLEXPORT curv_setvalue(Handle ph, int curveIndex, int pointIndex, double x, double y);
int DLLEXPORT curv_get(Handle ph, int curveIndex, char* id, int *nValues, double **xValues, double **yValues);
int DLLEXPORT curv_set(Handle ph, int index, double *x, double *y, int len);
int DLLEXPORT scntl_add(Handle ph, int type, int linkIndex, double setting, int nodeIndex, double level, int *index);
int DLLEXPORT scntl_delete(Handle ph, int index);
int DLLEXPORT scntl_get(Handle ph, int controlIndex, int *controlType, int *linkIndex, double *setting, int *nodeIndex, double *level);
int DLLEXPORT scntl_set(Handle ph, int cindex, int ctype, int lindex, double setting, int nindex, double level);
int DLLEXPORT rcntl_add(Handle ph, char *rule);
int DLLEXPORT rcntl_delete(Handle ph, int index);
int DLLEXPORT rcntl_get(Handle ph, int index, int *nPremises, int *nThenActions, int *nElseActions, double *priority);
int DLLEXPORT rcntl_getid(Handle ph, int index, char* id);
int DLLEXPORT rcntl_getpremise(Handle ph, int ruleIndex, int premiseIndex, int *logop, int *object, int *objIndex, int *variable, int *relop, int *status, double *value);
int DLLEXPORT rcntl_setpremise(Handle ph, int ruleIndex, int premiseIndex, int logop, int object, int objIndex, int variable, int relop, int status, double value);
int DLLEXPORT rcntl_setpremiseindex(Handle ph, int ruleIndex, int premiseIndex, int objIndex);
int DLLEXPORT rcntl_setpremisestatus(Handle ph, int ruleIndex, int premiseIndex, int status);
int DLLEXPORT rcntl_setpremisevalue(Handle ph, int ruleIndex, int premiseIndex, double value);
int DLLEXPORT rcntl_getthenaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting);
int DLLEXPORT rcntl_setthenaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting);
int DLLEXPORT rcntl_getelseaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting);
int DLLEXPORT rcntl_setelseaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting);
int DLLEXPORT rcntl_setrulepriority(Handle ph, int index, double priority);
void DLLEXPORT err_clear(Handle ph);
int DLLEXPORT err_check(Handle ph, char** msg_buffer);
void DLLEXPORT toolkit_free(void **memory);
int DLLEXPORT toolkit_getversion(int *version);
#if defined(__cplusplus)
}
#endif
#endif //EPANET_PY_H

807
src/epanet_py.c Normal file
View File

@@ -0,0 +1,807 @@
/*
******************************************************************************
Project: OWA EPANET
Version: 2.2
Module: epanet_py.c
Description: EPANET API functions for Python SWIG wrap
Authors: see AUTHORS
Copyright: see AUTHORS
License: see LICENSE
Last Updated: 12/10/2018
******************************************************************************
*/
#include <stdlib.h>
#include <string.h>
#include "epanet_py.h"
#include "util/errormanager.h"
#include "epanet2_2.h"
#include "text.h"
#include "types.h"
typedef struct {
Project *project;
error_handle_t *error;
}handle_t;
// Extern functions
extern char *geterrmsg(int, char *);
// Local functions
void error_lookup(int errcode, char *errmsg, int len);
int DLLEXPORT proj_create(Handle *ph)
{
handle_t *handle = (handle_t *)calloc(1, sizeof(handle_t));
if (handle != NULL)
{
EN_createproject(&handle->project);
handle->error = error_new_manager(&error_lookup);
*ph = handle;
return 0;
}
return -1;
}
int DLLEXPORT proj_delete(Handle *ph)
{
handle_t *handle = (handle_t *)*ph;
if (handle == NULL)
return -1;
else
{
EN_deleteproject(&handle->project);
error_dst_manager(handle->error);
}
free(handle);
*ph = NULL;
return 0;
}
int DLLEXPORT proj_run(Handle ph, const char *input_path,
const char *report_path, const char *output_path)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_runproject(pr->project, input_path, report_path, output_path, NULL));
}
int DLLEXPORT proj_init(Handle ph, const char *rptFile, const char *outFile,
EN_FlowUnits unitsType, EN_HeadLossType headLossType)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_init(pr->project, rptFile, outFile, unitsType, headLossType));
}
int DLLEXPORT proj_open(Handle ph, const char *inpFile, const char *rptFile,
const char *binOutFile)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_open(pr->project, inpFile, rptFile, binOutFile));
}
int DLLEXPORT proj_savefile(Handle ph, const char *filename)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_saveinpfile(pr->project, filename));
}
int DLLEXPORT proj_close(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_close(pr->project));
}
int DLLEXPORT hydr_solve(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_solveH(pr->project));
}
int DLLEXPORT hydr_save(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_saveH(pr->project));
}
int DLLEXPORT hydr_open(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_openH(pr->project));
}
int DLLEXPORT hydr_init(Handle ph, EN_InitHydOption saveFlag)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_initH(pr->project, saveFlag));
}
int DLLEXPORT hydr_run(Handle ph, long *currentTime)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_runH(pr->project, currentTime));
}
int DLLEXPORT hydr_next(Handle ph, long *tStep)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_nextH(pr->project, tStep));
}
int DLLEXPORT hydr_close(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_closeH(pr->project));
}
int DLLEXPORT hydr_savefile(Handle ph, char *filename)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_savehydfile(pr->project, filename));
}
int DLLEXPORT hydr_usefile(Handle ph, char *filename)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_usehydfile(pr->project, filename));
}
int DLLEXPORT qual_solve(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_solveQ(pr->project));
}
int DLLEXPORT qual_open(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_openQ(pr->project));
}
int DLLEXPORT qual_init(Handle ph, EN_InitHydOption saveFlag)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_initQ(pr->project, saveFlag));
}
int DLLEXPORT qual_run(Handle ph, long *currentTime)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_runQ(pr->project, currentTime));
}
int DLLEXPORT qual_next(Handle ph, long *tStep)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_nextQ(pr->project, tStep));
}
int DLLEXPORT qual_step(Handle ph, long *timeLeft)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_stepQ(pr->project, timeLeft));
}
int DLLEXPORT qual_close(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_closeQ(pr->project));
}
int DLLEXPORT rprt_writeline(Handle ph, char *line)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_writeline(pr->project, line));
}
int DLLEXPORT rprt_writeresults(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_report(pr->project));
}
int DLLEXPORT rprt_reset(Handle ph)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_resetreport(pr->project));
}
int DLLEXPORT rprt_set(Handle ph, char *reportCommand)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setreport(pr->project, reportCommand));
}
int DLLEXPORT rprt_setlevel(Handle ph, EN_StatusReport code)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setstatusreport(pr->project, code));
}
int DLLEXPORT rprt_getcount(Handle ph, EN_CountType code, int *count)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcount(pr->project, code, count));
}
int DLLEXPORT rprt_anlysstats(Handle ph, EN_AnalysisStatistic code, double* value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getstatistic(pr->project, code, value));
}
int DLLEXPORT anlys_getoption(Handle ph, EN_Option code, double *value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getoption(pr->project, (int)code, value));
}
int DLLEXPORT anlys_setoption(Handle ph, EN_Option code, double value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setoption(pr->project, (int)code, value));
}
int DLLEXPORT anlys_getflowunits(Handle ph, int *code)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getflowunits(pr->project, code));
}
int DLLEXPORT anlys_setflowunits(Handle ph, EN_FlowUnits code)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setflowunits(pr->project, code));
}
int DLLEXPORT anlys_gettimeparam(Handle ph, EN_TimeParameter code, long *value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_gettimeparam(pr->project, code, value));
}
int DLLEXPORT anlys_settimeparam(Handle ph, EN_TimeParameter code, long value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_settimeparam(pr->project, code, value));
}
int DLLEXPORT anlys_getqualinfo(Handle ph, int *qualcode, char *chemname, char *chemunits, int *tracenode)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getqualinfo(pr->project, qualcode, chemname, chemunits, tracenode));
}
int DLLEXPORT anlys_getqualtype(Handle ph, int *qualcode, int *tracenode)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getqualtype(pr->project, qualcode, tracenode));
}
int DLLEXPORT anlys_setqualtype(Handle ph, EN_QualityType qualcode, char *chemname, char *chemunits, char *tracenode)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setqualtype(pr->project, qualcode, chemname, chemunits, tracenode));
}
int DLLEXPORT node_add(Handle ph, char *id, EN_NodeType nodeType)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_addnode(pr->project, id, nodeType));
}
int DLLEXPORT node_delete(Handle ph, int index, int actionCode)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_deletenode(pr->project, index, actionCode));
}
int DLLEXPORT node_getindex(Handle ph, char *id, int *index)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getnodeindex(pr->project, id, index));
}
int DLLEXPORT node_getid(Handle ph, int index, char *id)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getnodeid(pr->project, index, id));
}
int DLLEXPORT node_setid(Handle ph, int index, char *newid)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getnodeid(pr->project, index, newid));
}
int DLLEXPORT node_gettype(Handle ph, int index, int *code)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getnodetype(pr->project, index, code));
}
int DLLEXPORT node_getvalue(Handle ph, int index, EN_NodeProperty code, double *value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getnodevalue(pr->project, index, (int)code, value));
}
int DLLEXPORT node_setvalue(Handle ph, int index, EN_NodeProperty code, double value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setnodevalue(pr->project, index, (int)code, value));
}
int DLLEXPORT node_getcoord(Handle ph, int index, double *x, double *y)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcoord(pr->project, index, x, y));
}
int DLLEXPORT node_setcoord(Handle ph, int index, double x, double y)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setcoord(pr->project, index, x, y));
}
int DLLEXPORT dmnd_getmodel(Handle ph, int *type, double *pmin, double *preq, double *pexp)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getdemandmodel(pr->project, type, pmin, preq, pexp));
}
int DLLEXPORT dmnd_setmodel(Handle ph, int type, double pmin, double preq, double pexp)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setdemandmodel(pr->project, type, pmin, preq, pexp));
}
int DLLEXPORT dmnd_getcount(Handle ph, int nodeIndex, int *numDemands)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getnumdemands(pr->project, nodeIndex, numDemands));
}
int DLLEXPORT dmnd_getbase(Handle ph, int nodeIndex, int demandIndex, double *baseDemand)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getbasedemand(pr->project, nodeIndex, demandIndex, baseDemand));
}
int DLLEXPORT dmnd_setbase(Handle ph, int nodeIndex, int demandIndex, double baseDemand)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setbasedemand(pr->project, nodeIndex, demandIndex, baseDemand));
}
int DLLEXPORT dmnd_getpattern(Handle ph, int nodeIndex, int demandIndex, int *patIndex)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getdemandpattern(pr->project, nodeIndex, demandIndex, patIndex));
}
int DLLEXPORT dmnd_setpattern(Handle ph, int nodeIndex, int demandIndex, int patIndex)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setdemandpattern(pr->project, nodeIndex, demandIndex, patIndex));
}
int DLLEXPORT dmnd_getname(Handle ph, int nodeIndex, int demandIdx, char *demandName)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getdemandname(pr->project, nodeIndex, demandIdx, demandName));
}
int DLLEXPORT dmnd_setname(Handle ph, int nodeIndex, int demandIdx, char *demandName)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setdemandname(pr->project, nodeIndex, demandIdx, demandName));
}
int DLLEXPORT link_add(Handle ph, char *id, EN_LinkType linkType, char *fromNode, char *toNode)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_addlink(pr->project, id, linkType, fromNode, toNode));
}
int DLLEXPORT link_delete(Handle ph, int index, int actionCode)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_deletelink(pr->project, index, actionCode));
}
int DLLEXPORT link_getindex(Handle ph, char *id, int *index)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getlinkindex(pr->project, id, index));
}
int DLLEXPORT link_getid(Handle ph, int index, char *id)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getlinkid(pr->project, index, id));
}
int DLLEXPORT link_setid(Handle ph, int index, char *newid)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setlinkid(pr->project, index, newid));
}
int DLLEXPORT link_gettype(Handle ph, int index, int *code)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getlinktype(pr->project, index, code));
}
int DLLEXPORT link_settype(Handle ph, int *index, EN_LinkType type, int actionCode)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setlinktype(pr->project, index, type, actionCode));
}
int DLLEXPORT link_getnodes(Handle ph, int index, int *node1, int *node2)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getlinknodes(pr->project, index, node1, node2));
}
int DLLEXPORT link_setnodes(Handle ph, int index, int node1, int node2)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setlinknodes(pr->project, index, node1, node2));
}
int DLLEXPORT link_getvalue(Handle ph, int index, EN_LinkProperty code, double *value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getlinkvalue(pr->project, index, code, value));
}
int DLLEXPORT link_setvalue(Handle ph, int index, int code, double value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setlinkvalue(pr->project, index, code, value));
}
int DLLEXPORT pump_gettype(Handle ph, int linkIndex, int *outType)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getpumptype(pr->project, linkIndex, outType));
}
int DLLEXPORT pump_getheadcurveindex(Handle ph, int pumpIndex, int *curveIndex)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getheadcurveindex(pr->project, pumpIndex, curveIndex));
}
int DLLEXPORT pump_setheadcurveindex(Handle ph, int pumpIndex, int curveIndex)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setheadcurveindex(pr->project, pumpIndex, curveIndex));
}
int DLLEXPORT ptrn_add(Handle ph, char *id)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_addpattern(pr->project, id));
}
int DLLEXPORT ptrn_getindex(Handle ph, char *id, int *index)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getpatternindex(pr->project, id, index));
}
int DLLEXPORT ptrn_getid(Handle ph, int index, char *id)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getpatternid(pr->project, index, id));
}
int DLLEXPORT ptrn_getlength(Handle ph, int index, int *len)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getpatternlen(pr->project, index, len));
}
int DLLEXPORT ptrn_getvalue(Handle ph, int index, int period, double *value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getpatternvalue(pr->project, index, period, value));
}
int DLLEXPORT ptrn_setvalue(Handle ph, int index, int period, double value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setpatternvalue(pr->project, index, period, value));
}
int DLLEXPORT ptrn_getavgvalue(Handle ph, int index, double *value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getaveragepatternvalue(pr->project, index, value));
}
int DLLEXPORT ptrn_set(Handle ph, int index, double *values, int len)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setpattern(pr->project, index, values, len));
}
int DLLEXPORT curv_add(Handle ph, char *id)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_addcurve(pr->project, id));
}
int DLLEXPORT curv_getindex(Handle ph, char *id, int *index)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcurveindex(pr->project, id, index));
}
int DLLEXPORT curv_getid(Handle ph, int index, char *id)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcurveid(pr->project, index, id));
}
int DLLEXPORT curv_getlength(Handle ph, int index, int *len)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcurvelen(pr->project, index, len));
}
int DLLEXPORT curv_gettype(Handle ph, int index, int *type)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcurvetype(pr->project, index, type));
}
int DLLEXPORT curv_getvalue(Handle ph, int curveIndex, int pointIndex, double *x, double *y)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcurvevalue(pr->project, curveIndex, pointIndex, x, y));
}
int DLLEXPORT curv_setvalue(Handle ph, int curveIndex, int pointIndex, double x, double y)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setcurvevalue(pr->project, curveIndex, pointIndex, x, y));
}
int DLLEXPORT curv_get(Handle ph, int curveIndex, char* id, int *nValues, double **xValues, double **yValues)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcurve(pr->project, curveIndex, id, nValues, xValues, yValues));
}
int DLLEXPORT curv_set(Handle ph, int index, double *x, double *y, int len)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setcurve(pr->project, index, x, y, len));
}
int DLLEXPORT scntl_add(Handle ph, int type, int linkIndex, double setting, int nodeIndex, double level, int *index)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_addcontrol(pr->project, type, linkIndex, setting, nodeIndex, level, index));
}
int DLLEXPORT scntl_delete(Handle ph, int index)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_deletecontrol(pr->project, index));
}
int DLLEXPORT scntl_get(Handle ph, int controlIndex, int *controlType, int *linkIndex, double *setting, int *nodeIndex, double *level)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getcontrol(pr->project, controlIndex, controlType, linkIndex, setting, nodeIndex, level));
}
int DLLEXPORT scntl_set(Handle ph, int cindex, int ctype, int lindex, double setting, int nindex, double level)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setcontrol(pr->project, cindex, ctype, lindex, setting, nindex, level));
}
int DLLEXPORT rcntl_add(Handle ph, char *rule)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_addrule(pr->project, rule));
}
int DLLEXPORT rcntl_delete(Handle ph, int index)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_deleterule(pr->project, index));
}
int DLLEXPORT rcntl_get(Handle ph, int index, int *nPremises, int *nThenActions, int *nElseActions, double *priority)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getrule(pr->project, index, nPremises, nThenActions, nElseActions, priority));
}
int DLLEXPORT rcntl_getid(Handle ph, int index, char *id)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getruleID(pr->project, index, id));
}
int DLLEXPORT rcntl_getpremise(Handle ph, int ruleIndex, int premiseIndex, int *logop, int *object, int *objIndex, int *variable, int *relop, int *status, double *value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getpremise(pr->project, ruleIndex, premiseIndex, logop, object, objIndex, variable, relop, status, value));
}
int DLLEXPORT rcntl_setpremise(Handle ph, int ruleIndex, int premiseIndex, int logop, int object, int objIndex, int variable, int relop, int status, double value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setpremise(pr->project, ruleIndex, premiseIndex, logop, object, objIndex, variable, relop, status, value));
}
int DLLEXPORT rcntl_setpremiseindex(Handle ph, int ruleIndex, int premiseIndex, int objIndex)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setpremiseindex(pr->project, ruleIndex, premiseIndex, objIndex));
}
int DLLEXPORT rcntl_setpremisestatus(Handle ph, int ruleIndex, int premiseIndex, int status)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setpremisestatus(pr->project, ruleIndex, premiseIndex, status));
}
int DLLEXPORT rcntl_setpremisevalue(Handle ph, int ruleIndex, int premiseIndex, double value)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setpremisevalue(pr->project, ruleIndex, premiseIndex, value));
}
int DLLEXPORT rcntl_getthenaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getthenaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
}
int DLLEXPORT rcntl_setthenaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setthenaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
}
int DLLEXPORT rcntl_getelseaction(Handle ph, int ruleIndex, int actionIndex, int *linkIndex, int *status, double *setting)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_getelseaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
}
int DLLEXPORT rcntl_setelseaction(Handle ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setelseaction(pr->project, ruleIndex, actionIndex, linkIndex, status, setting));
}
int DLLEXPORT rcntl_setrulepriority(Handle ph, int index, double priority)
{
handle_t *pr = (handle_t *)ph;
return error_set(pr->error, EN_setrulepriority(pr->project, index, priority));
}
void DLLEXPORT err_clear(Handle ph)
{
handle_t *pr = (handle_t *)ph;
error_clear(pr->error);
}
int DLLEXPORT err_check(Handle ph, char** msg_buffer)
//
// Purpose: Returns the error message or NULL.
//
// Note: Caller must free memory allocated by EN_check_error
//
{
int errorcode = 0;
char *temp = NULL;
handle_t *pr = (handle_t *)ph;
if (pr == NULL) return -1;
else
{
errorcode = pr->error->error_status;
if (errorcode)
temp = error_check(pr->error);
*msg_buffer = temp;
}
return errorcode;
}
int DLLEXPORT toolkit_getversion(int *version)
{
return EN_getversion(version);
}
void DLLEXPORT toolkit_free(void **memory)
{
free(*memory);
*memory = NULL;
}
void error_lookup(int errcode, char *dest_msg, int dest_len)
// Purpose: takes error code returns error message
{
char *msg = NULL;
switch (errcode)
{
case 1: msg = WARN1;
break;
case 2: msg = WARN2;
break;
case 3: msg = WARN3;
break;
case 4: msg = WARN4;
break;
case 5: msg = WARN5;
break;
case 6: msg = WARN6;
break;
default:
{
char new_msg[MAXMSG + 1];
msg = geterrmsg(errcode, new_msg);
}
}
strncpy(dest_msg, msg, dest_len);
}

74
src/util/errormanager.c Normal file
View File

@@ -0,0 +1,74 @@
//-----------------------------------------------------------------------------
//
// errormanager.c
//
// Purpose: Provides a simple interface for managing runtime error messages.
//
// Date: 08/25/2017
//
// Author: Michael E. Tryby
// US EPA - ORD/NRMRL
//-----------------------------------------------------------------------------
#include <stdlib.h>
#include <string.h>
#include "errormanager.h"
error_handle_t* error_new_manager(void (*p_error_message)(int, char*, int))
//
// Purpose: Constructs a new error handle.
//
{
error_handle_t* error_handle;
error_handle = (error_handle_t*)calloc(1, sizeof(error_handle_t));
error_handle->p_msg_lookup = p_error_message;
return error_handle;
}
void error_dst_manager(error_handle_t* error_handle)
//
// Purpose: Destroys the error handle.
//
{
free(error_handle);
}
int error_set(error_handle_t* error_handle, int errorcode)
//
// Purpose: Sets an error code in the handle.
//
{
// If the error code is 0 no action is taken and 0 is returned.
// This is a feature not a bug.
if (errorcode)
error_handle->error_status = errorcode;
return errorcode;
}
char* error_check(error_handle_t* error_handle)
//
// Purpose: Returns the error message or NULL.
//
// Note: Caller must free memory allocated by check_error
//
{
char* temp = NULL;
if (error_handle->error_status != 0) {
temp = (char*) calloc(ERR_MAXMSG, sizeof(char));
if (temp)
error_handle->p_msg_lookup(error_handle->error_status, temp, ERR_MAXMSG);
}
return temp;
}
void error_clear(error_handle_t* error_handle)
//
// Purpose: Clears the error from the handle.
//
{
error_handle->error_status = 0;
}

27
src/util/errormanager.h Normal file
View File

@@ -0,0 +1,27 @@
/*
* errormanager.h
*
* Created on: Aug 25, 2017
*
* Author: Michael E. Tryby
* US EPA - ORD/NRMRL
*/
#ifndef ERRORMANAGER_H_
#define ERRORMANAGER_H_
#define ERR_MAXMSG 256
typedef struct error_s {
int error_status;
void (*p_msg_lookup)(int, char*, int);
} error_handle_t;
error_handle_t* error_new_manager(void (*p_error_message)(int, char*, int));
void error_dst_manager(error_handle_t* error_handle);
int error_set(error_handle_t* error_handle, int errorcode);
char* error_check(error_handle_t* error_handle);
void error_clear(error_handle_t* error_handle);
#endif /* ERRORMANAGER_H_ */