From 3b7c240856d354296d3f98247cbf10f1ade8d9c9 Mon Sep 17 00:00:00 2001 From: MBorne Date: Mon, 2 Dec 2024 17:35:11 +0100 Subject: [PATCH] chore(docker): fix env params for JDBC --- .docker/Dockerfile | 23 ++--------------------- .docker/application.sh | 2 +- .env | 5 +++-- .github/workflows/php-ci.yml | 6 +++--- .gitignore | 2 ++ docker-compose.yml | 23 +++++++++++++++-------- docs/developer-guide/php-classic.md | 2 +- docs/img/architecture-logique.drawio.png | Bin 43940 -> 44127 bytes phpunit.xml.dist | 2 +- src/Validation/ValidatorCLI.php | 8 ++++++-- 10 files changed, 34 insertions(+), 39 deletions(-) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index c49019a..75b8137 100755 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -101,27 +101,8 @@ VOLUME /opt/validator-api/var/data USER www-data +ENV APP_ENV=prod + EXPOSE 8000 CMD ["/opt/validator-api/.docker/application.sh"] -#---------------------------------------------------------------------- -# DEV image with xdebug -#---------------------------------------------------------------------- -FROM base AS dev - -ENV APP_ENV=dev - -USER root -# install xdebug extension for php -RUN pear config-set http_proxy ${http_proxy} \ - && pear config-set php_ini $PHP_INI_DIR/php.ini \ - && pecl install xdebug \ - && docker-php-ext-enable xdebug -USER www-data - -#---------------------------------------------------------------------- -# Production image without xdebug -#---------------------------------------------------------------------- -FROM base AS prod - -ENV APP_ENV=prod diff --git a/.docker/application.sh b/.docker/application.sh index 32cb089..58edf6f 100755 --- a/.docker/application.sh +++ b/.docker/application.sh @@ -38,7 +38,7 @@ backend(){ test(){ export APP_ENV=test - export DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@database:5432/validator_api_test?serverVersion=13&charset=utf8" + export DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@database:5432/validator_api_test?serverVersion=15&charset=utf8" bin/console --env=test doctrine:database:create --if-not-exists bin/console --env=test doctrine:schema:update --complete --force XDEBUG_MODE=coverage vendor/bin/phpunit diff --git a/.env b/.env index e962084..3ab32f0 100755 --- a/.env +++ b/.env @@ -44,7 +44,7 @@ CORS_ALLOW_ORIGIN=* # # DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db" # DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/validator-api?serverVersion=5.7" -DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/validator_api?serverVersion=13&charset=utf8 +DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/validator_api?serverVersion=15&charset=utf8 ###< doctrine/doctrine-bundle ### ###> league/flysystem @@ -55,7 +55,8 @@ S3_BUCKET=dev-ign-mut-validtri S3_REGION=sbg ### validator-worker/validator-cli postgis -DB_URL=jdbc:postgresql:${PGDATABASE} +# DB_URL=jdbc:postgresql://${PGHOST}:${PGPORT}/${PGDATABASE}?ssl=true&sslmode=require&sslfactory=org.postgresql.ssl.NonValidatingFactory +DB_URL=jdbc:postgresql://localhost:5432/validator_api DB_USER=${POSTGRES_USER} DB_PASSWORD=${POSTGRES_PASSWORD} # must stay empty diff --git a/.github/workflows/php-ci.yml b/.github/workflows/php-ci.yml index 4361975..79b89af 100644 --- a/.github/workflows/php-ci.yml +++ b/.github/workflows/php-ci.yml @@ -14,14 +14,14 @@ jobs: strategy: matrix: - php-version: [7.4,8.1] + php-version: [8.3] runs-on: ubuntu-latest # see https://docs.github.com/en/actions/using-containerized-services/creating-postgresql-service-containers services: postgres: - image: postgres:14 + image: postgres:15 env: POSTGRES_PASSWORD: postgres options: >- @@ -65,7 +65,7 @@ jobs: DATABASE_URL: postgresql://postgres:postgres@localhost:5432/validator_api?serverVersion=14&charset=utf8 - name: Upload coverage results to coveralls.io - if: github.ref == 'refs/heads/master' && matrix.php-version == '8.1' + if: github.ref == 'refs/heads/master' && matrix.php-version == '8.3' run: | vendor/bin/php-coveralls --coverage_clover=var/data/output/coverage.xml --json_path=var/data/output/coveralls.json -v env: diff --git a/.gitignore b/.gitignore index 4c4848e..e6365e3 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,8 @@ sonar-scanner node_modules /output/ +# vscode +*.bkp ###> friendsofphp/php-cs-fixer ### /.php-cs-fixer.php diff --git a/docker-compose.yml b/docker-compose.yml index 79c390c..3e60f8e 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,7 +6,6 @@ services: build: context: . dockerfile: .docker/Dockerfile - target: dev args: - http_proxy - https_proxy @@ -19,9 +18,9 @@ services: - APP_ENV=${APP_ENV} - DB_CREATE=1 - DB_UPGRADE=1 - - POSTGRES_USER=validator + - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@database:5432/validator_api?serverVersion=13&charset=utf8 + - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@database:5432/validator_api?serverVersion=15&charset=utf8 - S3_ENDPOINT=${S3_ENDPOINT} - S3_ACCESS_KEY=${S3_ACCESS_KEY} - S3_SECRET_KEY=${S3_SECRET_KEY} @@ -42,14 +41,14 @@ services: restart: unless-stopped database: - image: postgres:13 + image: postgis/postgis:13-3.5-alpine environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} ports: - 5432:5432 healthcheck: - test: ["CMD-SHELL", "pg_isready"] + test: ["CMD-SHELL", "pg_isready -U validator"] interval: 10s timeout: 5s retries: 5 @@ -62,7 +61,7 @@ services: #----------------------------------------------------------------------- # Process validations #----------------------------------------------------------------------- - backend: + worker: image: ignf/validator-api:master-dev command: [".docker/application.sh","backend"] environment: @@ -74,7 +73,15 @@ services: - APP_ENV=${APP_ENV} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@database:5432/validator_api?serverVersion=13&charset=utf8 + - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@database:5432/validator_api?serverVersion=15&charset=utf8 + - S3_ENDPOINT=${S3_ENDPOINT} + - S3_ACCESS_KEY=${S3_ACCESS_KEY} + - S3_SECRET_KEY=${S3_SECRET_KEY} + - S3_BUCKET=${S3_BUCKET} + # validator-cli.jar only + - DB_URL=jdbc:postgresql://database:5432/validator_api + - DB_USER=${POSTGRES_USER} + - DB_PASSWORD=${POSTGRES_PASSWORD} networks: - validator volumes: @@ -90,4 +97,4 @@ volumes: # validations files api-data: # postgresql files (docker volume create db-data) - db-data: \ No newline at end of file + db-data: diff --git a/docs/developer-guide/php-classic.md b/docs/developer-guide/php-classic.md index b94e608..537f19f 100644 --- a/docs/developer-guide/php-classic.md +++ b/docs/developer-guide/php-classic.md @@ -57,7 +57,7 @@ L'application est consultable à l'adresse http://localhost:8000 Dans `.env.test`, ajoutez la ligne suivante : ``` -DATABASE_URL=postgresql://${PGUSER}:${PGPASSWORD}@localhost:5432/validator_api_test?serverVersion=13&charset=utf8 +DATABASE_URL=postgresql://${PGUSER}:${PGPASSWORD}@localhost:5432/validator_api_test?serverVersion=15&charset=utf8 ``` > [Comment configurer la variable DATABASE_URL (documentation Symfony)](https://symfony.com/doc/4.4/doctrine.html#configuring-the-database) diff --git a/docs/img/architecture-logique.drawio.png b/docs/img/architecture-logique.drawio.png index 278a7121d62521aa1b02b519a6e24f6214b04f34..36d71d014bacf22d5e716d5b3dce22f18879e0d6 100644 GIT binary patch literal 44127 zcmeFYcQl;c+cu0yh!QnHBqS2i8Agp3!|2`UE!ybAXj9Y(lIZC~5JU-r=%V)&EkqDq z^pY{UXz!N$x!>pceQUkzTi+kwfA3lrbbH+LPFW$2RHNc#3EfioJhE#%Kv=g7K6BW z`TB7~Rk+2(;2us6em-6(@DV)s^m24Xx;i=j^PLz(Ok7A*Ob8-|5S8GDDoKcfU!vl| zP^h@YKjrP5olyT(k&YMM)x*P%TTE3#7y_!|H4_EJVc?UtE6N`W{$iyiZ6(F|z$Ybd zZx1I^Cwnbdzti$iDPgGO=_^|52pw&1F=g=C!`0mh{84jqaQ8ZW#nHzOBkbx0ii?R0 ziwR4BN6IcfUY?+ks;C%57$PhQk&zJ=g~)(!{(DfWV$#B*fBR!(hqUu?{U6Ppj@QZ0 z&iS9Q>S;-;NFwbt9h9+HLnk{^J!xf7(`lIiCm&x|FhPH(>)*ytzwpC(JN@(2(J8>y z0rW(S8wv;0?C5Ie>|^H%in#telL1IycSjdvV;O{HD~a&`r*@Pb7{cGG^}%Ec ziT+cGl!>>!1GgB=*AuQUE{gJ&!i#I*{QUy7y^JI@#WX#k2nR%fpOcffv$Cq$wu>-g!QFj5-MV){@qF^CBcF9Gq@g*xbX>v#s}YG{c|h`Jei z`#b76iA%USNs6P8XhU~24grIxYAJhascL9Rm@2CwyjHZRVe}EPO<*)7J zhtzjhR})8@yFonsrJc=;we|emHC5d(z_t*E(o#wqpdm>a4GWC4hJ}%Xv7x;i+|W)* z1@13tqOB(Gsiy0v;O67J4`_3y7hywz#pclc+mf#Z(C|p$tX)L%elSPLA*Z6*X-oh?$Oz zJ{+rtM?2}MDe2q0x@&5|om4F>oQ&1AjNBZh5cbkiCK#xJwx~K3RBh_(;-zn*;_eNV z5|_Z~D{1*dF*-0zfT}MT2AE5j6AB8f7KU?>G%b}j(XB6YKCwr zjGmsk6v_-ME&)S|nuwX%DY=-bt2@Z3X;_%*L!>nVj0`l@FsiPms?I1kCxoX1)YZh; z-CWtzTTc_|BW8gRH8A&)REF4lVC+qmP24~es^VA&4RH)g)kDt&4+Rrt4ufksIhb1@ z&9zM2jp61PeUz)dhP$(!wu=u0E)Mtebku;sklISp`cMmVI8Ity#srJ^HrLRTmNC$< zhl?4(r92JM4l)ogv?dg#gY*Ecn2Fg#pc?)XDgj6xtgCtea2+roGYuJM^8h&15do$L zBBmiGdYEggYkA-eH9<=_RW*H6MhC;VoKzr&CbtHD)NbrE7Fcr#^fcVi_q@E58`6-O;`4Dxhz zNM&OcaaBD>V6v)Es45nrX@HY4#(Mi$1Yoqy^_``i@#Y9WjD)|0vxAnsy`LIzX)rTC zQ;fZ#Cnms9&q>`8r{XRRcT|I^0xu5pa&cFOskrE1)s-B4yj3k!wS0Zu4BT;On3BD^ zzN?J8In2e`0pV${B<>@v=Pc#sq3rGG=VR|@?g}@8W8Dp$5uOstqGGCUk}BfHO280Q z5lV1(6GJnUzqx~|0}28Uz@QA=5t=@dcx{ZSrk9ebrm480ha}n$3&Fc1a5BDdl#H>L znJP}j%M^<6m&9tT*?WtN>AK^Mq%FKbAC(bEADEqqG2B2CXRPn5=P!d3HL);s#EI&7 zYMQEG#qE*ers}F*y3U|=Pd!I%BYPDuWe-zdNpTq|@W{i+U(?P<+!>8U!W}(ON*XAX zE*yrl(>HT5Q^L4I?ac!0jFe#Jb}r_k7$pOwgM*=}G6ZR$>|(DRfCL>-kZsW}qm85ty`TmTQaWllQB5T`UnyUtjR zT}=`#1;t5XbhLrragcT~MVM(Adb?>$2B<0rXiA+{kCucWoWzh$n&R&IP9AtE9dKO3 zP-c3f9uOQ}S{tqJWG7)F?GM!q0ELy5PS3y7pVOZFdv^XkNWuUA6|z9#o-clil8{^@ z(NIxBU~N`Y&jumXc8@tJRVWjue#12%XToEY(GTp~$Fp6~nBAG*zb}oAkB>9n6h7Ha zKK2UH8cys+N{y_h;Uw~ zJCu~9*RO$poERT6+&HIFXPM*q*7Uz0pO%?oC)2Ehdd!Cw!w|!<%zumjk9P&1Hl4Km z9JeRgvz^sWblTC!bN@dpSH1i2AtssTKdZflr)TA|gMMq(@7MZ|I@x*Nv>VxM zu{HdUh9d5iU%NJf%#2Ka`}9AnB1!asic$aPi0+7AKP~(y<82D8X^dRVxhFPo_qW|t z(>+#6k0gWc@sIx0iYJHAC_2vg(Bu7u+S^Zf^y06`_}o1?K3d=0Y|S&sTHl=vy`lSB zTD77xWoKTuEcKt35oBdu*(8qwUY4WmS zj-SG=$_9{|HrlsSiKE6?b#-;I2RlNqQ&R^gds1Z|ke#I>w`CD95%f-@WrdK$U6!Ca z4op`Fh9J9=I4`*Oyq0m9Y>>Zj^>)M)?(US4yA_T7a-dpzNdJ(Fj77voWugvekfY5e7kYd}%4_2L=+m$; zlHrk&$e&+JR6c`2P0!4P&$P$fKPj@P$Y%_E#Ka?spWWYFP|JWtLL53`y$2b7nE44% zyIVy`9`0{Cua1r_Y|ZC}F#;kYB7)|nb)Nv|kpsyvFl zMEJNVp1*MK^Q~uyo8%F95DZ{E25_677s+10-q<#Vn0@r)GbyrqSNF=a*v6RbX|~CG z3u)hZ8jA|INaC-~Un@h!*u%XK8{r&^Ay>{b-n;`=^IMJ%yUR?XqOX$o-ntz({zs8@ zLEXwLN{=6fY_G&!8RZVGYXkU-k-NXgKj1cz9CG*4h&e?>&|>{dhs82!@^tIN%R-_5&AGF1VRrC%h-17c(TTq0=F@1FatHp(Z<7H?Wj%< z7ML#fXH#F`kb5}%!6D0M?n{z1I@2PlF68JkExRNFR_V9Yum0rb`Ab3;h#~u}9RPPQC-ETf*H-)59y8_9}>R;$0ImLynX~+&9x`z)hm05kcDpOs zozJSXrN^t$H;}z)@0Y);Tx*v*`*~yTt1%_*ibGO&p?TT&?X6?XVjpQ|{8i;|nQ&## z-iZmDM?3iKWxK_`49(#~^}4cPFE1}~m%cmaQPKWU==HS6H`MsAcZ)*Wl&T`O>Q0Ui z2-QLRrHmcS#bApg>~1hS72coZ6CY6&rWw8kuR_VwT+NUUJUN!1?@2AVL}umZU57%U z6qyOL4(g4Z3PE`hH`olCjLHqS49PcQyet)h_TEJBd%pcJ)M6uk?&C}y_wL3Mu-^RmTatO8M2B%mQ^|5?f07*+SCE}i_!TxN-C+-0}N&G0MjvZIoYhgMx^ zQtZyEdEcgvrFIg8bhgxYLDxy@=c8ZKjWQ>EvC2$@*FzaZM^?s#=}OPh?+cOkDKV7- zrbT&D7d~!28}nm9(->#5E|>!UGic^|AMBjQU%OC3LF*1dSjqh~U+ z{ps-yP4&L}8V0a$@ac`kZ#VquA`id6GrHd{dsbHd3A3)nFwI%6;%t^AZu3&dJj<#g z#{GMezAc<-9C)Gus>xx-EUjP{J0&}dQL zd2Rpm^(|H|SUjG~fB8FqU3g|(BrM%t;4PNNl&TN-UjYLD*@l9G0xD7}tvYw~u-$e_ z3@O+#DUy7og}5}nu@ME&!74A?SPprMkrd)8IBbBoD^ zLG}nPcr@?ymp(R~I^Stk13d<BC->_hh?qXK@(xs6u7w@8ezGF?){qVIrwlIC> zRb)#vy1ytxi^~)CO)j@62kEW59LWK*( zjmL%@F8FUoZ`Cu7dxirpMfK@7MKTk{Z0}?gSn7Rw#y1G#79^rv8b8Ng*Ji$F#S9UD zI1v(!5%w9@Yq)xMk&gPTko>?_^va9AHd$r4>Q5U);{N=fpB3%`ULl`o3x2|_NDLy< z6hjpd#GZC$7WQ(AuXVW1XVp1tdx6n&C953=z_Vt<%=TV9nAZQfH!LOG#GB-biO+EQ z`eNDB&}Akyrlb#Bs`&a$IV}s6=Ie~A+i^T~E@*AC$@}+9AxlYY&$`Z~gO;;BDN@`;^hZmJmw72#3R(1)}Jlwz% z&bdymm2vU~H**)oC_`c#mHZ%0%yh%~-{`4x#ywK_J@c)|L6@4EqR1Ee zb-ou2KRs}g`T-a1uBT!iD!lJy&8n=|v(+_OjaC+&8>7^!+q9@GNZ?^f-l~4dYXFO! zUB4U>(85UADjC@9Ibs|tvNmd6ScsRLc|DUN%0SrYy99hZIhfBIMli}@eo`Gd(ZfhP zh((6Jqo8=ZsX9?Nqt(n6&%&0VMF({lWYf}Nu+PH|wXu%oBs%4hw94^PE}dQI1#ZQJ z3tGOjC^LUfxuZxgSq%QjAlf+^Pld&svstushcTnCx65`m(X&!nMEUove8KwUC^^>u zX_IZgq-?i`4F9ma6>E4XCLY1{;sarezf6(2Afvr*;Qm+0^(c=LYoA$+umbNyjhP*d zWM^}C!zw3>=GJ0qLey5u%rot3NCvB8m+aZPOPgu37*vIH=BI_0u<)lGZaP-(zv#L* zd%Wp|lX$%$4e_nUQ^aBAi#3&WN~ge}l_p8v-&nf#I@Ea?VN|SB;ccm8 z!&zW{8EVWUu?NUHsm{(4&M30Sw(7mIETqhtTRUQ7QC?KMTzrds6XtXWJ#eyCVP1tA z={FD3v}u;4I-7`z6bGsV=;*-AnAc>(`-tmh=MAh3U6zGsLT*m%tA=^8Cf$0%Zd}m< zVcB_Z?!LFvVMgr1HFpWcuFZ!~;R$T^neF@Rw?lSf!c!*jYjHH8ojTc8-XE?;yLS{o zyB?-f2&==sN^agrv%2Xcswr$0kyhe3e3}pYn zlsA7%bc!{(*J>=%(zbFR#&7Y4?9Z{>)K2QV zD-EKz7S7Pad;G@vtU-Dz!h)8Sg7aO;_W{D=;~LBh)G>egBRNMWB@;x{dFEv~-;PF0 zov8Coi#dW$03g#ZFcIoX5ZGhb&mwHq^hW7^iQ6E5TMSF@Vt{h3sN=ycuRHwA zWU!{UrxBP2TGQ$8_W#P=SL&p-wK61P)ne9ma5AzvQs#_3`Xd2w3Cr~x;M^p8K*xEZ z=vUh#rZ2ZNp58KUr2ZTP@JXJ21{r{HPJXrb?%jLH2F;l`P_FdyyWx`sNRh`d;NVrL zkgh7H3=Vw_Ip}uecrB*&>sKvYbm++uW^TMY8Omc)Y!es9E(PkjSW;G|yuUH`tuZvT z4!=#+ogzgc|AEgarww%ETbZ-o94;3-yGwfJ+%=t7;#07uZ{HY5NlDFWe7K)*Yej+3 z*lurqT0Ql)M1Qtc?oYSzj}jmKmcnZ>g#3oB-{b7h1x%06onv7JJvSoT>4;;`w-pu^ zb{WW_4GIdHA`lYH%aHFHA6#KM$giWL`UXWiULK0eH#)x+n2G?v zMnZi_un9l~<61#LH?%a}I|FcqOk`oY!|+FcflIs=omBrYv z{j9+5Z)9KIoNB&L{5>v<#bSA7jSI~TybhFZ=eGLOilm@&fJ&>4Vj()lniyw)X#vq43}h34ZKMjE3v!JxMoEO znau%1_~PC*RB1)8oh){?p`k(Zne*o-XKA`KAOM+EF&+aB#-uSt8qK8;dK?>mmYV-w z&w)AMGh*Ea^WQbB6RcPv+7Z`pI(>PjG?;Jvyadoj9~lS#bY!!Mlz+_8P0g>HWBxc= z>1j00!~D(aja={_=0}X&hM~E`^0wlALr7P51K>A|zrh{icG0a^QF)g|>Y`PQIRpWBr`~7NLx7gMz0sslV(d zOOf6A%SU^}EPPps`;hP;r|`|K!O2Qb%eneomNaT8etLU5ftoRDtSep7R!GH#=VyeM zef8bj*!4FPJD)p}&}>ph_ohcjF9#Nkv9yz)Gf8G|moMp_=N^sq{AsN!L>>`FOJ5zZ zcKJuKZE@Xu(;_Q_@I-r&w^+hhO&Mdr(_1=Jmudie0DBgm>TlrE&pwfFEKsrZWZU4O z*v%-zS_#+n>%pMSZiM z;G5VU>|H6gZ7hOCR}b4^;~I`VC+hZ7K0w+Yr3FQ;K&+y#EB*N?6=2m7@|JhPon_H} zbUbk(7fSgh=2GUPE}sp+mgXh0QK|k&mk$i!zOtX%l1}#I`sJ;S zh3*tn+$0+k)+^F#%<8Vwy8&pq`<*?JT_`m?*c)vhZA?8|_I~Y~1kk&1k8jyx!SSy~nxz_{g#P z0*i{*L|wC2<5A8flUc1m18LtA(&T}%;)JWaHxp~Cs;a1J&^|u>ql&_k<&l)FNLG_J z2-}41TXhCNpbRynq@)=95(|LEV5MGIeV^c&kzd}^s!Yyv5D}t2JyE+<-#B!}SNknJ zVO(H-7yAo&2(7QwHdbe7@E8%h7}!Hk6@~Y1<*)x9`)EGLhzjr7%5MZ0n@D{}!?w|~ z=ZcT4VR*)s`hmD5nZT)N<0Un{rc1PVV|SzCk6MQuz+-7dkxI?X^}ZoI>=Nx#y{dmha?N5JfsTIY_iGlI(98#Hv$up!~c+bRQvmfmoFku^A{%YuoyDD-_m*K z*Ya@QvKn;;GDWUyGxGQzItGG)n-s95?7eLCUrTyU|Ar-rBP7S#@e{55qG7}xGjf%> z2k=i~C&DxGnrmDjS-{*VE(~_rY0jZ3>ik1&LRtq4Xfog_;GjEgEC6`@n=iS$3Eoue zW^)=4Jve>6JD+FY?$D- ze|5yLqlg^z^pvu-Nerd&Mc9+|-)F3tKIU(-_{C(*)Ef=-xQu6C^jY{yJC26u-B+DB zyg@t$xdQ(*vff9D_LojQzo1#R;eUgatH_J=^lvUK&X}q*c%g_zD;Ynw>o_Mu$&FNX zqtc5x4Rf{bPd|NdU8D4-nV9qW-(z(#DMP4Cm66GB6}Cfn1%4Fhb9#O(R~`A{G)UMX z$c3GSUb;Kj^L)58Kww@cl_FG8@vZuEG6!V5(#EsT46hb~kIVPX>any|jMZ;ogH*%i z_@^6nn~8HMzwcAh(7^6-orMJTLj=>xSfL%=D*enF#N9VG*gt#bB@3xXSAPcb zDm0u>QcwgAEy4^$se#g_EvI%3`Q)v?a^liAkO_)3V+s6y&K3r?uchz-X)B6=DB8lCmdjw5(-Dk zGCR^G^!YKa9`dE|ap)`|V|i<)`PaFniv-)oAb2Z(T*=X*dl)^Tm9t+x_a^Mf zi|6;V*6I;jYNZJJwc4It7LwHMnk=n7-L>EMOgt<(ruW|oOh|m|dHQk?`Gr*!;xnrb zG8sZGYwBkwnNA_Dz(2d}bUT$Xs=t;NooEa#{`rQ-#ri3FVC4g0uos zu!0_;$G3tnix>SQ&n2W8Ha7bHx^P>3>EY4BF8raCR}Pk7VjsRy>Yi!6S zALGq#crOHO2~}hi*!P(^!|@v>P0db34d&OrnSJ%&Q6|j!KG5EXfH;h zO%0O!S%H;sbx7q)2pU#D6TFaPog`y-i}9v5eUN;8=T-z^yn*Fqk99}2xx@CW_W>if z7Zpo6504H-Jy-qa+UKj0x=Gn8(qDNJ^!WXd%^yRzK^QPB_wj@>D<=*yWLxV;TmSRu zecQo;dL-p@%h&Bawo?C9CE9^=W4F(j?-XYG_Y|g<( z&v~NPXOsqe#w{_8`!ZacPiBrfqVvItNtk{o7Z{mt@cxX1hEJ=v1C0Y*|M=l z(jJmu{;rFE!e5@?F$&H*QE11eaPN+Ha2hyzs=YtAgHu3-j}+IW#uwshMH!J2c4VD@nKl8OpNbO_n(zAsWKJFz0y8V+A{J&ZNt-1k+i84=-p#8(M zT2dnLQf7@o`OXVhI}4ql&xh&*3pn_hAF!Kmdz$&5OvNKBUKOzJM?7N6a2`#&+rbu% z$%#FbutkZxPilKgul3ha^CJ$<$R96Vz#rA_5^`pSD&U{{9w|RpYw)a+%(E&e&Ci9W zzTlrf+WtC(yhu1xaL8iumVL8G=voW=ChE8I!9cDaac9kP7C^!=U$a^}khaaUslQ!` z8jl8Xy*+?^szVo>*}?G1Nx!U}4xfwES8?hFnz#QMeaU&Ut#W8=i(y$e7KbY^^GDi! zKCqmCw9Cesl=%rg$3IB}8G(;}9{mg)zd86R0(VKr`)bTtzPsr&ooD3!p0W`9r<%>I zF-RUjw-~(6io-~q(=Y}lBAi+u(U5v@9V9S5CG+rnK?uf?jvqHCEoGrMmvw-fCb#|* z5LKKoi5Wpw^Ll&x-6>Y8*MF-rO=xk{zABmZ2;<4Mf=rptx!cX;^+`o)w=5W-_jMvs zsleoYcx@|=P0Vv4;g3b8%K0k_LBomDN!ynJ#xtoitN{j@bL;MJin@0P0^8?FEqUnK za1)-XXhiJfcicoAu5wdH_ocA4_wH}&=P#a6w|#jokY!cl!z$s%OvTI_1^{&dy^zhq z)KnP2^X~+upYt0Vw$#I8F1d`9a$mW6)mU=?z-2Cw<4Teblzbs*p4mhB=E2c)>x2BX zbF`P=0Jtvgzx?cHo~(1vl|r)*WLAYG?~jiT96+dRR)(ZyyrumR92l7fS*k8WMX8^= zZjKRSJb zElAq~a`+79_m~pE?cXZgO+7{{b*{2X*tb#M)JwC%O@tn8o6-QRCE@m6Kh3Z5=z!38 z|GLds(7}*x=yZbOaZ`=&!urOX*4EO1+9QzL9r*PvOURNnN0TjMB=_2{QlW(S5DYj-=kChQh&B`ilk=) zyCujDq7V1b9+M4MPZ6|k9RN?9UEzodH{-du1yw{;Q(u`bu}I)c#g|q_0$?3XX3}l2 zKNKB0Xv!Y$o*46k)w`XNEp{5$Yu;(AH79D$!LIe6Mv{KBw_G7&?SU>=kw0Dn;9bzi zN=HX`aX}$q)r@hUu@HwgRpBNZ2g+TIxR=>rU_0W6YlzP{f>2gYuMeYW*}ea4xgLTJxG@P77aL|r|D^m% zTWCe%!fsN7y?cxOxayH7^g`N)z4@&=tx7f~?Yr+_l$7^AovzA;nU>b6rGt*pe97@@ z1sz#ZyD0DW%me6&bpPs!julB62pu|SJJ9_FZKfZ=KBUEPe@v-w3HIfc>Uu51Bq#0E z#d^eJ{whB;FJDczk30XTb1h&A4b7oRy|)XModD*H07H5wJr1lGZczoVQ@iZ;RPyG` z_*>~#<7CH_^DM$OW}r)Xx30~MW2viaYYSL)JA9(5k}T>rjkkbm;d_CL7VortA$OsI zuR(vYtzyNJP$oB5@IYJb_1DSSzjD(<#N5yo0PtnP;Hrgj?vKf zkhARYK;TypmfA5t>Ttg0UXvU^brV)qC6%;xkK)B_Ppairl@_ZGpm{N3<6uqr5*W=Q zQY0qb7RPRyjrhed*L9(J-~yZCZTBC7+?SJI=xEh+oIN*C1t1*?Hd-H8b^A@EOv(sn zbYDa8K{!vK7<>$<*_tA$PkN+{FXj0D!X|UR!lm+6)+`C#?Cl#~(zTusM+V97SUwqu9eQ#cT%jZ|OAvGV z@^<$c6VhZ#RS0Q1b<}vYlcL$4b1{17hFW~yl`qT#%)zIWCD+TNjB1CRbMqQKPk9o) z%r_ZP*Vx58$VTMpD+y8Y#@3h%f*kvBjc+bv;uUJC$3QPa0}k6xAj8qG4e%V~VBs2L zmGoamaEF9`SBrni!&wUHW^b1|E2byyh?m~scK=c6b|YDV*rRN2wwD@nQF#Q-;TFku zD``7?THR{ZyHLh=9&vOYWS?KeB)(2E(d8WYJzh((8@FS}IX*T9CRq$9zv`AnLP4fd zxFdnHSaKDe0Z;L5Rw3;@^%O$|rg}sxARx5pTMzkZ!Wr08kQgxY?(v_b2P?`~X6zXV z3>hr`yTCqg?`YPg+#c0l_>3~R&E+chhaqXg`pH$eVgXzy!PB_T$kBji1M7vyvx(?t zXx-BhDK_COcAg5vog6rjjqKF@A zHk}`!{+3|VA_9Y;%|ykJL$g6;rJiHj%i_F1Dsbcb{*P;NtGs>YfO(h*{?XhbMdH{T zspT>wf0Jj&nA2zti`j{rIRZ?vTZS@eAGbgsF8%MI>)?ZwVz$UBj(qDOY7pi9EM({p;*E%3m_=i5cz{kyu4-Oh{Kb_|5 z!W9DNnoxs&k-^P8Vv)f+OJKdsSPJH6?e-5n0<`|~*t7kwB8}v`DSVT|icwSR^p}J@ zq9%NDo;ZXKt3{uzmpUBKxKC%!g9B#LFU5-)#zeR-Lqw=qr?_e_wGaJKCF*`F!cFea z-?s%SrtUp_6jT)PU|Lr0Tv{bH-^7x?vl%U1frTU>Ai!-pGeLe}EwcQn!u%;k`Jf+= zG7Q)6{&o&DOQ~wTeb#t1tY^W|ET!>AOLJmiH^4!_87|IUjtc`CQR-<>k|GHEhtYhf zKjrI{HozlxfJg^{rG|z>Y+ld!fkeiey=;o-98-ynS-X~#O1EM$zrSTs0A-~y_WW5- zaCF^&0N0aizt*b6JBy{du6J`bw2gOpn6sk{2=o?Gl=Xl>fu{4WG;JieL**$?c|mQu znwOmI%tWpp=iFLuu0pv&zijVEtPpjp&t6oxjhEP)JY=2Bj|65iuDukoH3@$f z9-kt&G@e~DM_BTlL+Twq1MWST37 zR?ls|DZVY969SI0J!QU3F}0 z&Vo##!V~Jwc4?fCouD+GsU7PDFl#yC+feZbN5~+#&epSMr1pH!Z_Yd7-_kney4&Cz zaV6BFcdO}J%|AtDrrCH#rMtj6c~BFBo#Jvcsg(2Je75nPad*L6k77Zl^~<6o zWeqN+SMoQh-6Dr#!Qt43=f&Oi^|foQy?feIqj!X(mptAug|XLFoO!i(IP3e=tAtg! zvzI0P>=o*C(y^B<^lHCJ#hgSz?7=|D5r4cr#62_q$J65r!{yB|DW?O&mjESzs1T%loyrgCl8Mb-NDXvce7q3C9Q75_CiE7Yo0~fFwtTBHsP=OeR@+$XdN1vk z$4jqWtaRF=7#vWNL>V)se2y+)BBI(mBwG7oaZM>1?1tI@H3NxF32AFvCBBO1Tc>o> zikd(WM7|SovAFND10U< zSlN?g#;oMTG=Y}xoTRgGSCxI%#tbf8f~@RuWZhp^0XJ3 zAUh*H+Gbtq?XfyrNzhHkdIIynm{e=rV%PVJ{hK|TLgh(*(V@RF8Q9#R*D0m@7}VQ^ z-BU<*yXK_|^?!xGG%NFI?7t;49;Dhy&tD<{ED)_o`OV3NYa%NqTQDoVLt#oNYqy{J zANI0Ot!daUaHkMOW>df%EU@hT>EXzDh&gaQRx}HJRrpV zqC@}w_TAMp3Kq16w*^kwbW8K8fjO_(j3`w0k zX=~GBjsL`^!?S>=PPy{V*p!zJTOe6XqYLOZcJ6C{%V4u9?T(;+Y31QV#xxtANNqxyiz{Vk4}|u=PvHX;)nTcIEK@tt(L} zwx!*yJ(@-0OduLZlDTIOemOItNh{C_kZM!T`A=oz-kV^9wVHo^js(R0xc1%m72Wtm;@TY)lP{YZD`@#}YqGNU49 zr6>Z%zt}>I<^F+RTWK7{y5(a=MUTL>jnKzccNq?!am$t;n0U&>1~p!c^G?4}OU6KW ztRsi7Vqv4(ThvjWY-l_gXFp@0i(I&V6m#LB*y}q;4l2h?@ zeT#Uea2$OFL;#v&DO!Mct2#rRsm+7KKLG{b?)u)t78yhP{?)m?EKSeB-4#=ja0efq z#7{SwZiopm5IK^|vqCL9ec99 z=RW$cM1dIn4M>Pf2duK@=%p8_gaGn^2qeYZvQ&Qf3BIPyxvvk9-LLFGBHXOP?czBa z)-Vtn3pDrs!SDWl-{Nr^3?J(}PUkbaWjqA#Gk62t^k4@7vxD_pt7Re}-w6i@LG+Xe z0mLoHfJr@KcrP~E^-VeOTd5Ma$4DqgsEJT~BSpOGuS-|K6^D;Ahu_gshd_OBd-rmL z;T-?UMMApVm;tXE)wB2dv;)W1S<9~!?2`WctX>cgs;d`0OfSNE?@AiJ)r`4!BlnHj zXP>>t3#l=&8Ar8uJLe_TlWz+}zuB|*lhbE@^A>eFLc&JJzsu;HDZ zJ$b!9cYpa_dDs8eh$FCjGi1A8CicqrGgU>lN;5Y<>o;l$lrQ&DiwE2*)L0KpR-Br7 zMbB;`qWW`-O*HuU^4s2L?KhdeBx&+aIB)Sfb-njVpk@4*ti6BZ<@LWgqQaM9A7+Ak z)8qkJRY{ihXcHhk{(EbH-Foxp+VJS8!(>A+zC93dBhMc8CW+nvdiF5DVDUAd-U>M- zMSw0tfA`yf0(wSe?jFX^uPy$n?6U`c3|IHoJ zK@mI<$ciL@ZJg2;W|Hig6T17O+V5CAfTJc{S7>FXwYI7`1Nx`MezBs+yoki2oN$j{ zV)?-`ZXrBuJFSLznWie^!Nk!oid98__V!Sn81hGq4#U+Wto>CtY#M{^84cOaOdpMA zM0I;u)G`NuEWdMf>%Bpdy+6(GafaS>d6OA=yUd$;hGJ6r-w&Dm*(+2=I|iRErpX1K zeIfEH(%?QmAFfehL5l|Ykh{b*J}t>-LeDOKHp)>Y+;f<&4CQ$t^7>sw==(o9#>4S1 zU-I1cBP5WYXS!d=Ka`j7+1Dh=5yocp2s;s%aclQ4!*c3YImi?lPpKxOX1Za9QvTq@Y=@+*C$nH>Bq<-Dd4O z?3#5{y1pRh^4vG1N8Lf^uD7?h%9Vv`R%m(E#v9JY4VrYtng{$7fdMYzp6sU6V{4d) zgqh2$pL4OjmTw>pLC53^)x^7AgfNRa>KSm|VA%KYHYTE#(KapdSn>2v4Hs=jW`VxJX5chz@eTjmL2V?2(Aqk**3<{cc&Cg)?Ddrao5u9vfXFkoeEFJO4PnhV;(+3e^FK zD(t|enZ<$J1gezJDN@BBfqLiAZCdGGF>XfZE_~&Sr0?t$N4cBXzO3+lRUP9D=yj<= zH}Ol`K}#;Lb8Wup<{jmi4Wp2PT3$%AqgXx_13}g9X$r8$ zztOE3EvXU66qV^0`a=1nGJ)8E^Hc&?<1_dD+>h;*ApvwZZ4om;$f8_-=!3p@uGUN4 zqZD?1z^Ocnz9^9Ykspyq;_U2vv9||KvXc3r0m#&r|0o{so$+1hF;2sv%z*x?fNDe| z@!CBLl64!Vi(sAxiY*0JM?M&wN59v;GGdEMSrQ#;3*7%AVUVTk&{ke%gr4mB*}`a2 znS86_%hbxtUiIga@+hnNh%>o_J24*!-+kXir*QUHJ>7_Uz&#OI?iIV1VnPu(v48IF zkJ-nXb)2&0EWWu3?fu&a`gvx26(sAsyVOQ??rE5A0m8~kmK@=1%(JFOfhr)r_?D}h z|F4es8o9Pw6Dtw*@ke9vBWjY4cSaG=WDS={u48a&zy@8&?K^Jb+m@< zs^xd3tof_oqfAj8!N*$+IbD{K9wWX{%Q$C#t(@}0q3Vm8FWyHmocTE2zR9CmSJsn# zqT4y_N^QJH6Dj{S%9@9`(GC@VZ^u(m^ABy*ATMM=C+7* z>@CN9O=4Zj_9pl9f0Y3AWasEhZUQr8>nMem=YXqeimUPix?Rt2bHZz$A9`>|zjmQ{*{^fq}PQ z-$;%s;IN#bh=MHp(b_8ah?(p!4u@OqE{HO5j)}(mFV+ID8O*$$bWUL#zA9C0t5iD6 zM>H+aZ5{~#QSaujoBsbjtd7%Rp|nqKY;qKINirpqWWRsNl$f;p5c=%$zm~4z3_@Yr zsp; zPyHg$Hj>!xQS7}dCfU0Ixkhr2k}N#D>7@M*%{5h;;r54*SVbLLgjGG-qS>fFtlHnG zOg;13UbcCnhe7v3&qF3z;n%CF)2sA!Jv&5(p>Jo2SF9L%zZs`KL3P91YNvlxZZF{i0v$?*S_Qv4yt>Lcf!by#$Ud~?(Sbyz&11=h!hWE=!)s~R<{{? z;)x7A0dmsq@n-@i1n%QG2di@Z0twH!9EE z4<{i%!d%c!R0NKTfnL3tKz(vY5$w0^-FvoSbU{b;Q!4~oTSYzWeqhVjU1-CfASF39 zmg)|TSn?i?#7{D8jJJ7=Cz(2RNNbZaa>ZgVRNm#B8$nfP7xItBPPe`g5PAeyBdyY? zxm`HN`U|fcOBwVf;$+O9M8-I$vkx5Vwy@Er>1k8r3ojpX@-SFkVd9Ec4r)Vt8>ju2 z-XYR=UY`i%@TKNsK4B&v{#jik)w89;;sd9i?y6M>Ho%`?`5w!KT)v6Xh+!6XecUf0 zZ$CO>sZO9>iIN+o{qz_2o-a#{LXN3-c9U7sv9` zZcn*17e2yz6C_o2U+r4g@0Z?eiEn-RSPs6dKT5N{+Ziw9Zty;!m2y|0?jnRDxT=zN zP#SiLlhaGQ(1uZuQxV~y{zM#yEjao8he_?iHHY~^#aV`FRT2RI&ca9EDRZn>I=HjF zqldg8ksnT&81HyWhaoN=UF9Bo+NKq`r~7Dn`89cwuErE2&j;g(O#R`|9el1zUG0Kw z&<6g2RC*d8X}Yk%rMEgsY)eee#$Fc$Yff?5ib{$HlrYg?lAFE($y&c;P5eDKcb;m! znmEJGJ%P(#ZZkMC77kF>x^t(APH#c1njrM_Ci{&`@uBXeG3p?t*Fp3;C zvv}+rSS@HjGJ*s?BJOM%&#%4dqs2eFcgGt1X&V5VYT~}Mn?NuCXCJo(r+jrxbG>X+ zYwOhu7vfpP@t3JC3O(wRBdF1>wU-=Q(?fHv<`1I6;J&$cYe%`~Tqo)R*pNC`Y14kb z5;MLWn_fds{8gLTPpFxiCNk7)UTS;dANaw26yKEup$R!Y1{ZtTqV$sDVilcQGi9El z59TGtssk9fQ}0mxFV6ltD9f#FAIAlemhSHE?(Xgo>6BKaJEXfq1nCZy?nY8d`bIzm zLAv|9?)~n)pZ9rZKEFSHGxspg-dC)(uC>lSj`P(&wE&}fatQ%_UG>Q5-bA9!_!oze z==^R892PCuLb~x#<0^wI-V|o2@d%8vjq}QktJB)=c96!L7wtQz?SUt*`UvVBeh)am zxgWwF`smI7e1i-pvm$tv;ix-4ug+8crQWwstS>ovpCW%b*K2dr>%LI${k$ZOINFL) z>*Hj8{cbnohm#l028>_q)=0Cs9!Y8pFA8I1+jCHhRds04y>d7{qiP`%$OI89)^>?R zI807%+-K-3WKm!z52(ldtof}=(wh2+$kF+jb}QZfaE8M!29Yjk{+h(CD`};kWa<>( z5Jm+e4u(BkpU2;e`;(y9aQAPaWjF0dXP-ZYbaXsrGZhGRb|U)mt>xA}6*wn@ow+%j zw!dv=S@fT%8hJ{_`KZ?U&)BQvagg}No6a*sBI5Gmu&%kx&VB~Yl@~MPPijg*_V1nw z2o6Zrue_>19mXwE%)os5=v=G!r*Ck)_h6s6&UpZK%RBJ+4yht-BIbFUIwi1M>ueVN zs*GAN_B?a@KRx5-aGO@BTK0Z9hxv(QrHvF@?rf;U-&SX};gKQC!}zA)P27#ym0C)A z?ziemjduTgENc|ozM4Y)j>CX+e8hlxxPH^UbT_4q20{(dnXeY28rB zrAP_(%-QDhZX}+Vqxw89(i(`+z>GI|gyeQ4pSA=*1i$#HnX=dmvGx`NzP|GaoRb)^ zch~GtquwHoCtWsq7pHNSKAeZi|G@{8jIj!zNvtZ#zJ8eS)#VqR6r33tNQy~F-M$AV zmuvj(ntdt?3>y|+_2PY;SEh6BAn{UX&IvnLAk+^u@Rnf&;W+KI^q*bculIhjuPU`-^5T=YSg40%a^Rpd*(CZmIe|iWnb={$_hhx9E=(5FmBlQ)dvPYlo`wz?@&xe>dzRCi&D|ZX3 z0U{i>*WCk}n%F`_2AO&yes z*DNd7GHRd1&81y+uV8k=?~tYE*?m(}j9xm0@aJJM4zOVCq+Q#JwV=3u3H98d(=Hv^ z-TZ23d@tkmX-k61@r00XqYKHO9^0)J?*5?<*!+n+hDu=5q5@%}>GVmQQL9+foU8T2 zWy{RqkB5$Br5*cs?vA2flB>SQD~u}d8&vM2Tu{_VM9UsJT*ujPqq#lo$XB|2K`m6C zxPR;*t5Cl5C5%$Li>NCZaQF4+o1ArUx0v+wIk#Uds0`m^(kU&c`fh)B|8n)2D&E+q z-~hccFJmHaFf2=XuHmfTK|JED{q*o9h11IpxR`BKP+iznra_KB9~M3-0MdLGwEW6r zZDRo45ChkF47B`N;I`|il#)u~1|a>vCw*w1)Q8uhEzDAohN?rn8N zE-Eu7HJAcR0781RaZi^G?~nK8-Hq%(_RML(!7S%kmJkth6N#K3zP_Vj7cB8S%e7kj zOks!Zt=wJPn>MP6@j9GC{6qi#k_P2aS&qj+0q?=x&ol~&h|;&7n&JuBBBmXT1m6mu zYZWWvvp_Pc)*?t+PAc~H^cll};Yek@`=w_?)XLw}W$j9?y~$AnNuFIy?=qq^?_-oF z`X#zSy&d28YJ*5DYi0l!3P;W=h}>Sq!Eq`@^X^`bueL6d3WBTY5{Oux*Q0jYaJ-_` zH4nD1ft~;Gp?e0sNt4l5`tJRPI4KsP?1%ku?RY#;p~RThd%U{LPaxt$M9|ptjW9fo zL#|zETwKz{E#-x^>)EvB!s0-0f6`N(vAeB^yrUyX?xB_}8mTb$K!9q@>lysb%V}I4 z&`ze*Vn72XM)S4#(x*#hI@N4G_uNX}5QjOJXqZ0w_1~Ka zWm+ftX=EqomH6-x<2wMWZH2mDTH{q~!bk3NL0)_nOR^x{vHuNEBV4_{t`_H*jE}ly z;}LQAsfkS}Mja_E{lQ^R`R#2IyEGw9RNkNmJlO!X|Nb%DHu*u{p>VC4d zXhSf5b}YTVyzXgL2jXara~-ON~HJRUKpk1WHL!(b3d#OS%Rpty765+-#52CFaD$_eZV6-25A*p z?t8ZY)MJO`# zzZ)otS^aVo;D2?4EbrnXb&DmvPDGz%IK({Z(Rcj93dGghTyph^-b`2W#=Y!s<29VQ zvrIy0za~^hk)o(Ta_ne_gOQXR&MuJ9@f`TI-1YDWZbKNHDgJyl`PM1U|MurOneD-$Tn1O+n2-q2LhiDv%DbGC|Br9*Sn`k zZM7_T$IdW~-+oJ-jqzC;q89UGQi47wUFu5m2e$)`w^F+GQ4Vn&4e2}d8>pT8E?XVy=nCMI3-e~YefU^COtmDO7>I+k& zsP6nH0B7(j62l23F;KX|t37~=Rs90Q+CbK|zG zhqPXo7o=4x#u!5}VSSKxY;wGB*4b)A1Vi3NeWH}lE|3}{IgnWnrYJLt{;>D&n0yg;j-ui@5rVR{(77N*;yL zNXT#|PeeW!XE1_G&HDEkZiRzvyhUx?V9P%OJ*>b};rtV+PrqnGHKAc2i3pY#^P{aV zs48g^%^8h!N|3PghO7ky#JAP5_4b{Ta?y?#%lNSf`z}AVD!{x&xC$w_f5>5WjY=WN zO4*i7_A2kJH12PU3d*U;rsM<}!ryjEs_W3K+1;4qH5&NTj{byg)fk9-i6xh&CL8O^ zdtP@3@Y8f7;a`wGQ)M{_8TDYVzwY!1jHM@c-UQ{U3K;^zTr}6uqBcqp8^B({lyja& z{u{+P2=(((d6zrn``h-HOyrz};Xnle5fZt$y2!m3{-oH-0Ddj{Ulws&k^GzaGp4yB zs6{-t$$TmAwRMaLEMobWrC|!W9Ng11!>9=YU*N^y|<>vU@jZ@fQiKceO-V_3~1BzZbj|dcE6OsOs zdBgY@2yX|#V&WcBB0Yn9_G5Ei-}UhXo?LXTw{MSB%)2wPXc6F+zU)J|+CnnFo!S_>CUT4Uv+WkRQ!0lOAuv;EbHK-ruV8D=+3_e0X(tf>jHxbL;3DbFmaulA|h3*G} zJH$VpxvbS5ot%bb9NKza2S}1cT)FC@py2nrzm&ZhiSTEU?{9Pql4g-#aO=Tfj(@=;uqfQe=^@e|+nebRWMlU4!8wO?NA5v) zSs`kOHzNGyz#+x~)VeFV~k?XxtZ z0kl3d-P#iR2OU(j)K^g|xj=IubRdXU{WY5lk1{_GI@4@IDhTT+nGM*&hSI4J5NtD3 z1>4Ffh1Z%z3cU4g=2LLNgi^^QpXF=mR5UNop`uAWd1J0d>nFt=LF7`YGZ}4%BsWfDC&EBNbd#UXT|U z!r))y04eWJe<(YkF=23oz`LMeFr)7{;8BJb0NMg(^E(d2&Z!{QXoxU5Kq#$#DuK@9 z6Hp!XEWQfRNrEMC1KDj6=o0Wg1NWzkKFkw?8NQ}Vf=&Q~2`0)r<0~cf)zDk(|GFRR z5U~A;e(~5}O2(V#{hbJn&;vFV%tJ2Pu%L6Ols4o83h=*%VGezlw#?0QAX#i((v`Bh72A&7ZxsX%};BhBug*N$>ILz1+nRJvuth zsL9Lw@d-9MC}NAQnz&H%6drTKwAN4b=ST)I042o3W+7Xgbfsu?DqXwmj-~Li-=H1F z+^FvTcG~-0SlaBpU($Mb)Y-T5t%y2)RUjIKk7UYR1|cjPs|Ig=wWxm@&y1*?Wdffo z3sGSqHmh5yL5czkN#(r&rqj|F$#$>fvqpRSV=>IUTN9evag5 zM_uw68&My+c)#{q!>oGo1-Y;^L9U@yH?HJk)Fn*eO(>NJfS9>PZ{n~Wi#hbN0NBeD z>|bg@O&R=-a?w)Hu*kn4Tme9(wFm{c|(+S z8QwwmZ+{F2QCEc2bF+Bf)|^BAkw76$Devbl@;PXq+M=98=EJJ zMlS9Lis0F^J_9(P>cF-9c1XtxfD#Rv&gEEaN0E+%n(WR`XLk8~Kz3;H_$?H!LJ%9C zM*Q*ZJFOkTvQm@dgYCTt2L+A?_%y zhu@83clfnf`Ls$^t+BMDz4(#jQgi|Q^FIKJzsky|!!bC-g8?bS=Kbwu1*Ol1yX;+R zUx!AULci2a4*Rv(e_oCi-n-OY38KoJ>4vhLORVN#Jr|qUKuFu-|4hMr#ZZUCi z;0D_-iKoy9MsfPO4?>UreC77Lzr(#iyZB)gf)*#ta6C~*xSDzC@qC$DJ6(l<*NFz? znvNZoLS)!X4K9S^dFe2FO`m2}UoO}7Zi}pE*@LN<% zgaqy0z}1s;kZ^kM`P~&@3F_gQM+p8+MNz}P0Q^#IHFooSHQCI+Rt0Ogkuw-#&9Nhx z(3{hll0S^$lxyX`YAdl@shIMl@%QtaZD@~YB)$$0k_uePe03!_G+AcSB@}*17+?Q+ z(5&a|*;;XQ(Sq&B$jp#hp-11+Ldz@qB@dSv(>K=gO?s>AJ3EmOXejMXAFwa`9TpL73v!1q%Y6S6Pfl(pxZZ4i{byLI1UP& z)&OuYZIK+|Wl+bGv=^Wv(QCuv91gTf40qI91+csRx)c{XvP$GoFP1|q0{AUjuOk*S zf!~6i^pXNd`u|Bi%h17SzZ;ja$*XQ*g<1*5|4VH_FRJ^0Xsy4V4~1Gg8v+=1oAsjf zr*VUH(IWnTN&y@{{AE`_b>1l1<6azCeSs8(h=1O@z!5wQz)Qht2n-Fsmxzpw-fCaZ zxR1X7>Xsz%%3}7Fj!`YINr%@v^h0q9--$mq4d46Cu{F!QC~;VId1gIce0M5VGwN`^ zPbZpL3-!&aQU?`w;nO;}z_QRzO7;2YHHg8H*c^K8rb50*S%DL%zufqXKwUb|N8)s^ zH30ht;7MuR%T|9gdzB9i4mDWmUg7~eSLg$e2{)h)^`#znjR{x}68;wDf0h)313UOA z`jQ$U-t6o9;@$jWi{hB_r!n9R*7(eKjXp`O)k1?3x(K*Y{vjnv6tU)t&E`YC_4uQ0 zva6SCRIs1tRPS;4;?G(=xm(GY>`m-%3<82MD%zNQrG2KInR;|FU%&8#CVn5(Kfx@E zpYkP(;Uo9W62zo^D?`)i;xbVY=nQhl|K}XC-P-3Y$7CZ z*4@F(`tP(%(x5p z{mbu}jfdP@0)B_869DsSmNvflIi<~GKZW5=G~crmD7Sf&Mr=3x33EiB5nWig4<8HY zDW0jgDm_qnh@|HHcY!R}6l2oe8pi>4layn57wm8DvY)aF@yP>p`1<~S=q_!A<^0!N zL}XYd-10Cd`KAhORYIR$2O*%MrL2LFzs~il)hXgicQy%;QN;S_UHz*}tCR`((FAI7 z$e;Vnx$Z5osu1$xy6H`X*VuO2{C<(yX-5RCqPW-6gVfR`X9_@D{8Gt|;q}!E+;$iD zJt48^e{zC9l2Ck_-ZMFg-as@f^V@W^dw+zoxw$n6a%K|hW6?Jfw-$AYKWUP`X_{MS z{^;X(zY)ddJ!*E}>8{j1Ng}R%4;h_7nN!vq>U6tJGk83DpiZAKj>dK#nkv(!)~VHB zrFaTd9HMrSF>p4io;UD7E#Ln+U9z!Zj9B`N(h_f3Vq5&5Mg8pi?t|yPn8tTKt zgTZI3>Jx<-;w~_oh2^2ahS7OW*E8{>v$H$7cJ}2)RNZL3flfDHU1M!|byx9PBFejeQ$`KRP>aix#5wZ&<+Lcn6&nQO$ipRGO4 z^)hXBC#=A`6+fQfAP8^uyFMeVHSLtkGxrApTxr~BY^`>EHZ59%v%}?1^wNYpO|sh* zdA0Stsi&^J`*84=LmzY6vTq7-!^AHzVulvMl zG>PLi6+prhG!V}X&d94L@pxn5vQKDa-3wnFJ5k7q zX^V3*S(N$Z%T0us%fzS71}&Jt8Vpe}p6yXr0Gm z>!HZuB$>GMwoPt*z$3g@vv2;(hc^pvT??@eAJuO0D?MxV)_Km_4@KJ$;wpILT9~#p z9&3HzU3TVffLF00RtJ2z4HYWVzdTo{ZQBRe3+M`TR<6GGUO5kj3JVFDZ9F<0vg8*k zeP9c~R}7(RZexpS!(Pe#ad1EufEHYuFE=qzP3GaOn6He_!nP^b$+cokwvfmO-Vraz8!65cSb6Gkp{Z;2 zQp=jgS`Ocv|NTVuUZeR`m8?Rx2%|lJ)w`+CL9_m%b)_rYiEP3I@`pIEp1n@7Ms@5} z@uXa6z%Z7r;9=AiYfFu8e|=7O;kf$rYfQST{3hSyuf|b1S@DM9)GgU#XXNU-ChLZ* zI@>Wag&?^9`KeGGnGUoe856tbuSe8{J3xuZK#&@~H;_|2+N4K%4bA0(jZ!H3S^%O1r(Ip z|EUGgK8%N1JzQx=@pN91n}0A49HcG0)B;i5-|D=>_T1v{68Ka8XHHL$GIN4j2HM_N zECF#{wa_XOd9>PK&EHs-VrXkmHh5Y($@$fvYjA=9dsh_L(UCZe$(n8U1C^HFqqBA; z$^fNip=t*ofw%(+7L8Jwnw-;GAt}>b6`U!#sS1G@40~RePJ|jE_ThB!inwbk^K@o2 zCXy2d&f!N)EyvI6n0|F~`)D+F(vTERW>j-B=1|FVmn zvl)|2a)R!XzkZn!U{QVdTAet&{&a;bf^BP5Pga_ctA}}*U2Jc@R8X$)fk|-iIcY7` z0wD61IU|^w%J=qPX@2t*U=KBtj^>o-87Rfe+K81>8RI|cj`UVX5C_~H4d!dsFeI%K z`c53k-Gv=<4mzPC<1r&{znMtX$-+g^D?_}wc)mPmD+mZRrjlhf%jIMnkPJBdVf_5> zzcm`=NJuR6IwpM2HCmq-7nU1noA+h^QZ<9TcUjFnDRURdjB{u+@G5@Lz-f>KXA%DI z$s`7OL%)kYtKM^m%bItgp#YMP6@{5D73TKm@(qQZq&l^=GXW~xMsC>{<2w&lwZCSuc!MLnk>aHoYyM*eOHms>rQ{7 z&FKL}yneWiF5Fgjbcs-~Bs*}&dpc_iQfGt5(nFL}7r;8O+(J`#e9?f^B^w>)vAPTo zyVNKNU}jTf{522`CdfduBjnA3uXBPoUC73270LJX*j7fLz8CT?DU~T8bj!0LmP`R>(l+u7`01LF%Hj}`MOizr6e&Z zQVlCtwKW}RZgji`yVB1~JIIUwLhBDgEqdfWfpE|w!~B#&iWu((ePlxQUX%H5!DI2b z0!^n>FtS01FRzCaMDf@;J6W$f^kFFeVT8{!ZeiFDeMZk^SH7VhiA<$7`^z1kqa zCS+lkXMT0F<$!T4<}oZlqmqgNjME{YDURl=yL8C>PP18mwD`aCL8cJg&&_t115RmD zmja9q>kHhcs|aNtTiKlEbY$XQVVpBVaJRj?^0f(eCT-7VYyuY7VgnHd?YXG>TC9d()*d&^Cb{rRUXwYWwK+6+AeKlPg zoa*^r+^O@8WW{u9?F$p#%%r`GIAMbCo&=B%Zv@co0Efv0@m~H6UEzKztqo^+ShJvv zp-bk0HZZVz7{(^|&9C+x+--G!FnaO0#OMDxr72L+mum25s-%<&_tnAP(w0L7&d3;b4g}opVugar zRf?zOmeWs?-sEGWzv5!{QFa0ng~i=w2mkM9E>H#6VH`FNPrbCX`MLU%W_$(>?CS_> zqyOw{kRbHr4(8G328S5-Rf!E4lnTWn>c4~XM)dl#A8L_hPZ@syIKq%!YTanT6g;^m z{$r>5`HrDSdwEl~6?@36Y4nd%Jqi@Z?)e%SOaSEfJWbF3DR-pND z^zHHSvhbg-Ur~Cp2vnMXewquhMSG?keOiiDY_?PRTcy%q{DPZU5f7TVM9+5(w~w^J zryjetLXtVf6R;CcimBKZLfC^#C|Gj z6CqiYB4&s!A|37aS-$V;B7ZiMCb|B0tM3`oK%2){6<=X4F6)18&FXF_-LBi)Wh#oz zBMhWr#+m3?Hu0SQ@V>uro?nyF!T&Ca$E6u2-)lZTd(P&|=K|V)7FhxgdG$ z3rDUdRW^xAtrgMz!^SGjT@{}t78}vO=79kmjG)BM(r35ko1ZKYKcDy_stwCh8H>`{ z$TK6Wn4>AI_eZCf1E-hh;8RnJ_g1lf^X@8AeXady>(M^jD$6$ z7DW@!nAp#lhIODxCEHMuRp2!*X8eElX8`e6QOr+V;-Q zfuY(%j6O=f0{OUicAABKY7a7v5yq)@kwgPzn$*JGY@c!~-eS|f(MdC94}82ZqLH~_ z#R`xvlF;;ziofkcpDqQb!_TjS(tGEmNyqPc{q`xObM43eDXF+$=SIZMElQ_PU=RLb z!qwgWQw!Ocr$ctHG5LL@`eU*b?n%Y;%Xk!#X0|2QkR5MTL=qKrc1v!mCBF!@|FRjdNW|r zK$zk>mHD^J0UQJ=$|KNH=!@MHYz!W&6ktReX2t;~KOHOP|B)XG6gaRoH8lj{0U`ho z_!M|)Ck0;o%S6EL|NPNP`rqS9^F(1*R5Aqa>fv4(=;-6!IcB*vM#%U@Wsg0#jr7;> zf4vfgCy8aZVMy3Vn?pc7E`Ibpgv54gx99BZhXU&{Jo)+GZpIU&1tFOGvbOkVg@+$& zk$<&EOeolbhb55X%6D!~G1^se3>}MIKQNn>IqNofW z{9oq|i$hAH;NW;;K)b*g?luOWJ(0s)%FEZ68T0YiIPov&Xf{2;R{t+sc7YEjsu^&; z7|1TPx$l*r*(X2E{+n^otUnTy33ig10Y(l;GUWdw$!PMko;)kJ(Sac*-S=Fmp{*QW zI9PG}`R~%1D+FyA3%~rt6*uPs7@iS8*Qd>@d%hRR|5(vLQHRL{h3MSgP%!UT892!a zGykvu8Ds;CQ&|mbDtT$vMufxp0QDZmHUqX!a_`Y z^6XVvBrNK%k}&iCW85k^Q}IgmH{)w-fstW9RGSk@{vA5_2PFoO|D7VkBRqQG!ikvw zNN}3`C@^n2m66D*FQ35<{NHj}0yY~-Bhg+?7HG>f1EBC;wcDxwBeW%8KVs*5q30$| zgn&D>Hgdt|`~Pdy(cnfiS?z!2E!H;`u+-d4(VqKd54eXaIh?@+s{iUc1&OD?bayK_2zpEn{D5)3!)$J{FQbFKqhc7;$S(c9_ z;DlYY-=ln630SQ9#>bz7mQE-Zcc6U~=(oyODUx=<7Dgn&?l>j{0P~tSeBmNDv@`@!9#A>jg1Eu4l zY^I&40Lsi`KdTUR0k~M!LHc#%dtcwvgM$NT>r9ueQ7Nk9nH2jahg3|k&_Bg0A2DprCrEgQ6Z zaV|BvkoSud=9HF}+6x=EzTE*#&#jLD7;BF`RcGEu(H>TLB>Hv-10b58FaANyTWN8t zRE@i$qzV9>eZhVP^%l=$sz!e?13?F+3T_n#D*%Y)aESPwRgP<}`QJtGWCbAu(*c=v z>F?tkgajvZ2C&hlQ7V|j+9fKQQulzbO{q+or&Tf(e%BUCPTmNCK$LiFM$=WJ45DHa z2)X6%Rr=fR2zl%hu~Gr+1Gjw}U?G-?#z6wC@dF^LJO?jPFx0Bte-FNo?k$yo!+Z^C z8R;win<~Hww8R4d)(k&Pt{pe}qwKk-tBv?+P0ojAK#LKH4gZBY^WYmSv<+>*zF+@l zONsY_&A63;9Lhh^--fsa__@pIaiN{qF1YA^Hvw@v!XEXV_*6a6Cu|Dv@U8#+Su{vV zj4s^>w1T~Ko&T*zLvX9lITL867Xc9VOr`*fTw*Zlb?%SR*y{}Fuy(~3WeCN3%ys5d;omXhrE1q52 zyMBd^q7%*AyPM0y+Cf@%+}LYdmG;pYP?-ph6bhG`;w!8`&;6x$ptDg$y&^dk1fc$_ z_>_f?op(a(u#X>p^gMM(2Mlw7^)wK$)a8=?mp8x>6(mz6o9eOiO)|;^vo|>&3o!TN zz5*?Ps6o@TccXj@Rt719;G#xSoT_vXhrJbC*AwCUUZ z8Wx)ZsNGBxBnE-yxLCgw>!Am}cMQ!p>uJiEvlz9cAj;rZqVJL3!S$vAlE7-Crf|c& zPsd-gd6`YR0;)}r)1SY4kd>?;6$QHMJOSv<%&?e28Z&cHCgSO2FxJ~%AWVai*{w5K znD4b+f#?F;YR_ptcep!OSr6K@om*72OBey@d-UZaVh%9rU8TJhQWV>PW0fuojZ*#! zg%AMkIFV)^1IM7yFewCHGw`>4!IBIN2U#_gTrLW51?|6AWDNqH^5qnGItC;_S;XXE z30Z|b84%8R$BLCtF(fgA(@l^}lvUum%iNb@r3xSwApKtGC#v>H2SO6W|ga5 z88HnyeB6O_M*y@JdY5}@52@4#TScn(*gVBW1?y2IZx#|?zNsi#|N0&%G;IXVD3|G` z_8(=Zx_pFMfLgbFfNcv0@Nh%{c8#)6p(jnL9;q1=#dw7Auz?es^3ynb*YsM`Zonzw%Bfs?4L#=cz`;xt-Ma7 ztu!qv%}1RDV7tLzF*od-i>F}A70(u>cBb9}I?C`+1oR4f7SPrenTOB(qwu{hT43_c z=|*MUl(@N`nm+HK>UNu$xO89G%oLK5R>)FLobyb4TeU?Y}6qzAe{0+}e5v2rS`=avbsAmUcxiWQ0~0d33BZ zmc3!BwdhQCkIw{||8kM^UBkd6|E5}PJU*GS#);wQ1YuWfNKA#3fM zMuL5qhIRP2UE2rSPWQSHtR6gAz0phrA55-b06d`@-lCwy45q>Z_EPNwDBC@ zQpT&6>xFO5B%U&(PD`t>l=d`Hrah*4-bHzYWS1@XXdeG?BLmS05QVxcRUGITTxUU7 zPS0AJ+A_V<-DxCHStbym_=5*Q8;qtW=2f557`oP9)xI%E;dH*)5ETgg*{`4LH6JHW zwRyt5`n3|vc;1xx!-o&MjNu%-y6u1Q@x(Ik1p^bGpZdR~P!Qhn!`&i)1u!>gJ{HO* z1dm>}^CUQJB?}Tv*JA5Ai^YmOi~e!7?hj~q<)Wr>d7Cix!qE>_dyc7Zzm<7MXtaHc zvs?_nXV7StDZ4N?cRj4lDbwI#ZoMQ9j~9KZDPRPMEA9}|t5&g#gthOCKl_Qj*=CPD zBmCU$+SzMC@?r^9`IxOVL#ZMhkxp=5JFGTRS1?Vd|3xy5qM3_Jt(H_jpLuWC?oYMr zm;G5qF_GQank*J3k3ZF;@b>cZ88OZJuvOis95Cm@>D@-)rTCDjXsPM>-Fg;&LKl^LrVl0)x9W`sZ(+B*khL407QSrbL=y9>_-HXqI!G zq)NgyINH%5v+e`Y;0rW1P+MQ9F;Bqx)69Xn*EY}1&Bdi(bR_st$D}R-IuKjvv@4G! zKP>d?ul}z6M3}_s2bu*TS}I;nAm>{s1r!7PA&iR>o5B4B*?41m=pKr1w50% z-=oKJoVh7;NOKdgbn(~40e5Gb9`&9An*B%?cj=80T-(AhQOa8uWG&V;w8y2yv{!$5 zXY4PMg9b3aQ9(d?R*}s6m$qtTJv|-E>(gbp(C_5-FuhvCh zw!Oi879-Hds3tPYltC_dg43TkC25+B;$mPKem*euw5{&`DDR_(Q#1iuL;a(j83V-H z#A3ih1_CSl_}S|c;EtsXQ+h4GztJhvA`U-2CpW(Tz1*wS{`kd>k_Tf6DcgL})2oS9 z@cI){B4SI?WMpRJtTNw|WU4fwhU5IO&b3c4oFtQhqTae;Z6t#@)3oXiGAn?=I45K_ z?3oO3($ecJfC4vxDsbw2+4eo*4zph}v7`|6Q_-eEukw@KLcc7md^AI_#mA5<|6!YQAIkN$bF_Z=&NY(>}U=Ws5$gXjD1dTC!y4=+=Z zW?uxuPh0(0zm*fY+=Wnh;74bwq-k{eZ4&5kb`tkjox$FfKz7IN4G1WuHM6T3Fi(-yf@$_=79z!oC z-@!N@{2|c}CZmI?BHYrO-cUQ;8 zNPAN$zbGXOXkeTIk9-nB3{&z|uI)300vm3wzaaI^aYT4!yp03S=trgT z8&@`MBtWtwiMvg*+eIt2R`Z&dcDH2Q6kDM^#-K{O9)n5OO>(|d8iQJn1rYKOK8qG8 z+zv|GS?i$P=#NVnaPUA_p)Y87J*u{|_>r?fE-L!P^K5GK-hO-Osp3nsw+CC{MAoOh zd#l1KMs@HXVr(rZH#Z@~p!&yfw3)e#qU|HS{zu^;|mtx`0s|+mKs{v6t;I zQf`##~pS_iJ$G0ITo{Bm9$fv%I z&mu415^@)+^r$Gj=MlVVjT`vrFI?xhj@rOksau<+w0wPYjv{nHQ1;8oECDda7n0G9 zo4{0)gxu2B>m55Mb)CH(u}1{)k36PN(-XVo%6|vlx_c2bmD`n5Z+^4{7Vc05iTmFL z0dk6-i3yY9!QmLcwggiY8c5(|_EW(b!H=3T@k~NB%Cd%aZxEu>SW3e#>tKvsPjd&J}s@A2f4&$1}r(z zcD7@85jRzmpFIfpJm5`4d_yc+w93EaNmA1@id$n_usD_I578~On$u3K`ot~7tHC6_ z#yq?{SkdVuJT;>FwkeMqBvU`CQx)$hcuJ(ooGfxG*|FT`c1l^KltL!!R-}RH>6dN#c+tJqaW9c(1 zl(HpScdyKQB8OA#1dpX+5VV+Sv?Tc>u*DjF8>;Z~zG zU~#U9b({XF1t?lNPD%671N<%^yV4Du06f|5mm8wS;bTn5tQnEx534WMSAJVwU7S~9 zc_(vGYg&OiX$FXUITae()R9qdq&QMHet>D467}96iCAx)#ZvEUxf{0J``IulAbyF zJl&jRkB#r8p+u)y*b!-&{J)xHwq#S4&(?;PiIK4B2ZoV8&tW6qD^JHnTdBu?&%L40 z&3?;d&${_QZNx^q&{T67Ht(ybe4@+VLfUfmWFyd(y(;{tOUc@2cwuqMs7q}5%gWa^ z5D(OrlLsS6oy-AGBtpI&Yw@=(po?GZV#$nD-xyvG+e~`fo$qn$i-%j1he>m&H2+ z`xdo_IHs!+sN|z#bLDH{4AE8X(+0QI$&*;D?E#+?(yjX1;8dtD1tV`V8qF(708G{+ z&i~f$tMEW3+)Tf4J%!~xFS`XS{lTkY(`L9|zRoC`?W1N5Z#XVudcP3H+}-4Bo2!60 zs<0V|wL+bvzr8e2ma;XV<=vxW!j=|UiD=yN{ZOR*WX!#oYKwMGTuV+qy-ILh=nYnK zsY)EzGp>)W$J2Jp#q8g!4Dz*%epN3-pEKh-U>$02SL?AC2i%{?$~LpV7Y*(Z<~Q$+ zEv|U`A)si9;{=lLgLF>y>*`gEZhU9a-A)Z466kKw7oK%mc_BN#^=!UWos99AE$QUP z9Uh)M`k%ov#Zw)hgf^puK*K*mxK^wR56uh8t(u`F`#K|I5Yn7)<<_KWFLXXRS`YmA zx`~h};z`S8`xVderzlNe@%WEl+lw<@Q)9&>_TQbN`Eq?X0d0}w8^{*zcSubk?!2z@ zHhj?(L3+h(LOc4wvL-hIaA$9`^QAGNp=Mz(=n~ER|+HW(89uzt+0nt+LB%akaj(Jfpj#VHqN7rQG~U`odCPPE5hh$tl_EBp-;fy{Y?2Dtyq=;FzNz(X%x*Z~182rIn%H>~hi zY#zin;9^01Llat=WiPa&!U6u#!sD0(qUaZf^#2L{104#} zetlSLP_88ck)--C#A_fP5oTtqN6o_SZ(_cv zZqTTDOqTw3v9b8C_y_lYhaE6!A*NkEFqpOB^l|pVMeK520r#+&KR7K19@ICC(WJ8l z?DLtf%g&Sg!l~rrtL8-d<3Q8ELri+-yF6#+X88X3W&Rp?M~??(`RPGmB_`4uvC$}G zUUl&t&s+k$GLICW**j?PMxE&Y#)x{2+LfPQJo`+y4!onC@3x4}tL@R`&kX6T)Q~BEkzSI;DL4aqnPJw`#Ikw zs(r>m4JbV7!7_}?T6=hIho}!4L6p{3#gC=57=mvdxLh_96=*F)0xQ%K?W0#Y^Q;M2 z)=UMerD6hKToCA*(Zep$T@>yw|F(1`2Xn+W4|nUT0X1nw>-BH0JF*()tPRnZuRn96 z{I$KQplKsoh@lhMwmft&F;o~P8~1m=Hw`$HwO%?G%C%!U>n z^1PZOT)lnXSBXEVQKDhaC1a<0`>diV#A*W4iWsO~dkKvBx78N@UG7#~=n@C`EmQPwyQ{;rn zR(d|eI;5Jl-sJGSPM2^}$N{@XzqAWJ!-P8N67bSd`^0AMnk-V#D1X4(Z+ot>;lFru z4=9sLfhl>8Wv`tKc)5VYU8`Z$QPND>D4zOg$O;e)gbllVvX1ohXZtH8DcdzN4b$GP z$F-jJpDFZLM`XV>D*u0#U3WZ|?c28s$=*@fdsg7&9YFxIt8tNzdwmzu~hMAYzo?mSk9Jt3AT)P-Q^Vz zwQ|ML>CfGwH^nsjD1`1IHdLEk@J|a#bz*8Sbj1JY*RjKhyz7r@8^bzfGHGcwGJEkW z?xNDN?aI9y3I_6KSLlTqAJ#*JC}elWsIXScb~nx?&11UTH-E}z{Oj;T4-}EzvB3l$ zNuS(Tcf+C*FN}vxO5b#UxoGrL8^nEel7`|jgBh}ieGh8yco;Dr+Tw9@m2v+|r=~_X zfafftQ}Y0HYS#5rK&QrB>0`a8YSb6r_>*}ay>}NzTTP-ig?9%zEu!D`H0b3Q^I4VG z_OOo>_A^!c?sm{a0QpF#vBrIl=#67v?8|GmPmFUlDVHDWwl6LWl|t-WSMce2$`v-v zoRG^Fjfj{{fg&_PYqa#JA{DS{5a>8-mlr4^x~rcp#_F+teOW1Rtz{tJtla;@4r+RM zot>qa{AsE^sOogx+onu8HnTt{)i)y1?w`)-M9iRtRHh4%+($a#hZu#mo2E#@BK$_k zcZNdi%+L5&^i-C9dQe02Qr}~W-$NEWym9X@5&cVM_H%jb0%mm(MUB3|mGnFh-2Zwl zxi3q^d`0BOsJ9>^c_ao+XK}rsd-a!sP0lIH!iY8>ua-G)!Lsw~i9ogGz}3BUYq~Y) z*5i1C*|e=r?WI(yMKpT;tONL6i>JGj(yRk&pa>Rmp0KX?;Dm&84o!Ed!UqnEXk+}T zfbQD*u1tlO6=`d!rpIrxJFh0=Pkkz@XB5pTCRfQJP)~S?G6cI#4S@}+Wc2Q1(>m&N zMfy)UaE!|sa=%2wM;F+K?N*bWUl%KLv(|5kp)gXO{Ey5fefi@RLpAbU3y(#IMy_SV zND*12^)e2S$YVFJm0uVVDzPaynC(RmG!!u08Bt$3VOua3&;4t8v;42+&5!lQn<+G= z4tZ`@4+$Y7c4wwUSx#r}L{1Tzk1)-uNtT5kYj0H5?y?@D{bXY@@N;(er2E1156U{~ z6fAOt>Yhbyubg8HF~&FOO;Q=fxzhqa5A@$lvzQn9P@?8L@_yYox@-J6?>n+0&qs0X zi*B9Yr?zR0MG^>Ed~!`&j8{MUUbP?|?2oYLb0X(8(lMJ$jP#Aj5x9UYS9dcmo(sW- zYCP$x!`Ls%wh+dj1b)W+{bKoYcMIMtye}AlQUXwM#lKJsR5k_3IPrTie_Gc3kV~wt@B6zpzR^vnjPb zA<6o@&g$&Cm)gt8Be-@ji`cfYTy84FERw-<8&*pFFJvqD4s|36C`>eyj4Us<4;hW* z9GZzkV>icWH7A&ODRwBCu=&)5ho8=nQ z<&gqe47O1fRG(k>deg~DJ}-RZ3o#y1TJ)XCrTM2E!-*QF-F}JzY~<;?%miAer;Ns` zv^d6r9JS9P{U&z|gfEp-o;pS^R+J3H^Ba}j-ayOZ+d>uMLfGgq+eqgPJLDiZp? zXs$WkSw6qzz0Ro}lYrToWjW9rNuaq`Jl^*~3dDa=jm^{0gN?arMLZU>)K>SA*TiFH z_M`KU5hCNP?TvN83vIDc&C5m!k5CB)oh;bi^eF{QRHYJ{4RJpi{`dZD&p-7k??L() za})+A{gW5cFHUo*ZjWT5eLrNl++7Poe5vP$At`~Bxe!2~ITzH=%5oWmdF#XL8Q*^* zY_IbkJXwEm4f#t?&VLwGK$>hAseqDTEI&3Vhux}75%D_bWB=iGf&)BN6h^@eRQZ6L zgNYYa2_)5<#>SY5DNnq3B7QK^d=BHn+xdUXa7|ruX+)&=P+H*f>RF!rJ=fq0myte{ z(*P=i=Xrq27+|v8$N^Y9W>CRS6Nv|$odCx&Hs)t45_^@bZ;IO_NqiP>ET}RkdQmZ?6;XJJqR0z(sWeu8T*Wuac66L=|r9 zJV}~fRvcX7uSW{laR7gn0!ajbN4WR${?*fR?RDS!Bs6v4)H&qTKI%%s|Nm4LUbrsF z20ZCoOHg{fy61VBj1wmCj>Q}k;BZ<(5x6a}NI$7ad2?9e>EIN{Ez*(6_ zo@WOmUc|LMA|YiAl7}4-Ub5eKqZfIC(~0Ww@>K;`2h@-Q-+gqu(SP^YvqiI(aD__- z&vguiY%5uY@;bMk_(YH|M1%G%f)Ozj$yVJAY$d1~fjAj5fl9zPi* zVE2!tMt0a&?Gjunh6>%ipSU~y(MYi9eh1qj{u{- zD-o1Pwhp5RO!b>++IG8?6%bM6WD&bzzWy>A(E52tX*Q>=U^Zh7KziTE3 z8O@)9)RC80_NP02jRjMP<>GCdvqnURDgxCn4yK%>VUMSkQq<5-C#S}N1B$4o<|u5l zOcx2OfPFFm6K(w1k|ju~_W5!)K% zeavvsN|9CAuMId(dr2g;u~A9w@dr8SrjZfG6P2mcpce|EImM~H9Qvd=zYBvKaibN@ zvNmFR|51YC)4^!310IOiT zYAz|iT!MgF7%O^T27i#d(!|S*$iMvl6ZfBkodS2%INt9ajyIaJYTJb!7!f1AFMkuS zwPV15qY5`s&SzN5;iP}v?2D-IxHn~bi6HFY}H=jG%Uk--V%fj zv1t6hlmjOEqZDk?DnZJ8SWY@6IbM94tvj&d`b5uUutvLqxnIFP*5Kz(_cr`2zfCp` zvw<&K6784vcpZusIzZ+vJLxgaZSaMsGyba)hyR|=jqX$8wHwUGw2q>)ECDk^vH0l( z{nPi&Gv%S;m&Tmn!kJWeeA*VDX;O1vF{T?x)rA^V^yaxykopbwOCxzDZ^0z-iqZO5 z)j7kjDd;&!`9-it`$jFyi(0cnmXwm|U@eN1pyTDOY5ZitH93mx#!D4`xS@swLpwDL zIy1IF$Pn{k&X+(FaF*X)Xpsr^50sH*VS@>^345|!s73uAvh;0}WSi{UBQ)hFBz<_^ zgZyfV9}as>y2rE_KYr+HWG)+fX7w_Sm`kGM+X7SOlZHXf|W1xPO7;U1HGw zN)MqubW-9}Bb+2Wrg~^~Sta-kX6g-p zY%ILSr0Qg?+&p05{!!GLO33*7k>}~y`(ngjPVL`?^Z-WykW0i|LyC`_c7H_-#ixil zk=Zh5oXk%K{zM)B1m2_IWFM^_*B?GtBj$#^QlOKiT-e{06fx)BORSTXkemvrY=2g~G{??gg{ zEIg-%TK&83bIXO_%_x0y$*YiqoD)~rW7e92zGR{k9l2;;ew?sB6;oF0(@wCpvz@1T zKrOJ>VSqu`_CKtb6LabbL2d5%`RBWD%oMLVw9b87SzlsYS9vy51k1)?wyZa%jAAH{ zmTo$?!wE?@;<3QV^N%*(F(qqr3F0_oEwX$@z_L`m;8iE0H8I|Vjt&)##5M5)F2 zDhrFMGw>S%gPh?g)qBgLCRT3h!jse!r+I4fU2@qiYpbrXJjtvCCw}yUT$n7y7@x3} zn2kwK)I!XZLf)m|J)l(lRDq3rjxkf0qWv(bd5E7`#F?t=&FS4ghH469WKr6^jv_EQ z@qznm+Q*aE1nsT{$WA~oDNu1@oLdxNvex7dkA&1(+O$C+H^b|^whq3~v%n*67x3tClH&cWT;PpK zQ^A^W5AGAuViN+FDuUal+D!ypoH>qeA8_Yfv%xtT-8nL`^(+T`q2aR+^^Ss1$y1aO z3MfXBlkmT374MIck%o~YF7srMX+Ii1$H+;77!B=iInNbnX+(YeFOYe-*hH24J+w5|&6brguKO;=B=0A7bK@&1FE8(KHtg$M zb_NII4FPheocbaGwm1!`+{cFb;TAS>0MSo>@pQObz@*q7;7hOf_5ii(ip4NPpNrt^ zY@4P*@(-S#o}n=@WYA~{DkJ0nApwMm!;O1mB z&dwGF@*GII2EBfu47izQ0Jw?yE?Xl_Y;zR@&bf8-umO6qCjy-&avp9Pe_vWoE??!& zk;O&@dHL8K;k{@Z=;*z&x9clWlqun&()P5$4!~aO08K7;pH!KRi9HWcR1k;e!PM7_ zLt|k&5o;#s1>TvX;BQcBE%UJuAKTVk^lC$k2{- zaR)Ysq(@8ufL4c=l_qtykqwbvlTVcffO>tX*LH{MaLp&2cfU`z zZtbkQ+#3WOI1SZ}w7ArVjnHtm4f-vGY;k>^#X7$&IwW61;(hA!e^~KUMX+LcbXO`o zXv!!EYP(7zCrT_T^K>&#>2yWev&wq$CGwsv zY9>{{ z(A$TiSnmLq9q#G3jJQ+!)RQ#pX~vm!{O9;QgaSz^C%GNI08D+SW;rTUty#Tb#S?0O)fH@!UKVPaZpF3B!eBSgsXM6r~nh3n>vVHZ%sa6r&p@=DYM>FKWzx zbNR^&MrwbWNkst0Pj$q_K$Xq`UP_(I3_|8&_MU9t&^=L+*3{h`Ke?~$0jY;ujCV$@1xpOWIlDYi8$yW^7e+!xT7i51%Opf)9H{ggFookC04TP1zV|ocge< zwH%j`zi}YIf%jf{r$Ax{Wo(NIUbyX zT&Z9NU+v$lPq@H;GwAPZ$lr8N7}%T=d9XP(d5`|Q|6eZx;XjVpb0b%(!xMe=&nx{m zgZ_)z!h^KW(UISe19>#&q_=~woQ`Ol3{qJc04j)gY7im_Vp-`#9;8oUO$j=wn|O`H pTMA7${6Na@{=uIK8CDg(2jNJxa*hwHuH(U%wz|GrsfvBb{{V=QR!{%{ literal 43940 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Π?%3$!%`~vQ!NjkN}z{O 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 z - + diff --git a/src/Validation/ValidatorCLI.php b/src/Validation/ValidatorCLI.php index b0b0ad9..12e4e58 100644 --- a/src/Validation/ValidatorCLI.php +++ b/src/Validation/ValidatorCLI.php @@ -71,9 +71,13 @@ public function process(Validation $validation) /* prepare validator-cli.jar command */ $env = $_ENV; - $env['DB_SCHEMA'] = "validation" . $validation->getUid(); $env['GMLAS_CONFIG'] = $this->gmlasConfigPath; - + /* + * specify validation schema + * TODO : compute DB_URL=jdbc:postgresql:${PGDATABASE}, DB_USER et DB_PASSWORD according to doctrine? + */ + $env['DB_SCHEMA'] = "validation" . $validation->getUid(); + $sourceDataDir = $validationDirectory.'/'.$validation->getDatasetName(); $cmd = ['java']; $cmd = \array_merge($cmd, explode(' ',$this->validatorJavaOpts));