From be8f7e326b61e875d6fcaa1e22d4b09d9757cea1 Mon Sep 17 00:00:00 2001 From: Simon Quigley Date: Sat, 9 Mar 2019 19:31:11 -0600 Subject: [PATCH] Add ubuntu-archive-tools. --- ubuntu-archive-tools/.bzr/README | 3 + ubuntu-archive-tools/.bzr/branch-format | 1 + ubuntu-archive-tools/.bzr/branch/branch.conf | 1 + ubuntu-archive-tools/.bzr/branch/format | 1 + .../.bzr/branch/last-revision | 1 + ubuntu-archive-tools/.bzr/branch/tags | 0 ubuntu-archive-tools/.bzr/checkout/conflicts | 1 + ubuntu-archive-tools/.bzr/checkout/dirstate | Bin 0 -> 14523 bytes ubuntu-archive-tools/.bzr/checkout/format | 1 + ubuntu-archive-tools/.bzr/checkout/views | 0 ubuntu-archive-tools/.bzr/repository/format | 1 + .../d9b1454c44b42a172b2abe781856623c.cix | Bin 0 -> 63249 bytes .../d9b1454c44b42a172b2abe781856623c.iix | Bin 0 -> 76931 bytes .../d9b1454c44b42a172b2abe781856623c.rix | Bin 0 -> 78243 bytes .../d9b1454c44b42a172b2abe781856623c.six | Bin 0 -> 25694 bytes .../d9b1454c44b42a172b2abe781856623c.tix | Bin 0 -> 104372 bytes .../.bzr/repository/pack-names | 6 + .../d9b1454c44b42a172b2abe781856623c.pack | Bin 0 -> 1214111 bytes ubuntu-archive-tools/.bzrignore | 2 + ubuntu-archive-tools/TODO | 1 + ubuntu-archive-tools/architecture-mismatches | 272 +++++ ubuntu-archive-tools/archive-cruft-check | 368 +++++++ ubuntu-archive-tools/auto-sync | 807 +++++++++++++++ ubuntu-archive-tools/bootstrap-package | 93 ++ ubuntu-archive-tools/branch-livefses | 86 ++ ubuntu-archive-tools/branch-seeds | 175 ++++ ubuntu-archive-tools/change-override | 204 ++++ ubuntu-archive-tools/charts.py | 103 ++ ubuntu-archive-tools/checkrdepends | 300 ++++++ ubuntu-archive-tools/component-mismatches | 940 ++++++++++++++++++ ubuntu-archive-tools/copy-build-scheduler | 190 ++++ ubuntu-archive-tools/copy-package | 258 +++++ ubuntu-archive-tools/copy-proposed-kernel | 116 +++ ubuntu-archive-tools/copy-report | 289 ++++++ ubuntu-archive-tools/cron.NBS | 47 + ubuntu-archive-tools/demote-to-proposed | 113 +++ ubuntu-archive-tools/derive-distribution | 529 ++++++++++ ubuntu-archive-tools/edit-acl | 717 +++++++++++++ ubuntu-archive-tools/edit_acl.py | 1 + ubuntu-archive-tools/generate-freeze-block | 126 +++ .../get-distro-update-metrics | 113 +++ ubuntu-archive-tools/import-blacklist | 89 ++ ubuntu-archive-tools/iso-deb-size-compare | 94 ++ ubuntu-archive-tools/isotracker.py | 169 ++++ ubuntu-archive-tools/kernel-overrides | 253 +++++ ubuntu-archive-tools/kernel-sru-release | 102 ++ ubuntu-archive-tools/kernel-sru-review | 455 +++++++++ ubuntu-archive-tools/kernel_workflow.py | 118 +++ ubuntu-archive-tools/list-builds-on-tracker | 46 + ubuntu-archive-tools/lputils.py | 161 +++ ubuntu-archive-tools/lputils.pyc | Bin 0 -> 4885 bytes ubuntu-archive-tools/manage-builders | 325 ++++++ ubuntu-archive-tools/manage-chroot | 215 ++++ ubuntu-archive-tools/mark-suite-dirty | 67 ++ .../migration-blocked-by-tests | 31 + ubuntu-archive-tools/move-milestoned-bugs | 85 ++ ubuntu-archive-tools/nbs-report | 280 ++++++ .../new-binary-debian-universe | 167 ++++ ubuntu-archive-tools/orphaned-sources | 107 ++ ubuntu-archive-tools/package-subscribers | 165 +++ ubuntu-archive-tools/packageset-report | 106 ++ ubuntu-archive-tools/permissions-report | 93 ++ ubuntu-archive-tools/phased-updater | 730 ++++++++++++++ ubuntu-archive-tools/pocket-mismatches | 234 +++++ ubuntu-archive-tools/point-release-snapshot | 37 + ubuntu-archive-tools/post-amis-to-iso-tracker | 132 +++ .../post-image-to-iso-tracker | 47 + ubuntu-archive-tools/priority-mismatches | 338 +++++++ ubuntu-archive-tools/process-removals | 423 ++++++++ ubuntu-archive-tools/promote-to-release | 196 ++++ ubuntu-archive-tools/publish-image-set | 322 ++++++ ubuntu-archive-tools/qatracker.py | 535 ++++++++++ ubuntu-archive-tools/queue | 497 +++++++++ ubuntu-archive-tools/queuediff | 258 +++++ .../regression-proposed-bug-search | 142 +++ ubuntu-archive-tools/remove-package | 146 +++ ubuntu-archive-tools/rescore-ppa-builds | 42 + .../retry-autopkgtest-regressions | 192 ++++ ubuntu-archive-tools/sru-accept | 77 ++ ubuntu-archive-tools/sru-release | 395 ++++++++ ubuntu-archive-tools/sru-remove | 159 +++ ubuntu-archive-tools/sru-report | 722 ++++++++++++++ ubuntu-archive-tools/sru-review | 419 ++++++++ ubuntu-archive-tools/sru_workflow.py | 140 +++ ubuntu-archive-tools/sync-blacklist | 67 ++ ubuntu-archive-tools/ubuntu-changes | 65 ++ 86 files changed, 15309 insertions(+) create mode 100644 ubuntu-archive-tools/.bzr/README create mode 100644 ubuntu-archive-tools/.bzr/branch-format create mode 100644 ubuntu-archive-tools/.bzr/branch/branch.conf create mode 100644 ubuntu-archive-tools/.bzr/branch/format create mode 100644 ubuntu-archive-tools/.bzr/branch/last-revision create mode 100644 ubuntu-archive-tools/.bzr/branch/tags create mode 100644 ubuntu-archive-tools/.bzr/checkout/conflicts create mode 100644 ubuntu-archive-tools/.bzr/checkout/dirstate create mode 100644 ubuntu-archive-tools/.bzr/checkout/format create mode 100644 ubuntu-archive-tools/.bzr/checkout/views create mode 100644 ubuntu-archive-tools/.bzr/repository/format create mode 100644 ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.cix create mode 100644 ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.iix create mode 100644 ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.rix create mode 100644 ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.six create mode 100644 ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.tix create mode 100644 ubuntu-archive-tools/.bzr/repository/pack-names create mode 100644 ubuntu-archive-tools/.bzr/repository/packs/d9b1454c44b42a172b2abe781856623c.pack create mode 100644 ubuntu-archive-tools/.bzrignore create mode 100644 ubuntu-archive-tools/TODO create mode 100755 ubuntu-archive-tools/architecture-mismatches create mode 100755 ubuntu-archive-tools/archive-cruft-check create mode 100755 ubuntu-archive-tools/auto-sync create mode 100755 ubuntu-archive-tools/bootstrap-package create mode 100755 ubuntu-archive-tools/branch-livefses create mode 100755 ubuntu-archive-tools/branch-seeds create mode 100755 ubuntu-archive-tools/change-override create mode 100644 ubuntu-archive-tools/charts.py create mode 100755 ubuntu-archive-tools/checkrdepends create mode 100755 ubuntu-archive-tools/component-mismatches create mode 100755 ubuntu-archive-tools/copy-build-scheduler create mode 100755 ubuntu-archive-tools/copy-package create mode 100755 ubuntu-archive-tools/copy-proposed-kernel create mode 100755 ubuntu-archive-tools/copy-report create mode 100755 ubuntu-archive-tools/cron.NBS create mode 100755 ubuntu-archive-tools/demote-to-proposed create mode 100755 ubuntu-archive-tools/derive-distribution create mode 100755 ubuntu-archive-tools/edit-acl create mode 120000 ubuntu-archive-tools/edit_acl.py create mode 100755 ubuntu-archive-tools/generate-freeze-block create mode 100755 ubuntu-archive-tools/get-distro-update-metrics create mode 100755 ubuntu-archive-tools/import-blacklist create mode 100755 ubuntu-archive-tools/iso-deb-size-compare create mode 100644 ubuntu-archive-tools/isotracker.py create mode 100755 ubuntu-archive-tools/kernel-overrides create mode 100755 ubuntu-archive-tools/kernel-sru-release create mode 100755 ubuntu-archive-tools/kernel-sru-review create mode 100644 ubuntu-archive-tools/kernel_workflow.py create mode 100755 ubuntu-archive-tools/list-builds-on-tracker create mode 100644 ubuntu-archive-tools/lputils.py create mode 100644 ubuntu-archive-tools/lputils.pyc create mode 100755 ubuntu-archive-tools/manage-builders create mode 100755 ubuntu-archive-tools/manage-chroot create mode 100755 ubuntu-archive-tools/mark-suite-dirty create mode 100755 ubuntu-archive-tools/migration-blocked-by-tests create mode 100755 ubuntu-archive-tools/move-milestoned-bugs create mode 100755 ubuntu-archive-tools/nbs-report create mode 100755 ubuntu-archive-tools/new-binary-debian-universe create mode 100755 ubuntu-archive-tools/orphaned-sources create mode 100755 ubuntu-archive-tools/package-subscribers create mode 100755 ubuntu-archive-tools/packageset-report create mode 100755 ubuntu-archive-tools/permissions-report create mode 100755 ubuntu-archive-tools/phased-updater create mode 100755 ubuntu-archive-tools/pocket-mismatches create mode 100755 ubuntu-archive-tools/point-release-snapshot create mode 100755 ubuntu-archive-tools/post-amis-to-iso-tracker create mode 100755 ubuntu-archive-tools/post-image-to-iso-tracker create mode 100755 ubuntu-archive-tools/priority-mismatches create mode 100755 ubuntu-archive-tools/process-removals create mode 100755 ubuntu-archive-tools/promote-to-release create mode 100755 ubuntu-archive-tools/publish-image-set create mode 100644 ubuntu-archive-tools/qatracker.py create mode 100755 ubuntu-archive-tools/queue create mode 100755 ubuntu-archive-tools/queuediff create mode 100755 ubuntu-archive-tools/regression-proposed-bug-search create mode 100755 ubuntu-archive-tools/remove-package create mode 100755 ubuntu-archive-tools/rescore-ppa-builds create mode 100755 ubuntu-archive-tools/retry-autopkgtest-regressions create mode 100755 ubuntu-archive-tools/sru-accept create mode 100755 ubuntu-archive-tools/sru-release create mode 100755 ubuntu-archive-tools/sru-remove create mode 100755 ubuntu-archive-tools/sru-report create mode 100755 ubuntu-archive-tools/sru-review create mode 100644 ubuntu-archive-tools/sru_workflow.py create mode 100755 ubuntu-archive-tools/sync-blacklist create mode 100755 ubuntu-archive-tools/ubuntu-changes diff --git a/ubuntu-archive-tools/.bzr/README b/ubuntu-archive-tools/.bzr/README new file mode 100644 index 0000000..f82dc1c --- /dev/null +++ b/ubuntu-archive-tools/.bzr/README @@ -0,0 +1,3 @@ +This is a Bazaar control directory. +Do not change any files in this directory. +See http://bazaar.canonical.com/ for more information about Bazaar. diff --git a/ubuntu-archive-tools/.bzr/branch-format b/ubuntu-archive-tools/.bzr/branch-format new file mode 100644 index 0000000..9eb09b7 --- /dev/null +++ b/ubuntu-archive-tools/.bzr/branch-format @@ -0,0 +1 @@ +Bazaar-NG meta directory, format 1 diff --git a/ubuntu-archive-tools/.bzr/branch/branch.conf b/ubuntu-archive-tools/.bzr/branch/branch.conf new file mode 100644 index 0000000..f8603c3 --- /dev/null +++ b/ubuntu-archive-tools/.bzr/branch/branch.conf @@ -0,0 +1 @@ +parent_location = bzr+ssh://bazaar.launchpad.net/+branch/ubuntu-archive-tools/ diff --git a/ubuntu-archive-tools/.bzr/branch/format b/ubuntu-archive-tools/.bzr/branch/format new file mode 100644 index 0000000..dc392f4 --- /dev/null +++ b/ubuntu-archive-tools/.bzr/branch/format @@ -0,0 +1 @@ +Bazaar Branch Format 7 (needs bzr 1.6) diff --git a/ubuntu-archive-tools/.bzr/branch/last-revision b/ubuntu-archive-tools/.bzr/branch/last-revision new file mode 100644 index 0000000..a6e417f --- /dev/null +++ b/ubuntu-archive-tools/.bzr/branch/last-revision @@ -0,0 +1 @@ +1209 cjwatson@canonical.com-20190220074107-dvkdscxl2y2ww9j6 diff --git a/ubuntu-archive-tools/.bzr/branch/tags b/ubuntu-archive-tools/.bzr/branch/tags new file mode 100644 index 0000000..e69de29 diff --git a/ubuntu-archive-tools/.bzr/checkout/conflicts b/ubuntu-archive-tools/.bzr/checkout/conflicts new file mode 100644 index 0000000..0dc2d3a --- /dev/null +++ b/ubuntu-archive-tools/.bzr/checkout/conflicts @@ -0,0 +1 @@ +BZR conflict list format 1 diff --git a/ubuntu-archive-tools/.bzr/checkout/dirstate b/ubuntu-archive-tools/.bzr/checkout/dirstate new file mode 100644 index 0000000000000000000000000000000000000000..7015b203e57be7627a5dd429586e47d286d02d2c GIT binary patch literal 14523 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

vj~Osbu|G>6NP_V|y3#GD%hJJlDI< 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 literal 0 HcmV?d00001 diff --git a/ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.iix b/ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.iix new file mode 100644 index 0000000000000000000000000000000000000000..7dfe32675f9452214cf77064f4b766799d3ad1f7 GIT binary patch literal 76931 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 literal 0 HcmV?d00001 diff --git a/ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.rix b/ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.rix new file mode 100644 index 0000000000000000000000000000000000000000..6ce544ef1bf83b1dc8ad01606a69f61cf028cdae GIT binary patch literal 78243 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 literal 0 HcmV?d00001 diff --git a/ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.six b/ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.six new file mode 100644 index 0000000000000000000000000000000000000000..161c0eab6b66465fdca86930d0d1746fa7cb99b0 GIT binary patch literal 25694 zcmeFYE)jh1 zEdMc?nqY>fp{uRF`Kx9V!+FXrK~EolqvX^)tH$u}jV5NTrb=gL`g^N*vUQ4>(-o=# zmeN|cpJGc!m%LuuKL5~@$rvuNFaA)audDJ^R%VayD>UQn$L=^UhWy7^l6wQOFRevb zU2$A3S*l%6U!FP!`-bl_8m5(K1c zW73Ho-Y6wG=4{6~*VB7s#l4!n#pcI;Z~x%G-+u`FhroXb{D;7Q2>ge@e+c}Cz<&t* zhroXb{D;7Q2>h={z&k4{Ly>r6m?&)dCfkBX^UY=*-%2GrBFn=k(Vp5<_D}S&{ zWZ#+2q~F<)^d7U)UCc0dT4@bh|7nw{vAhgAw#)&y^tYDWV@nfP)u3-5Sz`Omi8GTA z_G@9xcTC9zNq4L7Xi6r;N|qpz_$no0Z;6L((~{Jl@*(@&C^h&?per04LocuEx0GSb z(+OJQSD;7vq@x|DV%AadB>*|I(&ELx+s*t}Ygo9^H>-Zf##EEjTKNhAVT$_h2buvV zzY%_0=YAP@3h6HjV%w~|GNZ)~!Y(pxq!4bSm>-t9i8V(Rprn`)=T{@Y{ZAe|dIK9+ zU*k}35J;6?X?%uvi4ACkUa2k87SrCf zauRnUGQXI(?1vy>b4`kQH{8tUflRx`OxxE~| z62dc0Ip+gkM=|h)xn5wy`M(TkeYf1oG}S3w{B{n(m1PoxZn=)IdsjseE3~-GOMN|_ zFhx^<9|hJYL@4I;qSn>z8rlWzF2ufBOH+!ZN&#fvXBC`gvk4uKH%#|T7FPb{$nZo$ zaBq5_>m9a&88uY$3C-17nML$}GA^Nb=%Alewv+GuYgi3AN&Hsl6mEy#hGA+x8JcVbTYmQ;%#}M3y z*s1rgqX(W*B^>`CJ|BWx;IB=W{1b$W5`K>5l+eQ$5&+A1Pmzc_WeQh32!YFyP_bQE z`oCsh@iS4C8+R7Y^t8!kE}&C|flc$IAFlNS@8tk89DB*~*UwkQMo zxRGbOYO?;!Ls<(|f0{dKGg_7X{)uV{+{1=samYQd=e{ycZeTvUm!~jK>kbP1 zO?}%fjc!W)>kQBoTpxtzVKNZ9N?9(1tg{5Mg4~RS%0)N3A9t2S6nY9y9n4+Eow%#&3@xUx{zD=pVAy8EmHAVeqMu#3&X}Y{!00Rc+fVw*V}H=R8V-dr^tQMH{$0|Kg{#sj5}sC&qPE;=`cMlu=Oy`A z5-T!U2LRB=G&221%4|J$!m`KZul#aCOWAYys*PzFOYmWnmk_!0+3rUPUM`A4a% zf!j^L!Nj;b=9dG08c6q-_JTa^P^d|v)Wo0TQV22V`>W$LY+l=*&8B44^}o{v7zz3y z=ayUuU1@xL(3xCj_-5Y7^AFm_RJq|XO9OtZ-L}aS*Gk{(S`UNshp$_mH}ydb=fC}< zrH|kLh=2c%CwE=G>>EdnB+@$%!*v{$r-8iPq7Fo=744KP)a8^&H6&a7!-m;+hd0Hd zm0Cr)E_g;r{K`WdiC;XI5Rr zc{S~jDpF;mw|}w{#&P`mORE>q9eYl{GTnI^w{2}y(d%hDJdtLdak{We7ARyzVlZ(O z+mMJYsrHe0N9uVdyf^sooIdc~7iNfS2&9eY>mZ_d>}4*FYGnK0fDQ3KdK`{IMVSc} z92XF`5xdjq8<6|csDMmGQNSsL=Ef~VY48KiU;dnbQbhR1 zZnumAkxYDqu2lPV!2q$U>MuQq7arf(M!IR0=0fp>h_e9C%2NZ5SMlbcQzlP)Uk)HA z%*$^PIJv=rfg3*KsQ`En#`BS!;brRqnIW_5`sEaXJ3TTP!M@GkaA{+HF}Y*$buHu? zy@~(RKiUPYXH*bmOoVU>pqW3E{cEm9@-~yn$A<(GJo?(}!T!3nmcHlnE z56_ysKXGP3p&434*9BUfUB`d)V3Bov4zWdL55Mi$qbrvGO*VZ% zsNyx&c{4Jgi18@#OMk=#Vw1vvPX#s##+iKXWvtR8lp0!bU}lw^wy)pGxJ^7l4xqpZ zwyWV%en?sx9cfz~?2&nU?fLjZJ(CiM`wA-|vZ+l~;eE@upq#kWafJEWUvtQ+;ggZj zpn&D9ZYmwxlRDK@k<<0Sh=*^KPtxF&v3S@>Ka(kwR*#PpRt5XV7phc=#7GUQn=Gg( zV1s{W+=*M>C&)@w`#B1!jT?N;R^&ep188V(^KvZuzWUYZVkxD1aEaP`|NcFx_hl+4 zp3fMODzz#l(foL!?9KJ3=lhb*RR5iEvhCruoDv}Y{C0+##vX2H`o~6x^B{9 zm)L?i+X0Ou}>r>JO3eUq7> zotn?rUB&UA(EmaI5L8LXtE>9rWHfgEC#8SZA$8)hxnik7^2V?J z#^GES%I&UxN}$juDu%qfARhL94+=cJbBXCL*fu-W#GMOBj8=+~O)tNqe8PsP-Cl?T z2D7!%itXj{n^`XtUilJtWn~^C2Nh57)0)Z)g=2FR9SWo4!{MS&5hTkQJmocd*%+TWJog;} zR)W8vXqF+eKQLOvFLe7RxYVed9FNz1i3(6O&{aG|8sIn!_e*89B*oS{zjgfm&SuPy zL`|5xiK#)ZVuw(|*YVnA&XXVPH&wIFIUi`&;^*t<3lm2OU&3F}%j@-`W$e?zhZ;eS zFJ3NL?FV&KR%)?fu9?@LUC0cD_%7i{gF;b3@zYPf8dD8P09IW7c^dYc4i{69s>}nj zlpXiCA1HbhX5LUr0iHkZ9aZg=5$Sa)72{~^%ODeF$gjyKocd8d=m!lNGM#uf=a!x5 zaKwAyP-iMR`Mn)gqpxYae}voLw1|L!=*Gdt)2HdV|$DFz8vBC z^Nv=%6s7qV4DbDVZ_if^HQ{yE2`AeGkFx_L_gsZ5Pa&gr9`wlQ@S{t{yD|w+JuWv% zVV#ER04Uaw)z4`EEj%u9s@o93S4}vz`{Q$4#JdPV*3)SJja9c%)u#Aw@ADVh#gkhb zqN&grHm+^XA#(@si&=)~Ra6Hgb5?I_p2RcQ%oj#)5`EU+b$pDX^Xqyh(cRWj;7rvf za(0QWYE+c>?DYp0yZ5oLP_8 z^J_1I^%s4%WY9gtxIP_`!Sy`WxdL74(WS-I_J z7ms6T7C#5#osR2VsVC75J*(h9(iw~8FTtP=3C?het9-j)U&A%j28S*zcCJ$#1OY-L z|CIKJ#Z?x3Fj!CJ(`4-V%!RXfqry)835?hLS+fNnNvbH6J4S3Gv0Xr!c3!=CV3cot9sR1w^cK~7 zryUrdB#l@O4_`K>V-@JgpdDHL*j9^R9cVzlQPu6~{?7`^0X|^Ds94)_;49OH>`S?#;RCXU^b*~bD8&$W<53cd2Z9AmCt%&Y5~0YyE}=NC{|=As;~olmtF6;X1rJoW+?|kpYzj4&98CUtydm z#z=nG_3c-F{ty38*r=<2{cVQh=Aq_~%+MDY zy=`u#iOi|HN158V-)w)Mxg*{_La4p)5Bg?SbL9nQ-jr^KW*^Y4^EUtVu)oocQ!y4o;*5W8 zsq#R>b!;8<1pF|f<1PQt_!EK@@*X+#Q*>V8n=c}pNe32_A7I8$@{suU zF`O^*q9o1r9r$K@xN1H&u5^WiBtw%1K}vYTQuK*v;CjYoE^UEIb?6uOao|W3g?o7)$?^!e?@+TSn_~2%<|MiXi7b9Z?jkMSA3ig|Cop zY44?v41_EvNE*ganKS1_tyv@41m=usEDZvdZkUlh={avVm0Q@1cxSD}{(0G9eA&wl z(hn;gG-Q%KW-I(EBpMv1yo;tkKQ3MhZMc?SRc=v&c*H&#%HkRR4Ww`|qTO0_(o%70LKV#<<2RIEYGT8G(eCn7O zn>#t#&Vn-Kn(=oysVuKNd8EfVLylbD3@bqk4Z1nlMFumbY8-))4r=ozRgCc9*X$HK z2p9+pQOwzX%+I#>YYQn5etwM=IB^3HAcpa?X{zHXX1`NSlqn+?tfYs1{LjIm$uGEVMQ@7`gs&;K5m@Zk9N7*mW<#(HR!e-l(%CgV0c z#9Ccal#^+Nw^t4&-XcmP9n3|BLDen2pWHIGDL*SzHH^Jv=|p{2q#$Hr5E5LY&G`(e zHgudXkBmtYu6f&wlpV4@s)wy`Y^UnEayvbA{nfkNRs%qdR}s!F61Kx~#u6Z$$_)OoWe)ZbM9M5UFt67tp<~dH2kXbu^>BRRQ*0 zu!&yx;SqR_wg7Vu8p?<1RhCWSwP@yf9K>i!Lp4cA4ERx4fLqlG*~X%xqEYdZYwffA z0FxV^2ibf^08p$}6kYi7!V~S3n3@heWUvKSpF=;dH~wj~yPhPGovB`x+U0F;z`ZqS zis=8^!^b5XU?rD0)i2`ECs-x5JB{r#9d+D9FO@F8war=u7i`xvbMm4%?N~Jvy&DU@ zn|%FN^*80fyXa92YAsIhP z62z{EOUd$DPHcP;9rf_Fzg~uFdAJ7XOi2rZe8s{>4}~x^MJi zV|Oj=wYt9+@H4sg8sd)_HQaJxf4&%C1aP&=aGvN9AP5NC()7e&rqrh$7PZuO8Ikmg+CyiK-M&gvX5=J8^$kT8|Yk=_ObD}DJ51Lwf* z7WrsrJEeV8y+5@vZkQjSc*7MAUG4js$8;}X(i@PoUeFWv;az0038qil%M9)t8CY*PT;fDxx5ukLeV;ObY z(d5U>L=#a*C-~;Av z)%MvfR-gHpqpOYb(;1dO9YZp2P4Eu*t>R!(U5->9{gZaXBB*!H)8o)At!wp{Mk#H4&V+kk$%bdA5OeodcmwB5+(X|@ zq~~GjxcG)-WZ;8kgRO?eok&ri<}WR$UrRNN{3yk@ z@EOXe;rPU&=%t;?f7sTD2dR62x;E?< zx?qDJrDSkoop(9AN$Fu)1uAlNrHzi5seAABiz5wNB(G97I`S5mxmNc=9ga;%+ptjqD{7`Qo@=`w~ zX6Eps13qQ;HuTc75PbIyKt#xCBO!wF58uvrK{#|X zm5TMVWA|%zWvQ3JwxjIiX<4ODdB4Y8sQMv%hp#2$UY!+cFZgJVs;_q4JQBcFd4V>0 zeJT7_7D{WdB_Ru#NE`+E(XWW&(?eww3~oui5ex^*8SM}F6;RSa4n_O=`Eqa~c4I)ea`L9;Y-_JzoGEB|)* z;>^cH=rL#;=Y}wLS_f|V-ulrFLHqlX6rao~4}v8GI_NbCX(bLos<3Kmy#C#)|XY3e!H2|N9Uc? zRPzG~=`>HYTAjkcb(8OBJdt$$%WkBo4E}K>Im_+`9}B8F5l&vajAP7->wbHGAB0as zJ0z21O0A72TWqR31l6;SOA@4bu^f&F=d!vIfV>!0H&itNutD67ZY zHlU?SOZfKMxYuwYn7mqQOVHgaLt1X5#mMixFmt6#$JT*3#PgH;Kp6O2xoJ}rUYXFO zQvpv*k3#_PWp@lPH|?HStC8d8Vp9=T7bdPH?f0?}u$bp=$yN?Z9Y9DXM)OKaeNzv9 zj_!G1Mm_@J$>3u`J4HlXKwdAisN@}o-?qo>dFrGj(LsnKz?N`r6~|%v zyzZv{VDN*_kTIB7%$UOuOZje$XGzWINER_VZcFj%It$#}X&=zL{>ZdoGr4TeySQae zn{pRNPyc?jTkt*1LtI3k$k1Vs2s`!Olaca@3=78fkh#vr-VV4(V!xn0|4f1VTW{_fL{)1CJWt6DL0OlSxW*!|prqN%?VK=S?`7jQ3 zwJMk-=nj(nT%mkk9a1((BHH+FCm5iAIbha3c0fFN)7WTT220Rx=b3l<-2bi^pwG2PE_$jJ}q!^5Hki&|K_Iai3hI-_`HsT+im} z6nD=s>db0|x!9cGt~qJQBrHFyoS11KrJd44J>{eB+YuN`uKM%=S-WlNCL3p& _4dZR#_7e?mY2pTA_Qc6U3%gUfxUn^MKB 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 Zc>s3Q%VL`Wv&`3Kyf|Km1RGT{{~ueUeQ*E( literal 0 HcmV?d00001 diff --git a/ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.tix b/ubuntu-archive-tools/.bzr/repository/indices/d9b1454c44b42a172b2abe781856623c.tix new file mode 100644 index 0000000000000000000000000000000000000000..fc59db9069eaf85c81d9f45e0638dab96fe4cb53 GIT binary patch literal 104372 zcmeEtLzo~-)Ma(qwr$(CZQC}wTwU(6ZQHhO+eVi))$je^>}EZS|K%?8WJKOLp?mI) z6r@siG%>*!b2P9w$Ct1*HgU&igtWCYHqmo5G1arSaB_CyVSuzU@z67|HnB0W{k~;{ zv^KHjVPs(DfONET)BCE6nS#R_ZHdCIHv4f0umt`9K6KF z*Qcp?S_ZWBG=9Kw#C6nDpf&HqPbhH7J8>T{2#RYy3r{sz zkJmv~TeXp3?FtD?2KdRolV+H->ahDLeVNf6cA9+6@r8(gNa

UX$s2&6=hW<7cOLzt?=gED99N~cs$ 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

pu`qZew&ZwIRbu#9=j`i(c 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�#Bi}_M=0B>iYBMy8q;#B0pS$kbew#f6ym( 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

A^M?utvQ>~ijNmFzKIb#*5RaQr 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%0AjsIBPv^ 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
1C>$0H3 z-Vx}uKXmi&+5i7lP>m@P%Mqf0i6qToB2Io5CXb2YCnX3D6HE&KMH=E$NHYAV9@6OH z3!?ea`IPjWjq{mFxv6Y>A;9aC-){%hH6#H@q3sj&C1kou#Am2z=yU)0OXst_RfD=O zP0x*xPQx9X5|4a1Y@$u{mfSzLfPSAAc!E(}XxL!j_cw3W554R+HtzY`@T100dEpFV zY%)7;6&5+evL!}H%aTzoRy&Z^G(haoW2ZyUlN1F1Kb4KG3FH%wz+_6W>UGO9DQH5!3Mrp?%fru1&>(WiSK50 zafi{pW|!P?h01`CnKs3w+6F$120y7q*;BG=>@zIJyKj_GHgMg_0|c(n&d-wt4Gn0a z1>|d<^>?}fNnbzF@isSv(*j`{YD)m)lo;ahX({Z*MI8ThE+uOWuQzzhwoCs)F-@&= zx1-jT1*l{jx~|PS(-%o~6wY28%K0LUZgaf4_rCD;1H+#wqYqq#O0PQv;RD6)nff&H z&QTz=huz#q+?tE)t;lq6Al8^;_;;GI)yg@g`97ZNqFIOx=-av4dwS>x z(CAeBIFvRXfBICXT%G=E4Z#r@{yCC=&a3aUK0V_6B+>!@cdmQFP&ABF1rrw;K{MzN zM({ryW|FMPenLV~a6+Of{8!aOC|tSzqal@jmJlOGw~ul{Jk<+wF?Rc|cFB2)L7~2R zjcNvPT(34pj@0k`H8#CH#O5-4y{Gh*`OYj)>8I(R!pirbuYOd;Klw5K-G^lro$pp9 z8xW=L+k>J33UF1^mS0jUBULY>**{A(kW%01ue1TXz;~qDTIQdVf6;sXV!--~DiQ~L z)6La$lpmYgcp(i2?u|r?cI=U&d5g>r%0G)hc9-I`@S)7|%GHL>1p~c5*VsT`ASTuQ zBv2B!`I+iwpLs*+YK$=aSxu*X(c^L+pHQRi4)j|E@W<^z4f`9#!TahYCdi+-mfPJlBW# zp!w(oeG6VIoH7qiFI377yUsU9Bq+wh8s-!|h@9PR_wtGU?(2+efF|q?m|jIQX)dn3 zrs!1bE;l|LGHj3Cv>O8)zf>MJ$6_FyJROP)B`1F~$#7^G8#oe90pqrfxy8o^BN!$$C zdeOfK=P|Ls9icpOhDxfyuPNdQ-$&*Xl46CWO1cg)1C?IUnb%-zQx^iJv1?(;*M$_K z=>9ouuq#h;V=S8^wfKDNn6$)&^rDIDcvvOpn*gp!n&DR~7SNyhAzn58%{^uWO27L+-L{=kvFmYUVCfDl(rG(VxC*rEF*9M+w>!;1EydIK}9wQ*YFnuQ`mtzDe5a zba@!=B$}-F$19H5cUuP=J@L!YkZfE!#g7&0^MHMb$MX9ZE)I(WeELWv5AUL9MOL=d z87sKBb3!Jv@k1wWLeHNKI_fd%C$;`k-?InG7o?-Si~a0-b=9KHlR?J+!cS&?iSuLV zr$a*@82Lp-0KZXs$F8q_LLZ!F8*SIa62Oq|f>=D}cAOT(61JWzW5;qYG`_Mde#QktI9y0japyMEmdA4;?fPZ6qf~(44Jnqs zVaOGp(GF!$fc6-Cj0M1V8Yc-Cmms19wFLb$66mJWbgvBpu0UTFtsJWejD0@^lWyCB zToo;ts^J=#`V}_7G=DKxqYovsTv~cD*P9Jh)ve!9NaIh%BVDHQN0XHyMdw=SJH@fp zdA$yw)GZCW1gwcAeV2wH&4ekPLNEtiqUUF9Jog2@zC{p)3pSgdenb`Tg=lPb2uBY> z(k2A>C{MuWhdX$`_2l@c*PX8&|F6~%9A+>IX8t+Xbo=uTrcLfTe~y29-LWJ_ij2e% zB7t!-A?Uoo5)#g+ltv4JN@I*5(iHuxc2rR~=l=KIZUem_MrH!P+On{0S+TIpPSKS! zANUACld$YN64=clX!_Xlcn=M1*`1p-;A+bSU!VRSO~z*QJ%eiGT=fushg^+BOyREt zVqf=Uz%KCmvSevOG!p7Xw5Xj75`4`~l&8yPsMYzI2y4;Z9^MM1gsvm$PlD40lleK~ zH{6qenq${Q+kB79m;)u#RF9%z&#pT~ zV0Z_}T77i7$NeUsb&MJQfzGO3@eY>M~C$&RbxAdL?{Hfce zsTWhZm+*V28i`XGN_gbF3(}W&`NTIi2-hAar2Z^A13h}kS@c$L@#EgF4G0^)Nv`(| zK~bFg?#j4yHtRVw_*D7>JkHKdCPll5=f27-=`swYsM=8EyOFE~Mn6DrCE22FBs z>Ph<&+F`WD=~o3`WD%dYd^*iX>G%~-ZWx{dk0#~r;1ykHuQc2N2XmUdBjiI#f3%Ql z>oIWp*Pr84xQ`#ZMJZ*6r*yQhoqLuFM_v(9_AF+gXRAhF1&l~H$Y}4ek}Fo7nk^)} zmF;Z2z+BAiMS?3+h_4<6AMQ{kj4lYhJ=Z8>J-k;4z5tr(@S2E^@a@l@JECorzgj~G zghB{{{3p%#lp3gE7?LAhpMPf%ky(oU8JWn?M1tiQmKH<-BN@RkaGGHh8IuHtQ`G;} zuFU^u8Ulj;e|yY|;)Fokd7n4slled)u3L&CXf2TZ;ro!sdln*rA5j*qlzzLl?snLY zvk;2)A>u+8RcU6i#&B9gvHNDoOWp7Wp_Dmo6!YCy;naAo42)ikVbmvx#UJ2owO`vP z7$_CLe&E5za|?pJaH(gL9zpB%45UC$?K)fP{Itr*%P9atqI-Q8i%FQLgvk8tB^gHV z7kK@iE!d*l`Gxu&evOz|INk+C0qB#=-SDxHwTY{#TH|sQKWIo!b^CaK z&rv#7!gl1==e+kz(@eHTG|7?D0~37jA|BviZ>tBfP!S}EjRv8lQPVm*?#HwvkaOV>t(YVKVHrn?%J0KQQDYAch?`z{t#mf&s=w{f{;4H#+~og zOa2-98KNQ%vQJ4-Kk^RjE~bUaTNvKo-`%Sj`$;jm@+MRh@BNrQOg3G?Jya3xe5$WN zWk*(g`5Gn-f`q7XqAHNEsjijaN@@RtpcPtJHE zPb^OuIMKspQca8)YrI?XHFU&iRPk1@yQBuqjc;t6nbw!XFnWmbyKSW$ka5a@Kx#L} zc_i5p7y6ofT^k>R=GVRCzVO-dyT&Mu+?QGGJn5ZSZ1e$K5ypv8AwWeQ5i>rU9)G;d z0dSbAeP95)V z?t>J{h;0d0oqOQ>#GR6rGy43Hf0YdXv-z^bHWn~<$ zNTNums?0W!7IaCQW(UN9BbeA!=e*yIe~tA0>|PBNspqs?rxdcmE(g&G$0n;vy3%~U z4dB6roTAdKYRIcMbH|kB#pW#owub=~bMheq^Jcup!kT1G-g*niUtk}A!@|#_>R~5s zXbBH98+UxvD$0&8G56s@v*OQ}#fg=@a{#KsE6K7{X-PX>q1M)zo1#Q|+2z^v=g(sr z6yM``(iui`j6o&%XwRCeu%RThUge`r3+P)H~Zk}sT2{?(Hdiy z{Vs3zPL;gta!&-UnZVW12V!=hH#oV`i3AnPppB7l+&oP2lmw{PO5_-8%OefeREC&i ztF0vq|C+0s;XrgHn=1VIj(ttn=I6U~sO!dhBfg?G;X{wQS&`0MBm_MXUaeYK=Mo_M zmgyyX7GZ}6uY+vgV+(k_vCfI+`q7{FGWxv!y*sM@^)e(%{b-&HZ7Mx(>2Eo)cec{57ZZb0DF85h?FWs`QJZ4C@^N zwSfnQL`UMYua5L?G%|y4mkutcUE8yEpQHX`21mcN@;E9OTh#}j(XbKlPBkX)dBT%Dg~(WQYIN5RCXUO_fNH7-uk?OyTsGBYvEXqd1Ph zG5m8hG(pGzSNmoDpY^F`FYLed5E!{wcC_pxEXMcbfbZ(a{y*m4Tv=|g$r202@4+8= z{R9XG_RVMmYhgzLC~W0nufo1>#<+52seMJvGsw}y3HR5qW7snzSERw@ih^G7wGq*i^1UTP$PqR{t~x1jz$W701Dk`ND>2BRq$C2W3H zhppKQFm|woVg+@6z>!=R^i0+Qjc%lPa6;^TPFMw;wez??SKZPez9mzz?HN4k&CzoFGKbXoSO-Z zAr=vM4+Rz3K?dyOPaWz2&qFQKmByeXEJ7OWiM&F<#Z@n02(@1u_{_4}g_B?Ij(~ z%}1va(t}7`Q>Tl>$s3(KB!~%+a7k~}^m7_)INaJ3=Y=y)z+Fd%x&|nh(n*@!MIxuOm?lXSC9;%&lUv&4XqJ)` zjASH&(CA-e2y`Mt-Rpu9lDH~2o4+;Cci0l}wWVY^ z+o+tW#)MQ^nu<~0x6WHG+7+>sc`w>x_KEs*7UFVy*75pdZNEeouoK+(WNfP3k*27G zFlhJZT0RhggEp25i;8brBKtg_19bU&41Hgx{6H1i-QfP!p&vkjvD|&&6%3!FFOJU& zeSZw`Kbn}@6{gkxV%jI^fcWkbLl<9c)3NzM^9*|;JLm?lYCd%sH%cIZ1jvA$H z3qA(irk_)6+r=+82R(z78cib$uQN*73vLty77`$dFoVw_Px>y0%ON=}?jfmbepKAZSLsrbJnA$G~8Nmf);CLR?h#O!>0cC7L6Z z1w&iCr+_Uqsk*wiJ5xCUj*7McwD5>i?O01#OO-2uEnHBuxvU{PWJjzdxw%a^a)0qR zG`VX#m~*o(-R5Cdp4nVO14wFF){(`T_TxdcqrUrBW5|yk>Q7H~f`{%y-2u`d75a^T z&zR*TjL{T>!Prea@Fe~jkIxDejx*+Gw+uxyG)g7pUo{^Bm74QsPc>KU8$%#nN-wn( z*lmv**tVV8=fD@fj-Aui`32mFNG3|hZ7We^rm64*Rg2_}L(jX_i#0r|exF z+4apyGMZA(($h_n_0|cXaWo5_5!k&^=;aHpJk>;tHk(|ck?TGDX^nL`(PNj8%1=^R zB&t>d@4V4g|42|307^%X8OY%mEO+*ZgC=oOJY%qg%Fs=*x8jWPE?;W!lb#idb!MNz zn0I7R0rPyp^%tN#)NUGEOY!yX@}N0Mw5w)={4Tf(;UZa>p?)Su!8PsNZa~KH#97HY zAI1FuEiwsUttERLt;*4F0vW;YOmj{@LE*j>XZf=+x8m@)uruW;msS|Ay=%PCE;L>k z^<~h=0I=8&mw8ww!|wCz9VOt)D4>PQoUUl z;YFY_$@uu%$1amxC2pEQBd+zDECaFi)RDe}Uk!EMt1eI&-2eacQpQC*~MXt8!3?oR0`sx2+uHd;$7dr7p)d?Nor_WqV@x9lC*JrfPhH0&#P&@ z%v*5?{y2zT!lKJI>sZ zmw!%^#ofVUWS0b~nI=E(a`mOj+U>*zgB_DHjletjFj@^2`8|7wW&zm_} zA@t?HGc26t531yEv@>eWl%-b%ZJ0EY!VF;E`F`t9dRoii<1cJ#zDHSJXQ8jDNQe&i z6N5b>z$Y2|MEZPS>_j0Fq#cgnM$aquRIJm-gjUGj>GYN6;4x`gX^BA+koFBtXaE+v z29*>jpag3lJn~rI>Xpvu8n=Lnmws|a;uRTz)?wFV+E>2KEk|ZW=Y7#spmT(2A{>>f zZn4Gv$m8TqxrTdy`lGS{%7*cJs~Vr3e`d_I^6&14Pza9Sa^@G2A_FquSwc`uj*q|Z z+$AWPr+ESYsFs|)!CH$@}_w7tn+4lAOG8gdJ z%?N?>0|PG=h{8r=)Yw)F+euGGZ!F&#EXGeZ{m4(jYAv}dvxI|a!itmG3tQiskJ#O# zRw!BK1k#N)6zjTFLXigVd#I^M7w%@$47 zQ~?koD-@iOzhcjX*`F!+C)gKnJ7=R8nG$vlZwR-Q9hM9tJM4qWPm9J+ow~HYE$I&{39<);KbrVu!m%|1)*JMHUIhA$ygcC)wNj_9Gmdc!^!MUIN0v^f-a2 z)&{2`KbGGw>)9V(=A(~K$|o#w#N;!%%vEO2)XwP)a)ow&jLVbTvA$M-TA!~Zkho0v z>8U=c_OJFrgh_-XFarL?bjM6}M^}s+!_4h(Uw1M_P$ElyXh(k25C$evj7s1eSJL!n z(JmUp3CzgrSG&}xr?bZe|e^M;lEp8eS zhH&x0UfQ>JY$pO4$9WmC@4ymh&X!$07wJPhU=_o(N=-h7TuhvEFEm)U^-yK z9CcU~{T=sDIDo!ABq}Z(Evx$dn(x=>D(WJgIjZI^HDD?u1Qej0-bi=uaXrCg=`)(# z`Z-ctPt0uH69V|VbhoU^Pt79e{FbJ-mS;vuFrC?HAP+wPUs#&@0>MS!ZqnxG8x9j@ z+I1jEW8VaZODL%-I&2t3UMS>2QbanGIY~*JX?RuO1ILH3>2n<-e#?aCNw|z?<2Dz+ zlP!_Gh$%CTj0CF;bX9s>0!%sHTlB%*(_OU_Cli3%q{PT^ikm7?MWZup=CD`JzrTL8 zha1sCN6D(wH!$mYzEVx(ct=)WB4JdQfr0}aSmW*Z$XTINsKZPt*;~r!P!@mva+U2r zXt&uDt~%cA>ZF-^aV-+}{>=a_gd6%DKtWufi&H#fx4Y|%^+q)GqjlN#q!z#NoeX?f z%B&r-`yE%DDhjHCt#w}0VoRj)g#m{$ef;N^KpTf01X~zj@x=DvA$TyO@^t}OT6+rQ zKpiY7&Qc1sBC23vO3#*o>8}qkm5o9NWmacDK4!i)|J^;+TZ72Q8C{?2REKWYsLW z%Ejl2nQvLFKJ9f*@EnD}6BV7tsxvLl}K2WtnR9Ro(EXjV;CJKvQ;|$3GXwSl-XT#eKVMsGJcWJ8yc7D zV}c-G7?Vq?0zm9UFLcP4&2}e%kUDI+xI7yJUTZv|6j-7t*DA1RT0b14vcX=6Q@CB{ zgHR9bOzWKkxU&bG^G^< z!l}mcr2b@!*uf#3W39OEw^cA!u+yctb6K>s2aX}QT4%QS}5dBE}o>15_bH!N-hJyef?2oN-;o% zLYIxT=WFJQtUY%bcyf~v*|W)D8vkVqh>@1iN*$l6-cjZATJBtY0#G;0%e3te-_F0v zpx)Ft_XpdK|Mz7at(9b|<9VBLrBSF?BgjS&7i`}^CW}+Lsjc@@Y z)W+a&Lw(rTng_N%WZ0_^ho(smVP3V1!f&=t(lL6#@Z&uKCfg5L{WO#P zZ@YjCq~uAMF{m6uC`qS;zSa(z5L`E@;)Xq!*BoJK0OV}ozCYaZEFpV&$GO@~-%i+_ zely7%088iH$|H{&KA~eg%w+m(4=x{3Rt*`dEth~O3s~Y16MH#k(3WUJ1fUWt_k-+w z;eZA&lgiaK5SflN%*>}_s$1z8MiiFqWp{|l`^zB_gvV(OLLX~y01Q!+F z3N1F70@j6X6tb_W(Bq3gyGYtJp>*7!0F0U8J^s++Tg?>agZ!wWq3_89JSanT^qF8m zOsu>dP9D8l1>=dlQK2gfo&V-+U9tdn_2z33Zejh?Q}qvp`l~VI$HxrA@LyZ?nJ5Nd z%Vs9O!-)T$Q%#5>L#RAXi;RSeJiU1bc5_#hLUV$|=oBGi>=rzK5r+Kun7#jeFEd9w z1idmbXe^b?P&nzYJnMAZh@A!fUe-+}0lD7+M`OOW1} z>&~7%l~mFCL2e@C@%el_D>jiwCp*oPTczO?Kfr+edYk1pLik)Q7%4~QGMVNg=eaM*%^88IiO-7C5Er^S6%~O=M|8$2o!Cc!QHz zjAL|8qA5ZUSe7$565qcif0K{di%#t74g`5G?zB1-a>=qz3(>VTK;f%I=0G3+D$sKpNOJ2>wc6vWar1?s>~g0J1vu z355M#+otse0*^<+k?%T<&1|QKITspt7E2nT`u(NrFjPILS(71O+smtdcQQa|FCBV$ zFqph*%N~u7!k3{JC|g8%6JKbc=VljL(aBd)uGM{BWJHI^VYH$(#HkUDLr~Bs3=82oU7TTI3 z#l4?>9vK#O)JEZzb=p~i*6ATqA-Z_am@mlgJ^GwbBvu6KiO9gYPk0nTh`Q+!q7x`Xv0T*N+O9{b8*T!4;tg&ERBpU5=$HWgu?1YwpQ1X!QZaj?M?P1?HqAB9%JzJcZ) z*irz}gCP1ie6y)DU1C4yvT_jK9#kQ3Sui5AK4QQXsOIg)b%sSZhRmze{N)&eAry@K zI+CHtiVW?VF3I-xwg(W>xpqku$aDzVz?rR`h$NE zu4XJZZE-~%H{T;cxs}w2CS>Y4qKGB+fN)@$%vz2uWf7RK`c=YtdwHr8d&;MMn;OHe zcpaEjF~;!I>NSD66-y6&UIZ%fQv+cs0KS?p`lQIl&(Zje$v0HzTu@-EieJFpDa>~J;75E{Bm{IF6(eZAeyqvcGd6f@K< zk3+qI741^JOPX#q_8Vxv9E~z6=i1NhAW^wUosDA+$Ua*0;Zw4j4_)Kqyjw^Evm-+Y z2X)$^@}bD@`Up1wd`_KQjU#h0v-QogbY`Yr8on_5{j?K51{XS1kI8a6o#u6EQeT$H zO9J&-3@0}$2cQB_-Q<_b_lp-Z;~0XkceV;6WZHzIzIm0_vp0x+@aJ>kd$&s?o&Tu( zaZpa&nkoyxS5K)4_Idtu&z%b2Li_K=kUPu~<`>c?7*j3%vR)KfBL%jMF~O0vmk^e&T>b~95tBUpG`Xl z5t@ck$!LlKp6zf)2d%wbQ?j`aa)qzt+Q*kwY8hgnHHTn0>M$E5;j4<@0VL@wMbrU` z2vGhmZyg*KzRz0kc5WY3@$P*?Udj|fDn~$Ahk{vth>JyH90tct&tEFRI81XHklMz?I3k_aW z*=8SufVZhKrcvBliy#+Sg}e!D{Ir=k>o7lI@1m6%gz`DPu#fq>XrmR`0u=m2dU4BB zhX$!&d9d--$)Wptpd6XF4W5n}PQd$hp<-x9i&QqpwLgpIn9#KA6&)a|1lz=rc~_qT zp3Q)!PyGqOX;w1dw`_xVcDc=yKqudR)+1?`5D`=C7O+{gemWWhGErvX=hJqTE2xCc z5iRquXB`v@yA+-@*}Q6$e7-OCnk>G6o_5((lzx6JFvV%rcY#RrtL@AwR+gnLaEjxC z>eoy>sm!~BG#oK)x9mEQ;97y3Q`E2R(p>wKMxT6Ihp7WxNsbdahAQ&s&Yho}`rnQr z2!S!bz74w7>4q@V(q9erdp?9olbl9q^wu+ZL1H*g(3UIad|@Y**#MCE?iuH~eJ_SOWAP;}@ z@%!V+J=4T{w8fe1n>EcvE(U@F%7LsSAM$DEaB8>L~^#K!in zY}Vu%Izgq7Rc=pAkb`TF}`C{R75H z^u|kjgh$c94W`@qSHRvMA`S%s9r~JeyoF?edw5a{i-!BspI?-^4x{0#g}QLAHVo<- z1}M8;xzKs=dFv@^%G6f33mN_gL-45ht9{J=sby}N@@tv*btt>EVvq}^u;2T3^Snr6G-cq7 zMCk&h>G4c7>XhAvpB+1iFZ>)GGDiHC~d6PR}9_!g* zCyS}IU5-(93++q_IWPL8bIcVjBS^O% zZvw=xE;>;q=>{YQ2{ze<;j7N9O!F+UPBzhpTyw|~1lZ?g^ioH2LYKbrB!Jo1A-KXL z)#kE)bdTY4TrU5%Uw1Vyk77MVu|YrnGBsLGMN|M_fl@@v#I(xKj2YN|vA-TeC>;59 z5*1z&CDxzGMXbs1eY;Ff;z*j|34>`Ss?m`5qEuYihH=P5a&n^!&y2ag-Rw`+GsnKR2GN@qg z32&cB9tDx5;C?h-5BW8nQGcRc;MdL#y`;9uz#&1{Z0{wd8vAkJV1wzrb*83L(kxp) zpH)@sryA>~qR7ur@iZws)-^1a$-EtGOIZ$rWDYx@MB{AD19BW;kA z$DhHz0*^TLlUQEVia`sK3C(_)+gg->zuJ&exTlT=ZXODvDLKexPy5w{VTMm>Hc7M( zjT!o-3;9Y^uci$oci+}vhansbfVv3D8@H766Tye0B50D%>ssM>t}b;~KA%uyoe%Pj zu)(-cI%Q>Hm@f7_F1zuO#R2eWb;sv71$mm{`=vT+$})+9_G#2IYQjr>qRZFfA!%wM zjVT#NS>sZpxru)~=Mypj;W28q8<8|JddC|i|f>}$R z*@RUbFIUT}YnxmDRRH!vq>W@kVOpMMZ%_jcdfhc+;qZ8`BK53#wM)fO=iY&GU3qcI zvAk8fm45?amg){DuRw=h55f5skEVu?UeF zd%j~Is<3=3JU}PSA(AJO-4-nw-3vltW#r^(;2n<-mB?j?jek24+Yw>xd4skYu>UG4 zg>+4sZU&&lQaOE|Bs~21n7s?K_{%W_#YlquH7!}$GWj)OZ9-+|?|uk*OBa}c;{v&r z44e=c9HR()EAgbD5UfZ@nksOn_^a;A(8=5VbH;3`9F`rv!l@DvZuYMBEqse zpy0hPyd)Z7xwXtDt6f~kF$TWr@kt6p9()uyY?kh|GqU`O2C}Jw5r1UjnpU7YQoyaz z_%*zXf3&KP+OgvvoSr)ReIi<-d=jjDekZ;>ST7&y11xSt)ZXu86d{K8KLoV{f~SPB zD#I6VJmyp@pqu||QAzJaxUX|K35)8ZA2Q_He(uNxq-l(bKYNHyt8sa92ndH3nR!2G zPqoyGZW^v*7`}@!RYjyMpHGxvWN>RalvSTdlEJ*WE#_pEuUWvJ1DXJdijjKxvGnDe zb$igJmqz{EGncGlQXBG97JPi^@9-AGL1dfZ{QQsK0ARD2WokngJ%ae4>j6zXf0an}?+2jSx56#FL+4cbrad9g`J#3L{yfyvD&g>V!D9aqIR7Q|9w3+*d=GIoo zQzyhUMM(LJabK=qaYRw}UYqiyqA1+^M3K*1?e3&_0L?3OpOowul==9ao)I4JHb0&; z@_M{`v4HH&Cn&1VM18v@Rlf@b+w#aw1;)ZD7*PRK{PUF_ge|o>hz&y!V)oHk-0)eK zW*}fDKu9|HYM+h+yBy(7VG*B$F6*x+p9U>>0o!Fa6{ytg^#EzOG$b#vNnUb94Qy8L zfPbt=191+`ew^z_S~}wOO3X%N2wd(y-xx5g%Ke}&!@?IH9Ma@P!y-5es^xjo0WGYdqr zp^CQk3ilDkF8h5#(C4X1)0qIX#F@~SRGxgT1)tr)>t|xNwiLXKG_dClgRlpEJfiot z@M)3r-za=xb>j8SneW)+1;k2dH*g8vba4JwAE=(?XT`Scol#%3d1eAsTGFe8^61UI z25SXJ%X`gAf}!k_TJsLDuaXkP&8Dlh_34A&fQ5ATeLG` zc`H;~ufGNMum>6^^=w@ErwAD0=h#<8$|-Pa>bFr&UI9MeE>;Xf@_D!A8(i3y8`0t& zZikNYl&5}ky2COv)BKMGypL%i6h|RymMJ+YbG6I#PrgR_4UO%{vv;Z+b+VeZz!UQ? zW(o?!i8+=bpZGA#H^3_ofwiRN>FuoE9)5Cdhz09<=|~! zmx+s#2dcb}2aq)JHNLxnHmB^3YJJ47M((}LbS-)F!zI{mG>zOWr>v>$%0P~ip%aK! zQ}5GQ#?D;AZqr)VE(-)_4666Ese$?oA6I`4d zp^BwazzNl@U>l-7ic!Mb#Y-z5q^qDY^m_S7g6sL~t1z;<5@OJ@3U*?GQH)5b_&WVe zI|sN=c>f7r;dP^t1RTS(v`_Z>vZum|wliJ{vWDBcVqNz|m7EIe1ARym}37^gxB%6zUlSsZ|d@0R%W zSP}i%**#7#?r+8rn1(3=!RcQsf;AsH`NCcCL6G?0cXs19eqaQhFc`+5aEhS}k|7kD zWQJ-%n!V_M>ie}U>{ThO&{m;VC~PMc*6qtrNs62 z>9UB$zGzeI=InD-ktL%kCt=3YQ(0{V=Bxf0GL2H`rlgV;WW6wFdXZpzS!q1fN~i+XXu@EQ7@tU(u95XJ z{1`t3bT*IC6D#!l&d6&oVV>7O;YhIgCT6c-lxH-Hq?A)+fa2)mO2huz3V$Q^Ld_>G zP|Yx6j_>HIv;93Ock3(WNS+r%vgYQb$~RF^^u0#Kb^;SKsuT*FY)UkWf`-_JLV5P= zyW)+jF3L}(0g;ARRX1@+z4pdF_(O7RU7??rD`yrk^kZ&uvCXAv_aiq3({ym(4Rt-} zPWxUn4q`=c!8J{lLxzV=>mvu{eRir?b@z$VJ(c?DA@;rp9 zL|{4=R9;MQe%x}2o29S<=rt}(-7OL;IlvJN%6F8(r;>@CjN-AEOko<0C4pJ8eE8J& zgNsf@MSie+|KuSsicr6HB%wE& zxIP)&Z$tchM->xOF_pj+nlo9N(kX$)1PN12Oyn_x7Yv-B8H{0n)w^A2`+WbLF_SkN zg5uAsarvygdIF=m!dtQ0{4f^${kCrRz`wwr3{@Q&^UKjaXo@h$~uZ=%Wp8GTE``VzrOng(A|9CtTJOc3%5+**(WxihQ4Mj&P%4+O+ma3 zC%0bEmU4sYWgw~|9E+bU^F2P43Z$w_xL7+xd@gswiXO#t09in$zdykA;rZc8WFJsi zz=OIzNl{CfmL!SMEft?k=nxhvsq8)}jD@9yv54EEGtEvwk5AO0wKRTLN z*z+uhd1fhCo6Rs7pW?-{UeG-`9Z*ps!^UF-C(Od<2y@|Xn{FE~NosNjHT9cio(Oh*XD+T* zS4Ygp(0K$qn7#G59+eaTLkx;sRhaR|(_*wy_(XmvMz2gAqF{!I<*@5I6wzv7)tB5FaTE2M9 zbt%jrYp_BdzraAgpJzT=E$*FE?msuV|E#EGXHk4h;;TVuXUSocw8L=TARmrjP&c`H<}Y{$Kw0fBf5j`A`4&&)WZMZ;Ih4LjEcd`a90l z&=Wg`j3e>y*H>_w{<(OM+ypp7Zjz7_6b)k;lg0&3(Znq@h@2$;?SK0}{(=A7|M|cE z<6k1^{>zf(%i1)EwM+<~T@`PjvoQx^_{t(48I7R6H_V|=q{&&Y8Z(&f5FLF#5 zTeJ*Q>5`jtI1bDfngzsz&Gtrfv0B%-MFTz>VstFLi;)HXwSe*0|K#|0^bo(c z679cN+9K_QrEymN*W;ru9@^3UT7;(s`P zO1)XW@Z3iOtz>t-UUnA0VZ;>$6G~oyQ+oID3%Y(eqKZ))JfR53`=wEhc`yPe2nohwqSQP?8`D9Ley6L^2|W6DG;- z2TS8bhS2d}RX_Wv`*W^AJz0q6!+wy!gR>U!c_H60|L}@wbZEFK{WW|G0E+}W(J_9> z+Ft5uH|N-qBoUYYvF?5}$U_GwFfd?#Am?_n1DW1dxz-$eYc8Jq#6TBLcP(X}%tQWS zlepdw{P-Fjm3l_CKhuH^b2_eZQ0@3tLunG+&*P{%zDdAN8jmmF8FwMaK=-oIw33L8 zuN=r`(@jOhk@SZ4{p6Tywbk!_HEvoYkSLRwm*`4vUXZykz(7}SIed4K<1fcj9A9Q& zE$l%G9^O5pM@8F<>EXZO&?j2rDLL8)M=U>nAecdkx(0|-WG*m+;_q9JbfYR}23>lq z3U>;F=eqZ8dR(%-Jucw)LoSxsoqqNL`72fN??)9^ z#{nM-p-O`?@IrHZ(q^8BsVdM&S;5yLUtb`m7Cy;Hnd;3>m}I9oer`r@PvL`M4HOea zBFzJHBDrE9vOc-0<~zF(HxFk^W!bX;kqnP@FIa6R5S25p5(J_60*8o5l*A)$wvY^1 ze3;8JQE!G|b-#s9g85>oyF0Yo1MQQ6)+N*`qmn+wCMZHNb-wiGKz*3c$BUjsb`x7u z96hvM!7sW~`16evksYl?D}~bOAGXLfkYqXHb-)6S#n5_^)~=3GKq4J08m+VIk14vB7#A z>m;h)cQDr!*Equyx|kwt{k{2sqwOvH$d{;}E!v)q^~;8^G#~C1W=?S}VVLOgVhC9T zd9P4x%7eI!fi+8HgGwHh0YTuewkgh3n~P|6arJ%43MLHcGfS%t+F%2$y<|%@@=0g1 zwd+D{C)c`67U#ZWLIpG=MN*b@P}~&cM2W))tzsf@SMUE}?mco`*MeoyKBpoa(7Ps` zXhrXP^xlhh^iTW#e=czD2zCKgr7A&=<^o5oW=V&ievou1=#`ny)KB+XLgCth?Xcn^f4%`l z3~TnnWZ+w{^RXNuZ#0YCe-Mmnq-r%|=i6{oH1WgQG=vX@(a0vT`#BeBE^RDM*5Kuh z!i@uBVLVG&Ie~4#$5&*Bv7Y_DU6Jgk@WTU<7%`CecXWHH3z3yAXjmwgynA~NbT`Hd zL<3}ZA^B2y%$>Cql-VGl3@DE6Q@wFarY`X`zZ&F#X3-xq`Ptn>_aL*zEO3tz5J*@^ z#cI%JVp+dZp>B@bqBwj_WXBMs&u7%J>)aBN`=ERsm6OjX5T-dU*d0i=raGX_q7swN z_b$c*_A0)FJSv0u+OpN6kEUP9)Y0kpHM~D;C~SHLN~k_{(F(3yivM8n5U#xQC7zMw zsKm@mVv9Oa;-M6|^f*xBgnn|Rp3S-E&Q!SdX~?A%0;5b#20#CWf;$VbTz~rr+Wjyj z72eoijUj(})@cm;=ejazTcK}NH%-}})W0+Ql7b)zw8S#nVh53BZ_nKeKcfp_z~p+d<7>Td&5&+2G6x`%?9`*pfb$-fS83(A zSiWJI%IOsJ(en(nnOqoZXGj>M5)Q2ngt1?$JP3ccM(?HhR35z({8TsPLG~JbL+}AvTj?Pc(?# zexNJg0_$SJa2L*Bh}XFH>h-JYI_UQYB|B3KO$E4O=v|mMCc?l%MQ+E_7h$)z#Wr9b zwTk#-@K;pL7Y5JzXtf8+3ZblXJk*)~b$nDHYEsx~r=|OZ1s#fV;k$#7s2cd4<`ng2 zwxbq!__W$w!QoV}V$V^N;SBp&rBhD{}fwcCD3DS(L`Mv0JM$yABV9 zdhecO8JVA!8Hd1g59}g;@_zzWd0xTxCdMRt^*)G$=hBYBMAH^^Q%V|bvN87ky_y@J zOHWR-`mIbjuU_$tOrGrnCKuS(7NoxMr#6a;z56f55d42e=fE)i4_z<#LM`cobPog( z|JF4?36es2mf=N~lr&kC1q9((k)$YG6f{AmC{d8VyZjF@ua+V5Ki*2GxDiH5 zpKGAF2x%^#64GhSeb<8WDp?kAk^@})jh`8gJ4CrVzXpMbWiZ87?BOwNQmkur8?%HP z(un=pgbR)mo~UTrR&+)KC^(%a4)*CjJgisZ=&;DiaJ-79!jA+MSnD|lQGr}G8}=`< z+0{LXI+uQ2FtCi5k^+5tle-4b)oi{a(ofOI$uv_5i&%Q$=TBks_qX`6lS)Jw?xCb1 z|BfaCRvVrQc$)UW>C*%M%A;r-T5qWO-}x~^*JxEebY1 z;ArtiNK|M*1JajB)a%oQl0Nj<+xO0Ngqptdtsk6pw%TDkYx3vR`t27{y7lOzIbhRD za8G47NDQFwV^a`<>+itGoC33Prg5I*jd&h5aDUx&wDRq zEH6)hlc-U9pEM!0*r|Ur@IiZSpe9|7gm4CHSExj(@-Q)ay$3*FGHkqZ|K|E5_Xt-DDdc7gnTMSXt@Ew)-;Wu zxUxcu(g%@@75^ZesD7L8(M7v7f*@^aR!cRhD{Tmrbh#b2%sWS2np0dK$Wu;YQ%aR) z=+E4Xmi?PO4gNn2!7$>Vwn4Z3F7cc!?*XRJfAb+ljuSYM5jaYdBuUXY{bvS7L8kC; z{a{d0lqgIie;I}-|MfIzJ--4$&!N`v)xbHogM3%l(phCc3USv^Sro6}3t$$fD5=Cs zD2xTcaB?NHzV}R;^EL3c)5SouZiGJ;Xv)i``-1VvbFj^PvB}s~N(tD7d)g-J%3#S_ zC8iH=JYMpJie?M#eDCzIRpWuNaYr8CY!hItU&9UBzjG8 zvBqv=yzg7wxGw&6@%DNCbcz|;ux5B-=3d{y%jh3{)q|Z=JL^5R-H&{bo$d>j>f3!a zBu40;POf}Oh9gf?U%9gq_Kp(0Oh7$(WxV&alfMPXce2{gk3QW2xIfA5gfa>Sj|`=I z#T@+}1;vV}kFH27Oex?9iyCEPwcR(t+js#(%?jk=oqnIuFL+2PFH5$T{q%QH=ACwT zo%G_QNu5Vn&}34Rgz-j#hiYcX!l)Jm&{jsqs$P)J7BPQ28ZY@OL0wvCWG6@;wPu%~ z*U%D9H*;|5_ZF?9S{Pm9o3BkB24<$L8$QNuoZ(nBQ@)B6Ak9M$YLM_qA15k_)JNmM zFkeq>E!Y;y=HrZ5N%ZOPIskBPAmR2a@z0-ph|SjgUydR0pGlwpbVFNh={nOWJ!IeF z-#tkRDxfrl|7-!2IaVeF31=A!=MJ>85(NL@Aq`Hk%x`V>Yga2u zRC-fFeu6Afez7&oS+zr7JmLU_!bF-z(vmjg$D57y_qUUTv)*hZ6fhE&3fHBe=;+i| zORG;h1z)H9&P=+XNHf|hfGX9eXYlg%lDqbh-t8tQd>#cGldw|!(;?VvXUhW|t73bZ zDf_aC(|3K@wsKPkj~QU^c1NZHZ8eV7h>CtAA4vRh@IZd;D2c&1(U;bk^V9p>Ub9!5 z;rc|@XTBCUqq}DW9$3e5Q@v(?9B9IiitdXTL$PuBaCMlm43KJ+g!GMWh#lHbP38kn zlcu#{cAr{T4h;60jHmVS`03nfD7uduWNLZ5!*zv zqC0J^K?+EiRacEeo0h}*kG{IgIQg?vd^6&+R7TQv5aWGM{)TyTkYBpp3XF%wm6Q8& z{0>84B>ACg4I62p7QSgQT1}cReRX^;Bvsoy%YTreKHtT-#uS;Wx)%AXzl2ZJEB3=srrF;30<;rnv>tPO5DUctAJe5 zGaIHP`U?`2>VUn4x27dxQ)Xr0+o2y>*yA;^Ii|CeY}~h|%BFKb)nNF@R4M|K|3=JQ zB{72bzHH?LcS}vR-2`Pg%*B=Tcw{ZTUjOhGSK!baFJTZ)A#S2A9Dj-l_%&I-Jw2Sszxj})K(Qa^$Y`4UF_g5-e#{FcUyNrUD6u^w#j`2ZO($EqWCiZgtr$O>?Q@EZtea$99vQ z-?W^EAU?&r(S{wm#e2-r2H_1tt^sVy$KeJ zq?q_C#9l!m-Oda@j*poMSBVX!ScO zv^76X@q{mX*lepkd#|w+4;Mc z3VG?FK7W5>WSoh&zG~VF)DWQaVN`Q1cSU8q;EP1v;6iRB#1#-objFP|(DM}E$^yPX@oh7T)fKToZQjNH~o*nMs{e(QH%F)XXy|h8EI{&=(_C1v`?`X4deetc| zdIw_qLD8~X$zi~sI;ptS!PURL=*NTg>RUEWWk0y7wc=*C9FpQm_A!&<_o=?R`7~Nm z=E+FAK-+l$^t3-U725I5lo0HlVX=pOrJc^Il>Jw{O)YA3F5JHtlx1_J~m&)S35AgE4m~*$WxJ4-20LIFn z^Tt$){-@VS!!PO{R4hWH?}WCw_(se7;$O(~)*!CPINo*XiX^{B*NsbqPAX9Q;Zszn zput|zB74Kx-Ygn~Q6bj6e}0tAf^0Z{FWy`f#jIn8tu~S#ANPfy0uCU*BLat1bGTweTcQMWWqxXKe=&w{ z;;v#YMkBwX06pv0B`kedd}os>VLYliRm~5;mW3*cDrz$6W5Y(IOAmy;QL1*t+3}j_ZIi-f#!0Wo6#7(> zVD5+E&XxYiGD|zP8k3wr@!iwK0s}}pD=_Jr{CHIGK~Av#GSVsy7Q11ecjeJt->vTl zug*G;oN8j~XK*&x(xc;Jp%&%=1MRvp);5Z{E2d~@Z%QUV?{TF*pWm~zS8bI;@I7{v zz)I}3vf9A$NE3%PIepfVFM+{@ptG<^tlvpPCaMay)^4{BOrn28|0|AjhkT>&^}(z$ zbxy)#R~!6=A>M-oWL#N5Fpb1uN>pG=gs^ZiZA(Y8V6u{K{&I8VtKK~`n(Rz9wc(3$ z6KekRXLD%wn-oT5fRHMWe`GNmQu-CcSiG9}IxePCmFWAkHWNxIvs{^6tB#cJ<%-D2 zXAkl?b{-yE*UEqY1E^%TEw(#X|U~VW;4X5nZpEDwD{8XZuI0+Gd z*+5zvHSX4eas8PC%62#MS7QhXkvNWE|G)*k=1+srT}Ra4wfVO`q(E{sFLD(9iJCth z9w|(xc}}7fg%Je?rBni=NKyPv7(%nf|H+52%}>kh%i+Ijbm-L3HM~ z*nq{ugDW{(q~T@w6xcYhbXuxds@1Gk_op@};$a3S=Fkr_i^8$my4M3;xbAlaE(}1y z&^OPE;R)LX#c-|l<%(j$n2%|_rp){x^3vsdYNRdsniMLiVINDjZPEk;Io=lroS@+O zZRFaKIJ$8|OyqRF*5J-#rB+c**l8B5)EVWecbprOVJ>L1GcI%{&{la*1mG3;1%Ij` zVIL8Wi}3^7uE%C3!gkR!bye*=@9x2#tUoPj@)l6yb!*=zSRFRgpie+!l=2QsXx=Lp#+plVM&lH zH2cr)QRUrUjT>rjg@JYwKn%|bPX7DRl0U0hzzEIk8~P74y!YB9W`KCj$Xp*Js} zu4MdJ#>M)RgI+>RYz-`-glDE`8AasIRG*#Ar>-q5fVEj9(kT2swtl2-bdnA>m&nGf zaAD(Oyvq8!{+^H;oix8s%bQA^xx>Gc>AFzxu7S`q>km^!z4vGSmbwLhb3WvMa;ks2 z#r~O(vg@#C!5`?!+x6eZl0OKN(kTKJ36_`TPsYGRnPe12rzk=~8JeaznLvM+mdS15 z|9Cw9C@d{JDHUkjr6kJjhi?Ar<(tp9RuUN2sXjznp59pNDnxN;A`YV?z zwrwQ5O-Hu5?`%kt<^fphkswgs?Py=9ZJ8Qwf(ic`_m#h$>wU(a2K4>71Q?4vasI zzWdJ`H|bd6FCuK@17=|H^dFoq3qw-3B1r|x5tUjASo)!eH!2$u>aw83gtq=E z*|?ss3k~>H!2_T)_E5Ubq1yY`Jux?zy{xNth;D9@VQx0$qs*?ZM!z%ILgnF6pGsQ| zO>OV($gU&;^0fPu2{)+YPvZol#z05Ll~fwN?9bpL+i_Oa{)qFun4s!nAjrfYpLf3Z zAqH7v^T5}9QLdOwa4!78ke}ZAi!p?NaTr7Y_@b;&x)Z-UpK&GA{A~ZthtM=hWIr;J zV(FhAnF9IKWlH97PL?!O5=2S<5UBjSc*s}L{=2vPT`CX^-_o#oPf_#|nK}oUYrJ57);3^0QBj+GMk(f<6Jh=%9{q_r)j&&6fWJA|Lpm)#j?zs zdr|&FyZ~eSSV*B*csQi?hq6Btd+aXKnrM#miQoM`yOYQjFS^Gk$SCaXkB&r@nOPW1 zqh1;?SXg*9Vi{|_)e~%Jww{DK=C!nW@B3TQuaxUt=LoR}m^`M$#I0m!B!2xqxTOBx zfmWAb-+oO#&_0^=rn6v4V=X_fU~TYz(8;4$OH5_P=X2-GWX0n5p0J}&PV6r6umiZ+ z%Xi~Jwfpr^YCo@A$Nb<22N_d4$nUD(zNyn^9%6m25Sv&ciSN(W1EJ{2~s*8Z>dt>6En71r) z=tkq8N_hbz41@J?8W^bk z_=5nmu{NDfgvxO@6H}enz z#(pS*!qh)hxzOj?X6K%N>3m!Nx7NKx(t`ez6@hUGM+lhy(=UqC>5r=-1zKcOUL@3C zRUbl+;D0?HYX4TA&wP8~b>k;J*d5}Qs zqo0(%G0M#%-TxSN>}uld@DKmh<0_dpZmm|IWcfrIW6B5fxDxQ0W zF`0cMxyRYz9zNoqWn`g5@}NJ=uX1Spq#q94EF1VqDr8(4`MJQwubnn|#p)mD--Bx< z>&?A3C0D_a+hbPii6mGcVXhRdjYqvigoEUOZ^hd~H(+qRIk-WkrC#Y82RVmA=Cn;xvY{2hb^}Rs zYrc7?j-<%$=+9 z@7))*A0hK;OL_0u)XU!ZPcV0YDfL=o{P9lQ^Poe^BHcI7f#UUT?@2PBIn}9wW^s6t zvFe?hDX8>URC}0+NiwX+0Q?^FCGG;%2<)fur8NB37Wj#O!3IGULUU!StlKvPHi_4u zO2=?|P*Yfx;Rliz3ktLo5o#>?;rK%P?l;G#*jw*#EW+()4G3_Na#38{s}JcHb&twW z6Q0epzW}wQ&`w&ww8LsGg|=n=>6fu;w)vYe1c4zEgE9OcsIJPrm>c9uW;mbz^@+{! zf=qr2=0`y=w7@Y4PksUj%?s#{=~9v;bcy`weg2y;AqZaJTJ89xLH>kchnQth*^{0gEl914v72({r1WWSVA*ulN!j4{6coBHH~pHKl6#1a z^aG(+awYk-hGq!E>=7-}jOb12O;$w9)5n-6mKIP|!34LIN!AWAxR3ml&2)A1uP)%DJ?4d}lKGa-HdF6B%vVO>5TDH%T;+|( z3Dq-Rwrt8?=rkj(|>E-NjS|Yf=E#W&0z|H(La+O;FQ8hoJw&F zOMidTS%Upd7($QP>%Tlic5Q}PHo1UAut2DZwCY)&`rRhp%c0XmRFs4al&?S;%8d!% z_@&&#d>rPDg={}`X}F2+#OqGSvsK6YQ)=!bQdO_{bRSH4T|#>J4Dht=`ED$+(JG9? zx=$jOPHJDv2x``11~|_tsWwaAL}@|hJz?(YX;2ywq4hsiG=G3`CP_6o*-OT@lsZe# zuTT^7a<6B`iko+(-BJnvNh^#|X*E3&^;LXgCN*H^sBb(45M!`ndWYAz`kbQOmNt@` z_f1?QA7n-Ug%oeE($_G(dj#ZkW0g^CM~Hc6a@?Xz5g3<@VBar8IUOnkaGiFIPk^Vq;V0cqYbS_fEjE6MjY!S3@!a4?B>em33 zp{wNDrGdV9JCfkieg6dq^h48g=$oq|gtX6A^5N&o*o9QD&gU0# zLA4_p6h~us@^nv_WXDp$?6&|*wdnw#=_-)$KyXz#kWqHNH%rK8{OlWSld}k6=M**j zl+VM9T8XUg0|6e-=Uy#7N>r=^`q&bLD|oq#XV5TNqZ5()b*I_kp}E1V9qV?M71P& zdhh@Gq97ScBP5OH&`-Ih1c^`uMVAm=5`PBxPzaVmDEfDKJkqi~|95YfMK6YFgoY*v zD|{op*wIf~m{-%wk^D{7Yl>40n2Yaw0(+{rk_XQVR^=Np3GE!>?25W=b3+x-QK|=y z6BaGF7#B0ixGg&8QJ%kD5pd@ZE1;$H){AO4aWV^Vf_yC>IO;&gO&gUs65fE!&4Qt&h=D)MLoc-jPq>U`f*Mv+=X@Ymyn5jQvxJ4vJ;mqlVnym(O zAuDk%hRAEuM{^-y168jM!LdZfb|o!lNy>5}9L9x`BSWydjlSB8ttl=0rZcq$*vt7MF~as%d!Z`RlR#>(eA_KZ zPyOK`{kQv@=Yal?mcjqb4{3jT1bXVgmDT^vIIvHoItams!1@4M6ra# zvLBWdC6xZ5DSy@ckeB9;|HTlH{*zOM9zM=}o44R2Edt`x#`IiOR(Q`S_4R0=n-udg zdMN~hoqWAIx&{ehAFwPU8Q*5?t!R4?bojokrX^zO7@duDOoVX~XDB>ppfVd~(VqTG zY!NPQwqD9+fa56dO{(0fSnPd6sCcm7RTFq$FHG6tNNs59XUpVew2V ztYm&SyvKz#i9Q1;lwp!RJL1t=@K?;f}tNIM^G)+IV{ln^4O&(m)zPTLnM}eQ| z_7=i5qvDBZ+g8{d&KGT@*W2IwZ;G8*AEGH&fO-eyF!<1W|A9d)cBkP*Xw|Bd{laJI zVA1yzyGEW+voXDkM@olFOBcBxS+7MazXF~nq0w7zt^2#04!DUvh&G9fdao2p7T5iL znhkklgi<4K?#0c&!>SCqVZFKZAQV~wX0r`irX|Ki#-n}p4`_>pR1&_XQN6XX!zr<5 z8`bD<@KyB~MDpO;RG$yJv zKQxXQ&iGU&IaP3rDF+7wWUlGeQth46V98GLR5Dpcd-`w15uA5CNY1vaax zi(bE`(*DFFuzXR^)2lyjy|;5+I9}4v`((RM^Vz-q_-IN>^s6U@aEmm%@SK)W$AFI2`05P29W@bm^8%;NLCWp;ETd@G87tx#gruDS2)|0K7`emOq&-0G zdBGxjc?SRKxf^yN{i`wLM>Kxl$UpP9UbYRs<^~@K3j23&mrQdSAwD43*aoTPIU zA#oa_Aq*>!f*>&>P4T~~_y5&!|7Ql#=$s(Q8tN;=%DqV|OI%;QWv=Ga_aik1B8L|v zP#v%dMT=aJ=YTH0b?)ZZSQ<2SzwhE6ZR7JK_IwH19sYnP!V&~3eXAE}gaH{()qyi4 zHFI_iO+fv}p({>z%AiRX6(jqs@Hlw7-r5wy5u)(p7_vNe#ymdUNe<^B^#%dbXm;x} z1{pfFmL!L$9Hzt`kwgl`!Pj z%>*j+X-pfL@zB(_bo51md7kHEs5q&J+T9~x81Z$K&%Yodrc_xP7EmD6k9!1A?uc;Y z+@aS{jnF>B!4v|>a*Lo`NwjureTPCm8@?=8`oUYzh9gsWE&-rWKEWth0Sa+(iN^G6RH0-A&G(lQA zyu&w`ek}H|xZ<3pl#T3xL~87AR^I7oNok~N0+|TzYfae^GbpX!G0fGokr0|N6%;5b{guSGfYZe<5P)-|5S~uHsb(%oKhyglGMxp^cv?JZUMdZW1jCpOe?v~ z?ON!BZ~IxUUfQx6A#CzP21Vo}D;cT-a3&z8XC!(~f=w?0N9PX53S?be8e0#BS7hQN zFWX1km5`ifu>EFNlYQ?bRR0ciggG%An%VzH}#bUy`-? zZOPFIiImcQM)BQ!p$4Zu?rs3|8n9*f3$n;-%e6xKp(&n2KOW;154v4vWeC*ML`4Rj20_}W|*Q^45`z~6m5FOWBPw&$ad5Q)})jS3-Z<^KrSioDCxkV~ui@hfc zzdlPrscC88>j(d>pJWTeQNd@*_Z%$t9i4@Wc_R@h8{p0pcM&(;@-=L!o6W`z+3}HF zoQe}=#R@ptDFBb}dzdN{JU#nFe5XLKDi!aVB1%RZQoyig9V7KGPG9PhdmPib=&dHY z0QN7Xf*_#d#sxO|2y=JTbE_3!s1k?H6>eaYM!l^EgmBkHb}dvRNbh)p!rSN&EIZ z0DW63cKZ5?(w`bL!8ZTq8AJqvKomkC&_5Zxm*un^Fbd=4uq6NHLy8P3iY&$RjLxYf zg~|-2P>Lc;B&UD35wyTi1pll2*F+-Lm7vTNGGlwA$t);(Nzst7T&DQ#Kcl(F%E&<;THYKdAW>o07$--N8Xh< z3DurK)8LLa>z5i*)|!0<=>F!E7VajwIW$Kp5YjuJBASyr_0ZtBKO~SEHd3-GDDz92 zN1S_6Nk{#jzE5RUR*W*KYCBUo^V%G*VjFI^*9vimBc*Q+dLs{zqR>|#(sMgUN1%)! z8?$Xps#!%wpYF+88)lAvA%*8|rk><}y|-;e#pFZ?CZXpg~G zvyPLGX9mgLZuZLfUE&8_3KAxGxJ@s=e{#%;_@`EvI|n}HHQ3n2u365 zKM#^GDbzG;|DzlP{cqnciRT5LLkU^pBn%O0kx+R;AT*W#)J;l~)K3SM1@U*~L*`-n zPn~MrLKaAInE1t03JNs}pT8`dwdhNxH3*mda%i6im^m{1tZ9NnwXQ#xdk4G;ZTQJ! z-`9NS?He_R+QoCHDFzX%dCY^g*WozZDNO!i*8muqxx8!M1(8#Br7y4aeU$G8iCzqf z`K>J&?VW%mgb56yV8?^Ux1Ix)+1$@(_Iv?)nrKdME=4oG#9-M!X^0d14;c={@!CR}N4|rBpF+!}m$Wujiem zu18r|!*MhXFS8GE@YYBWAc;Z$d{pBwKxH(o>N8cunNy#Iyh$tfRZ~s)P{Lmn?Ny)UR;QH=zFQ&4)=nO-1UZ}G!H_lrMx_NDRPD&Y;$j5 z)q&jA8mM}P5l*e;+&?vDeAN8iJmgP41V)j6wtm@`?wexm_HEPZUynx^Bk~+B6R0F| zq#$q%L-HSF(7(l4(rAGoSc%bD{#Vthz8V(%KOT>R1%ehM2E;+k(Bg>Qvz$ZRIn(W9 znfRi&H|_zHiwXJQO3q!eVz4V_%W?TNAnbvPAOu<7eM9s5avwiG@b~XJDwKS#6p3j_ z+pbw1P}WXeBO6}Lq(b1ZG!BRDdvz!OA9L@qE4kLR>CJg7!~wkXO8NK(O z7oh7_R;#}sIz3QB4G5@N6?WA|<}%NE-&hf`zGA%`jZiF-nc>*yGibpeo4Xs)>&Yan zByrYaP&F{GW30s3LnX!OZWfEjdUWJG71$p}f!;jAOe1U%iQqU>Y|-nC;rG+sjq|4w zfKB#*Ft7^ks2jIa@SP69ZIEKdC+ozU><1}F?A1M-&3SbOL0Ty}6&8@u`w}?zy`}=u z13mkN5Qe%~O)mt;%)dKC>+3z2UoDX97q!i)@aA4;Fh=UanHqk~!@~G7RZ=hbTHk=j z{*3&0)j=CvyhLG@=+S5M(FUx!!3tH7&Gg%eUW(~RZzc+uT6p6EwsFX3QOV)}j3AK0 zYe(b|bi(hKE`zpHtgClAS7kX-eB`iqM98}Fr%#3}>OraUbHbMNcNXIG4xIMLmWC4& zB3?u1j9QFAnaozY%kGWWjWw5HtZO5%+3i~D9~BwG6&F>( zTV396z8q9%enQS{TLo$>J7f7M}I4dDy#h*8Kx#o;mH4FuH zub{~6jW_RIX;apdvm=UuuA z^)7}JyM*oRB`2)ZtGbTCK~uBrn*y zTUE|=!W{E?LDAg(XwyQM%d#o^$GscWX?C#!nm+h4H zqI8q&BrBeorl*v}XzEY!hK-dXsu!RV?=LSZyyO!QAmw2LO7CqH9k*>r!}+Q@f$?zLd*$zSgy z+5>Uf(i9_kU^9`1x$p&uZ>=+TRV7V*e@Pdjh7Y^w85<9cN*tGBzO}yT)jvH^R-y`_ zJwRP;Oe4HKPa8f`K;i9lwrA|E{K*d?uvh-KGlak~yc&mH+2C6g#r!qV6Qf(K+ItAYkB6ZJ?|g&5fz_oU zd2@`ieYfoa0rq)|%)TYv6x;!|JVecZ7UQlOg<>~LG%R*in!tOSmkWkHPj6&`WE;4m z)^VxAK>(SoOc)x%9}7`Jl6Gsbo&41L_=)inq_t$;(iua!D~FWdoca?+n28Zy{5#QB z(MnpNnp-b`WZkl{W{rk=Z}oViB~gTUqpC1rYY_1*eS3dWUu!mBnAfhAj<2ezP2%xN zf!FtPK1I3gW>>xN^+?;`u0xD~IhXwTi11G5+l_Oig4(gb24%f4dyNGDv$uqO!<`#ZPi zU3`8JyVdJdf0nols_BdNibao}m7)c6ox$QGszc?VFL@=8AOPt|#!qM*3Mzk`ojI*b z03Xt{4OU4QB0bY?^g}HSiRF+{y(+SZa4XB)J#XdR6!8J-H4w*uj_*LHYQnRL7ITO@fb$yJD_8swjvinRL2I!{MV+8qg;thcshEZ^pg4c$xX^i~) zEDEw zWI@`a%-w71S2=n5+Y2cz?yCpT>P-X-`Wc2f41Pl((eLQ`j`+uUq@Q4;8th#q6gRHV z_j`r%*!547VL?z2CP_+F030Ac+1@N@>K`xjj+4LrZWlvf9Q&u738bZvq*-S)F6jT< z?G_Y@{{TY4bdn)Bkt79*VKGUQNRlQ96_bB@h>+=DRWAch#QN`;s`dR7QxzXOr1HUF z@U;=4_@-~o3G}g^e`bbDo}Uhhm6bR*>fsFLQSnD+gnV)j-WJ4o-DX{5;&&l&s-W0n z(Sn0bU)*@jFMmGd743l|xINFwsv^R!$3wpoOUUazZ?&m6w{k1(>-{OK;ik|o$}pyi zVY9iK&(D?!2RN!9V6~sbpr`3``{dNsA4a{jZ<-fKTk$8_{o%ti6m%r)W5k(f! zF<3SP?ja9!hX64C?#Th+1=&u{`7P;DZ^oHv@4>E@kgtsOe6TbTn{a^Ip=<7qW@vjt zaDJ6)=%WMn^Q1T05c)YspTv$v=D1NFf?Cu!--lt88GRP5p>y=oXly-4%d7k5Jh|0h z5lis}u%5iC)lq`GYiZG_qOSA=^}ucD`Q$j6yy%*&TzCt(52+2p?zH!4)cvL*)2rsc z24MARc=*Im2RfT97mM~N#T5n3=Fi6mc#|g?i)j3Ccv_1P;vHC z9k+vi^S`k%xKA(_A6rbz;I3W_J)Da!)(Qm^uhe}<9QX05E5kd8B(VWFE&mPE<_8)6 zc$snH-M^Y4G|Zqsiu`k-OWMNmN^JComi>R;%48TErGCC8Nq)kEO#i%3{PVA9Ob~fa zW;g=V7)Ddn-{ob_y7+gVY7PF0sqS7|*j>7`rI2r4>v(W)4Q7~n{`L;Cd3 z+0>*=R{bOzb}KaDWj)nL{SDP|G0xbyT7*KnOiq@RkVP|s@^)jc<3WH?$HvI;7Ah{t zvrQB9{<@1~``7wL)W>*!iY0p2y6m)V^(0|&$T!U%_k~?tm$2IaV1kCfuur@7at}Vv zWl%mo*Li#9Ou~LSh`aGpYD~@x{fM0miIObz3&J0+GtzXJ4xq_gQ)q3_uKW|pr_Fif zp1taJ)+i)&vqpxA)8gOLqbY36zL2Do9c?uQLQ$C?Nn1c88u=BQnu%WtxwkV5jd2DEqF1vsDIgT|9z*c+oYK7w?`>hQCPgPWZS z%&h0QE$L^4cqC9P*8#f>t>%zPjB@&Y4IS|16akZBJa_B!p51<#{b!qVzOO2Iv#vo^ zWhbr(nnphc%q`{`%;76MQjjR_~@`Az9UuL+g* z`J&ax7aww?zbzIEkEm2%TebjK!x4!98_@XE*FEm<;;&{11H&kdk^hVXd=zDYF~h>Z z>F{4(2Fp{NWEdj<%__ax1zN^YC2*Mffl|H0_xCEo z=Tk9}UDv*zXGmS*SohuI9jLSN_-*Vy5%CwzhP>hOVc%X>-+Xh+F`n_g$Q2QL8Teb~ zm)UQbh%Z-3wW{lJLSV9&PXsj?X$`7iAL(OsTW`AG zQ_j`tOV?HtbvGCIfY`7RVTyrCo=!W$5Bk~m1ACFLS(iRoR`ca;z}72}VUFCuYl}n3 z44Nun+}%UjI0xnvuAC}3z`q15f*p-Wj&SpMi zR19c}mjKo}$eA$>bi~!iOonTOsQR_Y+Mj|+4r1;pL15v1M%+RLxjR<8vNMOt=ERDMN#kh6+z{7RRoV!EFtj> zaF5a%zZBb%ThE5!62_DkiinxM-d?o3sa|vX`H)M|c#$qZ>Zo)bZ8q|(_VmM+4?uoc zP>L2J2x9KtF|8)&U1t>dB1~-#@p*7oVC?FmChDR@MB$4GUT*fb8yk4(B+XAe&_S@K0mQpzUS21KgsekE^nh#G1Dkhc{d%gam-<^aO!$q#m533-*UTk5*G2oPJ zM@vmKZ>EWf9~fRk>}P!K)y9Sm{Rw=qjQM7CSZ?%rxfih!n(#%bIO04oOoV}S=R-m; zTI4EQ{P;8*wX*7d=*xG0{A2Nk7IvN*dIh$z;Z)n=G;v5TFl$lmHXWA$EN~UH7yj~8 zT$by34H*$5Zu!rvVd5KOc(IzGvcc0FLB-$Jiqx5yWc$T(JlAC2%mAgI?oed%Y-|)i zm^_tF>dPpY$V$>W{B(KXP_oSWlTt?NML-H zVv@D#oA9Y4fMx1-+a4Abv4mC?r6BC;%3i@X+@%wBF^kFrtHFN0{?jP75)emL=4`df zwzQWU<;nBKJLZt?xQ%M6oJ557KzQObHWVicAZi7!o2ca@{a4zxso*jz+Qh|V>BM-9Qif%Sz)&k#Jif$Q_5 z^<>U-`<;#YF@y5y`n2}_p;~)|V4&Wb1SsqShkWPlm#WEF=0x5YI}LxCpKg!vN?!`r znqKk-sfn(XJ?P6~?n>CUR<5Fbh!+rDBFpIt!9~ zPtXl6tu9qLMN4j!U7dG7Cc?Yq7GUjIJa+o*;Z(87d*{W+HZR+3ih0v5T2<+2bLdX( zWMiv#KKFrb2!i%&*Sk)VZX-|#Nuun2uuX>0AHmyGJ*i+_xuw@jH45?AUn@g!p_GM} zhp7^BX(;L5i2&~7(FrwB%A^H`%m>s955=T`cf!`OQIk&T_;l#BosZ~F&96N|KhcmO zFZvbe1L)Q&Yho^O12X1(2*HjvpZmzcpogd0w@VkEJTs55@UiOyL}_nG7pZgOeKYNA zdfa7jZ%@13JplZ1!-dN5sN)kt?6$s7k|Pc}-w%OlIhZ=NEvo|XR1Z!SOmX#_9em#^ z>U%uXt{nv6_8_7J{!-qY;M31LoqClY{zNyqkaMusxWJznmb$|j>$-9oGb$8NKog~J zkl`j~fCWK;3!ri^r#>sway$#oL*|cm(|aAPHE4ZvhFBKph`{Htr=OAiI2LJh04$zfbNRCAE=Ui{cn>MlacStMBJ;B|jG`bEj+6%nfn8^p4u?9zEP|M-x9eWDC=9G<&rVMh z2+Ql-#;QZBY{Ia)($cMz>Dzqa#`d~)mL~{Uh(FF3p9v^aEss1A$2U2^sjEJqnmZKR zU^_%Ug5v?7;WtTswHh=aY=0-Mr&aiJr+&}{FFZ$DtHLo+9dk>Z0EFyJk9CdkMKaD* ztxOe@qMWnF^wrz3FpWdci}$InG^bM$0u~pHc-AXyK%VNen+CQpav|P0>-^(GL}<-z z#LoHW@nhZ-9k#KS^Dyfvp@S%*~~$pxmT~3 z(ZsKy9(SbQ=2%0Y{PN0T`jypMiK3(+F_TF#p9BcTF@ujdMv(10i7z|n;2Or!lgDz! z%q9oyZmAugK}?8z`ZzrES`?8@lU_FSi~&;s)>eLzr~ro|?HMO5iKsz#yfL_}K^M*G zGg9jfzK4&E|jVb`4$9|6+zve|j?G2toftx7VH& zX9pu|`;5c*Uwz$EIxR2?PB0=%a-_%^nn`gu!>AO^vAAFolK2^(zlb3LtADnC_c1#K z2ZBOwG-qP83j9u|^h`}J)UTW)hzx%ZpI!xQ8;L}LwKMf?hzY(1D4b*D`0G}r5vv3=_xRG9AO|3G%_B(r4-5H`BQ+Tq9 z!$}+$MZ?3oM0}*QN;*p=APMYH9sjW^%mXu9W7)~I&~-u;e_ zxBOhF*A$+^f*G1FNKzIWz`5CdsFR%S0ThgAPpnwzGeY`!h|=E$``)Q{`!JY2SOKiO zC}oxf==+5;>)vfCDS@+JNZ0x>G10RslFHDjzb492#wqX>u8-f1k!^dmd|=4+-mo zlf)_(aL9C>z$oH0|J+6Dv!T2ON18ukUMwKP@hP%oEm#8E~a;q0r%l32hX?5oQT*E@U^Y$ELyYfenT z^+dpebVrmcue*_?SsM8{2wcU8-13v^0#Un!9nWnu&xqpjXlIzO#VhqRCOUtAEO7q- zouB4QVpquWhamwIR(~x+FqlG7g#7RC%d~Zo;!i`A*@6)V@?W+8be_jaPR2Q&G8j(( zYzu;t2}%)Ekx&Iw;6Iw=Ir6{55cK~ihU7@|?_Bqq$XJNtJkJazqJ*fQy62oO<=+LW z7?{SNtbi8>z!d#!+UUe4xlgzz-=QvRgS;vMdpX*0T}-M82I&fp6qTw2`V<-RP?&fM zW+_nJ)xZG~;n;MWOK9ZmrbnuDTClIe8cnhJZG{zmH5fLT8w{%95f0f&kot`meZUxo z7?glhnBU%R^s*V+PT1~U>HL?uM3EMb=RJCI;3+b&yM$r*0{%BBps>*0oteV%vvARzr(mq)GgG);hNZ{nsyG@HL)v` z&+2}vkc#`)#?kL4vW;j=n@z~kHroj7)4T`ki*y3_`uPSF#nE1nv#cT^1R(fT$Lxk= zldlIF*!h}L{{^#l72X(rkM_L6`+&aOm5@Rl+=VWdzWwsU-b^90sl0*movED-8wmP1 z;4*9k1NAZ0DM5>gMi?7c=1$v7OdLIgwX#9o6m4Eiqx5|{Y87|@4sP|f-L>0Jaj5ap zNP4TVhF#i__pDUMWaiwm_G@@Jg<*X9_LT92k%EBxS8>#@5ilmA= z$K0l=68{J;q7qB)V`L3X^97`-v$$Z|pDkRYIKzgdu;>HTGY3_-_i`hRE0 z|M~xkAq0Z{e`UzJmCFwU%m1+_`>^f*Pk;~zOduHkPcoiALtWk}`lQ{6ZvVNIVHlJ~ zawg9cg2{ddHj$(mPBKMG{Ko8O49TA)LFxakfa<>i@&^DZ$BGkVxKy4-NXn`|$ zroMG#c*9>$%s+J}GSzObZ#N09&Tr_NIH)f`;d-(xLnECSy{8%3rd9M1`l_#?e~RZM zd#r#c9Xi1%r|R&r-zVc^ud+p(_>rI$m|hY8)*{W$IFr^m%TMPN$qI|8=P`DF=PtHy z880kgKQB(BOW-RN2oM~hbGst;hoJA)o6;Pg7np zL?SUIGIODK$0V813!O?i;m-;|Vfl%kpsvw;Qtvn?+I6Mbtn^7_k~hi1u=E4_+9VK@ z`?lWPr53he%5=C-7wYpT(B(mjV^_fBff2y&&#v@I{@h`R5g3AFA&zq#+s~67fogBJ zlmIF>l;(Z3{3fL}Z{YN;I1`G95j|?j{L(K12OZ*-%Lr?G;Aog&5UJi6aqDpG9ELYB zLBzPmT)!7QieMnDWSEA3o2-XHz$y^z`DWuR0=CvAn2Vt zcvmLm;w$+G)Zn&iH3pH4eQnQ4l7~W_aAMCqB;v9_PI#3FYhmkc?A!6U- z^D*0cplP<`eMM5&k{NaJe7XHnEA5zlMPY45XJN>zB;dcTMSlFfARu7|MiJ(pEytGo?$9J@E(AS`|5Wd%Il?e- ziXkvrU~oz!ae^^1nNVbwrW9Vp$j>^G|63Uz|0@tQYw|yXfK^)?az(8ReFWhiG#Knw z;4XBbqysoM6BT@s{PG-Y9@(5WOeVGTay5U4CC#4( zPT_grIn9aU6L4hGbmEq^WzzTld=&Ju){}-7&f-qbrQqhS59@QaPr63g+aErukYjhC z0|@`j#R&{AFu7t2h7#$S#8*5Y*0Y)P|T?171>pZ%1*ZG)wc8HhM5_$_-% z8T9Fz4Jo~=AJp>rGxxGwaHb=mjRdNWB*zgEe|2tkB7rd$s8BZP^I!mNP_f~cX4Z4_ zk6ykf7WD%|x`({pH16J%(?f|??g+!}T`l-OD;$Jkt`hXHY{okViopp9*dYYzH(w-! zp%1MqM@m9t!k!$%l(dT&czh?6VnW|D9MTc{!pcJ=vt)TS3Vfi?tH0luLNdA@f%Stm zm>(^cEjJJvU)F|cgTfZ$x)ov}K_rY08^klms`q?G#wpNVfhowZ?D1u_=KMLzg=UvO zjUel~9%!%;4#N@16|7h(Mzk}6x^AU}AV3@FQ( z$NHU#X2%fSqsRj$m_@@t51-wBeIE~ZOLNhhK*$L65J}%gh20J*d8}&E_jhPNsrIw< zuZwu?8#|?tLKrmCwtSFOu9oGRm@L6NVFe)W4kiOz=hSbGf13W~e>I3)D3!QiT6Qcq&Gyt1ydjrz@b%zWq|2!@ zDRa0Ez)w~_<@phe1r{Efb#$$Xf&aF+hx6Bl7f=L78HB`9nEL0r%6_ZiiR`)-#;X6Y zAS0;w2R<(ikD+$frZ<2~Jm#e6&OF)y4Dan^PXsgp=b*yPe@&}EZweH>9Q3q6pw1c!nfg#J^ z*=CHfMnpy%snyk?*@polkh=W(?d8b1V5f7-n5^v9Dk%8pfLwFS&wSJ;?JmWiF!er6 zP8C=M29nm}x_VeNaJ9mhj;eF|nH?(tW#;I=4%$Kim49+peRS(VUZ(Iw$Rk_|mIm92 zJZzYrbw_!12mx)4J*puL=%*)p`N)P9>c07REm6{HY*u2~Lx!Ka^La1f1F^|t691qD z!jPDK*q;W#3e#Fi2U3d2e3UNLDw$y{7#iM!C#>r3GYpT2_{SwBv^r19_l@?HqT70x z1>w>^AY;PCe(%sn;gM9`(pF7dc|p3;oq7wt9E-eVA5wc)-~V(?1u4BiU0&@5AuyK7MvVxi`8J$BZXx`t0^%0b`&vPqwBHuWOG!urs9P4? zA%0m+&ZrM=xnf++IN7!Y5uNzTXc5;fhDQ>IuZgrf8~ZAMUGg^p2)A^h07MsWLQ059 zlfWA>#^Ah)S3fnU@mwqxZX(JyLcVLHcTM`OO0oEnx>bHsb6V1fAx%JI$->=^d-DE- z7vNz0dqb4}H$xBv$LW9Y6^Dl<>o8>aIq3X9ZNW$~&2b#hlbj@SJfX8Z%M1GFFE9*4 zGdxC!9LZ_)Z%VfaRHA$RJ48vD7t40>jeGYb9L8~)l>7u=SfRj^ui@@A(Xs+h>8*_)t>vcB3uvsX0X*ITxW)z+nVp70Y6tx^Fh)>uQ!nRzd77}i zb;vlxzfv|SAr94EQPRbjaib3MwmU;>2u#&Ik?(z~NJ5kLu+_iNH6NwKMoxddaLBBD zG#mR;VC+7~vL}pTb9l3mqu4a&B?T}t`;^7wlRF0g=;ab#gpiEyYjSbZ08JkwtFknH zrn5^$6q}Utbk^w`mo*g4)cL%DX`Y+w3SOV<&oxInjO1U<5E4cZ6o>yo)}kn=I;-m{ zzsBMI9}I!1j6rBPff*WO;4H@(4F01^m?T4JhD-}8jek1iZz_Wg)S;>W#gM91P6!J8 z+7vd(#aN;g>G}Shfh?K<v%sI(}@xv&@|NQ#^qkok1#=bbl=O9gIX^%mqk&_!Kz^ z9qmR6BpJCpi)E$8M8k?HYB3UWfoB`z#YEI%EV7zy@;jAsa@uYW`-%5tW>58_6J3vd zAsFr=SUkq3;90v!q#Z{Oz4`I81^KfC97!EAc1pXA;1lJj(XpC3iW z-Bklsy|RC<(2}(a?Br?2n(MY_}u1Pi$3Y#2x>(L|h<1YoSzgw?bR==V){r#nQ zq;|jbH?EUBaX;{h34n}I$dGYVq+N{th-$S6nmjKQsbVz;cX?>bCpV1Gng<#-M?EG>-Wp@pxSSiozi@`;gxFVPC6)K!xynDE%YZn-YY zUa@)sqZuAhrYPGfNgB)o7A&L6!ss(ByX$qVA(1AUQ~TbFST%jPM95^_3y*N}zG0O_ zs!Dq+Ky_*T;WC^ODtu#3`L|7b98P!j2s{pS)el~jh{&_nN1TWjjGw0GHeCK5%jZxx zNCK2rI@9I63O20G!9fntLc044Pg4D*Dl#8Qj8XCQ+f*JCj*n5T%PWk*FtxQIevk-2 zqm-#nQHIkkJo`qSM%27}d$`-!5~bf4{*9y}Ur(l;H%wStBP{g>O;C{fN^hqR04n8o zIQMd8|Dy?FP(%N(hW zr6nLMwW5|7Z3|pY>WUfCU5yxAW3hM>fsl&wD%uuU}+ zcmJ&C-2Er*lVs97j(>UsixYxMk`yPhxWF)?_<8AqBoLVV6UhF%7(#2!zf0Ke5@N*W zS#;#W^Z4F`cil==hPB^DQcoy{Ja7gIy2AMTaKs5pi>Ta7yt62I@@1c^0{$codw+ZC z_ahSh>nB?SLoEVxFIj`PkE4fKz+&~^zD8A5u$4+RoADsGRX%dPONxdF&k(~;i-26fNMEWchE>)v?S8$q z^Lr?;;uYEf-QdTJ3&A-6HhYgFF|)Uul%MJq>tl8p%S#B%oZBoy*>E^B>EqjOPOGp- zPXy{~yKwxnQt8Bs-yz=0OB+cg7C3LKS$GP(N=aH@uz?1bWwnJ(y|BUxxD+E1@F;ib zg2@Orm+l(}c;N$K#JH-o=v)?m3I8EAXb_|??S>cZRq@b-y@kNeXD3N*mmlzDJIO`t!6tj8x_#QBu%XNMV!8 z(+uc16L$PuS2oMK4x=>ui08xO2^NJO7?ofBTO<8(-M~|THHb;Xz)zGcsy-q> zysyq>@1OL&;qGPSe~6Ouq{277d>$bUB2&f{***<8WSOJ9}4HH(!Tg!lNz9&UaJnJ zkk55Ho63Z_PZ642io0o(F-*~AEXxG$a}$J9+l19O^*P#!zDE*mY4xgswKkiQfb{0orn0-uoIn!m+qTaH9JH`J|h!XcHY0(F+28u4zH)#Yn>2{y9%2 z;k?)8W_9XNa_u+eONC7ZZw9xQ-uq8a$qYEk(&h*Q-tE-r?AH~`=pG$;^?C^ z4{!yFjg7I3z)VrCQW9ch^5EyJdOS)+-O~=z08t)l!xdgM{b5MsPWIo;5EMmlociZ^ zj&4S$8866@8pi)HB>DY=KRpFwgh3JoW0-zs~AE-$iMGp zlI(;CHbPsfjL!LJm+C9{OXzO0N)IYSj}Qnqz(?$*lkV&be4e+r-|x7^yq(D>=?-D}O7VQ1ENnX)O7C|Rb< zy1!K-9s5j6dJvVmu-P`TZ86F514oR2s3YIgcTUcKw5vj7!!>o{W<){rUAgxnGz{j`}@akZx_G7R1&-JH0rtcW_#Fy?o@%K|{A<+)> zMC5+e6N}krI0P8OnJ(G3(+w=;_Dm66juyyCjr1tR?X4Ud(mof4_{MyM_Jv(Dkxi*{nRm>7O(q zrp*DHSxpY1bSPlJQm77+bZf5e9utKYx;54dQ(T73#3JgW1yep5tO;SZU3s1c#vki2 z)=Fc8IfMlO8kt5x_h>bZ!wyW#yIBgN`Jeb}((PSimV0m|f=^}Kd%f~D8wfnIPpHnU zZ8|I%04A%&b{zKw4SqEIT6Tf!iG%l&QbK#}1KPBw(QHzta zivS$g2tN?@Gz-ADnTb?=Y&Sa>X<3Fk62#q5-OcM-N#@XzqpuYp|%LQYydrB2t+V8OO3iljUoKZ)+3Zzf0VBw#j>){8ZZe zu_u-UzNFQYlx0KdT_s!@TViRG$@Gbr`?_uqN8}=^^<^PbziHH7QgKkp2>hxpuiTe)TghvTCc+Xu zv+=UaoS~VkDa=p)z5D>|e1)Qh`jLJL^I73=;3_7T=?=Lrtku3-cZd>-24-TIE;Q5_ z_!IeDN5tj8sBXH2kyx9-L9P~t`q<2Q^ZS7cu%&3DX<@ya$I?s;9tH+zF3{;_UI?Sp zmqSVg__mAKDXCZfX;98Thx;5cq z8-e?YT`P*~xc3Dj9|kOn3?U8XLk_0dD}>4#;u8BZL6U-10bB=b>FW(MaDVylYluJO zgt<-1Ozx+P?}it@pe{e6goU}<(jUFhxjlGM@A;!KSH=PFo92X5YK!*O#SY0X&|X)-kT$d7PB>qG#Y!CkzM_~UjghmnM z2MzxWNY$eoQT%x&-yQex$yWf#Mnw-krV_39x<@he zwGW9WRfhVtCJ>Ju#aV@2rrgds5dy*T_ZFaQkIY{LSm;!|G<~QwIM5RNYe2TIhJqgF z?@|9UnzNvk`hH^#w~LKvE*oFooA-PqkzJ>e`Az@(u({}Sw8s~bUh?4XrSq=hSkqNg zn2gcksU;_8NY20;zO^Ftd5{bU4Z8=%)U^UIr8S?x)nmUR_^M$4^O^zz3_NwjkV(pfM|l==LDQ{Zn63-gcLz-KcLg z1;%UmQoK|UD}y`n80z?LUL?+(2?4Qz3oGuY!O4Em=o>T)??d;)c=xL0Cu+hfqUz7A z1W9tN+C%j}X<6#@q9~%g$;pE2Z zdpAd}sS8i9UyeL#5PY|)`@#ZB(dr%;1fchOHf zKix$$^h>&s;+0Kem;%D!(a+-brIm;-3nl96;fYsczWkUKCaxuc z_t)r}L94A1Knrs=Yy8A7_|JNX8Rvg7h9EG4-~KV;F-bQTfMSbgV z5BdlL;tWFVz62>k!+9cztd=07<#_36US73?Op1;(XNe zdfgeKuUTdOBMrjS)KVIxG##$r{m6@t`(k|l_4QY5M{(vs`8jmJltX|@TE`uORVFO% zANWi@`K#lW)`r|Q!P1SYOE72m2^sWGF8e=Uw-CMy$yA}|DFN~}n!l%f)b$Z4je2rAEDqD)Jg z_`f;^`~M6>&`%lLEj{)ZnpX+_0SCRbb17 zdMCxx5t9NZu^2^iosTb~W)(`eueN!d6{28;P$(4qM4$#3CZx1N(Ha`fZW%Zfut~Dr zfUUL9&@(huPrXk;E%5hTu#~d5wrWm49fGqTF&>Q-ki1-`A8^IgUG`uLf_0=|101{N z)8zt^S3yVA6X8iWx>G6dE`Ew4AC5cIR>49K0VwJlUS*_7zUG0%?>*geK^OFHb53_- zf@Vf&_ltULjv7-NhpCl44++MP&keBts%l_v8Lgl|Ar8la!3nXdzVC~yn+6HfvAw_sKIIwY^~-|yz=6e_xHSV+vyk|=)m{00NJ4Ny@Zjao>CuRR5? z=>tl`j)o3*OAp^Gaw0#JkqZbe%%?k1ZIIAn{*~AvA*HB!>Ni^=F-vS$V^G4kOw8 zuf=hJ;wXb)OQZhlGe&h89+(raH6KtkOPQRlcIE7-vfcco^=+}=1tkCuC4LnaW-n*u>LsTkq; zgx*SJvS{7}h$L8I>3~k@Z~OH{gvc{z+1S}B7jpw#zd`Et19ZMAF{Vui#jB(L5LX_e z2WH6^=C=$KDwhXL=bH>X>>K{kOcEDMO35i@ypm1D3Yulu?PyW$wiJOtY*6^xz$c+n ztC1<%1hY#9&L75Fybcp*99aCENqv6lPFHj6%L=?yhF{RX@Mm;b{`e4ocC$=$2kJZ_4r5 zvOQpSm-?+XsLp2g-Bu^2NRf^qCn|}9JaC|e>v^?z4ZA!zO8K9GR4Pvv-(Z| z{-tiOeT+gM?zd;%71nS+``oR!B!i$HGl?V7zwa(8* z8!w{d`xF`}ah|FwcLFLNaE>1fQ!hEco<&JL(ZIn=dKgAF)GFK*<~#@ZB|g=UYVyXP z^$?okpuZYJ7?>dt;)fwHU7}~+;n()#7|p-&wI!0|Oh#ffo+cTAl0-&jRGOtkhR`sI z<}jL-6!Ukjsj81_{Wq>fZfllZe&vSOmTr+0({Lw4SQkB4RKa$?(iBPwP~r9Kej2y? zuyN2qpq&mIvk3mX_v>YC{C20!6EfNp--GUm&pRu!@4C534iX z&%}Ev&sP#QLtQT|jmY|R75k?sp#DVOUgR#Orjk!Z&_&{mvUvgUm$MB|f(ttarI4)N zEPi`j%10Y2yfLX`NL`4MELvvLF(ibl_H%9rpqHCm1mky}mKz!9F)POx zRu`(o`7!;Q>*z>@4=Ev?;b4}@CqF;Mv3IY#=c?qb2*4|cdHcty_7$S@j2HbnK}C3r zr$ZlHcc*CCp62MNP*)_>Iu0H=J+*6aT5mgvVsn5`bdKK-VxF%{UcT_H&DW$rN(4#E zEUyb8mz-Ufi2EX|%+e{}e96rV(_KIQER$!(0Jvt%BbOGMwDhWApH+b};tO^Zn}fd# zr-Qbwx0x9Cjn1a-z5Kdk(JGt-~m~ov+VROo|R&^K$n=iaB$}Fy7@)a7Q$rsLkxR5SJW-8BiiE;4h zFY5Ta3pi=~9mt~EqiSPKK9`Ja=C54u^X~VcqSBcrE35xf0r|`r|7uPauEtw6avh~5 z{k+BEBxwNjRJy#Fqv|@Ha8x;>&aj5ngpLa#hJW}-F%%IzBQE2}8cp#D--lz^458nu zf(|!O3nM1HPJ^k-#m`m7PN+<{Fol+vyD~hKO|r2$;ji|i zxhi45EML_5ZMcc5;_*7^PH!}%H>dB8BV5*H9k3EEHhb}A>YzYkJ3)C`x1PQu^H=>Y zzjXchW7~y(m=d&=muc2(Ai0%L%G)AA~ zYr^t9iFd`4V&RU@*&zOQvNl`QjI1*9Hop>&T?gO{l@^iu7mIJ`p5YgyVklI+TfUD@ zhcu`r{UlKaZV^i0^o)z!r=<$L2Yx-m&?8YD!W7>(Mp)F8_ z<@Q92AbA#jkfful)R3hOjF?BTpuGS&^ShY>FNV56{R*TACvuf(W;z$Soj+y--90=^+;qbBZb(z${y9rJ6 zbXcq4VjHe$%*_m2zFsw_1Rza94f7Zqcz<|^U8nyaZb1J(V+e&{2niGaR7*8HJu-|i zjS)@5{7-BgRl*E~Q3;YFS(#BtUcx1k!emBM1Wk}h2LAx&uK-m*s=qq>ug<0PUz>Ec z_+f}yRUs$Es$%?@tv;DdtvjhRuU%WiXz)Nlf<#mXH?P$2*Z@uE zkog`8=GG%gA7;T!+Au2Pt@UNOi5!YP6o6-4%+mBhf5Ax+=6k8=u=Wbk6ROn;sk4+vVyU;h555HC~jff_`63ud#visi}hca`)024wDm0jBvYB z^qBO0eE`2h_r}HrEObY1bZeZ%&T!lITSN+}en`of-|G9EOflg=M3r(iz+Ti{VIqu0 zb=Cr~Wid-brX9Y032v?<)1mPBgHZ4q(qkaJeC0aoG^BrB8Buv9YIh4NWrFR`OMo*E zn0{)^xi&wtl|PYBkaGX+7=j`w^-qf2{X=!@_dpVw8P|W${+BtN!X*r6NS@&(2A6*V zCyN9o$v+X;Xi1SILjP3}*gp)ZKL6bxa^)P$F2n_`%-8OeAA_|FWIUKlneh5Ersj@6 zDL~NYjbxAN?lod%s{^-CBO$K01esi9qMhagS#euAqQtS8OxmT^TuJaI1J7{nDZI>(cb3RO4P>=)^HkXr$;YeM}oJy(Ql zOym3`eWzdRsIIX75Ih+11=*#7gkcl+^ zzaMLS)fLOmL4MAln+tCfW7>X|1=`$UUf@_6icDakKa2c&Gu^k1m9_TNfZw?R{LT&) zzR>g6l}IVXNF?T?2uY6jY_bI*@Yl&Y4x3Rp5Vf?&e_^bH|3p41K_dU<7=jQO4*!GK z2>e}<8zxqIMDu^6C$TIi@{A}_5=POoq!R>VGWZXapg;UZ8H$3D5`q6NEi>!afBi!m z^@M1l&WhuC7I_WzymTc#EODl(qM5afE@AdUwj34f zPddDU_MGHFL+xVm9I>Z;&Asd?5kqUT0gnVPK7B+%snO}%w_%As#pHf+l{FwuYTA+& zuY(&KYH&1H_>3VH&>B`O41$eDiUKgzblwYY1LZO7TcLf@594*7pKpfK#>#E!#Wp@Q z=EIDGbRJ}5To~2=4!-|*qt61FOjFTLV^+H|dA5|eezO~B%Vu_j5_Kk^fSH~ua3+L| zu@DC5Rs{O~eF>t28Sw@JxXZrulJ^ZK+^f;b2VU15+67zq9THlZi1QoWSI$e$0i7>P z_$d{80`WTi==nw-DPaD3@@aGJNQ##}S^OR)?4ZG~WFc+(qz?0<#Lv|YGvAn|&J?0i zsPgfl9wJ~_l9vIPXu!e@%yQ^Oml^2I5J#L=G5^YhpNcn!i(st0s0a2w6*_e-DYf^q z`8M!{;HB@{0WzkMsAKs8)ojq*Ocuykg4;EdLPq9@ZA`xnQxAb<9#!Z3;<|J-}BpiH(>OLR{FI_>u+dNE zZ?O&LMw8(WOZj#{GKc-Mw2Q{d%nF*P*#{W(n5cd-w%^PVYLx^}|mW@rh( zoU~~ksP|$eYI)z^cd>Mk%zpv~J$ULkv>BBLFtUX8ehH?{lvv0JS zgg~jcbdsHJzgDUEswzq1X^%#3CwIt8vE*r?sI>Nl2l??N*p?sseEHAU28?Nf7o~<1 zmY5yhzg|QDzT*fBvFK%dzP7;x{Esgxh2aSe=Sj{`a9$E6#lR(*5IKXCSc)+)Qy^sWSDpQT zB~0+&HPx5luxzCvZ~dnVz7AiGZ--BQV_C#Be^Cp9QKSicCv4|Y^SQuA#={*Zw9%Q& z0RMpRuwP%1tGM-S6ERzYoq8d#soCwqi_&hH-^s}rAg-!in2*Ip=eMYTz!hJE7BuV5 zv}blGN04Z9)0nFaCSlW+Z+_+7$q@P?iM7gi9w4#K+7VDrG6Pn&HP~Fxq{Z#5@o7mR zjkaE`?iMKO;mQj#VqVqs4oPcASNA=3D-dvC(nFr!hPg#`BV_#(b+lhq888vV<-1va z`Eql01!QU&J&9}p@BP;zt5YD=P>@-mB+ZD{UR@^K?St6y3vr)x3;nQNhUU4i(@4MW zg#P|l^%5toSC_$ACCBWB;lt~U08kyOpJGx!nyF*V{kxvfFzqHgAaSXxn;=h$&sbhy z>_GTP@;WI_eYlU$5otR}9};M@VXWW9UcIlakmlr9rDy%d!u*jR@+U-oymy32y&W5- zZl(cR3GQe^r!9|2ov~g34jKe+a?6UaGMalP)BoL(W7rfg0s;P=>A~{7yd@tPf>_+5sHTAIVk~O8*v0t0e#m|TR zVy<*4@srH(_f~+Vp16`8>Z6+cZgtY8V~8lq^KRXGFZu?W{`RtEIYBp^_zc^Q>6_5a zK*br%gX8uFN<>++9bVP=j|Y+WKK|ke>>q|O2nk~t@eiIg82WALk|N6EfX{z1B>VL; zl)y`Z{wbM1QMM$7B?z3Q6pCaenh*qrmFQo!$4rrk|DM~ecBFzx7B+HtU@-aXd#1*g z;Rsp2j&_00UfjA(scpot1hK|K<)e$AYr`_(jjcIb`lT_cnT* z|J3v~;#2|H9={~ZI*RnGfrG(?cbp~#8aj>h{&bmAIy8mVo3IB%-RX!C3y%wt`?AH+ za4gITWG{nz)uPCHt(T7;f~UC@Blo>Pd%g~fUoSO!X8d3|+PAmX%zx$vowEp^bGjns z2f(qFpu2c21A5liH+O!aTpRg@83j&G6N9`)Rib)?jOuHbJNI_l;A&dLBH*XmzF(mB ze1yO8Epb9Tm!?}nQq&WI3eX;upt?PO zsoQURhuE|%5YE7*C?@3n7gCHMW?Y&E)pW?cZSvmGr?g2m;?#RtsR-y<&pFu#Wwose zVA8ZrL?z3y)lRxYr(G6XR@}jgmD<-U?=TFf#2AI|_j2wlCM$|E{kdkr7F4S}?UipkUKO@?OOZ^^SDz}Z(L8ACmL{W<%e5l!?r zV+f4@u|mX|e;)FHpD*<#x~)w5;$I&#iXsvWriwr3dnu&&6JMK?NkS1QL1he$5yc-v zL?Zc{FhoXf_P_f>zRd|y+$WzthGNtu6PQa`g+v~vIcO@!Z9L@kw{2$p)t+w zCIZ*9|LTu}*s5+v-A69O^QxW6HKfk`d>geVZ+f`EhfW{>^QPJPw2((bj!a`JifI@A zn3<@Pxmiu+W+YRi(Hd_12^76Iu}mLSr?F3Uno@29Fh9>uJEcMo(a(k=Z5O z&Vhtr{5}14ORm-@3QGg^ej{OG^|mMS2o1M(aSLHU*vy`Iv*viIo}PW9dva5sO~hN4Ko;o~B9 z>oO3R|0eEh18wbk?8M1{%8`!V^I6rEdoWgy)@5Q2b*W9!sVu)E)7icwBOgy8ic9C= z=GP(BLVgG2DHLa10w5N?OQEy`=+AqZ8_~1B8AE~i*y?}J%Sbj0fqH>D@dqUu zy|`+Zr=e?B2AVNy1Dy_Zrhx`*N>6bGDa(t*fJ+11;UuD!o_ z>^T@f*pzN2B&Sp0XJEAGJ9@pnOo!2`(el;{sQ4UqNSt(QabLf^KS%wZME1>8aN$Le z0K|r08C{@|;b|n)?GJV6b z2quNZ_P9LUP#0tmsLXZ(k{W@pDOSI=7d{|+%ztv!%T03`ZRCBvZgmP1zy~+v!}{m6 z);=us(2>_^@y9Yc!*uuREs=8-Dhqiph6n?j6yoZSa2yGf*USz}6=3EFN|RUU)&JS+ zUe!eUH)F^j2O@$(n16D-Z?cwR7zV!3b@+FmDxFYCjuAPW;mMD8&?tr$bWt!^T99Qz zXMc|Lrg-*uX_-&){C7=tBUy+R7A^%P`7*yI#T(|yllCX8lb90=-Rn{mm_VK#($~d* z3Ug4u=9z79$SH~DFhODSC^Nn`Q{Sl=n!x#9L*bS4zu^d?T9kQYMuCubK&R$GM_&;} zhL_gDo1WI`m^}-V`b0_U%{u0FzTN0E4(pgk2f1=m&<&b(z=D9JMtVFBn28E1j1;L)4v_=)2ZjG#t{Mkqt)M(dYQ zG0*Tj$Gh#-Nur^^6ODjo0}Fhrnd9i8_KAt7_mpI`4!rUG5xT^98E;xVyC|r(Z2g36 zI^q$XbVjqd+UV+);wqc^G7}3vYwm#y%ir!b>T5top~w=~{sqqcuTK+r#0V*)hRRRO znS`IP0v+|cVTJvZx??_29D1^+=08r(NunVFSlLh-?1|`65}(kG2g=;ZubwwST-{eu z!!Y*5{3Sc8@Zg27MH@2xq|@A!Y6mfr3@l?AWnUUA-sHFi)Rn&^J$?2Y=efnc;~PW9 zC=I^MRqb=&T2^Z@8kaPMat8U~#x{U_2AwJ&%*Z+M-9!mHah69Of~#KD&EU|FEfOFI zEux^cO|K5eCZ_%?I06R_lvL?~H8b?r7P!as{3vEleYYUqxB8p$#z<+@M0!-pU#|iR z^GoF^yIWeuXhx(VKJ!o_F3_wMVP`7Q3xC#BKezE$^N>Fnf{_^Y&pDk4`oo6xniq_O z|2?;xGAUl96!QZP28Rg>PD!*Z3oOC$3}%QwyI9HJEdRT_5I-^VUoA6T)lbVP4TK(` zQ`m;3y`SM3jeuwBowCI$aAy^GpaFfJ-kln=uSYd4I=DsPTZ4N^E*`k_AI%RA0ZAn7 zC&8^35wM%{u3tnPSZf#Qz(pY6%Q=pBu;!>R?#5cuUT-eqqPm+a5Dcy$`ec}2$QLM%EJxm#g*=zMm#%a^P17#Ih=0ONP-q1-rO8Zwa$-yGBPAs} zv!DR&`H_0h8KmR@X!$7&I)coq&xMBTklWml1=j$Ivqi;Nqfzdpkg93CL)xfRbQDf% zvhuo6`BXm+K+);5!gP8VJzJ$*{x;uwh=fb7f1SvX<^JKTc^r;dPTq0uh~e1Cj#x^# zkYDf(0np#-}Hi^O1h=X#cJDaXjt1_A_eOvYOX5dvJY3UfM_V%G(goQZFsTq^CA^0wnNz{Q$RZ-)5gfmUEi{ zE;wQ3Avw)wKB!KFMYqHLjjBTae&*_RzzF3iocl%_x-5CE{@_MPJ77Kn8c zRb_Q}E-N6~v;kA%g2xzRgJf*mz-3-0g}T=fT$-rTy={?#^z!{g8zSCZb^)kr|DglJ zHwOQRdCYGI>q@$}34RsYbm!gMf<>tka23vv9R6xbL0v`Djm`*q^(E|p#J)WQ2gNt^ zCtrp!{`Cp`J2B+Xnks?A^gj=r^xu6Mi=H5w=^_4I4&;cD8Td!+9Ea8kg|z$x<10aY6oNKKyF<4U>v?j>5w3lqq0{sClb= z(XPmGN!oo4Q5VxzJRGo*O`C!&n=l5_n`b1vd&z+^va?3i?U7IoNb?sERU&E}QM);P zHI&wIur<|LQ3W6Isu7Ea%%j;D6xNdVJj(5+Bk4DOunDr0Nr%2SFf@?mKcu`-)-I=s z2EL>hHq0NGS-G-j`~Ey7T3_;em-AQH9xh zTc)>?l1`+>93^o`j7h}!!`c86OF!@TNftN^N`Xg?ZG!%U^A<7&uIhQarbB0)uTCFK zQJqu5DPN4zttmX|Pw8F$wY=B|ROZ5*wsqa3S9JVziMQUF>qW|#^X$bc3_H{=Q0{@}NKl7Q+X_{vY zb@m92J^%WLWGID|C0>wufzeck{3u9XWHia-KQUA0F#01ZNb-M`g8l!Fhb-xT*F&=8 zhap{A5#A%yGYN|H^`If73hpe!vzF~Ltd#&oR+kM@RRr45V5of9r zyz{xxnyQ&8i2MV;rRs+k$QtCU{wV2#yZoT!F+mipKKU zCrKep;f~)sHzT&%Ou$)=HW)|77OgPTe|%C4w$xQz<_(paGPTl6P^j$e0>Tl$TD)J{ z*FTvzW)TQ|_p<;jVYqv9Ubi+QxF&mclyM&hBzna%e;9;Lh1s(bOA~x+6V>t5r(aF# zJd=Uo{R#aSP)6@BbL`=pIxt^?r>-0JNPPy98J!^Ka^TZ7y!;$B#a zh;IfE?E4ewZ-PKH$Nnx9evf2C9$l-0sj5_ufbuFzqGHNk3n?z-s9O} zz->%wJel^Y|Gby^QK;uH#t;O-5fVm!S|+3Vn`CM_Bj_7rmVfuUBXE*3F!lQ(h^!!( zti+j|PI5XUNw_HfBO2f3-~hoDh`Zbm7Z_U3}P?!s3;gG*&x4?NQ8K z_7-Tsz7r`mh+0S4*4}uicNq5 zS{x0Ot7|lruptuuvZslB2Yg)rWCN`!@0oLxF$kh*V{all<+rb@(Nw5j{B>{{IJEvI z#^`H{mjN|psGyyL*x>W2+MkwNo2ua1J!br4t6S$Y0Ci2p+ znzk!wWuslI_L04hHcc)^2yN>bd*l5=9?|-S4$ZRMkM)p?l0y7j)|w2s1Q03bFp0tl zIT{4Lovm0&DuP6Ajz+0!hY>?yc28CR1(g`pZ%cw*+>j(U)M5_Ku zg&n$w$WF|7j8&b$O&`x%%-WqnLZ<1M7&AJWw{FA{h#J5$g35)=5?PAa548e5gkW3Y z6+{$)y?+9D2(VFW7zg}N&-BtU?MOpGSMA^}|85%wGq!Z z)*uA-^9D;;ScfJcSXOI2%~nHRqTDL}NhQ}XWZ*136ACz{$Fd)W^!(cYy%+*BC=D|R zjKlxrS9>$nll%oGcwUYE-<)hT~nO#1%;6Nc&o9ZfzI!brbc%c0aJi!U~ zkMzJhZw~I1^`KCS*F#vy%Sz;{4VF|-(~=&wst$ns^KSj)T8Rhz)Cl6CAKkih`j+5o z9=}zukEg1Vw&*huhIaiYo4vKI$KywgHN@O(;7NbXep>7!jWZV!=?zOJP9Ot5Fh;(k zR^#>Z>ZZI7rhGDS`7n%r;o=MH1>6^MCIxoT7vnh+@b4ayo^LY*kNruQnrX(n9s4|n zTYZ*a!6fcHW1vnlT;X!xZLVrgEvyDecQw&)vZg?Sw<@+#8+H5yc(lBpy9rwFUQ-bZ zDE$4!2t@pbCZHFl`jlUMuhTb zWGOqeQsjRz_Z~^EBf++9A5(#qL951ZK$8%JAaoB}YmL!Ap8H>2vw9;qoor+>Ndk!2 zv6n}5QUrWuu`=;^Rx@Fh928s5ieZ&~g5hsRzX56TJS0a>v+cj_qEwNil zcw&SXJ8fL|=XhbO7G_b-CbQS`N*!%G6E)S2NnP`aKyJ1F(ftEr!2Lt|2S$yD7sbUr z>eyO3qz9lF3a4P=|7HoEo2n4ojh;0%){GqG*dq?9p`?R&I-yO_bFqDwwzZm4%5I;a z5bqh-O^wj_i&v}Co_Z>yZF|ZgF(oME^YLBB)>Ll4tDasoK+Rw5 zLw*|ahi4Fi{s(FCsy*`^Zc6H!=j7jgnH(=LJV{9mhpC@sA@dB*sDz3!oI-xOg3>9% zAVv09X~?2M|J4xm&j!E%`jOIlE|mP%f7QsLC4YF1nz?Zk?HWXY)x;bvd53)T;u+gf=HH3 zoqnV2i5A1#*0=%faD7b`qOu5Bm}&W%@f zIq6jNZ#J=<-sF(MqiKwQ>!pFp5{gK=Yo_rw&{4_ z3y9Qo%E2?OU9Edfa0(LxZ{bS&ukxHY(xaDB@`md;oiC0vcl~^1V-MsDJU}>Ll8lo; zSi{`*c`E`Pq9pu%A;9@P)AzGp^7l_&cacNOzgI*4una;FKY{q?tl=rGy7b)toLWB7 zfAe3b)HdpVN9h?b0KLk*{LNZX(wy-qBd<9j5WUmlcq9b&3zDucD9R60z_NM| zAO~vr_6Z^`k}I_Pgg)=(Q$t_p?06fUcd;6sg5q<$)7ODP z)ec8UWHs#?1LD^K^Sz@BQLzZr42@9)4(+RQMv-zzM(kdBghZyxgUt72R8(_7vhhW6 zPMK%_(Ez}V%8@F&(%y)VVGLL_)ZquLk_Uo?I|#XkYt`wJnFnKj!vgOumtuhZ z!lq51~xZe>mKJtfMea9}SGk`M|t;_)Sfz!=JntDcG9AQm#S+AlvTJ zsHtM2BB(h^XT+F4AG&uWF;^ElPLhce!7#=a6XK!O&w5olB?j8twEEej5{Qo8=BW1V z&wpwVd8Cj0)fz&;42BZKKQ!L7_;tVua`f2K{Od!0euK#p3c)ZqPLLeW2t1<@Jb^J1 zA@U;2Vlw&R(BE~|T_WxOo-w;G3xa(0kq!nML3Yy*o$V)i_l(!|MOUE4KDWk>79?sOFx;HT)L4uektqdfsRcq6r6ES zZVPSGt%vS4V{IW%eg~U=<}QzpU;9fd#Ck?pQ@O0MASs(IW8>A3VgV>L+EA{2WWAazSt+knj^!g@jer``oE*elvoJZNXt(b9{M8$pxX=AE< zk;81(M)%!;l-L=n{;E*cOuR$pw{1`QX^3!ib?pmKVybXlf(B{Nk-?Er}kDGB14iMEVBXmgP1jjQx)kV@UoDgNx}WpoFt4rERlbA5Pu;)fa!z)PHon-7QIt zd_v&sobG%3g>B?~r3k!&5MD8_YZ#8E`%_ca`$5Tgt%jXJ8nJwPSh-0fH|X}sk69Ou zS05T^QZiMusd2@tR>g;6J6jW$zlRlw%O&ei0q@-chZOQU0$wl7GC3OTm7{NRGL<)Y z()YtN?slONaguOeVA@`fApv^}KrFuG%e>RP{?tMY5PAHoHH1V_lt%G?t`j}yDWCG| zcWbEj-~KX5jA101a{$249gRB1&Q!RV+ry&Kp zRf_>PCn}R{7N5lIO8PjUZf})S9B_c^-&vj#0)mkjW}Zw3W7?nNxMV%tMdb?-@1abu z3tp90b;+OTgQ=hZPtq3rRt!c2jFlsgcvNvQql2G8y^E&obH`pj6B?)OrlWY_yRTR(bczCJ1g)$wp?nlD*;aKMdr2?IlrT}KuT`g8{OJU5o)XBG1YV9+ z@*La`=gUEY1(H?(KaRzG67SB<4Q}bqo^EoR*ft+%2ned3p8)dkh!9AV+dh-m-Ti

!CfK< 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

`-ZO=arub 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

6(EMM;Az7QX|2!Byx)XvvZ3Mj?B%d2ukPb(M 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%0A3+KphDDYT;s&7_;76uRY4mFjYC70nL5G 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

)3IQ7c-k!&zhEb)Q*dUCY$r_DPYB-q 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 z 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≫86SmP=)d$jMMR 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�{M!5M1DJPG zm4u+GlszG7-8LG0)T;RAsPGWC}F5YN+Tz9py!4)=UN%sDZCEM25v!Rt-C#%uZ0Z{IvhfIVPtbq&~hh9O{o zd}_D()Gh$a-+0<9PM-k~DPqQm(kun#EyiWVv@;+ah!~|eG+^4mRxK;kK|*^0k<%qN zQY59MHiUbtRFo96MiV0?fX^0nWHx%q3&Vst|Dqe}`$&Y0-gTh4Gnku^pp|wEpUL=K z+>H|vq{2K^rHENwf}DlxD`esKi8U92E0d=*QK2GHi7`*Spx~I2l*JT;hJ?A5q@19- zqWqpo_Ra$!+4Ae&f3RNRB6XI(_I`Zs{bj_tRT9o6=cVM4%-oCMbR!@uzX{2_T zZab=l0-;<0Z;~^~cp5{rLEv1+=gG&EINXJ8%lF)dmb}8H>;L<(ljt#bI27WPwAva> zR;Ar#^H) z;ePe@#a5WqFjo4pHb#bdzu`?ib|wX9c@|gt|L4;_yC>Um& zYsNePGyd&czkh!zu-yKSo9pR*#p%9$!GAy_><@ykIJHLbej)hKe#gcB@J!eC8`-Mo z47xMQH6`Vw)16GGbTDhhPQMl!g(Hp-tDH^5dlUi$jKS0|k+3RRZ?*8bftUz-h12_tgRdenX_hoKP`=Nd}yY#Nz9Ti4ZAM z+z|u0(GrN`&8_9>KY1WM#X*u{`8}V;p&n~Av!@`6qIkiqk+Q=Dp%aXe;HMvqG4J)!!ZkBVRaUpubFVvnSj9#B!)6olHR0m z#voNoGv6jX^aVIpx$t_QPjy&>YZW1B`LVG!A4;NrjS~j<436F|N2*(&wikY z@RO(BeUL8UCI96(x`cy5@atMNU$wD$W*GbZ*-D>eO|BUys%*|i-8uyr!=S2IB^Crz z7sb&DDI@cYB8eo2y2R6nAEms|X*{Mig^)ByCFH`}*IYO>T)5yjHIbAu0<5G}VaIJb z9eK>FDz#d{d1Nst?jyHRA=H8pm8-{-fci7a6qH86u_{Qz|9|%01kUoTs`Ko~h^&G? z$gq_KR3%lc+Q2{S?h7L*+CXI%RoFm()M;(zt`TqF-;4L?rWyuYL{y3gJPOpdTg44p zp7~^qsz`*2>bPC__`&yGDHh)Gj2rM74YLeS4VjXUxt!%eV^ebp zNT-5;79i0$Eu6-kftI_Vqs@X7npIXo6POQp#)N1fo=#3gwo238>g%XUbJX=C|DX*rUg8mJ`KD zNjEmSd27ljPrGg>Kr-y7_6cHsLS zdF!3W4iPGD1TTl7C0e3pI%?YQvwALM6e?wjl{5%u<#iN#TC>2jbXg0fv7ED_36LhZ zXczzeqweYKfHd7g`Y4Ed!YG$Us&ZpIri=|{tkrbBuKR@{$!3jfT#-c>A*+%|)&rhV z0E3(m=>v$^!Wu%4&xtz(rBqNuxMXE#k_U04KkQQ3iCzzj>{T{CL*IZ*&Vo6Lhaqjw zEI{nYbig!AW_b(}^EKmh8A~Yg5T2EvLi0S@-?MxNE0I%gyUgxRw&0Ts{w)rg6-AwVR7GsrZr5@?~)v@Ty9L*`dCj#&7OlBC9KF=fw^FkKyX1| zbb^PdTu6rLniU4_S!N5a6oPm*f9b>DhDPB|Je`lFWeH=Yt>xON$NLS|Nt+gd(qT6mxQ$zPQCUyW6NTEE8JQztAps|#5 zVy&0T1yF@Ba5}{-3EuqarDcx5fH6T}3NT(a$Dkw|bkL98K5+w4kf2OvS_KmvkdQ;R zhST73V#bnW643^Rj}=y$`Tup(tLKj;k3G7~EyWl_d8{1uoaf$YIc*IF&TJG)S)w@$ z(g3PDdrvd5Jb1W%rrKoXGgjqhg_cTz;eG8nI@BelBvGEh{KR7J1k=!g;B{DV+6;AhoFe{ zVAfdn0B)u*Nx=wG>Y>$CF3&8VsJFZ{Ds-8&U6s9dEBo%Gl}3EnVU1jb$U&QH?jYcW zfsz7zcjP=Ksk~AgY?#(6F#^^HjLLE|1N0`eL(@rL>Mj>IUMQat+ z@Bvyy_VcWv_@V4pwk(7@at5!lnqwOduTXc$J`=b-^cROeh^s|a_{ z8Qy>xA_QE9w9sb(Cz}_bi@a087s|-_E$Z&28pn1UFkvvNWuw>7cGMhrX+}0}gd!QZ zrAR`Qz%H~}N-$T{al->*C~>DJkdM>X(w$4Gz}H*7V=1S+6!iceLy!7XIvl}!75EHF z0E-}nAfU_O9UMr8MDR#Lk^#)6&@Kq@hnDL3zcHKWp6^&1GcaXJkTP^~qs{PWI+gtn zpA`v=AY<8>Y;uO-gYnh|>n<{rsmU50N3b54M|lGJ^SjS6fTp)cglL^8hp~-?7 zaLORqz$MdwC*L(u;N5>^LsC2L3>FEF{ut~JxMZ{7W?OIp0_CC`8U%U|;17r$)l&C6r2FOOZInBV@1oA1O+2x_t4 z$|yvT!^uEL;f*T%z>l{Bu{S;dzp{gSUHr`h2fl0DKQ5m0(Up;9z_WY~c zn)fqb-BI&C?`y|3@1qVZ?)@5k|7=!avGR3j$kv2jy!7j5*mVJ4FMjjua35Q9Xi@y# zGWh!L1B-wBckmX7?c$gJ?!et|e&*`SPmC`yXd%k=dY`)u#=2}Qd}B5(nD^R(D1!OV zC|hP_prAxt^yo+e^||j57q>uM3nUkhTPTEgsfdM%0h|e;cQdue4_!-{r=;Bk1%kCi@_^?9802HRPuD zd^V`5aRKH8L*Xo#3U=HR_2f%4*&JCR?5K@aGY z+>Uh8UT@VY?@T)NR-pyv8sX7^cZwui+IT&mX6S*9KoXR8J z>$awL2<{0~49M&VA)ON{>X5-*`OH8Cfbe7t6s~}#DY#WDq?*6%;cvxZ#_k7g%$Fvl zH5u0h*`Px~TV%w1Aw>2dg<`~g7J@1VG5|FZ^gG-@0tq7_B;llBpw~_W9mm!*o`2R} zObI%lLvsR1mJI(e{Z2AWL$Kj2M6AXL_=Mbd|08~OHIT~oMH3s61cepS4+UZ@*y4d zS#wBv7kW?C3$7$LnP{59durm8g2;^v4VKhGASX~yYvV=1G^lyJ_0>n0_kHnEehtjk ztH4m)vapR6G+A%L_yZyuhFQML^Ig13Vr(0P7NDyj$nzcm z#~>twCe6$Ba)MUxC{7rGMuE|?(J?c_*QYVjUQaa}_)yqk8X&?0aT?5ik`}@l@Z}!F zme5(mrQ|Hou*`q|rdOS8JC7|Y9X;!~fqD?2+pvrqMD`JE5WveKj2qk}s!rvs0%2aj z&4^Ru8@w`KruVaDyX{)4zX2EP89y6r7C;us9y5L@A*mBES7`_a0x4**M@{WG;m{Kx z3avexF+Vniaos};AhT@11aX0MDT{5^+(-pTWUnmNpG*`i0L&Q(QGC=H!WZTs9I~iG z6D>f5X@1{z&wTyLvY-Ba8;0}?&$?&+xu-n-MHa?W3C?7x)u^sJ4L=C|CWy*Lk(9JB z)kNfp*^nR{mN4C=Pdp_JcclYZpOi3AG0UZ)EobvTuiS<65#%OzL)jR#Y7pS%4r#f~ zUVB_Y`>ETWIsfQwN6tMT8Rpw2 zjzQcXlml_gA+m-67Bs_~Vuq}sEwg%iW$%_FTZUU0PD_*2H?-&rH)yQZ^PsRtP-< zTvJ1@GRY$&0eoIcj#>|`i5B7r=B*AGM9Jmi;<070v)#J^YZ4+v)6lt`;{q4~^9H(D za_XYC&TJjKe&45X-<6c#)GTR z+IG&14Vp^D7vFUK>hqVrW%0e&!}YeD z!s4CRuikZLQ@*(2A#hQYo)JIU(R?mG1V1`ee%|uX)w9Y^{PyeMcXl>4i@$p4>Whw> zh{bmn(8iM{_Tndt)#EGfw=DjufQ~(7N-bXSu+^j6lVNf1!&dLuiQ>fr@Pp&{E$({w z>e17|QBsvnH}o@}Q@iFH(`G&3K6?nTLF%alBEd-mrbu&4=o$m2*#kL*hnz$K&b0z( zUxLFxE0&4|#oH~P#-T5*7>E8DJwL=1U~z=1z}cVR zaEJ^^zYltDLhOjncp8DLa>@jJJ^?XjhR6q>?^%~YEkl6fB`8O0LARj5SU!CF?ApJH zJAfm%!TFO=s9>A{N{WMvt_w>DN@H2>*`ylVNPcl?)?6J)>@4lQ0<95}rA z(^swBz0#aFZ+hzdFg>*BzIvrR^`Y?MH-CBM#zp6oE8EEE#RopQLXIPY=W|B?3V!;) zBYt7=k~(~{1aehW~^^8bZi(u`014+^BbOV&+?fnUiTGmSUJ1{X!!o( z_g1!-T5ete^ln_NcUF$WhS&b-f4#D`{PNM&W%nOiy#Lo$PF;l2i(VJLxplG$UUO*i z&7W8~_Aq(tt`9AaJmEljeD&q7-pbbMi~5m3ps z802bTDS_ft0q8LlHIm6G1O<_*2TP`c_Tb;ZRxP(Md~EGkE95HV&Vt-)Ru-S@t=usG zz;hmV^EP|HR2h9!(b=Y}Z)iUb?bhNCZdj%9oe%k=^Y?wYWv!m{iV0!*R`Jb)>;UFdRY0ItX3|7Dxi>Vsx& z*p0N;UDwSb#pDG9rJf|of^)_})C)>5St{|FWri3FV#wvzFm(#)=jDjumMpGzO2ufI zThrN?sX=34Ya7PP!r`&{m>m@meM5Y&eazV!ojnHNIXQ@yIfVPmbvb!%f4+6I5ZHlm z@%@d_j5T?$!9$CujRI~JVl4<6LGEgjA*LldQ4>kTS_T?7IeDFk!__us+X*e&5E ze_5t9j%LEq18j~TSHBsc0r81FA#)R|)dNfB%G2WNzz6T!hFE6>a zINm-cSvgwoje5h*rev`-?esEkJP#0k@_@ZcfH{2M!Ds&HuGPx(x7RocRVDSb)!g7yV|uejYnFdRZpL;=jO^zhO8p-g49K#P{_#pO^SP6Goq1{e11wr(<-_ z4WB;~MVAkp#kU?hYm8M5`6U_hf4BDKYkJ7>G4d_T2PuYt;98z89@YJ9w$ZH{(;#h) z8#}V~(c%6P&yA&+zK{kDs$X#2$HQ_0nJ+-jOIyKnmBMrM*lsm^{HDv^Y{FWb(`FtG zOt9T^)LGcomU?F*Z>UFj{WQ&2``EPRaUgNR?V2*NY%|RMNpr&oFIq!?%Q( zkujBphq1wfM?x|Y3S$htYI)nqNu9*o;v?S*{j%pM`r7K%L(xJ#WAECVJv#oseHB@e zYWy$Z_-`$qYdjHCwx<20%!XluzUonC3hR^ODsd(QcO-ikBiQ2*ap4N9CK%34W_T7$ z!Dr{j=>2Q|Vjp7k_N{$hj4n@CHfrNE>loL>W14nQxXgXPglN`5gbpKNgA_JLnsSgd zK^UG>(u(83EP2g>xcJCz=O<@=cs~-fI80Zsun~Ifa_6u{X^ach#a=b2iI?3P8(ji^Yubfo;?!97FD))8vX zEMeuwuwEax)0A)E8P%yTvX2oO?`29hJLheR-Wmt$1b2Cdj7POa_OhVD=*vRTR^AA~ zv}7fx!#wD&H{0F%Xxul$f+qpK3LK7CI$M=Iu_=2Mf{Y=uuywron_Ps&Xf$8r z+O^=CheM}@$q4WOCRXIOm@T0mrky%vlUco^$8KDJBN18$P5^}HSX9~5U4ukWIkYeB?!ZVQ$pt$gN_hCQHZBp zVU#)B&YOy$OBo4WT?8#2_QLa%vfJ4qn2@5RHRr~9qFb%nsFQS~U`{8SFwhModEs&r z$w`QWwQ`gxk(5rtiBK?LkW>g=OGfCt5khOVRJj}wnoekF==MgpIiWRDrv+Fk$)d?x zGoGRn%y2y1%#^i+VMaIaMWB`fLd4Af_>pg`2-=@U2nnLnl)97ZjXY&xLn+qfSc1qH z#fg>1a!W9A9>*$=j$q!MD1;-L#S}zAt+u){LKlP3FYHx>urY@YCvSt06mvCs@Lfh> zjwKSLOH3;zxHFN0Qi@<~zyMXKTnsAjT6@bLMrH9`-wl_k05}bRt#kt9ulq z#l0_sU)*N^oH*ux$pF}u%DtiheC{b?@uAvDNg*l#&KH2=r@k4bCEaY*Nze6$v%c;G zq6=yW<^;f0YQ!rB2A5@(jl~=RMls8ki_tL50mmdgH$o4r{%D2JHHFYg2|}u|zjnv| z=esM_*k2=K|AEfR@yy^?VC=uP`a}D0>|eD*3aR}${y%l_HCJH#Kd`ZKsmC9rk><G)_#KVfaG3fn*FI^l4kifajLWh!J}d z7cpCHW3@{Q2dl6;TO!}q7zr$E^+zLRffyJ~a_4XE!mH1e*ZHDZ_~f<3 z!qVSp5G|UqvJ+<;gFa}OCb81ZbfH8_+$3T-(b_P=xtC7)M6gIJ!(+A)(-bZJjnI46 z-&_q;{m$B7UtLtab@v{)zx(Hvpi@&paZ8T@nP?hgts$fR6J1TM9Ist~v&2z+?&B5=pnAthoNEs4gme$A2IWTCgw zn-<1V;&LJsqHJoY5Z*XK1vnEDMeszr;3G&D(8E^C<;qY+(mo~$4`Xo3P3fHKHjJBDTf$VJAxIglwaSJVoy>wT=`ka5QlPdALx`+E zIvJ$bto@ID1=8Xt-*gSzlI8N-;w$*;yL~vYzc4s%PZ$+tZK7Lr)+Fn>A&76Z3N0DQ zcm&B&=B337@tQG9q{Y+j%i@AbHH45cf z6pny1k_o~qW<=zX8*YUpfh6u#WLCLUXw69l(=`Os(XErCSjnf%fvXtWwSn%8I}_py z>p8)|2&{_aR0*n>&pL-dy`f-O!1QFU7%ix|fT-!&Z?D|k=`ekC@4~cw3>gHlD2MB@ zm$GWNqv=mNV^$c;bTouh?J*T`VkspZ9VIFS>4gR#CbGve97ZU!YtdBEbdA!48GlOe z$1T+vZ0PAoPK28j8k47Gt5h~FVBu}y0!v;(Yz6<4~ku4t+p-I69D4bkOv zDmx&3#+$8{t?@J|gpXNJ!N9G#9JP%BZp|c_nAavN&!eOv>jX4$T{*hSG#!IUSY}I> z8gV?7(sgIGab5Hai$(5oves&6EGTGeX?8Ixm%T_Jrn2)?IWSGy3SOC}iYDCTMHLa? z=#-g_*mTo#Hyey;*B2~UCzvyw2Su$53bd09G!pm^WVsa4OJckSnv~xC)6|NlYmp`j zG+9o{UZf4vC3H~l@r~xJQz-Z@PxvIvQIJlGG7b9MS|M0uMuBvvk!9|HCN3-6bZKb% zPkWc9#Z!Oz__pR_XS_gwQObEPo?Z54H1eRq{=joP1 zi(jm-&dCNa2wb)FADe(~q^mD}gfyYY1u z59i6lr}i!n$72}6R4EK?tVf}TtTxcCNxdK}F&;e?S$hKVQjrv+Ozf_f8y3L}9*FS7f-e+4Q4&`PG}i7oYdefInyWwwCq7H7y%#Ra2*a(N4BQz>IHQRdOj~2FPFmqz4wYPT z8gVmFNW>Z|yz#+%BDECU1QD%vSY<@vmRWvbw4S{u84J=0XA>smq?+WY;7g9@My!HP zOxYPDC8#{cq}hYKzkBVhyf41@Bdh0aEq5e!@kbw7y<@kCts+^M8?o)V%&6dHbD}%z zeZzBSJn_A*FO)D=2gy{TxVO=vag4!7=7Y6dM<1LdU`z{bn7BYg`HYW3*X%uJ{&IES zGP8Ike6_zu`wQo=5O9-+o~4M$EHjc^@{S8_gm7S~l_Z$PIC7X}o@o^ea5(p^uQV?l z4Sc)9lqcl~)>0>gD{#3)DUAl28RIoH(HUaFB@_%j@ij-%vJXtk9`&1%Dp)5O*MYhm zf|ZtOK@=`t5NdTnLEfo72;N_={?J*$d+++nMVgs!uB}`PX68S%R!)NB1{~78H`?!9 z`=iDVqiuH%+g|@Tu%)-H{m}A9|8;Hk$ow$}@7;A_qz@lFujGLrd;IFziqe16^{dan z@BT;p?8@SMuRrl{e(}!h&$?^thKKBw597^WIdBpMA9~2yBlue$x_X+4c*pAEGhaP$ z4o7njjQQgifA!GS7oDXT-I1%uY=#Y z@49Ec{;I*{u7|Ilp=9GO0JuZoQ%4BKL5P&1*3n_qqt2}d)0njjov8{Cq35g=Gm1Lp zbBGCpK9DXdacOumSr^P&qAQNBDUN=4_F(WA(i`%8K8*`NNN#|AxHv zE{O1`#QLO!l^daN$G+YUVybwP4hkAr0%QcupmVJw#2c|Z2&a-^G=lWynrCJ}f=RMW zD}3y>|EGtcW1N5Lx!69oHh;%6ZkYf5Z@)AC;L2NeY|HOIa@h{Sh!EVA-BH`GPuEAI zeuFfp#1%q1B8gF2IF*S`!B}s3Ou-YE0x=|Jo+x9OCeEHmJKpewAOAaNgbI{i z_YaoO@k`MQyuL1*!`f8T8#Pl%Ojsy1W6ES3a@Lkhp+J~hol`c;m|FPgV5S;A-&px& zyx8q$xEM*y!EH(JXeKIoN-dGh(gblk!*q#Mrx;`|D3@}1UvE0_jQNioxE;W_>2A1h zj;GJ0E_IE!>c(!Qrrw;$F4zgGQdG<)MY!>}k;Qu*EVot!i05e}(tFBb$_u;fG4Dd7 z+vyMC65Z54+?`^5V}jC}-~kd|_Gw3LhAwY(XU*Zpa8iB`{d>B|wPt$ut-F6QEnfDL z=Rg1DFM08cUv~Vh%VRH}KZf2sf7A^(Kg%-*w{5J*a4Xz90|Azlig?95wb@~=0tLNX zSSC-lQ}d@@2b1x!k3T}dnh`|>5!{w_mHI7Go3L7+)WxPNpjVh7+2{yEhS{=Bpu$ru zGz+jXCVd2pnruP!{A1Vs5M1$zw_8f_=tDWKjqA(HkT;6rcr2@qOEJ9qr-aY@GDTGMjnMNdpI<8(id$ndFRB9%3GEaTgoR z5w>kuk*nvQfvcS1HA*@U*Mlj7eI^1{(v8Lw2w)QfPhqJmsD<{NYM76*EwUJ{7}n|= z)4^cI2Qm&x>=anFT5AZ*M2w0gBbeqUfxe-MNAHtQ5#Y0_P+FTU^M2Ed&c>=U+y_^r4rFO6b$4PP6BWf^T{{mJF%V6C%_mlx#&wanD~|(n01}I zg{H!3V!WkUWLzv33HlhuKr0foi2{rmvpyDvs^vM9A9%zw<}Z813$eLJh+v8;=ptH< zd~bcy_dts^O3tN7X^sq9O*{aVvW-}KG-bGduIbj1nfVtV^@jTfkGX$k6{g$#+28u4 z8&6Ef+MqM+!=zeHMf}d7HW8*K zwbmDc8UqpH&z{Ysa;be_A_n3pF)$lQW&+D+Qz>EcW=%L;I(RVDRG^ceKk|k{cUzHg zs$~GtIR{QkK?710(rEZ@wk|ukB+~`TqT;Rsz!(gs?QqOGElmT*2MAP^W~#jUW-tW{V+7w8no9;U2h_a) zJ7!5R$>Z*3!!kbMv>uF&ml zO?WFryXZmC2o5?G<_-l-5h0wWAOw~5;CWySqotxSQZHS^ee|~ZFVUCa+77Y-N=ky6 zmgUg-IF-7e)oi*sAYi1yUa&+n3`(W}Ty?<2=fNeGV6ITGXrMurIc0_Drui$r z^X5{6!4q&>Fc}47aEBlPptUYR?{dK`W|Wl)6sFQvYzg_BZ$FDa1XMxaaN)s5Xf%RA zI>&v-8M@mBxS4=SB0={Mh}LiwYP%^>f}pgSFrjgs6xan`MAYD@03U+M+wr3UPeRT7 z4fY+_xpy0g{WutZaA7HX80CaztHC)~3;kgf(&BTZpcOTi6Gf|bveF}{iogwn0a9g1 z!^x15urb^0HrLmC44i#VpdrBT3l~`+ zVE=8Rz!SxMRa@jNNm{_v)|(Vx799k_Y%g67KM(^jnC zyKL?3Q_zf477pIFviO7lj7@#&YnCr~+CMmOVin=gr{O10d-~h%k+&{7@cDgD`Ia{w zi`zf=>6Ih%8=i5`(%9p*U-1Tb+vUo_Rtpa;euf<=kDogfzjw~H?bklunQYQsI^ zNsI9(R_=^{Q&IGdp$L1VB;W`=INN}mzXO z|8nHORm|d{zR~<@6!QoQyjsoOrIc&{TYpfeC%Fx?f*M&CT28c|O zFiAxUlZ6>h9cMa55EBgacvdQ-5L0${ELL8$V)0b7_RymTj_!`4k6icLXQK#jt&F%- z5{(ebMJJNs+$Ro!s*48q?g@_jFttmCg2-^U$lbw-q80=xL@DKF)02iX-N~4nUcW;M z)ZI4XO1ny#SOMCSCzfTR5V(Lo&MIk$oP0qc@Y2im$}JdfTR!egGHRZ2{VgaOAeb`_ zWH8Z!8Adh4vfk=~K`hAj58goZQAQ~i- zjZF&c6jNn*n*RK?VZndo z;59?t;{GqJUbKa*KtgtoaAFvtxJJoKH>+>z+|iTqv~CB27gSgevl(o&^#b!l*Gd+JAKXdRSmx#s}aiWO^JXoJR1#OSDJ_+ zgu}!9+L>gdB9fjin5OC)ljRVYmMmqm&U#@|cEI8Rg*LJ+zO zoBQiuUOloq%75&VQNEabWp&TkT%>c+{p#v%`vtkhYrnR-8}EHGNq3+HR$#v<)1~Ux z`=k*Koec&<+G-Wr2O@|~J~B&zADfEI-iY#wo^}Q!-+09?ncX5Ey~!VHmfr|HRTuE1j|-NoSPtIc16GYqQNHkemq! zI7u`iW)b5M6E96)uNVaH9#t z7*s$^C1Oa9dCeh6l9`f3aW%w8P8GNYsci9m1&G9o$%@HS9u{G-Xeu}^cAH_Fct=R5 z&D$FTGb_OG5uL##GKagFIb|p$Xb{%1Kyeoxl?)^!MCHsZ7m3c7?8RSPzjkN*@e0Vx zA`&rMnqj7lb}$_e>l%iwHmtL8fm>UX7dk`5C80LqqjPHnmsn&2*Tz94Qfv1x z*NZ!fwWAf0R|}EAq~U;6DM!QHR)?;pK^YUB1UnO% z=8UBTL=wHH!_#KR$p&?F?7c5Il}0Hct@q#*gLEV( z;Z;&9l4L`05)5a^xFgig&C`B-pYd2($jf6PHEvH8v~1~Gf5du&jrDQ8VO%bZCnR}k z@R<I%+Z597Gg}>u9auN;$(r1Rj~*k3PE!Yc73Q^YO>*^{@tyJ>Zy3h2>ma0Fd+QVa(-t7_((2Dbs?N zQ#SOm7y5lQZo5%%g@6c^F%w+k@G&?GBb$?xIWif%r0~*^v&dj3;UasO?F%)N|8cFN z@^U;P{Nm&Gw5eP?`Nj*v>94Q*!avyoCw9qjI<^&46Gk})i(J;&xZZYRw%HDO+LNRR z2_%rvLS~hOP27M)cbanHocEd0=ptw)2EvGPZO((pw;tPEY69VzT1|=3BXLwu@ zoCBz>oQ-5mBwuJt$dw}ZUhrt34>8pQ)n&as8ErOtgUo7vMzKt#1b>xnl1?zp{~0oI z20o9P2T!<)!7*a8DzsGULbyLza7O8tSXE48nN}%Etx2<49}K!yj%-JE3&TZ-J}B;> zzpS8wJE^HqA!`R>6?&E?i1NV-bIHWsnKsa}JC>S)5Mj9~dAHG*t(uz5=y2T)c%g%f z@CWymGRGlYWXw_3Z4_v~^h z^6>B{Uyv;MN~LlyxtTnEfW=tujaC%Y1tuJKJUbJKmYE3RF`uHC5?w5?d zw;lXoMc?J2Z!vlL+HLy>srl%po0i)@B!dWuu(DORY%IvSjI+UJV$*_Rx)iFE=MWO0 zAorA!03Jcb2)bO*WEEFL;`R^BD-!RmoOK1~rLuQRHUUjZ1jot>c{DPU4d1VmNzjF1 z*+N8=lr}VbNuzWm1_;=lQ8cRPs5ikgQE(xaTa(^Wv3ZHu#HDYh2*lpRmi>0_Hxg;8 z^}(2O&I*eQCBbmaoD@9qnn)gw9Rg22KoF1}^NGcRD^2$|;fvQi3q1N85B^pK<|Tf( z^oLK`(;@e6J^2To^SC>YJ&#fZCSf@xUD@uBy5P4vwXUldjt3d3a+oPgsw_2)@QvhR zGA!VU4Pj)8&K8_=%;gk6u~tD@dGbpI=i)sS3|+<4C1dK);kAk>Wa>4SduIlI@fSC* z-EnpDbnoK+L(p*-%hB7HPaZU5L0%i4vo^3!WS^aDGv zLa%OCDnzazB7asPvR@E6aR`8_()LCz+sU&=i?^G-yjfT-6A=c>*h%ZT_Bug=IWiPbhT-u1=p%I`y;69W1$sKgFZiJn5iz!x=d-?0L1 zU3&qi7KYc9osF@XbsZlnJ0Y!B0;ZF4B4q-7U_+)-BpQ;Cmb&0Gr9@e2WK0EC2s~}l z&u=`ual2%UY9fd#)nq_f8g@-!P3gM1@G7Lp6K-FFZjIS9nxdB>N34LxB)3s|;#onB zV)G9lZsI(>ixY|Ef(7RP-Q4ih@o`#ju+Ugf8wE}%ZMpL)crBAuFj0WZkV7&QAB5=W zF`rUFB}~8v*Lgc7z4B3xyFTF_!O)a?s;1DGc27~;Pwi=exp);1R79Cz!ZD%@7hsT- z4#7nmMNA^boD0E)IEO8h42!)oCd&R$PAB7Op9HO%jcF=)mRSpuor=I778n-U=_HxS zFa*|m3ZHpy3d#+aCmly&IA^64q*SAhYYzs4v1zdW`gl|jE``lOQA$Ik$q9$mm$8_w zfOjK+9|e=dWMP@5ON&_i;-O_T86{XFq3kji8`GX?cgL-Ef65A-lpsKeNmzB3BjE`k zmNG{e3+6IaUixL)Qs8VSoBHv!uYZ5#z4yuL0$kqhtJE=HUzouaEgweeJFPcn4U>g~4(&CyE$KBq6$Fw6$s0*Xy#=Y?Bci zFXmraCHsV={R7ZnUs8Y;UrlQ_pBa?nDYpnCC26tRKx)z-nm*l_kwS;aNw88t#K3dR zG|)^urIAP#qf>+nqsXx(cdjbl_9SngT6^;q;%&PrrCSzar6zceXUZ8c2a2GV zFC-JaG6plbQBh&FC$ajQD~{FT6ZN(7s-k6?#ZMB;BsZmXOw%+GEzNv?I*x_L=PjN@ zXGF@@OW_=Mmc(Qw!KY5jfq5kcevva%F?Sx!eW_yZ-o?LbUBwm(pVS_apf;$`#FRb| zIS4XtDGdDP&5O{;e-m>;Wvz+%O|yb{(l^9TqWo|P@%VN z?g+SaS&r!#{_&pEQBFtgTzGG}0ZZmBAwC)rqw&({z=%=GFs~_h#xq`MD#=w1@Z#g$ zwIdaKS08(VaVe!O>+8AItoO+%jKjbTb3wBZ(F0@5=a7gL)RCx#kcnt`0T>#YiPgDc zZ@27yv10Gu+qc<+Ft|*U34u^%IPQ&Pv!xm!^O$igV|scalE{$I|qmGHPH8w3yT$7VV?!9fe9C<;oHp5Oh@MTOknNA9xQ zr(0eLP1#$p=!JO+ylVx^sj&RY<%R`Mge=~JFW6fitsgCQbs1MG`zqail-c0 ztDvi(I~R0}+mbbg%yZi4PP|aVS}YRbk_VGH;XH)syrA5qEFyP_rI0Y+cH-O>nk!vF zS3$Qs=!lY}9IpF;Y*^MBj9Vku?-iahm6D9ffO*sKMR0g%&oE8!P@GC6XT~Hcl%bWS ztDxI0bnv&F$&F1i?o(6mnvT%1U|Pv6B-2_XEwF5rW7$cD89-Ue61Qka!b737si3=t zq5HkHU%w>Ky?ABW+S`csNgB&cV%BGFWezHPW|R-sa*@3?S|&ydB{-|Vx^}^O-=zg> z@uzQCyY2GRvYj$w@rr-AMlLW7L`BcV)AO3^t{6SbjrQMtu^a6xa9~U^*~W5Lm=vN6 zX%dX)z4mOtyMCiv*q}kp2IYlgB=G=BBREH`C&rMVL4GKwqJx1}5T2bm*~WPy_`&Dg zxXeOfp(CWwr8SNYW|rpl(I&5VS;44^)=TFd0Vm~M6e=smgdoOxD`Sk{zAUE&70jB` zA^w(IAA860hOw$L=jF_eVrSS-l(dFz7Dj~&-cnr;x9D`lm! znC8N=ouYC8#(#(kR1mcx+-TGfDovt#R$7eR;2 zO*T>LKuoq&I03#gI07Vx#GR+sP#+2=t(7}b_ZMqFd#M&o;69cMCW>((sVPZa^}?*z zVYc0oL$h93&A1H&Pdj9H9Je1`eZu08UJ49e7_y7c{nXAD?&sEi>e4OFEmJct#`x2UlfB2u z**xLTt^It(NyW)I?a5zNoa{eNw$~$YLw6Z#!gpP3vfdts6h*V(MBB);AR*-SBw0l)uaZ+(|f|LL6Wjk~7 z(S!SllNUZ3TX=IROdu(02DeL{U{+_TtcxTHr?t=?Gn*^QQX!2odk(4>Z{O!(8lp{- zMm)q8rC`~lg!=`Ef&VGyY!1mW9Sf?o(#vN}mk~qw3AX!%ic!fKD{FMUyTLoXF-fwG z+_{{IG@80hWztmS=q!uIQSNzwW-@T2+&h8mR>JN?^H=wi)!Q271^rdH>Yjyk@%VQ` zcU~&=wuKqxLY0ciR#uFkP&(X(`O) z83|te%DdNIxD$T=;@~CRXIA02r|_FR)P<0`Lw1;8F4k=j36Z=U(upy%iK8>x-mH)M z1+^kFYPF+=XN6_KRkYk#X?<`~DthJvl5SFbM2r!BS>In`9MHLNT2ahj02EY1H22f=Vpyv}=2~ zSo_%bJo*b8)AYX7w>N`8JH zd6$Zkvr%#`9r8ccezzj!nj~dqu;|3qZ$1JMKZU@b!2iqk*wl&b#{Oh;G-jy_(H525 zXlaPjTE|EXp0uYT=M;2gnuI`^j2>%M&cC01;Svyce?{D0ChmBVRmxPkS!;HNjm<>U zY}iWE%_2v`g|SK6C^V5IQIou(QAVr_>pVW)pb+|F*ksRKWOa+(#p{1(?a2Sn-kSj1 znqBpMCB1iFTVF6>A%QG)3t>S4Mqg{KJ#P|HHbSUJRT<(?*to(T&pgkE3Ibequn4o)lx0nHea5SQb`amqLjk{~u_5Sqmt3PIw4A#0yEs9XJBzwzF8hp(U1ec!of z`u6u*YyHU2moHSUmHlyCA zH)d5v2~kR;jrUwQ2`;OgAVIKJQ*>s=q>xj*@tWfY8s<(Ca}U*MT+}%v&6K5o(`^ix zGkO-8=RR_mgDxw|l|s<>8P44o{;TWflpnZsD^wk}pYz|9pV2{zq#Sh?22eZl(x4;7 zf98-2Z?h51L;zPI*8+=6e)Dtx;^B8a_mT4T9yZ7W4S%-AG3_l_M#G223V^)1E%gOB z%Q93rQGDbE&~`N297i86OhQ*4oUO z&&*22D?vV|dhPu)pGW9DDC$EQmU^>r6K2CycVerj`|C=Xn1m%DxI`bwmaGe2kYg1@ zm;`R=I*d%FQta?kuQ)u3R&{vrj$2ufx@uOt3-7y#PqmcYUw+>W&Nw}Ixymd_CT42b zY}R1r6UG;MX=jUPtKN6Q3}YwWe{p~6Zud9efANXCK=IzRHhkN2c8`7F;v=`n(oe>ZM;z z+nlvWX==lAF00JE1X5Evl$@EKLP|tIj3FqBqM5WB$pR8@g*<-OA-zHGJff#51VX*i zI;8DrJ|79)TjRXaEJXo9GEmkFS@Hv;N~$C%>9v_+VNgUJagX^@HXAg_4vENdBp6O>2rtdnZcYtXx6^njN(KfT$~ zuEt_8U$V_??tSm($E2JaYTm!&n$Y)jPjAqDDRgH zrKl$z!mGpAYcpJq^`uh?r6iQ?S2=K0E+wHXB^Ic1rgVc@mLr8;=LkJ*ni=JWyxVnp zK!1>7y~UQ_uK0qn05j~(D@tlDB^6w|h)x)SkelR)Jz)jsNo8f6#WJIe)-(xjgWjE> zhl;b>u0?n0_%Xs`*m4SKhW z9$H44uGAKE>y`4dzn!KQQ+!@28=_?jgJlLZ0?*kvj#7n~OlHz3Qhr($^yr2(=r!ow zK6;clkk?zy=Up?NSw7>kJ?l@a#98Ey#2ydekSD_|Ca_vDuMDzeBQMPp_U&Kf*_~1T zP=nr4>=iB7{>qALjzI;7xikPkVZ4+g0j0fOYbm2NRrw6`D_UzSbe#6Ksj&CT!@vJ$zTKOCE`k*AqysE6Zon6L`I?n(A4p6t*5PPfMW|$!k!*F>{bKJe#6R5cs zs_yZw8%#%GpkUit&WhV}0Squ9WWpGnE6Zm-LW-2DIiHvUPCCyKk`%GeERuhCbZ+l0 zfA-+KPOm(A6+Izso${!s#sjtpqp2UPhZR6X3a?gxagiKeZToI00hQ~s$za&)R|vufrW_9;Nd?Rrt3pua45YAu zLb2jOi)gC-)|WGj-aButvH9(ycls*A+|wlEMW26g+=VZWb8~Tn%n>;&RI(gl>@8Zu zv7C?n!fxB0p09GLX~j#89kfC6=rty*mB~>?6`9jHS#+g=r4{__P6RjP9VK~;GIj4K zG7JSyqB3HHvq~tg9e@ymbQ-q|t;?L0nMn>~wlRZGF*{MnV`q1lT|?dxk|zwZ8U{QL zJ6^49tK*@K6_b&Em6Vg@^(b-m*#ss6j}kR$waAh;xoibMi^v-C8uD(FJo072QnX#J zv+qq>LQXoSrDdps5i$tJc+?U~gbo#^oKA z%R@%#h2-@>OhUiI2Dv{sgKlR~Ns|rtV2w-OauEZEoVgK!d6__I&O-FA^ns%c&~W=v)tF(+hM0Y?Y|vatyyxjZYO zad{1Rx9#$n04{2rig}0e&c^jquQTmcAyYgBEl^soH9CvJminNQAtC32$vi7BG=Zns z*_{Ax$U8dnN|_2>i#V7hmPXh&ahzA%D(ssKM9N|@$LyW5frOofXp&PXJ^eo-lV$UX zI>WW_8uE^eJk%0F*Mru&yUFcUnsLzEL8~%8+b9I#7s_5I5_KwpP9n=Bd`y&TMC-{h z5_uZVZauPwydxw}D4}b%UJk}B*5R{uf7$M*O7b9cq+cl`lCqS~>dcf+!NsVIlwKQ& zft5|2lmIv6HRRnMd7v2=AXzQhaxhCH>xYs>Qgc=2E`yIbCSz2h|AwS_>FeV-4@NR2 zP-z_tdD1pMuOaUa$fHC;)I&8?nGcN~gn=0;UpWp!P#o5Azq77%B2dgh4xS$Nl6h6a zZB(T~#Tnkn-jH`RBmR0m*!X!Gb*7K~|+;F-sa zoJS!&lmZp3@p%n-w@DrX?i<(E$$3BRtM+_8o|)OYUvaIp3@kDgWXgsSq*jsM6TxI3 zR4NM@S!h|I<+ky84SBagUg;I~8j7|+UavO2&AdIE+i{YM7TQz+W87$lT%#sOrV7+~l4)Z@3tYd#liyEjjqg zIpd;_Wz#XbAP|)z(kPn{DQKHq00>@DSjN&Y`plB|sfN5GA@6~&VWlRU+w_N1jySL; zEtX+YIZ8XSb~X@$ETa-p<&XlB_hZHebU8Sl%h?~M&+rM12D_ud?$Xy7A%(8DjJJYM z+aSi>F&ps8Cku*ml~UO-khxGQumD!ez>TybD`bg*+H-eiv)X1l<*24p%3fqHdA$tK z9*fi-^Uaa*ey(|rIX&+bIt+b;ggZ+QMQ z$$Qfa|DXZyj=(#sp!|FTN(0J`K`HmFRxGICoiK_eWxVG;FbP7+K+)RAJu4OFN! zZ?HOpSn1l7nL3^X={<_3HtYTFfS`kNj%O>m3n3+lmC=CrmcQK_zxklPjMXn5{F`IK zs=WT;n94jQT_M9@QKC;;N~t24=*s?nOd88LkeJ}w95sJ*&mSx0%}v=EPTFU(?a!QO z8@t_d25MAk#|29^M;Vk zwY#^agDcAK*Dt=m;qAon_9KNg(7?e`)CJaC%@*4M8~I6G_gfXW!voID) zl=9B`97DE2_y|lF)_|WF);@Xh=Ni^d9&5Wl=^Q*u45jgXvQ(8qU;wsGDGfK>u^jr& z%BnD|m`gD!0m7sloMK8w)Dk@XL*ht!9i=u*l02gD2L;AsK<&FPe)O+iXUb2*XtDnD*Ts>ay zp`^Q5mU)MAk;XoZ)_pY!Nw+J{gJja=oK!B!2)BtV!C91?e)P;(q(s>B(%n|`6NcyR zf1e*T?&?0dt2ZnUPNcgkC9VWOy%7D5o-9^+fvmmJQ0eHIjbt5B$r0dhnE zGOI{Z#Kq#SuyI%S(_PU$6k6Ci50~4ix5JI=95pTHuy09-($zbmfv3Bz-@+MH{5_45}$cK_VffA}pY&Rv}g9$tXOq)9y>NaUto zllbU4Y;8ewM=Pf*6$ODH$dbL2Nh|O&CP3+gfow4+r=8O1D<-9e>tOXW4OUOXs=V1N zd1)S{wGmM%5tEVDFq>!yWg=x4QZ&ja>q(nyE6;wgE31v4{knted!=8#ANc%O33OnA zF@~~sTFs|^JLl6$3*D$ynE*Z*?yRs*gJd}Z#YJxE`=tO%1@3^yV2dv2@&ppN`}S`; zc;#8g>RE!_2ksMAyD$EZ6X}u83lEPK{aUJ>a;a;%ndnt-&>P$NfOW@MQ3z9pB3!as zI~xPqWSH_G4TZQsKXJzu$VkDCV%;0wqd{HzK$n)#r3{?Jdaz}|@)4i#tywRpp`u`CSjwQ#XG-!Yy6J3X)|9t- zpS+4Hf{GzGQSF5C_DdIkCk)ubOfa}~55LZvKY z3PU!=c}k#SMlFnrnoG1~p~hLwU6$q8m_+%kdrXd#u3xy1bbZmQ6ta5CTbsmrzqRRY zWIu|^a^bCTJZSH&45kz^3f3vfwTcl;j+iO0EfY?HH6H7!yF2|GPKww1$M3k>RS|Ojd2*>u&qARnK|Zs&sISdsC9_q%~#+q0COZWTSM!=n#{q7@vwX z0&`-d(f`&^cA_XFayVmpLMN5md0j!U2tMv&vOLpye%YZh+49T;0l4l+~p zMfxWurHh7q%7QW1;^cFGun}AhVOI#-ziI8FQ#vT-Gw>KW3)%W4 zToj4222G()(J!q^l|=(L1L>m|KiPnEK0(_3;~ze#uPzLihzRBEp9WFe(bV-Z2n@?^ zZijZ|z|-SCql$`CRAf9jCrz~E!K@E}A*C36t{AuMdb^7d%;>idbLJc)UJTKt zu^=RDrtDNvI1D}*;gn+gokP47E_fzM|Dqx3DoN!%YR0o?l<=5RicC2!%i-;ugC&EM z(kM}uf|QAsr6-+N>~`Pswu6VS1JnB(n4SvL?qB{0joHa(q&$F8d5+3x!()z?>7*RV z9wxXGMmnRCVg@{;8!AEE{o(Lihw9%pP~C5+4ljMh&m4aE%U)P(2A+Zq%cNzTlp*VE zC=GK-`Y6$gj3BHb?}$pW!;7!@(K{e<_s@Qeo^?!c{r;c3;RNZGv7(Sb*GXxCV^Rnn ztP+$Wh+rH>uS`gmR33MfrdH+bWWlgp^h4;A4CpXe=2Q}34M)#%Ic%q+b-?@|ZgzGW>(%te` zFFbOU@5kw@f@NF?rt5Z>V=v8Hov9uMBL|hR+B+?Qz7MeM1AX1(j8&kcOU^^0%Mm=M zPgl>nIz$gEKzgG04n<^K3d*Ar4VIG5l@b$5*~Gc=rmT4@+#Az>(69ZX(~oI7s}8IG z_MykhB&7gFIlrtUT^sgQm~MuPiRtPpdnr>+LHf+2_J#?{^%c{`Mf!3!2OWZ?ajiHC z`hZho3o7&k~T6SFwcx5U+5yBw7Jqo z;}z3>@Nqy}PFZqUi_qb0-Zfdvyj;Sn@;B=9;kd4)mo-lc~ec zeeqlNuX?37S~yO3(aD(01bD~0@E{Eeq7%xKw#Al9@Sn?Je=PY?iWP$^$RE%Y!Q$wjBR%)!= zs3Oea%fIvo4uAjU*M^aC;PrHa6PT>|dXr$_JErnvhXOR$PO4zJ<(z&toKnfad9soG zNk;2v7`0G`FaNS1eA-(QUiH{^2dy*&7`IHan+=TtOHoFpP>_Rn-iOGv)=^nYV+bS- zh;Ex~aqMvT#b17S%{wMr3Of)UF_ALXj9x)eK`2T-qER6+A5+qaxCF(oMwT*^P`(h8 zwkAQ*rMH-j_%aS!n|>uhXS!QlSV`_JFw)=X2t*rYrZ>%sr|c~+jc({I55D5Rymoz* zOH1Ov?kTa%s}4(S0cyBbl`W?T39~?<$|NTP<0*Ndt0Q|-HVQ#wmQpI$XPzFo=)GV2 ztnW<>G4f4h%`StqM$*^xgqu@3in0?Z`BY9QlHU{xKfN}XAK%{+awL|Fk+Il`-L8by zYO`7-Q3d)|-cyhWRvK5466WNBzr0#Si|EV#Xgyr0S%rq=1?lqoxy2g9y*Fq_$#-U!f)u7E` zE;i#dnTbVZC??VSmH|!RNjXvgp!h_?5TsQUIkbp8qNgWHemI4HP-aN>-VVyBa#fpY zzq?$eW!fqnMKP)j+7z6y9Hpioh-0U@qV!7tukY-*i5anz1_8gh3o$4IfCtc?qwji8jzCmJ44EE~c&)8$Y+^DbJ>DrFU3 z)ftacU?DOjxtUt`qn$B^8*h7~*|J*+#aIbDhL+tozw6)?*Fwhb``&eZHU0EBu=`|ri<@}x z-PgaHo^-|c?%r1Z@)WPR`}glYxF)lA{5|yBD{gG}x65BX(*f;1{GMw&pz_YXmxkbK ze*fL?eOiA1(%mQCd+@bajcliWl74#&wz2!spQMkyLiO&Ce)8baYcrX}Nh#8dGwBVW+$y#4=s!;rVPnrL#A)7_ge9?gp3qHtmm0Rb(V=#b1pNP6!&h%LsPBIDr|AN2!sz>Nyu#BkdhQtAU*NZV^@F?DfBZsy zUH^GYP<`J)1JxOY>cL0KS#Hwf!q!{0gza3UpRx^dSe_Seg~3veW4Y%fY#qf) zo^+`Vn_12QBPnM}ZSMn^fA2hid3j2N3#RHtp0?Dg*TN}Vb^1zIlweEAfYi67EQxvR zqoZVx(vH%tD@bj@_<&fZL@saqJa>TazVM$MJaRwae8<5}CvQ(ToM|>s*$qe2XQ&{c zw3AbUiS=U2$`r1X0y=56omYaA&BQY$vRcY=E-+ByY>-)#f(I5LYm(>65V2@=L+o)9 z`=+z*PIrIpe?3SIP5&JMrF{>Za2dDt-7FnNniKDuX;D*^SW6Eg!vvZ;mRfb+^Hh?b&E z=~2ok@7B>vhne%3lh2L?rG$*h6ehvm%u_a0HdNjgl^_*owHx(AcfLw#+a9)-*shd_ z&Veyy*(Zawnfs7rlGcl4%c&Thtn>S=mT39SC(h5f;%unAXM*tYD~pDLb6!t!l5*`t z9M2L7_eCWnP%7z@^t!BYp*B8(5lQJFUF1=^lq4v(=d$sZ4VU-MTkbb8a0|R1#jTld zr%N0BV7=*gDhUC&a@i`dx$GuTWlIRNlJZ9FNsA(9PTQg@(TJN-`Kt|;Cy~leZ!SSr zPu8y29!-Zy43;ai+*Vwe5UfI{gA++W^1{<2Ia+Tx)6Pi8nM7T7O4#e~l-R$wV71KC z#WKaX?oQQWtzD&!FsQXM%uv)tdP|@@Mw$IGwh@7qRql{rzfO6PmF(W}e)`Kz z0DtrO1pFF6mhl=)!T?L>w7|Axx{9S3l?AIL7pgR|G*}wx>C83fWrv%{Oj+eCNq;}V zX0m(d&tK1Zf7UPDPv_lWc?(!Fv~_Pi9L9;5D9yGS?Xcp(TY*k^tC=uNChnD|=vMlA z>Ws=K%22h)73C2PmPdi*?%)&W5zF0o{^E(21J?)Y$t!yk$!XhqDbr%T^jqwXrgF8A z6=l#~N60E!U({mIA#*Y%L)nbWF;Qx5l1E-y1M)P)@rKM3NakZ#_s1&0dfh{=V6|n_ zFyFwqTgpl#?QIU$M#}?t%wsgdIV(wR#HdkvP~a+LRy@;T{=zTQP@QZn4;w6x63a)g z;6>@MtlfMZH#x$hz0y9FBM!`DYs;ouPzgEFhQLdyr);6@FyoSBEFAuYFZ-d} z^}65q!Rv+bQ$S_oERWV%{`80F9$W$HiU-t8N>=wv9uAIgL>o4nWv^m^a^;lEE)-8G zmj)Y!ljx-u`>iQ?za*oOQgwl69m_wycs{YDyYWyB!jeCVE(j59Hc6_iSt2BuRrGN3 zL2%GYlx}D2xFO#C^^cx?ulV;4ZdlFw%;UHFj*lPIr;Don5l&{y3XL$emFy^5+0e1Xi4u0q6T@XFB_c4a)>!FbO{A%Jx}pm z9ZNjF^jlBK;O{Axk6#-IQ1yB~+Yb8E;jFbDb;e_;kWzc;$w@;fi$pSIGA&2~vQe2{ z6@||!XkMY_Or1Qs-+Vsl-pSuNo@D6`xx8k5mO>E}(q}L%A6_zbS&+c^pHTDR45W{8tx$ zyP@*9oaGmOif+iwfci)K+x7B~(Z`-fp#JT}|NBUQI{e~GkI^^!^Sdwp)eDav{vVhA ziw3Uq2iM0h{(t8euK9Bx_|Mj))W_lQRnLFf;qzbklHIp{=)$o~0-Zb1e(~b>|0mZ0 zO*NpMI?#Uh;r7X5>rXHK@%eRPpL))PhsT@4ul%wv+CBe67rvnUaQMC#zWDGp&wp?a z+E;$)!YdEI>4o3b5O{}2V!z<$Zhj>8PcQyyLtsPTee{99cInm$r2Btq_x4{Vh@JxA zqevOP1p`=b)>{PZ!D0hFF=(|b9kO6f#T-~RTxCUheA!7K4La+D7hESHvn}-_q&+usj|wwrs4z5=`G!OeK1CSsJ$qgvt=LP~g4MF?sq;sS&BXXO)l=ZlxsX z@fguV`-@@>h0yhOyX;Tccp|bI>EXy#yU+Q#i}m3jzT!&$)Q% z(Ob8Ut8e-+7#Fn_D#~1nNCpGiWECKk%5<)j&W%<$u=|?E`jp$!?yC+i?OS2&-f(c~ ziIYO_&Rx3n&}o45pFeQJ9YmLF)jML{(gpIh64A?2Vb&M^;qZ0O+g&abUW$a5WBOdyTZZcxM!kXSK+jEPlz5Wk)Hw=} z9>}PYq7bGqs34qk+?JyiD)CfmeQSG8Ea+)~AgH?SVKH9Hjg*7_vOA>ML(axP6f~$L z1Cq>IvVBQ;h@M50Q;cPyz!D%_-MS%`4}SDnKNtdX!GmX_=#5x<cBX(`(d?^ux+ha#R15tFl9C7EJ7)OE`89bOKER(Nw}0r(UK3eg59a{?EcJWUAm3< zvwz9Ae-_=Svq9|J?}pe%OLqg(&jM=EMwm}=19EDHEY2!R-k3Z!DO{4aiAC}}E(F6R zW>0BHVE^8~>|54&JXH4TcI zNkl=;h#3W>M35=+M8T)be6ssW`xFnaHt}i5JXd7C`#zAl>wMm&hwqTLN3V3JK?SmI zOOQJ4!{1h-r7KWDxrPP zDTB5&a482fr2tcJ!S&~h$uRY$?2NXuBE=C)tE>nR3uLbG+#9KJ}tYjXpTN(7x+#pnc@>>H=d}Tg3i!J8}J$AGW*8Ze=k_Fu_O` z!8o+q$zV;eNY2} z8fwn~wR?OlY7P|jgzYR@Pnre87UQ#2xulW#0MXdwRl!Ai;2^c--f5p@2r1euDus+6 zEB3n|{tGl34Y21HSkhUhHf|>8-S$Lo2HV+c(yz3XLOUi^RHV*WkkV5kt4W}ltV7N= zV6x6-0#;%JYy<4E0jmT9U2oT|!Mp=w)$jL!w^K#lwKN@yrYz)m7tnYL$1IA{pjl@C zX_fRCD+LX(4Y0=sEZ;XL(e*Sgxa81jtrmPEx0}ifPysaKUTa}I;i`B9K$RI}?F?kb zNNc)E7->#8uM|9^LL}g8Bk$w0t9`2khVxOfFQA6y_hH>uNYh*eD?vo zbUUX+8f@iNPtw_-(E1j*=l0u8iJV$4e_mOFxY;-yZZ=>Rd zH`q4V-afYf?yjW3%hYl2DmYQZm7_$6$oAdt2JQ7)kA)riRo;MERw4w!TowqyNy99& zPDop}(K0Os$S+=Fs-C27xAFnG)(n?-nY!UAaXO=CZvJiz+acoKBg%8|R#yoGV8L$&a&`G`E1Ih{v?BPZrN$ftxh^KHJkmpq4Y4PM z*ei>>LQ1J>2`*3FcC?+E8Eb8I6$E8JQnMH-tfd$rCvTH-DN#-&2pc81;9yH>a&!N< z-~Hetmu^~nssZ-w0LxI7BT02PF+STYWv}0x4mKVtCjg@gHtr7}W#=#nL(17pBdp87 z%Yu^Efq>Q60NVh2Y`{th0Cjt=7K83;+3Rkwziu z-%A&ylMU<#FaE*T-=Lg%1MDdQ_GAFz@c~L6BK*Q-N;`G#c!oU1Y*F51%cJKJ$g(n)q&Msju z*43uU~j@xBWF5o`$pI z=d66q@B8%&S2+98gO4|yHJsts9scZv7w-i#hf;rz*WJlRs#c#3g5pCRbR`7J7&A9f z0T^dXadgWQlQKfIhG`kSQ8AQc84mvj`-6Lo>c=lOsNN;2dqSV{;R|^9Q!jn{smFCU zZPB;7_n`e);}g#tXpaDhawdiIIxkmUzvzxNS6x_`Z51u&sZ?XPG6@ACvEZf6l7oy= zT7}*UBSox?GV0i2{qciOHn5%}SRZ-cgQcxNsqu*%S-l;%=EL3`hwJXfwz};~b(N8t9XqaXZ*V=^xIXxV-5<*(Sy&s%iiZ8*dgP6;-~IU!egESI_9q%(Pb;vG zGlbHx08yG6d!pT2r3G|bdOex=%4eq&i!lXTTHpoGlQt$(7L!?^;GT^xhtFhTk@Le# zU-6UA&i(GECX@y?yf(bvIj$$!IvMtj>{T>63OQ8O#tFcTt5P13GI`BxaNLSV;qLJsY|#dQo!5bUg}u zDab-*{obTC@ym)dt-!=Bqf0b^$uq0TL}b()luwXdl0JsAfk(;fTH+poANVL;*wwC! zzqcfMpJ7Jyx+ltjlbtfgYzMh_(^OjeNo^@Pq-zYBVSwby z_zU3}4GDg_(A9%a?3b!Jm%N^>`7(&jb~M#`IN44sDUHbVW~>~9E8V6dC8PWOD&A;E z>OL`g*XYUgxfMqtn=by!g_rDpsXTH!w*Aiz&Y^9;=t;1p=p;8>)RXQ?v$aKVBjy6E zt5Vp4DH0YQnD-Dl(=;<-Lq>U$(i+2=|W74Ig{^e-N10LaWg#?Gg3VnwYD-wOa9qL zVKFfZ?-`sE!9>T%LvsgV&oOH_ZaBXG95bl%+D=g}`@@Z}i`J-DF|UjaMq?yw%akuA zfhN#Dq^(I@N01VN61HMW8{2T)aC|>GMh&Eof!BH>JN@i8aa&OVY0Dxv`?;Nij8ULth(cTE zQD}(5+mKTTn61raE`y$^z&5&~;rM=YY`8{K%l_O4J9b^chU3+ESfwl-lvz_5jRggy zF#_W@XL>-Z;DdKuq{1-?>}I~=WN`eRgWo(KYnkPdC-;jAfLvfb$Auej#lkOIvyohP zi`oswfsg`%%#w@18KXqc#^g9jWb(r)Wq^utVek30@%>&Hy#cx>bVc)>=ZV_g?|$#4 zC-3oUre%g)IS8oZepB1XEoLY+Ur#GdY6JpTfyI={$!&yeOZ_3r5z8zdXs$tKTPZ6< zgY2y$`x_SaM&5TaGMc$rC}!r1C*H=W^6CrNEWrAwp8D zG}$6{tyK-X=Z4)seD>MXv$v6?0qp`KIQ%?(aQ{&s z`IQT=IQ+bWx84gLPZ@Qu+dcN-3oqEch5mJIINtqXx~})U^xgLo#-HB5v;Qc)*%yEL z;dNo$f81}EXFQ`0-TeTP-so`#27!Ul2=&s8bSrf?gVSrRz_6F~|Go*NM` zi4e3=5S2HYUe3$0+%moWRIXpQ``%Anc+u`7pSbY(*9QH$pQMMM_~eDp+r8zJ7oJ~k z-0sIeNzi}$S3dEX7I5*m8vlEe{qGTLi1Mw<(|_k<7vOLKfB!!C;D*4HP2dqLfRjMr z?=}RU0s?O#?4MEsKX&m?{>pU-l=p|ghO@KE*-sxFHu=t(%y&)!kawA=H0YjDbgxx2 zmQ2;Al`>5DVxhP;qYke)c!ORUqtT!RnOJrnOO4i&PAkaCc*{+!P-uOf>f2|>0)D2k zfHP_VcRX2jn(+OOOAWpazQ>2}wM8uCb-y>yqiFfeOr7g^TY*OtnO8hfJPDw^6DCC| zL@u44wc$GQ7>s`ABG%pd@HaL_&=|q-7(scXxBZi+?<2Td5&rrH-xG`Pdmq~`F(F8a zwjOrpG7ab5)KvkpPZd~hmG{y!ZLDP6vFIJ>1dy~9+Gi5g(R)+T8>q$tu5SVV)4_K) z7I1PcVE4RVx^$1d_vH_MaQ8PpMi+PL`Tg6M&I-RzUT&^}TnJe!-R_Q3r`NKq7yHpw z(nRh_`zh;j-&C%%NJ`- zkI2@nG7%gHZWFT1VvHee8=`Asn+I z{F}2gzkYK=*nP#v8%KWI{Qgk6>=$2dqA0=EUgy-0Y%^wlZKq1@zV0Uv@C2g$yA9fR zgEsN_&?`!nmEc)&P6n`OBC1%rKWWDelk}Lw5Mz)uy!`NUU;LIcZwI^4Z(MruNhSWf zE}fZ)_WMQrF8$V}SDby4KOkPR&!BYa#3`}vw!|=W1Z+CdZLA$sCix(|Rl+-MeGJ@2 zB^(oh2bO}>Wc{iXSSPwJHyS#5*6`kg*MGzFpJ@$mdf^{5#?TnU6=OJg*#1$2ZG-JG zV0-y!7M4VBe0M{CL;umzfAuLZ`~*GlM*FsVgYKU+=$>?Ruk95O+}5qEgo))YQJ@JGf83E_i;K{no5@* zK?<$b+H)lSt;s^5_FjNVEGmnbl#XSyjA;zu83ypqgYWsP*O`CO&HT#=v495I&qVg$ zohM|U1Opbz=4hxn4E0b?$D`a?Mco=zXc$i*JXeMi9EFbZ8zY0(;Dkqp5}5=q%I;{q z_Y0v7`wjc|U^fisx~5FMJDjg({dHQlmn~mGv?)oRv^K)Th+LynfjiB;z!Zd$BJzak z7I(vl3lB7YzhVC*u}`9v3nf|2T}Q8mi_Wx@x|_b1m9|Ee{oPUcOwUOvOG@%6vvY|{ zV!reu(i|EX4m~fMByFXQw%1oq&wJhjHxv5}_-6q8e}C|X(**vvK4-QY#S5Q*g?|Nv zcinBT2K~^V^;==RUHDlQq}3b}a^oO*BckRyN*}=_;k8UoI%a)SZQrlV@CJT|Np@Y zA2?P1|CHm;88`J3VW9LHR_&n}4!g0k+(rpTW-GNoC3qBEp-oYiDal+q9Xg{KC9X<} z2LA^CQ;EN3Ob8J5rXMndUmm55 zpGm3e&P4I`&~@Bo9w(wVuP~78Ch3tOr;tH8P}wr4lD8ol?nFo-@gOUULfmwDw86i@ z|77A1LZYgTRTtY<2jr~r|N=*rai8C2Vi z2|Qbk^|PY5_a?x>0z*?XJKao{y)A@ociQuz(oTx~c6B42*BXr0n)?h@Ah^X`(|$3P=P#Q;^^A9hqh4sDh53C+%%;E<2MYD+hLz zWwv6%D!zO2S1!ow8v&_mNr|OlmWg_=Rs!^XGWOmd(9Qh$MJ8$Vv_Ab+?0xy?))wVDG+J(lp?~85IGi%E9va!}Gok_;&z;{-0W?svZWfqNfA-|(tWZ*ME+y8Fnh9(c{urU4MhEizsYN3FCTvDu_G@M!?C zqT6nRP0TSMrxAs6+#(2-jdaR@BuAM@+PkXU&}JIo{u%A=U9W!NYCwKy_lZ~24StFt z?SA9c4}8Jy>%R7ZhZ|$K1!F+E7*nt2y&fg7+xgIS!PSix(Djd*Y8jBK`;t0xWA_xp!J#jy;A6>l&LiyvqI$bL-EboFDptGcVZ z@62>hRaRx*d*goJ_kVxfi2tuH)(bBw5dmaS)>%$+3UOZN$ztGK%EX2=^(LvO!h=8s zRLD_b;Kq444+le<%#v6P8WE*Nq&l@PC=>u;Tnbtkt+ceURsagl2&hyrJry1%Dm{>adt1|7J3_Xb3U5td$cwFc~cNWO$g! z@I9x#?@fo0!Q4mBVS2DWERSC9JFs4@**#bvF0lTCI|l1bY{s!8_Bof)qxRmT_62_6 z=mGnWj~lRe(--%MeOMgqx1H``+r#!KVY^&G0H~l{s7%{?n^5*(b8~-%w!Hh__h z1dI0QIP!0LY4165q#U{M8=w5qEhR86MPGDL0hEmriqgX8h}qTZblN7DgKnHtbPXH2 zFD^$J2flapW*C2>Wxgtn4y-KF+Tu+vAWE@@PrWEX0ZX(fO{1L?m&ou05G0T)3!6Oi z)Iv#K2x~%JMIN0mPGHi($_7xokfem* z`Rp8lJ`#@c`GdC#0C+f~OuAO#^k6eN1O#aVMkGl=5lflGi%STPmXJ@hNXi-KS(0;d zSSa%;X{>kEYGsu7I>lnOWh_Xz6Xu?2U66vsJqbzLk_i@7?S3I#7RqE&8D;Vgu^|n3 z7{x#4RYjrH=wmLz+3c}M8I+I?m55qUPL#<)XfzVtk`z4Ak|{xg&H`2D&m;&cSzqsW zPKgNlc38?58(ZtRpA60D-Z)%ouabf@XDLI>vRI{1SyS8VmVi#E#Qf4ONIHRW+qpVA1J*t?jHOW|qtQyLACR}3r8+2wV8a%|H zr85Z;EZC9+@UH@J$oH%~o<-58x`0QaW6@v&AERjS$()74Cc_H`7|NI+yU3W8+LtKm zUOJ^yV8sif0d^vEMPBM#b+(0>ZtCNLgx*G0&pK8iWelwQQF~H8nMMkMaw#wTwl>%p zc)+sDR(aGx_z;+^rBt63wbUk{Hrh8NLEecFb+2Dvfuq!x<@|G%35Z8h$5dGS85`ie=gW&J@t4jPN>OJ9l)~E=ox1wf@<)J3qBsEStPUmt z-+{!#U5jTJRZ>D$;f9zu*NV;+{2CUBlo)ypL1!gnQ6(Q(E~Ez$LaDSP_MMG3EE6}E zo_c$og5-n^QnLv0$$=*HObJa{ilW&cJ4v1dOOG)4N>!{am;Ya77;l?U_T^1(*)TINqJRA@%oXVwWfAB zoouK1&gRAlpzQ81pT-5B5+f~gxJgDNCaK{ZLPwSq6i&M+85mU=`OY1IGG6$^PyV3` zFZ;-k7RE=A(Ky5I#(Tyz=PfK+wJ4NO-jz^QL*&>faP{$d`n6Nvb4zO4(I$`RC6VmL zo6Ozg)4lG`H&@PHt!ACx;ukJyRJXCUaz`HM$fc+IxCx)gorp&F4<~$0*VTgVPwS6w ziQ?TeQ~uRkVs7^>)0Nj9gJGbSoR7q)T!rv0V$xVC%fnS+eJ1BgVG>=<)v>r@ptx|HFv?O9y_kT2X);IKP&Z z1N%^lmcR5qq6?h()-`uIIJRIYkHLbykS^V~?Hz~C|J$3)mG(G4NjU!}7gHr&S2_Dw z$h)jK%@J9YSQ7&ZB7otnLDprTd>f@bDnfLh`UNY;F;8+=Q2s?Xd1}_9{KTQW`<1^} zzqy~ld&$w%lAfkD^EAh_?Y7+Bd`o3tD>jMx>`V%@BG_aV)hP`htSFeV7JEvHQ_<>Z z=ty?YKA!_`Km9-V9OyZ4oE&&;S?)m!KoCl_o3OFJkr$&i9IX!qlp6N#$&eADB#$n+ zI%Qu{l)*CarPV?R4D9)vI&F6(4}_mjf!{pUQ=q57aZ});M+-8AoTPR(gUwR95|Ydq zlQYRe<`)wNNfqk$C|0#SAL;M7_hNtMypc`_Y0

n_{P|6?B{1PQ*>sBDPL9(g$k>!ma((GaRqw@BtFfmFm)9I*7bl%o-*KB;!%mMSEkD9C^Ry-#&}$e$3% z6GT#&u%L$&R9(MjNrSFMhoBTAIR4fEt^5-0H|;}lsd3-abtc*AYPs^|7M9DMyR;s|3Du6pXn##i*a(pt4#Yu& zS{iF385J%2Bq(SBQu0bTV)pJEhP*UzB7LhCE6uda~Retfjr7CgkmjtK(D0HAc+B{5+UTo$zuewTwMdVts|Fy z?d6bb?c7|KyXo3t*o0K1qrwpO$>`vnaC}&;8Yz{=tJeBmn7!<~FT|HV-YQVF3a`=z zJm&%0yNGp_7Y_nQpXh|OMgipp>ms7`*gxQRy<~atS99VUjdDeRf%d>e(2g2^smG$WkJM5G+~Nr<4q!3&1y)Xa z{mPmm2ZD`)w|qvS_UkE@QRp?ZAiJUr7#>Q>b?VM4btMX1K6DESDF~(b^b5197GY%Q zx)@wyBx@CN(aHGGFqq+1Vn%rBnbz?6^C=XcbS7kJul1e5Xui!n>WoqlkO~sZtfXad zsqYFtX1>nEF@Uu=Yfwo#B~q|h2wmjN)Th8O07Y~q3SB;fS0P_z(N5?j`7%hD%qVx! zySieB%fpn{%#aXj_0Y^}!;wapdi&_AMOHUJtx+myti23H$}Ifg zQZ$yLUcRTq%n7No0vc!F(ju!%aDBGImH6xtshzHGuT9LlR%@fJVHoT*HM$uc3oEnb z$Qwdp%oH-LSBZ~R3pZd$ENOy1h+LfoT4zQmWwugT6(-vW|IbWQOTjRDC9~8vFhJg&G&3<<_n9LTV z#g24tHf(^6a+N9ad@sLw$yu@bSMv5bJ^k<^z9Qhv;**M`=psWrp#{@(V6 z=QH2kutU)>Ky@2 zoq%<*(^z963CFk2TZU#zPFo6+?-xZ?SIu$!iHN{~h7q-#Ppl-6)_PGKOR-^xy&k=ruEMuey(Q^9epA!|Ic6!Q3ZMzOE! zh)m4Lx7pOiYt`YUpE~{C+cZ1f+SlDQP3V5$>sHR)uJ!0X>77^Q30Gb{c<04rq5Ix< z@|*57z<2J#bJ@b>nB9HB1-{s;Lvi=NURZhc^&@Kcm%o1H$rpyn?%A*B^ExEJb>I8- zD^J}hK6M}Qu9dUTi#pvi?^0Z!FZ;u`SVwf(J;*qW4Jw+p74~-@{hpQf5K?z9aL zEp^_G&4%5a&ex)5pQUG`#;`%m$a#hniQ`jIoKz_Gk3O=|X0PJ4QOW99qcL1rZ2IHh zcxidY5i{whdnWZvIk9;4xI9!w5)w@hh#bPhSYSB3LE zw#96*EwaI6!x-2TrYsT^&dxX}k)z`YO7H5a)KlriQ|aSg`Pec-kzlqc)$$;SxSvjMGFdAYeG6X_+qe8$?DI>0V zihtrM^D{kVddeIvWx9X;Kk<+rql=Ro6}5SLAjN2F>SrbeoE$VRd#5>$S)y7rfYToe zwRQ^TQgW~{`V=i{%P!8zXqg1z27Eq3?abT07l(ULN7^%)KNIZ^-x}Q0HyNk|xGWBG-n`FAQ z4nuI-h03;ebWoorZ5q$m9c{-ZiP|xgDT7cbhiuW9BAvDgTuC9hsI@^SnM>+Yq0b|K ze)R1Pu|x+#WYDb|w^+NdH+ZF`BBt<|Nt$o?uw z7hHJs`K)^2->1O;o-2ba ziuV?4pz8}Zn)f^bT;dwWsL zw#9sHFdUYRUE2f|*cljuDS;y`EN0R!dKC`?cVm!__yvI8-MHw z=NCTf{e1v?_;}QP%|GW$JaPuqK5)WtK1tHG2Wf9Ib#7Xw>tecY<_$-?$Rv$92j*j_ zO|NW@K>&F`hQBD8LnNuGh?KOC4bxZL1ri;d3+zeMljyo6s>Pj_b1g;+t+iO6_pNU!<2gx7I-9+fY!RB<*UhN67?jy6B0e~jIa_>Dr$$by~P^N)(38}kJ*$a5CsFpDQ^rQ zni$BY+J0C%S*sa1$V!u`B`&4a_c4q9&9SoR%1E?UfYP-Fv98^s9a>vJk)gseh2Ekj zhatGoI5e*3-2=_LPW<}HGbe#CSB`tuP>!U$(lL91QPn!3RC{;J49g;s1%;=m8vu>6 z6TkJy8*iOszj${z*1h*P`0WodbuKn`2DU{g+8Is{#%ppo+RN()YJaoIB&2W&AbF>( zS1jS6gH0%wYnpD!#4Vor*kDqm#h;$J1dejEKI?eT2`B~_1e{)dCJ^$H_;uj z>W7bzRp0b`D`(D1@S=nwO(GXSDrF*C7af)4tb>$|iK!IRNX?09Pr{yr#~73tk;fa9 z-go-vj+8##yMCX~p(jO8iu;ii-}Dh>+i%9%5|Eh!9Wv(rJL@m5PwTdA0gkcG`E z6HxYz)>dEmq`&c1J>z=D^^Cg}#tCTv+YOwPNSoUmb{nT!%o=4>lo@gYm57sX2$qZs zN?>i_LX@H*MX@mBgy|XAGp=XcEiq15K^l~87l0cB8-`-D3;=v+r1r(iL?z}_Fk%tX zxhx`(1BX#ZO5PM{8x81s#@z+Ry<_Fb7+25#Y+X?-i}f)VOGO2(Db&bP@gY)q(|Ld96 zGwZ%$7J&vMRf}3oCuuk?gY_7-nl@2^wctYC<00@a zY?Qh?%=*&Pzxd1{%#uB`?gwVwdqQGWhI{+Lo(Vk@?t}>+_=%N|24vtsRv`!B zf=fXHk#rzK5FvOf3iLAmG@Qem2PTSq{YuZByU3mMQW#m=2}>01P;P9h4Kh}&uWuiW zr;W)mQz_nsU;`%#sd&vErr3a?wkA=YvNlmR=(K#07+B4nU~?v0vo_1yesemJZezo* z=LRjt7!qiK9+;bwio{x91(QiB13GqnLJ*rfwC+Kn<@@`Pc2`5%8$N3FfeL9$LJ1PG z-4>J00gcD=4H(IxH;wYvU@0OPuxJZ^g)vwgbCIdeLnwvh0|kzA8XuT>h@MbAq3(=O z2I?j*(YnpO8Ex)umg$ajv+-UNO;9;Fn`4r|ydsy$)<@6j^ z>nHYlLfuKywff3intpgpJa(~om_W^usa3OerPAE3jYm@enm4Lsq|Br%QkGB(kTJqr zrG!ekXq#QpK~XIp2I55W>DC_G{=1%VJ>l*S;ktMHSF0y8^jwcB=j;9tR8qG)YjSIN z5XUgy#^}=;``zS1F);;LmRhTGI>~Y@=dY9vO0YuYM6preM8ib;h10*(6RjuOLr=6X z`S?XxY|a<$Vv_tkx8pqD9>&?($$oR_4lE;?fMD7+u*2z$CR=(JVLH{_kAB=Lq+jh> z)w8N+)hB;R_a8rD_2VzbtjZWp3fr*A2RL`uoKOQG*M{f_fJg?b7d3x(=~9lqcv+FFfVX<eF|ZEdTWMm-b}o$#T48>E8NDjNt2X;KKV}{qp6)DyEWjTDE(8 z@?d?O$t~uKB6nTGS+h${FgzpKthJ0!r?w0?k1R+L%Uq7SyhsPRf3ewh0l)hC(Pr@{a!ljD-W0QY95vR}(?VHkwK(eGdus z{ina8Csa?UdmElEfv0sGc~GG+#b#B6LY7ltp>R8Bz3JC+SsD;FR;ynTDLa%kytvweqz+ zg^rs-JpAW1*t!Kkxpv~F8}nfxn2ophcQ;}qt;>PkJ-F$+ z;KcEfN8{8}S|PMj?d(qE2%Q+!&6=(u3qITAjd3=JddI+uVr169DXR%t7!NvALrCrc z@`&~J{p#yh&sQea(|)aFm+V^Y#M*FsSaxmR8Lq9V#zjsr>I&&hY@8*hBA$e>7(gjQ zD%3KSMx@Y40(?-|-2Lh6SH-O{^y1iQt)WdLmbE3XAUZX5S;XKywbt&Mlo znibR(FJs_;OfK3GXjdQ$0L$M=Nqhx1C}Six;4JFvDbyK}ID(^%RZeP^vYgU9q~6Qt9PqUQhM9 zKX}c`OZFI%jwwW2_QTWS{^^M1i_)x2@$Ms}98|1f$wl_jt&T zz%%>?%WC0}kBcfnc0Bw}S`(cUd_E@V+CyeH4#{OOh~0R$(ABQjt!%3N#pB= zF+S8K5b@QbYW-k$Hrg4lZ*Ly#Ob6?!Q5+MLbcw;qV9typQ6MSneP+4maFJ8=4n<8m z;i?#T=B$VY!6d$HApntxLv&%mDU6SR99jTOOk|gpHT5l2xINPfNPG$$5n^J7Si?AT zWDO66VG*lwiwzVXciEotmO7v=gXyoIx?wQw9(fZB2ZzD#v);7&>@5bb?x)|hdW*LB znwZqJZ(hCH(5`fYH#0P@7b&`*d^206o2q~Jinpv@-^MNly&Jw|^-v3Yru*Ty@EF{# zqIRG5*{he0=M&xTXRo#|kiYI9*VitoTKA#P=8wIp9(AAdIjiTcl9H9zDkrf$kZBsk zaJan@yk!+{l6H={%T|Ut%xD&o<1dktHr1VmR;A384w~(W74EW$>2;0g%{D19+#6BW+QDwAFDdj_Nf*awibfzubfRjzN71 z3Q)4h%1ge}iM6wC&lFN-P7sB1Y`-EK#vsdbp20jg6zE>{`OCSzlZNc~p8kQS4?(uL z3&=iy(dcWC?PNZf&StPT8S1gIYSehkc^0uiHhmw}I;?&PvW5bK-2X7$*ob=cB@hy^rPEq-`d#;O6xQY(1;nUSHsoR1TIK2n%k@N;XgX^6clDzm=Ug0I zofK}@^+N{*9-3EHxn5)|RQ;-5tf1xg}<7cuhzbVif0 zgyJ-E(27h(xF1fnj$PHEhV(G$$r_H2ItqNK85{7<4HN?bS#3x@-c`{hPfbQF;=p`pke*? zOgL~rz*70;SMfk8+pe!~4C4Z)@d0Gpp(8 z`t)TT>h?#g$KVv|>mM315ARSby7~HQdszay?^)+pZp`)WH`Z6rUS@E2W`o~wHC4N( z>MMtGvfJIbMN6>cS@-iBtDk--OS-e;)$^C}-F?xR4|s$?{?Vbk^%-e|MJZd;9d>=XjHkZIE~VlEQs$8%l|<2;iv%d5*6SAaVZ9}G z&W#hbux`(l`-UssuWa*A?>@@Eb@e-LgmR`Z0ExQ8p8b}LzDOuZ37KYjgPmb0nS`zD z-c&V|z+N$GFP$Y~CTFKY{a;fbtzKH0qw4e1nl-gsgH0K?*OcGbJP^CE*Rbp4EG0;n z9D87yj0q)q&cJo?WHY-o=iPEC3UZe4f|WUU8e9I#{06b*nWd5m(zWyQNYp3%X}U9U z>ll@2EL(YlE+(y$!Q94-sOxIb&`PdFy!3Dk;MCwaj$%OnHNjW-&(sX*L2<* zguzsg(^xcujW!Dt`^9KAyT{0*q3XkakU5lk6EV72m;Ug`94TQLo}3BD`Zu+DOO8G4 zj5ct%M*AT(99L3w8AXvra(*R@<*d$nyL=X}vrmF=n~)9XK6K%)eZtq=0qx)S>X%mv zKOrKgcriuhg7Cs;2uai>p(wI99*Uy+;GeUe#%DApD)3 zqYi{jImO9dD+X(2ktajB=O>W1WaAKADXcU}*YudbiX~-}94CC*Ba09vBdu?&*6K!q z@Y{D+pSeF7*?s38AM;4V-zV?$8;*tt-TU|Nhw%4}r*CZXjtkq}E56`HsZ5W`qeUg3 z%j?8)t!DKz?O-GeuCFcTTN`m}KHhHFmgJg*1VP5w%#phQdmMC}yaX1QQWv%7>>3Ns zz9`YIIZ&Or<@h7pyzcilw?vsO7BcNG1`TFWBIX#fY z^zw^(p?^3b_){kYg3r|C2?11HPrbXnAljMi&S-5z4rtnlB>9Iafn=v0QMnkvVNQf7 zOUwi!cnfNo+M?=_{4gT1T2ifhUg;V?=mBB!*qa)a=-yhm{Soihb}BQ+U$^4QRQ?tjk+ z>w)|*0J-~$uRe)_+(YmekZ_O76Yj(qmhP=|rWDPD5 ziNwjXGlFsy(vr!f6=&m-tyn`+9=e0=W{Ui27mjt-;)i-5KP*7*{;zkvctw8St6%=i zIp(b^~B zf)x_{`CwKu|YHb+gx znwXTV*|voeM?f^bsgFNNLWiU>aB|=*X9=oS zk8#GA1k2)4iI3|8Qo|=^n`aMMS#s(}`}oqwmm46TKj`tLQPQwBfHuGJ1BhGf_Z7$4a~ z$!v=(7-jGx5qJwRnCj#4!q>X5IHsAE+r#mtxo&CDv~rer=hL;6&4wHAdfQkC!g^$H zCxZ0p@Okgnz~Cv^lW%I*wDTA+xc=&D3ELIy>_xw*4Nd+R3C_g zG}_jU^61#C)Qv(?GKdSIOR;29UgaVnDmF3(p^{lZ59A)m_Zr9o6$hKq5NC`1q7#+< zF<5MzmLO9p4Bp^l;#^yJhOrj4hP;7V4pJ)ek%261pOE%IJ^?@maIG6m_0&$ofm}Zj z!b}=xFovRpjxloXS__sXi^^DIg@^_?r{p|W>N>MRy(0HOJ^~U%~kxn-*}Ib zy|@3RS6$fsOQri)pS{up@__^7FWur>AVD0Qjig`WRpx%sv!-gM|O|wlZEW1A(vWWJD+$H_clOm6)pYFu+gAn zKwE$A$va&ecDPJZ)tseizH<4!MjFVMLn{6WS>N2gM@apKFXNw_GCWT-rCyVXq>Y`Sf8aY z20hs%RIUHO!VNLGK$-0cXOxPO?QU8!xJP!6?0bQ1A)pPkx3#w|#%qNnrCn%pPM#pK zAJI~QE5>>&&?aQh&3**3;mlKoifrtW-6Q)XA{(?)t&D!LwL9NhA0Fh5*?gywL6n3g zdy`c*DQmJ`C23<|lqV0;P}bH9M)t*iqCK)7Fl4{|b{Es#Ghp`+e83?1lc(O-L$HV7 z4Ip^2cWPbGX|xcg9UP$Ydk14tHm%;BizWxl35F0dMHvc#%nDSli3-MKZFC9-JrDuQKBk_bw=(!q*LD$;odz+hkVG41)Hy6>a?>AYKK@&p^sw5!| zOPf~KXKgv{52h4IDQh1ZKn~>hZmNtw=uBHUJNVLA|KKu)ezVVe@A}J?V!HJ8^cf)rewBG>RyA$1y1zN?F9L zP#5Ehfuw-{6uGSHZF=yYc<}z8kA2{89s*wTLhwFYJH;cQ)`Hq`*&6J|vb!(t>?I8ufzCnr{)v@2o8ysoflw8Bo~WS>GD2 zmGMR+ArK?VCRc2(wZ)2I@TvN|Fp%~#8}>+wbW^9e>$k}SKmm_2z>~KBs{Ek*X*YC4f(yCn38+GPNh+a_Fw72hY@7#MY9T=i2cOrZk;x%qP>m;@qHN z7pbfSLXUiVYI9^=OP!I|spNuCdyEDZOH)fEn5(+CTZjhSeuo0wXM67`fz2sI6T)Mb!Rhi3h9$^R1*Kud^qr# zM?64)6jBm}Y+$757w$4(4PZ%lyiGzejOwid9c!fr&!eg->QML_9nh9wjbnH!WiQF# z>V9X z;cRWh0SFRMDA}gC<#)zrBkmpGbm0plmGfpE5zhRL5if={DYdwRG{@+l%jSFMhzyG^`dXkGeLk zQz9fKD?5W=dOBnRNUAf^rErP~&cT(i$wAkVPg@mwDUc81C9~XUnI+VTY@m0 zx+4}ZO-L4s6UkYDI%BBk$c#VSSzIx0uV;8l#|Nvetubx!i1`h-mlk`&`K)1S^NKGy zGtVFzFsw_Kahppa@{a9V*0s87;}k7}$W<2QoVWpC>g^>mU;~-jR+wEO8pzTlB8pUm z;M;4mVq^(@{R+6q_X*e=QadnvTl2D=b~uvn!eXx>jWH!{h;L%To-%o?J!CL* z%ql)c|6B#!|M#&oPqSIzyJ%3fR&T^H%zUx1wK3kP3rn(S9d5Ax|k)pA4s2l8}ttML32IrxM0L5;A1waIs6`O1(7F5mZ#BV+F#^?LH z^T?3qAjzQCi?TNu9Smq~7{yQ;4i-#?T3T2o_82}U{=MLZ(IKF591>NnGFmAHR$o8iVxBzsT1E6h|C|2&T)u0C4~@Kh{*`{4W@QNZqiSmx;01Hefo!9kPdy@ zhgRQmL)+Fp_S>r$ZU0~YBj(7{zs+{{`RUU;ew#C(>lvi(|EWK{oGiWicdnN#J$Hov z{dd^SUu!735C7fO_AsBoiIZ(N7t`q)x;+(!n~rT?lQ@z_AJ~R5*|i5$kp&~Lo8>Xf zS|?w31N&-|1Y56~A}x>pUB7$16zR`@_XQ~uOKta--{TbN+F*L|v)=!EoF^U@47->9 z{^}QY@BIDMzx~`V|HVJJDrc(V-+e}X<&vg%fA0@!7Il>xcfVABd^u#${*cw;>YVAn{3CwTb*J^;@kf_(rrOB$m+Ci{INbf$f4ut4Vad_*qQ3Qy zSI-_op6-Kxyn6l`*ms}u?^neGnAz7B#kCGYdtgR;sJ7;_`C3!~+2>(27)vq*jc1Ec z`voVq@3BUAo4w?`p)m0q&Kc~z?%365_BYS$|F_!(@8!zvbu-G&CTB>a!Y)P}tl^sE zl#i{lORROFR>THxIc+ei79i**WE zLhICQds}WUHnf~94(zA_u!e-fI<;S%C4*>V4wAGis`>_FvXiz>>+`Sn=)DW*J*UBd zsVk}5`Tk@ZXJS+4QI=k>H6fGDZ1{{zI;TQ~9bB}k*2J_*8E=z{Q3EV{4$*@~fje>< zOaVn8TQQtQI}G#Ly50+$Zr+&Wlr_dm<^Y(e$VDN1(yGoTQc6}?sX|hf0U?uvl_ z_~}OGs;@29Bo2PAOW^)F<4<8n2{6Uo2~G%pi3xwPrd0 znuUwQQ05#p}y@stRFPTO|Mw%Lz{Ym)G&;TZdRz$O>&jsf!U*vPOZlwI8Y@v^{)#_}(k{T8-_5WS&5rPZ#oF z{Qx+%E<)8MN=`WKL$t*117#vb(IgWb)rC7E2!^k5u7~f#0^jdCDe$e!HR>HX3prX{ zd|f|dk_J?99Mo$52C5Rl*6#=S|26Qj8 zw+-LVxWPSeiKrIbsO#S~+8mN}4pp%#kOf<6iw@&rT{d95-QRrVO-BU&|M2jDUuux; zBJb|u#%O1Iu^1|sVnd*FjzU?fwIdWpK~!3jHnqyQBy?7Q)jaUhh#vg64gO04B!p}8 za5jt>X*O7FhxuZ?k*?_AL^MX_T#Qe)PLuisrG$iDcwP6MAT&U5*bbB1M*p`x4CwDx zKK9Y4d*t4}>)`Qwyfw)t#8LpHw2nifQ7UUg2{0#4yH$x1e6~&PQ+kvb{neNJ!KWUA zQTxs1Ja&{&|j;5CQ4a)I%-f1CCvAS4UL;{GWK}T@xSiH%;#|Ht6 z-*LNGtSbbxaA;7sn;0kSAb01S!fh+PXxJvy-RUu)vI1o)+FB#|CCPTe7L^qm8-!}W z8uK6ny8G#~kG4Hd?;NLp_LASawH@czXy!~j*qV7~5bNId`>W%3nkUQ%0YoIz<))k+Z(NyptSN?2%}|V zEXgBW;d=j&INMu~#yQZKN}Uid-UNeD^UIKuZ4CL{EyI6vt1B z?q#3y=phd2%TE8~9U#5C@F|bFdkESaR5?2qu<|uL{-jH_#tJ~P8iG+?C~bsQ*((yD zFuCAua@jT-1iqlQ=-;YONtacsP^wms<<@w-Gu}Jc+Z*pAH4d^cHX6(%_)cgoO|*(5 zazT+*EXna7TjKR9i{6AAH!X&Cg%2;b4%&l2h3~)TRA3lB-hxSioXQdlLxGTQelna$ z6fGqMBb0GLi6k0_3M*$SD}>BW8Bdxxx^TW>opst<{w~FAg4N!;6qJn|^3)B>EFV9| zZc_ZOa;%%a=Fumwi38BnQ4-&rbu)^hS zlg8Fc7Qf5xNdZdwiV3W&d{ z2k`?9;_ma$J$jps1&Jk)x^IQYCnWs-3w#k7IW*JkT4n$sRV~gOkRIX!J_8`115Z19gTS}H}c)Uy5%TTaLor5MHnAb z@e!qrjvcyiGE2b{Dj)-SQ`^u8I9NX*~3y@K`%+Q$*vNX zE}=lwCR213+RC~Wv{%qR0%(8ZZS(89)hu;|#1#@N51?7Ri;J}lPbm@<2B$CwLM#%~Ew}Jh6JNL}WU712g$Yb) zjI%lj?Lh{n@E9P6EW!9pxj`V3cZB>s`UbDCe|y-kFYb1q-?twJ>@WV_=J}iN>|R24 z@uJ@OI}5=pAl?QLuQi-r0r8OoH&H(Y7`(I2=O-G7A3hF1T(W^WW$9SI0XQ>X+m3_M z8JX$!PNQv+I-#=Cae}t>L?&|weh0v)0HP$5t*NDnK;ph^V1?)h0MTzh4oYkBBRi|m zdc1-7hoAH4;$PPnM+L-BpZ)dQEE#gQfVjfngN(m_d~Sumla0UENOY*c61BaZ`D`6$ zK}_wa<9BRRj1^g$C_JD_BDfNq)ryKjnYGCUP+%m}ppf>`xi5L|iNx?fJ@=a{44-HW zFMjsFKmVG&@po-#F7tnI0)=kJdB;y@v*Bh8va{WFO;Bui4;d2#U`R)Z$)vg;M_8Af zmoi(jMKn&?y6Ao^f&A&SD+! z)@%i!(U5C7_Y8Iu*y+}8$Ca^I{OIpIge!2KEO7qQ(*w?@uY!{Vi-yfnUk`@U^)yg} z?vNUl(A2ifNvRT2j!4$pQXAI>4OSRiq%tY$Mv$pHVOBssSwQ~u*?)h+f&9!B{?YHS zCSBq0bmH&T|7nH475-NETjB3U{Qb3$KXj8R_Y;7>A3wLk-wJ;R#@|x{YLh@qj#NA8 zbhkRaI7<|4XJfS4V06L7xMT_hYRhK6d_w!3Q+6{VibndvFnWB^APGz4Wb7D(hAMk^pw zawU21O39dfV=TxcL-9}FE{fj-?4ICIp>8+xWV|+@;jAwN>E5&D+VhV zpI{h2&FBNHJuU^bo1;m0GL6Ho13T-?*Ba)tIaz7ZDCM*S0Fv2gQX)b&5GbP+Li)xD zWv<_sawqZl=fC@I)8yNgdMhBG93U^=@c#369*>t*W=U8OLV;-0h>@R1vu@a!xxwbF z37LXM7nwy%a59>hL$Rf#Y%>PW(vO7Zm|VNYy)+Lh*hR79SjJkkvp)j#vm`A09mzsa58f{TuJC~jQ&YhO_yfG55 zFucO>zH`SHK6w5$H%4L!vMoMnn%Q|;A9mAlJZe0@Z4DWtlgqV?W@aT{LcjzzDJ{th zs6Y->9g_C zE4TqE0Vz^e*+-WWncB(OWE&BgCq*wxFe&N4?gIL9uh5krPvTJ!KZcwT(fkDPCh9Zdh96-*xhm|j~{BxT#-mJhHtwp)`e z=eoMnl#r4%6oXUALJ%b*iC9$aX^pi(j~3G8%ye1kJr@;E5Z-@#HCK3g@qUK!{x10i zjCTGPjpYBe>$7d&8Sm=#*-j}&&l~WPoKH+5l69>1oN}6RkVK+PNe7fEiRkMRx`q|n zS7<*OXjh;)w(o+_JKHlU(SbGHd1Gxt9|M^nLo`I$k@v|8F% z>&$Yo0^P2Fz5@CQ06KzfM}F9wO-G%w3wmP1P9u%hV2Wl!PDV#nn`svy>0*!xlOZf7 zDH$rz#R&)chgU#9-9WFGd-U;?l^2=mHtS1eoWu;pg4Ima3kZWwH(vww;#EI={_&HH)OSB`6?+ec)Os0y^O06X!4ixA z1Gy;Y0%nQ@SY4^$z%XwGhbhFuqv-Up#`S9jAfZ6eQnkDNozciBF&y-Br_e^DEJy2< zvne@|#S$`85+9k1_~449prlt+e1nMgwE4y2+%JCF9)6)#esMFuSp2D^NZh zBL~GagX986pR5tmgurS@7o#C~lpZ(}qOw+4DiVE64U)WE0QLyHVDZ2F3J?4W+AC=9 z5A7d%-XWm9_;VjSk9Qlb^?fMhvdP+TltwQ#Bo$q-GWe{$1%m~o^Fg~BwBbPt+Kj13 zTPLzrLPFi9q?HB?36qdTC-T}GGE~SK1&t9T7GL$d59t%^4E2dGQVyYTxa1s8Nv6b@ z(pf?j!J!eJG(}T8%r6hC9lq$u9lOnM93~?incFPh{A>HP8UGA%89m}3b=LFP zDdVCI-lO-jRwp+s(7X$&c4pR>-g%V+-tb8s{dhjpu8PLRKyUiq4T^7-$eyxokxNl~Fr`z${8R-(U@JcdtI$fgNY@ z1OI`|vhs(OKRn|PpSYvA&tFxauWC>!oiI?GOPso;Q9|VqZPeNrUpwxaTH|F|IY6(V zzk>cTfd0qt2J{!N{GIb|h2rCh;`*r;DOjqx*`j1=p_D@vg&EassrIA@j32iI;Yo_pID(KQ~)^ z?EmB6x%=Kzuhv?PStJ{BRFae^DykSTYDfXuYE)cKtO7Ly+PG`$U-!|?{^+2oWjS<@ z{N8a(E%ml8YLq6hgP`_2ydj}61P)#DDy1wqD3JH1=;|SgR+;F2y2#@Fzt8U+1LS|- z^Y=ym)hQgRdLUwvQQA;a$gB~vL9dDxq@op^aYFH_;pl9ur_|f1kB%Y-Zz9GJ`EO)} zB&(8Qh+1c@bs_U5h4*|_PWs0#CtZDhS;dj9d%syW0YH6TZ+&5IQe0gcWlmB!F|ltc z^MGWZYtwsP>&VQ5G9)G&RBP=A&d5MT6FKd8)DkAuDDA{yyztuK+h9;R5>8XGDp<6p zfHlVEx`o39WkjkKN3BFW?GF1J`!m9;ARd2$Z}&PsTzvm0j#<*WcBh}@_wJ>~)K5O1 zqzVBPQ%GMD5|pBh56+Pc zxc1Ipalv|)xWOsQ0!MnwIE>agNh#Y93u`>c7FD*(xjA{i=jQIZ7cbFg9mR~S23g_N z3caM2Mqm*EMl%m#r&3ka<_2s1(}Ozw;? zU@L2v0hn4SrLEVf8A&cXMRkWF+=eGF%AcIScsu@CKm1rig@6+H27^^5YT{cUYAnM7h2b`#YT`vmcU6 zrm{Sf70Tj6*8Em2%3D{ygSJu>(`Z4mhJn}BIgI*GJsJ+1X1X!$VfMq}mQc`OO2B#y z36sYX3~;6~LSg08(Uzo$l26&!`5ApKRYt69 zUyhQQhBew)x*@jIF903~6=jhm6FYLy&PL)Oht4Se(j-e}EfBM8m|MI3wpct>2U#H# zLW%956MLJWC%eK9O|Njmwq$|zZtxada`k>$V8~>2lJ&G3CwV9$u{AhB>#I98>URRu zN2R4~H~hrtZfDpVnwc@s`M*c~3TlTCyMu7ZZqR0)qFPl(J|4 z56P>{`A29~&%Aa=gPm%Igf#h(KV`9P; zC1F*Pcr|_OAEjb09Dd0#6-8Z)tJ_T#hZhb?dRac)$Py!qQ%<7hTJ~8wb@J>REWi`h z4wRgIfQhf;&ohfvIeA7lKP=Q!Xy#_wr#4x`+9r@GjU#Gdhx)3M<6zJ;A~`MPvlsu*Ko&yL|)5%)qLQygQ%31mIG?r(Hau*sq@MRId~d?grM zvWy(EIn}dkaT2M!_3>I@UzF!Hho;DvLxu7IRib1~;)JcFC&l@Xc{n=D3{gpAOKrnN z9CvOOi5K$u&E8!4igPXA`uyfbHeJK!;>VufJa%nT_Ya=Ww!J=(EuMa;xtY$bMFZdc zQ1j&Vk!A5a4>hlRR%BTGt zaiYcFYMR@oynlG^*n7s+C%Ra&(}m+*@enwPf(U|hL}1QZIK_%&O0FlhWZfHR?9uqr z;`uLNP~NeJET%7L_7ssT;NK(Q|HAW64Dc5}{a-L1_Js42B^HkFB!cFAi3y@kn#mK3 z$H0<13B{t3l>+F-aKgT0*woP`jcK66aN4t_Tl2p+vh~S8yM!G`L7#{GXDlb%YB%b|`K5PFH0C&r?t0li& z305%^wi%0q$;fQ&_TtDkbwY*L+zRDr!i>LeN#Qt<4!u*3)7 z#0!B~C;7SRYzWBAskH@iBI4RoU_U5ENbmRHjSn2KF zR--Hy9((0gae*`s8Y_NRmqeAyCE1F@ObHrE>ba{{FImcT{&IFx(RTf8qqjDZy3k}- z>T#2DF-~S(*HZ%v$;`4mC!^TQ6N}oYIJ|Nsa1Gy^+aqpYv+_l4IV~jy1j}q?e4Wd} zSlAF27?*YSlhcerVp3=6+H}jc&p&28hc#k!+MGRE7RCk0T8^Pi6Fu?0v8@~t539TM zeSh}yF1@cf*F4%9p zN(SOj)Tu=6MXelA=SAw&r(|ix?!0#fspx1^&@zd-rJDU(Mp!yz;^@FSIvM7;dAU80 z;}~CKnQFqtN1mutJ%mnzq;_{&H$M&r!=1j-gUBvh3-Sw7OwL)Wm;@Mb(OAW-3A%vbxrrDVFcwF|e5oKrD{fV+~>!xdy8n3q01idy}vA zbwMnXa+*bB?QfAxonf~sE3BP|I6#ENSZfR|+tOd3)A(-BzEYFqvDq1~^*54?>yxma z$5YM+3>O|PifrfTU80P+NX>M>#l&gKI%GEv$j)J}O{zR&bq>R5*r9AzF-p#KLij9s zJT(+mXR8@MCNbqw&Zw*Tvp(i4_kK*isJ9S8Kt^9;T@I|3**z`maqViuKIU&|S=lHy z)^n5ZOP)eDZjE_bns#Thv%4!hYg=KkrFVz(MjOsTRtpZFA|%J5$4ecV{%9B}4^0zYCvQdc` z8Pd@;M0IuiT2_C$hL`$>2~Io9Jv-ed8n5eK^b_02m^8a0r;yB12WmR?p1BQ&F0Y86 zfIJEY8{hJBC(xd>VCm<;F_poutxuU@_PaLq>JJW8PJ6ngsDEoune zO#-n9pWA%-O&Gx9M?ZHTbx^bV;^7xIUw+fHyy(=Q-k4VxKl;LFk^UDiKJ~)piRYxb z#hX5l$>7!OwfGyKx3|!J@#5coUh~=;lgHvOy{Or%G~6>c@%|S*L)o8s_t##;H2eA> zy}0oCH!9s{emn5bZXQw>-~0JjNO`S2^s&$9XFPC_TfFhb&8u$=QH#G@-+Xp}xsrrf za&ZvmTwGVDqyaCoiB54AV1AbBG9PFwN^a`B#FeGbXP)CL9%QcN^t;Wqig%z+X4HMa2vG1 zM78a?X>W(N`+2q#XglvToTxbmYGh6diKP=LmAo{}-2?I4#LS2?3o90CTCd#YZoA7% zp1x`w#e!1o&OINbmL0l zWs;HFNTV@d;zH1VU$_>*9%yV3?6sqKnTZx(9a9<<%}K%ks@jX1x>*-)O|Z zWNx{z?x7xaPAnOzYFJj0@@Ree!!P)OeJh#X)R*4`l@_zYQL6P>>$N$#xY~pMzVh3XRq5_tUdHLm)9^;29%n?pfjVdmht#-Ru}; z`ZUERCXR^GN=uSunMpBc@GQoKmRL23ty?(~)L!S-**l76p?O`iIUMhFH%B}uJOH)R zt}x)FL27ZBrv1)LZW>6rm-^SW={@*|E{$F+>T$QrfK${?yQ5y&Fl%BUs5>m7@mBFb zYN&e&EGHyqiY__UE$<2?>u?tXi*I%-)O+oFsnZCk6wCKk%sS(w);D*iW3e;sOUpE2vFwQ{>i-q|4W{%Dw6L>X%g)iovEOwSxJYdmpzTbL29-QL*H z-LSUhJKJ49+7z6?nKp3PsYYgTABzsUPH_prQkqjl3SQSa$hr|lnyYDN@zfVJPd_JH zEWY=Pp0(UoC+n_Ece0kwlU=nnh;e5Wwx<1Vx5-vONx)uVCFi43ix;UFl0~mGGY3vh zxlUL$#6Gi}>{xEo0mI0&%f>aEg$B5mM%&tXHPHP=*&KzC9NetqVJvl)(D@QMz2(Br z9lRsPgJ=9md{*vRyy(yGwR~_lGs*|f{ow6ol*PaO^UXm^-MrW|91`}6-}(~%f-8Vs{H4eE#T`TK(%1dPw^rl5my=-) zZ;dlK)cstZ1ESY;>!sv0aOvy6^zlo7{Y&3)V3_{Lvp;ovB4!2C6-=+ebn)`Xo5ybj zwZ*v=)NUVYJl>C7ER?-+S`@=sJbxGM8wUC#JzzxkBavk@*h}h|JgF zlIF3P0om?SZ_95QxuIvfeL31_nBX$~D`1n=6qw^k+Ak$rq*>4MXP#PLJ{3~ zl4^zV%NSogMc1ZZR>-{-a{uU{G4-e9DyH6mx0gIsr!J=!}UCS(J6`2PTu`hWo3*^hI!X(?S>d|!Kbct!Y z+h6x}QMPW1kP0+m3JFY11u)3KYqo9nflSAe<>dc*1S6aN+@+BTf zA6Wdd<54>lc0YFZ<1gO>yK+zLKD2_^3Sx(b*ay%3{t99@f!K?xRh~c)%;h;Zp=`~h z`1z*V?kMO9H?WOMU}Y>E|M@qP#B5k^Ve+Kw3AmgK^LX+;)EVbR`>SXE$_lHukJS&I z`_z$O^-A~i<+_CwC?&YoYCr7RO_;;5KUX0%DGJMGEs|m=29(KOCIupTqmfY%j8oZ) z+%Uz@;!ycp=l}C@MCG-LD#VO%!w`l_<)ANq^6I`ElD5T7n1ya1d(+w4cFEJG7Ml&V zE~rq-M5meDJ8MNsC0a+pyQD%v$$U=%9mvD4`16G}v3Ud((iSPzjZn3wk180gQXw%$ zJPQ7mT#wJl18?Mzpj+SBDC>H(GhQDJ%Q)G_7pJ4+5J40rSOK-Hv|%%33eGC3NA-jw zvy2dW?+C%yd%DhmI+i+;2}f@ZKF!wcWGzl%dqNFa15|M*wF8}9*2`8(K02yRM`~F! zp-X_q5ZPyM2fSI7;TLt*wN4C5##^hU?(UAZhQs-AYNhBj*74VaNyQjd>Z!mKJv&)p zo6491|4wu%*2*A?|9eK2?`)2GqdeIiG!P=+fvpEgvF^3B zjDN#VBI@a9fV%6+=p-bY*wmvy>7D0}Wvp9#@X5;=c=5?6o3|b^QY`-0r<%9iTc2KR zy_Ub@Fy6TMt=AqP-_|t%6c*ScLA5F|nlVnhpeP|n)Y?ZY3KO#zHfV}u*#4wKJs(#~ zXw{=@B#U4-;}~*NH(R{#X@28C-m&EAOTwFMI04n_VA4sSf|rzPAb+No*@F)1#drNTe92>v z#&;Y~G%mjI4G(N=yjB-Y32N7OM|z0sy4UILbez~|l7i%uiMEz)3J^WNlC=PwP5c4_ zxSg+o_F%aN|l9CITErI&Z@CO zoHWcWRsrx>Vs7zeU(r1F94wu!dj5)PS{@shLfO_126k8HG~S*>H5jZnDP-%(*c?@H z5R_$^0K#|(DYKH2y4YHx)He3Y`I6&^%>U`wAoIy9d+vln-CEHZ?l2$R8m*;)m~J$} z6%_(2caf715smjLp~@UAL`3gdGS<@oqH$Wg6}}IK@5Rr)<(LM{cOM&AF23xmZ_qFN zry{%0I{{Rl^La(5Cm!SC_D`+l1^4tEz#k; zfX=WCL?c1_Qh3C%#9Bz7OzrK(CWxppI19?gDC-GwCyZW!eE-P#7xOWVoW~uTfU+H$ z5p3_y2NRbz4f;*aogt%$^%#-^6;jlugv=qtm*8?Sxz>X+u{Qo7ZCBV_Ve<&EiDZRp z$7ST^8**#V7i!m<*faizC=y+Jsq`!#7I@BtY*H+a_J~HXRNS!l-T^b zV>t1C<+>Lx*0OUBB4~<17!)Rh0`H=>Mb#!2lEY*{ri9Y1cpwi=W;|Xl+tb%j9c3~X?NDyg6SYP z!I4Q`6s?SjAr+?KwNG^xY~yGp|2<0KVY%Z-9oNwLvFGgz&#MiE$w}Mh&hC7YhIS3t zws*&B+-O~#B0>sC0=rMRDd76l|hJ|S#M*8PWCo8MWYRA?UPoRoXbgC zYm;=O>RvE3)|BWqv;EL0boPM0_Qbw+AabadOC<)V!~ju-Vq8iwLKeQZK>}lRX^ewQ zpZmq%dXo(B%C{cZ3~(?PtH5jhbS`!$Du#%)E&ZgCSqE971j;JaO&&f3lTFZ+M388_ zupEW7t}VaReQ>d-uH3yaO0=m*Vl

O@Z)2^}M;a$~XF_r|Ka?BNR zaU2}wgv8}mA=lsz(-1@u9NK0fjdQjICHwWxR6sy!Way?dw z9&dY~`AYvE%b~|5oFa^hl?v_N)j7hPv7IFCz=@ZX5tb^2F{RuS=L0rzajCee3Z$V# zYfq((Lt9iXXCpa3Rrtglr%1fy<8b|p3U^E_Omkbd^RE5$ZM4Z)Ecgw-XkPA3#>h9I zwEFCqO&uz5fZYK=sYmqe`)+W?O$DFv^X5I%wd0j)zq)E?ZHKsa;_vO*b>C}lyqnl~ zC4B$pOKNXbe_t=ezunV3)24C%dEa_g@!H=t?>FFM6|4BMC022TY%#mWRQzaeiz`;e z7!14bgF@V>FPcfk=WqGQgCDw&iX;&#Nj7Z2$&;UW>7~~^@$rv;^4`BTwA-;tsiUvI z65s?-i*MfW7#FP_nx@TMS27J?i+%e^#skqM4a45RUP+Bdz&fvP? zmt9S4+tibWs{O^m(LNXN@QP-3+y>jz59Sno;6>h;NO}XC0344i!c$8DCse9~ z?d8$jocs`>UY{RXuqTl=v29Us6@4V z2`ay2hpMIiJ~-(YTX^l7qmm;x1YfEaje`;-*5r->wT~a8n>N(map8%;Nv(LHti9>N&HRZEoBZaQk^V||+S5NWe#a*s&(EAv z+V~9Pf)5t^`-&5VgYynMU)HWYKWW|2Q-+%D8Aq*l>`BE_ru@3s^Z^LtzYmpI=wF{S z4ep5(TxSJr1it?6$q%Vratb_euc>qw2Zu`4s9&WTul=v5;Hef`d&sFL#j1bDb~%-? zUZ^5KxF-x&0cQ{Q?uhq&->Gt{dGy)AJ&4ubecA=Jqjx0RH}r*(qAm5A%4k%mWcrFj zeLzs9UZF48A!~o$ksP<7zfuP4gG&$g4^>>K8|9s+KkWDo6Wl|w?VtnV#-F(TB6-@B zJ5QW67^+hk-+jh~@bgds(;Eaz2d8}X#xpNEW&_+XTFg+{1BsP*_~mEm<2IB5#juaT zUU)X0s$aRk)K{IvqBz)R%7dNtnm+d&S-bt5 zzTiT5*d|+c4dh9}vZwk;&xYc;|TL7R6g94o#5!E_Ffe zD4k3m9k=${8R8+QOuyYeHva@hPM&%K1g~ixtfpzL>7fv;hU`#Zb*MNVed>xn|6#~~ zb@MMCv~O<%gkhPT`;@kGXBA|#>QmZw#6X(e`job9F=}S-drI4J2Z@r||2(Dbq#5F2 zcG^?nVh0L-*%O}Hc6y9&*>L=0h7gv$H=Y1dD*M(`+fHm4kg~&{*0wdqpX|)1!IK

8u5q8rOz`wS?>44x|c&NDz_@J3nF z)o?}dKG{iE1BkQmGuc&F!?nScWY4}DY7tyU_WG-#+8cR@?DJQ*ov=9GAiMgR@X!ab z>R)ZX;k*V`t#hkh%T}G;@HbHV2eIF?rkZ}K1JdIdHw}c(!K&%2j#omawl}rsmcGoE z{?KQ_-66iu%H+Sf`FXj?=O*9CNR~~*HkCml=ydT zy7%<`Et`vZS@v(9(stAgR(sO4?x-a)+vBI)bVb_iz|-M=hiH`98PUdOX>9*`71YGq zu(9mxSGTpzU{(v5?}Gl>Zw8vSHjnq%fXTdR)9;qtWU_a3Ld8urj#H;~jP_M4{XJ8< z(~|7W=Qceodrl0G3l{fEZO5+~bIGk_nXTjxn?8ANgOri4n3OU5U?-T|(xi!5vD9|t z%CVhANDmLm#`3gpk-KPa-u&`L9k25XQMvK0RO35f+bnO3tstZP^`>8()4(WMZj>w4 zC>Om+mfPGS+uTn#-QLLNXl`>W%;s`aTkWQH_oiQ-)xgy7d`vC3u9e%JxE2lSU_B;_ zYeRb5hVdFJ_77D-uwrNEDaY!|?t7q_7K%9W@7VN>GaK|h&g(^7Ze+QUtt2B`(5Q6( z#y2+Vte;;u!)T!Fj6Y%)&7HIbI?-q`jLnCA%>}1A}ap+cY>b_QyO#57W=z~r_W6Ffx zDQ91^tGB08b_-=n$4{HI0@RLA)XmV{h4$IJMx8W|Wbbw6U>s9_J!u}tPMyIvvwghi z>b7GR$Skt(%(kN^ji7CO=GPtw$9_^k+xD3k)>E?e%FM`53)7~0Hg22z=f-!O)*yzE zRoyOMVB^Ssa%0;O*_}7SLv?JuV7c1ic|e#J5VBX_3`W){1pI8{oAa)w)x~z6{>+*7 z&u#q2wdcUsHtjjv4cSKizc)T-M+27UH%cUDIcIqV`02Yhez_6b^BZ-Tv%Mr)Ne=le zA^*h2ubC1Hy+gIbz-8`PPjuZscK6 zj^|4AusN%5+IVN~N^@5_e>~$KM{FeRXdJhFm*$(xtCYQzKG5>VQ}!R7#TIpRRu1VJ zgtYuN_+u^vW*a}9`^lAx;2LNs&7I8qTHb!jLXW1%$($#d>w>&{T6X8;&4Rpb3o(2x zhi)9Y-?aR!(crNqUQsHCZtZgi=Ko~|E8*FBkgo#&k!Kae}m6$9ofb)Khf9Dju6bD{6u_?3lz9g|bM zo+zGq^3~#DyL-VKP|L>c)Jb^j2;3DsXK=Bwec8sJpR~{k>tbS?eJu71MA!P6&$b<( z1G(mayr<>%MnKMMnEaXrGKX$qp!zK12wtQ?&bCzSZ3|Pepgnv5kuoEWCyD9OXZn>jTl$`J4 z^{DM*O}jN&m4o+H*)Z98%;W3V#3LDq8j z)&@MxZ{Y289=7dCNyeXR@>8boE}Yf02pLEAsi(D_u((WY+t3$Aii7<_6&H$Wsi!(w z&(HehVJ!R7FAqCnWjc>TAmgsW4UNc{-&n$>ixZ2_z^YgHe+xfYY};Su3YUHYm9}@&~|3dzzSj@JNrF{ zCr56WS|`u?L~S_LaW;W%cka6~D@@80 zr$&|aF646y*S9qgvT-suOZ^Ti+lf;Im`S%+{>zrOh1X=|iEvZlJxA?7NQN{VBr|7Y zdhcFUrVY8fsCmnlnat&t@7{9aIy8*u6zZB`D=}Q zQ{&b~Uh@lB^WSRzr`85F-+1Q3Le>0w@%Eo@{?d^RD!1{hxFxCF)m)n&YkqN~+H5>~ zVolWM0$1QWo8Ngvg9>ciDw|~muI(E8=jNX$`_~w5-1u3P8k>62m0w@CH{Y7Fv~Ote5(EdGn_ZZ@^RIQ4$MZK`XFE{?PR6!y42`vsllTjJhz_Lqb}kDeW2+zjUMRW`RsB$Q1b51ujT+&?`(u>R9KRHu9@5`+{+SYSjE5=Ab0NEk{(xjITmb}M8Z1_k}a7GAsN zsATWNGn8L_}XzNU6B35)7ws|{rV(4_q`ZzzY6?J z`$aPQ;8ks>#Vwt)@5Cc-JoBQZ+ux~jSKBeM<_^5)N!Il3w$?eX7CgC$Biy}y!7Yl< za|6fQH+}x>{TnMHt8UwJa`vdFKw0NFwCR0Mfy#Ykf!5wpNOF_NO=A8g0V;fjZjaac zYbs;JIbjLxzFGcYqY3JPaqVljFOGC4Ca zF*OP@F)%PQI5Y})ob0^`d>qAh9`eMk8Us*gZe6X1c3hRlRywRlRy|@V?zGtJ_Pu);^HUx2yRha&gQU zF60{;TI6lRYWlD|SkUCc5mnQ&8C4$1>LZGg9#(aEKs82HH7_e#dN^ySX``g6I@T%_ z$F%Iwup!5`#pQJ!9p@(S-wWu!8}Z-H4*G8={db)#Z&UJxd^WA*B7hs>}KC^R+o!fVMtR(WcWI$sj93O28~fg zQ#Z+Dg_4|B^0KC8vbv#V2TF!2XAN1&XWC(CBZW+Ma16k}qf$PjYO*n`%7&_q=yG9@ z{0Fsl#u1oz(<~myin@z=$aZb{p_s#AzJHV45wx?XyDHHGBV%|;SLvy zFqmP02g4i9=5jD?a!FSQOSuFh07qG$j9o;`gBH$hpL0(h$) zQ5mG{NHLcMz%V3D$s1$Pa{zGJj{Vy%ff_wqckSNQcM!TS@7&e5XGd?ZymRkXv)S+X!j6AFy zQDIWkYW4_pOOew+cN5PTz)*69{16==lyxw;NzM++`GS#U{l*(mtu5^6iMnUHto z)5(NYu&1qQ3sV$&d6lb zhE*f2AF;j;U6U;~7}{7@gA5-EW7rtUS(Q~itrXP;^=Mix8uBjsaEGP=4?5-3Ls?I8 z`WQ&GsA#%sz1vGkb{{^{tkw&<^-Uix8QGluYs`LO00sxMISv$tYK&@1(HUGu&D-NL zvLmX4mZFg=9v))#atdH=xTs`u*@2|}!-BHgdcaYi9#%BNM&O8YSWVGK3E_KcSXDqM zG&D3|4>MU!?w0oy^3Z+*U|a^0!nxz`VsVDApIOI{5B?1Zv0tdLhm)NZRiT9UFM z?S|M!LXM6OMB^x42SExs=)zw~%AWu)4LI9BJvtJ27`+6m-1S(iwYry(5$)XpFylTr zrQDWCHRUUeO$3+A(r&>Yp<8s=lj&6ZM7^@+xR8dKcV<^dd7O}uBmil710Eqysn$#b zoq*)jfntwcD?aFtprnZ$f*05Ut4VwaGvC?K(ZOemawuq{Zjf}zqGAju)uTnQFF?_1 zvFLT}BUzNC?aXdzkMdd|wXjQ2OOV~MoH8S z7~GX~)ev5TS<)@TBZ1OwEF(!cDDQHS3|7YXY#Q7&gYWgyAc#IJ5sd=>wrA9Vtdeib z=5+(Qq-s%j75sqts%TkNPa*!HSHQUKXb|b`t@t1OLraXc!MA-%`mi#j>dB#NkRD?` zV8W#O$tS_P$EYaot4s&LBn%xRQ&7o1Wr)f_ulRL!JRbLt3_lfFo!15^gbYN z&bd$3Kux<@7X*+t-EtJDJb=c%AI_q56iFpBQE&01=5)16 z!1*x>6M$O+i?a<97FbLweTSrCDJ)a~@Us7qEe((i0VP&Vr)3yFYEF^r;_?=`)7>{* zf!Oe@k59_DJHuf4$B32#pHz?ya(}CS2$;VTDq;@HSHxIUjwY`zWb?6rjtHz2kH_6} zL-8f_sY`CvsXT&;2?r{4JT96Qw)tWMvo&4Bl5EVb%I4GX7;Qp8lp~9Sm+lc~kjxBn ztHLs{sCLAe!)Se7Q6uDe?lY|56q>zNw$fRk)QA8GqmzyYfKeFX^`6fda4yjksZn)+tbqZ#p;(%f7XUOH`(Dd9(ctn)eV0tiknce#lXS zPOsZsI=S*3T2$qoL=L{niL@U?L^A?R<&26A(J8QI+Uhvn{m=`rjG4@|TD7qbgC97f zd>ziK@ip0q0t2%a)^u+OYKmJ$&cHITJk+xERd;j>ThK|qF~XWb6DGxQ}up-ei^0wZ~>DC%B9=g>TJw(sbs@V)5)XN*$Y*Lmkd)vd=;_G&H z_ma87P&S{!Lxr)CLP^h!xfgh4H`Ee#bABp_dl`>+soUv8(%yf^_x(|}+>ahgrc0Wp zQXWRUCUFyt4bTGN0!iNp#u~`R2(k}SERZ*}kOrB9ze@Qm9tR+WMn-@>`7cqD(%Q;M z=DZD9NYO^@FT;cQCA*e0P#)%qq!6kLhv4xJ_aK&GE588 zrERnoMyrlSLB<6@!A(9+62V(t71|2g7%ShX7pBm%dp#5kmhJb7?ww&<%B`1lwO-cM+AFvIjof+=h>+G88lmMyh_0>0C_CN& zNTU$K`!To~8};J3bHZ^#5mz0cws_#a9N#&1$;)`aaZN1lx55MKddgMU zTE^GTM)4%}m@9E!1qmnY=X4Uejo12uKxXK zF0&|{sGzV+2q+q0diqNps(LajU@5Y>xMefoBbVFalCZ!N^x@|AqIibk7rImHLu7M1 zWu47bfK)ff0WXv3TtT%d_RQ4n+g9;s-$XEz?=<5m4Z-s8) zo-6dka=zFsN7hF?I|yJvq(%xERPGUFAmV>{c$8bM#~i8Y-&1wNsR$+lW6ovsYNQLq zo&ys{lGRi25(?o^oRcLy)QEXU>|oS6QT3KdIQ>ecl1v(aWj0X<6@%$FK8Qm+m1wv1g zJ)8rrvPQduBoaNEn@Fmhs*=j}1o2Lfv~f)gKa$(Q!oPw(h&fZ|;KQ@4FeuQ9eQ zjdMOJ**|WbcaJoFY{7@6ai#f9()f2k^@VhA_tc>FDYxAkAHI6wKdo$^5Juu zB^mx*NdCGqNgkcCmJF=whVFbpB9U`qng6bPydAq#hb|CgQ{Cm{?z&e&*Y205F}s2M zY=#WIoL)bT$$#>*xy#9uXE%^PoYlO$D1D-!Z4IVx!B6vY>&iT5$5mJbul*whB!@uyAYYBsR$#cCEO` zTNeC;cVKj3M@=j~epT~kY5d~FUlu8@joiI##ccN?kt~QVSso8qzFAf$P|s2zxVhxc z$SkrqQlvCz);v6Qnj`Ox?k+vR5XF8m+FcIW`W2p+r zn#pAc6BrdxM*c3oJPRTjzvkax(b!SR?-v|>Q8DzPng>r? z4ArPP^1CI?FC0m?)&9Dp8YJB))f(Cu`9o7P`Fg_~Qa7uae0WwJ`9VVu(Hm!wrL$t> z?55@h%PU6iCd#aiRsPjHcU9d>-Bc0W4BUvx=1VHsI!m5m)yFsEcg^}}%^5s3k52nh z@}Alc)RKE@*ILuFVJTSX0dBbHT1)P)Yj1M7()s3YfipkM%@Y?B)@07I{NdKh5%NUC zIpoo%6;h0}%vvSI$z91+-q~tiYbg0^=vjjXV=CsdMof!dnZGi>Hkz;8lF<*(1f1kC0^v(b91p{2%?6TbS~Nde z6#TVVX=q|8OnBXbZvLR(E(Ejtk*39DW@FDhU2vqb>#Zcm8k=TXwRG~H#`W`yqT7>G zve|W}Y&S$^H*Hv?c%7A;YK?#xtFS`e*z}=QUY@gOf-T}n>+I+m%vI0T{oK!0S&xY$B;L5tgXlisU-l=&a7w7X6Zqoy#X8Q*xwp!AYY^ z^6k!MBti0<&P9RbMwYKzwP7Mpvn24Fjvn9Mb;KD)d|#dZm(F`?@2ahW@W_st7oE#@ zs~qoP=K=Q&<_{dN-(%O34Gp)vGAVYcMJ~E(@WXrNWC4Q$aIK<;o>)fk@$ElE8!k`! z%Pc=LN0?g$49YQIGy|TP`EhJUu?P> z8K1m!!-g}FkAGCp__$fH!JOMt8tJNAJD1+wn%F)=J}1ANokNf)FoT50wr$(CZQHhO zd*+R8+qP}nZ*1d#|5oi~k9$ewnp7pJ>U`bJ@w%-}x0ZC9)0VvYx#U@c%z(e)^22n+ z^OxVhVqEt4;}KnTiu0KItS+Cy&ul1NxKzL1!-+-yMW>#j`0fGaC+kCA35uNE)&_2Z zljJNdDSJY7#-6xN&xNwX{R|0VPgT5|al!c{Jze%~L0&E>R zB8u$d@YV7-TLrYghHm!=+*w{xBa1_QCJeo~5NaMxAO|H}i`u#Gj{WR>k<{+bgF1`L z&mT*|`8x}(&OnH*Ze;v$e+^wW+T4ArqM5A5FA39Od=FmMAH%=ZkXkta`Y$PjP0Lq~ z$N9Ax*)~P9?4KKHoQ|+78}e$=rYTzgnxJo+{hEJG?KJH@SszPC57P4_WsG`FMC*91 z`;=8Jped<#(rZ;=OYDA=crS;Xokk1ke!I1)mK;dE;%_xvJeEXhLxxVT2YH8E;IAJdPX)mG?tiCezKF8k7!Yayr4+L#mzyU&u$#{;cAT+-R#@`mR<>?P8gD*=J+X}zgAX+N{iXRZ1@SSiE3N9! zqaNvP0N(uX0c>22t-n^?fj;f8E63EIX5oVbC}3qN3d0q zjGBw+(1!|6o_mgo(rz4tS47vHZpAwtE4k{hcpbH|=#4-dqTP;HLVVEgS5Jpc^77vJ z4;dtVpK(oPE#v05li9v=eSY`HcQ_gMnYe^wAvn%nj??6&J8F@}rGR53|J`uX;}nh4 zK6BotUZA>a({7`^rT+ZgPWGD)SCibW*G$r_hhVjKEHrKDGyaAVOPiu%tvK!e;B;pJ zn_@!jFdGl3#skOu{!MJVxFyCru|e7C7;Oq=(r}e+?s0f0`dmEQauy@ey(rP}B1q04 zZ&Z&!+~5tJQQ=Y-SH+02M=$j?(lU&RqQE*gn52L-0qFxHtj365wf~+7NUXy zsn~|WX42kR+(gA(yfea8PZV1$S_f@I6OjpXH}glUnAs{`eaKGyVhdsMbrCKj1n+Ha ztn($67MLU=xpKUpVt%K{&fR}R8!ejqn0-_9qhP`-&HEM;lmA`(M(Rpqjzc*4mL+22 zsX=NsTPDU>4!XG6yI%D$8^$5Ym{X=n_Ao0?iPYSFekJOpsagY2ezm+>POu4*rnpmR zL4nP#nv9xXLVz&f8IX}>!0n#;Bn*?|C_L(I(57!!ah*MW4=&flHUVq^#B+H8r6qBR z_21;sTD$I?2yR@A5#8wF+ACe`J|%r;Q<_vA?W**}a77goBuEPCOHqRW!F0wIsyq`AcTGWdCu0w$b>o7YtE(miDc3%jg*xf}Jy_2Y8}u&wE>cQ_c+2r)ar z$$nsJ6d2(2cJO?X5j3Dti{RZdD}qBY3m^Gz4-s}RR~%h5;yF`rO9XX+Z;0do#`Dl@ ztNCGmP}(BrZk+j0MPTnqVyZjTkp)DLWW{_j#exm#01Q+QXlJPdxa7up=VP47k9R@Y z1=yNlp%h%j=4z${<>%t==rZ|51Y}ck3=?o<7|<(#(LhWpgAm=C1biffc>Q%neXR2z zh{i8ZTiml&*W4{p@&xCUSo6%qfIKK5z)Bnd=@jOe^Er4kPvG*Oe-fe?73$Ioj)b^B z%aq+c0H1(qWFn2_ahe@6fatDq=2Sj6*MXdoiUM3fh92-E?|q~aO~&k5 z`o&4M9s-#b*n&X}=hE5Yatp(63 z2*D&GY1Ys~DqI2QVm6G0S3z+g#;Z#XpUeiUPD7JO`b&9pocB=LEqBQzJ+$!6KsLvnDkP^thRK>&s*VpesTdUyib1XIhk=6D_Ps;D_=`0XXw; z1g#&m1oA`1`k2`mwkR;Br{WF7>Mu#yM}8(1tU%up0{a+VtoS_ecT zk(C%m?Fg=hA%Ln36*B3P3W9nc(CvYCG@PAls z0&wKm#S0*HI5LV7C7nU{dHsX^J%=kxa!1t^pJ56@v0-4CsNA?>W)pcPLNOkDYr}Ve z(od#MA~p>V3$?nFnipf6SVy{AeR8p2nhQlkdQ`&&1XdV0&KbQz0Sd@WA zDH z=2W?51*+Cgt1bx4puLTdp)?FO1f83Qj39R%DNU5qId)32aqgFti*B(FGn%_tQ=Vce z5q61D9AXfV6EQzY{XW*F;O#unURN@6FG6H=t!w$=!>Mmnw98-JA@4$NFoY&qO+Ig4 zp>W#+y;6eeF9bFMaBPmaWdpK-K8@sE-AKF~P^}~^PRe2bYW~TH7_Xv|A~<+FpqG*Z zzAjH=p+|f;-q_=wau{dev9`29B+_=Ma3%!;Bm?@(GxCT?^7?=}X>O96uu&52_rP~F`jMJxzf}RXsQpcF2$Mv`q==x}!Az<^F zUO4v@B$SFr8Hn28q=l`H9(&y&OJ|OkYXyEzP|;5Sq?I)<=mnXl8yH(2{qB66f+pPt z?qNcTkjD=GUE`@aEi2Cq36a+mEoP-%GIrctnF6L(uLC=fcy?37UJO=O<%OOi73R&| z0x`eOW#q;v-1q6c9XZ>=u(Ot)9RkkIq z-WggPEOy&Ra`pz8m%$xscY|tZAkEajrMS6~pw&@ih4;b(76nBp>crpGj@*~H!hzvF zx~#n0J9B*OzDX1Q9P$%EyiLsl>i8Ifpj+3 zilq=tYDp&=i|7ZN9|1m;C(avR2kFt~pqHsPq60!?0#9}=trgiN-pO`t3uioe@!poy zQS)eKYZngzLBKQ&#FMiCqT#A?yNjiY5}MbTM&2q8Q;g@XK1@pKb;TRk9kG9g~ny3D?G&8$i{H{fo#1M{sCa ztfUsP_CxickXd&aCEGF3r0tvVtyEP?)_y6cUbq$MOf5K#AQ_CFu4l-f$mN^|RDPJT zx;1fG#eT@H+Vw_9QZ--mK`j~l4H?f3FUdS!BePc*=o|x+^pkD<{eF-NVy4M@$<#do zYC0-cHK&s{Sov}cMEtj;xeRjo!<rj6PC>ICNlzm4YW}F+%t^)B zn3phgX9kN@?Q|G`FJ^`Vh{>sXbioL8vNR(bbAmV*XR!~DoB69cOD$MU$j45mcX1`} zLBT_^glj`iJnQ98F+2xoDsJSAZF(7z4d7>0AqA|wVuJaC44%gQB_F)?WcCm$Oh9C8 z0Le0=isJ3c84YT(klo1iGkfM|1tXGB#v?*GI9@b;>xMqZ_BT>opGTHW{kaK zz8g^n01}Iq21u_xIBeBFxV;DD|EsF zBs1yMWx}9-i^2U~>S-ZTh=KB|tQ+tUs)*v^lLdo%P!80XVp=pTm}1eJUVWhNst6#n z%rU53EGizP7My~1A3jqnNO})3@LK5O=BkfQJDaZa3)E#Ujhy<=nV)%8WX{PUuGy2W zJo=^tr_NN)KXC5;0mn4IJVqs-wcU z$cZt!}$Ni#J9LocU7FEgG+S#@7M-ed{nfpv31=^^PuIDUYYZI4d2(wte0d#XzQaZF zxf9^!AWp2J$=!bMux?D0$q|Q4@(8f})z0-pmxFoPi+T(1T(?6~ZLkCX8aUpe%rdru zZBM1YtA(!xT4#`%WrJo8;RhBcUrPNJQQ_?KKgBDs>{up@tK(y6Ky$q<&|dW$xKpHumC2S)C`Y{m`5 zDRh#|qu2trOCiAK&?rPL?bRf;KB5fHgkI*G=eU-g9tHUFVUGMy;PL|F3pgbE; z>(~gM@RCJvF&Jt>wGfixYNAr_@b*Ce18XDj22P7v)QZs)#3fS1LSWDhjM~?XS2MEq ztJ_3?-G^6kT)^%bKsqqYrVo<>pI%0T{n|QalP8eQuIvYS=v;`-^VbCJvIfunDE1MdQnzS#*79!L?|Jg^d!7jxk$n<9S2&gXIJY~16V zzWdF4@zLsv^Ue$AIk3}NO%=BeeAD@I$!9Sy_kqB8qVSQp-M6l<*;rXUdKOxY|LJ-T z^QgCdcURcCEc2-K-dAT+gr9h!kN0uY8a)C0HX$>Ew0{~bSP|W{j}%iKoZma0r5e)G zWuwPI$oBH;{#Plxj<rT4`7d!=D@7pQ4wfUxILWJW|;eFGt zox~X^t;R_E@#@&Fu)+R~@0f@3Y42to4%x@N`9!#NS^O>j&qH(OKlLy+wC3&1HdOcR zY-14a%USfE=Z*O%<4_-K+&u1?HQLg69jrHp#q9g?Lb8Fu*k|*Sk9|jVcGEC_!#vZn zk9>`|ozu#%S z)8`*wFiCcLOnld^ft}O%R=p-iutoVbN>kfr$9#>)u0vC$&P9V<;nt&B&eA2Jf$DYR{=3^^qghyH(Q8}z z+)Wdc_w2FVx=>}NL6(F|c9&Sc=eGQ{g!=8@e=@YK`MG&o{u1W>&JQ{;$<3O$NRjll z|JiPP^lA(30)55{0 z*2nA$r0*tdE&kdv-%BXJV{`It{Mxz?UMnl9n1A*;AW8qUv?ab~pQIF0hpQr3ihX)n$dEtPZpLb#HWL|fdRa9AqfxK#3Y zdn!cdY1fp5-EFn~zP4zI`p?1IMV^P`xI-7Wo`gId`DICAlo(gn*v=n(YIJ&$1#py9 zN?wxVgoG)ChZ^SIY;Q`4jO7@6_`e8$>!rE)Dvx8YpAcZ+ciY7wyVMgEUE+f?W@|s~ zZ~vx1dtxyW#O6Lt0!%-L=H_Ey$n-nOVyUD1S;SSN8fU=1MGzlL@r#gMv>o&yNEjE z5PPy@yIoEjXBh13-FAC@c+j#T3+s!a4nWL8VMbWgI2EIjC~t%`CP)ns4Qn|G!G#8A zRcSSLwo4L^D)j^vR=OGIMYS8N@Q~p)&-lNLA~CmLn@#y<#H~EB=Z`#$rBAwSOP73{nCV&6A+}_|UiqZvq zg^{gGmdxjWBijY!f1YYBF7VsSBI_0Sncdnb?~D}(iN7E}H& zb2!Qi0z?@n%VP{6JizT3lMDkGob`4R5W-V=pbD+A_kQ|+c|+WRgs@L1sLtwzyT^x* zXIw~6YeDwrluNa-?8`ltE+3v{_V&ffhnfZt=76NjR^jJB9<*dbIKeb z@5c7qC$L2~EdAurw_2uvZq%-w{0ux#j(46frhlD*RY+p82-!6%vQy~Q_`#lD$T_Md z4$z_5xR<=VO2g9X1l`pSEE_bmHk@tRrlR<-AwC^R)D>PM=TAfF#DhO2XJqKDyC1Ms zzhIwIFxMC~CD-N8Kl#tQM(3^7hq}zUFk(}NJi}mqZKmkHRNHolm9>w6^6M+W!52+$ z4RSHRfzYcpSvm;5dT&^;oi*6~PnP=!-3O8Ld(v&%}W_Aw}p3&ThK-CI)W2- zKTXg`pVbizscm|RC*zhD>#gqcw}1#p71HiFBB50P%WNq7h;HyeJ?zS>E2YM;Hm_-a z0})Hc8^ZC{)MQp5gr$n5?@QkMEvA(y$M7?O**pTKohM!*bnV=(Nc?a;k2($>avaB;t= zqDrYUmH{Gahn^M@5{myg1~iu0*zy@l$f3<0_y6ov!z*?fCGXvCYt9RZxHRC8#cBT8 zgtr*wc(^Lc9U2A*O)APP=scyw(TWkZrN&CUXnmdhSI|FOz+*1@MY2S`>ED$nhidzEFx5&o!mw>Oo zQt8dXP#9c`c`H!u`kVJd_r)#=oG=PjNW1VxsE zf4Fu5TVkG8r97kBjFiLpTg4Kf2*v+Q@_jf@%iYT%^^Lg95WEuMheLP>AN^i!XW^#2 zhARYGcsdU7ge?SO(P&ys!ipG7!xj?SN(aS7rcIMBn$eF^e7vEskZ43X5HYoF1deTl zhKYKeHk$VYiIf7~l?DERfC@U;$HjV|^1P8qsw@cCVum!qA_&Egn514wK?u0oWG|^6 zcw~Nkvr}3I^0gdB6j=ATb5y1dp4d~XLbSWfLa4U^V+8Ic@@NpsA?siIu`4?sF>p#- z4sg&|a$_Fj?0o`ERctB%FV+21dM}5H8OMmwN4?d&wAklLHWalYVKNplWFzFX3~`uX zEpI}O^s-}CUb<*dR(x|S@C>>FGul8bWcO$|T59SD^v_#W^4wweyo?dC!SS6wp5D+9 zP7FMg4aP|AiyO5px*fdgIyRK%$D3rQveEWFZg&G)OirFbMzCHHq%QNGg7vb9^{5n^?Rm0~f}et)*^2~x1yoR4 zR`2@GsS77FDnb>cSg_Xf?5KtQ7Yi~5tV#y>Z0fkqC}~2d0o<9uOTSkv(fL%LI#!MM zCPcNeulIB^wSRiAFDP%68`l$j-zoGv+x86VN~yRh9M%ZQrFUaK?0qt~YK3%NAx=wU4}Sq~_gVj1~TB40qMW+_lE(i2YA5l+k! z&6dGxEloK|MYReN!8RF+%5Sd5ZZVFat>JXLjgqI~`Bg+LnJjUFsIe(XPsRGPl?4=< zbt$U^8FNgX^51lBlGLQ3N#j+*sa#z3ag>N2So2_0L0zC#Y>ddXKyHQMZxz9bM^%Bg zvcjCZkg?s^D@E~+?UpbIh`;oyN!@ugC4{Q)q*y8o7b*ytD2^S1Lxq2{0Zg?PJfqI2 z!>dbJc7VqW$lP!c@eDwYR~!hlMn#x?ywi-6`A22<-SD95_;YAbqcIM^yc5LiS*TCQ z#E=5XRb&nJJZ6|VyMv9rnmmP~5_ z$T4(-Ni`0UL@n6sRTaZIT)~}5eK}68^U}soD*^_2D>Qg2?yu>))NQyl0OC=!Aubtv zG;q);JjtPN4>qgL0<#1O^pi#`n2g=}`A*k3G$to-vSn9N+v4m(T~|Fd%s263RU#O( z-<`6lT&;QGvOD6zYlmYttJhKi2D-Q@p@y~|^}NW8?0?lbg8~^3(oqO?3pU@=!#pct zuwpW6CoD4u5jokiaj`~&aW8G$7@)`FfV)f|eULHd6pOf^r^cFM|CS)as9K!7w75Gt zEO@Rg&{c}y3lBI z&P0E70h}Lf5H}{}q)ctx!&FF(tVYWIZGHz zwR;&HaNbw0N6vb*zgd$}SsL$LHpFDtd1T>8F2l*8;FISuhG4-|8UI(IrW>@IWLzZo zF12*6rG77nYC_%vf~ym3|8C^z4>#E_1?VXJ8M1z+qu*HRLls({ubw}~E|+BJtsDFd z(}^pLavyNH+k$Z>Pd$*`R6xTfEl*mZ43aytK30NZu>8&%G?31SMjnwoO-6t z1ei;7sOc*&z~XBi2yV*o4l4f)yQrJ$4N^!^5{`U@`&EVqN~~it@#0{M3CV~ehmW%^O7FVfR296oe=@zf;EB{7Bt*9~P6Ua;5`%}PD0%A+- zPwrOV=Gx%a%WPcSGxprpxV2IBGsp}yr_`K1<)1jT<{_E3eKinvGn%e*A-$!(k--#{ z(RW(=uOo~%R@gXZ01?sJ&-TDe1eUVxPYAt~f5Q7ZRd&eZej}QuI#uOyztKV{Qf>)$ zEU48V(Gf;2E8Saa5c(?`AQK`I4KEFusUMJPlCefBI${^9eii#fdPRnkaQ)4L8$8ND|frQlFY(C4!&0jFIAJ^kJz1yZ&`m z=IIuMff)y%!xYPcV(|SxU$&5)@nAcaoiOmuKkY7F zqW-RQf|d-0{9HXBR=XNX4nro}-|yx>)HhTflYsF&uJ0>UZZFDr69SrU(4ONNdL zXEv^o9yE|}(qL_qPS$-7TX^bOw0(d<(}8>D*^2mfqn4(BMWfygAduC|m`?y(D^2_+ ze-!S}j)qtL>z5rd0U+~u90l*B5UqjXT8Qu=5&nIQYsKC;Pf>!Ebko9G)oqo$cE`yF zZku%oD!L)Z?T3~W{kh=0CFZ0W2UFEjWogTmDb0q z19I@qG?uCPZ-XOQ{XmpFHzQJ?OTMM7I5bTv7xOpTYKQ3U797<1UNUZB@^Hbu*3)gQ7AD~<8J|Hf9Xb~s!xG>a-llyb zUwF}NY;|$>%P*ebPe^z9H1gs_ycICv(O1p0M2qSS*JE>1s4LhleLgIo5D3d{XzwGk{!ax^~l=2r}4lhlM1`r$`aa5Ws>gS7@l zw>xvMk{Ga>8od;4B0pP zTw));IlIN!RFv+1{!G@Xa=O!EYPe?uH*5cBTAJ(InD#9)|fm|B3R0a0pufUh|Lf{JMmnwg^s!I z$!F$~M+$gl>emsLayy1lzC(4?gyoweY-D26#iabSj|_vM9oE5d=CTOotQB6kWW@V!l5db5>nT6c!&_!*Fq4^M z&)DR)h5 zN72)qxIN4~e#Mn_L>B{1u0v^bLerYmeNnLT0#tTpUEodkC}=Dg#a^f+K#~Q4Q;pAU z+Q{C)9EN5{ooaAJ?{|fTAJ%r%xjsv9%79n70t+2_E174eI`V2I z6Y=XWL!!FY4hYg8uGc^TQ)$rnr+e4+0+BYAJ5-)v4`q!fP@Fw2YtHlzlxLa04t`~f zUpf^LTirM4SDK@r^A!6>$u+k?`reuOQyOc;_oH;Z`S!!mb-AAtY;rW{cZFIMrvj}S z_tNJ*6_@Fp^P{0c+_7wj+fOWUSUR7c@=dyFD^xoe#VtGJR%)?KYoHde3#`pC(3Mkv ze~ec0VF;&7dh%rDIm?}l_TD}=`}(*K-bME{MF+vjEd-Ha#Jk(j-NoqQg7i#FmHWr3 zNtK!&(W*fE768HVBHGC>wiz7ql=~RM!J_pjmm)4PKV(o6)F{1h73q)T$}!_{Ps|cp zcAU!0on!V?+*qeQ$5cBfX)&vezZ^D$*>3gf&N7?ZI7*pZY?!|S*r0f-AUKNmc@eDw zGEVmDfbV<^NxTN$+d8wIrit8PWXnR^BWjXA#aQh=RlAL@1@qcEk8%T>aQDRyxF6~~ zb~RfIn6_ekRQp`r=US!RZ!fO58om+SJx(Ja*9Ty>>4xFq2l78(>4SK0cZk#lDHf$gSy003~vC*R*FA@*0mzuFJl(x#CGZ;8TW%^*}K^ zOcKVd{?|REgdtuwJ=68zfi9-@Ec1a;`Sq$x+E>?1tLACs!BSSdKt7-3{agN z4L^85UZju}JRZe5#i^;IgrWKuc)BIUOoweelJAesBlooxQPPdH~C=uBxF z!^H}mxKJx|Bwn=5`{iWg+_Z z{a12{{dJi5Iw4u=+b3;z#s=X-% zDYnm>b|Mlv7iO&nrv<4xrASbF2ZF@NTZIjm>@=)Ot_n3MSyjsmN;|t&AiQ3jCK7>O z4@7zD_moXH2u#QH;$dj)%#5mb=bS)mWq#L}L|cgxp8V3oc2HA2Mw?od%|(Z|w?dsS zUSV_0zP71%!96VkwpdC3g`oG78$%?MHwB)w;5t@?AGuNGYFSgTp?!v|%OtJN@@~@+ z)Mdoh25EV}9iQvaidp?qp8aBw&NZW(!S&KIu}gvUwInqkqwBye6j_B;iH|@&jNe|i zaaUCnF@YLlKBOhRk>my)HJCs>V=VjX)J}dWy>9O;YHKJ43E6P4ioFblKpS*h6(?%Z z$h*Znc*-9^tA2MXT~S`rv_o!HqZ1}IOwnDfVZG_X9>6Dq^UA?6$Jb?NI)r6>{!9#6 zLvkOyT#xe6Q(ijzL~h_!uOS*3fhbXksOF1n>y2R}l>8P^ZXE!6bw8FA2p1JxiIc|n zq1!#(}O7J5Zd_bGjhs$aBA-&Xm-9%fZSudStI=uen4Zj{FBNlJ)Z1?jHz_ zMu_ds647jrS&K2qgKFd1cX)TbB4#?j_$yjW+t2~F&CnX~4;y-t{q1K=gpdi>;F=md zw3ioNLN`K6k(!s}CKpQk4}c+!G=C*Bi_D@ucpBULxCS*o*vZ#XpHs7nW35!S3@VbU}mjpk5;? zoK>k+FdqX@>UWMgwi^f9ohRpBgcL-jzXI-R^Aw>ldsv+FZB5respOz(rJ+99-bvKO zDcK$oLw|@(aMN_iAyDu{(35;G6phz*saZnBMx3f($@Nf9g(cy~4k5d+cMvy82oQ%v zO2DMbpYJ;M;ZHl@_KrFf6Dh|fq2yvkDeEn=aW!HOabrlPSpSr0f&=Jg9qays{OYTY zeOVe1xHXnFo_sG$&FH)}P@}{{8rCB~M4HTq;RZEKs){Jp*iLoH9+QdZPnz|>)B#d^ zl>{v-U^+y=@8icXj$?v^Ki6P2$;6x=|FXtY4@V6cfQ ztvaom!683ZJo_8Q+>3J@k5oH|qgHV@{)ceU>$0~1Ha>ehqWUP<`p$>b5MqC`_s{A9 zcYD6RW1YxVTR3!EC9)&*7>k?xDmwGjsl?%(a#wkN^A6o@XAFoZ3kKeFSkbTm#$5^v z&vo-&r94j_&l(Lb+(D3!th$r{{3LQC&Ig}%U*8E7yh_;tc0)I@(#oTaO}*2c?tPEz1JVA2S}X-Vtn&K9^tMZC+aTK~8 zt8~3@N$ns5>5uQ*_D(~gi3@D3-M7!3S;kn^(LOd!VL&%MM1`_My$spPXsKdcg)k}; zw;yUhrF8|vgc_>Y)Wt@0eYd5%!{eJ3-uQN(DPh1@2wACc%2rY&9z>-nIXt}hl#%wN zbJBr~@VxlYCcMUJl*IH4iY|XyyZG%FG3}UfCN6zpK#Qi_u7Hpxiet7NYvt#p47TF) zTkE9)Zu1rymlp~k5>2;L+X$CQj)4(u0Ih#H8-swg+KF~U!|nh}RMvu|F|iyQr+cl2 zire!8HhNdtlPNj*K=;(U#3)_jYnwe3RM6k3KXe&>RSBSc;lYlhj#m#xRqUAN4Z@s) zr^aYRTn*`}+sX_#;Z{i(!&YKlLIi6TTpP-ROajZuILsthm`PCy<%K|2eNM0TJPjdX z&|ht2@WbmhmL%p?tZ4tDH>qwUkjPOenAwFgCsIUlNIf7mU&!-}QQHZ}JbWPP8OA8e z9}^xx`=u8$YP8{~k)jN8AfoYl0lqAl`G>iR8kqBxIFeD?!EAl7h9R>II+-cl^QmPd z>B(oY3G#q@L8_MvM)f6;!$T z=wE=j3s5bUs=sle%^SH-*xwqX96Ut>eQ4;z2a=-upK(J1Ss1vzeuI<_I2P0ynreN< z^1kx)nyMTR5v7vcm^&^NMCdfA?gK6WHOhDgV760+oR%MuNn{pw`hn;wUYmW#S)W^_JrK%Nw)e*9#l zc8tZG(Z1odJ5OZx+d6#GT4rwI#fUUr@56r(EeDdO_w)2D=>58|IKjy0D2stHLGfx{F~!#=sm1x9mVK(pdgAD7bB%QYyBXbBSyrgb-0{)!eg=h` z=PuFG@QRwVoOPM3StP0ow`xBJB`8V3d9s#^E!MOEX> z@w2$}OpoStJrY{qQaOe6t9&0*RAm$&h4P8-VR)2|X8Aw;IFCn{C7{Qb{1!}U zw#jCh`nvQpZ16Q{sVq^cQJy9}$s|K<*{+B0&x_b)D?zqGcyTn$w>L?rf5tf*rn{_X z%E-9=O?G^7kKRAoLY?0RPw#AD$#1OxsI6vQ&ZU^;y&Z!6{ayW&>RgD~^g?U?k-bfy z)7~t1ks{ZS;c0#C%+HBzR@$@Mt&o&N{!=5yMV7&U?9YUsT=Io?&R%}Pt@p{%Yf$rZH$n)8CLSCy!=-Y7vI=d*`viGw< zZIp_aCHnJr#1A^VyknlIC@>M*mur2aPdM`jOQwIC$?2s|YeqU%LiXs>|2H#J*^Z8% z6P(KzFyk@x?{Q6^T|O>?l@fur?4RU9BE?@f%c;6YRdg3dO z+dLI-UiJGyl}GI9ecQJ~H(mCRRq5}uYn~5H_Ro^X$FCvQLROZ%jif{*6Ukj|r@kLO zNuW9vf&YPwo-07iCxX7l>`!@q(ahpC3k~OkxPmQdSAya>`@icaHwd>yPL#bcf8?^{kn$Yf%I=QHYJ z)Ka#RT?IRSyd?HCsH0_xr=HH{Em`)Zb!6|G&0}58;#@H0`JAi$hn<9A9S;;2N7lJJ zNxHJALOIZrt|YY<8Jc4Azt@b>eJ&X-@9j;gqU=3YtzFU>c5{fb`> zFy43S=9u=J0$Flg_`8F2e(pMsXW;9|()!#8-^;?=65by#$A7)wR*r|7F2+gYr;kZ| z*f=jWfID6iDSUqt#aoj~;%7;IpU1sEyl3FC$H$Fbv(38Bn-0XcJTfrRzUdA_*%5mj z!4&;H(8^9q6dc$%->%(0eoF1_+46KLR{os%wWp%l`0~j8*8a$0qom8#divnfLeL2F zJ?E%BGGRhpvda_4`<8|Fdi-$fULAn$*_!8v^?4K4e8BJV#;fbfZ2E1AwC-?(2gy}e zk%RZG2^j53&%a*19&!}gFl33R84qwfWBAtp*^DTtu$op7kIK06`0*x=_^Z{=;<-0e zW3mdbmbk~ylV|fKmvQwk$N&8P8HagwNeW#;yGR|s@@xK)^Qt;?kt7$>iAva%XEhCH!^)SV zzerN|@zbU6)jMXWXW?dAyc((LGunI)p6jO}#7FM$cbav2RwjKpp7wK@H>&?y1#VT= zfD=Veloc;Qo|{4EtH9;>Df1Wb?})+s+H&TnxzwYKM)yzM`@WOqJLTkOUdH`%!mIEu zyytK8+4oB(s+$VXeG*yU)t2Z(pEk@DTTg?wo84`0x?}GX_5?Kx9|}~gf<^aWXc(lB zF`?%n`;z=uxtLVwqOs6lLnPQ#{T1lQEHfQ^s7M8g5TQdEBqZ|EJo@ida;V;}ec@lV zSPBhUxRn|-5kcf=*tsR>KeyZXb!CKIk~3@c9FjzZYMHaZMG4kFN9Dr1M^oVIt_$e~ z2quZy91Izo{LDmz(!mg5@HVjc67wFH1*M1$Q zQBQoC+X4MeOolqmiCqMGC^AP2BCxD2Dna{ME3=Ih(tE8U{8;{a20|cj%AILqs`G!j z7RuZ7r)?VB``WQ`nyM>0Ub4>=?0vr!50zy8^$csa$i-f=;#v3)0Chl$zhKT@3UHf# zyRm}U>a1De07}{kIamcI(2~;1g7>|O1a}Ww8zH*k- zxx|xL(0P5LagOv}$)?Fp^9u{4B`5xSuJq0t`{Bpu`my%FLTSVNfIwO1%}XR1?FRE; zv(y%#g67st652m{RMsq~w#CA;eJbo-wtP0HuadSq`pg7<_D1{N$5%@?l+kV5MF7iC zr(ICBqBB9!k!Cv8V!%!Mz|1G5h0AyB-?gLHA7hg~Ht$SI|GL;++o2s=e^o$z7N3&6 zAm46oIdNaRbiHJ2+Z6#p&77b?Wb2Z}>&pcx^G=ti-f{1HcP%Q{c<`j45N=5t6Gx0_ zB}}ldp4Em>tLBJ`ONkqtDZldqY0IKQaG)t_WSC%NyxT7RtBumei-f>O4zm4G-kf)y z!H}EZyOMnRy>pKHOIpG7JWU7!))iiEvMqBsL#ojWuZj8IIkX>ccmWaUXv>F!BK=j{ zq!sUom2n40{dsK>XNQxH;Nl?c*Pl(=9i9vxn9nI zH2-uA?2Z@FU^K6~Q96sf?)#|;OhxmS*GVhg2BG=bacNfVi)jj)Yp#`+o=l_9eD}35 zg(t(lqk|`Je)dgMu65bT=rozeb<%8V#hLOAV3oYv@5Om<@L&HMGpX9)q7J*TOO%M(AiqnSVSkEvNR9x#;!KHX29fhS$S0 zG=j{_Uk|2DXz#p8_Kx|$8>D7xotQs=1E3tO7<0z;&;)&U&h^r&0JFqAc)hd&tqAkj z_0oF!W&C>Sc(6`4cijN98mz$0qc=zwSsKLr@(t2)OB0&AZj_FjU%ydWXRZc-^dx!UiKT9})3Q{I?VN(-IRx|K~lvH3tL zpUJ6Y+5MXZmx(LxUw52`Vc$h7(opPOTxjmfE9rDeqsb^0ogIFRs7hYPzv`<1O3S4QkK_B_u) zi+n{vJ1i?&0l10m`sMQDqe>>1%MP@!9ViX8uRDK3$N3vje=t(#b!>uX6z)otKvTGb z9!lxiYw!RCGZ0$O_VIGoZ|;ZU>ZtnPkqm1K8-MJEYvpV?#6w-Yp69 z@9vQ1Ph;+G<|D_Y`JqV>niSQW6z0d@540TnfOMQGSMyUJkPe;-deD5^2Vve%x^nx! zO&|LDsjl42&wNN)80xZ6mxa14)MclIE^9MCx)LTbu^dF`{#DYoQr!GjOgcAIU{ly% zpZEQ5o>~g*xJ!XqAq4qWBCOF`7Kmr;tvT$W{hPVTq12U7(ti%G=unUs5{Fa@he z%t+6YPhV;4z{=2kfR4K$Q7G_JPGKh0%B{w9H8+@$*C^VM4u94h9>s4$R$vrHP{gyt z=}C)A<}aVVoww=?C!n6tauPRBb4OIMGjVd=Lkm_-P=<0U75F1h*B`G2wK4DT8m55b z;K_>OKULs4G^#?Q>a_Je2ra14f(k9DNmx+-*i>Bzxo`_0)K;Ok3bj?JtwL?}@@cD^ zo1UMn7kH?xLTwdlt592o+Un)jR;QV7_rr~MedR^bMehi8N~lvpof7JlP^X+}I_1-i zPks5M+;R;yMyN4DjS*^$P-C3t8sn+PUz|*hu|@8dkMX;0?3VtBQe?MK4OKU?`5|^e zg{@g4U2L3X9Iet}WIa5=6h_kk*5u1Qu(1EEHkN(ks# zx4n`zf*Jp@wBgi|@aEG$mKFvG^d?sZ4|6RV-{r--+4&P`(IjQLdGsez%rB?SUtABM zKKs;yQ$b97uz(_)^{?^uv(1m)Ax%4Z;@bSkPk|RhvHW6)~m3qUD5h=gdePt^Y#FurrA|8AL;o z9g6HwWQQXA#S_{8+4xi_vR_J(y}-PdNNbPtp!ED8eSdan*pTyuQ5I);G@HwTEJ)`{ z8I|w4$VG-}x>Yo)=5j37vN5a}90rS%pN|^yh+-J3ChIgAr7^6I(Rj@TO;hz^Ay1=9 zu2%B0dNfPV>t(hv#li4)lGSOJ1$0lRSVGB#fdy#j{ZPw_&uS_ehFlD7Y@a8B?0y*8nF>o*8zFlZABl`le&=ss7cH_ zsM@a^$g@9MMjC(II=xgZsv02iZBMT}orM0;+Gz|Uq;6I-`Sf4+%#>qe?R(-E%Ch<7 zeBj3?7EATy?!T-9F*NIzLm&tqS|u&K<*m{z=^&}QaS^%UnrWoz`NmtmBpnXbN2op~ zR397TEhBYQ8k2{7U=irQvj?ZHUAjK*mRgmthzFTgUt8d(1yX zq*qm;msU*x(rk=N&2@VsT@B`%xYY7O^_B^G>o+HU*eNwgr>xFueEQv?&Uy)SmievP znyyg$oPOG8E<22&8Hsg}Ed7Vf%Vt8)K_A^`ez8INc&L+JYMo^EPp{cHk$N$+(`y#a zenINQymxv{i#aDQ%{!xX#tlusdRM43&J>-ohCDAXAj#isVZyugo0Z5JGb(Bl^4s5B z9x9QSLW!)O<9oVtIY8djD6JvC1&wk8Py-{1b!7gr>E>gNQsmYqSTxb(TZtyA+Z<_< zwwa%80-{^KNLp&^pqTkg3rMUTv!!&Xg+eWKs%fFGG`(T6T4**;-BQvpHOD&g*Zclq z>N=^V9$_TOW#7E6l6IQU6GHPglNfB){M$MZJdZut{W7YpId=D>Wa*>xLM0X|u~3PH zN-R`jFR2oHtm*sj43$`@#6l$&DzQ+By~32(bG2ss*+8N{i%Lu8i)0h$wNaTv{@1%C?piCs#GcPfPXm!KQm} z4%Jhro#;Ye2)Km7vb@QZ}P)D6vIx2T+>!`b%-h5NFI%-3xokHz2Iqful<)7C& zTBv>@mPg4_JUo;vmU6jNMo-7azxv!fM>jRiXTrx_r1>v@8|tf2UxoVW4A)opG`%C# zSE0UoiS*U2T{R0s?G$RKP&=J;?PP*>S}{Z3oXr8#tE zo_KSpvqGH}>a0*_g*xk$(^+q?1#myP4hZ9n)J}ij^o}=$+9}jdp>{gcwUY_j>9P}Z z=Su}CR8eP!iW*tG=9CWQcYD*@PJQLHBtSXs(6oY9o^M z_slilSVlWNT-(64(J7*&%mFJ_mj8Cz_=4xJsyR7IZMHS_Z1}f4B(1&WIjK|7 za|>gffq9;6R?u8BL)ux5_LEfe$r;kBldS(1Niu3ckiX<-O_7Q^upWx8Z2}QvX~9Jx zv>O+Jkl`;8j`>83)G}pFXo4pE13;4I!atACgF+kUN<(EeqY0YvE-3j=^QA+iwP_)0 zvU>B_*?_yv3#9FKy(^&1&V|yx$*4D~XzrdT)m5cFO;Dfz1g)G{1WE!rzS8`cX@H$A zi={qzN)}6hGo`i>_A>MPEg;fC3)Y|I<|;tZ5-ADI00AtbT6h+tsYw4Gb<`YOCapZn z7EINs=2pbzO8Dm|^Fh18aAyYV>Y3)NS4nS0HN4iZtLvwM?kvbf^IukiiIiFe8qW)9 zk{TRQ{m-*Rp6NMTD!3ke;cRKh^`N~~I^=qATdQ=;^n5u<^7T_fODdv3^_!$~CC&j3lXZ+yw<_+QpfY!iS!BF{Z{-uVCf^ScCtpvEYWXa1*${QvBI33yvqmGGzc>@3dGY<3c7 zdwGs4sgYzmNtZZrTE}r3(=-XT(*?&B&(gCkB1@{CWXEaKz_dUqlmSG0DFeemTee{+ z48xeErBK!a1qK+_zojkfPzIQR&d?U7|2cPgyJR^{x?z2-BfWR;x#ymH?z!ijd+xc{ zJaty7=gBqrbM(m#WW)7=`SYN}EXO|xOGtl7o z4bOMIVS~>4l}rr}>v=tsplX9P*QrvshAMSt^BR;Z#0?&)2{U(J?RW z)oeE6WalDSvw`eONO4hMheuoSZ;ku{ui<<~%F7A>e0ZpsDHN5yoSsMxrxF7A&zHf# zgFdsIEL|87x~E-jPIq!LllhTx(BRUAai;8p-#}e7GU4Hf26s3Dy%P70^S>Rn|rw%_Z(ue4;SVk}G zLiGAaQwCmPHImoH6!0EPDU^dIQ%>r?g~>{U9IL!G_-Jzagr&L+YO5)Rc$qeEyb`(Q^y)rwt#1{fJ`2cOzRqq8q}zxDuNP^4;Kr?ydIA$Tsfwq z3!Y}EYFZ~$X^_O?Yt~?OK@5N{VCbUeK`Isw;iG&V=&0?cw#PN@n4@?xb9FIW(Cc^r zOb>lZLti`<-Bko8TCNZWU5ufV)&S?xoR-9v%paoae(}K8qf7#d*45cX9w;yB5GQ6V zH>vUqDu+{{6mhJ8xoqO7UWlc$ z6R0Qi?JOggqbij65z~(q^h`1|5DH?QAaF%4?AG`xml`>oZr&x9ttwhRF$x?S8_^4g z#N202SR>>C$8 ztEP?VB0rs!DP$|r<+OI5R!(aL-6#OBT*DZnT{)1=Kouke`+kBcBS%LJd#P(qh%(ol zU?nJlim3v&N9hEFZ8s6*%x&aiyboNq#7zSUKVpgSE6CrOWkLH1G3*CuvxB&5fQ+I@ z;|k}zj*`vt7>5#vRTpg#CxnPVAgt`_P+G(74iJfKrjW`MEo_~wcPMTQ8OzY^1x63v zrM>Xra6WB>Tn&h_9p)az5C~ejNx@$^*%Hkk_B;mMYv39X3dTUf1YLlgz_|eQhsoh$ zqo6cv`2q(^cSew^N?Ol^XaJkCOWEpeM+|m+R5M1QHT*u%zHQJ`P){3rmDO9lwfXK1 z%FA3fn{H_~*nd=R0;O?$fe&C6ViMDY$-a6!jSOxLC4h*aBo+{Pa}hztuou8kUe}JY zNd*Mtyn$21!IcSw;Bdh|TsZ*6 z5Gf|+Sg6?uD^bNbn#$!;nGuZU@EMH|iWzfxiYRV5#TO(e#$i9fgkegU@u-cb4t08^W*esh)KH< zIVHmJ$CRl#1_Ny_3UReWXeti11X=|(6?8g-ixN&dMgSuYmyF^`9e*{V70Wg8pS)42|HVl+#IoXM3FV4#{1!9cBqK$0O)$VQo3X0|SrylEOY8-;1H zr>C#K_u%xTVfH`Yr}9I}Fp;9`k_{*RyK0pB4)^qTSL**B))Yz#Hw7#cpxOqhC3V`U z&}T!=2S-oh(3T7rp=n)ysD1IXGqQH zXvP;5w3R^?WOTPpjS@*7lolH4k&OuWMa)H2Qkk@dtF!a7d^@$BYu&!(g zv&oq0lfgm*-ok_BFrlO5j|dasw*3N|$(bnTZQBIC)tOm{{pe+W3Dyz1HxP^l-L~ws zi1^voF61bTn2}4T3L$7BqO^r)+%vEe`{-+@ZAi7$Y+kHSKK8PIQ@(g|$3P)fNb8|6 zCyQ|k!*D9dB8{fO)fzDe?+J-p1?QQ*V;2BVXG~Mwrz_>U!KG~2ROvl>h;8meU8>bs z80YkCF0Ff&7t53}y<2W7nPr(bNZHwJ?4ni(YsL|hS5ESk`EUrJ2n~av(vxw04783o z2wc!ij2Qi84IA^SIgxBq(3NPkx3pM&&FF=eq2h?qvbAmdwyj%SKR9Iu4i_kQ#2DSD2858EP9|t4HOB+l*0xpp+UY8*2$bNif~~D{Z(`yO|qhL z?K>c4npAdj50KrjAFMFzDgo^*!lFM7WVSw_?@9O(gqf7efMlw)z?rLw=>!sv&JN4R z8B1qJQkgh4|LxvQOG0|}L81Ilzi9DYe6AB)zDgWn=mW}a#MmO+bY_Y0?8<<&stM#S9FjVMNi~h~*{~PBu{ZNyZcChDNKaViDkar6oV<8kVWj0aiY z8E@1jH^1fFsWo}&EwU?iWorJo^i<7UerR+`zDD}}(&Q7;)7!B0HkphUrSqq)^8J7( za_mRfN|%wxZj{aBY!wKqtiWfl)wL?NKeRL6nUK8?g@0FmNk z@f)RjH-Yi>67tmRr6B2fqtwE-bFX`&w8BQ3FH3J}ot`vHoTLFHu76uV4b+jZzAdnd zssBlRD5YiMAW4&Ha~laBUa)1$RNc7r6@huNaFX@ zte8LF=Hj2FH>dXxq}QGadjE6H)TV2sfBmZ_?f=!>u;mPpwz=lqCfqASR%ZJq`mr3C zbV+4ArBM%G=b;{DQZMYl$Ody6ZYuTs$69jb>!dlmw{N>(%lYPu#Hf}T(TzC#lXOfD z_&1x=Gjz9zmEjw6p>XN?SFUO151|HI9%5bWLC6lVblrEBmp*kv{Z-CpVu>`M9J16v z*Ipnm4Ge<43=TSNENf$LAc*Q+aFBfOxYUF!*A$p%KD+o@sr1*(fOp9M*LFr2klcBT zbgs!y-j{H=K7XyWa;D?Bl22b@irXRXcySHuN9E5xgJC_x zLrJo4m*$=NFp`(Q9V)%}#_WsocTaK58Z5=$79ux0j?c|F-gC<1NVdNd)|VNM+V=VE zj5Gk69lz5texHzEGjm7J?D&-*zsKj0zqtuU?V~qJFCkCgD4jzZUma+`@gt{s=>8(V z`voy{ZI?R3%^U$~9ZIk@s5B}42lpJrE$VR^%`XBc6>cgSc)UnUrzbB2%8QYtjIfyW zB2|zPNk{LLMl6Y*C#b3(TP`Kmin= zSL1)*+V4ZlLohDeM-j++?a9eyevqsY$du|ice2E9uGv@2JNBA z@j}*v6!L}-N><6~5i&zG;{}pg8CV|nYt8cvkt6l54lG~lc|~e(m$uSbvds~l=;&O; z3zElkBEzlopHOob+dR|Gcu$~Xr)s1WER5EUc z6Vlu*b)pzFVm?dbaZ7gmf`(<~$24H$Y$n9w4kIG$*E~&;O<-MQxY64AudO>x>GgIg+QkFK2@n&_2G(c2#AKG0U z31x>~p(hHQD2F<`F6q3uJKo!kS0*-9X#CI$fly^;uAgQakS!wx%{Xd1QHRfC znIa9|>JaZ^@NX=YbQYqax2`hunX_14XYAxEnVo=%?<~n!9wY5+Wvz$K!tB(itsr~g zECgeb8p-IoU|-u7q^M>V@jb@o2gzMC<~Za@OON5cX8|1!6$rX@W4bWLziP`Uy|(fueX!X;vRTs$2VTk@*_Gs zQCVfX?9hV?GCK%SiEQTVea2K{N3bgqtt*>Gi)>S-O-BlvCPV99rY^2C+nhYAxwe#|9S9Pgd;6hAz#f^A9mg7%z?_Rwr|2S!A8 z%;a+<6LhU_8V!_oKEx8)%E&ew%|KZ#MUT&B@mOg4kqn@O zrd9>g(UbQ12oM?8VO-hpK|VAV14USmC-OS{lXM*&cDFqye$+Yn&mJ!Bm^jF8T3L1j zYbQ0HDolnw5hfumhNoLuBubLT4?{P3t^n+5nVIi7T8|$M44DbgmWos{2=-)@L#T}c z-v-N+=O+<-2F~yBx|;%`zNe(^6n2x+35Ej50II2RodlI1>^-#ws7{E-1gV~9Y5+E2 z%X9$RF}DU_tq}CJ72hw8k(xT7IO7&^RJ7OtNEbJ24GcO)7WF22h{<)D6hApUo{w%y zD8tVqsn@FB90AxU?O`7tXbI7316u}TXlCU?VR4kHB^VxP9rU5Tg`YUP%JLIB$l+NO z)gu|6WZSB5)v*mnot^MpUi;IXGZ_0?bT)7NfnlPQ5G5A=a(1p+tw^mvsUI9`wNj>l~q>1U-!hqXv`_hxG8fkgEn;s2MdK zh8+kzZr6E7GT79d#M}>fMSv3B1%FvG2L;nXa4)Nu_5DW1!GdBAi{E$_ObHfw5<)>~ z9{`+XMScF$QQfZ^m#jaMhc^$1gOLS2$nn2SM722jUA5j>inpB@BlrkZuSQ)IXYJr#4pd< z2D2_3oc^>rJ#pqH@JKp4q@^7)F=E&EBCu#wb661{4z#t4%vFxHXqXNn?EE~ zGdxadYjO`zR1ATSU((XX*fgdA=eQQZitIc+El&J{0>}X1jAw=dZ*eFWFX-BsV>#!w zqPBqxven(|59RgowDqO*kfX7CvX9yoA(4u#GY5=4j_FRqv0?_NjM;%|YA4518SIpX zOAoiG{P3`7F_d$g8H~6ou>OVOlFy>iMk$ozodZJ-Eqvzd^HPJK%nc4YxMP17G=E?X zJQJ;isB?Zyn^X$gQQV@zDVD-#&uGC8jtuvC^n>kXpe+}-aOkkUPIvHIkjid~ znWM|wr^3$R6tv=y5f%{wHF6MX5OI1!FJ$}x0U7%AL*L%=8= zIe@UOD~KTS3wz_19v)oFJ2HYcXVY*I4AKs#{yQ;>M?&zCU$UyO&oi@sZh9GlR%rOM z@u#G+d5FVK5hXs%=~{)S*VY_w%wDe|@G88y{?N^e{^0!xg~z~=)*90?+{S4|1o+up zFj%?D>H}aiwQg-Ai=QzAc{(`IH=3PjF)m5vT0G7w1jVcuA2S>4qw|Sx;Fy^OTwr*y zP!Llia6d&0em4$M6_E*b`UI_0@!P9Gnmz&B>6+okG33_mP&k$sjtHLXzs^lIS{EqO7c9pwNLcPSb2dv8!HD{o_|#_( zqq0?Y`&8ixZYmC@g<85u@Q(l#GRQr}R%qy>rP|@0ASlkQ|+fHRTtI zI@0h}Y28%M*QDOS)F-|!eOn3yOE3A4HRRLZllJdTwzZDD>@H~;nYc?D zo_gpmDLL;2NC~q2-=sCOU3PZ)e*#bME7#>EfvLG4m3GX1QFi2KM$Uq2wdo_#BRLwY0oCVx|Ut(`n~Nniyk6|(mW zQoR(6kl`;#y`V8szhGInAkzO;0RWu*65#vhFG+X6_w&9ittEY5mM(+pmAx$Ft6!Fa zP~*S9ENv$1zaj;#YvLF-L2~1i)EEd7<15k*AHy7h_&g;)0$61J{nCXEimxYu4BszZ z1P#CMeyL%Z7XbO;{nGDUTt$GZZeFO^OhNL#2c$;wm#;|$fRz8b6kcdIqe=%JXd!?6 zx-{a$gBL7S+}bw-cHkRQ(B#ka%9Z;5H>8NkyW61g3%)5WXRn68DQ&WtdDmK{f?i4* zz9sc1zgP3M-DkN1&dIrVNoT+47@yqv0~kg-f0J+hKvF96FgfdoP;*9nO0N2$6t-B9 zyyb^d!(R)-kvIPc2uB&~A8S824P!Oh*F==oK6h3JSa6f`H}!%-aF^W#OCmkA@bvoN-_R@ zYRNxKTVA+qN|cAB^^_UOo`vwU|3`R>NrJ1?q+@BaNO%gCCKNZ+Z%ayQnL9xc_9 zTR$N!AjhVpE2Xg*`L`+Q>ZLp^ca{}rS+N2uzP9$R?K5D-okaVHbn{I3aW3aW^5ZFK zWICoKz?7FvJ@!edRVH7!N7_5J?lV$%pq6g0lhJ#ngUGMid^38=;#_j65~%fI-DO_3 zUFK!kWe%1+S0d!|Qm!h#B*2$XkR@M|`kpVmxyb8CeI7Asc}{$&=D)U`HclkKiSM5J z-;YV}mS)-Ubg*L+`NjRxPhZds_QBe>#mX}n*t-kKjt8a17K6R=qtf1TyhVVw_K~4~ zkq)o4wksV+g2=v)OTnrC{TJ!ofoIBs1XytA)IWS$x+d^f$%hiK*^OV3&PGODNe+Bf zy5`I=;#S9a+BT38P}iB{(m)-i0@z4i`Yma7^5eC?jLei-*N|U*RN83g(oU0{O?civ zSn!@v#K-|F(9d&Dkv#q}7~J8HOY>)0`31+ydHlcB!hmJDV-wL5Q59nOfpd zF_lg#MT4De!7~k*rwJcMlRC!8>zM>JU)u4d$O2ogp3;L~YKXG9Jo`B)wj1U%YWZ$?n_axsd5qAm;q=Y_hyS2-a2**5!EB0FGwZJ@spqXPT z&Wd?~P#AbvVt%}!u_F!SipIdElk{9h0XmL%FIhK>F~ZQH- z7(*Zkmt982zPr*2;5m9$nEu6}dtKSsu|!evRF%O1!7z}gHUt`1v2aW*oxm%I^mtw` z03RevHOrTin^y(qVhlgLqUA6t6n(4Gy>YBHp%2B=sm##`nLGhg>PyQ4i^z4MKs|{7 zzXa9GX+9~F_AvduRdLJ~skAYRb?{be-_qpR1Ja6>_(VTe(DNBB9k&>$^!Zn=EZx4K zX1SWwhm?UrzK9p?c1!}nmC_$?ZrGyo)KmPBOq8DLfmurdwU~Ie(1Q!~>=yj6O7nLPfJ!)MyOmbYrPA4v4#DJ|yTs&^xcLNVmUs+bz>WLM#GdcqHW zzpXjqz^EKHR%t3NyzMM`2cX~#!ticn>5&vBVjC-_3#nY1or5yM6xZea3TFFRwbJL_ z*0{(ac(CMRos|^H4iTN5mv#5{0r5cFzw~wk!NnS@9;U(gkb{*>r=ns8o9U zTw-hqY*}s*HOfJ$$^&jZ~Tw6%TLymjsGh}O%YD6 z_+ROyOOBFX!ZUwiMo#=mT4f3@@~%HgK|iTPehe>6kwX?fA*ocTkZn&$D}@B9r4odU zJt4JG2|(_6LJF0i-Q<@~Nc(VRk~jTXT1qDV7c>*c{3F9pN;}KVBl77drI=%OkncVz zEh2y45(ty|Pf6{Rp-9hD(*9@8m*fXeftq!C_=_C*vvghZJMt^f#3&yn7k^!vL$3dm zw2W+67+5wts?X-A4&SmGhP0ZLqTXDfO?X@EXg1%DnXF&|xLhk>KE9oaS4_}v_FH3T z6Nk~W0eVC&$?*!=Qh@sbWbm)77-F+G^S2>YEF=3~M%dWtpt1L~;io4bs+XBrk} zL#PM}J)7qHbH?^!N+(W@4sQYjlMa{_tW3hR4*FN5HRVlp_%!c5=#KbwaLk#XWDKSV z$P7(96~D_N9pi^CFPGzZ(X8oc={ z=qr}TM78pmRMUvh@@xlYCRD?L9@p|6>Ykpy{@$M5hx@4!;4(+p1b0g(Hai>@tH3PE zreKsYr>7~$QBxnQ0|+ye)`jp3SJfhtw_JO+#Gc+pMShPA@R1(nZPEq*xY@LC&Xv49 zrHq+L2Hg_QOWAp0mPp3IxT?n(0-b`%y@}B*VBr}IR6HhNWkowlb;81x&9s<2(xzON z6^n#y{G&oDsg-iBM1<0Tv>n&eqFE-Ve5IW;y^1NqY)=OT34P@_>MqV)1pdW9Uw59k zXOC&77jvW;o;F>{m1wgi+XkiF2EAkQJ&yxB|V&2*%3VsvVRvB3~b&(pVhnU5!=;dzgE z9-3)1n(0q93!lQf0{1n3{5JW=@=4ozODpgMI3tyJ2<;W^921X1^H01YIPx358 zzB)|b(UfpXa@}R29Rm6A+Q5dXt83(Y<|XIevKkP)WnpsB*H*!of32OmZH|1)oaDO$ zZ(x`Q`Dzix)i=tdjmmU5$3jZ3tqW`j0$uFoRVwt#6efVd)oTxeDvn6C^EKLrXPA7W zMt*9MYNk$tnMJ-^D__HLbfJ7#;I)YILAi9*S2on`){^|ZH5l)$WJ!&DKIyNO8_7tG z{BY?#ll5fJ9J!9Xv{v4V);77JR=$XS`9iIH0Xe=bFpun;BhM%E=g2$EpK}Q`)lkoq zE?P~XWk%Mm4Xj?JcK7xk>=m8S&8!-wzyHy4@`k#=S>%Bgftsni=Ex`KBv*YAJMdwd zA~pqx{VKrwvg-e>biTPI!0HS?xpmgmoi%k|@TTrz%4%3W`K%bW;{FYz;>{aoQalQf z-A@#A0EK7l0uL?&dgxC}32x_C> zcWcKrnw4z}ThA`SB{`Jpt@6^@ME`tU<|Obc5%{GLmfJvuLPC#&j#3?wuG0p-zcJwWeZ?Q9?!?w z>hA0_yUVd%Oqjfm_cr46SD*%r63uX^Ym9if!|l9&Br&Qdj`AeUmX0!@Vn3iiSV0xL zaD&s_Dq>GtjTIdifH+1-rOl%3$qFw_J71dJnYlPY?5VEX6*WB2HYn0ZsV&^1aZ)p{ zrGNkwGhmoSk0mXP5`2?#kd_~1{ znggtg%E*Iwmx?|frL&9~zsBU)5G-?vD1wWkK4G)|tTr(j*+thBb3g@M8#|%eE`}*H zOc5n9k?as1v{AQuRMSS3k%XZN`fU_M1pKhNE`|w)WnjzT46!l?m8Dr@iDh$w^G$UY z+T67EL&&)hLS{2NZLwF_;V`t&@Z`ER z!y43PBgXj2mcuqu#+}Cn8%^XrO+|-=fYm?WxkolL%!+mtQU3e}`NZKa#0Dj#9|cK$!WT!ZX30p<&|BAPmk3 zM6PIzQsx&9u!y|}GlK<+Fm-sfQ=o%vCa_L9z@U%N3YhWC1}9nkYsO#=(-V`4G?Wwf z1F4s4bo;+t4bwB}F2KjCJSyIS;kA6x*n|F-Y;Fw94G%7?lE+6%mt-3s!*X366LUE> ztQQg{#r+63O?}KgU0^bBRLj#r+}qvXwJ*M}yK_$^xLNcLQ)afa;EdW9izjV5VruQ!_BEbENHRN0}lN0e;VrhXyhF#&xxY`1oHkc8DlDh-qbe zd6Y~UsU@jQw)$PRwHfzMNa0iN->J4JG>>dPHImBAMDB|Zw|P3sm^F-9rjhUBgJvAm zcjoF;*?m+9+<$VwN-i4p^=dmXN(t@#kY?Z3aet88Ed`#n?x({~gHMcapT$iJ&WFC! z0`cF@#ZP%D=QdT#i*odp@IgG>yPxf|4e5AOnP(_s>gn1cw(JnQM*kGm3&@;QcDz^U5oBq0xf(~lFr$d&45x%v%%tY=}9s8b5=cHMeVM~^}l9!M` zgWO8KwnpBFBoEahiw=+*&XJptv%92&^%|o`*#K zTwtjO*{L_ImR~o2nT`0Y53Ug)(q^EHlhP!%892m2Skk*05UQGrXaBzlBjVH-SIGGQ z!*S}BtL5VSssDiz($t%R@^1sl{ntm`oY1xf#LzT5e=YhTonH`Pp*0VVM2gthTT%7taN3sMM(3f$!aCv1-$;6>n{3v#6y0 z)q&-u`rj{FXm{LCeSU>ppnYu$kVjX^jkLpLZB$;lk>+{#_(f433XqSkkOVewsNNc~!Q&D4!+dCe8x*D^COUdX)`F!Nnn?!H^LHg~67j$n3^yb@}yc(#b$zEO5G6gM7 zPbh43D~_IGq;5WR;5TQ>r9hZ$4a=7#pALN8k3v^6^G_*C}_k3xBRc zi8&YHEe#BkKWvh}TXo-`T=7rQlTAt&jS?tisbK}yYbKQ|(wo{Z*Ybr)pNOH>Z4vx? zu03wZjJ3f4B4y_*KuI=Y1$0baln{kjyik*}sVBKfgbk7J|6#k2$L;e`j@|1(SaUZ zyw(>N=%}i22Qb=A`GP_1V3prtq=v;?Q66Y^!%A}Ziooh6O$u#8AIlXcu?*?nBrh+m zf8eT4U?0m2m>5OU3`}J6NpU|n?L9sakr86xt__9<2ims|mOge}!%0rp0e}W=D}9qy3; z2&M1?t1(4Jlv7TOg{oE>0Gw7Ax~CQQPKm?^uDL}iHDMc`(o3&C|7=zkhXrL-%%Ukj zFCGVJplmMv>~$O0tLPcP%argxRdZ zZlN%q0bVei($h(Lb@d6da6+mlU5Y%f^!?Ul0MT3`C(qQ=r$ zZ5zQlZ!B$ZTT32U8dwqot=qhI8o7nT!+{NQkCE*;z-S;ZyH1+ZDh_cY$Fp|>CY-^D zA|444gVZPRhNXeIrJcX1UCv1u8`X^XQGGImf*g8NG8WFmaa=v&9LEp`6H!Xu$tSY|@@p`rEYWwfMyd0>6%r;8R&54K)V*TW>2m1B}2I`jRR z#8294>2%y&1&q@Et9LGTJ-Y4c4em$xU#--cKf}OqjWt-Jl)HM>PGk*aG8`cg38}3Y zoJTib#**i4qdOLO1zavcpXJB&H2*R>3<9HcXuVB_}J^~ zN(&xXP99toP|4eC0*guggtQ2zz-D^x{XgpiwRINXm-bv=U+P;>R0E(!=%M1efS2Hfh)IllX<2Q=l9@*YiTn1-8M4NIwcD>g`$Ftyj@!2oK!X_)}+EAUow+c z@SOVc(o3(IyVyI!q^7#$Hy3=ojeKCMeA3ha$(C($Gb(uG$TqnF%aMs~@_DG7ojmAK z&YCE)V=45&$BTKqNlqQ6(Z%pLmI2#ujNWFK)Q3`9COQTxQW~_{7PTS-9-y2|z2Yby zFOMaR(O5oJI2qHE#g^;FlE*o`>cG%AXC2l;UDGsF2wScz7_3ws)) zJ9U`jg{61V3lypcr}8Kvaf(M{tOgCh7M01Tx5;Z!zdh;DZyg|$*@;X#3nCFk1^{g_ z^5cx&SsFMQo#Yr9lbJ+|DD8%l$|O@DdCLK5G@-B_wD9syWxHjA114t>bEnOyE5(Qs zI7pt_CSOE(>7sLi*YfAfFR`mPWaW9lYM{)JE$7J{RVXE-be`OaiXi#nc>wRq^W}s; zyq}#f@2pbEA^R?nR|uts=oiRQiZHoAz7Q1-^5YBSvr(NObGFOtEu|q4BEQ@r*Ox}W zebyOO8VK1g$4pg#d~>_pI-}*CMBC-n-j$qO*$x)3eZe*hlJ~SjzmNuZx67B|!bxg& z$cu5gWM3*QlH~9XAiQm{Bfq@>NDZqS`PUt?>Ri8&fa}CEMHcOZv3qV7CGvOM<#WvC zM$ov-5<(g~0MTc@V30zG9Q3XRf` z5oRz(+?GjL*od>DVOBKEiUzxAxOLvEw>U+^D$hBqXGKV?paD8ZamR~lyI`tBhDsOa zH!RR1%8(7~(F=l96x&I*QE!7wWr+=Ai$`8T=*L&Ove5iSxU)X#=z9d@{O19qHN zIk8^aVK*Ac+xEc>W1?Xwyu&FPE)DD;=btaHt5KD~9pvTb%Lf;3HXW!t>ZX?&^8!2Y zx= zkFKbvl4!ngqVGWLmU$er4AZ%GDx#}gY?$kmWy60t_8jk}mQBI1K~KT^yqSq%iz^dD zM9Jm>Mo23l+Ib$EiQ!TpjewSB&6r=uU+fth&TPVl9X#9_tlm6sP6H=<#u92%bxT`YTeNL!>-mauxUaLW z&avEU1#8haCgBk#E{^d03KjGK@tdZ7hDE07G=Kaf4o-h76za@k7tF1ycs!L!72I=3AMMMOX_-+dE5pIe`Md6&Bbihaj$2Ay+*0p5h_ z@OOvvxyOmWqt02tRCh4ngRKVgOGxb!Z*kufBjG_*pfsV^GVp8&I!lU9zpCLKWxyi} zEQLIE@3G?`&LUwqZX%k;ix(Azbbpq|`G~rH&IoVFt>b{9%@#Q`;^*{499e`d6LMq~ zI6VO@c00#W$##%**n1p|`&c~jEq=%Eo>733>VFgsvwo#AMSVv(%uFN9=PVrUmk5yI z=9eGh7-R0u^fEmPA$P=7^=@$Q0Zbc*_{L7ThE2E&cFZJtsxsH{U~%I`%Y9{otzL-C z2Rx$q1%H)q%+3xr&qGDNI>R!Q$9nmO3>m(R%XxG!@RMLTJVewdShraTx!3csjTU`o zY#LXMWAw;rzczvpLpJEPN)w~lnuts5E9kk9E2S2TSusoSgN%Ct37gE@;XD9MkG@&` zH0^JI74|X%lol9Y#;m(8dr%4oG60na2UKqV*;6o0|MAD3H-;%Mb}6khVN(C|#U5;3 zUvrNrfhvd^o)#A>{8T^0?c&V8t-Z9aI5QVKk_q~Z zb!aSku2CF=r6qM-k63}HE^)$vl$+_kNDl~Le&|+yw3IC zvMMm8jnfct$-$~Zf2S2nmBWH7WsI?ZLcYP5uEYz}Z(h(c$2FEJf={YEOwA*i%|W5w z33s~BY_&Ppz3&{kfUuP^NeJy9uFTLY=va0^Wn+gDZSyZpdkX7DL>br8MVpW?lM_ai zHveQ37WM-G0CctqJs%1qH&al4YtRgWqy5okI`d4!Mg8&T+LN7o?OyCMwyr+nrNj#Z_V+7pv)(qd=1_4S!y?HkAaEQy;cBf>3&ox$GD>|8SwMNUW}Uz0_o zDhdZd`fxuV%^Q(U>v_D$)CY(MHz!1IhOko&Q}=R+nQGVl8RA}uXDW@&&-Bsn)rw~E z@fXn|KHdXLqzXQ0OB3w=_{Y)*y#rZ6JmfUPKeJBdnNRcP_^tsJR~Ru)<(C)=rou8K znwjxZgP)l%H~4u5OODl>>XsdjP9A5P-x~2zjiF-{IKH*w^9^_mPX+^ ziBR_Jjwq>^9#e3Qhwes`dRhm|5f^2^7I)t1f@A^|`|ur3>yR>@<(RN|!(<{(~{-g#h;tyz2|x@z&cjVrIl z&A6*^GbOJZ#k9jG0Ap}<+H+Yn7@wi5(^S&?2ztjz>?@95s9cJB?1fRhI|-JUo;{q8 z^d!$z9tUPolznPfbxOy6~?R2@?^~}2_We?wqq@56E2AK`M*v(?Arm9Lf;S$m8XO?Urw zO0Y$+9%G5TKB6Cs8``iQ8Vz?VJJ?xH-nPWl+Xkb{3KMWjo zI|(+gR3Vwg{*PtHnWxI_^2d+m!F9Y!Oe9$fbQn|k?jF!ACJO}{BIMbJcROKS%yb!Xm^79lB|{ltzz3CaShMiAfIS$FiCO4qKjLoPJwa`q zxAxC`h(`y5PAClJg7F)`e`9_9@xGpybq|)I8?S{Pa*J}zaqeY$drNk*;e#rO#@Hog zFpilawb*urqsg$BMSJxzeQbz_P||gV$K%D4M#3u^pilOt0So!93Gg^>E?iD`yhl2* znddLcK+HLnNxDB+20xGMr3s6O&={5}H357v0v5O(LEPCH$$;(|&lh1pJECo_fjl)Z zb|~Cc!ayXnOd*alI}VR4D%~hzaJ4{{$fjf4TMd_Og`pT{2-DQB*j~hEd)w10yX1-1 ziEtD~^4X*9O!abMAkxs6!6TI!*U~8%X{?gX11ndJhB28bXvY{Hn8lbnR4SujW0lUN zU6&KFp?h}6%reQLxR#(W2#Oet;(%w#!w^nxF-I%oYp?E5QFW9WyOtJt5(LcoHHS5F%7kE2k?`elPN4BW2g*{x;e0Xa*B)B^|mdM>u3!@Yp!Z;iHHbTv^a%6P3 z?Hob-ROcBjeFoor<3Xe1G!;{aPgkeyKP_=jgQ;rbU0IwkVwplkVGKrM7PT+zqYy#UV3Ryzq!`i=K7^zotvgH zIxzS=#~_lb=CoiAoXf(+YPbA-RA&FMEw-Cbh5qayEW3cqQ>!a8Jb>|4?d^x4Bi8!n z$9xqWbz|d7G&PRahj0vFObyK{?ySTVI_$8c$QgFdqc37ye^&kTtVyqnzG^2lsL4(@ zv=Q+xW`-ub(=o4q+R&_r6qqpP@r(@1mvxy+E^>`u+U; z&^D*66MT8!o}-cJoZs#i9qYJVU$MM(b~iBFey~>hpux76CSjFGrIUF*GySNlY8@Zg zp%_Xeylj{2KtnN88Pn*_f1GEMP}umJVFE*RE858cLmJzRPhmFoB9K9=<18^`jXqEw z$9~8@_TmXZgx`o1c7i^PIRJJ5R-kdHZkbw^Wsv469BK#KIEOF92uJ~8pPWv58eM=M zl`8fn_5fA;yG=?tslzEjyU4rj;(i+*Wjo}a<#byDcP7{*Pb%D>ECBlS# zQ{J^3<=?AnhRN9@Q77!~RLpmpo{1xh!|V3Y5RmveBJ8{_9?wlumufs-H@wvIdiYg4 zr@JDaUJpNeJN)eJ@XwRm;Sa(9c)ZWOZh|djC49jmu-H{7%ByE z8xaiaP9VNEigUj>u)+&~S7PzE_7iv3RtoJyR3sN?do^&5L5dxa`nMQBL@$|n@h?_H7sHE*)|K11P;sPpz- z!`Ujd1v(olkfSU$ys?m+N*K7t;J~_mNc2IRrSuD7;~FBXA4?hWq&`#}@!zH8y<}xo z9(6ZaVTjETAIr;}7Q2ex@u}3S%3~zj@xNxzGjwN!3T(zOy%1KDcn(ZRK&_ZVZ(Ka5 zLoYK0XgyT!1xE`|DObXKr(WMSzNedc;AD;(cFw-x8)#vu;+8^=mb5M?D%Dy z@m2sMj*+8O40Mn&2ggCjpgcV-h}W%_L&bHFkWsq|va&cz8>6{5f*B+hAIZAQc3a|E zF7V4sH_oK2XLxknlH>daKS$qvOW5YK85-B_RP{pE+G7Pm)7TmNWx_t8(+>OwD0$6N z)W7bjYgTn2UVT-&bYhEK`M&T1-kuoZQn?EK;AI@B@Mo3!FkLkp{(x>apDIk2?|>-b z?SXg`u7ryyeWLI>U-XLBJ)ji9 z^Bpi1oD-2RWl23FF7?&jH{#iqFPJLBsr*|Fk8*D zK8OFA=3z~zOmQr3VFwbU)$z(;F(=l;N|MChWe?udPFnn!>$GEXIEwj4l9?49gXe>T z#o|=S5QGbzbB;rcvVUA8+T5YERe_N?RnaYkyTp9Q6E_4<<0~^Sz2`B^VW16LYjSaH zj2$wwog+g&a$xH+tymo)Yt?4zTDD62ix4M7p9y8_i|R!IN4$*^$x+g<-xJO&VK=M6 z*q5UIh#ORX`J%{pyDH>38fAnrb@W-c((}UM>MsR1!TQ|}9yPd+(z+&GSo8z2SZvUC zJ+_`prL!X)!YJ$P?b_FKS$Dj*dvAAd_kphN_@3^*uHK$Q{XGW{JYVh>&#*>7q((t> z+ThSjLumkB3h%Nu3fa6KFXW55=RR;WQqfU0!91`~kGbI{sOxHoDq|Qer6;RFXp$ks zWpET^@F^jc%(A<~jidYoB?YHdB#RpDWR3GvjPQf^P^gt4W%;O9(-nh3Gk6lJF}%{xkzzgwUDn;(2b094k(hD9N$kDkUc}>6(|#Wx z7rMwrL3fUtUW=JCnxUgRQ@G7g5qCPX(BVj3uYA?50>9l1KYk7t@iRSWrvpFkJ_>RF zF_pt~?W+d2f`fKA^-lvq@lcZ?I7TkJl~^}&R-PZD=);(Zm39p|01jNFKV z>SBkQqB;G<0He|E*YWP&E+Av)#g5OQo9R6&tfaEfU80!FEx0+0K&Xj=AMTjm(Bux4uf zSjJAsX^{xOm$39*-W$(zha*LNXe^koM}-FE*$gU%7>!nTDt0RFN{tnbf?}>)u+*n@ z4WDFa#J&B9E5i;*=>#IMi%^s-RAPcP1eVrTPKULN1Gel)Difz+`__;#iz1q}Y%vcI zQ(rPSxj|9T$MrOyBSLcn<}K#pBHBwhWH@T&-J{fi0j)EIDPd8f#^b2q2IDmTI35o& z0yBlQF1hk+JEq=uvwZ*Z(svt95ORmSU@G<=`S|?gErH+DHy6m{C$ii!weHPw-x5cm zi8-b3HEbmBn=1#&pQC}5b9;6l#<@=3ce`BQxTmMDzn4G3rBckXFkVUAMD~6_-W_tN z9h}P*uJ_pMkooiF$ke?bkpCl)9R7kEt&l_}-YT!0y0IkxYEktV66r&7qlpVS`$KZb z-p=ID+pBJ8VSs)u*U-{=a%*YfZD&p0cDww#fZ5#I042qgdZ&E7Ocu?TL%iub0&hF* zZ4+o)Be_^$8QFS=ym(a^y^0Oad+v~5IX#+hI`e3fcmI>TY8IszKT3B8N)=FgO(39> z`d0^*FW{SIu-JykzT4zg^Mrv--v18y?5Sh7$bVY!9H4(+;LF=j5Bhq|RQT=k#dDv7 zPW&|R&U4FmVqsva^H%vCGNRWVkd^2za%4kbHJSQ5c_C?g7yS9s+vO|R&-w3=gX>Kn zt8?#>JGrMGc!zv@&2!Mp#{y4po359CFOmChl^aRzZSoJQ?Jtr4SziAv_Nq;0rH%K? zTWJ3X^zY>|s9$8&ZSsn#_7BRLK=OBi@095+f!=-|zpZ<*_4psQOgFx-mdLT&Wc~Tt z(Z?mSbiTZayfq(KLB9I|xt;v`*)U)){h+)@233{3^@H*%^2zz~PV%P@${$JoA@Ikx zYR34*)$7+wzp?k4K(GHy)@%>VD?RwTIa8b8A~yz18oYztyfHABw7gYb`y!>ro218{ z6KZU(Ay52+Jn?)a$t}{CW=UcvNs@g14N@@q$GP9xK1&xHT`pW`xAse)d1@7Te^6d^ z(zNQ$Enl0HXVBpx$Ym2pbvz=Z_Uh<{&{a<)4*K66o4uIE9n9V`1r&v>-X5siX6Wd_ zjd)vf)DyYsqBJ!fS-d?^uXswb2eCq`kj9i=2}5Oo(DaJ4p~7xo}#*-j`}D!p~ZNvr`@Z--yg;XzOQ5A#s8dl*BwETBp8RV2a0 z@3v94QzoX>(gJwD-pZ1(aPAsRaKY-tGJIoF<&BcF7syJh)sQbh>fzyKC|Suxx5{hC z@qd(K$?u)@dH$TEWH{eZmawi3;wW?tBkh$T9m7wH8Eq&{J;a!elHUDPG&(}685oPM&qI3V zB<3(v!!*R3It9(ZQuv00%uon%0FL@59;_zIhgPm0d+Vun(vbwiP6B$Spu>gGKkC|nWD2=oJE_PcM2;sZJE^2Yi={RLDSWaI1@92I&UcB~?N zQRr|k36VPTqX}v4a!0rWYrRynw&6m`H_o1mU<_8ujG{&7zpG?>9eL{}xp|Y?MR(%a z5qq%#C?f5HG=?omj;Mi#{Z@Vhfu?yF%(3Y4@C-h5u4cv99eRr#Q|*z${$o&jba}lL zL-IGuKzefBhCsu1+hz)nMMA0E;ZDEM;YPEr^iRKNDBbhl^Y)3=+n?+(RkZ}>1t}y( zJNok?L>gmFL~=(SVMN%#A^jdV)xo4W6`KC) z)IsuvPst~#PDXk@EpMaqmHh5g@_h1!PXjDdnId2Ow7j%*^XfYC$xq8+OH0D%>!>nB zmfS60KouKu;BI-HslSlo-EtJw67s&g<&!SmfSh*^tmLQ!kjw7@kk-QfvDz=~<@)?P z?~$9#m79F^9zggdpMgJL#Xn0wE3Yoy{K}=c9+1SnK#nz^mCq{uYAuc%Q8L%~JBk z`{eCn!jZY3m-jIkhd(c`XD}u|4+HxGXYDCq?V|jGx=h3}AEgN!^MyFO zx-i6kP~}*q-@%NYNF@uS9ox@q#n>mD1Rdv|+iH0PdYR(6um95h=mbdWiL{nyX+kIj z#VAasS*Re*tBd$CPZ8xFPRb!Pv=ZrJ(&C(*h|?}bPwQiNMTTfk1Y2oi^pXkHLRoEB ztREnsDdO;u{tLeu_V9pxIbqkE8C@_xiIqNkC&QdYt|1{?5{9Afa>O1rHQQ(wHk4~T zaqG18cBMH)zl4*yW8VC`3?VGUzIjVocWLZwp=j;0p_$01z$Q2Hi4Jkm@nkU-o76_L zSuK~M@m?)kV{PZhwzLctQ|TnW#{Z*ZsZ8t@_AUW%3e0)}6ba)A2TE`c-J zx0ij&@=0E&vP)xiV%~wZFc1e!#0{p7AT8gqx7DR~8)lg@*nJ;-D?6w*8!8^w#nZC< zlr1tI77TmqQ<6I&IEIIUYgevexjW(C2|l9gma#EaIiZ}GL0gGYeN2n9don6Cc@5NW z$0XEhgh$x%^rQ!hV^uUaJ^Lq9<4P*op*mSy-Ly_T)C#?nYnA;%mJ`(K#kZPceh3}GC}<|i+q6A#DQhk-;P-sLi- z=rDC2OBo07l$4^fVe{ihiafLkogA<_LnpJL`0zR&ow-!Y9|gs&T^Xj~#hx;3I^y`} zvPO#WpgNQ-6tZJ(wmad@K#lW~ikUquC#^Mwp$}nXYtsX(V3E*fe7-|*-Qj71Ilxk_ zmw|$nXIT`8+S0XE@9?PYRBcUr}hu|Mr2rVG} zu-5lcDID=(EGD1Ju^h|uwMS2<#!>|;bB-Lz_>3!lsED^0jg%?KfbM0NHYo#Td7Uo_ zjOUz-0uDumxoyo7`|49>vJ9T^qox5Y)vMDCIH7Cu>H3Rkv{liE1c1+`@#yqONZrfw{DUGitYZdyi&KGQRor!_vuOI*7*G&TM*Cpv7$p1m z>6EXRSkKzZv$pc-vX!4QtE$pfp{xoRT5wRIT z;H^Y9Sm(H)G!(?30#w04!U5;u)ff1ym`Ney>iC_WzGT0`bk-INQB0_-;B8Ah(%^zE zTVjWfj`ZqjcHX@X$eGl0&_Z6PCyVfY`h4)JBgQ$Q0WEsGGy1aD==Rv=BhkTYwnR>Z z5i(Q({UoEO0K7QY%m>O@ea$8f;I!$2uuu}To> zHL`Y)9!M!H-?lB*x*dzrFVSI*-kfe913PGh=nn_X7%&eI(0B@T0{jBWeFBtqGdSXlZx0J6m~i9i|f1wPD>h*=v%;~ zrwAGSVoop;(@+yttsV{FhccR>%2z9(KUMD|oT3L6({bK{_-7 z_Kas~#J7IAPzTt%K|CoQ@}TUx7=>~eT{`OBO#2aA>UOR(d49SiwK`X<;@1svS*Uhg&#&u0)j7 zNCu1zqhnw&g15lo##cOhlrJ=nNfh+qef$$8`C-j<_tKvDsJ={T@WJnv9)~# zT`4;@Mt}LIRIO@+%Z~DC9BGb^fW$Gv;VXa3by=M7)1(+jQ#pkZL(e2I#*kXaXm}%E z6+}K1o_55&KjZ{9F$%`vV=zkJpCec> zE6qS*Sax7A8sst1o}(?MnPHh#zE%jzu_(*iLS-7Jp($d*4*FvV1PnDqZKeqN>TuBr zv8{YQLFj!Lb|y7-JW~$hK?_S{st#l@=boyB@?rB#4+5lBFfW)-*#USysQOcjj||d< z-lF43(#}ropfL5)lnw%YY&v=`?0B1)JAyy*_j;`D5e%eP?R;B{QkcXS}VoXV=l^kW5#HFvlj93X96%5yk%cvo(- z5LX9qnYT8rSbnxK>YK3~U|vJePJB*u+o(in8D}4Pa|8HhkV*xc`i@}O_ZI8^VuWh8 zGky0L$}ht*pC&9SRCS#LM$y&jLRtQ#6aX5Fqq? zO_X0xspkdn`Bj;&EnY0_+;w#rd+uR#n|=1~<04;n-4k;mnF6_u-n;1?0l3w{ZvYq9 z&eHf8CmeJ?4TaJ774$C2{%Kw<;MT3_b)Hg9j1rD<_v;q#wnZBM26^VuXjDPzj~Sp% z@R-65p0=w>bA`n};w&x}^q z%2s|&!;g1ega4{t)bLYbVPlsGRSy3~tsvo2klI zK?nTlkh9S;RY65KgXH7`@1W>3a83`stDaP6a!gK>HfnAiR>%=ALPTPYWbrIVe2^uF zx8;NfeT?RV50*`^A4%>JTeq-CgePhvJBqsTNn}peT#1W{rho45+`0 zC-)7qllIeK&yc3(CJlFTBLkxLtc?zyB%zJ{xaucy#FH`}sXeJwFoD$rb5+WY$cCS|GbK?9O#eZ*1PNHw{Ce0)n26>@eM1NNV|{ z!Wsyg8KkRAA06!4*WGnV@1E{M-3Rvc#Sir!+}pFin>mJ!n4TF=6E8KF$NQ8i z*Zd(~ZVrnODp&08K2NdrRkj*hFS6jFFkG-C{-;+GWz7qJ*VNbapY0fAx z`XqzDVl>+CDTuLM1hvjpK{II;AJo2zyyDXy>*j@xovQ$2m2!sN@7H7Ij+QOkf@Z!5ET0d^{{;RRH@R}&A*D($MF6%!m4@|j2E<#Sjh7x{-r+XFxBe@;+c;*N)-sBtu>9)3jrv6}o~;C;_i zUaaD1SuUh0lt_(s?NFRO< z5xRbUga3B@)ZaWN|F<-?`gijA3!OM`3C!gt2zltwa%ZiIb{zTME9A4u%dV5=Y!cgz zGzN_oH1{U?rB*8W@4v_!$$!=dYD<6lT@88vpXJr$s=vq&FB26k`-&X@KY9CUXha5$ zp|tI9mlN%e@_AFuPs_K~CW-XAmp*s2|Kl9V(5JrtEBSh9z8On2^{U6@KTx`_Ubvn< zE$fD%z1jGbTs!s7r{tEv0z1*3d|ci{{%K{PP6q0b`yQ7Sr0+wE?2dvIdE#-onU*4( z{s&6fDD!`Tn>c0Wuo?F}BMtfZ!kYDGk^px|&nW?sk@h~s<`h-|qb%ce!gr|1>QeNmRzymLN33BWKX$4vIM|mE3$*<(= zB!KzDU&+U$3ROy*7B!GdACniA9nA9r2&eRW`IuZ9cxrBgVF$+i?AM$KmkvC&VwK~S z>4k^dfBu8qI(Mc0Ep97WC^X`6+eMBor{|o5z_dS9B?l4Upzlt-`5}2xfV}G`@^uWrZ*4EdYRVUYoz1H%zT&m=oAM-7b$D2(O8rH|gQe(LLw%CDDZ+2onBN$rOz zn-Ga~Jt!}GezV91$|B0HUH_lGF9C0>y7K>IT}if*ki~WqJKKvKBPo$(J0UDi9LNfR zkc2p4Ge*ePv#nT`gqAoi!_q=KbV^yG!ewtE6uQu%rGPr!OJ_PWUFb$T|1NZ(l+JW! zy3rL{=>MF1?_2dG%Zam*r!Su)y?5`q=bn4+IlsG|n?oF4swu~#UW_7n11E zADnCH=0Rs2z4oupW+&(b?fj+FM}PST=jqdwRM7Orm49^BIwz@56!hs~t*o>E>g-m_ zTE+DUVkSu)i9gQ^hd*`Y{ zSJV4le9E#4HHCh0y1xz2?&Yk;oETJ>RP8d9Um5x7~RUlx-`g zt(?c3a(>G7=t-}f6qIw(d^JjjavVTRU>1M<-_Cwpb&o&QJ>dG63yufX-N=^bP(9tJ zXwj~Yn4;2P5VXiv%HvZhpK<-^yc13-DJbQg^nsV10s7RSa|V6v7tXbX?*DarL|7zx zdd$&CH@xC(v=!G@+;WPmOy${%Yb)+iRNT+Fesfrg+eROL!C7x>udThuKzj$ja7#_g zQZ?SToZKgAF}HihlLHv!ik*jIft#Wj%sIv)yM(QRa-W8QxI0#dstwSs-F$UEs6kfR zjUkYvwR`bLIEO#Z8BlUmcm36x<13`M9A^$);*qJ6wuIbTYlft)$$@Z4T78y;;cFAJv@;RK zyNh~Q2U)cWbbUiAo5PeBu9u{am7SfPZJnz+&XA-%J?pVLmtK0Q)Fy%1gZ7Gv3x8SE z1ZXHx74~KC8PgDxcUg`QYC2f3EHdQR2NhIR^VFM>u=TkX3l1}8al`F~fTI4cEiD#)3 zQE1cQbTo$LsXvt5+mr`NNPB)ooOr8U;1w#p1kUUAq7Y*7j1qF#s~jg*=eVx9R(+-h zj)iAl5&OZAPudwWo%}S#VlfI&&0T{#wmY@*228ZI>?Gx@%iJDFP(o zG3`hso{Z-r5lEI83`ubwf-#rRhM;A02|PlY&Blk4vK-W(M@$Tc;~20y9y31Vd3oed z_+os?2x51`|BbJdLNIEy`0Ca12tGovXpEGrFH;0;3HZ0f_k&j-9gXKibboxXOHRnq zEc_0#n9GJjO%ZB=2Or3(OKNG2Nr6^=r*~^M=)-^j7FvfM8e{5@nBtPJdn%+fhosejqM@};fy@UZ}7`@wYRHXI-Hbq?fv+;)3Vz|{GN6~z(G=6LUQBvkSpJ|{T*D%Q0=RzkV!{q7u@r_9 zseV8R;;C21l6a(*tywTNaQ)~=48Lp9>Xl$@ZKLrl3*o7r^u`bOh2e}mgnl{`;2tBK z8O;I02q^_9As=G0vST2^BgRLEuu#FcxjI584Ds)Ed@?p6VYgZcrXPeJF2dxW3x8Nx zdCb7BTU5$pDYYQ2`ZDlNgML2?**XYNQ6JwppA!-Fp$tPPebFpdv@*t<1B{kGAR<}l zVq&V-AQ*11&+6I8XaVx{2?6^=%0J(3lKM=c+gCO?4aOl6&c%oU%Ew_brt8H}=g5d)s;oSfPx-)nf+a=Lf*{ij zfYlSnld)i|x1&!duC-D}i&Ktq{N2r&qfPU{W2tlvtR@PzhKlQTfD`qGRfa9Ga0T zEw(fcwsJDp`rXN&X6pSs*CydAQEY?G$HH-h4^{$92wOI{*i;3Vj zWOOn{E!7~rQal6hYT?%5yOj$UDkKwaihY!&7P<5zIe!a`65zSNOTC7NU29%eO)K7c z!Q`yCV%3oJ`$k>W8K?^y!(lTNc`mKBB@abQH73b6@ubt=rS5A8jW zNhP(Gkzy%1oAkrjmWK?FXSL9P1`mGt&bo}Z=H8L71Tc|Vw6IYTx%#nx6MJm44q_4I zG_jlmFQb!#){3Fm$1+KHOY~sWH9qyo{Ptifl`C_BFMdFInHquau*fBCJ}Vve32)^? zO`g!c>gh@5DGc+cqPFX*1Y`HyI3sO+i?UL%djAQ(5VBImm0o+84Dw^r{IVQrY#3)v zd&g3l*n})teXyM|vtlN6H(~bmcCD(27MQ}9-oIh>F;5Lwj}deg)oHx7id&Z`#z*`= zeq&E{WU9be+T3+7e(y70;!-i2!j_s%Tp=xdY8-r1av+h9sU;{LlPx}LH@qmFU!*o& zd?jp>DUr_CmfSg}H)G1YJiF{q1erHixl}@8+6m)0nr8^v6<=O+BDKcgL?%&Vky<~y z&p`pZm_p+-D7CRirhIz9VJS2VLq3)A(PUAswMrR13aw?}u2dI|GlWM|7sV2ixpw+~ zbVPKqsv1wMi=ulUIbA#)`AoeoPDyK7=;Dy9&Qgos-K9@z8o==X`g&LPiR^>%Brt(% zSQ)KFMbmIXEm9(t8j+N>6vGw(W%~)H~&u&7+d`7HecH(?~e}TB5XxQcO8O&KYCWoSB(Yy z$&``TLEQa;>!4y`hi}M=KpNfkLA`-Ah=pNer54af%iNKn>32HIF3HdpS0MvVjhGA3 zhZgS(DdSpQm02nIe(i)VW85${hX=i#ePN@bn3hP`GYs%+l{Q>*Pwtr9AHnNt%jQrL z7;=dgP&8FZQ*mWiVa)F@$AEaF+$2{@U97&PB0_rRE*Vm%Kp6mx#EeUcoFH#F!@ys> z2#?6)*?{3fJ-q+gG(r`LwR^}!6lZnjn~zDg_v#IG+9Nf-k>RPhRTh0Rzg3o1MRy$| z1MjS23OrRTmR?IBK^W~;z_)>okvFkoU~IIsTWaexwu(wJoRQPGK`P)2=yL^ei0cbl zjurHk=mippm3=;)3K)3VrQOq4H78o0N_?pDwPd37$}|(dqRp6ILD!atz)A;3qj)S_ z{L;BD)DYvPY}jZc{NBrSiHjRC%(U#1vjchD1cnyf>VjAFeBF>qk$@?OX4%SDPe;b^ zyoI~lB-^>k97q;Ax||hz5l79O`z3Wc2*{O|QTCE?b?1)G^IDE@s=8!crG`79tP-df zT$=b78I_xId7mv)hRM!AX_ef5xk)x*;1Izml**3=1w;B#W_e>O3Se4h1T3Wmpn~d_ z!nB@hk?oh3ki;c=JA zG%#1v>+9XcJw{t=7O#c?k3ew0=woweO8*Yw`iYO_Eiq)(8*r9e?^Zb#&6UPdxd5LmiQ(3SpxMUVchE&Zr+7)28hDH(Q!!b)o|3z`nAm%wiqs#A zbDBP@EjnF*llRH|W{F&i#rkj0$mj(I03rFLYpzK8bql%-03b_o#u+YfWJ(q}G&jrV z!?>?4o19C4-}9wy_!W0i1E^D=2X=g4h8t|3x$hdv!6{5E&cZiXc?ETb&rH+W(l7$xf}2n$&E|tP-d)T{*moAB$vH4%bf!tXsL$#b79gT=I2`&r`rOhbk3)C?QPGuGqf_@KyE)sE)A(mLfc z31#ED1#PTd7>yJ+vaEYpnOOV`4sa7F%gNHt&kUNPN)tgMjamZFTa_WHaUUqN4LIMQ zPv-LNE5yD=w(?hD)gRWsKaX&8OIh0DASKPlGN04PG%+jVHOXWEc zFCiyjM|S`z0CO%~Ysl z`wCnhhKinT&7t`C*tL9oA9#0bmT}4-@$TQPwQ6NLx}3S_P_}!*P7yHoijcma@O|uJ z$2xyqiI_gCxW(RL>zn2Q(9kp7pqO}Q($Wl|;~@1iDxeYDvum452GUn3*w=SO(pUOk z@867bbIh$FjM5yiX+{)hok|liKx1q!eW(zy>myn?%G2@`chp_M(KAMUqN4kBy8*q)?4y3oS zOubnEZE|-KoD!b6$_&Mm-5nu`S8y#$yfzo@Prz^@h3D$JeH~C|Ft*CiPW}^TXuzYZ zub~sh*zePP>qK4G<}&Nn=3?ux@a)=l_y&J6rngf6kPsDjMeEQFPMlchywjtg<`^Wd%Ze75 z-PZ?AZYBZWkTUzRu5S(3vCXleW2Y=wcv)pxC*}>h$|hKgeNR#~3Wkj9w9z1B!`JJo z%gu&#>kRW1U6M5gvlu1mTJN=9ACBylrMd(R-<6@3e&-<{H5nKFG&C!QR(#!srPR+U zWlOi>vyr~(bU;>tCu+HUMz+Kb1sz+;R6;qv`uRkKeknlDSbyn$P6K1gil!xFRs#p? z)0D~@DyGbqSppTyD^^6+J0(-uFz!VQ%lmOdy1Jfil}CrqwM}RhGq98XxzPxA!P1R( zm^7rF$_BCFIpT046^#XyT*1=4usT^I1-5f34};JC>_8^o55qTWhh26*7F*vFOSU+x zF8C=onzk6(iHCgq55Cc^>=c@*(KX~W&V8}klu4;fNE^8tN4&-IvBwOuS1yO=Fv?44 z6F;LaHkwE9%(bRgd}AQ=jZ|#BED#f`$)M~)$-CKtzvxlp5u6v`kFQK$gNh5>Qt<#P&qPOLf|jZCT`l zf0nMZtFL68phP|vD@3A-DT&XA^Fy|#HB_r50iB2~dP)+{%SU*Sk#6aX)lwUin@Ujp z*0#2+tjJkw_L|o0wTw4yT^H&P&7m(!wMJE~jp^vK!@L%YI{MA5ysbdYYNu7dW9O5PcE8iuV8t)T z8-7F5^5r9A?5O>ZRMjJg%%x*4I=r@kC5@5VcJe7Dc{=Rm8=x_Pj|LjF-X=~I9~Fdpw@}k z!cv@mjwOc?MFQ+icKcRh8=xU8-v(MO3`(IkfM)e3YxZ>PDx9&lg8%$lTdDMwTL?kg*)u~Gt2T?17r9opznZeEG^}ylP{|H&CIQJ~hL94^ zqs-i`erG+agw@n%*;zK6zXtTD?P+J5O#Hol{-CnI-EzBzo?pnXpYyM1l zECWA!wN+LxQBom^?WEX~#xaVVLBkegwr$d^^MkG?k%YKnSWI2&m=b2I6x86SN^=o2 zn2WXeO=97Bx_!wMPNG1i%H(gy#JV{Ee+j@c__}u0*{K^FI6zP_j;Wj!K*xyUi(;{m z;Xy{mT?Z<#VeiFv@ybL^SyEHS@>v*0>$V7r2faQFBIU#FK8S4;JcADbx^;GRbO`rf zX++KHUgh{5)7pb?=?D+LEpVxRx378J$-|1_Wbze;;@2+Sv}5D$%XV(&0n>Kw*|2Tv zM#K=9JaQ! zZlij9S=&S;;#z@`U`fmw*`hoPjVB5m$Yy=!R1yQs(lt^)=)q71cba!eEgRvpp<@l7 z&g_!d&X6_IwIz9@kP%6@VcdfZTYKn|aLU&zF`wKxH8u%46+HGvm-v#Cp9#$fOv&d~@GEbdMWdJQ#s9_9hxKGaH zFnXy{%UmkG=5VTgC{^t&S5*tv!{|kUZ_&EQooHKgTJWdHl3A-;jk_{nd|A?i*P`B= z`*~;Oeg^Li8E}>!2WA3O7|)zo1SJfVS%tOCA1psRpf2dG2XXR48|;B@IA`*j_=meq z=qkgOFWFlSIY`~?m`)h~1Wc$Rs87q0L)ql~wK1B5I`_{oh~`JsnFNbdu26uMg&{uu z)RJ*qw257#H`ED9J#8S4;X<)$($Y}?O0H54BP;5%ODP9NL5I17v~#cc8iNU`=Pz_Y zN&`wnGl9F5b6HC0)hq*H9mYgr6~!`9*>FZyp)m|$G!VMr+NlY$41f#C$(b~0y~Mx` z-^FJ-KVc-J+xc3N*eKMel$^PpO81qTPqHW#*P6<_$fgz>QqEUl>zf1k=q8ACsT3VC z%}=liDqum~8^1!$Z`%KbtOY6s@)TRowB2q>zv=C>z?!UNWw*JQZ>UJ#wDp1K*S2R@ zaY%^^%Roi!@)m6Hsbj4iP2YQcJ=$ud&|Je_X+9~fE&JhU#AuZ{Azzm$(`a*jB@=a! z5a%q7$uvh(v9GP@X0zG`vs|6VDGH-mqw>mSUTd|`&QhahZboIgFK#tFsH~mV8Z{Y> zs64>e3!!vSUcKgQ;OfHs-<0Z%j=^fR#meX&y0%PgpLE{Yq)0~jsV&@Bx%*AI5D%kA z>Bge5RIbuUK8B&x{bPQsm@eW_2-+q97y3gXro+MlTawd&Y-_majsOy7R!jWwY^J@jTebdNeU4Kz^?F^*o3utz;) zF&?@avpH;z`}y-oHZ2dZy>}|-rPJ3XoeSe=XxZ6V#G(g=c<2(%h8Ue`2?f1!l;pM8 zXJu?01%#GXuUC<#DF|xm4v>;3#@!(Leyw*W6U>b?idYL;`wy6q5FCpQjlH=T+7Ui{N%g6-zCN<5T9F2uNcQmHs?)dpY2<*eRLb83ph zTZJ$v-DPCSm#Td}ab}!t^Af7amRHpBtp`Qb=%Tem%IT*WLRYz*!}jLv*oSvh#Ybhn zMW@n~q%pUFMQtK9V0jukJdoW7v`bIoS&R@ulEu)fR3fEzP|K)$R+6vJG(~$z_4Tby zEBjf_6{kjGU6OulOIp9(Nxxp2%|%Dkhsc9(Z9ALPUdxu2Dz}zE)NHSq@EzI`v(UI$ zd~nbd#g_ZSnC4kwys7`Gy+?C}i?spcsls3wsmkzVKxVJa0Sc9UO1j~aIf((m2Xw)j zO&9k>ld)2RGeHbD%S?>?1fkGOHiOAUu}113PKZYzcLB#e3Tl-;X~wrjmp4%qX~T_^~?^hpNWP-4U=gDec6Y^W-cu=!SFE$^+$G zwNDp7!!%Q&8ztqU*^x4l&0W- zz>0jZphZa3yrmZ#O2I>lQ3+tmFc4%nB(WcA<125t7F3>m)x;1suK*bQgHUmtBTF*cflP^n!Y+-&coO=n>jE(uMZ%tR`zv4RDR$>^I=Cw(!kb1Dw686JZQa(U>LdJw z5^~)>^+`n8XUSeM{qFVwVu}^Z9LU+)=in2la>8cD-)D08Q+YM!fSA z-<2oSh7Pw99k%JEDq?EYfhu4nBQ=b!lZi+$lux(}cRT_)JjhzY+DZut2wq<1~5wTye0t0c*fN*8Kt$$5gbP%Oh~HHbiE$#aRBnPgt0$q+7U-`1}t9k93OP9;ju|(yN88kd%~)$nXTC`If6P z64Nx6-)ygwAg`y0=iH_{zGA#R3)|N4#IXO!M4er-A?koFu2h0utRZS)o}Dumr=UDv zYgUyQP8pQBZDnE>CSRzmu?gG7+@-|SC<|m@IpLMXu#34^D$n&o zPGZEza8e%g>-f=8;Y-XF=G7{cWi<;|zECqwUCGu$F_PsMAM4*UgxJl1BKsZ)mb_+D zP)ZuGE`uzc<`P<`3~4L!&Ico}!pE;ImYI!<3l5 zvfBKYF1b1svAkPJdspV_&e8;?8~<1W{ecPdw#G8^VSKb(?jQxvXEjr!j;(QyK&GkDzJfDD1Z|YvR+y%`BwSN7E?|}MtOK5U$oy>`jQ_K)~5JM zEkh}tie!9HXFQPP>ymsvjV9J4o{hjuNQ6}>bM{85u_n>dO*%@Nkj59Dch)h&w(ls( z%pps+uow(H;&V(+;6w|Ugv2-?nM`Z|h{e`O(d0OutVklp$>8~njBKJZ8cpWe)ms@E zgCHR~LS&>24Db$P(hX@Ok7l|Oi zjzmO|JU$)ejV=82Ej7i5SCfufkC?@xnRP@ezS&J)zBcCjc-gnF4Hq4ckrx|cfk(@x z*%m79-b)Uy6)Dg8=DS(S%RJQ8O?J{(zfdC;-@cCg`wC2!K9xRqJJ~~U5{+&wkafk> z9pvUl%==eIvHip3$vLs!SF9=gu9oK4I8P~#ol8FAVP7eHZ7W{1gS^&UE%B?qH?_nm z5Pzlk$H$0ADPi!Xn-8so`Htd?Bjjhxsx0R&$3urz(6=1)$-Tr~c;nk{Ix|V~^(z8s zji8UO01bmdTUHJhe*fO4!og{z_)wCx_^MDGMIZQbO(XralQi7*1bL1Aas!#> z1gX$xKSo*#nYy~-Z=WE)nHGD_asNAyP%UZrOJtd$7H6MAZ~h`_D%%uOQK5I#yi~E- zrb-Pn$FmUrv*u&JbsPmDTvInqcQ}Fm(-mZKadjVASW|p3O7_;Egl=-tyW`}^NsH;7 zj^gua((NkF*+;JNs3OZcX{^`jDNehI?5-_5u=w`k_irJ;avJ5hta#-eq^@Rm$svj2 zg9UPZO||lU+~K7!Z6NckB>bzI$B!2Yx47s-a~!kiffSiWx5vrmx1_*dulbkX947*g zxMs0vL0V{aG}iU>CvlQE0%E_`QT)(5Nzr`_g@3E_slyR|(NXx>yPN33d5*>OLdoGO z{&g#9b=eJa=ne9S^WKxaLEceA&$*t|(xo?$MQ*;&k8ZtzJbpYi(~oN3c!4!jp3r4o zBv)8Vt}QNILw@KuNm{MJRrp_b%Uyp*=F0t9-bv;R9HX`+$mm&Ev+wn!ZWuR`8)Dy zM;Ugope6LmKRD~?o7a<-^mEsd{pA@T@SE}7NV~2lU)6NftHnj4J8mG4>h!d5pJ(MK zrGVWeqGVR_#aqeG946hRpt~FC*B>A=3g4dXrSr~mOsfe=^zl1L zyCX!ud_QTVOCBV1Tr5@~U3Gx`sa`!0vqDmKI?;hqP!nH)5W3+GQeWB?D0GExV=;9w zEak^m=*l~ZPbuyF1v1UeLle?Z-Uq^X+xy6YI`wQ5{qh53u7TBS?Y)&^YZf`} zqF=a^T#4Opm(#L_0s4u1NS$>xo9L_egF22LApP`X_maq5i&~ekW318w19?-uJ~}~_ zR@52lBG`cnO)F%VOaon8T0H9^@_CnqUHP@6`2RjiF0ZNDy8N*AFI8EW`EL5kkaH$& zzJM&HotsE~@r6x<)*PzIImN-q6@i?G*w)9kKGj$sde3uEsn{r)^OiO@Sk1X_3FGqL zwa@?1Y+NW9mxqeKUqd{$g|RKnAzGM_lm6{JWUO%T)W*W!7Kd$9b7GpBg~k4d$(>{> zOwIS}o_tPcY8ndv<@}CqYHU+8c~i62Q5aq_7qzppxhY(7-E2B*8(Byn-%Mr{ci%?R zhiG?ZvL2!x@Lai?Ke-OnS03^`ppBR_ej{IS>0vI_0l=_lUelJ?;~p_GEsG^ ziK0*5Nk-5thCJw?(9nU{_osdML(H&+N#UTgi?(%< zX=Lba@iaZyMJ_J%|Laov`#H`TbmJOwJq26$Ejni(A;o>?kQQ=0TDfWJwnv|@cupUg z%`Dzoj=6Z1h54fFE0XjV{bUIU?!O;&HW%LWoM(>Dr@#3cqbAVx17z_`^TX@_SyuA! zqXT4lz3HLvilmQze}Jq!Vm5bi$pshz{goH=oBPSt4SXLZ{tjn&2=ri(p7C!rOXz2> z0pkCD6S>aH?qKhFs*t(4iTByg+sQ7v^B&^vU{zDESb;j~FIiD9O3>~dpdYxMupJ-m z3oz_49!WD?5zQ8t{q%P`$-Kgi|3K)c*O3+UWA7l-3m>@6yUY(Fg#=wvOKY4RsApH= z>Eq);$9iVcpO&P@L$inY#YiiLcQJFAyyxTeg%(!A_z3KpI2Dvn=HgwmL zvEeAwJN5dNfI$xQolC&Gt$Q1pHT_I+R}AK$SH2C}^#iv}t5@!X5yE6IA9@>ER9Jo6 z9IV&!%53US`!jB91A5b}W4cK-z$=@yb~Lo1R^dsQVO3EiG{svwC#xfxZ6wTss+QX< z@b?@sSvxF5x4_H;tK-J1M5n{3#nyx5J66_wi=+6%kCIEPwB|CQZ+{w;!m;HPwCII< zf(`W9r^(+a81)?eRgql74f|JX-+XKe4STwV&fEd;01fl>;X&N^6U~gCewy!at^5o< zvC77tHor&~(XU-WrkAtw^vxH*alZv@I{m><$YN%>=^H-*Xm;q9nqK`9;O~cSCoRnS z(wqMi6x!O%($D-S*l5L!(qH^1388sJvA0ZY|L9dO0&qTDBS*jVB3WLw`J#<40T4fI zOT}eWt?@a$icZ49m}__JjLF;U9=DCj32IE{k;c+nKw(@=gL!iKT#Ji1@!hj|a;j~E zY#VeO*`Tl2-g~5MkQ2eor*;o2+uudfr^CfPRW1hPrrnEq0wsi6{^^j$|xi+pE{g=f5IN~Bt9 ziaThGnWF@E#E^Jm48v2?_x{@1M1S+3b57yfre^xJxU&)4xt3n`adHaHY$0Cy?cX>_ z@%kbPmIlHE*ESrV@`&HxVyky{xKRgV!q;pA|ZIW%1Y@1};B$qYG6io6H4JJdx zuB|BE_i=KsqwvRHO{4vvB-3gBNpeQBNT5axRRf|13%~qT15fzpC&`K?b3!GAshTdd z&YVOIJ!%YuX-cL%rlFf_=FvAlNiMCREnVt#onDsc5i{9w#~ch{ozMbz3MJ?OrMPYzxv8-HM_xMPLQujV>~+qY z6)>fy7hOo22nGYBuPkydEc8qxbWg(REfy~%dmR(H0}Ae7w&Mz5aUpgC6Y&rWh^|~S zPXFyIHB0GxmpW>TzuG}sY$swn5!;CzJ16pCN0m;5-sN#MSUC;4veq?|KId^wGx`Yr z{7)X2SM>?}QFE=UeX{2LBhx=K$>G9DY~CsHy5`WH3&CPcg-NG1UYBH>ZQE?yX8Y)w zZ3<>vo)aFC$MKp>?Y6kWX*bPXV0E3JNLu{pL2|95x{Uldi%3c#(xqF12rhZIw9{wbLMkJ7{^K+x+x0qXnqPk^8;oPplx zPp3CLsaSr!lQ;}#@Wk{_*v`Oq2DUS>ox#cD3^sYhz0uS+0(JY#Mle^OKS-MABLB)| z%i5jU#g82%mpjxv&8|q$nNymHLZ$_8MUV0A>0f$qavr15d)*APV*sD9 zfi5`9QH#;pXEd8G$y2W~40`E?^PpnqZiHGtcpl`r{JI)9{ndG(M_}e#Y3O|D_p>*_ zTktAt(9kziU&`5xo@NpAG!#6|3j8*Y?wsLRROq>>u6W^Q@(^bWT+2eb_m9r$^pqWt z7Ol4%t#_BVu<4oxgLk1X*E?o2OU-z$Ro7yC=Yi(F_M>{*cOL0RF1HxD4AG&j;K2T} zmCUT=mpS|U3Y%_hL~fT*@JJ!7#_7moElr*ewgY&iz~emn`SU@=nfFpEwNyjUasm@V2%Xc~rJ_S~< zDxdO`=^vbOpF*3Kx|$Eedo&$U?}6OSrz_7R4M)v$EIMI42L;dZyW%T5NvPI#AGZ6j z-N!L>ALth@quxiLUS~f-{;fJcLcx!$!%WlZr*?zZEq{c}#_Y3-zx*Ka9s>vS|E3q; zA`Yh6X?qvpU7E{AX0%<4?OJTtV!M{3;adJS{R!K(*sjHPEl16@P;f1?4TAmYE##XP zCiJ6)Yi~Zq_BEQXq2OyS)k}`v_+B!vc-LKIS|#z>9_YCCKp&WM;~f)wpe}mJS~60MhO9enF%y7wZaC}h0Hg+F4RrHKxv zpkuu-!{Mva7d6x9HsU+(9Mbe!DViA=j_*@8HTLrV`g&LPdA(i?-d@RL&BN20MgkIa zlo9IM1orXSD4FfOaQ)WpK@2uALLZLshtui({h%60+0Rk%bG2=N`J>)YmVNVFykbhc+mvWC9!6VM+EpXZIGBD|&n`ad_3?Q>(PoOlqD zM&p@Ce|{(%?4sYkh0HDWiu9ca$XquDkni%+9k-JXH&4Q>`C|2aEn2>k(Dd{hw?oH3 z4_P4f^{Rs`{B_o}!ok}-+&?}NAwJbVHtMdQ&@~x)%);~a_2@68rK8b!(x)0}o*_Oc zY1N|6caerV^*8Q&B9HCR>`eKuCNOL#8{`I2ylz$g@%m2xS`N(SbtH7(#( zi9}y<}2!h+D6Or$v6x1KM{||R{Rbxa=fm*n5(Tu(_$fN zzL8@BY0oJo%b>lD4h#Y5tG9z!bKXhlt*<#f^r{i(S#-`tq=_^6{D^Z-;hVE&(wFZAm9Vjt8B5W( zt#wtzOSHJwHO~e|#{?YFE$hHyRtbgZkI!~_Y5pb9<~!E87Ed1T(4VezH5$ z07L&Yh>xrVL$5k6x;N%*pszj+{p;)v#H)F*@56JCaFp~{F(CNVUgr#2f0lDLT_Zb} zIRfY{nhNpnc0f{*d#`&$HdxxE~L8RXshN6~kfmS>$NBG9~rWH1J)YS%bb!{(vcbW_9 zyPemP`9u$G8F8LM(?jsh!XZ9+6=~EQB7NXx=P8BTI()P_;jBlosGg;>2vP|-=vPOb zA$ma)NCvu{wRBd}DO}>VB(~lZxWp!$4Do~q5-GfE?#gYX)pn1zd$ir7?H*4)_ju>5 zr`~6~N83Hx?$LISN5wsMi5bH5$Pk8z%ce3pITqkovnn&_Jc)M68B2Vec+=U)q@fP< zzyZ=ARm1#(Lvz53bVWvEu`tRkph}C5+zR9vk;!@HscQ+NBR|p-()oT#R}`OeHVbDD zB|a_RWjamhIA+crq98 zN%UiPkR|ij;%>0yW#NPVmKtA>!I@c{LO7GnW#Z{TFsOo@1+zsNRbT|ZsS9d4m)>^( z`qKL@2A!O=|EF(!fYi+^SEJtor3T5mI*Xjr#Py+{KgTtT{^nv}=>ChLXI^_NnW1^g ziA8$d{iJC=igZFI3h%3(M?ZHB_{R3T$ewcZ1Qv=>UArz+mXXUa;wY+`wA4Ex zYnQHfEiKnTOUtlCy_W(HtT~1#Sm#ML$3&7SEp`bF9VFey83wxNVvzEz50Uio0EC{J zedE105VC>Li3Nlt;!z?l-f;=(Enc;Ubk-=3ity+v#{@{}Z;mFB+<1Eg*q{*`LmhJr z)l{p5SyTPisoJCOp6#li8fZmty2{1fEIs2&u!~0!E6ve%zm?Q&!Lrh=aY`c74!LTP z6@Bkjpu`BH=&cb~!_>egE-v)N^dBOw`G*FBs%=}XX=YyKT38j*IpQ+D@haC+27Tzf ztC&zH4Rv%P6xFg}%j99pz4c$bU)!nYnKh6~k9*^z=~N~sRRAw*=3aBH7cWv!HmG+? z@WAV(gE7DYHk`5H%+$ge`jb7R*0Gch>;fk7`?O?=-D-t8NY|fFmeNQMnKmz+m2)w9 zFq%)~0{os23^E<0Em7#UKixx!A>XV`Wa(0-#Ug68Wp27MMH&u_dyf*FqC>K)$wp2` z5jlnR+tab${hEX0hK)T;<%ZcW+VWoV`@-OZa|;XK@1^$@pm)r>m8?{sgeaK*%Wfr? zo{ad5{(i`{>;%GBzLMrOA6Q_Zivs8xEot*v^eb1AMFg|zTR(p+!C5s8aMFUWMK#cU z+aCk7X#ipE(0UDZy?sF*P?Uatfuo*2{~<6V#}=GD*zgxVr}TuAUUnAQUKf%^a>M)k z$7On_(;1u;V53)zfT=jX;n`O=k#!mRG1~uo!*ugOK&>yUAGwWJLj4y+k)$OnysGyM*+eh!E>k z3y8%@X5?HxlT?nv{SQzzqOLs-#~S+ZAUTyTA0+$v_gGE0kG^A&Eb>GLMtp0$tOL;B z43XO6#Y5x*$5i69v)kh_>l3VU5Sx57p2;Gr;BVjw28DO@((Ct01&MxY zFG-ewy_KWTYD<%3!SunnoQQ=P)ozaZRzvaCqdp3#?QAzpJx@=3ns`tznCvGs=6=P-buR;$B9e@>MQB0#z& z4YXEg;LkCIdQL;-rlc_zly8jSL@3b6&LJZ~g-rADf(9v|!F@FLC@EMY!fo{9U#Xc{ zi^p1Xa&%P1hfctU^y?o2jsO(SqhJ4rnq|e24+F47czB6}p8GMfb_y|~ez+<4W=S zryh^+k6t$JYPT`n$%E-={u)=ajoywndShaD*g)+q0MwqY|A+f*pk@O#8>rbp?HB;H zS-t+PNoi*$HI$LFS${~fahr|XY}{t!HXFB9#%*6~c+V71uzj`8xe!E`N{)}F^4Y|A zz^~rE*ftu^jz)6>!!kWk1ET-mn``FG^rthaSbhLek3V?aZ?Lm*pN;!$+-KuH8~53` z&&GWxA?}-v{d-8xMU=3>0ean|WSk+vnPPLLiu|s)xu$_$`WTtx&iCh&xjg;I-`6al z4?h7sC}6Q(dDZzLvZ8w6NC7xrUbtx91?8|K3oJa%8abX(*wD15GJ5=Zvo2ORt5j9X zwGFrG(d4GN;qhJ`jPv|*tQ3vF0v!$KPt+OW`ug~tjOQhTKw0>du_C6qeUAn+Gr8c;?h$v*eZ0{(G=5H8$7|>jbv>kJEcf=mRG$|CKdaM>s9g zrI%hRwZUL_IGTwKfSZ;^WeLB_855*Mr~k5zbX(2*c6=WCf(?ajC~QMv8w%S{*oMM36h5X<_`b)< zUDZQghqn-J+HrVz_k(j^qBh>O@$Qu3UHVV|=DMDN&e>q3q4Dz>e3weg$$$z$7po9- z9*u4Xem;C5_^nUA1FHO^3(0yq=OU=``t2mB(GX<^>8;zz+mAbpx`=-J3TK^XFrJVB z1&Fsip6`+*w~Z2)|nUuxm~8(D&^mTPdL0Al7sdKKIan>4TQURIy%Y*Q-$i zx6F2U=p7dUqGQRPzX+_~Cr=0cU%w09V*P0UF7Q-0?;=g*;V~j%Gd$*v4YF88@9H6o z3yW@?MQhG*PNPrvkXLP-Y~y4bC)+sL#>qBLwsCSG_K$OaVB=&PC)+sL#>qBL*5hOf zIC&ZUj~Ezow@lu&0kaL5ZNO{;W*ab{3(>9#8;q-|Fr{{pSp}$fcuYzzCfZV#1?4mzg z<(z)Utuu@M)5&t($OAn3h8F-8*+UL{$YBpT>>-CeGl*ojrE2c%9eMW~ViMM0`(xs*t zi|2;v>~|5j)o_GP`-^LhDy{|#!COv70!`OI{&lr(7rpttWX@4T`jpnW7a*iZelDLv@U0MD$_ZD8hYgv|r~ZTB<807+ zoPyR*HQLJnHfXg$s|{LD8qm6^QBKCP{-6zAZRl!4R~x$8(DlTGu8%anPHpIFL)W(& zbX`^>_1WmvMz0{6XBN6=GRR6lzR=ys5h{E3vHeh-4O4BHYQt0;rrI#|c!sI(Z2bCN zHcYi)str?Zn0m}$>dTJ0(P)|{r4RIzE*pp1IMl|WHV(CM=*faZzdG+j_H?O@Lv0*t z7BegkLQCh-ceUf&f- zpVTS^@G8#m-c&pp5cz_fP(~g|jgE?<)gSuOwG<`>v=?1o`uy3hIYuUSX|FB$(6S3w z`t$KbEF##$ll{8idWHQ-%?KYUV!MqLTZ7_cpqjaw~@8rhY=mq-@vyr5S9LYxBF}(&OC!|kAVf5 zTChn0Y`(U0NKVQb)Z!$-H)$}Hk+LBvH!O=_0U*)%z_2tHP3E#vE+q}6@Gpi1P>)^X zCmUheyQM5${5nW@dYUxX43D!Pk}mj`7%hn8LiOm&!(`qpe3A`EW3d2#YXxm*;%*V~ zJ|ty>3d(J8Wa%H{#6Ka}t?BD4JoSzS`pO7MO+l_RrjN^sL~6_@?b)@hn|36~l13~j zng%)VlVj*bv%MYQ-ue?{Sj#pu7R`)|3`a-ex}2wAPLTor6_(AIi^ga%J&=OFw-f%% z!fe@SVlT6LWuvLHLC^@ym+FCe?}b}; z^|iLH>}bvUxU@h}*qs*<7~J^jDrlLVYFo4ZQqtP#d?JyRvd}hGZ4K=Q*-Bf`&0o;x z_mcCS_{Ft}1lUM|Tl3p+Ac0bFisoFnO;<5s7x_bu73!ip4-N!_1_tn>X^WB?Yqmxm zc`Tza@(2~@Tun}~hadLv!ybOv!;hmq{P^#=58A^Id-!1wKkVU$J^Uy${Gjwa_s-HG z1AYBGHwTq;`vq>V`#2a8(0|a5j%a&rd;dBPq+h(6oMQp1@xjk9`R3S=mV7>S=Ezev)V86v4Yh5k zePp2a-x}Wi9vf=gP}_#uHq<^Lp>~7UD*zIph5(=Tj2%(v{U>jwIeQ%dN2rK!Tk1_j z`{jgTrdGw>bj=0sMYa4VAlJ{H?>^KyVFpH>XkDL7k;WRoM8EPnG?4+5E~n>QP4?60 zG60PMi=H(r4K<7o$*A2dVzG)l-%dB?09@XeBMVP<1RAgrsEt5v1bU?68rRdCrWAqB zwb7-GE^Tyaqsyt7$X$GuyW#jjlk{^}!Os&DG0xE4FB0rJ`oQsL>)@M>0Br<#{2;(< z=&XmF)9EE2CdosL*l5B=6E>Q#(Zo?j6ZD?P$^IjNB!02^)T#jl zy@QbDvBIq9M=K%+`j;{HJPjt$&8LAIYuZ=SZX*R7DcDHCMhZt2DSYb|GS5Z|Hd3&W z!r>tW`s~x>x$>ysk$K!!pLq+MY_vUT+T=*`0i~6CYl4Eql_# zjF))e^$sMW*{pP-n!AhcKh3$C#`l0%e)2SMymg~~`oROB4NAq9m?}m;bDDD@Q5}=R zTNubRf_cd3WmQ;3=hBXkgQ5GyrQqPt_X7EcpCEOGfu?5q;F-=d=~v>;=E6_+FQV_? zKs?14V$OfBp}hziUKw(Z(P5TKMdcM6mlTPFhc;lJ8|M-;zvJR$@2Ydj zEdgD2lXF+S33|NQx^&rmJSPX~RolrKN79E+7w(yfqtJ8PBJ`5e^};dvbA5)M!i*m? z7dTC)W<33>6sb4*_Z6*DML8fqFi4|LO-=uA2iU7)2m+?*7^got-MOH)1O+TBRgqqf z8u~yZ0%mw%6!G335@^)Puos2VhanFN4L3Ha;9*6*h4RuL^^mKAhMpfy#-#MfklL=| zIipImH<0?mjc;?)KYg}l0rg!%W~-2-sca9S-`Gvs>h(`_z~$mYD7`S_4G(>I4>|V` zIrkRsd+rp(O3UZy*i}>zMdH_+J`-KNm@Nc?@XL}eN@0%ffnErcE>9J~A#sWVn27=) z^gEZ5C3^K6diKNH4Ua8@#6+Qv1482kVTOJ6Roix`owR+531<39Q(YlmStabB@4`8bQ(twt$|2{Dd8HH?m-NO*Aj9L2fI1_#R;;L&+DmtRm}ITs z_G?d&#TS_17WhsLsVXx+BFK~(-yBW0C0Iypog_~#B`O+DAAfAy8v=rq{jOy|>BoZ*kW% zTk~a>f4UFS6{!{c^zGKxwD(TvD!I<_S^vV2mf&&-E|{KM{yMG=pSaQ z{-GKDLzB@z%r30@I~Q%d!nu(C;dJK!z3dG5qmb*TxjyHaRnRQ_u7S|aSAu8i{067E z|4Qd8+a&vWj4=R}ci3J>?}D)j8EHyxU0SjEAh z%9({n;Jwwxqld0^UO}%r4UoX$;~1bN)19lGsS^auTtDm_q8*4-o;lMgO$OH7Pyf>8 zoL3#JaRjk_=ne0758L48Bn3Bh=vw31NIXeDu^T#$4RcCh4qB)tjzKWI8Q-`S;ETgL z+_MDJxsS+Z8tkUC%Az1JZp)6#(_1n6*pmWU%RCy5c_81w ze|SapUqY5Gw19y@sZGktxxfy(@lxor{ypS0Yf#wWU`Z?(Rk7i`aAmH9>R8vm0(_h_ zU99YaQfO&aS4*I&*0ns|q|bZ;z_kr6ZD?sj%Sk}XMpcvfC@m6;4-N+ChJ(a^xPWs> zEm{dYf)2S6H-St86np1*C{W`PEPJuB0S!%YCtNFETuQg(@QoKr^ zd)mEB!=sKJh1~oAn4?#pAgzc*7s2<-3hp)ykb3wYX%0l2gFx0KUFCgEku#Ih zA!#HxyuW{3wxN>^oowi2Lnj+L+0e;`PBwHpIib@-b3QAeQ?cVB=W8`|+F4`^!%g&x zue#^k7|F&+Hb$~Bl8upUjAUaZ8zY^R80o$_-|U+NL~5ZI-BB}taepQr8WfJS(d-B)dCNr545`H5azMb_Dk-(6zW2BnGfd!7p8RqL`0Qhd z2x=9%mx+w2GWzCwKsRk*FezZrtO&O>s3Z1N8!ntIaABs&zS&q|l2~D#E*hfRsVpKn zn%J^wH<1ut^oXO)Z8rZiZQRY3vz`=5bLo4m`Xn_h8CN64-JU}iOw9@EjShjb2o z`OIiK7Xfi9zTWojwr{t6yY1U;-){SM+qWMlzP<5_0~7o9bM?L*{vTKGXE(WcG1Cx| z^0{~-Te9F$_(rse?z`E2D%O2EH&$#bu2fjOyQLwTjAnDufp}Ev-LZ4`)*ah>`n>ek z50k}(i+3+BWOpyznhZ&8ZOK$ylwGGL={~Vk(w~FB(7fZhVPMni_4$1KvJ2ohEbou! z0{AB~kc!Fb<_Q~toID6*Hb1r8>)Xl?j{ExPt371yoE@dl4+37O2vSs9oA)bu(wBgD zMc88TZs8tsb{Pz#6|W_?F5U!cCR?2eaZkBAArdNACu>+#woW!qvT>4)lWd%HNH}Tk z1_fPgOb&*WAQTKWH56{7r0|#6yuxhRH&cNTU0p0qVT-(^Bk2!GJ{39m;KzDXvShZa zYkR6~Jx@SieZ$#sX22iEd?M0Fxm;Vd*XKpE>oY?GrXy#b9fO1M z0XZlopa*3ofT{XCkQVT8YA~pjoDF+hfY3%j*qQjya83$r3`#3II#){4#%MB?j1NQ; z(zaX-l1c0HP>D>JbRm*UN;~7ZoV0e7{RpSw$2s}_d@`3052QxdF{-RC=}c-U6CK4m z4MNLE+0PIq|VGDB5BRG(@q=0S| zm1B*x4`hL$ew9L75DHt?L}NIH=oixu17PQk1pJQ06A7tb7Ofa!O_h@_*}D6@9eZ|5 z>$hJfU9x`HuJzk@U$zF)f>`0LyiewoU^J7617YAX6HVsEfg>Pr;pSZ%&x0K6H*DRu zb@ycwNNCH}-P;WBZR>YQJNN9`xua)uSVCNmG$DTlSq(C2 zgFs?(E(#+jUgyi8d9uJ6XxMOcpA5}3AjkIsUr`AMWD~am(1<2d$stxlNUMnu7~9Is z2D?01T05M}rMueO$HvCOL&4G`xs+%Wk2%n=Xd$W z)65+8!@#bTT0E&$s!d-}d2mo3KuevK6EdGD(21gwkbP~e<=fg+1%{uXuhD!W*X`5p zaTiL4;s=ctl=M37RXiy=W_%P@{0!EMJrGkEOS>hmdzwEN^yEw?l?nKgGIsc!l#rv? zrb*3Zsa5r$;LMf6^k!`_srcY74fq zrZ7r9{cV0U!y0+5I@+^vMjlP=lLL@AsJ=$i#}o*&j{{&wvR#J8)=`M2aZne)4B;#o zX~6cq9etwyY7M%j-ad6lPCrss>SRDo{o!PER4&K2o}yB2f3O^5qH3I^*8Y|P;kAVJ z4Uc7Dv=i`yE84zw`?*V{twYHa&ar{J9Z9CfbbL##*(;KMsnygAbRWOu5ARLIlL1{D z8x=#TjZhA*ff3X`sFug9mxW$2$<+2 z^OdPHUu8jiOB7nvf;eIs3;_#Yyn36d8cPi?bZag>oJbADlM!?p0iVgvgIQ)qRLvOl zsve+Q!y<~*!5o6->g_PEoi0y_rPQYe76DR^V#{@l7>KCP0!KuA(h9vz?*mALc1H-T z#QF$Q0hM^{VaGS-KfTTKJ|}(2=^3X3#B(}5v&k{b#oRf4Kk;-fr~n)28^qIGZvhPG z+8b+{=&r|Mw7$vZSwnAkdAjJ2T%K+kbbHRC>xrj{{+-+N_2O2K=lc$NW}T<4I9TWT zh@&PLqz%(NQMzxM=ZfNYr+FmD;Fr#9St^;vQ>(mILzm8w^#H~mkk|u~sTz=o2H;}? z1=50SV;t3H2cVJj3Dhm{@PaSKV>AN;{e5y)8N36H6mKL*g0E#{2?hm7D-j>TS`M+1 z`_7%~MHX$yu98!TF}Xyg;rtNLk(1E`G!}pd)_S=V@4;ikaWJT(ax|G`N~kZJA#II; zv0<(O@CIrN;=!dY<~ar6R+D0VI7a7l5`)pqC{AWXbAFu50DA$12f-7EnBrjrGudQh z&Ur{0lR>|dIW*ST^11k^tntDY{(x~1DQ8#8B6h+=EN3jmGAjd(crp(!Q$P!#>^^9? zvQpGHBkLo%%s5gJg2dsYK=8)8=@?@TtF~uY+KLN-&?HQ zIRzKRV5YRH5Eel3CSoj@o6&v>ad@U0R~bD1#2opeNnksd?2Uf z0Y^TBE3)Dz7B}fxgY`SNMz*iNa5I8KY;KMO+LV5t@q4}7H*en56WOq5>$Xh*rZM4m z7(0oc3FZ5}`ga@inGB5ipk=l98+YuyEV3Sq>eh=lM|w8y*tI#bbMyA~+rYMVODj+B z=m61eR~keb1tmwgnnTscVXB-PlcBq+wkMNMhP^!-&)d9d&o-pAYwM0pKxnmcW0#y` zQ=oE0v`=IpnvM>DyaS0e2Ot^>+Y$%xfwK$X`^OFA`n)jL%({tY?N|G4DicPi#&CzA zt{o|42Nslc=(QM%QJ?4l{?&Ook89$+hVh32aZGS0kye3Mcu3A|5Z||?G8ZA4K*<U<~I(Py;cwpk$@QuzVP#Mo0U(ubHLIer zyJRrQu`Gw_5gZ81-HHLx&iioFu3&ti)K#ic>{S@)M{?1jK52#0V%7rF-KUxOKF@|^!2bY5{JT?trn>n?#hD+8H(bg zu(XMn!fcc_dFRs?TFqpwzil5d2Xz2A-k-|q`R@pcF>5!tgnTlmRzgi`s=(IdKn6Ob zEb#>KoC;Yv00~QN`}m{-bX4d;fYGwJJt?c>zir<>?kib3D6l_2q^1j3SEB)5BVZ;5 zZ{jeT)YS@iN@*3#<^U4tD#9yh$Z4wNo-D)n(hgiLl5{CiOSf#@wwW~<&ijhG1IdwG zDy?rMU?B|S$WZ|Q`=Vf#F`K`ts>OKK)X|WlTSDXb0+oNF`WdsED!5zg=aN35QRS4P zs%(-p=UcUCIu`ldpQ>D%f3oCE^QUMYIMfGrR8XLRRGqX1+n9{OH8w{)8aw^8DtXUv z-kB%TcaQMO)g^+Ka^q>adoYoT=FCDjcr?qpu{Xwb1!Xp00sjgbQO8@ldMZ_ybQNB? zy0ukNL<@XdK>!Q}s-6X>{-Ab@SO4}XAN1)5eEzEE?3sHPCPZ2Xz)v&j;9esM7?tB} zm*Q$SZQiiwTrr_(&J7N{vvTgO+qdknm<_c`DrSkj;yruTAI-)GHl~t;@u2`q->v2} zRmjk~SglSre^mNvtsZk2)*_5}f~OYK0sU-Xgj%J-;0~t8oj7xCp0~CFP$erSRxs4` z0s*O?^%U#@*mwMWoKPZNZYoiwrHm+)sYK23X{xWYo)O#%+0Bybo@z}7lkMe37Z0kMaHs&LA@j_-djk+ zFb45&Pw`m|Q5TUtEM3BD)B`=7rXtmkqFLn_{YWkqQ3~&tN=L+2Na!mYDCpZTu#!u zb=WH*k5aW$KJ0b3Uc@V;^3!jnd>i4Cl`w?81AUGraN~m7NHImT6`7QfX~DG!J}gAe z#-bXHXnzWtq=V1hM%nU3KRA(b3mQssO5TvfMyYH)iw}~eR30}!jItH3@v-Q5sYpvZ zMw`J^v`D+O#SXMR+(CxRng5=IET`EX4(OrK-Nhtk7-V9asnleS6SmSGK4e8!#kIQ_*h&+z=nQ}Xt`4LKywKGk? zoeutU%@TV5N=F@yOCGO6d7tD7DBmBFJeSi8-dR(7*HX_O<>94EJ?A)kJNoEHmU=E= zUpzj~e<*G6lF#!~r9F#ZS>|bQd2!ziRvYx_e&^$=KK$6_5jxJJ5?iYS-MZYFE95r9ab~b zt`#1CNgHBSmeKJQo>}zmOFRRtq3AU$JTq#JXak{C7Z!iK%=0GEH_zWYKRRLa)HvwR z8$2zC&_?w7kY};o5>>UtZO67HF0YBE=|47kcG@jsx5$anA_eK8nXDlwG{j0o7(UwA z;Q5x_B1f-94mzJ-Rmcu4t?%qCIRsNYb(ZI9XQAn#xpphrtz@^-M6L9s^ZONB=`n{x zDt=?O=T7*a_Sbt>+l_YY8|^F3uiA}v95ve6^jx23MV&e=OW)=5Tv|;-{?Yl_&Z%g~ zchgrIJj<$X$axO>jd`A1?AA22rkfuXq96Bp!nI=3BS;tcJWWN?;`xHsh6ALoQ_PHc z3$gLJ&Bkdn2&M043xQd&E(cZ_{A9OSl-P1wgKrs~*)&*x*u7ScRc z5^vc7z6PD)i^^>8B;TGLi45j3npGsCY{_Pu-r#AH?J6qW6|OrcZn49gZ3Iwvil4W8 z_fEE>VRC!H)h!h)7w;&!R0@QBbzaW0nut7?{eSkp1ir1S%KInF$$M6oX5X4NFUle* zk>of@Y3oL5oy1ApW^wJLp>-TpmY!`jvZUxqaov^a0v#w@J#ZuA`gT{H+BwY^O>Z?aU+Z?#Ze&)zU9*p*Sqk{ahffcDnmPxW=~AAWR4PO0b^Mm zG>yHF@_*y(pCnJ18&Sm$};AvS_B(S4fkh6_v5&Krfhta~a zM)|*S_K%wu$|SlIguh}8;zgEd965S^(b~Mu)!1Bg=lP^9C``Ik=>Z}$*$gtWJt(dE z+4kt16bUd*pz0=y;K9kvB^pE1?VEWlV(AOl&UV^9<7l>+9ARa+S3g?n2Y{s&&dIeCKPRlA9%OPg^(NDUT*u}eu5m)y7{-^O4SKnqA6sVo zu@IQ@6ba(yh81V4jUwO#j3~O7rUZNW+YGkfR=AnZU1SFOUa6AzEN}<#58hn@f)*-m zXtbFbu@}=@W#pZEY21%k8c709dT#cx;c_?v94-L{7O+mV;2)|5a(}t@T3%cbCB643aJ;13-#8@0&R$jxRM?iPl1_~i>_v{K1=hzx6zB%1ph4QJBv`~1 zd3yFU$esipTfX?1V;WX;n5hPL*a`AwY^g@Kwpw8+++fGXUWV;rFh;a5;jMO4KeS@u zNHLo$3?;-MDfa&Kbnfiz>D;%yGr6O)cY9A44F+3JY#i_SEk-#JG@qEed~1ewnWUOL zs|JuX252djL|J5Rx)0J#_sKHYEY27`L3*f^#tY)or8AyUv75T6mjKd7^h|vOjWL2a z^2PvpPlzZmbSa7(NBNOLT3o7r#>5bYq?02-E>cqt9Q9l^(?OD2^gM?a=H$0?TRT!8 z1qR~;jU&mvVyWhDld#@{T?aaAkU`%|M9^*Bg(6l5YM-OWh#210Nf^u%JQ?FfLAl_; z28%XfE!17{l$sBfI~#9R%`S+nuVT)BJ}yd?nN(cW+0zSMJID`i1cf~>dH&#Kb6bLVbhs03@HHF_J_{^+~`Su}-LF=*pE9TP zFj>c;Xh7%Fk0=k6tV;e)-MJ$MMo93M@KGUzxF>QHJv^JB6b%ctphElShE zDd~i61&E?^*tqa|tkQPqpa|&{_qq(B%Td~nw zK)h)Z_8#o+?&<99trd;0$Vx62Qzw)iGqU};Q_n56?>bIJs#MO?@JdtG^b@NW$8FHN zkyL5y6j#dXatQFm3OQj}vAiciT(qQ8LP$N0j++GGRL?8-(G_DRQHzr}30k$u4qJR;HXe*G`0K*1SmwSk#WC zV<;>mI|A^O%Ijd0<;H?;Z!MRyNsT4O6DFu!sGpqb!f~8t4%e@^_Jhb(E5K$aWG2*1 z%9K6f(*GKnI1ds|#>%Iwx-dM80rP`V8dZy1-)Mhw^~tb!YBDggNNrK6l#CVdz>c7- zJR9Vg3do9~N2=}OXYa&wm#j@cJf>y#1I=$f_h5np5^Bjp7KBVM6F?23%>-2`_pDYb zu?{M2YT(iVi(aAslklZBgQ5IMNwO=MOT*-DF3HM^ZGsC^>i0Ioil61uFqWtpG7Ql` z)NJ|&6TFV!+hkaLUdU&GZy_ z3~D&sNM0V!=b-KU`GNgA_Op#-JsJ;ZJhM5o<4f1$+586Q0fRs z;ygVmV~A5h-KI$*F$s8k7QrnrkG$-SXC~$l^~}Xzd1e!WHmxwv5?raIzGsh_PW4)5 z(n!Ssh|UfUVz4^u#-z9#bZDl>VykOe(Voy{&c=&+p_tSA?8&S^bX9|S)SPbKGdD!&{5!!J~F<91~k z*|bynJ5ko3Qp!SKWc=s9SU}F%rEHof4!l}SqVK+UpMNg-m&=tI^dRx2zD4tGtC&1}&*jSc87A@B-1w?%3B>8^iM=w`a`pBAh z`PY%QHU7ZFz`OiQedJerlnvwKZ<|M6u~#Y6FQ3?}y`IiSC^uLPi?N$u>>+9XhU(zqfu2kMkzbxue?xtV-9F^D zNBm32zrASQESo<^JU)-?e8hi{ehC~>E+uz8;-8PH7kIfe%(7-kz6$f<9H$e)s-xqT z%B8b~KOnigb5D1Kkk2%oOP=;OFL>(*npcxPO_@#lu2$xdz@z@Q`9ek#29b|%_AMb_ zyjod8p4#j?|B%;gS7ehXyr#Hqb6)XOn)Y%X>AXg{e1%!RbK=SqJ$wytAGg`Y_^i}C zEHBL(&1dG^l+3=^w{WS4SD1U#bPkB)8lPhd(mg{8g8h^vD7m&*i zE0YLcDl&VGfJEs>Q`ox|2V8%j478(b0&$Uj`SUZl6Ukg>nYV2R&80eISVi0 zxqfBAd2&sXiOiFPjwnlm_9S-Gl&3pTe+zKI#u{ z@isOceZ*yNT8bF=0O580pe92D%46h@7eO#t>`NUuU zRa#k1-^{UWB>w7)X=M%THC}d5fE-y0z(Gf!U`9DezOvTe7NT~fxj~D&4dX#qtcO{< zl!fE3f7M)Cev3KYku483FBiQ2Vg`V7nQm>U@6?r5Z0LReb4}C8h^}0l`Ja}z>^Y+b z^0Q*Fo-Ga5VD67^e&c-d`XxSveD!kWxzj#G&-RhzL6H5)8+OUAVc`22G|ZBxhLuBf zOeCFIP`oR$fPfR%DCaToDrA)y1D~6&gYLVo58#Qu_*@p?(m7m_pFJtP9M^O-G@W|6@hPRVmQV3P-WlC>ki#9vJF zEtUZ8zXH$hKcfKdniVY-eAmN#agf3h0`Ib*M@a#nKY%x0#V^q=@mUFOzJ34WTC;86h z$~uMnG{}rAlyj%EA7tGX$^#7mYye;b0M8Tv{C&$i8UT302Hp2=20dz^T?6eJXm^^> zZmzkrG@;2-y!d_oC1iU>*<2m^J{0(71Ns`!ch*DSE5^r{HcRR>|NOF^#$Z3vnmp|# z{4wdsLGBB(N}z$64a}SxW_}>>`LliT_+^8cKYTYRdod1e-SnV;HhI@${w3pIU$m-$ zrBlIDa>HLL=Qj|uftV+Xm|qF}{oV#*z622S2k-U2Vu5uGZ2SJb-TU`-?mG~qNg8RU>_xldV2v9NwTC11Zs zS%hJ$sa!8(`W1 z(*~F}z_bCTrwUA$nDA*s)zv42p(X$~z_bCT4KO`*VEWjs$M;EK+Q88>2uI07ia$i2 zi}@BW?b>$mfE?-9bcvEVs=w{T0r${Desv>_IcUb++ka?ZXOFug8sDlgny0rIktK?M z-6e9wK{GoK$LWv+bCA&^8rVVufe4vxw6HN=HO8wmYP|a2z{gJMc(s|#T<)8JF89x))>A{c=#gU zdV-=7*JybnGFyhm}jFJcyA0dRU1%1_!e65#>U=)90E;0G<%l$@PyY7tnWq z_XsFGqA~f}Bhc3yK-&P?mpIV=%Z&T>o=TwIOTPX@lR~z20{5?(=bLfPU@DtSW=Fut z$)?JBZv4Tq`Qx|WFnxU1pA_=I!Df}bIsg(V?*wK)*{NLAfa3-npJX_m8$%t8SvojI zzS5&?Cx7TwRxZU?n)HgsLBeQ#Wb*-Ktv?uvkhguNX;}lu8#sPO;rM3)&vczs9A8B) zy~n@10mKa;J{3Ux^@cUvK+!V~ML!>Sx`Cn%6g^u|^h*tUw1K2&CXzlH`0}m>k~Wa^ z%tq3`Aah&%tH}-LE7Ka_`LYAgM^GpW&jhr*FL3+Lmn~YZ^gv7dZS)PCJUux1>IOVE z;PDKA$KSSmsPknDkK`*)C@UKX*g(Jr0>0!C(1Ck@YL-5TiTiEiKcm|qEKD@{0|r2QhJoEr|NO9jJ-2@&J95V`@9*4cgUxm;mX&jcd@ z+RM*skbLiqkG*_XksBb{0Ljxm0gj3$^2?&_mtcEc->i!Fl*pylW!YYLIG-;UZ(g8n zRzYq$qTE3VzQ12t+LSfOdB{FW;{6Cm%P(MCUS=|2J`2H|{OP+&`0NMj`)9oGvIbC} z0-(lFCl@y$*$a}@@xNKZAkJ4J-&hNL{M=z>>kR2mbBc4~B_Lgbe7eQIi5$KflnMa+ z%EcBO)dX=9YnFqa$iV{wasi0-t7k}$EU>pdMO6qrAaN(5}Hw{l+rqR`wagA@~(d9#2@-#^HL{#;#)8*03?l z$6voRFcbJ0Hk&9Ac4ae~ns%6-K|T=n&m>Jpl-bLjgM_UR0l8}#&;sPHWm#iKl=&;A ztk$?;%Wq;Z9?mj{75rEi)-y;Z?+N=Ck%1%1ygBA$&OP!kAM-DEK{C~p=fA6jR8cLq zaj}WZtH^iPLhst2QhF6$;#q;uKWzE;t!FYm_x>1O1O|XR4Uj%#K>Ch{m2>8~!jiDc zP7`92T|Wl7QFx{*^Np*OSq!7;&xiY=S5Z{E{>Nb9(r3ROR+jn#EF);xbPCAgLCXP&shaQEe446@<*Kfv9Bh zPa!W@flHl;dg#YMB&GD7KY>xJ>dPI<;g@fz{`;H-s~T0z+4078Zg&@xw9JP?h1Ue0dozQvtVw? zG#ZteT(wV$k=ynIyfqN-3_-l}s{013A>MM?k>~BiJ5!Oc8A&JeKis@9U>6PAQUW{j?|$|C6NR)z7Np6m;b$GP zeXiw+2C|)8WZO$_e8B%n_VX;<$=HClmpQbNKdS1Yvku69*z)-XkTrm;0c2+bkS&;n z(@WFUR*#d;M6^{L(L`>Xo}Q4e?(D?5ueUUoAYL9gw^$+SA?S$$=hja1x^8R=XxBC^ zBklofVBT4Ud89H=U3E%8ZF6%x7zvP9JnCO{T4C)QEx*~)fVBp!HDK+Gg*97yO;lTK zGrrIh#xBd0&d!8I(a`A)MsB;#fjw(*!k`I2cdD#LU=^&xK)G+5B_1Vo0 z%z0^J&gT!pA3@SWvg{F%&3USSDTkjoz1y!T^fGz)aeu3CJ?VQySv)%!)rR$4F%hJ% z5R4X*^A!M%Q;9C9Sg{>B5H(nbDH8? zX{ep{by0y*wZjj7Z{@0$trerxI*`q`7RSoNg?u2eO4|PdO8Zq#YH=RBG4uLi@6Ltvg#TYgk9ZM&T$UC&;_1T3RxJI% zaMsX@rNU4tHG*4Q2TQuH8HK^}XsV>QYh#6q2AQ;yZU$G;wQLz-t+i0nMhcni;20DG zk1BbvlC|=%u9fxDh@lk*>5pCe4r;q};5LxiT^Yz_)7qYFTF)E0mV%n`i7^c7I)KGs zhMh=3FQ-7;S%7jWqF$mM*GmR`(Kd;)c|p*0kCs>jXEb02rXMa8fx6*T8R;F(=5pGA zu2l?uu#$^H36NGh)OBF@{(}d!j(t~ahdO$CI`$p7`VvSBjD@%Qah;Wv9VzCrP%zL~ zO6ALAKoJzMx3g#aZphKGt!q!$fvYiK*3Pa2`#O7jwVnHWv<|Jiqvt@^_JeymdbI9? zJ>C0zJL8(xt0Pf5*U7hXNi;!sZO^j#k zi^U8*T`6VDWBuBelAhC3hQ3wX!ouh9L1HTs5D3splgYtKxl+=TNt9EeRE9QX^JRFN zPopLU0{k&_Z-4^e0{?A{8N7&G3epZ2Q<+?LAa4E;#qALf0)YT6pahc=QCPgAG*lVU z^W|>(CJaVFx|F4;k`OEsO*DB^pqxtK^AcWfE)ZH{CsaZaUQaxg$s|*}f^aAn%aq1q zrAj^&)lz9zg;54INtR0$J;XB*HJg|(#PANS z+O;33l=9Gj2Q^GO0tlGKuCLP!*srlV9b<}W11YQ#o-)I$TD|AYxA8vs=tz zj6*~Wv89zIZH1JffT;-y>T%X_r~^0~)oCzR9*7kM2)Iyz!9cRyVdN+Pz3q^rEdmnN z(^*4jr$0t{I>?H6jC|tyU<9&*EXFHPAI}$(D7AKBGSP>exd~_hFEnIs)S(GLE!)kx z0!6HFaNqs|o$WA`l~C}|chja$as|ZtkrrNLFk+S<$^;f10L2Of1R-WUwRsB3Y%Ikb zOeVF{@-84UB*hs!EySTa6tGyrq*M<%BCT82oXOsNloWw-0iWrh5E7@SUM&KMs}UPt zNGmo@u^E9dXJ%9@9vzCnz#pdd@V*w~Lk~oItUGDOFCD zD@Gz@762S&9V8Lz;oT!j3$yVmVfz&cqzw3Gl8dJ^UxDK42X&`(tnI1>g@4`fsMST+yj=W==}WTA}w5oiW^vg`zeZiinQPaDt< z6zK08Z-&%y&@)hqFx3$*g{Y)qQO#;()T$dfCqM_xz9g7^9C8>LJ4$03Ji7#BAO>24 zg&@zw`M3ZEZd|`UTMloaQrHOsM6fYcb2R4Qd*)W^A8Ngst0aL(lMp6ARJQ^hRRT>J%=#W1K}oNEeBQM&ea z@9#MPlf-tdo3;?!0+VQ}{#J2lrlboc9QQdaA(1vKDjwJgGeMZ=VBOSa(MD1zOao(% zLdUJ-d5=vEWOF!pj1I%}6=;H@AW0TD47M1ufX5U(g zF?f;s`1H&to8G(t9~b@PUpkb<-2&$NSpa`$c~Mbfdjmnx(L=!Sm2G zn4Ua#p?cv8(`;}KtE|Ukq9CbUpw8XpNW^SOs5GbN>3|!-GjDw4N5YJ926zysdJ+yD zG(b%4+8Tpg*`|iJ9?plfH5UCF`W>CJE#e;5S?hrE0Qq8zf9=FaFH)~-n$9FbzWRaY zbIE^iQC}6XP-`NSP(SL+yvcW)i-Y8vOVu4=myyE7E1D^+67t}s>I#b$6aZu3TDm!cUf6rd}}H zrVNZl1nBuT8Mr`QHF4j?>RrBClo6mTJn_zidW$dfe&0QUyzUNl2^nouFR*ANn>*Bn zlq9mhLtR?4_79WnT}{e{kmocd)K3kF?v8C^`#=KJA2hXs#8P9Iv@FbySf^QS*r#Db&~T|-xueeB65}oxeXH(mJ#&Px(WNG z@84cHVJnfaHL9?_$agPN-(ZnRfXr*iA1_ve;~)FQ9I~ceJ)i7qS8pZ%yB$`lHcbL|lHTGJKau2@lftR=W3E$gKQ=4Obhd;m{FI0$ov!qG}GIjRpNONBx?04+IC;&dRmpti|^#&ozNk}yI@qs=8^7Q>XOWteLtj4S?Kr2i(`z?v$#1Q^*ueO zYIB$+GKFTWR)vp&yzezl=aL6L&>SGkFIKOdT7zcBjj?>1&DTBK!#nynd|x^RvUsr? z@e&ovXMLY{5U9#EO!S zT%;~OJzV&#?_brE$_3K3SH1YfY>+<^2xPwLdv4k(YQ`MV4B<91o6~{>E|)yLKQI?WW#G;R=Ne-r2QkrDkrj(DTPN zvC(3RE5~J=v9nC+LN3SFdFY00QG72H%eH0bf+4<@tflB-WT*M7 zG62nhwwfu+`bcpw3+0zfeEEdZQYqzd#hMl`h^gd{RSIR@m8hhHy=9cmWTjk52UAZ! zt_Sq%VV+&qy6BtEQmIgK)!`^TYRhl3saQ_pBx#Ck>Z@2qnbgrJ+w@QNG4xM z>M$o61{^4%M{=YHTnLwfM-FG!w+ADbgc_{Ll72kPo#3{FvA!d*{`IR_()4gDKcwdh zLrKZk?3FM9bG||XlhH7Y)9UkUxTWxlw_ zaVUNuHAHz?P1_`S(z>C*K6L8h1UM2min(k#9O>KG&&tP=c_n?pos3qVD0CR6&i&T% zEmGHKrsdPBV1GYUz!?#?$w#U)lgmT{KA`=ro7$`uz2;*4X^R}8tAKt|vMb|oPfhI*J&?6u^uDXqz; z$_VhGHAXA_5B=t0mdYe7Zt@{&qt4P|+>eS!Kgz@CUpLA|7{5pCJz*@X=Q6ayK-F$+ z6pO>su@eE#RTqM39_P}QL!@!jd*)mvjtFK!AFYDCF3=E-ry6Uq8W9gA1oZROUsThB zrJNCVs5+Oc;1?abSp88k#D~R8+;D{HDM(7F;lR(R<`#)bXFOGej+Y7BlQ3b(%4IdI zx?%+a>0HV%v~8urQ9aKjAv_nI)RM9ExCjZk-h=o&#(%ad3x%5!<2hZLL7!HNfDU?U zBxx~fUay7u1w40fJYUJ>5b+t{^9MG3#-%gUjEtvK zxttwx`a&6Kdd%F+6^b3Be{s87dRR{%rN4|k{pb1+<>zjB*BaCSj739?e*4%CA7| zDu)cQAJ<&tHt6a<-4cu&8>k&Nf@`zGgg>}9z`?Rbrn zHXm6`kt|t5FH4pPcB))9uOs_C^5JKM>7u(^#3??7F}r>92gqf_UWQBq?i37<#D_|S zN-^9P;VrV6f)YFB5lWO`+J{COI=`Mt;?%%N~5`lxNvW`5g< z-*`oB()W#)VTdeZQy`1gbWkz1fDUhb)y_UylK0rj&-?ICzclKzEm$=+t69UC$uW0< zoZ?iD?zu^_y%!eMX~7hW^k6JVJFIvUXIyd8E%uQC#m=PMCWV5cTAQUEW_rH0s+=u@ zaJ;O0bHkpqWOrFXzKbmwux0d;kl4&d^H&Cp7h+*qgmFc(>@Dk+P@<^RL7W@(?Az|_ ztWEHJSY|&5s_8N?5N|OHLBp2vq(nd|d{7~2_S@sxrWinTb*hL>3(_#Z!%+S^t8lD`Cu}LugqJOEK;~1L5 z4ned6tucw8n|z;lwKxQGleQL#(V^B9VZMD^{Xr=&|hQ6Sz` zfGKecqJnfoy`3~}bVws(wN3Ux<{l3AdqJn$iorf2Fwd65@?bljh%o_u?51rEJd*k| z?Gk*?qL&pR-k0z&ngM1{pMCa7aWrn;EH6IHmq*7D$!9bvBluYe=VXP~A`j2Kl_JVX z$DSG7&W{H4vTZG5M2htDW{=4}mXXxhfNuTF7ua{p1xW!p%l&N)Cs9ylCA4cH9Tly0 z0=u`lE#gkRv0CDdk$_8)%>#9y6IAEItip(U4lO2J)NzAp`grF4YDqVWq#Mz44vUf5 zl^lbynps3N{6fi<4nJWzmLVNvY%witpQ@8|VUBrB)FU1($4^?CJDO8Px6+6YuOeYp zMOj8CWo`V|M*3@`%a$=e!rDo=odd$`NFcAgkH3h+TXjzDygp-=W7JCSO0DN=_%*7Q zU5~?KtL*QPKWC~mTurDZnHM4z>NECwK?ULJAJq%W7wV8MD_9;logX^tc$6fDaUcZ$}?FJ3h#K*(Q@yG;9Nf##Fv+ z0K*3h^mq?FH1-17eZstVw8F|0TE(VeQN}b; zclw^%O(5qF$KUt)dE{f=>ILMZ-Rg{qX;-TKKC`f6(-(NH`jKZ|sV-mWxmZa4`<1FT zasJh6udgmTiuI8}{=KX&pw*I}meqyq=hLrLXS%B*P}L87iHU3b)az$>)L8lcDXNh` zjcX@f*Qf6Fs`ek79^W;2z5Aw(zwTd^X5=ebc&BeZ`F*dtlzjb=x_SJu|7{+h^IC*(TN&e%Ax_TmzRR2}+U>s?BqO&UFrXx-Lk?}|V^@fRG_oyFlJ~8%@>yN98 zJ$OaleOx_F{2;)O>&V(`)gMi~BBees&4V)!HGQJN8OE8NP2>{+{{nJZR=s!P+gbIW znr)nVvgxOnzHB-5>0{~=vin+f-NgL^>Ltxy?8^H|BCpO+g>65+`HpkR=!lvpmo4(m zBmd`UvqG-RtLq6c^?9=E%T3J_zb&Y5@^SXQ&i_<{y)O2i(~R>RJXtYAi;EoIXz z)Cr5sGx1+pweZ5E@K@9RdCSXC3e)H!4EfYCXaI;|slTtSpZL=1eDdA_bus<**#Y%1 z{Sr#6{Y(2c^?R(-^=<4Y52w}NS>|?M`{sUgjR}v7TZXu{RohH7U0pTHO1-(ge9$9R1|C4g>B`Ej3 zWd3*j7m?lFYN8GeSkXid9aO(PBW!I%CP%LIw=VMBdaRMZx=OuZ{~+$-G`K^})Kh7@ zuGm}664GQf_7{_9uTqD}b%)fQ^=RWf5_zQ>JY!VyDc@q&%C;zPuGpJKX3zJXyNJJ} z+Q#3*ck;!4b)}`tOImm`rqLTVS-EV>;8p>)%~?}aee%R#K*}j=`LU*@xUOJ^_~VNJs=Ij!`D#wRWPI9;g(R`cH+!AKH*79$2=}o0AVU68_b(WK_l#!RjUrCuwr8iD z^u+FnS4u}+$Wd+U_{eXuK7|hIwvHK`ylxYZm&u9jRgABmRjV(bq*`qK|GDP3oy7i6 zesr6CHR@sS{!8ZF0c2rkC9QWrqic6f zqTiuzdJ*~>dF~F#=UY<)ziFu7OGW*TG)<2m)yIr5>D}JEnEV;(I(t;{P1AqTP{oESo+eeCZC|G)$Buy@ zK{2l+PyMxj8A$|TDnN?rg{1wM8X#XUsu!_uJD+F@khdL!X1sohZ#vm=OkKlX6ppFN zaBFEpLE@%CQ-1`R5 z6zC>@B44??X>H~S!Vcb9gPyx+ctAj z+}5|TU+xXJ+BeSQE??KSdEWj$+ot(=kzHWG{tmD+jUj292hOf+-uaNVwcbh>hJ;96 zD5l#oZ|s+UZR+nQ(Tuv4MohUb0}5jHL-NiysVit_BhcAKRI!7b{NF)9r(L%X&MC z+cT!OUPPWb*FSR}9!j-KmHZzAy5BQ@4LWwxyYf@hA2}sm`7+;hjIW?2#_yPpR~G&C z0W~y(MqEhe3Wgpg|8zjTYO>x=`tDIzTfLdQ_8w@i=$ZHJ=4Wi_K5ac8mO3gs1uS}i z$EjcMK0F)y@Oks7FOHQhs9oHrb~yVs!M?rHJVGGIaGqZ!w;YCH=pBba)jx4qjZbHX zMai>=)in#SCNsUL>%4woeQm@b8^+bBg#=`1T)mb2XdL=gqpO{>NMbJ%e<7$KNuYMN1-=LdRHQ#s@pWKC$Z@N02b`x0f}?&5klW z%hvPAJ-uqw>^q57a=3`bjVpUez1F zlnzBcbss21qsKIQ%*pRD(|j74Yk(sEZBbpcz`cuI3z92KYHS)?a89Vx7nwb28fnX@ z%lVrg1>TIkL0vl6d9Fbtzdxp4GRN^SIR2i{#pE1y`V#WCk{VGpzFVG_Ns{XH1=HwR z0NN+#xQYalH+dD=W)?Y@{2jE@UhZsr4)UeDo5Goosy{e8dwJ{JA|93Hr?}{$bCTNK zyky)zU0uqiZ==H)m#`S`E$hW_gx>5#K5FUul7feD0{~~hVooe`u0~2!N1CaTp4IYEPo4INw z4Fqfq2Mkc)nC^Aq@`j7)h07c0-?qlJ%Z+Q7&!B6US7|+!ya=QhOP4BxWfrZEF87rx z80igul`=X4hJn|_(yM^AecO7ii^KwZyLx)|_as*D-oLk#hb0c|=;}St)3xp3fv)}g z62a9s%D>xVEX=~q!9Y*vp3aWmPE5hSw#PsT(gk=2BHhu|gRj`P_86;y>R&oJTpr1_ z0wFBr&aOS3JSl$lN}C@r;`jwJ1hyaS+19nMH*xI^LnXba#fG&b+c4tJSi2Tn&Dztt zTBe!DCRoj>47RRwM<&p2($b)Cu|aKPOp9d>Yd2xk-jLB6?dxkdfM0rhfB(AH!}->s z(6xcUj>NSrj4!0UHc&35idwKVqQy#s+UgxaZG*NEdd&q|+Xk&|lh$@YAUzCSSG(|n z3*a@hV0Y*CD-r?Ju`KqL)nP9=#xl?zxg9|a`4cpoVYW7?ZQQ!H4O&3?5jvu+D`+A3 z$y;zFz77=W5)InY3e-m~(J}=wT2R%8p)xmM5>&>J3%WpZ}LVrk>JX6fM?rg3q28q^NcCRjyl zTj_U97tiaXL2d0?o@V5@=6GfP3SAzJjS0c`U8KejHQkq)y?NtA=m5qY)TX||NrsF&4A2fu9A;u zk7qNk5-R0F(WLI&Z@M4v@=cW9uYTB<+48|^FI#=**5EYx{$uL4%zJ$QHUqOS_s3W9o)xkiJG%JgP3-&}x@Fug()ysB~$rmR2sot>lVF z)n#*0cs8-p$J6Lz`qdZ6-2BiBAak~zO!~~<`ogL&mnxtUFH-e4y_Z)%OH^;9D(M%i zc6Z}TDY}#4#i{<5hk5nqi0Y43z%)taPFwx_4AYBL|NXwlrV}7w0Xgi8H=l% zS9#eJr-!~*d(lUxe^_0v@N-`;5+S=EoOTlEXle~)E`Ml>B|YxTlVk5!Kkrf2M`r%B z_Lh77p{7mR#QZP$?{2zvhdxp$OVKOJ1x;L`VqU@=pjJO#BTKD#Vd$sP$1;jH-r|ML z{2;&}+RZf3LnR9aGa5T!hC=evC}=@ofCi_H(pkVL*x9$zAa$eAg)mPEh&fKDKIRp2 zBBogpraLK&36&e85s5~rJq|OAVVE4#+l!~S`_`^}AWbi_V-3M7MN?q*rWkLGpmp-t1p`Slkv(sgwh9Ks{@Wn4q{lsI9TK3gYe; z=9IF9DyHRPoHQPBfc*Qbn`7hub3+Tcdxx@yocCaJfQ;VbUoh87$XyrX3vORXwjNWb zlN)v_E#%2gWhr@LhqCfk;4lrj=!mVsA4jzy$f)!BEN!n8F7Dk!57h=JmG-tZT*vuki^#aDw67qy-0xpO9bEISY+jh; z3HjYZJJ2Afsj-9pthJsPmNdU$X3Rbz#l!O7=dkYA2&hE}zePqTCIU z=+^PvS7wqwKdvTeMN68}flb0^VAvh|~C{{S?_Lx4uDSiKZJVpRShp8)U~3#ol~GH#q^}#L-!8MR$!d648{XBE>Rp9_EL#Hm zW(ee;&11;0tqE;oyzL@*9SjChdC{h<4B!F+kcOc&<%qN(CNQj0(8LmLg#0cJ1)SuY z2ltntB0aMsn>N$rAxBxdu@6`8z

`S71fM$X5~-WDDXO*q=ifR-2Y1HYJ%ANx`zC z+Eu9>jQ8#f4JW(C5X?5$jfUcPcBIPfhVF|Car0?Cmlkex=JC9!5ZA|$Y*P{}QaIkL z!`~#?BbMCM3^Uv^&&O{YbEXpCa3;hO?lPY^(}I>}OxZ%8%0%hkPIeO(e(f!nDrwXl zk4qMH7R#Au-+kafH_bS;>lg(S#>zLaj0|kcg+dMkUgFdPwVb88S~vC;uH+9*?wWUl z29g6el#=OGdRR}&_ZJ2(bLb*&??(Y8K~Tw*k;HfOx+x}7+OfGFhq)}-ZB!_wQfkzi zKG>3G3-N7ZFk9-{ABIHY+B=$QfUOs>NbyoP! zyrXI_%>M>~Jya0YZl_{N4?qVvPyz%5&CL&?ti$+6T*#(lq(K_jJ{dOj++fs-XTA<2 za7zJA@pYWPwIX|4uPfLbcXd&kF%mbcq2$uml*PdlYl+eYH|Fff(h6j()``Yq2fS_2R_oGFS&8L}k>1_}i zj?ln}0UgU2)>Fr`xiQJH0D1_m106*BhD`uzqerQKXn=Z{fFU^@04a}PJxVVZ(C~V= z^stTp3`AiR9s&y~9*@haXMRVk6}gnq`hq|t&ccBFpsc=D+-=l$cI-hqT+vNY$OZzu z(5Sc>O-|j_-HBK0(TMIaGtTRyc)6CrdzL5x)PqKqH}99ik9?6ACne5muwxKSlc4{^ zOY9cQ;Ng7G9{v$$$(TU8IWA6dxKc*;N;g z^YDA5=v|-r8tQZmzwD-lutkZzsD97D=T>=JOf>QiwLAdB!%=J1(-o50Q#5vQ@SRc- z*Xz+#R*p$aFSo?`|M~@0sT~Oc>*IiZ`t=18#R>EkPf(y_Vt>BmLpkHBB$G`LeuY(pIrHppR zpBE*#-`L@dUm@Z?V8_XH!7R^UzrxaFv!j!HLK5|73p)d6>NxPD;)$}?WZDnsH9Yeh z^2Px>@xT&|-%~D#u5t^sO}$JGv0L^cHB44>dJ?w%s@I5xf7Trxb(pj40UM@qx2t() z8g1B#*}5iW)r?+~4htUXp=Ad;8lto5#%TaZhvYnF5HfqJP+U!%)-2V!TZ`Z2oX~>Y zl~U9TMLpzp9QWQsPJXjfJUx^R1}4#k$!9Y3{bkG^E{~bTnb*b`v_PpGaW*`N z0of55tZR4hm$-HZzgySt1pBL1#2VwQgx)sfz(nt>(C{N0I=BRazwwfI_$TZtCXSEU zZJH4WNb;ry@yvgQf&k5JNh@kqC0!NjVczgdENz+X+HdPQ2A3MYvu7}uI$o%h47}hP zR8}k+*`-M@$mB8qXg=%eL7VyLWF_`GzSiVDxYGnwy`2`CyQQ|Y)v6JMMdd|Dv+35& z^Y}sgoHw7|1Isz#khjy@U@H+}tp=ES;<~+Wg960)h{_3w$_$TqU%X=RB4K^?G^Eku zHXL~F{4mL5K~_Y1=LeZ((-35tU1h3Yg<@48w!{aubug%{x0g`$S{N&T^*YQ((#wp4 zG)v4}J&a0aP#mHD;!M!HO8l(SsJ|msqLw=#>OdAWi|$xJ2Ss*pj1_6F%-1N18USFP z;nhF+GMnkf>u3q!>@es;xzE|0{_29Vw7rij6ec#GdgfWB9oWBPf4k|-&h~FW_CosvnR&2HBaq(G>?XV}qJuk`i3kiE)X^it z_+=7Gw?udo>qRK2xy!t;6v7%6OxJY>jP*NNL3~`W{NCmmfd)ZTs?RjSsxpy&C^Atm zliiQF%Uq*jjfLrPN<-&uPB-zGE^Uj4)F3JAtWU_^AdA*`F_+4hY4P&T20h40|tV<;hWK@idb2;s_)RTxWRbuF0ZFrEMeNNY}xdv;7gv3s|L z)ZD`_y&~G=Qj%R4jpnLsmhJ)ty=Kv>hx$)MQ0D5F zC~BG`si+Da2O^}qH`Dokfs$CWhLN?B!rht2aY1f~?l_<;9q7e}1UR#idbzzQuLWyy z4=Xy_3;Em_LnmDF=7d!#3zu>7V|*cmv&1}nA7AYi9%pkL_JIPZ5CiyUl@R@K@UDkm>Lq;q&>qu0uV_~6oXHed0!O~srgVHGa!N%mR-aT6o( zRK}Re=RK@{*cX#)Di!KB*2IULtM{aV?-ubXsNB9n&Qp#A;4Y-eu}nLzs#2N z2lGnkDxu%WWDDJjrO}Shxx%-igV9H^qXu5k0#1~Nj^+ub)`bxGse}6_6WRGj;Gqc0 zZv&1~pk@3%(JAuAPVA%##%D`5@~X_3@FQkTbj>BK$N7$OZ`M(`qfT3wH~eUo$&TIo zWw{<5vm8U3=F~BL$>q$9Q=Ym&6D*%CJzHvznW@Kq$*5DyctZsSh=NXSCvekfoSt_}Q>ohY7Aqzv=ZFhKf`VQ3~(8D(JaKvqf~^(T%{^9ffxc-G5QKa7oV& zfq0;gmvlV-mCCVMAYYCwl(H}$q;m4GpTQwh{1y?*@to*DPPZ1+^ZKY>vVKydy;vNU z8et9n+JGVz2CmDnEehm7Kkb@~u^gpjo}_T;lVM z1Z{)kJS`QtZMb5I`K;Z0zHV|%nv8gr?R3z(hwMyta8L?K$TKAAp>?k<2hLegv{t7U=>3Zm%*G zRm{R9q4Hu6m)98hKihO;FDN1(OSk$kZL6!G1H-x@MPMl6hRZ_5p#Js@?+}8(d}U++ zzP1M)D{s7d(N%aOXkL#NSe3iDX*NrXZLR71maD9y1yPq=B)^W6H>PG!#vit`pja@B zEFO;-(D@dDOf{ysg=^MTlQ;E9*sCQbT7a=ss^nem*#XuKJimnPJ~VTfvUOJ| z({|D-3>Lm|lqojuS<4rK^sGC6@w9Xt6Fg2wuU?iyLf|(v-%BGD-|*ywCqKRV2n~wq zWTH{Dw(N0mMVMyj%;T5R%RLjUVD|>vV!T)?WWem@I}>1tJz9N79e(&KR?=3t8|2+| zc&d0+;y8g;ZB+>MCXx$AHl?f145TVxvezvnRo!81BP8KTS;R}%Fopqj z>Cq`Z(=f_l_DGu`Odn?rOQcQ&sxiDsLa7sg@MGBzP>Exl5ubXL&Ndu71ABO@oio}; zjpbX9qZN>SG@GaX0veJA+v?rK$;cPBpd?v0!F;5Wy0&%ich%Jx8jOV(pRoCgj(b#5 zE+i+n8@+N(YMipzFm5QyQ!_qEkEmw(p)!~eR-nvO5yO7y{E>lIf0bP)P`I5W4rz#< z1&Cv~#(_#clZ44Z(xA5u*&Pm+&ePYD&2FAJj*Afw%0?L8Hr7j<=5dCJTI>#G8I`ug`Sr&_;AL4-q79DeLLsfkLX3p|D2*lEzb@LA3^OOQlWB?sd-~#?%@{)Ewm- zL2QSz#GwNuTU=F_&5Pv<;Sd~18QC;$+Q<%tb9l-#A>MTD+qpktOA8X)17G!0IB5FK zf)O0|_F&GiNVmPG>p<7`jy){5n84ss0x=lzBm42=b8{myYVFB+n`V zBQplZq*M;=lF<8UNr|9Q#-nFt5RcCPX3ummrU)N{OH?I;#kPL{*gqJ(FKoqazqISoPGC3SZ6Adk=OU==3O- zJ+Gr(DORxT^fl#a^8^Pio-_ZuS7SSRw(o|Dw;wpz)9I3jT%3lB6ycE+o#3#YRP<;{ zF~>Gk8~Ch1FzGr3(613v*3r*DM*aICOPYi!*y$<2o#< zJA90e@>wVVJXUAm77*y`nD-L%Z2Z9k+r>fR8_)^q@HSFcKXq1Sv7b~|&=@-T_%(c{ zKHBzbQ?=ZGuxEQ+ddcEN$LJbnOsw>I=%8Kq+7I^ZslpdMF9kLP1KFIKnz0x~E$Een za_DgHV24eGu|f?u>Wd8`wbi+vMsts)*#m`>vu4A)JGNiZvCFN2{3rqH15a`idK|D$ zJ}xqKRHpRU1YmAk39~>mkNBB6IO1z zo52FIMZ7T!s#P;P)@Zc1wx){NI41%am&xeI<9WT@8Vqt)}Y0jlLTpO3@%z8SqDv`N->!$q*L-5kWKvZ>;dSzif^s1mc-T=7hP3z*=!^$ zBg{MGH&wHX)qg3Uwf0|ilI^+7Uu%iK%IbcADOML-Q4|qitz(8Jtg}6WGDDdY%Iw`3 z`;`@D=Q=-2=yD8J&Qh>zDCbX1{8mlO z^KQUreE;vhGrj=?8ZbI>`R~;C&GBx<ibme`yni0aUZF(CzdvgxS^tcBF8S$QO>@YXf1pkyS3IN6A|JX9vcK{f z^&GPCm^yFbiD%VM`H-~4QX4?8a+27LPsyE6t1HOvFQ_f!@A&c(a`&Iq`Q+GcWf9q{ z`KFBt7S5B~U{)CeV=Mh*VspLjzSJg>fje!2X4^%8R1mCY^Wzq*t;@ZJRUk@#obGTfBAU zjm__D=*kP!74p^jElXbnwOC9({b%6*Db|RGnqPCW;k#~)cs&7)_}P5v^rV=_kspmU zMaZl2>ReM(#>>B+LvH=8`hoFZo~uqQ|GjGX8k+KAYRdi1?>N~*@R2wELA{)O=MU;qa`hj8*`?q3&#$R7 zb4Nk2LSJT5eIbXRRnJ`!uDu6ieD$nl66deHU6mB*yji~4jQt?A86^IUx`e8djr}uU z+6wg9=5N34G$>H#nW8{s!Sa?B4K0ziB;r$rFvgqb&&NxN6>{TFDErAyW%@s?XxXH= z)abG1zx}I*8a332s}b2Spe`UA4>eDpnCWZTIo+i%6aHVl>7}AC)Mi2X`y!<6m^%NZ zEx8Z+AAIRaZldXr>T6!IBKx%emv20)L`Fbl_m1Cu*Eyv0_U7s2qUY2WGW`!~@5@<; zU+_P1h6(Yt&HjZbznRiu{RH{rZ`AXexNoT;OK(};<0p5&*s|QeLs>>W@(rPQ3*{gD zZ+tBkO8X-6v#+TiA76UIZ1Us^uzh=OY;KD9Ei=iD(_6mj zlG`2rFTCaqmfOUvKdLvq48-vJruR0)aI(bE6bMX#^|$+fa%XMUxB19@|Eac2eE&by zzn;^O!YPr$>;3P$qalUUCIy00AfImWZ<+`NT4qhleA7RE48>9KPki>D)l$>Mj?b#| z&Y4^^f7decvmdH&@zoa43@Mz_#CLw8e%&{jum}iiDYDao!L|MrrF z6Kex4v!@Nd=0AO_Ryyx8UZus>#k6z*k1n=rmGWThB7EX?$MJ@XqWJe>{M)vH{%xaw zH)`(7k6jleZ_u>f@@F0?4yW?EwyTuF6JA@4@(}%YnfQX&*>0_peQ!2BoYHgJwyd7d zrnD`1{H|oXM%g1@o2GT8U~;_&tKE`=zhiY|=`ED>ytX@)H{hQw2L8G%m(5qM-#Ao= zXO4Pi+lUR+2Z0e<58l0!!sgN6rN&*)jk}&t$z9LEV6ZcTYEaA-Qm6?$IjVC3bgOy{cbS}sbf3h|s z6OAzaEAEp>(AYveFjax^8Cgja**A;y+qZ?`aEh+fKynjXn1rT?z(OSewboxqi zkMqmeHm}$iM!GN7)~~HkXd!laWC#x`)8sB9MJN|TpOj4L95E$Sx|q_lsL7)pdwr^j z&&^+tFiSP4cSMu0aoVFKcXjMQe=Yvd1oo2IGnee@Q1#k^4O+~vQkHd+fE`#jBVo7O zg=WHGR1*)3LcU4_0@o)L)k5s{K%_1b5h3j8i8>74&VU8C%8V4n9h8hB{z!Tf?969G zKoA;69y=+RCiFr{Jj0x#!RTT}xln{^L;SSVKxNSCxTC|_oK8=xTMXnE<}ylbf@NS9mMKKj|9Yiv3u=i3gE8K|{yn#RC zksEphF=3M|XLJl3S8G-$aaV*=;Z56y0opMNol($?GMYjB7DNn~Il$B)B?f5`do`A! zV@E2_3lVkG_rM)ILfGBiAu$v)b!cJ8Xy>f?0AF+dMzILn3&w1V%bXmUdGe7PqtAAX zsL)?SG!ZT6>1H+&cGdao}e0~Z35~=AX-Oq9*Gvp^1OXeita%# zgzTdQ_S2|*-5uM;_CcXl0(@|OBv^acm6QoVh&}$4$r7{mLLJ+kI4Tdo^2sXC)_Z6k zeMBQwb{K%2nAy6F*{I<4^cFG9N)+(v>Hro7@Zm(dr_zlEQBktEMufwIEr=;K{4)AL z7N$DftYg2Dyk{^~U=d8aXaY*UX9-ClKag)I(mikp%>OCM=+YK2z$d~G=|KwLKyMYaoA17?ZtR@wid+k(6&=) zTy`QfM>tUMtfP&KaUSk7Tvy0MY6`olkgsFnyepJkiY$|{m8a{gQd)oChJJ_nJ4ps; zSy-xJ%9b20*J;06(&zTSEqF(*;4NUD9+1dyiR{y&NtfNYDXB zD0N|q$rI#4@t7_22>RvWA#p@CbM+h(DW&t@ZefZL?+zYNE7$o9=QIrN921)ttPKab zBMo(7yP(@!9qa=@!qr;)oPJ7eqmX>En??bi;`_;MTvdItJASxsxl6JaG&R+-!tgnO z*?evTXOGnQ0exrD>uSXJ^EUpOoo}X%)(rO-cv0|7*5GcFvMPvXzE3b7L_9is*p#jC zG8;0FZ4NW~ujl1s!7$FIaK(WpiZFHXNEw#d=?J`A)osJ5kJAYo4*bPjYK%M9P7J=p zM-IwJjX7RZ-EkSK#5eU4C=W#I{anbv?&zatrb`gjZhs3339+s?8K*t2FRSwwQj2V_ zxWk~Tc+aU$uflFLv6vR)w`E$V-!YdLu}UrdVW~sp8VS zL!Qi1j@#kT5?QrWw0v(wqK`R1z6fAdD^9!3hb>}Sd&pN%>}Bp*zz%h?K3uCxUSstN z?aJg0ky5Ag>JW8+QqAN^53O_Gsa%(!tO=}ikq^6R&dc*tby8WsOUPSzR^18h#LP4N zIII{Co1->g%?#!;U{yoJv3zn?7`WY(=qjdxJ@zwS={ciK+85HCsz$7|?B%dvor_;n zFkizm>-a?68N1Nx0nSxnTV~79br!%uzh-XMgqmtwmyoIn2$(6&ufulzsXbeM0W;+n zI!pFc1`z(#WKBJ0$5T0aUrQ3>Y-TV3z0SjJN^Wy;%{QNQGfStv`do*Ky4py-O6$dl zf2o{Efy;0ssXUHDvZ)i*1`3%Wx=n|M$j)NIf_!;_LGL~*59_#ar&AA3z6^Bc=#5E* z{Bb>>Mg7EpgK;mxS}H7|f|n1BGd$L?uLrTKlDo-09*lxd{Nwm7Y`IS|Yvku069`&C( z;c@h;=9sU!^x$5&IPnRgy>{w{hmN)(+aq=UT$#tm#!}|3qs|^s3F{J;h?a=c6<- zZ=~Owv872>_rSDhwn zl5`4)sU_PJ>3$CLfzBF}>{456kA)+X*H%$EV_#72L_v?893s~lp+jsMJGD;eIlFy9 zTEnQAqV9OoK{u&L;yAeqBDK4YN%dEcaYKGDZ8&HM4v< z8+`0~%_-Y_On*+f)mNSQwWgV8hX5>}xEpDvuwcm-gru!Sd|%uoCJ1hX*7ISLiU>?T zJucuC*T*qG1M5&SbE(Gxz$S~Um}X(s%o!-CQYs;Im`S}%A90j~yQ4sWR&sB^Wra(d z<2j~P-LQcl*ETUgd&3dRJzU^g`8VUKVE;U7MdR#j|{h(Ka1 zKWZT<$7GA2GUm~3MrYJy*V-1xL{@DURdrvT6W$mv>zW5s4m)<3O>H_nnT+JKFJcYO zT?*gj*Gd1$dhJ$}>e-pf=Gbkt95AO);Y)G`Uatn#RFrz>;F6xyKMl93Mm1qc?XRk= zUZ46q|KyYTdRTeVreognnA&t+635gg(bc5mDVkba@$ln4(erL!ozuIM-Y_jpCxj8N z22M%eY;E)6$eHVBI0Mvs3Z4cTY9@C!(2P@6XxExNex{<$Q*v2M)}Y#6i#jyJ&WEa6 z?ZRWJZ&b}R2@mVtf#%Izi|DGIwniVVU%XBaPP(M0Tpk=p5AYi9y;cudS?GX~m+I)j zsKSU|9!A?8TVH#r)mb^~uGn{V>v}crS;4dU-bvp?|1FH>%}c5U#jX`Z zG_h-vYdh)W0v{PP_|cd&o1!KqbgFqU#NOn-4gLMrsi*qQGnet49h|zAhM(G&nvEOP zr&`_8ZcothR1P#J!%s4?Iks6r9rJ2#JckbeBGW@MQLm5}@!bawbko-kx{4{o8YFng z2IpCGd8$o0FDuReXYV`U+p4brKN^np7^Y5g zx2k4=wtkxfQGr@mzC`37|IX}r94%sHJEA&Wsq4maTN(;Z{~hAQUZME58GT(ZMQ3-| zAL(xli{z}OWQ6wGkQnUJPq@(=L8U-`E75LF43*QiVeK?_yXebrq_rK2VdA2)`ca$a zqu+_QMOUj@kuU$2lXf)-1#Lywu;rd1qo{}$ExR%ydbO*BgH?=2sV2XIlm^L34n{W` zSB%E;fI#-J;F#M>d{9)DUZj3#7&R_n5TwT(sGXD^Kq4P>roXvY840PA(3mH;R;3Oy zEl+=5}Iqa+wz9F2U2)l<%F5KKD4UQy=X+NZmB6 zuAMr;hB+Hft$(bGt}<&Z)Z?pU3+RP0aO6Or80gPk3DHa*)7L>Nxg;@0o-)b=nCxYw zBdl;{>&S*7dopE-MHQHsJ9^!kaOusqAs5;yp zB6;gcV^)GZ;G?BJBCNJdGgATW$fUGsA zd25y5L>Md1def0NpFBBf%$GI!nZG_9E@suHA1mk2LxNdWCIg4eLpk!FE7%&L%Tm?C zWd~PGso&&erw2Fts7w2N^xdV;M~CD-ajT)##xAGzjy_ z@!8tAyDRtI33ZP>Xz)F<&GyJ9*duFn4^hz`SqqsyCB{PGXm6u((zJI?d-I0Yvs--a zE$dp^TQ)bh_|~>`G`F|5ZEfAMS!tXsG#S_^OK~#-J8Hwkk7{eR_~W1>wM3&sd*Ta4 zu-`-iBK?V;q1xzBZe7O06h@m{iKBLnT(*KvTFL77!Wlc{jLIu(HJ|deaJHD7O^!uc zHtnlyajc)7B0Eeu0l6Fv9krq|PYP#lQ-silK^Z~xk47zwr09YIVn!G0*HM>KtL*jD zq|tBv%aE*J~13?bgXIKDA4`WD!>pNBd=sOtWj;uV2I2%bh0x5E6AexlILj>)#6Wkqc^+4RUVk|BO z{K`!MJ^r1jXfmZ#yT&_mX9~(H(;vR7wMGU#eIJq!xYad-N@_T*UJ)yUKk`ZtMF{$j zk34g!T|FvEq3$p~r0ODRT}~Qi$f40FH2FskHsq5WZ|EnCHS}K+Zk(Aj0mvI8y3io| zO|mQjMOh(2sI1#_t)pqiB0hd<-sSUO%o zZ%ap8Ji0R!6pfq0u>%x%d#i-kI!*GrjC6IfGE|88-(0)3a(ShmZh-dnS)CV zjmSH7Z;(}!k>;k2^@qt4>|plMX~QY5K=nBjWMip1>-?}hu97tyVSJu58|6)e5@FFb zT;R~XywxuDXw+RoLKFFPfME=C`a3%^%ZYMHlSjR(1`$BqDXM2Z7-{Qp5|AAp<5smE zO|)as8%H`s-;hf?d_8Bmn-2A|)t-C%NUkYIej{THX<4slve!V<#D-autf8D7uoZKR zb`&0u=Rir}foD8kc<8ANH!+De;0#W`{>P^Do2PJZ`rwVt#Z%x}3pXwO&pWt(+Jo-r ze?)(J-U>hejCoc1pAB63`S8Kz=IH<*x0Jy5AGMyJe)bM-aY=CLD3St}x&ofVztW5E z3b=jyV;wg&F(VY1Rsj}%*`rP6oJg5TZ6O%xn@+Y@4y#8H?ls8K2SV=-54 zth31s_q|}Qgs=75D$+~u=Du1Syy&s~B7EOeL?;%~2Uc>;=Z-86JoX?bjIPQXO&@(_ z#5y0Gk>1wHJ+(}|Q+Q_460X~^olgGPwr$(CZQHh;bgYhT+qP|6yVqLh>}TJM`Od3( zGl#0as?YG#a@!`*kDBeScGs{PP|X?F!HM%u?k1yP-*cvPKsUYJ(K;4}zYtX7=i?`w z@vR?_=M&6@f>ym3{CLcwJ=I7=d5}`F(alv5t)@P|kk#5;{zmd~MMkqkz9`*#A^Ct! zzcscLrxA%RlNKWiy}CI_6WGCO&th+c@}iQ3+4`p`E6${re zZJ17;Mr<#&6kodjR?K~r2^|by6{9}$plXkfX(cv3n_(r=@V(eOvOhQQ*On-sUz)ZS z?|bww4pePsbKq*?+7|66gt2T^JEd~WwENvgDHh<9J@bq>n=1|^wX~yCp%xts8(zpG z8Hd&;64xJ(O7Ari*E8b-J+O{5mU*v_QXQ>+sn}3pzGsTIChyxmo6Up;Aat9jC(C_w zFAg-d@4$`sIc)ZM^lwUXpCy>Ij~ka~voV{#N!LKTK{&NPrnY=Yxl(jpAs-TR29KKy z^E+*MS$5Fd24BbQACwEAJgwqpXiydgqJcmHOTtCGvgKkI?=4 z+OK;gDs@887}-UP%iLwjvw?n0RY&W!K={)yYq!^|E_y`Lg03;Ee!HATqjC$AX9NEE z#7!jzO%YlOk`0F&?vzs;y2Myp-sFxMuBLg+f8u9dOyc}IQ`&N`3*J`u`~juvcBI8x z)!hk;4FZ=Zi7JrJcJJHxzNlw;IL9RL!c=Q~;o8+U@&Ov21Yu9}ht>WppX#tZ?|)qglXZqu ziYuS(^_sA~2`s1&MK0{`Q0a54d4i!$^`^Qkm--#J*df{^jBG9M!LPH#cpQJWflGbH z4MSXfPB8)9I<@CO*JHa$Bs0+jo;wI;EKV@$v!()BU^Zxt8ne8T0v{2HY<|6gtT5}; z<_&+Q0-xO>uFP(BWg((x`2t`5ft1`Y+g@kHI!{b(w0eix*IzGhyL?jD`qWuq)@ZdF zy|}cIYo*mBFpvcdj+cM$8FR1Y#nG?!ba~5eZED8#4h>*W!78~M5%uIbX6=DEFIuJJ z@Iq((HU@tt@ZRy#@xvB{1pQr=JbyT^c~Ay`LP5fQL+DTUP@~Mp1-FG^0I&(@{ju_n zN)ku;Mqs7rhK3(?%T6JDTf?Y^cwNVeH`l@xUEfSLVZxw54xxi9+tlC*_7?>2L*0<4 zJkFDD%iXNGwLOT~(0z3+DFel9506W?_o8+?*b2s3p-Kvpowq>KovW)LNw*{OJwB`e znR*==Sy_qhSl;$bY+#06?EbC$8d6BvUMMehbt+B+Q=6X(Dh>Yo@c7q|sl8KcKAUwSQR5ci75G)n7ey7O^iI?0G%elrptw}-6w*pg z;+eR|pT6CXi|%zRkXME+y4fWJOAP8KCm229_7I;WC={{SiG`+^oM2F6hi*nSm3=a< zpV`M8WC6Yq22!Gz`AWiCVM6cI-|O640CHjpUJ5IVk)Q@>@g)qbGZIPWLbr`_>;P;tcAB_P+&-7>Ue%ECW_#(Q4rqn8jDT$$Ml3AcAlRFb zhStNHV2m>+^ROyBW1-x9;tFYm){oGQ0~cJ9?K&x3bAuPbietnx;`31Qzb_V%ImVq& zg3n)2FG|V4&8`nFF>#x?ds^?GEuW3cDDGu@HSgt01B5i``^aeb&@w^OU7|uU7w$;3%vrjX{dU8z8 zIAHC-1(h)0djsuyozTVK`=*b-0vXTJINNMU-M3F!Yuyz4 zaPcpFP;_C>cdfBL%g_%l8(D3Esc(&R3VO!S!K#5qqmMUZdogeqrJGf6W2Y=}zPT{cuABJ?qS9 zP+ABBJ$Pu}NW@vk8b+Uk7}J0gZW1E<9y0`UIR`uS>3v7@yi^G&qntMa=8;7QPdpiz zRH)&X(fV3KZ&5(lz-`HhT6ye3ZC>^VEMD>rGiUZl2k6l8zq4KN$kYo0d;#romBAOD ztz%~xKSMdDl+nR_xvv*w@Mus{Sf`1N`r?vRh`K8csIqR0}kQR8wsvTqS6 ztjz!1c1HE|?NC^A^v&u%dtr8XLA2bwn9>;g4p!1j`$l+!7%cliw2gpXCy5=e2jCTd ziF3d~MTE0xmQTp>6Z0%KqXp03QN7k0p1n5r(5J`h@r;mWR`@8}YzmiQ99oj6wyLcj zpRERkGQ4&=XWusR_bkUh$rphPF1ze%7-S`NA6Z@#ERf5)ZV@bv^gb5>Z={f#`}%uv zzg9)`;K}KSRAxVGgn{Sz-@XMI+V!v#w{4#7dfEaFD25ipN@1ijQk$rIQX8GYCH;Ib z!Ac>ZN!|GCW36}tgPeB(-hEf5ayYwNp~EZP#!1ZL4G6Iz9g*OyZ{q#(U{*GJWiY93 zWlxDMcy7mdZD9s>210roWY8p}d%cWR;%p$A#j@gAm|ZpdhJ-L-EzYX8b*b-0d!3ev z@7YJGgIr6t*}R)E`Cns8Gi&xG3>v~aQSzTLuO;W>Gj12GW~2CCf6?5xy-=e-ao_do zP0)-&y!hMG74<2i1)U}|Kdl!g}MELxX9$%VZ3@Z0C|!57No_3EXJ)z z)hZ%@!nLfO4hj93{Czv4Rrk&Vr_JMC9N?962QrKR;M4!~{~xdiy!9z1EkN`kEK5JW zff(3XkN!(52N@zzZ-ygT4WDh|iedvC^alfwApQq?prr72vYl^z1H#zNnR|;=^a~G_ z^rKAA^q$YRBohMhp!|uqDv)};Ib&i6g7}<>QKEz5z}q`9G+(>GwnEbf8TL(a9dAW{ zen1_!ETHD#J>Fb|FM+BfRsUvs`r^@UehF8E$S2pdHrt z%}uKbJY_?1!Bq{z;So3!c)`hjO9X(U!k-f-L54$J1{`<}z6!HxHVmacp+97#?sQ+M z4bka`rv{&QDy(#XP+V&YDMn#OT`MiEwlndy4odQ(FW#H;Si66zM(1?z?I+pA~d zXP@;yjPcBPIn}?dp)XdHZ5%HpUG(?p=nSw|`z)>I;FuA0Od#Q> zsC6WooNj9#eMpa$oO=vBq~`XAr&&T2ToN`JK%N8p zhdEPXc<(MmhB-Gm{r;b0U?>Hw5}<@$+92JrES+)T5=noDTZ#knqpd+sSN)9q9@3B- zo)l_G!y8NUtPP^Ieb;VcdowSHMdlfCxX4|Q-MKXbF)EA@3Mf}==t)*yG4%Q**yy)g zNoMUzwhOrD+6t{0OPyCON7u)wnQfbaHd=x$K>aUcuMW^}}(sJJ7Ku`@m4@Lu~F zAZ8KAxgp}ODmhow2AJ6@slEO84t25m^vLwSrlQk{*4~SmgKT7=zrVU3wfLMdH-2Cb zj!+8kK*!alsb&s%hJSpUaU$X=Oh^##ldI&bVKf&Lj{%h%r-JbUt21$dIKPN2$@wnJ z*z04%Mr&|6{voj7HF{mN&qm!sS7XjbNxmJJ^?Q_ze~wOe*I=IXqsRe)#3SeK3qdtF z@7BKuLQY-*p99dYZ1n!8K(6a&T&Hn~47Jg^5o`T5plJn+o;ERzjQ z%a>^lx|Jc!1{Fe-kT*HiX${gmO0l@qX(v`GT5OQK2_hmSGpmYkHS(Gy4{#Meea>w! zq0nyzai0Na6(6onF|UsyTdSn&O6EOIx|2&2TP7nzoBf3IJ1Mq|*jg0*f!jL+9*RFt z3y$vJmKVh4UBUm#vb{1)kPMMK-El-AfmF5Q#{G(6@_(*dEs(u=LVBlMoLqmqDD=@e8Y$^H|o~|x%qPk8^5f==vYgiY>yZG{eO}?Lbqob(Xw@s|KM-6i7 zTbvmg`gNdxSa_BS(yHHp0QdY#N?Z_oi>F%&wqJ>=6)swdLH1v%&w=v)14yz@DfK&4 z+0ff(V6hT%=$8WdoJDorSznaBKBrBDEob;hPS9&!tGz^U+5=cZ-0slY5 zYSlM_mTbk*7t)jB0%uv9;B(S2y<KaW&gmTD;_}IqK@ZKd#lURGU3U%#n%a0elP} zBW6qKFwPdJuaw`ATl2HD{??c0`r0xSN=Gv?j62^el$2I;l~5%8>RBI_F-(q7AQjC3 znEYSh%uGJ(tH%PEaNdzG1j56*$l$EP#ScguVn;X-4<`V`{y!L=Ot_}`*l3C-Vu&4N zM?Mh$4=}67DmR98q|FhD#>vWiK1S4Etf9_Fh{dgHu??pJv<$7!ZflF*qZp{^3kJjI zC4`gzT*9%&IqxHpu*MChBN>TCV=$Qh7a)eBuc<%ASqe=>%WLq`y*}d$pi#0L##o~$ zftSDfwZXHpT0Q>zOi6(#vrrEeN@zVrgv6a3ole#cNh)3Ry;d$REL+R)pqflKe z&(Nh`hfcpeaL^Ly)2FT6xzl~I0;09SG0m)JxFi~YW9S?%gHcC8B5Mn&nFi9+$hM{?oG%l9r{y!rZ?GR}kU=7o)-sQ10A(yHnSAkeG z0U%B++hQ0c zM=g|(7G!`P`VWkdgal^s)pkI!qG$DbaJhvbWtHMmQs+T;+#C-QK~Esaz1x!onSf8g zreaVtshieL>c5@#ITjmPHi2?y}Vh5)&sHHbqkAn`u3;yh1M6bJO57Mu5 zn$LZ5P6mDNDn=#70bSsFzoPn)-mbnYnzl&jjyHsn=t;25{qEi0a??$Q90eSGp zw+MW2n75+W9AWMSF}02>79UU?z2waJXqo~sNgj$Z&bM(g&?BG95k3CQ4Vw4W@xxG7 zfUb!O5>jSsAMRdSO~Jb}4mY8^;2~my^`mkZsYw&|9u-hdhwR@O!=#`jXC}}sCS;Ng zz#vyN=ubhLoov+JCkKE=$$zQvI!tdi+AEsa)u zC?VHzkP#U$BsG8~H^hc6_co*z{8$EnC89euAduCSlTYXeVX0acMPHcA|p>m|+%@I!K zoVMF5|-`hLl&>U+m^Gc*CV-uEsWr?SxmZ+%GbqVw3Yos{1{x3eYmJ4*4H& z;I2Y%w*4`lPQWM5C6W`b&T`ao-h`B}dH>0omNAn)yk$zTjM}gbgWG7cu(&MXn=l|s zA!X}anVRA&QHMkzF>~;WBL$)${6i4X1=l1CN=b;ZS$m*;txRnx=y|`ksXZ(LKsV41 zc0d{yiDgEAyH7?SijJbEbtH5|;-_`Y57`~tsS(L;Hy65-c6X*~KPPK%t4Hpa6!*OU zpldNKx9c{eQW-!oqKodLf9_v}F`^q`_F7YO@G}2gg~9itkn&P>++jMSkj}}LJ^hW+ z4dh3@|1g4N?HXBK%ZCB=IP@vt24qO&Ja^*2kPs~f8ZvVl^=m}a)}iS;LhLNmG2ymG zYqH^<0hfQ62?P^-YJ2hUBFbRCt-0Vah9=trmDoI?n-f-TfcYZ)Azv}FnH=>uKNZ7o z8NQQ)aIu1s=z_AI=Z_#9>j-g8y-88=WCgW~uS4BrHDp{S^1>Vy2Z`g~p>%U#4%1Rp z?TuLx(V<>!988BrY;9{rqOr7nbY zS)TCCH|ZyqFk(9b5k$+_I-(;~f5lY45=vc2-p>&tHZZgj!*(%HusJ8V&|rDcXv>^y zwvZjmiR8eUn&`$D?^etID5mmA1Y?7tE6@M%(z$U{jOuUYs82FXfaKA1T--kJziwkX zH%$Khy`oGg4-DZVL$VYWRMF?hl0t2W9qmwSloT}PdlRV-LHF5Ew1mL4-q<^wJ1xe?{W=WW`1WD*5$jGwIJNx zw;mGKUIr#+L_5-t_mM*sV*d|D7{oZX^BQlwML7UR`pH2Gu|a>ZeTJ>UEA(5;1nF2{ zjNrulSr8*q4~0Ilo#=1**7|NAX&I@m#| zPSjIKRJGM1`F0K{3fYP@3=HFsGjr3tX>pz8W-Gz)g-=hMj`b}h>8vUIzHYQkh zGR6RV^n^_S)A_bA^?o*GV+&IVb|{7XVfr4#-}0t=DgJ!*)8DVMf&Gc2|2FHJtl;K} z@hACws!u#aOdqVZlI*DsFaQkH4ulwRj1teh<}O9>PQ`~4APEtM3Ns>q&3@m2 zhYF8yB2$1w(Ye@bAu!zbxTbg@Pj=ycTqrEeFA5>&>^ zunf01k4c8SFf`(BZ(*urK_oI2g$PW^kR`)8=5FT@PWP*)p{Ur21nPonoIwM)5650- zdKN$MhV<)FVQR!}45}+hH5QAAt6}eSoZ~{tI9%C6XRU0;_^|qmnEf@seZIv^JHpZH zfKOSO_uh@@b=$iU-DeDEfl1f^3SU{@Ejwkl2>Cy!M(f}}KkpLb^VR-2 zr_Ho;b#~5G`@_+8LH}TqhKbyIT|L=AMT$+FeM)mXg~;CC!)0UD-JpM(n?;w)5OOuy zaK}ES7JHPvciZGd<~r(y!OpvbRRs0wPoPT5%6v~PQ$zSSu>CLNtE;i!-KPCt2nXRe z$h+;ahOk~CAD@s6)+n1=rWtC~a1yu#lymf~YqkgkaZzN!_S6}WAtab9yDe~KY-kJW z(nbt1Lyd)i1>Zp)Swl?|S!pdry&i1d&L!TsAr`b1b!{VutJg@Y8x_9AKnJ+@ygssl z;5w(PXJPNMfOYv8vvZrZJ$W{tZIn28K&~f<0|U7zGJ&7Eq7#c5?pUr$*8;bj$}x3g zjHPefY`v>bR83*=*X8mtn%+k$jTVpK$TG`?7F!J)x68)fhFeC73pwr9WgI(-pd6%E ztu9&|Vq!2sG^XH&hZdXl+Gexq1vmj>%*YVG;nQ?e+=>0b4QA_jTYKdjut5(oR8>OGw>^28 z6`i|o;}oSOx;&`xOg7Yoi|T@Z5em4nwn~;>j_ZT=OLQzde zRfkP&74QTB)`cREPLTOjWwo_R80;A=FNo+CQWSg`0++{@w!y?WkoR?buZ(XC@|wGL z&R^%~EI71~2{m!kk}Pzza16E7PKotId*T>$W#RO;If-HiFd3xB7uD7%cCgVNa_$pY zM~r+t&)R$P#GyY3Yi^7GE?CQ~hg0rvU@2jIy$KJgTqsroRkk@ukl8esr(7Z)#M?D3 z+4d-h)qU672)@@|x$8YvTv+53(^7wwDnLYsDBuz?=oSv3q#aH|x+g&@W+n3g{tiA3 z(M!&%i0~+}tP)HJC9dJy?r3P}o`6HQZKhr2RWlcA7_40oK6nSFr#I}31s8_W63m58 z#Isu3U_xTa4q{@PAk;lqaQ>jQbnHqOKU_Fm0&*tY;9o+$H18H})Qf(t)#$cwWK&`I z7bz) zzv8(9sTgc-uy`2OO~|!p1}beBe^+T*SkWk}R^0v_lAog~ektMhr68dGe6_NMSnn6E z2v4H6V+rMBt3D&Ywskrh#|LsmdSgp|HGH8B>8A&gVL`Q)^y@|TfLctGM5B2*0|1&> zI}$ZUl8Z;w2}y?;8OMxgN2+4{MM&C8$f$(FV;=Q;sY?6spStiBB*NT#G~|B%px9W4 z9edT{nH1Cyd|dn>SROPB87jPSM7Qj)Z8mDmf)%cO4DU!yIqDvYX#3AUn~!W3?1k~d zi12>SltCR=gYHCXTGGV3aN4GcoVo~}CSsNcZ?HfUuW<-vkpd_I$zjOnC;>VSQAr98 zr-#gJsE!u@Q37EvOwcf~lz|O8c!R~}fv?}G=M-SHoj4z-<&=dpqB+k{168^BR-rLv zvFqWMi_07aq8coX3Sq0(thb!L;JT);pa1e1EERR=pnBvS=+z$iMbu6Ay{PWrA&Dx^ zgCHon)MtMR!EU?M8M9)Ab}P`Oj!hAmchAu4Hs*tSK0L=zU#Fr-WD2ohdyi|&-bpJ|bBKl)V)2eNgC==tmn_iW?)y>%-w=HXLnzvLu7j9`51_D-C_!Jfr}6;bI& zp@6UKhNLM7!S>2Z|N3w|BeKHq$8r1B9Gx0krULSSkSxu@vHSIv4J;4a1@L5eG(2@d z{?8fvDhh{Ghg==tbI}kH3fr2*c(iemCXzOh5!&rjVbS37sc>!rGA5C9 z6mZ<@<2;SN-GIJ>ap%1J?JGcq-m0;&K3h@jX3IGj~U_dabV-S~hyqazS)FKuw4@20uYE!n*uOX=rQ$J!%D6mfh10%xIA!aLjZ_xudL8=Og)zi4}{&7U#$I!b2 zFGsMDR`Cj42T4JDQ@}Nk|B6aSbfZ?-1K>v=!78gTy`~gF%J9=dk z1&QbA*eR`_Ag`6^^^Gm6r#R$?0w+r;TOK$g92|6+prWN7b7bcasu;CQ>ZhQGtBD2WBA%DPn#QfXb zm!XhRy*@kUS@F~mHHJ^FEPPsoFbb{#J+9!4gs_uMRI%~j3nWbQ1Ha)fP@5qz>uYn9-QaFhPAI2mk*JW)mWZ!iJr{-qF@%uA99GQB@|d0#2~xRu zt!h_7q3riHNr8u#8`l+9%U`{nd0E!731H6z7wf?|!_D6!=}%Trz^PW4Cj8KD?gdQCv>_L)wkm znKJQ48Z>C-U$k6-)w*`u&`e+zjQM??!~xfTVeid~0_E?k?urQ6-;(l6Uz0TLncl7m zi5G38!}$!|!iR$rX`2)cIzEH0wM+g^3NWPV%xN-^t`yG{DQ&Nx>IY*75>q3VP0afW zPSRRL>=&R$B~CA=A35uON+K+exw7lPZH?hhqDOjWg(4R$whtAjhK9Tb(Ylp@5#yX; zY(KrOa31c_3Jw=;abea)OEX^9_)4!89*(dQ8As5Pfl-^K3L5`Bm48RSl~E;uOVKJO zavkWOjx#bSDJsQyfGQVEZ`@*`1?GrKx^`s4ZHF9^)0SpSN*S{UgnSAR!-UpydJaZz z%NPB;HtP96B5-oK80PC_C=Th6YYMU}VOvIwK+P9C5h^^%!bdj(CJ?>$19$}@BLd{* z$ZOY6+wU=GLxv_D`IVI#`7oR;?mf;JxK59t=1UvEw36g^C-8F}ox-V7g%MXVBFPfJ zZ*L7L$fk^8h|q<-GkZ}ZO771%f>X=$gFWdnw#tE4J4m;)uzUMdu)c{aU6X$h}#pk!fcq|qJqnFfnqNztr=T%e(TSks14e4 zc=dnhtRh4CkOs;Xi=Ggcmg?L17_u*)Zmx?}>qd|X1|Wv2JBFvKj?=R&EsGNE<*yqP z2j`@;TG$}}JWq(BaVX5To=Odl$q^~<2sa5rqcp}6r%BqoYz?!R*{v;aGjx&*)N!pz zg+StFBWfi^0FW^$IPnVxNcMdL&?IJ360Jzrg%_xRXZ^w<4?pqWynln$BmNN#I5saL zTf7h)CV7Xzgi@A(DoVKPHw;dY3c=E`q_EP;Y_1~P6|A^b)DXSLK)RDo0&ZJBUY@$x zinMQsEEW@g8!6j#MdngwPJ9<)xC-$8F4#vNSE5XPmzD^OW zpQ3#X5LFz;Ys!#o;0TaPWob;Bk-}4hqb2xw`-W?%;j1|vLEUcZN zL&grg1O{-_Qio}!)3q|PzR1TpU?uRoI@84l1An{Ar>&<)v-3sJgQ0*HAi*X{6v{e( zi<*i%>&;n+C%_ew6GpCfy zWa3(}QL!XO(6P616b7{;T&dEuTeB2D5%bT2KR>*IGv03BPKzRD2(0)+Exl^b^90{f zV|&_1FPnuHP<<`m$xz-_F8g{`^|GL;x>(I3;xk13U*wKTQb-4J`RXHFu}O!&&Ta;$ zvL@x9F&;h{5dsMNeL}qX)Ku))3%hhj|GPJ z$fP=r3E=*claGaojX$^w00Z&1#<8iON@x{kyz%-XWv~yQV_A5F^FVs7UhNYoST34= z2@0@*Q*v3iMr6SuXq)A73!y}><88Dw8&zdxCx#96!sD?O0$3s$-S?zONYyL{u%0db z(r>r(rL*Yk&lr0bquL}Ug6;_PxG@+S2P%*3-v;(X8Ab2nsTiRI*(fpnIZo6|f$jER zla*Cc)@ay7Fe5=Nn}9nbbnItxv`srU-|kDdOshR&u@#W^5>7*091}GVu?xgJ`=&Kg z`5#n{-{6d~1Bm3Iyzqh8Ip40+KvUS+jq#>X1tM~UQ&t}eJXkk71_xzaF+-dJuar{3 z7P1%Bp;_V;qH-(2%V*Thst2ag1@}d9-J3kn4U1(SvwcI0hCOo5BJZVb@R^ z{e~dUxV0*4i(%zye)8~o()L3nd-9-Sl&kIOR31DtK)F5Zny^u< zsA>I78#XAkxA3nh0laFP9(}GB`IQTL9Ua}SA#MsbD}*nW_r@**+V^qjJ?&~ULb77# zy@6CGuTecjkQAgCKY~m$ND^9hvdb)4`Th@nPJg!!%U9J$ox4 zKdU@MG43IBYfsIL;vMhGEqS|;{t@ti>+xo^DP-g%-h=sOovF8l&4;or-#albK=5u0 zwF6MZ@-M;qV#Z+9T7&oetL1L}_xRU455B_m;Yhwdg=%79Zuc_d6D;HU*Ua?c33lg* z&=hsIC~v;)5w$OYizejEzFB21RLjgh6+$1<9$UjJ{4vL*6a0{quhEy`lEH0u1%+qw z@SQa|WU1Q2G*pNO)?Fp07A+IjTpw;ndKT1!)higpi58YVw3&u;?ernI1NeHN=VBAn zYu~|kAt@#g^gA2sOxYAeiI@>;;bQ|HS~1n|u9>{4gV2WAB*|?I%aF>gugBfwTzg7N z>+i*GE2^0Tg`}kpicu^&!B~?U!kVk9OslmNVR1@hgu zqu1S}I89UjpQz*WAeVZ0_l{O~R|W?%W6ScaZY>6?kKa+#OZL=Y&ugF7=N9t3F?3n< z{3lZpQB|QGX7?;kn{7c(L^1i_Y)iM~1Ma&^JDQaDuZASv-_TKg=xU}9c}20{ob_bz z^@;t%8s1G~0(2!U(CI2qyOR5T6ZDiv1fI4nWLoFcH@V<^88a)%WH20z8m>kt*vU_8 zdsiBrLC)G?m&<-FpZ4Q`&39QThYV!Wi%Irh@3lqlnl8;C`gzczUS0)r_@CZwHmMP@ zNhK(J>2hECj?dwtufdx7d6Z*BOi$3?m zi2U<6tE|5l6a-SEgn5Lb2+kB0D60aU5H6HNjVs1f5HddGFWU&^-O+zj%%CLAZ|}af6&Q z38&LXDp{PEF^?V%dT+BxNh=_ zbF7QHU)Ueg$q>|W#?@>{nUR^FyU;u2%;w#agkomVvGlj7pQ;qok~S^f3-YJ&#c%jB zaI8$MpB|CfZlSRm?PRv+XpwlN`PcP%oE#i$@srYk1T)UpalECk%qp0>vE@Q{h?0); zuA>!3L^pa~pMZCb0j|0-r5>;pG=z|43gv-NHX7z?msS{f4Q5SLAu5UND{n`3jrj0K zQ=Y)~9IYPo(8hH0Rum-#sSwvc0u{-*QuOfrR0{WIAJ;%BDXVciL_|t3r?xfs`|ezK z0}%+#AWV^DtKH-xGX_quDlzAn)B-kxr7lH!gJ_k%J(IQ4gJVjO7`IzPasxrA0S#`4 z+Q%s~MczmK%H*>6&}?2H#W<&q)|t7Zn!_iY3irk75KKi)&Kb4a;YVnDGRaZAnvuykL!6w87I7GH>GO7P+lANMdLfX$5 zcBAQPP3oB=|1p4q-{DHV-MD=yl(N6Pok#XPSIn2c92HOa%?_I0jVh&CpS)8<2gT=y zk(YM%Kyl{Rf;wWJYVwIkKb4nu2bX4Hp8p72h zMCfgjqXOOt$j6;e!k zv=ro~?|^vatng(+uqH`3b$u8&-8ExqwUBMq+$sgU}s?APQr3p$~lZVtPEiG0% zonpAL2$`{}wTvm8_KT*oQ(X;HI=a!B%NN8m^QG#)Ew;roM?=eN8cs}ecpx~dY(!mE zT8leNH}^9g;Qib9-<6;2h>^j!m0Pq_Ds57lTPFn9k@=}f#wtw@^PTXb;iAdar^M*y zTrDn*ja(EG!b|V9`iw4H7?=H z%9DB>o6bA}h7;by>IJz2aF`eYej_AEX;I|5^};fHJx-tuZp)8P{Hg?~{kx z5Tie{CUSYrE!{^REX#pYEUWHxKSp))&c#U!W9eB9#a;%#JJKy1JF!jx^{_IaqU68@ zDrw9Kf7aWo(GVKaq_W9ZhP3{%MF>!Wze$%lNlp9HN-jxENVl@IEOYT5`JS~NxozKw z1(*LJf>U+@BX~$cVuEV>SHwY_E`nz&gA%%&Uk?L18bEnHo|3{ljh4i_NSy3+3@H}5 za+zpRyXWQ-mNwDWZ9=uST?A?z_b0t=&ip~zRz~-?rgkIuUl}+>+7^S0G>5j1>>O*{ zQ@16oB|s6En8(7&_ba4X?amv41OI>mo}z`P9)@yx*#KXLLDjfBD(#| z(B^k9s55&GhQil%zWf0nQ0ktEl=_6xOMlj)3_jR|=>aZnt( z;GA5$@(WNL=)mes4H3S?+Slx53n@>?1ueg)?B8~PPI-iMfn-iCJNcQ+BdwDK_Rby> zv>E-sSJ#dvZTt;w7;VyO@P~E_>slRWe2(|s+KCcqWz}FSF>^psB=@w}w~4O0f{v+U zoSptclZFVT1_l#IbfoK2q5ktiYA+vMN#D6x>}TB0MB!lKV>yoEzfTUu6LU!HR8bu! zNrPXA9-eL1H6fF444_c%GA`vuj>h}!%K^n$0S&sRl1MvrJtkf%P!RRym?E*2Y0Ger zD>O3dO~X1wx(D;dshf(quMlh?r}B|f?jhcYW5m`iTpKs`lw+rOQYa`-F!R}hP6vQQ zGP`mEv{3Uo0ww)uP=}oaV+s<4XS3p?NXG3+13li04KuX6StEZb(bq7{f`$#{b@o%i z#S?{e!#UcI=jH!lH!`2DHNkd7B=!p(?d-o5*GI^8X`{Nb+BI{qw_y4a)}YM_X0dwn zl7cIu`C8W8wwCPK>i1hn_VwiXsiydHr`oZQb;5eHb)vt=BcrI_;v{hz59$Z(El50c zKHjL_xv7uTbpJ4Xc^pEkX_`)e;I)5H%+!v-XJxqq@w)j_-&^ia>^^QCQ{1kR`oeuy zMd(rc>1<7|P=Juz;bSia1{%Nud1b!M#7a%@+IfmwtX*cOV#rO2&*)A4jKH2)@0rCl zQIqRUh`~b6yMk%|F&z(JM~_yi>SFGWQ`m)eAbF>Io!mv zp+0l&)m5D5i61gKCv`s~EXt(Yl_p~Y{H5kuj95c6m@BlPwM28i#aQAb)voq%!hBwg zD`5VZ9tyq*$rQN}@>gg9397tUg1ijD_dJ3c?H*RDnqv;DDb=?CvImDG*4%)rG&OSN?Pc&#DyL-HJN;qbihqb|@&^GkJuUc_gUa7}C0RW8e2yGbt6{ z{X#GyRpD8e@!=^Yjo-mNixMJg%a#nspO9k+k!`X>1W+U;N~bAZr4t=0Cvm`4tp=L^ zMo4IpC$0xiT-5>xbu`BEIm+MwsN&i`m(y0fK<2O=Pr{vnoj*wNJ{3XhcIKhSzk}8h6V&t+o zWpwZ1{wYaKFY?J`j|JAzy&MJ;J@YIb*h=Hbu`o8Fo& z#0>=I870WfD9_KW-YZZ3ZJdHWuDL%)Z!k{FmC@Z9Bq#RLBK z>*-QPrH@Ab`omnMvy!d#RO^R81q%pBp~~M>qfM183%zPbrgO#$we6JDDkaY6v5lys z7lxReX%-;HcLL%joxjD!@k+nX)cov6*H{WPl%-cD7lfhb*r~QGsxI1{L2#=&{bTBl zf)&)>SM0|vD&BU6#wwE<4G`#GXWR#}}|=UKEz$j9_{( zp5m2*qG3ceHg_%ZGx42#)wNIS1&7+S^-6-ier50_^{}j+Dfe9-Q}8|-l2e_LOUjuz zmN7`e7W1`Mh;SfgiR@;((&+N+*o!~)!?Tuq8iA(EG38Kn5eokJxzrBi|4ja$m zi|yJoJ5-&+cdk$}kt-EWU6y+p1l`G>ce)uKKbJohe%H${gFl?hJLR2FE?9RSzl3hU zFzl+%oxg<#&g18|4>JurS2%am#`d;myFAY~>M~^&mDbg|$wdNW8*GEJS~<@Q6scUk4?y=(ed|G%QtIA$`1i`S=F~WR z6`3n7$m>*u+K5Dq;?ivB)t;$qkwh|UlkkyNDkP75bnn%jiA`Ww(E|C$NbvgzM#%U=BkH6Tu*HCHZ z{8Eb6`k&Num0V8w9du|n^;hC7P2^a1LDn}_OQv3hNEd9MeXl*C>KZFI+QXgs&8umj zR$vdtlQFu?KBJEgF}{H9K{PY^-$YI^_49;U1_s!}&yHYIh#%f-tx zERTA+VO~!@tjRS;_2mayISP{y{6PK zREOVp^VKudv3RGG4#u5by7`UNB`;S_B5_Vh5ehoH;K5&6Dq*OVU%ov{uIxz%LuJEF z3FH$2UK0^>W_0t#`33k!kUwpSJ!_zzJ)Tp?LKYDokMC0%g-f!hMo9rO;@yns~YO5W3 z`uGKKYad??8_(dIvIJ}!K|pe#VgcdE0p!{kLdyrYg?I-%9YW8m-e;N!OXA!VsMx{R z1pj3D?(kR)`y+f^VSt67MferNU?tQ?`MDGf;k+o{o*%y8`6&MWb`%LlQw%k9ag1LF z&&T+^&~y=hS|&)sRTtqiYaIW&3jZQ~_D?P7HN3>v=sPFeDxqRGOZ=>?-UfRlev6@t z%z>xZ^Rr=n0_o{ryOHa}5`2YiRQ+M8m3Sk#68!ejI4?Yw;1}m}M|eBIpKEfHwM&b~ z!FgbRl5Z<)@V{EV%?y6T48F)xAO;;-qrYYO)Cq0$>%MB9&+MJC_W{e5vyXFo&t|5i zrhMJ<%UR5n$ABpv%B*yrxomZcI&T%joA<**Gw;mFWFkbr5=={4ZnoP;W&HWt@-lrn z*~`nAcMRXr7wknvjNSgfu)IBEIQ!S>4UX2VoFLl;o-DIWgZCpCQ%36B|Jgfi-*zaI zB~Il$U1btSp23mm7GyX##tWRfi{1@GF@6Ix@aPQuKS$lb@bAmZtM0N88JVi`- zFjg!jMGOUa#{_xP;i&AX=KEogUw~G5G{Jk0re)u@d~F7xWotod;A_$i9sF<2xi&6S zr<%uT<|1llXgQBxjB+wN9}zpN=bb$h;@wcW&s45H;CAryO!nX(ERW0pUjtvqtbGz# z`}dZ8Q{lsvXsmB;D$I;r% z(3+u#x8R{!?H86SE5^-gj)le}_vD>o`48M<20k(de#G*iYktFS%q;uEKW^q1j%3++&=5y;Um4|Rl;ys)K6x#5o#o3qOTk^YqAH0E z=H=MHW0+R*VE6LCdl9~73^pj1-*z@aa~x%4wlLbF=YApQQlq7L&oel6*pm#zog%ph ztJg1y{p1`2{O%1a-#-#i^RWXB*ntM)d!T_DG2)_rRbKApJL+PwGsSpB44)H?_xFUO zgTtL#E2>Y0Xn52_eZRVg-7#gydF3{H&n$WA*(Pz~I#e8H%qL17=kN>In zos&f@zPNliE$JVzP*}IxF7CX*wYqJka^1!%^&)6;4|Ib-eo=~E)u}ut|6(HVrL|oP z-A=8XMS@ePMPhl=%@M?I@-6%l`1L7+D=k>D44U%%q6eJp=+qpqt+DWq#sVBLqhncNwJ$F+}gAnKw1O4jFQKD9ZS_rw~DvA~-d&ZPKG*U8@5cLau zTuLTwvAymHG~#hSDW0UJ4#zyCsgdLWISxVU_hB3icVlMtK26;NddT)J!+8nlQEhUG zas-G3>9tBhs%N@O9doO@+IEJ>%Kbhu9K)EX9z`MV=_NZRL=k^hOV#VPu>X-8$mdJ) zIT>}t-<0F*R;hkQJh3k0XT;IAFOnNpSIBeG@07K@;h5JKk4DK^cOhlPq1v5>?Gy7Q z*|BO-%e86_S|7?vw7kl@kY2x1ppsZzjOA1icap~#{%aMXmGaakkRp{uRGI5<)U}q1 zE%n=l<%;Ak=OaSte@MoH0-(jZakMZ*pP;OLeyMM@R*b&oUfG5&L$A*1?^>_ct*E6r z)Tpa-cs1}6ucZxDjstLKYrvNkgsJDqo==ZNQB$aKQ28xuCvqkpVw8xY7741U#nj22 zM3%Boj2rh=>wargdy^);Ttd!?*_k}~HYv*;N?oCxNvmsu7V>plpPc!OtbIp)ps`~pyXAeqP)$~EVa>HV~Dr(?z{d_ET&VM z%oRwZ^9CcMz36ela+x``;`oIKhFlhh3gm!!^151+fP}C4viWvO-aOVqE2$mZXf3&b zoE7u-JmFQ!rwR>ClmUYRLv&xS2O}amU8FyP43h>cdM3YP*vgzvQq*u&D!fc>J4tP* zl-?0AfTTauGm$l9Da6sN*d1lq84?Fq3!Ouoy99?vz%JbA(8;J=Fhp*3r02=H^x|uW z*ea<)5xORZ9KN4>!=vsvTY3Yey7k*|8^BQZNicdHkxh=iTmYwc*Y)@2SDYLzDB#qF zy9bPDLw~^^Ncbn?4yjf?SWT*3>RsZkcj~t!`?acN?txK_P%La~au->bFMmK5MQ@N) zJxeRVAiEkX^`$D2F^gH|l28T0JjN0|YS+(zmOWU0zmR?|#b0cNz6bd7^p?B${UyQa zx6_B;H>dBtlYhXZ|7q#XGxPrROH2CEd-L&*#Pf;kcCX6HX$jf^sXFpAO zzIVz*d2qbW-!C?`wQYb`R$8a;r5;GQF-k_bQP3~Bv$jgn_6(`+qeB^EGOZ9bh4#Rh zj?SG#eFV9El9TR)A)9dgl5R|`P2KnuWx}kT)@c*a2FNU7q@cw?T9L(2PCqTTqnQf_uO021mzgor5mwc)feDGw%I;+B!Uy^xC9KKOYf?6Ybq$1F&{_oZ0DT%kG z7XHkh8u+O_)$ju^G+l{m*zto!z}?1Kl~kpvKm2rBs^n+0;fl3Zo+e-UGk5COrF=^K znG=d`<7CnChbi>xXF4^hG$8fz52n&uKK*);kO3=y47)&ouXn4zm)xDD%tE9-^~32j zaYso7Z2FOHPU;=LIOTeM0jUiB)oLv*r#rwL9TXQFlwrEz!vnTiaQPoCR+5Y(t&azg zKf(KcZYGtPG^>{MhP`TNaOH~%O7|oOp!w)j8TNEF)TtIw50F%t7@2?}y@sCuK)Ifh zp13PAFw%L*>omoD6&d?wkQYkdwpC4)p-vJS4PNI@J@K1rxX^E_nxsCK6M9ll{BD_v$SPkENurqi!oog`(KAppY%w^`@F&z+_TuGv7mGeD~+m==t-FS;m)#{j$XL9g0VQKYVDL1OM+_u5z!o2hdQhTcd|^ z6-3KQWd?#MKO=8~6Ml^6@;1ZlQ_Il&v9Nzgi8sXC{bY8T47_{xs%K30iBVKEebGYB z%qJ7g{zz6qiY!WPM4#GaT=H%{4}Gyfi9I$s6d*59oRUBfg3l^Tj6{>YeO{A2_3G|Q zMUh_kR?1Wj9hX|GEM$izjS08U!&vd*k4mbQG}s54sDrk}qcJg_AU)*zvoK6z8dE1! zzG3Sa);=-;>T@T~7=6r;s;oxS=#bvKRoCkl2rZ6le3t?s}94I)mjy;0$A>34Hn%uL8FZwC6=;!AKZl9w6bMC!wnjcM%+ZNXAYn|}hYR~ab zR5@_=&gxLFp7>Uucbg^O47(uM6)@UjNx8@Jf+TzJje7h`FTB`G=i zcIUDg=I_L%Up>(=hq3GbJJGR%9!9_Rk2!FS&odL2*Ld7>^odXba`4rY9pTydB(z15 z9jy|I@;xrs^7wty&kDm>P;sm83<^ML{84_k037QYJp(szww@e9Ffu z;LYuh28o3rSPTLy=-~%z)M5tpXY}Cr4O2OB^aA3a^vSPygaV%XB(h8Ir+jrREC5%0 z%GaRB0N}Dh?mN-Pc%Z)(ubI zjy>r5v@cS6LJQY_+7~ottMKhlWAQWZ@Ew}`ybb<*2l8*h3=QPZAj2DzG1&YWUxQ`l z1s8n=oBGXXd>65a37mJQ?*cY`fUn(&AJ%`?w}7b_nEz>?1gX#ZvQYDB-@?&NKbPQN zpY@%_yj<9Lm#?+JUxjP$@+~fKN#SdE`34P75l;S`Z;s&=!nvPAsUOGLgIhj_Loo?w z4u1PN-=QPxQNfq*_AMf}34V4r4%PI0B53t&7x%>9Dz zLTs@^br0WZ|T-k!>i!fo%6m#kWO z$|tD9Gz(!6SAtK7*iFX&d}5LvpqtzwT~;qK5d z-$cm{L#0za3OkXumAguC{Ttjq5RFT;T&hM72nk6CU}YZ>uqFZ1|Dyjc(c8wq>&|8?$V;N!M++ zEt|d6XIm=UQrVWuwp2&2rTVh_#*@ogs%H58Pn}EQW34D^Xqk?KN7}0!&=AQGc#m^k zX&VI2Px-oE1vS#f(^%We!&V-)@_4P3$HVTMY~>-8hYX*oLr!}6cHh~y8nM-gtwtuV zMjms&-&P~G8hIV5k(rLgaP^0sbKrr0I^FQKyM6OWm9RE!b@GaDVsyXb1Y4ch>cmzj zQ&K0(B+ES;@ZlCNeY#2s!!0e2rAJ1kFlAs>5`VwP_oi1yA-u=^r`5JXn6^Urzyr>P zYH>RWJoahd<+e_+b;7Z(6K-|?{SBuRYE4&C>45u`%6eFTvD?-Yww|!{M3J8Os{38z zOeU7KdX~Un?sxlNI~Boii%7uDe?YEdmq|=PL4@GLj-zJl z4_klO`r~jet8u^0)*r8${+Mm+4O?%#9`r`r>j9#f zq0H5?_`Zvw&68Psd68r+pX%w)P`az`i2g&Xuw8p0N^{(zI`X2}a(;KZKsP$sgoLfH zUc$}kWjqu&+n36CC@z^7sV66&`;d0OYK7b6AP(1HI;S+}(mJ;VEmrgMT!Ar+=2HRus8=GmZL*W8wYnpK)7 z%H=kRByO#iL+_6xH=26W~<3N=d{@7d5aenKfJ0xLhrr2Ah&p zl1Zl$Mi%VCfly*S{aOMS`pt(#q$jqd#k8jEwrC8qxRo@pP30t&`i69m@+8brrWc}U zn-ZyLRH#Yj9b}PSX3xNAKd+)hv<3Fi|8OctZWvRG`{*C?Ljrm}YN{BC#p6-#8ifMQ zNuC%$_bFH|0F{yrXm6q{?OckEhm=vGdh!5lI-X~)l-8u44uy?Dn}!1WUz9HV4~c?? zQ`2VnGm&Jv59z?J;Mdy@itKVM;m8na*>sZhhBl=tMqE#K-4=|aBc9ara~H9bR#kA7 zH}3!T+_4Kh((~10oin9)Wqizi^$L37bwPWb)N9QZxyAvv)kzEBFCX;Hgx;8YhR>Xu z8|HqpUy2Hv(H#SN??r-d4N=H^2{|uj-iPz>yZuraPTlGA!JXTEF8J#VX$Jh>FU^C~cH&oxBv3;$VaE*V zMELb(9xr_GIH_)Qwd8~IF0H77hQ}&=Q2(6@?<{MkbNb)t&c`Egr(c>2znCG-vbGYm zHc$`BancE88+a)1^vtpnS8t%^XYNY)<#Ey?Xg;HQHaKTWA^5{ZE?-??E_M1JNL#B{ zz@I*hr2FY2M>QXy|sVaEzt@!Kw6MdDS%<)wp z&$0kp(!mR>Yi62OsG8#oK>ba=Mpzqg_+iaWzBU?PNr&Wyt8elxqOUb@`%S*nMmw)^ z!EbKzEw>h{h8sTOs&T0zlj#Cj8*=#I^EV^(*v&rKRQTZW)h_2|owx!|9hs;gj4)>8xjnk6kSz{F=J2mGj33RvHG>!i77nBNpwy7Gu= zf0j?Ig_*^#shPP&ul2SlKC@)3tzNps5&ucmm4~G{z|$bjXBq-lG)T?1;2*Bw!{_Eo z5`1EgRQ;MsJA@mhWR@ohWS1n;+1e_3t|o-KGsui$}Wv9x$9vb9*3 zE&3CIA4{}n^mmWdzBc0av+55t+2Ur4+fgTOz9sUOZRhOR%$ecokNTFumd7h9;o3Ql z>iNlTil+4>^KrhQs->q?mE5WDjN+=LD_K^rkOQ=4%obNu3XhwLK)P676x9Y}sXVRe zMWA)iQ|mQCCGelWbJrJ82(ffS(=ERCNlHK5zEoQL+6nl*)$gzc+!pX-OTgiuL1a2j zkRcF~R!>tjgDm!0a*4>YDs+@e?-SKGl$KsV>0Rv31}~t!5Gwrq(VF@y7Kv_wUtRCp z4PTL@aAong7bIyZ-1$M@7F+IZxqm&&Jp`L@Opi{Xey;jswouzbZ432Og}T;k%$1)0 zG+J?3-GtDON5MP9WvJ1dWHbn}%(1Lpo|~A_iUO z`DW2-CKKZubV+Xy_bXT^t1WZmtY1T(K=V}BjOdRHEZglX zw(lhq-P%Uq%?A>>&K!;tFOX9PGe|FefAQczoL(LA&Bqh$J!U(&`V`7=fl4tOh6)9x|aQr2c|E5dxY5SFv-Ngye}($?Jwyt=8YDTc*R(wUCubY)Dd zZy+aqtZfMvkg%#2iDjE&(sk5&-}$Z7YH0a#-gkYIYEnssM9na5m|SVzqFUIZ7DL)^Z1$acqvaZA zWDBBwYgW`jwq;hdYn8%cth6foE#;0lIVQQYKG2Co>LEvMnX35)JMi4|WTyB@DjkV+5hIxJGO;~QnIEnu?$=#WO#TpVX+ zk=|rp?GF`wN~9umEGL;rnYUhYmK3g&g0>eY@7ZoTO3WCqCx-UMAan8Xm*zs9olNYZ zSw);tb#sG-Jr`4%-b7Z-aUYOISc_HA4|XUeA8a!5#s0~j8qt7F{^$rz#FcT*kC5#U zL#m<9PLRkrk=D4BohK<6uF$yB8ZJ0?A}czvwAmm(9@*RLHK8S@itO+e`W?NpWwwZ7 zt+6SYMuBx`8CoXnNFkD;0{vlCbjG*`wPC=ff?&L z|F5@HjUeIB*$WlQeOXQ_r?P|vG%)}hdVvyhV84<~^7MfENiCW!D zqPiHMezLmSfg$$R>Q@PtWRWMDkSCa5ni1d`2a=W(5ST2Dr1KG3-oze?6eRrx)Eot- zhGQufjS%zw^HYi3Y4X02o%>53gDF&uj5*3HM@~95lTNXGHsk6_K^=a;kynXO^db`q zM{uaoK!+nt-w7{h#C(`gZ>+2z80Z{GWHQE4%95wj%8s&keBg!lXVS+uwT21@$iU4a zR7dRe;}RAVMUAz+qg7tAYW3QcC!KgglX)hj48@Xp(v2aCOochul0MdTXMtxZ97C#0 z;>q0=ar%uwgbMgRY<6gbx;KS8ikuVu3o?o5%s!?LgZqozo6?3rcsOO_GJ1qVV1puN zp=OCQau#pj$_5$^`Ungfqp&Y1T#w*>)4NP2hQBR9^l$tyn58%q1~eO%mqdF0t~4C( zSy-yD=~=Q0E1wV1ru_syLDl|^fWoiUPzK^U|WI5TOP(fQ^ zAvnw%BT3WlX<@Nr5e%f^BfX)cE}|Q(3=)qtJ$l3fR1fp8*!>VCyMUc5>;YjOp?^Xa z7X(W-S$b7?=Ku#_NI+pz{J|Wan4m>%L`pYW+@Ky>us|^lanWp3gMkwvlM85ZZ0Qf{ zkvcLLZ;}gVwZgllx%B1(IQJ+#3eA)PGH*czYk?)KXS6(oeV3_G8tPtJWx>g8T3<`a zFuzko4YWTVGmlV-@~A3FRVhD4I!6mTXZbFKi6l#xrCfT_k|cy^`hr1iQSZw#j0uMl zJi`Oi3~eS;9NI+eqjjbn?@WPjjuDY+u_GJ|7j&V%B`c-1ThN<`1CR>~Yi=h0;32;LD2b#<~=Ar{I{8x* zw$W3`z@;S=-)4=qkN?N5Wt%B1-c*!^eX_7D@$)wA`nyTuVJrx=iAbmxI;8INh^HXL zcp*8pyMj zwG6gApXUYN@saNx|1v49m)pIkLB@m*blR(G>F|5}!A!Pbq3Lz|IaulZ%s@8~a zZg=VdYUFS<{wDoR^Y4-YYlB1fmvDWThz&ET=FOcu_&RZuoX7=L`Jz0|zL+jVvz}nr z@1ZE$jxY>1Ey$p3*W1>T)tH1 z--pD$rewNL4i@T{6>{)W`2gDz(VUgp@_a&WRsw3v!OQ4B)Mb`mCBoxoT@_JKL1mPX zS@ObV7<@tinoKsC-kX)j#1Kph4BW&b6=_$(q-`iC3G0 z_-}!lEdP;S()GE)@R8QkmX+!8G&KpaNhy|JL=-;oYrKMpSWJ`ggj?|HbDed?O>4}$ ztZ7r$^PrN81sR&;j2jh$&3tL7;9J;iG84VVN;_K%z!`ViSR{>=S_jqm zgZpGAVAN;=je}Uy3>KCszYoJ2be{aCjM9v4fi~U-i}4qQv$5f5iG|qw&aALmB%{V^ z?4@GoE-!VU$YilUlx+F@;PT}yY)9|%^Mmqwt(kF6l;E+_4%ejDaLqj`SjXjrVDaf# z&PoTi45iV4tpk(SuaoCg^tFs%VWb1jm(>J%S&Ysv^^$0OvzB6 zj2+%|YqGY$z!yJdbgRv4on_WIC$qN6q-v_`nG~|qbu9hR@e`ZNgQnOVr;oA2uF#1# z12o+eO6xvhYm2nonzrwX{oE1#A(b8uf!%)M3)PAsHJ{&BLtedqdYF1q@ZMzb?3j*g72- zo!dyG#e&NSW6$O-+w_DKmhQG^5%p{=J0h=IN!P)pQO`5PNFR@MBh^yrd|y9dokU}t zS9%jVAh|!0Gl3!@G@aEz%ad0k24@l9sYyl2gjTIIV-VvaOxw6n1Y)!g%+g9kmiH<` z{}KnW6J5y>w&I;unKCj#Lna~rOh0);arWk(bet%`3{MV6BcE0HNe;~@3h24C1rjzQ zE`TWLH}ets_GA>l7#--)!+cB!DEvf;0gSOV9TFKzC*q>ZjD6BL;{E(ecZ4~}&TBEq z-DHjvgQO>vY;wd3E5Xht<rT2%VJ)#By|kLdgdB$s7@hV&}kAV=$;YVgXcp z#TLpLqeXKg8May;3Q{?82k8SMS-3@mfzd8HE*tVIl22TxN^QXoZNa#> zh!$nvqw`*gLOppkhdv2)t@|l~jlAI)9+^q2WNq3-lVjig0Gyf*#jd#0a#GKF-Cw+~wyt-$u0)P*|iV ztqvx7g611{r*w1gK5>uj{?d2&9*FmGubBtbkx7))P$+oLrqiPv+c$3A9NoHW$7bTR z%UdFRw}QBMo1XdHNQ=WO2QnzSc?(9C7`@(BQ|U{0Tg1*YZP_&#E_>0i-oO-Z94>RW z@Pv&F@J0quOE%Lgf~vPducF$k7z5ZAK$gzp#00&f$pGKTfiu$Ro!1+n*Ayq7F7zCS zF5oun%e#65+(kFhMjP8n09QD0ba8ZW{CRq~#yL3hX`5qxF&ejKKKszYGgn%Br&lf6 z9FGiSa+A0&TAX@dw=~P^qT@dIVlNlOAW=6iFk=FaB`DzrNtB4 z++d;I5xMMpDmQ&|DCUc^Bl_uNQntoEGBL*^^Fk5wPzJk%K5v*tl!D=`XLO3Uqg`dC zHlEof=aAFc&>HzTv!6sG|hBq6MGkg?bZQ@iyPHFjZ$rDqsDg7O|Nb1B&_(@l(9d7 zS!7Xw$IC1$9%YG1A10z^$?leGm*Q(v9DwnNpNVPQtH)w=o8L1W*Ai;*-HE0%kNOtM zRwF>fptbV-DH^M{7VK2fwm`P(F(6~dW2;5iksqt=v1~PMX3+rA0JZ9Tjip)SM!YfE z15ut!!g#3{my!j+q_5^H$0IEuPL4#EsYYJmrLyWF70r8V&U z7O7$EIz>98@-^$r{f^(hnf2xK-mxE?Cf!#7H*b(mf~Ph}YsThnl0LD>=ppPHk(L~V zU3g2ywO6n%yrX*Tq;=9eDySpRJ77hj*@%t{XeEP0Bmom{hu>;wy(tM1uc5DAf^Bda8wfg+H#7PB=UYJ>Z6&-I5G< zbxSu*msV~qjsypzzE!Usy?$14Ws2z4T{-4FU5dEI9z0X>ImZ6JUFxeE`&g&+u}Vm^ zNl!v$m()7?;)n}=@=nhZKE@yaPtWl%)Fqt-_a3O20pIVEs$t7|Dap!0cMN;36<)v# zvuf8IsPMzC^N?ycbs^!Y+^G8YDwuJOyOIGJ`>)faPdmo0KUccT4d04O4M#Uoudf(e zmXT(=tfcLCjMWcGPdehGPAh={3H7{Xh9EX(Qy%LMA}0=fa(5Nh>teXTblRh4@Sw|Ld*tGmkeWHs9Mq zG#w!V6rwBZw1|mi^lr&W%b`Cf)%wh5df>5)l=T`rQpVaYmi|>yMhZVxb;CZA!WFJr z`kR2*B&X+ryj^;qE}*;NvRY{-oV!DM zJ8XTkbk0#PR4GE9{JY@k-O_fbzDlYm=Kh|;;e{o8r8Hc(S6WA&*$k-omwOg* z$s%IeDgpCbhzm`1*O|2fi`@P(Lk9K3Xnv=IJwzNZQf^m?ki z`sFjR(a$_P7hGM^shZ%-g56!xTKL{SoRx6xQe7dAuruEHg8D!jwAk- z>St{+vBl(=5)(i%X_`sfLM+RqFwfHVY&x~Ca77iC*Es8Dn+qE&tYeoB zO8?_{RmJc=lc!k~1> zK@)|yS4@v5zFB$uWaklYWUX7^nS2p7ty2jDMr@Q#LExtbC+c zx%v`Coumpr(wzK6<;^xHPoI-dbiyCkOWv{HoGo2YVKenn!qi``dbH1A>i>2+WO(Kb zX{XKGQ{wF#Da?5{#icXcB?_$Fzk?uI_JM>-xBwo4Zro+!Msp7tv*51(-O zS(sVhbUOUBO@GJqme&s_L1a^W4qO~1S9OBYNqbt9>|)oBM# z?7+#ZJX@WD3>|uP10MHHPHG-?I3lB)uBsjT@2%1|9kvA75@bt|kf5(rJ#n5Lxwpl~ z7N2Q}&)2G+w8h63pQBrRrnuVhstV8z?zc@>fVRWU+mYK*istzB4e}@%!Tq*S8A4V1 z9#YxZdBnmGCl}rvDk}$+o~X7tNlU`Uj!~Enn~Z(D69@4qmeVc=8`eLZC&@1A5!CO) z0k(+lB~Go#LU=qXJ;Hu1>y{Q)aUxKa*<(MrP}=IyJ}t9_eM-XabVgb1hwuH;`oIwZXfb`DGL_G%x)-uT1rZ=G{k>Y>tB2!&QwxlNLJ%<+cXq-C!M z5#H{Ew?!p+l5#xPVU&Ko2s5BCKMO0;(*A|bsdTe(+MFM^PVq~%@D==`7ujn`MtVy~ z+cRl=v|IqLtANpWzF4>1y1`PqQ7#OnriQA;cqh5@cI@}ta;Gy%R`G&AI?!yWed2V;Y)?G-8_e7=H7NLHB z2^b{8W8Y$8ZLM@H%J%ODrJs`+uXeGSI+I`$+-f1C@Pp%>4e;c}QnQd^M^?IHijoTF z=A|z9Y(|>DK-|fpNuxCs1Pg|w!375|Yu0ad6M5qJZ5rhz`pZ?n*m0yK8vf%RslKED z(>%MLr-IT?2?|~IJE}7|aYQKdz5M1PCdAL3Da|>qFbfdGZ<7|=;%1B6^u!JB{1PHV zQUy=YQ%T`@tor^VEj;t)<+3ADc2#;JB@VX4wd=XzhaKn_yz3sxuS?e=sM?7=vx*oT z_%aF;Nz^QU$zU|au9?w+EScG)TSAkho#WO*3*2XZ9`WJuU(dp~+~j$TL;TP9{)&JD%l z>E{E^@(nE!y(U@*{r$0_`_OI1+@*~Qu23Z*uq zCrdtVJ=)7XrsN1bqqu6<%5tD6g|^6`T{2m=mMU9@byro?+iYvI?f9zj`{mdc-u#es z3gbce+Cw-h#7=M7H_ovWj|{t1PZ(u+L-GlXen&c52K&#hE02(Fn8aWM4tA@btuP&l z(fL`Ybe&^?wp6ZXOE+iv9bNzPx|v!!W=deBQbxYf@BFb2?mb6ZOq??xhO(X-7iH>! z=Dku6F=4C0b+fEVqgk=j&yi{i7*RH*eb(DyqK_X~r7xc&9Z&6f8Z0@Sjl?zZoAW(& zjCtuy?4s8<-`!aGlVh9jX7DT!dR`-l>_x}o)&Xf5C|5ZH%#ElDve+B>6(<=S6*4M` zOxxx+A{+U>mHQ*3b6%JaH9vQ|;gLZ^YWG2xYe{j*u)JPg$ubnMEw^DWxSx;~5aYvp zpO9vae)o^HR$livnncBli&ks)j6FNsJ34mnI(zdboqGd@w7dZr^l8_3-lz-;Uw%>w zm0&)2>`7_X%nA6-t)FDKG98@y1F6yGFP*<`c0RT8nC7oHfOGV2*Q2XUW0Vq;ES7#! zq*>2V=B1dN%f@&{M+%8k>L7&@Wl-pwWoA_6M2=^=Ww!+{k;To)dR9e|y;9Yj2Gr1z z(aw%KnGJDUKrs&wR$UpiX3k6X}dy zQ*b6gmyK=Pwr$(CZA@(2)=X^MHYT=hOq?&t=KtTeY9F?$AG)jht?#YwKIhzXJqI5S zIK0qxSGSc?q2eFT?qL-3oYGuJan{@ATDNA23%J3 zfTN^iHP5LWMhJ7 zfYD1|F$*g>FR18d^vcGbMVrpnf> z!>WBRCn?h2=+Qa0YQ&toJ*N6y_-#9JDIbw^>#B47iqMs zZ1a7#$8kC+LS8-$1WCug96^RGwW8R>l`wdrVJHYOPLBwk;hu+qpY^R%>g2c+{%TM|)nyw%%o1yAAjEbp0+4 z?cVSn5^VqnL_taTX=Kymmm>g^V;uONZi=0Q|G9=Z3W=varnuim;L-}Y*b!q}z^v4PT()b*xDFw=-R zB?CF14R_XgTti$R@fF0nNBV@q3?j|?Ss;suLI4jtOXh6V0h6yV1v`CCc~Y_4;tBn= zPpgOc+)j6w>t=1<;3+H^NEvPF?#^DqbG&_HdU`57ksg&&JCjIPS9v6hGZGxNoBJVpu7CPg$(ltk5EST(vOC|j5%ddsqulF_QrI_Ku2e`Wwf zj0>e+Y=?RR6Zt zFAzMcOa#fjv`(HqL?=ZO1y@>ki!oB)9K;nosK02PXf9Brn+p0XJaFyBQ*O!bZJa6x zU8hui7PavohqYoBo1+`wo?Xm?J3UBLpzMKDBj0}ihO9r>zAK8b3Em4pXwm;@TF@sT z-zjUh-*J1laN?t!d2uW9um^++^3(bmSJHoG9M(D5&;TO}s5KEh3()#m0W>shSO~7> zj#+GMWo7A7A|o@xD`SgO^`;dfZ7n}6ol*WF){u%s6wtkq^iO!HS{DXnajlIvlv z8ctJV5az7o;J-4^>d+NVnvi zTmE$7`big2y#>*ipuQCUY_<)wTjMm)l&}P5G$V{z`O#~z2=%W(te5aZCCqk-UkmYN#&tTFu{f8Y{rPeYY#(GjhYwc5(AN%w@0r#^ z-JTgg+oSOh8>=QD-9!p-9A6f<8IO@Pw^)9pE1-~t3h&`|7aR}k~ zbedYcQ8g*=mL+X5hU)z3=>szeYP2tk(8`qm*!;KvujGp9{emjot;}K-_23`2JdkOB z&}GNJBb<}=HyI?$eZI~XNBaCFe~32~h^teTNbBhSS#Hdu2R-RHAJ(#dn`tJfeoE7V zcH1A}PdP)qm%`Z5yXvI3{|IW}-{xU0J`9VS|7&HV+w`A;^^Vua)pum91>qL+%Dw$* zZM6I*eF`+san5+$c+YDxA8OhRX}8^E*6iP4a0QlOIo9+k^M*xka#+HzO4kYEy39<2 z3S4KWa=Q&;pj_K@gG5}{w%+9&e8sQ^r-1sfIBzWc`Mg4+&E2?#U!%OBp;aPp z>L3C9o4x?|aZen0-o|Zn;Pq+RLY2K|C%w5kWJ5Teb~{lQ?et?l1a&gxvQM!C+u~X~vb`k7BLEcz`bE)xJ;OcEv6*pi$?_01&NpfJ!64j1!G@4nm!E zTaMppY$o{nXYRrNNc?B-v1B&ut~V}!L-i5n z<>Oq9tC7z4PGk;`l%>tRXzbSFbAZKZ-+R^M_3$>YR)%B6$ta}EzgLTeIXuQah2P6q zU(r28G<;LwAnUfccdmVvdu|G*>P<``2pm&mwG|7NdTs?21|F(a>2%Av!djYEFk+IE<_=gd(hG)Kd>jHf7o4(Sx?Q>A3PL zV4WTUH>&Q+1ku$L${IDL=@%XNPR>t1w{l;Gl~oNj?&*?0sbpFkOhrnXFyLI5hO_UY zA0{G}lqwiD+AzA5k79mPFH|Izt8Hpqj&b0>PggClzL7|LbJ1mp;M_HNFD4H^N*lR2 z(gF>ja%0cidN26EEPdg>-!ML#{^=-^ZsI%H_Nj%5Y`Ye?Qs=tXl%=QJLWWm#_yHp~ z!CpmN$BJUe{ zNH4dA{v0md@gr>QJJgxe`zgY2@^brP#2kEk;q@4l3<#=x{IPdQ{J8OuxmzfAMF!l4 zU+}ylW4J2w77=#&BH+CQy52iuJR~!`j~KjMDL>UXSOxTR&+UiJE2}l$`d1O=`~5w~ zSa_ZFmgM(+5LfHWAcb3NuIZd#YfvW*&umQ=Jt05!ecb__Rn54>NC3GFtIYt1&3qzC zz5@iBK6fW-Ss(|KjgR{ed_m^X{yyxP1z&0dzuSk*Yhle|-J?I71)*%@(CZy%#wGCj zi~XQ0CkFs5>0`<(W<^G^31oY$8}A7>g;s);oxC}Vs+~U74b`?S@0DpiT$fD zf43E@mnrwLusQ0j(dkV5TuD0u<)oVopT)=ht|6niC&hJu=+5#yn8smwzfw>ZcE2bf z9b_ZM5unX8SCi$7#kY(fSlTBA&(ySyN_U(b=#f%}Oma%9i4TZz1LB~(t9YneAZe$L zjBO)Tz79#~J~9AWh0GJ?`gZ~I<&Z`mUspjmf3sA>7yG5IvtU$dU^ltCeUgnhAj?m1 z+kVn5ap}VygP{4?h3lIQZ3!ChS6gRg`pXx4x^uMy24}T!*sg08`w?f0vxL*z zto`0`0d7rjYCrs@OMkgZ26vBVEnPJE`;9a|d)^ke=dV0%Vc&OS6EFy4yX8=Ki`Hk7 zPaf;~*hWkI;p-UV_9dL?vV1-}6Ye#6nwF4+a%mkw``7J)Ui*~^r=vCtZjVO%UYo!r z55iF$mtXxI_>103?3~@nUb=oQcc>2i7H9B5@8frI2M%b_0{4#n)uDWu z_9NO^BvuKhP0hrn+b==s1sTD|0F|Pa<~AYaITli}46~&j@piGmA^sjdoWD zRFUTE8{;bytsIRl^J*>geOrBbr5qb)^X<*h&)sD9fy)kkcC_UoT=B#s&P_gcozb8hmhZUs_{Nu!nzEA9k*YkE z_5R~Q=b(dPs~D`X%feU-FWje2*TUeHug|Dw@7b(^Nv+6?cKG+eFE1exHKZ0%44JJB zXN3Z=M3Ev>!<}C?lJuW&Ibwd}F(giteI+ICqYs6x4WUOY3c~>OuUrR_4Y-QJhR1Eg>=F4Q`>i|HTf4Xy6kI}`*Gzs`4wLW`&HrVg|K#w z1}gkp*dh|UQI$rI4FR6}*}O^m*!OJLOjGIAnj(!FU%EQLm=*aDum3c2t7x)xLgFkt zPU0NIPT@IB5-et)7!L$6XgzlGYH_$eIaa5g-KgPhMNzv@|J0<)_xrSwh_zxitu#M>C&T@nxo-KZ_-nz2&K}wyRQ4{S z@|J6dW?*XH)KHwv4w^tQcz?D&VAfcsY6xj1OMI{rI)*;a(dQ-%8w{WBOciNUZt|D2s;ANdNW7>Q=zUuEZQHGq%TDHPp^ACzLQ7jz1TN{v6{^!oZd4Y7?M1O zRgPZf-KR&FPq*L1SQuVL8$*z9QR<#dKGmyo?h8<17rc%CJo5!lw@&(?{@9>#P!;6I zmAE`~?hCws=e(wEB;`Nuc|$bDs0>>)S_62bDjK|-V8|n`X7=6GtV`syuPE-S3k^%F z#-s4aW9_9aj|bfN=6QpS?$ia)H5;ozxygCU7xMNW46UWZ2zIgJ4=9DvhYFYV3+*IJv|mksSLh^@zJbBF0-;f_qk`_Yr&qTM<`JWe zxrE*_ElA#I9CcSdo}|b_0Z&c(w7J`Fx0J~`?0VI9xB0!?Jm=}3=F_PDDrNIm4@X0w zX3mtRKw>(OGQ$^+wL;>&-DyX+ZFXF1_0wJLaQi8Jv)AY4^!PQY`|CP=^Em!_TYr<| zW__nu_hzlB%T)99B$Cd9#%`vvg{07#te8!TxF(^*B%E$USwfw57z{)01lyv{>L`(~0HMTx2_Jzf|R zL4*fgQ7NEpPl?(Y9vkghcDTjBEy#m!WVBdA9Ou(1s388QWLg z!8%Ei%j;N1!-OeGM8Yx)xH>HR7^$u&7ySoL+nAtj(Jl4b_p}o$F*_eUzQTbS_4rg3 zNc%n26!OYqg=cUaml`@CfUaKFR{E|3DI{}M1%~*HPaTr3vSPMZCDLU@SIaLQ_IhXWoXXuZV^(Vw{ zKv>DA5t`$V^e5MtI(!0b3^QAh~6pYnU9(avOg?WieN{XV0vNbW-+`MgrN%G zpOX_UfeeS_oE&61f%IZZa`a0Dn#a(|1b!B-nVHID+Z%BMvBAIOqks`5k{nd@bINSw zL-b^6G#tAd#i|ac6ud)`i6ummKpS4k3IwGQBFZAgX_shMfctiIr!^P)`~ujIaKb4` zi;o}{&0Mej~;vixt>3TvdflGdDz z6`2ml?@&-^O!S*Wy%}h zp53^MAH|P`p=}iq5)?xn;zNN-5B~sjDifzqP*r&Lr+WGf<=by^+V9{~MGz0k2qlY# zNa307_JXZ{2w&-wq^M;=t5EjOBeCKOUgl6E#jKn4v=UputyV9T;f=>8#12A_E{k+W z%2HV-4~(A!Pr9Up#pjK?QP<&u&#FDx-LlT*=4h==e<>t*{S%g~9_ zvL2fLLH|Lb9{-psP%N%>_|64Zb8-tT@EcZ;P>sEnJzltxUoADRaXXore5 zSkSAB1f5CF+?Ej;t^3lHz^2~3-me^NxP`EhQp+XxQn@nD-{d6XPpc{>lPVtzDYDcR zPVSY6><8PFbV+DzDOCW*Qd7Az#Ih<2!-ZB2Y}5X2nmO$egvN(`xmHS;>xn5ijPWOx1$JAcL;r1bRxx4671_7I2aTF_ku$Qc8 zlgs|w&Sp5Ku0F6b<;ptuAmI#()$x_XXZOX;iv_0ZCojhdN8DUqnqI;hSE=G#2rp$- zVkrA8WiG@imp(LI?uAfz-RX}hOXTr&V9h20EP*xNr&icivJ<3fH-OOC-o^u^asTX0 zkxCmJ2Rzq1vjoc1ahv3ulg}Bc1#oItaQj3|U;Lgg{3IKtYW!B-OfB84lBd}`3d!(l z3DwlQ{U_Z-RnItX2=QX7{J``$SbQ>tX^s$RkWPCVya00gD8y_xllpfAIYvOEu|*G4&DH*U=HGb=us-`;`7jD*}~~ zcY~=a&A?FPYMR&jIi0+-uvfCh22bMvs;<-#U3d| zfgEvn9P>Wzu%ye!J!@rWR0}q^KYJ8t*~mw^dlEsKOm-FA%t1#_623fSg=zLx8Y(jF z1fhvW+S=y~{htO0)H4!JvkRV@mY4^K@VX3U5RQ8Qnuxn6u#(u#C+H^aExNoFYAQwt z+HzF_4n=J(CPWU-KdVbr>Na*y7_dNLls0QTZFp_^H8~VdWt_I)tO`}t%>tZkA?A}p zQZ*$@V*0dorEo05HDDB_6o=4|DOLb(7U_#q+A>B{ zYE)If^T_}(MjYsxh>Ec)1Av}HznVk6N)UubfoFhv2M0WN?A_V#+24Bf)`{n{h%zJs zNe(Qk)5E_cWG2a3=(8$n=;^)9h?7-Z=y@WPWohI)d76b|$qwZ0(31xxDTJWe(Zzbt z|ENHpU^x?7X`M@~I#A6QiJAF*vgVJOJSbH&*8TohL;-<1p|t`Aw@u+juI>;d)${12 zo+MWWNmY%dx;P!d;_?w~t0Z%mJFlCEwiTEG=*QzQ`Oxd6%rlF*BR|rh>qHYJqDBrG z$>lcISW@czD5UUubGcWA(^BLqC=@S5?atmKE1%M)K{X+q$sL4Gy_v{7jtj6|(8y59 zhD4Pi1t-+3)iGqcuH^`(GhWOngRl9s}P}tz4tPQGoQj&#(ZdkqNx}J3KT#xUP zu(YOR{B9^=XBG%NrJKLkJ=|!)Y}Lu1k&0F3*VJ9v4)xjKmUVnLNz*e<`AIxgm~$hP zS)AFBf&VpT>f&Jw-GaKa>V4qPC_V522F6T!NUTXdu4xd5j zTDN0&lFJth&O#l5Dg=AUhOJR;D0eu=4%MBT3X&AF1hs;tRHLmJhptJ7^-zm1yEMVu zJOzaI#Ooca1l?GKmW_;2b!eDR;#g$aDy`4VcxZ%4RdnA7IvRZ$hCwy14WOc`ZNsu2m2%9&9_1JS`O80L3m3@mg8|x;mtp64cj#25{jS&{1co z)fxS@Nce+EtJ^C1XRkWlf|^_F85asxL0hqWV*CRv#7Cj8Q*gJFTH(9*(h%{1b88X& zB=Q~?gb@nRYkz9;zX{!;lVw`>9#tu1{I4TQmY}#n@%|_|v7MrIrDxXu4JIF0`LI@u z&1l50*Y1Wa{4YkHF`7;Q?@63}-`ehVFz><_D?d;0T|#r;#G|X%=q_*@-s!)7AJ#7& zPnui7uy4SM`B%2h{&;^l@i)rrxU)c18jfl>!0+aDsecpU$|;H;i8f5KZemR@lC z(jn6V*o1l29Q^KI%LWbzxr8DHjvNlDmvxyAzJ30{m3I%=y)C$e8XBu}TZ!8iyxQFl zyd(b_QQ)EUo=U6bp~MIk#Cx0z!bSNSDMFrroh1K~s6&nm_d%=nUWg?8c<77&;2k|b zTE#Pc^(+i=N3X9EB>a%A`#y{}ZS9-$7Mz#<{Imq8J9{hu{n2-X?Jp>NBV2r`#$Q5^ zL+=2jGj8*nKH(8O16md#r=H(;#|nBIRt3ik{MV15gaCL~XdiET++W6DZtopmm#>T8 zxtD^&1qivPKU?rV02%+v_TIi^Ul;REKk5z?9XApbSJilNjdsAl2)-VZU;&?i3f7B+ z`?6b!Pd~u9Cgyt);QT#PaHwE#`-}EqGd(3sW{fz)U5=C0E z`79Dn23yK=bRB*Z->Qjw_H_{axo(n{buVW$x9!F=sP?YEk-g|9sJV@3H8Jdy=3f}v z04d~|Gu{k}`DE+ml?A;C^YuXs`7ZhThf>e`*~>}kbK2+t`M+B^$+WA5PJVUYVl@ZP2H!f@Z!e`UV=r%Q zQKt=d1p(Zu1oJl6nYUq>e;7P3NWQ1V$ydwSrM_9m`i!&XE(P_Vlc59_4ngIm}(#`UPK*d zvh#vv=}*Ft(!JZ!3ifba_GneqxZ4X^eZ8biWYz67I9+h(@ZC50t{~G0GvZ9mRzBG^~EFr6+BT?d~-n zE}9sZmJkZ#9ywW=IOmSYRH}fC`d}rzgaEESjwrmG2}(~ zu^z ztvN(}Sm_SCic0+@AL6Rm=B{dwLv0#Ji9)X0LtK^WE(86 zwtdd=FR?$~xIO_7hFkD=x3Zt=u2S~Z0?^;uLr;*OUGHG(5WD7I<`f_dYa0A@>&@cQ zya1aWFSBhJc*L*GbtE`&(J3`AD!c7Ron}J3^kKcYAH-P9NgBuc?zJzkH~au!*=~xp zySt_{h^GnorUP!mV?{Usz1tTX#p(+Bh0Y3=t5V|h+ux$5q2~;2r3$q{^LFCx6!Xz0 zz4vg#lThm8@-*i9hm|CDj(aD43252GSzakGSDu4-GD$UA_(nHXYdFAjaWdnEWa zUdjJDBEPoMP}Y}(6oX<3p?-!9u*=^ z&pj%2BGWsq$&x(IhPi`G5^Nu)VQlcj+g@GX z)7^@&8Lck=`o(!=wWrkQ)mrke0_fVqF+J{<&KiK$g^3C zZllpiUkQ({=^BnH4bBfk*CJ=irw$yX5KvXaY+#5pWZ9W36b{Mo96{Z(M_Vh5@c=QU zXMGfAi12o5V=iMTeH2DNBqgMKnYzqVfL~b=@|isJWK)qZ^E#+B1GjR7tSqFl(|zLd zorAaY`gCKvvi3f{A}P66fLkE|d|T^pm0j=Hxs> zIV*U~%{e=FHrXZ9aE1X5wsmkZq07>hSl|o%r5Yl=vZdw>fm5q@UKMutEbU^y?DH$T zV?}8Rmgjs)vTztn|iu0xPY4BgFVNDs{>65cz zoQnsj_eGwpR()^Zad-H+jBz6@zrS6?D$wL7T4aXxUEIgJd}wd*Vse<%9fT)Xjn{=j?KBqDr%t2RO%|MPmm` zwnQ~5UrS{tKSr`%$%i1uQn$g0B`Nu3)WwE}yza8YDwDs5dN)t;_~E}GGDyYokM+}N_D=FBnDbD;ed|{?nnu5Y&(Nr$7 zGBZeV77K9!zf*!YH}VoQZN*?P0F zNZxkKr@6D)>*Mh;TkEQ5-jTfcs{SW-1`N8zA=xE>G=5zxnjz*!9Eg|Wf5XVY3;!<| znXZUyg)l49Ivm`CN@~4kC{= ziHU?|_*4l3X}~?z;s3;tJ$r(Lj3DQ@=6<>|Y%`~gqZR2>L%u|^!-$;+Dp~JRJbR@+dJVg&$VXoCgY}|fjZWPG5*$OWEwsDmg z_hBpdc;};p3k&27z0AVdqCg3{u45-uE)*pU{gM ze4|U&PsP>fELwNNp-!Ha5P!#i4qiQ6$dN5eaWh2HkC*Rq_gr>Gcei|}yH}yqW=WYN z?(^*Uk|GABM3Ye_l%;SAO-xwB5|5g`dX`+-6;c#z!L~{R#a&OyjWO>sm8NI6BJv_q zAZ#mWib`nk49Lo`{QCzDk;+GA35bA&Aa2Qhly}2he=XhFqd{s3#Yk@1l>T_xQGg-P zf=Cl0QCX;;$xvx#VSL#M8SuyhNknzoXB5w*@omOp}}gjk!522jcMge zd$S!HFbrsKt$-qesWe6kKM)m@|*;vo<47?{&#k9y?hriP@jIt>57o-MK* zQx)oImUC;L%(5+Bz-)`fyr)zMFOijxPrub<<_}vS&D(*@1Ub|4>nsUx(5_P4!Yc6s zlhOyTB<+Z)ObjCltyk@VCq}vuNlFhtgJ*kyXIH1aM8M`Osl=c6oK_c~4@xQaEwCbq zV-jPdu+yC9D&&9iJXZ4?*; z(A|xlYyB2Q6H{>DhpS*|qddB}OPxFlO z)Uq?C!i%Z^EolM<`=uEBX8ct6i2fC%#?#NjvLJeo|HDEimoJeL7r>9mz20s9;8lF z+KrcTF@kiVfRuFj&r4G^>2uxV|0x z4E8Wx3?GZHqs#O#qyx-d%E&D;p*qC$-Q&GUGENL$GVH z=%63QVL6!%D;1XQ&<*L^euc8>of!W!E}t^b?;`FvRJ)eHQJb;020SyvR*fdRVG~nFYWb6 z31^=Qntx^5Vsuf6Hvfc28Gnx(jJtj9NE#Khc-};RLz-IHnt*|cUA7_ZKigrLW=+G2eUk>UOif($WzrV2*SU zMj0j@%jw9md}6Wb;kXrD&++SeJ+6k-RWDc3ER9PxflJzqj))>mHTZDYh%F_Y$#lux zVa(zmQhID(Yz!LsCl%KKkvz;FiwAMfLJYr9H(e761pICixYieq~Hz%Iw_vhfG^jr+8s-P!t1@{?WHBihRb z4~@`}I(dX9QWl|e722YFm$Ok4;HXG#sOa?j(ge^3j)nxxCY1|UIu~_%} zieZ!kR?m)}Yqqw>hW5-o6mtIGx>#thuD(i%ZdGxS8poBv6;)vge3~uXGLUV;^#O+_ z%`$t*Mw|0Hrb<<=6dh*3TTDM(7+N^UwzB21~OtU5d?bGp~Jb%YEg3$nY-|G zVSTD0KMRTVI%Z`02}x}SJDqv!l#qFfrpxm`q((Wt9kZLzPrECH4f+Et~Kt1C8| zf)vB%wZi>X!F0$vH_(y!bGbX9YQb~umene^Y0X;#yKQ~G!?GQSQ1Us~@zN`w+?FT= zbPg)%eY@j2$N!S+I>+t7{qi|@nJ;ipduuIup!@+cR?trHRGaPfTY9W$Crw;bCYVu8y>sGzMAuH`b zUG&~fK>X{`-4PV}%5{mSKZJA^GAJ{m@3g#jGLD>;rlZYhSLm1EncopyBwut(tJyAt zj4r8e2gK^im{Wle3w@c1%>xcOQ|ehij*UPP^-%?O>MYoFR+x3KwH$6XO>D{hB#1nm zlo-r;H6CL$a$eGNP#l#?F6o3EUjfJ~aVIPAU2GubV$aL#*HDk<(2+lkK=Oo~HHwch zLVQAG7T)%JBJdn`fCwbONMF@-EV`=!s`z|p3OkuNym^cXNajLBa59Lj?z{A578A-g z#Snmi6p#()n{qgGnj8fE*7E{q{R#>o4!AS;f`c1NK3#U=I|hucv%fA9#3MXBM097i zC*vAYyNtATf0>hq3yEkv?Z21L=zX~&dVLze!Di>{0}|Wv>E7c#eCVy14)HrKd3WS( zs~4MEEE0VWb$4dmx-+uIOEbvb>l&9A@9P*}bn=3T5mE~@cNBM+ayK0k0w6dO;E)P2e-Xmu>`JY`r zmN1H$?TS|=?}UW2&o?Lj?$Z*$!>M>&EowT^qf!$n5k zT%feoB#d8SF9lO9LM?H6-@3PHQJSj(pDG}F^~RkyeR!Pf8QQtk$j-_e6qELBNJuz`4 z$^BI+2{*3~m={C{@rj_YE8%Vw=-VpXjO=1>uvJeA}Gws$vtw>qWo?mNe6l(`8dq98sm?mNb z!}bdNqWYHVn&+)?S3|JneZFLw()Dx3#XU;9Z;M-Y#J#9{*MlRXAaiix< zArO4CMC4-~n@Mw2wwnkL~2-B7HX!Nc<}Bp+%<>YCxA13mWnwi*dIA z^!WE-xM|*q5$^N=hvJegu1Cocf2ibW195YO`<`;*bG|`Ejuw@<*G#8S$cj35B&Ag4 zH6e?QgwP$90~sH3qf>*Q%wbR)=xd#gX8?qcf?y%3@Wnlmzo5-$)~Z?a!Qvi!rF^7I zN|iX(Zt185q~z=#$0E@NJCXPv4&F3JsLHh;E~+{l+f77zCY(M%AL9r+zU=hDlOj)3 z;W*2CcAkBm&O2RaJ&-{8=y%R=FKJhN^L@>Amh#ehNIN1vnjJ?5-WVD38pHN+txDW< z^F0@dS-QB^c*0c($vhwSwG)#6}c@ZQ=Xh`q^9OVp#oOCHKm8t%;dU>ph2a7 zL{;}{Djh6&2@2y;XgMozWdszDcsGDS1lFjTqvRpCjlIJl*LdW^}2LF6~!n7F47=qmwlWXbsR&~qlG56v*xx2D`Fm5TILftg^06_%O}-w zst+OGpstSo>1W$9yMG-T#iU=Qf8VZa=a03na;Ox!Vzcwa%!=#*_s3LOnc02aOk3uM zI(B^>;1~bG>3Cth`*)}Mx8tU)o0knYqWhiN^Xk2-Er22>F!!sfZ6xz(LR`@c{GlM= z$zn>e?db0=&|b#Z$+i|-(e??F7?1Tf23oTC;)MMz+APupM8Hl|02#0UkYKWCJ4#rx z-YF7~`#ed3J5-fuNzTJthtO21q(9JYucOGAWd^6pN9d+vJ|O+YAbWPQrh#?nX=?YG zVO8PZ=hf!U^kf(ZN6wx1X)s3-lS;1Pv%X`EbbDLxh%>g=QN+$MLoed5U(%Qb28Z;5 zkKW~>jAbabc{6k>5I737*7N4a(bMi4rYu@}akRQ*BA34JD zc_MB+Ms~bhTFOaJmPP1zILf(ox1*d9e3EdxZb)|%v!ngFL%_*})uF&2#=G#QCPoB9 zfCayb^@$w)26ZDQ&FI6-sL&K!Oj$cDYNq&~S|vES8=5+8kT*L-1X_2L+vxh;50eB8WKg{+ zK0L(<`CCon3Z~Ce-%mU7R1ES>8=4x)zy%_w6&pH7%@_K$oQO7&l-`z#>+94_EM^4k zZ}$ioputnEZwb}DroFU?*@HX0FV_hdn%KDfcd2*i~9F0b_4-( z4s?>+2mGeuU2Cc)3==77J3GWUQ!Fx&cwTri>|CK~=R~@2o@T2E@*G(^N6B6~!j6w0 zNqz1|$AnvQ^90ChmPL-Z%Z|rY5}2&ch+RfWhh@>g--;x)WChf(*JQ5xp5HO5AslMU zgQ9UfzsiFuY5vp}LSR%v7~J~Hi^Hoe^}|ZRSL*}xo&)lc)9yB+Wy;G#PZMM^7lnT& z(P>J`(2QhhN)0IawKATvmYoN3{7R)|C48S>rRO+Thy{_gg!s{#ov3<9aiee$Ce8 z@uDhLf%E4tU2$W+Iy4CFhtRI`Eoume+Cm_VN}zEELAQq3+!W}(zrOJ!uc$<$iyqro zuS(*d#As_cCX*B$(QhO74TryIsmSX=B@%MnBU2wa7Yj4ehr%qGt8| zI!VmMMK}LN8k;F~@{od@Ajumsv7l7H>5ax5(ZR@a-yYj$S$;4anarWT7ZPD`2F@75 z#w?bLA2dPDmlM7Np{SWe4VMr(0idvgNVq5a=P4(hYV98f=R438ok<*i-~`Nr-`dIhtgG5Y_tNQQ|~L@@rc(41B>Cgl&%VV-6j4zM&W| zUWJ?w50E9;q2i49Z7b=QArg0dq8Q7^dF^tn*UKZ>GN-6;kSi{z+QVW|z3}2mT2L}$ z3zN}3lC{}^GV|dkHxQgZVtcQu%U@c~l%t*@MAzuH+94V{nYsQRNS03QT`Z`7qD-IrpQhx$)q-m6Kbb zp>Bg9(V+ZbGsDk{fd%g{D7y85b&`T4UzwGztqn9J)#D7JC1*e`fM5_IA5w~dU?o6u z227hC>8gUA!Yk7EV6w87zV778FG=7cBw$`2lI zs&)J$!1Az36h~9~O>LAdy>~q1tW8^+KriSmKjj@xH7KOP(-7*8Chniq2y+60%RgNP zcU)bpsT^;f@D{(9_)9gEq{#gb{$0y+oO^6WbMWKQdZOg;r!{-s_+KwIFH>-$hHUkN z-`kmLDc%ZGSDW(&txkFu9uC zO(lz?ts?|P`^XqpUURs>v#`04W`UIwZ}u9wGd5wEzkE!1>@q-eWCog34)WmUOmv6x zQF6{D%!IIwap?TH;C}?W6eluyO5qWSz*AqLisIKA?R_rEbv+_WDKi|lJD*UP`P3fo z3T4}(_YII-6MM-T8*?{;Tp8($UBzuL#Wxvk#P4S)kKL5IHDbla%+%pYGsDQ%3r7N( z>EEj3l_bnx0xsX0BvdA;U0G_9w={JuYV8El@$n6`Xy`zlc;cg$zp%m{pk}GXN^T>iXYP%1(6u2Y z2ewL#zKF?*1crPf^p|ntF3pW*ZL^797^A`jXP}-|@==_?qFYc} z-W0uvCYeYmY3r4~%&zZ7(PnoQc&4Mr}p0i&^@*7N%*t zO2}I-&jTt0?PfxtQg9}s&)8B~()+pVVamtoFLPJ$EbzNPS%*s-nY97dLV8@!Jb)kn zuH8HL96NaMaMz*T{x-eIkfp%xLtXn1!dnX7cy*me^KbAVaKArX@P|Y{YZAYO<94wP6 z8VJ>sVf9$`555S@sc_h(F8$aki+b{h2WK7-8cMKS!D0|+$X`O-S;x;(Ip+_SdoiEU z1GWWAk=k~1HWQz{84I|DvWlgl#M}*)?-96SgJ{0a-Nd-xk~V~1p2PWodJ8caL-Q1r z$ zF3ub1)vUV^^TP_Md@_uF05ju4ru$pKtXE_v2He5|pAlwlOlhsR$KQ1DA|8XfdeTR~ zHa+{zm-DD`(e#RoRXKI56*WnpUlaC}3`Ty8xiO$Vx#mOL(L8bE%-3(0F9fCF$$FNZ z8Xr-CM>2qM3PrIFgIgxQ6F!fyU!^ZormN%SM1VbyV014AHsYv>N%=+kn%NeCFJK!a z^I9G4)*eboR=NKoO9I23PGVkCqfbc!Ck-ZbI5I5pN2J6C(LNpKZkT-(wO^Y@1|snS zm?vPtnt+wL7Tq#N{TvG{i#KiYyW8eL`(pjpVP5T}Wex>8|=A}K!Qxa%o_($wffc;^<@E7$8Z;VQ&3ns|3GDefQFOviMrSQg0MNuck z5g4S1e%Ifita9H@Mz2Wsyuq%a;SWoOg(eyXVMH`N)C@jk^hi0Y@1iZ+w_g10^6DH4 z0YBhZDCl{xQ8ek}Vs2*WtOrP-dGVqve<|bX!&Fqah?7byCUpu^BM({$fJJL~_y^xmhQz|#6Ci>gLEnAF1qWO9a;+G}? zv1lB#S|~$)ZD!MF&t|-CFr6uO)@imEBq=wQ<~@!E5128D&8i4_)qqjAsCZf8Qth+= z?YaKkX;1uchl}QmtECy0i)M$(K z)6X4B^a9bDX$HScn=tXawju*R{6+V8iDIDG+tiz}ru~|SK}J`&Vl}eDaAIcLQ%a+}5?yoP3pr9bEKAa#^3{q6-aM|Q=F?N6n%6-B1r=!9Asthh z352V>#*Klci38c2zyedF&Y(Z$l`vIrah$ctLri*m`tLa!u_i6`8%az3MO#?rN^xk; zSXVB$UBJA?V{FAKr3;6raSX;Y2Mi~ku3^J0&-H84l<1nX9+rrps?G-HbgQv!c?K}& z1)_em`K@IqRz8zT@cWr@{oA~r8%4f0d)7QGtQ(x{!sZD%P1zimgOfaM8^1I`(;2$RJRt+c%TdnCj#>gwj4A8P$bZeiinFt1`8>MiKWwuWZH@0@7}qx0WU?67 z;A<(&oL8mboZZ=D>P{GUlvw-3o;>sYqC0Eo?m#`Vt@4Y#%PohMd?cFMN(#|{arkwZt19NvAnZyt2mWx}Iq?C{ys7(I##AHTWr=r!SC9T9!O zfsrLAPH-SoD)_=?Yq6%$Vdt0~8e7#a59|jQkc~J+mlX(7^Rr-S{q=5luMo1iEx# z#@aKsg~Hg#V)P^2gvBaB89R|Ie-lNumQeM&*6+4QT8O^R< z*+oMWr9x(M8vdNluw?~8UsBYU;3^{a$(1svH<_?RaYUvA1-o4vXi(? zd#etWyh0J`4Is6;cLXIRa^r5nKP_|#pKidK(_gzv*jrV$g*R6}dZMTa@}loK7Q400 zUu7B-w)2i?oIlI9EX0QUSGaSQ{47@8u!*l(YfVJ1WO>9j?$q+(z_5^bm$3d)@WhH; zcWsqgvuZmic&^4NC}27gywTp+U_>^sg1%FgDF0yJKz?<`F4bTxMSpyH+`hb)7UgIL z$p1TI2S!S$@fgiIS`yLG^YHSW)WK<>|9c&-Fq0DUK)0}L`p|yi<+bEP#|44>{7Rvk zOm+#2-I^GYUERVO()>zCBe{9K&E+w;ln5`gH(#Q!-j_P@)(8Lw{8$hGuVJ6Q-(Eju zyKd1%xaIdnnOs6ni-*AAACW_1!L&;@pUmUJKAMRz8KQZgRwkzYcx~MozHyeiF!FdN znV{vz=q4??5dgr@O|5EyW_eLd^Z-Vw0NNqkjXA6YsJoKRclf!ag6ohijm|o|I!fM<^)@&$;z@f=`fhMk5$6%1exn|s zXgisvF)FM79}+1FL#Gv2C_Mcqmm+M~p=>!-T=-dXP#b?XR@2AeX+WS|F>#HW#__YGLWr zL(7*E*VV#}Q*UluoGhwfN>5Z6%$hAHSlk)u?JtX)K0abW{#+%I@ml!byJAM)*guwO(zmJr5PaW=IU zW8EXy-(+vMd8U5*=sNPno9zC?o17oIdco?6^bHBysiq-QL&7GiL&&FxgiEPDAhuzl zVS&O=_6-Z6b1l^5v%|tAx`>jh5#b^fInp@-{HF6g`TPi=I~S7^TT<9~ZdjP4lR{ul z_9Xw36b_JoI_a)iOu36?WhPr*>Rv{&qN9fV8KEF&5&uhs)$`^cEM4!katyikCBmu_ z)_7;thxyFq!bwJwJY?th9Ca5EXH>b!@mrwL-lKvW#}&dmS-Go@37etb$FnC`+CcM-plFP0X zI?1(H3Oz4uKHOm9!?vR784r1&r5YmtmlXU@n=M5g7azGRAvBTwx7ee^(`H*mZhHw3 z=kySbSI`WF2)YeUZe1~w*Sz*@-ySi)0FVetU&oDcF zqUzv&Tms zx*D*2MmYE*Rd1hNp;kD!!odsY;A!CC%gV59$D*>FdHpT+W$RAr^pfyksGOcO9}dlt z8*hT*lxcsy_|~fprX|3%U-EFSK(FT3c46ZgV^7AQf)4ns=Uz+CxQga8t{!A;qXF%_ ztCE=cz$>}9L#VbV)64r6{07 zpUqS?096awgq&CSC>yoeW4`%u_Gr+RxUEe;I%JIs;d+ks6*~aUgPr)%URzrXwvm^j zuMT>01^H4Eh~ED)rw^6o3KCjvt0u0Du&B|x+F(SHXx$~I26_1A3qapR^nssT@iOPi z1;JayFq~Ta-R0z~Nug1&lCCVoD%S3kIK7-(_3km$JDMLGwfg|r1s&nyIA26!s{TIr zoT{GOH38Gzb64Mzhfje}p;{$XlfsVkr62L-pzX@(Z|xPXexa&Ka{Dzfa2K9VBweS0 z#xuRV_VgSU8u`>|;mUdFAJTrU(0G=*#;8l&*9zXLy6<}DtyNfE?@NTb^Q=_JzUu^$ zDUSbe|M)~jaXj}F$22GoVkaN#60J8*TGh!F~EF;+YlmpSkWnpJGn7zs0_s^xSG+TaomNq*o;US(Nlwy5F;4 zNk43NQc$;CCY-Lwd`0FfGXHGJ{G)aN^Pfv=R*`SN++IEXN?DK`XQKsP?!L341)eKf zz>izJ|8!LNc|`|QbildO0l#*C>}W*?oKGDPu#q$Sp+nIF!q7bAyqWZzb~@{+&{*zB z4T_ypV}Dvkw)YB)$v(6Q?&}2^EWhokj(|$|=zKs;11MrU|GI8uIfS z?QXLFgz!%lb#wOW=D*zcSJcggr*6ph_X_oArCqEwFKlJ9)Oy^dqD`Lb+T?+X@lw$y z71N}mOwNTex!wKULltFmUX)3A`UiW3^%YfezEz3WqDnmE@xwq`P#$Z^h7-akpT2U~ z@!Zu3<95=V5MFjRisAL{PgWGeGpZOsFwb5qK;?=`sHlYVsuF(gx^-VgB|LK~;r$MB zbEB<_>jgu!XBGPQlh^bL1@e)Ya~Ud;>WZjWM1A3+{zcat_f$mv{D?XMQNNE|vmZzZ zlHN7_(*weN4mROyk{x9~E8<)c=W`;?Uv>RxcSW2l;#?8u^DWMJFXi^>J^jM}*w3>} z|HAc)icDWHGJWY%fR|0llQBJ;=P~j?uduZu>lIml+Oqyv*CQ2Kf97O;y~C~~$l@cy ztreM{UFJor%$tF-1Sq8EDj4I60(hDV;5V*cRun)*0X#DbKu8YhV;55kNwNkpc;g1g z?7D#b>Px_`6?s1w^8ORoqZN6-@Z_C6Yq`!_MLxdFwv2oz=3HJ8^NN_Ct(d>neZ#Jb zm_HZAd=bm=q>K4dHzpCxOr#ZZ`;`E}D)dVH-bq$3h88A&MQ2rLt}{s(1Z(WGzOR=2wE%Z#Y{O$FEnK^ zbl;+;_0hp(I;xI%JWb+D3(5E>&CQcY=JJ!G8qX!OG=mSz+!GRqGC7*DXDFFd;YChP zt4W+kM0EssOiZQ$3eVBOa^i+)aV<#?&nB+ILpd+XIYk^yW#XesLd>L7lj7i{C>QdX z?C5Y_QS)j9amtS*RWX&xjH;{*)GLd?pc0o^Hee_Z|D`jzF*yYlpfrFPOb$c4fJ9oM zDb6uFQF3eyz5uQO6w~~J3P?4tjGb1Tf|mzt9Y^4vPEp!Dz;p#7uygR8_g?YSuvaldOXK^ z4({yg-Q6*g&u7)PXf&&2vMD7Jm(v;K%oL&E%g zbclLzq%l!6jHz`*Bl%N#>yubIgX4uSc8H0Lr+Q)-sqs?i8%HO)0YOP(_=p%5PkO4a z6`?htm%k+xRb+LtEt=RNs?its_qVCQBTC!Az{$-gH;Mf(ZX4LtCPt$>#FzRl71d}+ zjGjzKhy7xwK||h-CxI#FJqNpE-A4`{?CRUy(Jf-0W-&b8YAQTaCnRiXhGO)+C*hr5 zG=1U+AceNvuqY}K zay5|KAM~ywKXAAjFZcWXM{ypfS&dK$V6xE&OM2hKCtGechCp_Q3pDi+C@L%fmC263 zIW~~icQ^#Q{}^d*b}V1lK9tLh8Ax=B?a&Y7=hXi!zn+jg9g7!XP9f0e``nJkea9$s zYRF>GCo;KFkX$j4P=@3}D&Ho?3%MMo2}^)PrZQQYGEA~eKB7ck?RJF7HTG&(T{;t% z<9XUfIFXwS=L%`^qapXkwj-!gPW3JF07Kt>nRtj)q?UVNfoJvzk@n$)QP6LJ~++sY>~bWFEa#!P0FJaCg;T5CKDAjH@he9LFxpI{ISBqA)YP1}Oxnq2KgWYt9Vs;Phe zX)OtEcW)rSKLJL>wzpTi$d3I&-PCGn|AmRmmk4m9^glW1k*Zz*I9B2i*ml zIsM>KF=I-Pp327bLYN@?^mX(x>Wwi}8q84Q;3L4ErsAea)B>h|jCv;n0B($2@@8AZ z$}t3OEyKG{YSz2fk%!%`rGec&Jx6-l#AE5vG|oZ>?#=4SH0Dazs*Fv$R|fLANuzyA z!jdNFQ=@^6b2h*#;FOzgqI^SnM1(Iahm|QMTRIa1HZm}vR$ahqs_PFFcT6`8b#lc(ql^NvY4fG!U<_1w9Brq>{q{S}x{>_kVPUkK(jti;w435qham68j_ICM;C+YROHX0MBRe5n+Nn z^a%Kk$mrzHj|eLbjw5S-3YIOhD>;bYj2CBq3f={^?e6)hkfy^=*8L3pH5>zS=g))# ziI3XfyfETzCR;ycZ+Jly&E`pb&i+qxk*&c4GmuEV-59E7O)x5yv{3S+b5oMM=9l12 zR>)>1+c)g5sy|z@5!vosC8_?9=nse4oa+x+R4m#V9e$+brEYFp1!*l`n$==Nh3_QQ z>RwNF*45N5;+2rBHb1%9UEMkdO}CQ!FLiIYzzF+@{T|%$M5BvyKAs|3;8rkaT{~{#qaD{;jawLRB*S zTcOd$0)~w#@S&0^Rf`B}u|v-VK+?4snpsD-q(9Qcx^#!Pl?o4(vmmD6+>zX2je_O>Og<*;! z9g=f-FsqLy^Lep-jQ)sZ;fFPT)Wm%GY%VjLlgH4fAIgDysAh)p6LL;z6DKnTF)pXU zMWl{Z61-AHOy;#*u49=5c$)wQ9u?9Fg@x(zN^XpX67a{~!^gzEN?OSQjz=#k#t5s^CNEL=DXt*C>W0fHoyybP+0_4x!0k2*qqxDoJS zV3^`cavbo&l;+vVxyJxt$f-=4CqmDgNC=4SAHwiMNK^sAb`0&cMWYiF6OrL`A(F`r zM^g-j8ttS3Ox6O%HN|~>hYs@SE#jcXO%Ctu6@jzm+@ukcrLh`7cSMPg<`N1f6;}Zm zi+f>27+n8MZqnnS1!J+HLcWkwVlk2Ha_Skv({vn}gcpm0AF9v?s#cB%aT3XRUYiEu z>NqQ|%?Dc9Bh+c8VX2%xXQ;+{lKwTH98nG+le65^*P~?U{#&YO;ZmOP9!U(shFm#vJd5 zF-EDqKv!FPMjuix03k_J9D*pJLxyXOJc!Xb>aSZp?&J`Q+o^e^0)h#E&KCVaYcc!; zEGUI^L@=PlV1Q`l1O6!J`j%jS%K(26>~CuwD1jEwq(QY66w3=)RWX`mX=tVb*tEy; z5-F?W0xBdM2^0IpE04xOno#ZOV0a8w2Z1k$O2PY`G|#8_sA(#DMqho#2MF=9r6nRZ~mY!2V=k(7KYNmUJU@^ z27~SezT&*47tz%{XG*q$kdCJc377)(xqzylbVk&58(S1qfdkT@&Vf7C!XQje*%2UA zG9oIB4*`q{HU~91Q2!b5Mv|c5=mH*th+%X^#%H*uVdY{2*$%`%z=Pw+#ig8tGKUZK zN^`KRA%z-n6QpACpMw*c#0iBOWx)JYqHz%sECWskFr{-!h;rFW;DMOk!NgcC0+Lh0 zv;{48%a(aG@nE{IZdiF~AvxY5bpy-5K!*D!vx-C+2!3@)dF50-im-N2 z3j=tkqmUm8Un+@F3Wr9+JI!3*9%aw)t(u<%e$E3(4k@mxQYR(ZUxG^6Ujt=1lrC*+gT7ZkdZKTz}m!?E%?yVdIDN! zawDfW2Kfw#-CP(Ypo>akK8Uo;fk=eyI{-ZRZ$p`#)<$y}{3>vwhJdre6AFVdm`NoJ z7=x-&dN5VcM>e8cGHM|UMJNb0c@1=7+m_~LonOF7oDIGXrI4N-PD0L&Qdn5AJxZyC zOxvt_+M`T@+L3)xo?4Li+r*tkUIl8u!9p^{6^5Li6xkjh0MG)CZ~I7VXBXRtAa*6j zz`OxVPX+v244znj}8eKPbyp9L{sb?E^ewyY8(M!{m%Bm9B4rc zEFCe)tQ0vQoHPd&K6+qG$U|U7Yp`&5+Nng-VG8nzjA9i-+2}C)kOACW6vTNH#1~)V zBrb+K#eVn>Ut2yQs zSbaaBlrd5OJK!IalQaUEQ&2q62rcK-nn#RM2Q-}Z7-1H-S$>REX%(LN@@V&kCs#=84x{#Yc4l?UK6iHs&NdTldjCOS8wgzgae zKa>OgjKegkFR7TAi-kp0>x^Nk3$`$LI`XA}OT_{|0ZVsHy`Q^b1aFc#L$h=7C|2fB zkm*EJ>PM}Uo#9kj4Ny9BvT9V5Qi$jPps0caFpk3>7zG_U+G-M}l#-6c$54a8-vImy zn7L%MWdM3t^0ajzXmO@=ARXcsD_3%-1Yz^0XHjyzaF~OeNducu2_fVTa}P`Qujnku z2SF^Biv_VpJ7W(qP=-NhoW&|NI3x7843vGmWuT0XWjITsR5bG&#K*e98Eg7Yj8Xl#msVjN@uUa!jG@R?@g(Vp++PQ6m`Ij10=Ef;*7{ z#SKGu`b}0u2=~wB<&-o~Vxqx7;a=ZP%}-6>F5zZ10%Js(KITEfE!qIGLo%ZN=>>%SBYeOZh8V_+v91Qd zY-J06W_uK#aNDcH&la%!GuPMF8PRezSEPZY8SCl2gQ~y_VdMp<&6XH*=<_DT?%pfu z=!k3$6C4$A;*;DxpcNQ&%SK8dKX1*vgGb|g)Mxl4h^MYwOq|ZDC>XN~NVs>rc#))J zh$POSW}d-qZ^%xRnS$DOOKx%^q;lqGKTZWL%wTF|b}YlU)C$HwCi8R%sR1H}#xdYU zdxpxz5;z;OtP({0L0l&rieR7kBjo5}E2|`=HskV%CgOZnqZow5p&$)4^$!hbWH1&x z{L%baHVW=Ia?XUGu6w|*Hcl=><`PL7eH2eaL2Ro7N(D~P zXduoN#!G!KD+bMhhjZgHIOF=RuO^)U9EcW#8!Li=2P5=C#dS4I!8hzr$%9IYS~YY! zNk>40Q{ZKSEFnSsLE}M$JpfV$Lsp3F!)AiAedeQ|wwSS&>Kv(%?)xTFDJ8+6rD$xR zLrP&_0fQ5gKQvcs9NxfegH`4QpXG7kE^8hJ_{xjFlCFZUkoQ-?0vyjUg8b^jL6Z>bS<`vyt;Diqa@g$SB^4~5>TP3SrKmm@8 zWfG|BBzaIOeK|V8)iB>Hj-OJ4&kAQ&FrbbnaCJ~>6D7%ji9JcGF?fkCW+t!O8pP8?n?F!d5lC)?Z?kN;nBgq0;9jYpYBp zYJHWyur9#6 zPR~GtHe9c_*mmM3v1QAaEx}o-)5g6YU6^Jh7b}UPSz6>ev=njGiC*>+i=n6FkHye# zjK%z{_sod&B9k=@#+7m^@XcVj|Y>u{ix(IOz%U56o0(zX8yS9 z8U-{vf4cm2{HbeF9vxNm=LV2dN;)ZPKzYm}Osgc~e z*e9+m@dq&8hyo@}|7o%B+crzx=6^NUC7*5Ztz@MZ;R!*#r+u&5i^V#9tF^$YCGyHG ze^Tx6t(^`ye3!ee;Lg}^uW|L%|2A}!DR=dT>62dHo$kcmS5l}S@sf=;-`?r8&DU)s zO^v?Q3k7uWJG&9kM;+5A9uvOkq2LIBTSwkt^L?6(+I@ShaCf+;m(=*;<)P(X-+|B+ z2f4G&xz&m6I(_^xp~^L_JSBY6F(2pzp_A9u`2NQhBR_ID*AM`G_4GHqzJ$|jog&EV zozBgPk2t^8hK;5iq~T)kz(b{JAfR3U6(uNajJ9)j=*SM6r!#H1nf*ePy z&qI!P3+oo^hhbZSXN~!K0XJNsV0fB59>AIW{wC)#@^!E8(k4$i+gHb<1?^vQMDT4V z5B$PWOJ4k#u)=RKQcXpR3{~l@0OWKHDrpSRbM@g=_Yt+Sg^WlbpZyCuGjD`ql{IPe2YeLh>$)Mpkqkcp+f z4fN|W^3kQfmQ}NuA;ewhlh&9`j1tQt@$dF8m0=ok>k6RRLipn&HuBOdoVC;IpAdFb zk+-b!`KAj`2_HIV{6YdNeN9CSLHbwv{HD=fwaT}cT;lVs#BYnp)jnSx9e48PmA;FN zaU|ba>1!|sjXbr|x0Q|pxnvdedJck<>?+?XN?CI2D&LyKr|tjsEEDkcE^@!eclUFe ziVxYp{d}k5lIqB)GO6OSrB2V4F8++%2S3giaX;wzcS_tY$JDzVu4jY51PJ_da@^^w zpT5ZHYjvzD-Tv1<5M;|4MD2ApOuyFUi#m!%WLeROQ1@iU5vkU#3mlvE_2wprLQpek zohvS+5&MAib=z^osvP7kUf&Y(4}TJZPjl?9dQA8*8#@AHw{tr2gzzEzbp4aUC3Yvq zK(XP~1je$1eDo=yh5YNQoh{Q1e-*rChgK+B9M?xV$__LfclbVLhryAYzDuY3oxa5Y zMT9Qm*b*4qzauU;5I*PeZP`=2x?(H|6)jPjeuhfcV5a}z_N8qIagUX4){&E#LthnAej#M0or3`QuPsnV8EtWfz+#@k_@oGc(Ndid{&nDr|8M+2XBL@456`vIPOQxTDd0 zfWbKB0Dh75xDX}B9v5Cj>KbdR$;n^3-Q-^$7uJw(KMvG;>~WzEIjZ_xa1?QDgrT`0 znPX8CjHTE?9u|Dd@wlJI2V>Dhwg4+!)l|Aw23?hR!x0VS)a6hsc#*$pIGYK2LIf-)YsL}G>Z$W zG3YCtpFH;rO1|RvH9pswahIP)9tPEzb$?dL#sRYBrS4@eUXW~D?CUu1Y)lpheOH-T zj%0(NqmZGB5wp|-T7&$bCJW>q%+XF>&tAPG#{jR0W#Ps!2Pokpx*i5vtK%Y-7+hmt+1cZiLAnE3ud*0zVl`Gop)yYv-4Ze zUuLVf8uHoB_H0h+M25TA17Ea2UWNCb9p1a4>MPG*-XlNU4&6mo+ib9!;cS=em^7U1 z3L8GNZ1{t!w{3bh*$~)nbX!E+&n})~*B`MH2mIzIIi+Us0(2yJd@`P*cSNz+zgH$U4PPHybj6>iRF&kyAs}i^%UE7aA&zblw?>rl}ctOjtPs3;oS; zZ__iNKn`~M4m`KUem!}u(|32du_rM0edP2a->>NSPrc@K%gFDme7BL`hJA|`!~q*i zI6ylXjE9(>Ar5%E^L-T#n3)6W#nO8*wo1g~_KC}i_KMAuJ2uXKDS>vo0qJ-90!}PD zI}?%j?D1_pzbx`b=lj+_4_PE?TUT@*Bz4B8Hi`Zf@Ik35AqXWK74}9F6wV#nB>1Zw!S5#HI8Q}2l<9LxFJy%cf z?AoOaCS^>GwkMfR(3>FTIK9e}CaWr~#IE}q)GqomF6P2Sc}l{=&dH}H5&8}tJl;jA zpzFy}E#)V(c#9j9qDSu4=C-$lYzu4s!AK+BH+}8gY~C zQFqW25(~K$y(o6-j?ejRA@VOr-G|66|KS#i{GfOBBKpcR^^=hZS#ztSYwBB{_cf)J zi7@L+I6)B#7t%@U3`-u52NSHtratiH)wURU`Q^^#n`6)k?Eo!(3BS=cwjP>g)o!S2 zmiuOxc%$}E*@D3jB5F>j; zOBS-JjGR!(nm@bir~df80D1B$x4S`9^K!lbI_a=7A>mn828{gZ-kJj|p-omR!cU~q z1Di3RC+T>=y`1H1q^T=I@2^=)4!pnS40%zHu-wIKkuOZyR+8T9oy$FVoKZ?8(}h!0 z&Kv4zrKzK*7n47|zh8K}<{m@(G$I(=BNlaEI zr)I7(<*ci-rv7x3tC!jq2Y{A&V9e5Eu}WISo47STBsX4BT{qRc*trJ!%JTP7GBEbu z1D!Yq;t?Q!IO=RbItQ?QC~92%AjLrPA|MA+km5h};f2($Zv=o(s{o$5@sSUNu$<2*6SHm79A0NSE%`lZj zA`uC5b^)H`fwAi4#QtjMBC`97?xkL>hauzb)S+Kj)#Xw-1$ECjZ4yj3IX~4@+u-69 zBftKfdp#llZFiHzddDIke=O00BLgAw%@5fdNpyv61^LZ#M+0$v*uIE-{%4bJUTSe4wV`_z+4+sf%q@tEqnH48s*SJ)VqAN*%QC8XvxLk|$?$#_WYM=D7Ff9FkG?&ce zlKIIt^1a90Yp85S4@)QsOhWo4cK#gHD&9^YN}HsR{t9~pswc9-wsI=eT1DDFQsb>N zUaPDfQwc9T&GHtdfgpL$cx@w@yt%rH?0k!31^Mn?*Xm_m<@);6URQ+tVywEZoxNt_ zVJcxg_RfjS$hHUO?JEjO0eIB?4#y@E`;b^S*^1*`Cd(ReU14Z3v$Ul zj!ph~3KhB4>D-if(*1vtIgBTA^&#IG^3WmQj&o^>kio;gCX=l}ZawVVT*inXo?fu` z9y#p0$~wW5gGYP~bT%i+Bfgc-*1S#ra>Td7n4*bz)EB{tm-HU>NpnoCZ3Yq+-7uaZS)k`+_fnTNTR3i8JqUTmok{|Q|RdmHj{@Ukje+CsCdCxK5s#!G| z`N1)u;@K)F9K!&4gVPyIeAE5ba7Fu6w9j)>`z*(?s3@AJr)ZX@&z*@^9`RZ@!R~$p$ZHnX>CCg#3r2q1LjfQqeCJ{Zi2{=TpA~8PRE=_Fvo&JSWvh zBYF6$>UwXeqB<(7qoO*V71i-c_g5>bW8tc!aRpyv9;m30iVAsQtC07&Ur|vZbEuHI zK*=rt6-7}|6fZ1A@nzRkprR-$isC|66t!%)cmg}hyvs_q7=qZ~Ho~=Mt3f`NuNIyU z0{xita{}3WuRTOAyQCVrYIC`#Z)vN^&^`5gk||7qBhxLIn1T_19tOpe(EoN~Ge5RnLCdF)F5SkcK5+3OMF}hLujJ}s% zhr#nLvkmw(%TWds2NiPp5x|nBZcCWX}24jHoJ@=~+QI9$JE*kOv$x?D#yQ!t&Z9g-Ga=?u#7iq)Oh^=4>MO zZLf{=cs$)l4)-2Aw7VyEVD|~!Mu2md-N|tUlvOUy*^^}q z#C_iK)CV3}X$z39HJ}K#ecDmAoaYv0X~Jo-{4OQYP*`;dbMzXoX*v5jq)~e+c_nFgeLIePkAChHpCrb|A2@5+U07R zTKlEdjmZ+M@k-oa8|l6S=F>g@YWH~f{ii3>ev(^J(@4H_lYL|20o&WkGamWCwJ?7~ zu7f`xxX#z=ivS~1_d~M#0 z$E3DI@^9DqHmu?*Q7lr4piezy*L6PWEC|!cwa#EBlM0yBPVku{)-S97Va08CfCcj} zN8IgG*Zt=@=kPVjEXva+viGQ4n7SSeEwDH1r{4FurR3j^x-Ta8A9bUF3}!nMdQ^g>SrND-RBp(!M=|=@ClmnQ}0^ra!b9m9}@ZWKCtQQPA>`+(TBg+k1&aV za!as(3p>QLy1}-N{Kw;tMVl8uRr1FTU{Ky`tFE4U!}6M_)Q!dfHMDsF-B7~}kzihd zU4flqCw$1iu5{Itv5+lA-uDW7b(9*u63>$?QNw~?PDEeKWZ=5Vp`@$U)1jZTBk5K! zmf!d*?_v`DpwqLYM8Jvb9>*GT@jWmLUH0PYB~#sBZ6H6`=Tu>1J##!bkEq2GQOr*P zhz?Bx7>gQ_-o!AA1iU6InX@lz0>!+_-o!8CTMvN1K3`QSncQ$R#bBt>&WP^I$+=;gLtguxQMGUEGI)9mK}s&9<0Dx) zkxC9m^dBNGcu;%53gao5by#zeuH0||Ph%gYZ`eWEgrdfCNvf?n zB-Vf6UM-5FI{?NhS>P{9XuJ$Td#&Wv2+Ve@MYITFGH)s%f$cjCb74pvgFzXWa~)D& zSI^$vePuE$eYBFuZcfPLCT9X3meG<5hXEP*BF9-bRH&lF^0`8}yv{}=y%>_g zZU9_%fLP6g9fkdVNdfwgT!A3RF^B^bUeLquE8wWme-Ifp5cF`x0$9MM`u*&ce*h8RtFVT(QD^k1)yHp9ci&>|irKbe-; z-Ch6yh(LG0o>HM);a!G4DXC-9HRY-vnE>rmQYnK^EeGt&)$PtHEKG}Oo=O{rhp{*o zQ4$`#dJ`ykmEGz>Bed3Nb-7kfrn!TowgG&-1Rn-d${~6Y0dE|}ff-=x{&YN5NWkl$ zdGw3g053qp9+?hr<(e7g!l0HN4s&D8fOBtAsS@1dBgs@^2JEqdjyKcCu_XRRE2E6bGv(U%to3G(aU?)q>ZC z+Tc%AYafi|ADBXmD8p;u!0HX{$>fgevKJ_;^$gkUV6+Ve%g;`u%4A1M9ve)^Itp$2 zw@4OR%cLy=0rW2cq+e`fR7t8aBxUJ+D!e?s@T8~?Rev~-q3SGO6F>MG7X+-eXDzPw zmum}e_QAJhs~Qu-EI7;pyOc`!DP~tO&P)sLf4F6pM+a@|?{X9~1kt!D|yugBYBd z0n7s_8bis(EWj{X*r?3#;h>lyQ2cUcCY_nl=E+v&n0i6{Qmi=6hS^NBkwxcfz5|%K zd1C@bhbAJcas1b`*@1de^vbGv**hV#)lrt0q>0Vo04Qk|73h#?R6t^(r9_cxPedki z$-EL^=m$NC)`!LE#sA>@AN#suPprsc!+j>xn{V;$tQ~sgno3}z5}0_t1SV(@Ar@nI z{KsNiAb~Ekz|%DKC>Iu&m?hZpv_cayj(JYRd+YEfI!y@yvCxdv>^nnWspmT|F`b9_28dw}M*o>@ZxMjwk@|Bxna9Z~|gK7}h0+HIBK{z}wFlG?x##>KvLA~~K+ z6yy|p#GPZ4r95-=pvZcrj*yNORyEnmU8&Sj1LJ^cA_poNwPv+e8ClR%WnIu;md?6H zQF8}9=0mwn zHDhgWzILGHGb1J?dlF40Ss)>1nw!gA&xp8FGY1)>9L}X+f@eeCh@8c|9Rb>6a3(sN zLS=JN+VIiNDXC|}=J`f#zO-q+OK}#0^PtN)BlhfwJl|-|)|qGHXIkLAke7je?oyOZ zVK6BNI7_#_0LT))q(&pZcvvTHDL)!e_tUi*nVWiAj04Qf>y4pbe=;ovtx+Y) zFg)05?up*NG64*uQB%B>0}0O1Y1(q4?r*E7@BAlUsD?D$TQtQAiW7Toomju$zds$%Dd^tOMvsnwj!T4(WpVu{49-U!uOc62U6C~j z^LW@sw7g{-zm_2iztb#GGIVV?r!dbZfX5r+IawWnA)`}lCg(|F3>It-!bKAr47x%>;M@24lWq1wB%b z&1+xTeg^%QI<9@i-qX+=|DBSr$?4xS!{8hbm+q=iQC5_f;3N(LkN=k0ZxPR=QfwQe zzK4aGuAESQW#dT)TdX=mlVN6DvFxd+h-X7Jj{j=_tU4lk-bWwTi}NDnhT8X&<(OM zx5r>G$K>2(jFKae%EsvQ%Uabthadim6{LF-=$e_<pV?B@dNZL6#!|`jsCC}v8(~2v%D2vY700|JY#*;5)gUK~6_GY}D|&fU z0>yZQjP9FOaIE<7UzP#Vc68$i7qS7cFmo6mfbStZ+r_?cGcv^X+|pA>FliJQ^wEvH4;CJ%7B223tJk-RhVPGqv3>Jn5 zOnW#Ag9y#swlz9d7&Psa@#}5*tsEWCr1Qyi!Ej-)9y=s@1jv;G*$B|FqjO2DK*<`* z>T^j4A6P5q>=`z^WflQ4re5IJY`754(w>1>HS@GO&1!QqPO|u~e>PDHaBf2E8OPILn9?HIoo zv2GX-ZjN_I-5>`r2;siTtRhjVfL|R_UOAPg*`{`2>X{sF#9+&WVwA$kC-W(#vxgBr z!4H>;y*VsecPeEqF7-#EtO0# z5Edror6!Vz{79R)HG67@2$ME&et0mG&u7NqnF7y%Me>v3xROd?Xl^7kVMPRZiX$wi zlEZ*&N*T%*qkxUGKM4S>l*6V3p%z34%nCFr!_>)yXIt>0rTN6O)O;kJVHJ#_FtuhL zO?{LL#^bi}q?$xbPM2W#bp`sP$(!pUI@uXg*g+k4EVk8)%-Ar@47+S1~NsoiLlsa#E-D zcY9RUa@<>2hj3p4c;`cOV}ieVkJ#KN9_#A{^3hkrV{FGla0W7=cFcBmiS4q-=)H={ zD><4pIdoArW_&dGh>21sOQWS*L=0O*mRh0o&^zC+s5^K=AoH0CWC+bW3yH}Hn0F#O zl#cGVN2UkwHQNYm3QhP26{uN z;8-XllTJ;FY;9Bb1rZOAh6fJG?33AEOt;kIfbq>pZSV574nU^{B3EdRx`5L zY}rrC50u8*N^GRELp!pSrmcj3D6Sw`xzfOMNiCKtzNmNQOXfOxf%g1JC*L^;v&@M3 z@s*5v#g7>iiAD&ZxIhoS-p|Lk_~p@D29O+6i=Xe3Cr!^-YS`j#a8s2V&@?^W9Mr~L zu^py5{BmNoOX&=n2ncx|v#HMzLmMgQJ}Vb*%*Q z*PxBqfzC!S2!$p~_qLZ9)PRbWLj6WNbk!i>2SX8bPRo`pr8~*A%>!k$H$RV2(p(2Z zD!==zEaT$`oF#ff&flzZMI7DCP>lY6_PzwZjp|zeC-0WG8Ocj*XPH=WBqg?ECm|3M z2LcI@5|T6t5D39r?z#90wJNLDwjZ`^{fhQu*R5jb z1g8`-=m_^OHH?IQRYMtz(sQ>Ary_?z?LBpWkGr5;lo%wG`&H38I!z~Ozu4eG z)Je@wN*#HKtA2ZON2O`}A!ekG0BNVBn=lu5su?o(LHcT9E#yJ5c@rx;eV3&J4a)$X zYlW|2jZjjhO)Z-nXx$JJ(hSStHoI1%j7>Lu&~s}ov|Ekrk~XYazNVGz;-HC;x(J`8 z=LgeVO*DrRTOLh&J9V_NwUt31zR9R$hI;7l5@F28^e&mNXZ2?c9EBZ9;b=@sX0uv( zlreV?S`;zb-Nt}3D8-P&!mX={l!c;s+SBI|y@wL7xph(c!K(iZil7`1H$&7+dr6~utaiIUGlrZDBbzj&;q)mk4G+ztsimh-r+I00MCxVKQ!wOJ z?0EGw*K`KsYPZQt&D@7gWYu=Q78}oY7*J+NX@W#TJ&?utdi@@6gS2kN+BNGov>&l@ z)e6%Hz)O7HJz>9RIJY%O&EZ807wWE1HsiE~ASA!^2y{w+O%73&81uAVQMD%)2?jct zU)@-vYw95afH;oy>yBA@%!&>8H@(pE7@VZ0RX@6sg}s?&DT|6+wno`RBVbmq*|746 zm4`3euyW1n_1Iuhw`ntin|c}D)a6Pa)<-iorfxVR>Cgx|nJ%K|bCb_40kirKy`hc% zL!23b2u+>l)pE8FXhQ$Cr(&Dv@m@bd`O)RgYjZ1x5bd70Als;QlnT+f3v-p&DZE?~~gH}xY zEtuD-qn-MA36DMj&5xcT5-mc#YS;(-l`eBoUrAI^aWJs}kb2df^j>ZX?DbmGL$Xp5 zh^jGdh7y@a;|6F@M3VJMDM@#(&=g;iUM_PQ)su~oI5Lv&A+bgV9tHO3-Q-Yel@dNC zKelRLa!^E4!EsPqor z28nLCr4bi>*fYeJ7fWAP%?GOm&RJru<|R8_wa!m2;s`BCrm3!U{4wsH@c*f?Fit+d zgk=VT>4&7&&onMb^E@)wVc=BeRU{t9Xb;YKKN(dl-6ztmG~Gr9no*Us%|xPwSY#9l zk)ju;jw6!fK#q}2r4e>7$-N+(g8Rr7>AmeKh3U>*y6@C;W+IN#OXE3_+p<}0X-GwH z$CTp8@WFxXQxty_wVA2bbx23)piWYn@c>OHUAH!w(6r9Gbgry4H*F%H4erTuNg?bI zl59Z_CDOy8;(7y;Rw9vh)Wan)4_C5pclge(w2m%|n9;&OGrkY?uBBJ}n&up;gkjc7 z4RnR*J}7ciVrKyTG^r7hmXRO|b50h@a99#KsW(ibRq0HVr8EU-zC`xTFl*Ljixo&j0cCsw33Avf2Lt{zoW-)@UeAt6Bf~;Fc$LgA(b?H zcq-=^r16b#q|{iZbfsxG=~+S8%cgj-U8K6q4zLv6Gz&J(|3X)X;}NpytUJsWcXSk_ z5rNi_BTK2~bl;jgkB%GdbF!{~Y&4jZQryB@)0ITF?XwUtPx1p&8`8{DE!oEhrK#j6 zm8z!Kj5v(6YmA(k?!)Pm{Edh8wYmq{|II2C)t?g77_sSYNF(J#m8R`K z*8kE+3yUwJaeAb)w5E&dua>#k4s59{mTxn0Q~k%_s7B3*ND8OGhW2r~OO0x~t!9T2 zb6Uz!3o{9Zp6>E=;=uw4S`7%WTBcB&Ud5*L`$M!sEX|)`fLQ|SR)^`NN959`6kD!L zgd`0TLudZ+M2-FDgRLXbw$8M`k_0rCcNrWW>y9Pl*@7X+lSous%G-_Ly@v5l$-ci4 z7&;e?qGoQsJ~x^TO8FEW;SJuc`Sv;#tb1yk5xK`wWo}BG>x@y}KqI6_gM1N}MpAwg` zlo(NX!>&_GAw4RASl!{2-sP)#709+X)08xp**tC{u9=_Ls1tTu%jTi{v@9G*-HrQt zWxA)FIO+G|Q`OyiOH;!A;dD`Y^q#B9`P6UKc*i%$4luNyo2W-~v$Qs>ssSbr^(`S( zvL%2u?LgS%UeC&MZ>AB?^!M}^9)aARUbW(wWh+;;uV1lx`HFSvFI}fZf_;q}!t`>> zkj^~%b;p_6G-ar=R6C;H0;hBfM$- zF&ox;+`+I<4t9stSQ@%Zu52ROoVK%hv^6AZJk$)tYBtGgJ0ZWJu5|2|KIN2nAeM&p zrwBp|RnQg?5>?UXO`4~;h;Y(|pVhlelpQVn`>yJYpxm{$pL++%qy@ zUMw)y-5aFD|Jm}?P|2mtKOPe&(&NuZl<;5}Y?=Jf17U_F_WI8lyeRqcm<7mgy)F3} zf=e5b3cE|BnQJElmA1xmrYVSd+R4sJ&DpKbhVjk53C~R|A~e!QOp+}_((X}Vf=MJU zVC8FcBb`UDkxtu&KY|9C|11h+Q%f3Rne;Ov{<6}vQ)l^i5hoW-n= zZH5|pCr-9Y?2KibOB<4$EF>j4S+ODO1lmTAb`|TaNHpI-hvJjTR{?EJr$_E%#$Vfo z@7D@p_M2jhzA)(5DF9vTYcpqHGlGw`eAFIGYMnN{&ckgV(;+r(#%n64%Dxyvcg)w# zvP09-BJmDtXFZYbr1*Ml)J)!FFWYcnELbM9Dsp3DQ|xlAJ+`8of;MrBv+cv=tHZRk zIZ5FcsTZz|h9hAdGik50)|;e+AW%*A18g?Gqn_~v|MF_RguO_(m+mys;~rE(pG>-h zK(ZW_dg8%YfF#}_`xcnzKNM#vuiMCeY!8WkL`smfb6C|lf>xlZD%#x*lCLMyCP!k3 z{V~#6`WEVTE%3rrUAAP)D#YSD^x=gAsY&uFemP2F9UA@79{fM!Q2}~Tr!S!G@V2Zx z8F9&pbp*Yln;NyCAblYud^;FHB{5(?q42Upi@JFR48S4~o*01JLjdw>BtNc1pcuPbC2@%@C5M z;WbB-D4jl9sbLB$SOLm54c)7d@p9 zX?`FW$047Hd(yOdk6B2Q5zY{W02DGp7U9IiIu?Y6UTre2#+PR`+vL`h;uP=GRRwMLS~~ zc0wSKa7-G}h&`mme{~W}Bz!YK;M6}T zJWIL1w|RP7ZfV}uiTZ9Xsj)@sQRI*oA!p}BLrP4bS zN7)&PMKYaeM=sZvj|rHwEgU2PJ@bTksKdgoU7@)n^}J2GB&O9er4~!0Uybiv(z47x z7Olzj%@U+lXdXe5ZIs>YVZNn+-%D~&YTg`@#V5{A)j`aP$HJPEh`JtClKYQrb1=0j zc0Wl6nACJC4W(sOAgqDxE-|>V9t^IvL|P9~Iv>vn{AZH1XD%lClj2gcUB(e zt+aH^Ymug7^elcX2sEkb*T>10F2$eH`WoVR25IqzwDlacF50G!^mWOUUT+VpqTfz% zqk*DFV%MXrcDK_MaJt(%GZr@>0@8Gb5p5ns*ph_SH@gAuv=qH-V^Nws#cOO*b~m!1 zEW;N=4$UC9npN{R!hIy+S`RU-jlN)jpm;A$uFMi{YZjq*URc|irD?`wnc&hg)@N4v z+8ufXzFXU@csfg2NfGg zX}pWHC6fe_-ntXbpJ=?x=r|Is&5+@hQyViy78%tVZJ!}a0391ib<-;gquwKP5AMeE zGcaFTk`9sv_qCSjVuFOMnQ2=JHMflBywLqOlv0uEnPX^J8Z}l-ij&2lPPFUH?UB}- zh|go+>4hh|wG5D!d&ps?Wb-+_KJhuuRMPg=kQCDkc2fbNy;)Stsu2ns$=s|PUQ6Axj*CbadEHe?K);>oaE49im2jZ<5*Il207e*kqO8fYII z~LUZ{@+y+2HMS$l#KEjQ_nc6uCbhC*HRyoAQ)MU5>7>S~z;Um-sReDA7`;wdO=20bTj|l&Mxr2^Q83C*Oec@(CL4>H z(59-N>^j0>qlR%7M0InGPfxSCPGdYtW7yOvX(GE4Eu3_FV{$hR;tbWpne@_H=_pG{ijX!u*GQG#D#># z%ubL9lVdAsoTf{VlA+8&T6_o`&XoAvlV}}w3FEyzavPBUh~6AbC2%I718xOfpc>%=cdF-D?PPcEr0> zZDX|_%CEB1r>$NuRtKNva2laELO)AyxZVgoQ=gSQ;B*gp<8nt66BT3SFju==56QUUNTNC_gf4d@x9?iUTKN6V8}Hp&A6B} zjTWqJE)h%H)NEZMaSgftrTahH61Q9TnkM`=3{N>0H{wk_$- z4A4@msY67MS<5j8u~Dx_8*MeK&7{uH_KrSw0a4D@@0t27A@^uNn4{<*41={In4oA7;3X^`Epm^x3tWA|32)I;?Lo)PWO8KLoKlnlkwp zQX|>)AD7e{j&6~o22)?PwpDVqELwa(OUnW)zhF|8oW_H5R*j+BVqTyoEpy#^dOS4WcHG78K%4VMm<_*MT&^v>X=4OviX9*RJxQ999&Lv*&qTTPhc$b8t^laiM$ z(zW6qKFRQwCwX49lwoZnjo(f}NK4KsDxaAnhU9wD7uOLoLgZ*M;%W+~IrI(h2qhI8 z((+{)?;WB6SK&yigR?2Q7n2&SP4}xw=2U5kkB9Kz)ET&1uj+0JEeMYMN>4+l{v6`1 zUBTY1ZZO2n2%uWk(wYWONOv$zrGVhj^P3KAp@^MD8%r@02=Z+DxuT zGn$_79ejRU_@6nwZG!EN=r+^VQMTvKs7Oj#nUkmPMx};XA-x+0AG!pF(saD$GqGx` zw4=tv0=1hg^&6G99^{SL?mfc#&95~q;;@%0?=rH}k-UC-N@CV#Ni5wiM`dOOh@`nVgki8Jgg z9&S?@V>_i7{bap1OJQ@Rwa2b)U%C45bt{fpv3f(gdYexL2_ZN2WyoZ{dxtmf&dk#a zO`QmtRgre8u096oCaZYFEJn$=v{0Tg7?OK93I=kZ^Oi>gr@6K?a^soLe1oz7`)Vd-TP*PFMJ zOL|go{UrM2+};-0l}K_~`mreuZ|W19NdL3jX)Z{Tl+k?NvnNhMC)(=hKdn+dIoVv& z&*R%%=QZ8gB>VmC?3;ujscQ_@HQ;|6jkd!-u}NZWb;c*{`i>&{6(6FlpiLDa1)gc&@Q--2(e3Wr_w-SuB)%n@BDQ!VcJETgp?+NRy z4yQ5-s|@YS-Kt9>({R#mdSnyEDdxkeNhhlbO-tO!-f8zL)E(|kr0wnP4*0rF`CQCd zkLxV!f8>OvE|muL(OS}f+R1006l_Ty4s=IzVjP%seunv3uUb!SB!1J(#naLfCxo{p z(gHUH!(E6>bji+mX3{y0?uJ2%Hnd)w+fNpj+}2?D4rBtp!|4Vx4_SxQR#2@I6E7ab zN2ta3x$8Z$>LWnuRi#F$-V-E`qpm^rw|;W=VE#sWPn%x3m8*|flP-3Dy-sbD+JRlm zR>JA8ICwL`c+#2S^aNNxy^01~)_0*bL`~u+DL^HUQBb4FIC#BwfBB!z%^EoKDnY1+ zz>`AJz;B)s22S?Bo&DOkl0UvH7rLGkHiQ4K!U1seS=ssU*mFWLeDb>BfG3_8@(cAS zOn3iBXE^HvG^UTOw;8G3EoZ66RRvc6Q>cTAXR*Y~zFwG9OMG1{$f_GT0?CprEo@#$ z(;y72#;a`fNp=<_Pqs3`rGFESgWwK9g!~tTTA1?!{&_=tP9?n%e)(5nMjp$A0rMWru&+fkp)AUjb9xigiv0JhW;O*Ci z*--PAAm*~0=Dj7<^sB`MaKYO``M}gyh3#1bkN-=!DtqjoL3}@QJ83U)6i~p?l|0?ItU)o4#Uz5{6^H-(tT5+*`VD1$P)+co>>}V2eN4pQ<_<3T@DEHQAmTB&nU)95bf5Jkaaf*G=(k!}QyCBZo z#@2A@p{c=ecnb-P)B~hh3Xu6N^O_gUBOzl3=&%{AEkmcAZs{S{Hb{#a@YV*Y+4!F+ zsv)rg3g?uIhvcyW2OcaJXWPJ5DXxUomEu9PqX*8Z5}&Q~-}Is8SCK!FSUrIOsk{3K7~og3bi&%&&5Y?{VOqDdMvg{vYN1@S`ERb+(w@ zq=aDe--PJ{*E}w~nl%=^TxIV>jg2>_?Rbvo8t9#NEeyd%BceTsJ)(hnA}4+b1h2xsi4W46aunLdHyz#m={>TF{%bODF%2^pRW_*6H{-6@;^XW|eU zxM-*F*GK2(*cnq>=wr zmV|cj!57&x`%C^-l1rD0;lk&IX=65EjcV+Z;dycHFGhKIa?Bj1F=@@Tv>%Ph+j8Lp zJ|_8?9Nw7RPymm7D$E7p6JZYA|A}yv%>~7u3d``HV?Grc@t=49BUHh~p9=rp8-w?y z-0R<;f~XJZu36%`LFqE|$WXJA@^$>un(yPS}Bi;Im#AVHu6FLSRuTUFV+uWK@Zr+Z2Z5R`_8WMJpMnT z<3Btl0r;Qfz;4@W-w&n$rcJh2X5$rIloPqD*4^Tk=@DKS&o_c!7j{G?QzF)*)C zoHC+WQk;kbXt2Z9EhXibR)}pPJLsW3vB(e4otU!}?)`pFi5Qh4s%7^u9RBs3TBrzT z3-Gl~In%w?jnjU1PK{;zv{pQxmG-K;Qgs$eipnlL#%+8XNkG+M3wjl zW758u1+7y>aUgGocwCwP^8B9-K7Y683>_d6iik$*V{0uBVDXS&Zm31`s0oap`eaCffwAfN4NX8U{j|8JtrcEH(w z-@rGX7UuCO&!;?}@*|z{Zx{UH%{`p*)5=avw~v|Z_f%<0{9eEL1a17#*WDBLlarO_ z4S6HH`KWNm-h~u9$z9?nr~P;aPJ3E7$Cl-_!&`R<^#j=R9oZaaILvUE841jM*FJEw zSNvU$|H6Xr>^ay#N2hoqhXoD`92O=FEL=CxKSg{p4I=!o@b>@Zh`ke*~SU!sRLg*#KycB&)|h<0`?IjWT8 zhwUJlFX7S}aVlK6tH43pyjE<3V2+pv^QU5aA;x@epwAhwx<Pwt>eb@vZ_5ke)B#fHc_vY1+#CTBtueyON_4N2MWA2`-C@OUDFT9xC|x zs~NEc5L=Fe`!33!I`G`}!cEze0A=Wmm>vr2S&LZKCfV;NMp2y0*P{x$(kbil>CQ;^Rve#rqtNrjXw)>2hRPA z;IJjZ3!HhXIGuwC2a(+e5t5{*yzrE`9E!=o{RBX+EqMQB4j>#rIDkxU0Qq&z=-|bd z1wUkXacK6yJ=Y3{+Bj-()ZnNwQq;)G8aTE{{BG8q#2Mc6o25qSh`_1ZNnVm136S)~ zsFLa7CU!WnRCIy2RCL42`uqZDsuJ@Cu)OPY_A3B-v*26~K$8-H{%M0RUJ}aSne(#d z4D5VE_@0de(q0E7=sy?dEr%KcH6IuJH-{PyH5_V27i#jd`p-TsufODreDY<%z}Jh! z?{VBQ;m!+%7jxX5_VsXqV!LE6>U!%A`nu9z*p znWaI^2L+!!&!L7x4Tl;IHKPbMm*>FJ+2S(TRWBZp3Ob(_{CmtnC&$|$HN(zFg#nH{ z9CKghhvIIjr!UnTe`e^1bVMk%8`g7M=9`V5l7L53l^D!gROEdb}9+zd<{GXSfu7UeNUYACrztYo+hbFRT# zCMN_#?X}`j8Q~MYd9B!zgov>HT5-l+fW7||{_;sqd^zInCy2Maz}+baf{MQtc6=fn z3^V^v2yhVGOCX2}-h_VzIh6EsDwC@jejKjw*41l?*HOQ#*u71u`lif<4!O$2A*TToMRxzK#qYN1IG*l%h}u+ z-#~b={ldpN5ON^oK*)h`k^`YVi^1PpF7ey8!7%Y!`=^g_OyrozF_B~99W;IpEmVeF{dxm)7tMkRF))(f; zJaLivMf*8VaAfAlJQ0!EnG95u3Xk_!@;jNF1+Un@%h8piD@Rw3uHytb~XS4F%^{QK{mj*gt z5{?<8lM43`X8+r!R}!$2GvHBzxtG6z|KaG%(U+s|UPs@vi*A`*VFrNc`(Fc>Jt2H- z+XoN~Wg7}h2fqE1aAg*Oq?5)e2-9l9)vsdPKk<@KoP@xD2>ituR-dCVM`4b_W)!}< z=<`Q83Ud_ZC_DrTe@|Q)qS;}Utt7W>tXq!3_dXVC+;UW*se@TsSR>!8E6^#q{fM8f zEHf>E9dX|lC8oj~*<#&9!sPtrN(^629k{+!{0YbAvBl;qieBf~%(0ncGsosVz~&h3 z6VefGj?!a*(w7!J!cm%|G)HNU(tCo^MKjwZcT|pI!@4;zj|MRRtmtPPm^m`~ERN1&htBug-@TusGe>8R&ifrYKW$3_;r{cV%o}*BRD8uY{&Ckh z?qqzx=`a@^#& zIYDr;@?UPyHT;)6!pLi*V0>vI{||6c480niuHA2S?yX zdHDU2GekeZ)0K8o2*M0On#-q%wFgC&AURULJ+R=QMOe7@XH%CFTOLqj(eSdUuY0`` z4JfKd#$RJ{S6dyq7Fv4>o&6sc=jO*dNUh}l>;C2JSI;S|WH8wtl6#ak{b>keP1Uv< zD6xqG+$k3nP9cT0tF+)Ya~=9;l~ls%Q$%|aYgx}G{cZEfvG-D>qyLA`);MXSV&mdF zb~I_ge6>xi&D-qV)QC^JOA?#Y8H?gJDbWH0OJ|DNwruiSA6U}K$lCN&j+cI2N~ z*mzl=XFG|3x?ngq<)1}=yOY}#Zd15T*-vc>piS90cexT%qCJ6-B6Wv*rC3-BV-=$T zzaq&Yv{Y+n6N#5HPeNLxo5iSO`y*iKoCu0pA-9+Fb+14)I{yc(-a(n7>-*`@bsE?VAqxuw;r@LPS9U z^z{_x8m4V}`DP<1p8O;kx@{Eq^EH?sWsHB%e(oLnC&rWE^feCg9O5~|!`2qZT#DWB z+ZIRL{s_VF{Cr3G-htfT6y16IUW43ixxIl{w?t-O1;gChe4I~#&c1d6yR#wqm@vDR zSREop5JyQjXczd@t*v%g^SE#jod38`XaeR6ArcLD1eG45uncsrD8`|xeZt_mq8vZb zhr9L-!|4iw(@O__@`UgS$7zn!9H%)>k2jqDxBbi8#u%q(!3U2Drws?9;e^GG+C9T! zxOp))9migdy&QWv_Kt7ty{Y7`fnj4WAoe~waK#Nmo(*ogQ8*J8-y|HJ?N>U%>lP1$ zyKWL5O95s;V7?ZGDO3lzL!$~KX_Yk5{$kO7VN;D-z__H*7tJ?b1AG1*U(fDLsJhe zZwh}*ewDvHo|Ti~RlX>;wb@w3fv3FUx3l5D8pS2hU@Mg1@ka3?{{tnjbECzL z7B^ZG(P$C4MwvK&!%LTO6)lje2ZCom4M{RTB2) z>-BrQ4c6-$8-3wWXCT_sh=tV|U#`}_jVL%ALNU2ZsYA48NwKy1r<9~3*pSQUzm{*I z{x{h97nX<>Wq4gsj)#2R5!sK|!c~_S*1{t~t1alLS5Nu~!5VR1_Zx-p<$m6#XY6NSgm%bE^7CAOUG-PGHkaSO~XFt@@GFP`^xw}Rd&U0IlCKd4e*Dx1qXru2BEaLL5fF%I3=P1 zWh;FC1EG1~*Eb0H+%$93%uO>l&D=DPzG((D%?s*cVZThKHZi-gK#$U7{1T7(Lg8MI zcc9fFmh2@HUW%8HyR{0zhFWn0x9EG@qVFjC!SA_6pKKN#(4sG$t%iFP$!&?}lO#8d z0aPhyO1(-{f&Y6#SY4pv&Ne@8|CpbagP{OueE+?3JBhfSbfSNIh8Ool;g-J4Nuzo zmOo`4bk~VJKh~SDQH@sDm z{Nb+7aM;g6OtI1Wm!Dk$tM3&`gzi`@qPEVPr(Mwm&QMN8LA^SU{tv4BC6$zolw#+z z4GSb;d;>gwuW;I6lw{2EgTZZQncNLyLqX2V4@RW8iZ+$J|9GY%HF`&rc^Xqx7ETO$kR;cRB)I~ek}ts;>@M=5FD-4zcd;#_Q1-ka^_QJr0Dt+X z;K)gk2l7$Dt3t<+Z-+Fg)Zy-k2ISD8@s4;X7H{%}d)!d4110k*y5+43e78`%Y~a`; z@xEb@#>2H6wXG6SMGj)81wvcN$m$~Wt+!jjR*f==pl`)c(Jm=cw-StW#)Bgwo~y&D z16NUviG%ZnSw6|cPwCc-#HXjk>(N9%EaL^N3PI>@u zwa2}1K3T#ivY(#@7b2J(ljII&brfwujNq4y6_$~oM!Knb zz)xG6o9pTMC2Ds#9`qA?5{POLNzWZY;EO~QIeN%I&#l5w_Pz9g==U8nxW1Sq`T~yZ z$JV&|VuuK8XJr>qo(kW(z~M>|QMm2`$HAja{F5I$QF#8yn`<-(IQ-*>j%rwNiKA$w ztu+RO8_u}U(acHoz9rGnc(LQ~k+EP{)9)xIL)Vw!r>5b&^b*I3aM>k}MSGe2!6E(l zVnY%;_&f|XaVcAz>s3_H({-vo4i6c$+5*#4C)_8wAo;SFKA}XEFsc0<>9j{9ii@+in?&P zM=$JBNZ*gp+0WQ(vDpS3`k!;7UCgTnC@%ufHidiMR?^)j3cq?Z?7q^My^#IYn=Z5g zsa-Qsp2#P&ZA&*(6Le4_*O_dw7w0-ym#|F~m$<`T9*zQ)iBg~F)SMl}TMUA{6oQK% z8YJ8AP;U+mDaJfNJ)yG}I&l)~B(>W?kK3e)>%POE_9-1Vf3Tbq4f=nHVjO9z_08b# zl#o>-|8jMXT_jc2ejL2snCB@-wtG&DGGwajO#)@dS~p}}b}%vjb0G<+LV zFg3Yer}1lOe%@(RVSTfD@<=jM)U}QfGfO^qta4L_;pphteOi+F;{f$oj(x|mvF8*$ z$0PeR6nANDC-DlOaR^!{YF@aH5WF7X{Jq5sQYwaC2|)q_q(zNXNTmJgnY^)nPl`sS z$O{sizkLMlhEsuN&S#mgS9Bsn1Cc{rZrnb;-AMv7?Jo((XfxPR5(IB&A!gRN5)$~VVIXb{WX#SY` zD#!P+;yCj?FoE3I+^II4oAQkQ(eKL^VTX)l+VmE(BDf=C7W>2+7${{c*vF$(HkH@gbXp0 zkUy5=jKlgxezP%KS0Y%xOd3ceIkHEZP}5N&;PBLz>X-m9uo|or3k>^iNKhxG4+n8K zLM6w{Pa`1^0UPFvTO=*7thpqitV@7ZYMk~RJ6BK^78z}xeZ1)8913@%KSn2v=AqQR zEX}ZY^%u@k`a1R!;9d^x)4Mg0X~cyRgwHEt_OgD1u26SW=ggu!>l80}b*q&n&zY3H z&BtnEr64Rtvk&B9?aQG6Zl_>*NUkeH6Ew4(}fNa7A3^n2RYgd3eMD-We=*f zV%rT0_V9))s5R2t95kCwJe0>CL#yg zOlj@69?w3VHwf4PF-WJ z`tK8Q=Rm9`a1|Hjc00l|CQ#cA0dRZqv@P7a9qxxs-h%E!^a`F`d#|IvYBw)MqR>@@ znF99D>-hy#kizS+M*ipAr4UenhY8_7lU2Jw%o{a1I2~wJMAlY3B?;bXpw@PFY7f;odB)mN3NQFJZNv zFAWTxed|a{xfYSc|L@3T5}iymp}C_n(U}B1b*Y2zFC#BLH*$n2YbX|D{g z7Gji-jn9(yb9h3uV^s-U(ah|Z>ajBdAs@+W{&EH1vg?+|k2NpiQzC@|0-j|t$L|k) z$ux@8Hm(4}geSsY(2WzSdtQ2p?{BiUCpbu-0C^f|4!)|kCu(i9((?x4B5{4;$L;nh zq7Sa$)95LuvmYf=7CSSKjy|t`FM@oBU-JUu`Uwkp(WQtwDl=>ho{VaUPqkf)z=h_j z(VyIK9JgS}TET5_urtnD0j&4nnfdJ-L-+eBzbA(9AD1~bzX*zVK3CL?U5FQTydK#h zql!N}U?##AgNDQbN{tX08c_;pb%lA4qKdW87d||QF_q^~+{h&-V1{QHERI>`2B=Ha z3yAFaTq0T=u8rct|9o&yGUZWi zXC2jE0x9eYdlG-D!PGw`F^5FxV$`_0eK#2~12=U4PVLOK)SMuv|FLeM&s(sUkkDw< zty#BJ8z-ux`lu_67KP)+jcK1kmor!);OVcd1`cS0L3Y!fWBVqtGuGDU2WI6WM=7AY zl(lB63?sWOO;D?#m58e>SKH zx9j*`Mn9a4l}h2n(7fm*1JF&sGN>>2GXpW65j8?K_BqnY-*|E4<;$u=#?zOhIe?~| zN*?>Ik(}hR&u1-K|CV2AzZgr#NJ?*@F6dDB06e7>Xz*99w3HO_+?|Z02lBdC+Kh5K zFvd?%N+IfLFqN*xi9+{Y%)v|RWGKV|aTBoJHdCpC&WK9_KuCKWqgesFC3vx6@kE#k z&tdz0odk@S_PH63Ns%8Y7Y^7%=G?_MM8!8R1(yyZ2utmD*!qFDR!ndHcxo|JMSalq z_Tt9dkB!$!-8F6_r#&)JuQxqcU#cG;RLp-6My}+hT-v|qhusMt`b*A!j$b5ij`?B2 zS z8L&R0)`Z}4es#P^p! z1*|}NyWSpfQ1o9w`g1nF9Vh^7qbwmA;I}E7dK9sqDMAmMb)J#rK%-p(%fKls@`5`4 zAWB^VvDh2&KCu%`MBDPnO|G{lqf27Oj|z?z^^|#PZFPLSxO|?Sl60^j%ZBALcBr3| zbE++;W{>lnbs!O{x^=VTm|tS>H%hf&j%acDX)S9@85e zgo37FgMrPtZs=p&mEj0jk5yZqFL!D{R@ve!FNi}?lQGBaaLu3o(H!7VM63-_X*ssO zr_Mc3Jm3$oR`b~Zk?IhEHy6ZlYMtA%IQUM_OTz!l1sSgS#uGq|IjTQd-UmXGB>ubQ zQl&y@t-P;yPZgNZzAWmpH;4@C*YRYBStG2Z9?Dwodp=cP@D zpj)98hKvDMqHTBu=x}YHRyC5#`&_uE&^*;?CvmQ(1&9CJ%@^I^?I7XH&E_&djQBGM zf}be3n@tUHyF+TPTzU7+d1PZ@qcOAKFysB_rEa#*n2Rn?+OdE0eec$X+E9+<%4J6> zWfMLHlaADuC5V<-K=FfRkd-b|Ak()b?XamPnzv_aQkTYEv4ngYK+fC?G6fY4S1I-w z%h{sUbHhVe1^bl5VJY3*p>SA{IsNX#wyHjRIi~A4lw9r{%5n~f2vv-6!v`4NW{519h24#a_p5!bV1CG&H zzX0q}8B=0VR)01c_9V3+w1~7E!q--Xi>h^(o&x^)3bUB3KJ71?MTQP7N{f7om0<4I z`P}WRRM*IsoNx~`t)fJOul7Akm0pcpTt3VSQZ<5kr3FO-?~5*ekE5GqJ96tYJwW zvxi(4Ow3(;r~uC8YtJsmWS}&nJdK@K>hl&5){cgrprOZICHpwpl+BA_*!}0h=yV6n)^(D> z3}`hWzG;$(({i|Gv!lgvCwfbcnPzBcZclNuNe$k1hif&OUNcy zdPKr0SO|@yv&Z4B`FSwNE>+D~2}Ak0`@L#(vDNpIn>x;R4ahG2b1rQO)VE+CILs?lA~vr0WtX4O>{cPxBWJL;u9SAa9f zG*ps0%^$?wQ%wV!ng#$1J6$)DzJ58etr@6<`yj2+%F1ENS$9vDnaA#=S`ZjMB%2B~iWTpwR+ym4<(*w5C7DFYN|&)GbZ=%C z?(V6Q_3L%HR*~2gfka@lWOb4RDj6SH(XS^}Dnn7wq~|J$eJw=uFOF1(6!cMW5$k?H z#*`y(_P~+;!{Y4w`L~)NEw}V z{-ecbP+k@D5E=Ftn$|)kH@yz6(I2^2{J#a$#SvR!D<8gi16VG*rBWCYBughW{7{2k zuZEh7zbM)vLENVTBoE?Je9SGfW;?00BzIOJYpA_4IiI&d&K-$nOJbCx7mf?X0?c3b zh~Q+g-l2 zp>CmB;9a?a7|*dp!@jg$7;%v-v!QUlU2&BEIMo>#wS3(TKo100YBVX##xIdP>?SyK z9B}I+G9l4U>>_N}5f<|I%V*xYmnfVLxIo`5bGy&eU*emY1dXaWxE) zJ>`>z=sku<#tVQbjM0DAuTf3~#2bvK zNSVfzpQ56wd2y>Ut*30e77>b?5=p8j=fBs=!Xd;5oZ5vBp(P^ZWaA3}{2VMfrxXu2 z!z0FP67T{8kiiT5)HR9wx6!rNk>bBiA$s@Ke}o#0s*Mz7Q6gh8hUxP&ygvyNhMR%s zEQX>Zo1ZiC3W<|#v|!L|rj_8CM)|n+px?P&5GDPCHJP5^WnVgBE)Z<82BTaxj!%iw z5m1Cv4X6iyUM*V??l?Zu=MYld~(en4qI=HOO)tz zBO?dPpX!ppU~sjb49?oRp-TOK_~d4k65I#Q#3pKQ#^&Gt@bY3~ zC0=hX-SC+%7@Qq{I9mPtmL7{cYogt>P5fgKn9XKNm*w8>ceU+-KFd5Ki{<+% zyRltSd3~eT=83StUnbi z^Mz>f29ZGID%2|Yjg_;Qbf2T6bB2S8pj)FdD8F+hu^(-7=pbIs8Ou6}x^)G;J-2x! z@-2Qjh>CS*e}^;e>^L{ca%=1S9ZguyWpWw07e+4Y9J`eeT#bv@g?m)it!;xNo@!h{ zEvZJ(MOLCj{5UC-rM(p064^sxyjT(pv(H27j()Mlb<8XiQYGjhxV3>g_|G6ZKaX$7 zX8E)b+5}aqQLGfa1S2IrhJ=(dI&8vqpZVE%#tKsW0CljONhs`a`DDi;)g*S)z`M~Y zS4}ms$t3;c`hJ`Z3Q4AV9w}^D>Pwl#PNF8Nj?Y&!74q$6*dsRjhb2gB{t4C&|A-K& z4fk$gms$pt5x7*S`?qm(p2vSCH>^Nx2m6sh0`%bj0XsTK!5l{VxK-U6DS!(CuAv)4w@a~=g}ho}Ny5pKPO&XQW~;lpXMQxe5axL=2X`ixuTMLG z_B@QieL9VrJy(djlE2R@Bpa$Tuc(=0-py&gU{mc038c&-F=4~t^0#PsqvVdrDpiR-XDRaovI?hvShUgI{1keqSVfAR(|~)5O8jAKNuJF7 z>km~+M&0;RDa!eZ%0|udi-*3c_1%h267K3M_efYdT5d67?j7_pM-Y`b5)U`VXvxF4 zI4Mb5iq?YtZ!i{0OtBL;m$}wbwby2oeay-JC4J=81mU`sI%$4B@%bcul(#cNrQS5* z-lL-;rK|ik72T@2YY|#bQkB&5|3KXQY+k?AZH^mRopxAv?PDK+)J7g#+2N!A0bz;n zJM3Kf<4)tjG&v&a^Mwiw*Csv3I zfTR4Y+me>nH-3|ryavnQxQAzRi1q6@W0rd0GBMr3#P0i@>6!!iS_$}8eGB8!*z00{ z7?U2Z$X)FEXZPmUB0On}n|i)8+!>P5GR&*oBacC+gbY=g`YHn+^W!4yUzjCu^;BWw z`WyA&g&a7s;%wX%p~Yd?@8cQ4&xiGOcfs*>hSCEuYt%u~6J74{!G{kslNa}WO^`LC zt-`y2P$^>C*cM?zfH|e{5Y%BTJ&1f9=y)e9W)wc-^9JZrCl#>o0eML-^%kUjn=Dh65~AFndP7%S-Geq*_L>NQmoV%agddc2ey)CEfeUzwOPur>`e#z z#hn7I>t2|t0Xgo-XJ);JK?qjMm8&>ai^I-XAQgHQu*HEP0oKbo)A6)#0#hh+YrQU~ z_T}$Tl1Y+6=5&j^`e}m7e#3bhJID3U;-Yn*jc$t^$7Fet@ya2F>)lcfmhBQWZ~?Ar za?a;QfRdE8%>?4vFm|c`7OP0Nb?0ul7-%i;2k))mc$gV@BZ9>ystIRfve0P>D@E~8 zLd+KE)CB+yT_nExzNouyAF1U#WUCtqNA?A)(QyAm7A=2K`-&lj}VgA zW|JRGj;bp?6iViNFY%`Uq|$@(kM@8&oJSQxRA3}*+C#oV0aWPJ^xX5)w7-dPKPkJ+4LdwQ^e{G*k4HsrJWHNJH~6r6fNPhh=^;8Mj;o2#-*e zv{h*P1g~qGCiVJc6pKAsvAuxAQiV5#ZxOH8Yo9%P@t}ew7jdpe^!%j~5wW-6kI=ll zQ;~-O?+r{Z`S1LWko$Xy|5(4ALc*7Ny9rEz&2(K~Moz+4$%>W9%H5{b4g`pUaMI_) zL}7CZ@5>AF5u&7!-Vz-COwfy2NB<^!fz~{04kXqpH8(GA-Xd4ow6-0bCY7(nmaL5} z#tV`KDo(C~e$DkoGnHvV@ldQ=#|>o4!G3ts`gX>vKiAR6NNo)eDh^bAgph~jO`!aS z+LvPz`lC3U)A~DWGJW>zCK`KB`0#=W94=co;%Qn{jwqeXyB$GSr~h#+6ZQ#6+YjQ( zUieEF{K`&t=hl_@7Tu<6uGRio5f#na)h0c`!(ODEcCjrXMi3sK2nCpXls@|_jvx&= zIz;T^?+7_+h(!)n0axJlO?F~fq^E>kpUNyzG7A8 zxgZyHr`_9Q!wL$rj3 zl+G`5ryr6{U@E?khxCS{Et-;vZ)~FQY@~n+_)z1x3Z^WHESxJle|R9606Q~^FTC?e zmO%xdl=SUClBdGdKEDj<$LGmRVC00 z@!to;a4>9N;E^wW-Go=`Or4PEAE;N@;4I1HW)^X(L@oe6nBZw#$en__y0N47$nK5w z$}K8|y4LmQ`ckozlb)$Z{_8+(a(d4i$9*&W5Wloj9_ACCTQm{HJq3$dmSX1E8IY#b z(GtITR5-HCalxW06nK4er^{K`lCmvKd5;~uxxrJ)N^XeRq9q?g{BplQWJerM{Q$sH zE-+Zu42QEhgohdJ!m_bnjt>QXVCmzXsW<%V-}CR<4A>bSl)MX__KiT+!fGLcOZCR| ztT9v~R?$U-R8m#{Hv4>Sdk=AScFKo3reT9wwq44HI{;lRX0&h#aPCSO!B=e+M@9Hp zwa0!5dT^~T^VPLdQTWlix0#KRMqWgca^iIa8=7Jw-b+E_qUd!=zDAmZ2~qFnZF#VB z=EnowUUl6(2Gp)+;Cu?H8El@UA!be2O#2YCletc4Ydu&xP$ye(8BYka8y)I zMo+%3pmij2DTph}j`nKSM$+tBT(<&Cm+AL0fBvSJh4?*N=vR>`LY$@&8~?15!p-pP zGvqJ2p0RE&1l}RDUy-CGVR<5Hq^h;GNZywOD}IOScF|dexu~B`ZT0%;szNUR2(@AL zX3qA79X;j^*zJ1=+gZzELX*_l@a5pia0W-JlvjG4Dqc=p)-LU;AL4|rS-fxXz1hQK zMNg2R-U{I<-%I)fBVD`AW8e+|D@EERc!kX(3WSQ(VM6K3YfF{3IP%DrR2%HsoG5|V z!Z-#yU(W(`ysXlT(jEu$)JVbni+YDs#$2I|WEhha*9x)` zZ`O5FriQ7**AqJX>VakQ!wz}Y+a!T5ihpu z8%wB+_U`x1n>HqCZQ|?ZrA(D|JVqpNuBTu-pON3MLT%O>BcVlI(Pj*ke`4E=y2Z;0 zo*FkgZP>qr1OjdU;G^_lfbS~DQxUt8!Ece^L6cA+^Q@%R^{2!L^GxX*wCB0>*Ald; zq?uJkrC>w#ntx{zW00y;d5+Sstlq@hL74};JH z%ZcoU)8lh0Q&||!VdnU%s zvvZ)^ZKX{ZLD?tb$7`2B#+3}2>+7}2N8)Hi>=w|K{vP=Eq-WjjR-8%HdGDW9t{K|% z%^>KVd)y|{KtPQi8SndH=A;ng02j)oVENUvWD46a5FRFie#AQ2FH-LokqV(mB`fUc zzP7A=g1HYA;^ge~CUr!Wl+RkVv=zMf7DAE9Bw6HSIHfoQsXx(0^St%q)FZ|;J|DmA zk(f8nto(J`1~Kw;Q+$AL)>SF328Us(R3`r)c&ask_%fZuBsA895zUF&DVxfmDs2h$ z@dcTt)#dT!fZ^9wnDp50%^blXW{SI%=CN8q-O8KP3Z`?X`!TF_w(~KM>hQyS9j* z2|yS|@urzs`%7PJ1sAYa)|F?bts_0wve6MDa$bjxB7V=sY#>D_Fxsa@=y+M$B`USK z4pGXr-Y(PYCoy1>0vF^g^ z&t;^GCUbuX9{j67tP$*nQ#F{sA~cDAQHK~Mf)K!lcjPLD>&u)33$*{1+Bg>U*aEvMXq*dqN(We+>sHYTl1329<+ zs{M0l3aZ*e_vEfYPxXQG7WD~>6$WnFh^B`nfz4O;0dp1}c#HhtpF_+usXF!Bca{YO zwnnD(+3lkD)kIV1Vi$*9f_+P2jg@B~7*iDwfSEC5 zj-JsQy%^A0qN@%cbuzWZ${kApC$rd$!mB+yuCnjEw=LO`=h^_Si~86SMu8%{@GI3P zXDKRXsk4y!Qw0Mdx8B7|tPJZrqHxd_3I~pLv>hC^Ex?$^!9wYU`pC?YR`6hLtidJ? z0<)xt(r!6!*Mq_BpN8|C9XZk8faeH8=eAO4Z#q)Ltr7g&tma1KCKN-;FpW;6W-FRh zlSf^FC|iA4N>?3WZ)lH=w!UxhEmwcv;7Q}I^j^b57}w=`KEVE4%-_LSvTg;RZ9wv- z=rh3G?4jSc#QNSlFBtw})Q=}C%phdekC&Hr1z%0l^4Z&w!0S#9vGLAncSXUd+qsR2 zyw*YAz_hO)SR)JiqnZEArkYj;=j>mE_8Ib#7GwrnapgiF!EAsyb>WC!BO)jRo}{QQ zN-72zh~zO}EJ~}tNxFdJ;D}Ax3Jfk6?;gu9+t_^kIF-kfC|nT9CzlN!9}!1htI!_O z7=VRmv|iG24c)`P&5mP0X|;R9&Ois67pbJ-$+n`CCd>k3;cPz?QaBGC>Uq(1nKvkC zfKHcUc}nqV$}UlkGtjPIgBY2>K08-teGiIWlC+u>={`-`Ru?4)oFC%~okpr!|7kA3 zAQnjb%2P>8ALdsjyqt$J*KR=li`~1el*QJWAc}4?(lOY~{ zE6(jhT=(mU`7po)K`Xwe;2=jU!VMe;BgVr)8*-4Xsug~%_2Xwf9Oz^#caCG>ju;SN zmi9oq&Fr8jU7d$9jJKr6qjsz~Ss8`K7)x46(pK!_FK1m5#=GuaxfKq=t}tiup1p2I zSy!v39^0ROOp<>|#Ey>q@9OK)1e|+{5ey7T3&j2IqiM%=sfiJsuDMC6k7LBP(d0l% z17Iug=q36amwlBiZy2TU)Ze-hY&B}Hz_cGxLEywCNq?g!t8j9`xc(0kG80LvtVpPtkWuW3I_PywD z!)(qF`Q_ap-oOSWMZj@-DYp1NBjh!boZOBt%~QaR{@jz~T48z*dyE>wwMUV*xT*-2 zB*b!byCXwqubhj(|J?FH4pyoImQtQ6w6nI(#avq;L-UMb#)lXH6o9uqP9ED2|cPNtWM3xeJaZ(RW?O;{I6#6sVm?v7uQO`O_ zaw7^^_G@sM9>j+w>b^$ZjW8G;gyP3yD1}SupQV?{rI@1z%!yuMN9wH)}VV%h;C z$+KGlraiR;{hEx5_i$n82ftKFcXXcq?cXucb(FB%FjO?x{4Z932RscAIVmOM3UoME zh3ESDwsF8H>!qNkCJbAZ(j2Z+>~GZobM$o@_FQ8rou#XVCSxEjox*NquUF@k`N3jiKI`^ z9tykuHU$+cLCFyJ+Lk&y=3)mAs&H13@R~W?!;!g11!s4weSZ(euH=4yFQ&vFe0&ETo8F>-ixVvz z=LRs>R~{_BO$Ag26_`rbm)29d*wM7$w>p$c8m_fpPbOSXf1MO^1#+`{gGL$p-`g0@ z_1N)DCUc@>OOt9<6ONj(YBWs@Tn`pqktit}>&8dv2?68$V{KZ6LXmv*Yve4f?~jpN zxYnhR{dcVi6lo_QB)13;iQbfzU0(5fK?~%G;mG$IRV$RZvpen;x)1)jRD@{F6X6JJKm^p0`;$22sB|3iqT zq`FW`BCaf*`cwMqkU3~qrmxGnj1O+p=f~FTE?2!tPnB4J0rI%5hjIz4`sWb>%$)uS z=rU_UuaD@@``F$yuxy}~P1&ae!R*jJzi@(u64VZzvCvb!n0!Md!A@|sbAlR!n6sML z3-#FM&TiB#jO5}@8a%b(^8ohd8M!T{aT^?gZYwi;VUVTwx1j%U^4hoBYbV7{pS@rA z4>MV9#(*pkaJKL-qU-ks13eBLJ%bl>D0){bTd&iR_*O{%g~4lmGuQSRsim>HYysUO z4*bcY9g4>FG?@BcT`Glbeb;M?;)2yj?fhoRd|lj_NFSJ(xyPkYgXK!#=U>e5pfwfn z7bU`RjUU$C#bnb9GB&+mg9Zb)!8e{(SQbZ($9C2zEz$uZjDt~@xj(ElCfZx{Y8;g^k9;oM+;X}4pa?CWWxfFIRWAdzRFGQf>ya;eP{&4 zoiOKY90-(zNA(sfNxv%KEj-jDwUMRF-x7HMN=iw^>2^%}3Kps%}?>sWvk}djGdX zC~@^l2KxXsG?*a3AecG|$Lt^$*^w;+%*PE^CLE9O z#@Bcelec>3?!N`sf68(QFWOW-Ue|8131?ydVlYqYXtqy(rqK$Xqr65?FxO4mfkkc) zU_;AsCROanR;-T&(8_Xz_`q0NG=Hajb{ab15#XH*KI7GUmaeX!La{o0bRCfpP7~AB8FMpc2TtY!Zh`Fxry`fkGOC}b1^y@9BKSX~t^`y0YVD~!rM&nvqKtp( zO3|a{EvsIb&mi9Q_8>v1gcJhU2TE}cGu0ht`Rf%@2+;7*Ku9)PC_}(XJQwYV+-Rh* z(+ZOW(If!3Y;OvMuCVp7YF131Gm(fqc!5V$+jo+c5X}e+QA03}4&zXP@?@hsUx64q zTynoi&p5rY=`{gGiklc)p+HkRb3eepz!};Kq`K=&?9`~%LK?pr>!=DZ$xLR1*MjCR z50C07(LVIfu^n?oV#zg(B~_$|5(Oj0y+@ne$jougEQka6!Jx@)KwYc@LmV-cORbSZ zM0i}KaBHIYhrQBnOu=A;e9MbezR=TOimn8~pMtO!Sfy_!Q@Q;>m#q4%t^ckqhJ~e-l=C&YMo>JBW`m1(Z5gZ-6 z^l~4UOEFZEat()+XHl8G!h2KkPBWy^;6i@^W+xZjJ_POWp45yAa$$ zxsfD#1`gTv2rrn8>yNb6>Q%==dgsP**#YdC@Me8v(?@1aD~p-wwuYuZEH_*YV>uw_ z0>!kIn`Ga6Hum_s1|KH0W}Af0;i1bA>D6LDNI#)cm6I~ivoa)lR=rf}+M|`O+@VwC zajrl#bOvGMZK&|CYOmg_yym8Au?Odr+Lw9t&Pj%ooN4UtNeN|wk52EkhiuDIJ_mO= zIdZ|j=|sU4;RMCWkurM=9UQ^V*Ow=YpMkPr=c*k}e*$4Yab3Ven(6VXe7cJKJirJ4 z`~<_2d7!Ud-uH9%snt*bxn#;c`4pl_tHy0E&5$?GP;-J&5mTD%n?A3(uEmtJ2H}1t zboiNT8@R)sK^oMaN^0Q(2XNvlX#a=nYrlHRgq9aR;F-dZ#I>iQ{$Q6eKF+sP1xFso(6nddv zcaA%stUJ*4{E4=7o>cj3{nV1udVzRVpoGgR9g8=k!uU2WxSyX7k(LvD&@1>%~aRR^73? zT$_z1rWJ2utKz(pceYnKs6hv{D%I*FKDo6FA$pD_&a8KZt`B7+C%71ixRpUz&q|q= zdC@%$f81B`)^(q99Gl=JGe1YufsmEFa5_*T>;*DRTxD&izgo}7=f!=X-F$*qXrhak ztCXN|%@SsjUmRfuRIb36TT>CRO_mX1ybC>hZbk@zn{zyehI%h5+NttcoZ{j%?1rKx zz!THIX;g{eQ}x+n>_5g5-J*XDnqiChlos`oKo$^ho0OTd%?{{abzDSEsg{iMnr$D> z&-f7xE?vpB47{G-o8o)k5SsKNoAye)C84!W>KBQRHj0bi?MUIRZa9ILH0RBXMVT9b zb8~?)<3%P?&oV9cfQRHt2U09%AWjpGyr4Ay#l>5aF=XF{DRP-$Xk)P36B=Q>3kIGm zxWm^R2$6>jDE#;os$wbLJmgb$mfK3Tx#Ngl4B@AYcc`9vYpqHQ#x<3>E4_zYmK8ai zzK*QY4gQ*IrE3IjC@#Ab$2;bR9C(WYf4$}^SwF_YyBkt*(+k$WfU~q!f0Np_?yi1H zF3zK9Aex`g#u0i`iEcR*+DB5u0ZUoMJoXttrN-Xd`V2W!d~uol`U3`?8Q63S*)&z@ zQ+&_?v(g#6?TA;?x`|N*b|z`bv_5;W4z^X##i1^*63ZROJUAit$Fh{c7|-MMbQI6F z#)bt)_14{(PMpJ(9tqX#x8|+*Q;)xiJfIK5K>-3}CJq`AQxPgEmI9d^_VxCypV_zH z_f+z7D`ZT;(hNSD9GDmyCSICunaoD--jG7`Tp{Eh1g}Qe7f!5Ed`q61x1(wBTq5O8 zj4c_?{i(ClBD*po91e_>fzD05r9@4croECd9RN!%SG5bc?1({rX-yRSqxDHQ_j8q( zZ$mXhI_F~Os^d2f-H3ZS ztNPjr7v&W}x*LYpW4!7whYlR(j{?P9p0SR)mq*UmFW^O*&jYlUmD>49osHpKb*-mL zMGmd0E3|6fkC@3+T=IiB?n)CAq`|XZ&DrBc+OQ*c=i1JpoP72G59P_YE_Q=T-7+%J zs5hF6m9-VwgO%8;x{A?r=)XsUr-9cSOVkT7%o0A;V`x{-Z+3X`J%B|EBR;>Y;u$=!XfF2 ztKBga;S{$asWO+4Y`9J^b-ZwFMF-PDE3Tt1DQ9F1x-OY|(|Mq7Ujo^vQq^{U!dRCN zSI>8O4=Vjjh}S@_MODe!7lFqYC)xu<*Qc)$vC4g2CCmHDHC3q!%xp% zBm#NLeXJs_V~6|A>!R;`Dv8r#WNfts-z-Yu5q`>~MYchuhcmjAn@fFXM90f=FIGrJ z6`A?GA=wnKQa8yvdrDuW1dP%FgALX6pUK%FPHUk_*gx3%j`3LS^Ex$YElxmdSwN9d z0iI)aQv0v1x@N3hn~=8?!b|^^ZZ=iC;*qZvem9|gIigrL z*xK`K%$2=_*XTqadV0^&E5?4jKNjZxPcB+q`u+82XzO%pTs;m_kN8NYaPP7d63}Ze1_(exT&VWV$}`zLU)1W9}|X2iSn+cjSO-Xf_>ff=2&UFmDsc<&OrK+R={`D++#- z4UKC{0if->NlE9~nT;z)s~2!%{fZju^LrLThO)MiFCr^cU3>E>b#+YQYWO!e=xmL= zJwjXdEE$<~wn`!3zHD0PMsJ6<3(7s;!sMnkOdh14NO?X9=tRh$>ZI6_&&Xbw8qb4E z)JM{lq-pnR7PD73#vK3(%3vX7X>OrCpXFQ*7<{)dAJgwWCOT4R*=oFE8OY$`_G zb!DM(-Z}(l(vgvfJD5E_koBnLSjTgJKTrNrdd;CO8<{PyPuF-xEB0^anbIV#oTo{~ z^WR%xF!Na2tH$AkM&)C({i6}_XX6%X8pSSm>CH8rX2C6egz?!MMOq_g20tBFr*Lp&V)BYEu;MXu5TzaWclFvyZ7;F|FBT$6VBK4u{?aar3@IJ|DkR!0`4WU<&XrNh|A z!ueHVMQM{_o}%5;G&4^k(I~4&J}Q$OE24|{-fw0?awYi`LYK{Gdlcl`B?-bthY|s@Fa{@UmUKt z=F8>HV9^8KM_^^|%J}P)78M@h$Xk5=crin94ld($9FeaVe`F%s4ad3-o0U&%hwr>b zx3bM~YOZNIUCtm$5Q+-OcQOy;}QXiqQpO5EgFHq(C}NQqsR zJbSEJITOF({^2Ma+B|Q57R@})=KPi~IAE+gpqWWkcolaca!e3IEEs#OcPfj9#)ambly#1Tgyq^~_Adbns z(Z(JUKrAbSkBCI}(;(=*r|mjbz0DLBFCL6ezdeXFn<)8l%tvthkE&P*E*ct|&V6@p(H^Jm zFT4XhruX7mk-))i3%@NW^)}dqw4#1!z&`(4j@M{FoUHeHRmd1(Xz!vwPY|k9G(?~f zML`NZ`*D?98%iE1P*>;Q2sM-Po!iO7lR<_;*!CO7z3q;6qqKdA^(DxsHSJ%G zesZMe`Q5*}BB&=k@F_x4rC&*Dso~ez0jU}o9M?Xm*LYl3;oDMZ{ENUd)@Rj2i~9QI*3kOCXlvMaV3?E&6{ooM(!<*76$LPP6XAPx zEoa<#Ps*KTAaoo__64urx$E<@Iz-mc*3&|Y-bf1?5T9gMrGFXv!NAt%IMw#s!X1Ms zfsdQmC^51Sh>D5MWw^#i1C>_}$+9o*>p?4jWQ&vLE#s^=IT4FH+{YuvgG~$b$_mQD zBfH1P^`F@5ptQAy8U^XxQoty8=L=x~G{|L8I#9v6vm%6p$zp!B5-}kW2$YL~M+t+* zk9fQ84}-6{I-)~C3k(RFvyag?(_oUag~r(}Qn2uounCXE{L&JKdriQ!(~1*MCL?T9 z4ZmF~omGVb$C)6}j4QVj?%Z@_PF3uKF!UbIul+3`1{Sm<{Vy7Yo~GH<@+*+b<;k&g z?aAKL!}a2HW3$_qM$90RX9B{22vhxv7_kwHL{d=y(*4I)*ObIL&1 z{hX)vQe@Fw>E+_$&CSiWI3coh7*QodYS4TeFT15wbP zQA@6M+V(!Z(1|pRC$c9iQF>br(2llL^Lnuh=i?Sx(8g8w3Ov1CqCk}bXM0b9B1RU1 zUWtEVp^Y|4xD!97wM!*_>@VUalyJ-z@;*HM%c>9tJL-!^*uUaLitB((nJEsQkWWBN$X9cM2_>?y}?tkjMPMJddC`U zI=X-|8u6(>0;P0RAa_8^Pyr*zMl^z{TxdEW6BrjzcH2>UBP+WC!jRfknS?Bl$fGa^ErkE3Zl{z4Mb&ebbtNr5CSCLq^g^kBR+g$pmc zWQsauqyTC1ESs^rFR&R?Pf24I?a)Z*8-f&$f|*ES4^3TMkJlGnd8QYq2DgyXGeeDp5C3NjZr|R0=SbbXRy;779?Bwaq_klh_P~Ydi z(uEb)|2WH{&6=VpJ-kd?48@3JZ_V+RP}l~|N}i~`*-i*f(HebWC!%k3WzF2KW8&OV zwdQzB$ZLbdm$KwD6Q_M0=#7)fMxJ6>4t|Ph&%&OSCa72O!m1v9uO36CPgEf))32Lu zno=E31$)Jj3<>G4%vk28k_0I%MpN=sqH-$)4ieGTJQyV|DZQ%_M-RQ1Y^CE1;?!Q+ z%c*{T@kA!C6y)^;;&fIg5XUi)lujlDPyXHS`ae2f=^=wKQphD+w{7n0-?4o&iEKVf zCl7eppH}8TJ<}DNkc&kRUGU^)P2KL9O2@$pErVo~Ly>Svxl}sTnzqceTxJ>{3F%q4 zlP6Je(}I{Fw;NpAs|-u0Daaj7q%t^aMvl7uTzVoU^pFU=(--INO>i_HN3SOLPBA9& zDSbK3+^;;8;JxM2zgSqDT^g)5i+@gCEpYV_> zlOdf}`);m9a&s+QVeZ@<=Y&K`NPF9JrPIWk6q14AcKkP2V8Qzy{XkX`pOE%iWdj}V z(VN{1>LOq7PUf&sXd^LQIb?_#Bhm12oLBgc{9TRYaSR)e%Avdc9G%+7`jAY@DvEEQ zt-EV5FPp+&%tvl~5z`W>n%9HB10G*@k!*yMiF7oP5ejK2h4ql@KxE_z&_|wP5^BA) zl%BjKX>p=Bk1}{AVW^8nvjb$hoBl_qRuw+vSm4WVuy80Wq|)5Q!o+4W*_Sj8`+&x)+CQm>Tk8VHvgR z*2N<=3FhiyIeN8sKYA!u#TCZOSlA{tiv>KsAJ0EraC4iQ~Zy4n1!pyZ$0%4m;a1~r|Xysc(9&X zKlzh-=8iImH!>UHy5H24!6zD-w?_WW@~yL*Er4tpS|-UBQ(hOu?>fs!r@bgz_HEv^ zbu+xB-gyr6xELRN3hc;F7c(w@`@M@<3%4@NzgrNLvynTSU_Z-zx=y)9i|T>=eX@Q& zbHH5K6YsY^w2bt`FU%dv+;C2l9Ys$_u zE1F2}ziE|%_lo;UXK$0aQu2HT?Ws;;Mkkx*GeL7zehLWu$c9aBWTKIunBUVv1m$z) z3S|`nURcONS**3mU^v+}F~{!oQnop9h=v4&~TbuqlFj%g+j7m<$fXk_N)cNXp1 zN{!$=x!XwpYE%nyRKgb>STKE|^|72duXnGKi&Q&yiCl)(r}ftrPk|g`7jFcni8(j& zkmVCI_p{p)Oih5P0y(m(nOR)at1#M(vTO9!N$#r;SpVrZ`s!r#)#?&`B~M(CePjiu zU!M0+c60uYW!hlZM(0An&g+Et&S#dx+N;gA@WOm%8L$n^g6z#V)WV|Q%&UM)8<-8` z`piY}&+{wF;mHQ38=hQfvcrKcXBk{`ZiSVmZE0khD|23*4{rL5xdDFM$kfaCP5!MB zt(KOrO0K7JJ*E%pn;388x0V|gopMPDRO_df+B@3eO?Ku1K=FA3BJ-F!sHpb~_rpaE%mrG%F4OgEZs(vpVWAsQ zT-e{g6E3%!T=4fl*eV%C*h=;ECoKP3X!P_P>}eQX#w;tRGf;kb@ej87@SbJJY1(O@ zwETc}+B?l~m!+c8V)WWv?KQ^C32^T+bfjs=J#Kks{+;i#xT^BE>KUDPI&|J=Ek8an zomX$+FrCqXr@8~bV0nagAgAxZ;t5To59e?nzFK*UoAe=+ydg7-B!ieq$XjIPrGH?1obJQq9j9DyPG62BbrTRnVscy(L_eLC zAC8K`aPp9xgE(rDXqsEkrSPdB3W+cY)k1zo5Axv&{3Z(V*E=^ta=o*ATG8{Ho15W^^PKPY7Kos>X*P{d!@MM@ zyJmrNVAp=a&Xil)+q>X+u`Ky@-p>H1wJB(xf`^}pLkroo^09hz-cXMudVUu%-UD=m$ode#v z$+@C=RL&WcPd|CD!CXXEFug1^*ZCYU&&w>cgp&z)&-qU8VTZCjnFx|=y0JgJ?h7{e zyZv-ee<&ly$l?+u+N1odZm<|3!a{S72x(D}Qptp*E$~N@%tznsU+jTAWD)-#a}9wa!3c0 z6)lJ>DfmbPzwi-w^&;oO4Dz`Y8)-9OpuKg=?smGpga(EA|FIimGY2B%YwS3gyG-{RHHONvfzX{TWP)T}E%$>|O37r)X!a7`zI|54im_*N&P z4*`GpT_(*%JDFqb1RlLsT!42R!4m6r>Hh|GlW)SF@vtCa+aqzI;Jrl}lJ zo8-6DA}xe#@;y<@EX40?l;=#Xg5CvqZR>W}-EKD~x~SKAzR3=^_c}M?KR@bqZYWpY z5Hz1}FSQ-XZihu*v(;bWX(n5T>~_1h?Za;OA`bG=g#XG+VyvBhcF@mG`q|}|@tJ_2 z^7SAe^C5^FAawLwm`EvTH(ILl=@SdGe49OAJsfuBB$Z4ue?HPasxvcoduan>Ljz++ z2HD}RO-?^@LR`r-cRB2IiKU0r&0sq0`IDQu-CUSkH8(`UA6m(@ZnRHhKkU;O54&bL zVCgDmEmkPJifJHZJGVI7%*cnaEzWiZc{7ACGNwa+eD%RC&c)^U3ZKDGwm3bNl)0$0 zSaE2)z{xexUbE}HA)RUPVDY89oojo>YW)cn6d#GJc*`1Oupuyp zz)T}BKev3LHeX=q*zt)jX1*aSI$445_Auw3j2_kb*vb@@I;DA{Y=`CJHAmOOC#GNR zt5=@cJqO?0%CL_16V_3mGXJj=)&*^zNvYfUHhImRTqo;>Tg#c9@LW}GZB}Ag2)$-0 z2Vr0J{2J{Lk204B|9FGB3D&xp<=W2tb=mBEJ3Q*b($p>b9pq7U!3jCo!JuP#_m?pL z=SOVSaG>U985aQqP;w9hbS#Rj}hC z=K}cR$E`Mby{4s+VcklIF~1sA%&$9jqYRa=ZDc&P^el}^iTr?fTCL6Sq)<^C`Kjqo zbB}c(ZbKtL_yYHBLx;UY&+jWiA_Men1rw(o@ z$07SKs%q;_apUW9M;T9O!+&J@&&pHY@W6>}Wu@*&hpuVgF@5DIn)dQiOAv|(IF%lBH`Sq{aJ*Kae ztXW<0mXA|kxjRjF&$@DdU217PRrUH+#}|j;ffd$8ZKGl`5tT^LukaX|zgHsglGvp5 zK+}jI#-sE+eln9zWztF{=yLe`3Tv?7O3cZBt+ZB~53f6z6l2N6dQOPNlil2i7)^yb zgB`)Pz=~EWgwk$xfg@`iqCi9D$xNjS7qJ+PKFLLdp=2^Gq1>iOI0-2gO_T75 zIZ2WD%O*&5rKCd?LWx|USy3SI^in91UeSHIH-_VhLjf;6-g>PlkSLU73Hw@P=Cvav z3S%^UtsHyrTFSp`vwyj{@i51^!$K@}Z8UypMY}J!?ApY^Xe7!9P=^viEI{r&N+zxy z5i>*APVl6rzNI9nZZnt8q)-*ec}lO+T3UVLK8Mu6)AA|!C|OI-;5dXEAB~1bDNn{w z%&>Qohm}xwMAV{(sEE)YzN2ao;pj*LhcJ<~q%*Ob)6sAy#*5szK;nZE&XTwqDM1X7 zl8{hN;~a8UWYhpPDqhd%u#`zhWAtn=SvrdF;^7GSp~#cR=O>#2WYfdPh}2^@aY-5^ zgwPixh0;)%WRp>cPo#@!kj(_xzj8EQ`XUe=iU(-%dK!ldh@`?RyM);6iNvBq(g=Of z5$Mpht3MxYP6cd2E``gh=GSk zIT}V9S$zmc*t4Lg1g0rXZVGBbY?#tfdzRKqjAOkH%amfoY{;5Q!Yia{*OLS}8mVxU zrx7;Wj;@7MR7oLsxCFgpX<;H0=Zl(1(D4wV)Xb@US}46N@kov~izZSC#WS&Vl#mWcnH13xB$BI^zHuZxZaPB% z)=z6C*GE1XNrG;Uh-mE`gOJ={9kZ#}H2JFy)^#QY+9|Toor4j9iy*Q^!!-D>9GsJ& zELzos{z5srQ-Cb!hBT!1N*RPYE%FC;opPv&p0CWM)5i$E^JmPwJ0D@@9S&%(l>j|* z#T1K!_)i~_Jp=Sqdk^PskwS7*)ewGDLXVI_vFKbql)Y$UH0aJX*U9enu(|~ySFr}U zX3IHGs|P>Ta(oVW(|*eW_`rV464*XyITv=Xv@}7@fTbF~SyNjNpC7a|g6Eqxb&$H$ z>VW!z>dNdT->QPYZ?@OQNU;ODtr?zcQJmU+18svrVx3Z6AGrvCM9Yz@r7ej&G$?K~O}8R=-Q(EB6C~*UXp$Ev z^mi1fx)&nc(^rW4A}TzqZ{5WDx^oeM6bUcNEWi(cVW~Ro9ufuNYFcoF1ez7eHz6`Y zp9~A=ejHC-$QF<|ADg;54!8Qm4G%nLVGie$cWX0V$5TkI3~l(9-wv|74xtqrldWD@ zd02a?$mMiult;){%qNA!K;Di&d?;h)7!B&1pE!DWSaHcTXDUdQ+KaE1SU@=@%%Y0< z9P^bXkgH&7XMXJpl167yyW#vU$XXY&hqWiOsBvCyUvNyAQ14#IV^vVXig`;lNdHDA z<`(nw&{qhwBT?c>QS8a~U9a6CZifi$48UsO`^-Jxal%x=7w%q`<#L9=GyaIzizI>5B?`yF6e4BRUOWmsBR92FCO6# zS~&c^g4km^^uZr%)?BC7XDf|IBGR~FyvBZNJ-U@79JeKj`G}blC(@(3NY#1C$>3uB z;U4W_aO&(tz@{Rxu86=?rE5IM72k6>_jJnay3&hDtSctqr6KmQW0K>Nez-)B69{Q4 z;&QC*A^tGAua#bB!10-M5;Z4EgOvw;CHbxSGqdA&UUIp?+B3PfTW8{T5s7s=3i6KL zQ9dz(N`0e!nTg)$b6AyVVz%|do(mo}4dTiJs!~XpAD$~ZtP}YGwa7tkJ;&&t=L`l& zH(2ZU=&Dx2mIyIIwG_-1mF>-|Km26Eya?uTCR?CnrPk@|>efiR!ThqtwOe1Q+`Ig6 zWwEK-I|XUdUbZx8SoDHzL0kqGUXn6#1dW_%(*dp8?PT!FN3KMtH<6wd|MQ!gv*x5a zo%-q&7-1dVJh%t(FP3v)J6mh5lRHLlIKcc5%Y6EB`OLh@uL~@iXR53(Q5$&wm}Oa8 zK67&HAd^e#cw5gKC?B>o_-DZpHMg!7Ls~7gmwBq9acxO~Lec6FL+j`Ar!ah~3d?f} z-DsZkg^#I_KFDMY-A+RHb0#rXJ8gy#-* z>zjILFn7fd&3`yb4pC{eaypd|#!FKlP|^<0q8PO(g%~MGrK^;bP*SOFTi!!2ZYnHm zK*=_kANEh)U5!=rx_7G6Wr&AzZh7FPbyN#^1)k76Ci~~N+G@QDX}?+{u*1&0vQ=f@*m750Q3TLyU>94n#KmbOy44n4M^;{!MeeHnr$AR(pl6I}n|b8~mhNT_ z!+Xic(#x3G6m$FV!OJj#cMo$JnGT0H?!jM{z4)P&tU%-#*AR z9LF3B{Cp5gE}Hv*%P&XTWC8+yh2IKi0pO;~nJRcgh`EZ4$Kh`wOgw%Ce*EnUW+xd< z!Zsd%eUoS0Cuh(Gn}?VNGC+f&A!ax?e1h){VYz)_{P-UE=!=lv3o{J75MjDFg4`ZHx)bWNzR` zV@xx#CwIk|#+>DVr7=|0)4@!@b1|mrgc=0c8fTVLz=uoX%tE*|&bW$^96lLmT8|I4khKwuUS~zNtxh2#Tflc_;tnTPWbvhX0?IQ z21XkgZD6#4(IqhY-zy)T%NV`fm}EBK*??yQp3hQvzQ_5=*LRv@dU)Nz zjuhpeydsYS>10wnbSI5;2DF2OM@eCjo@Igb2J5h491P=N7ze{RoNdP8{>s11W#7FE zuD*>~WjOE#MjIGyVDwpv(Z>9W0nY|J8}Mwv^PGg|+bZue;Mss@1D*|dK7-(SzUefE zKx_c90mRE9cU1l|bi#pnqSlcX;;BefRD-fP3}`l> z*??vPnx}?l23~u+b$Q;)P1y&}WwNiG6Fki@`mc9e%8w70pLN{3=LEp=n(S{aHyO}u zK=Yi0=H>9pD6?6{=a-|*>N5eKy-;(%WqI~?cAkpGjLGE*%rP_uMB`sW;4v$kb$J@$ zhR3WMj}@BXb9Y)RVc$l3+3StT76eiVUXEO0-fXIe>xq9{2+2>HAZxXHBahm@aKVYd zSL?{t(Gqbm<(>$4AAFFL)Ec5n81+kCUH+kjXDVrPO_+x?bK4f3*2vtNfNA7koX zcZ3VT8y-X9F>R?LD3^Vg&y{^?!AZxeO5)Hd(c++GRdoYAnz7rV_v6;ea$Rh>iqc8o z&#zkQVCz-(d3N<85J$Gl{dO6)9=CtefGq>I4A?SYYdYAf)go!CciPMi@cQ$Xxes33 z;UoK*%M9=`z{>zH1H3fw`mFtT26!3ZWq_9fUV89q$$^)0^P74l-CP5(2kgIn{Q)fY zbDI_3vWL0WK(W&T#jFO3oed}kcYcj&nF}Cw#QwhqNEskyfRq7JMIcp^?`jD#`1h|d z=gbAv`XBq-HyFjn{mFfXYgOYMj2fw7Sh@qkS7a zC_wrd3kQ#0Y1sm=K3Zb~--Xs1XdbgT;CEw|^PoM33K_b=>V!WDmKOLZhZ_B_AJkZ( zc^KRF`Iu!DycV-~p*3z97 zj|od^OxZ1MlSVjkgU>sV|;ul z!gGiG+(b7Qj;FjzH$(+#;LxC-)BT(n^vM+Rptt#eQpSKncu-#$`BPB$mFwnA_;t$5_dSIp*SZdxETIbh?nmU;sL=RN|$FJ5Ds46HjzSm&zX6tH_P zP*Y#$4!9L1mY@1c0AJZc&aFXTUeHn`nt)9YSzTJx**Oe@+2=PeCkW`2U2jtNv}3w3 zvQxm|F9J0R3=$3&!XQFpJzQifx1UTHe9HdE^(PqyyG#bk87OxuQEs&v_3rfrI!KqZ z3k^U!^?>$y$NM%IfMx*NnFVO@wsAYtpw2Ol@=^%bbRVQF zf%o5Nae1`4!@L9kFq6UPX*%11Y{bxPL1fki! zoh}1A4eXqQ*a?qRvke+f!e6S{YWQU}TSmbVUaV$4Ipm`+zdg!0^59Q>x^Qk_;9SAK z|K5D=X$X52O6BCsQGRN_@wfp`KIrq$n`>H&PWBj>XJDRzd1nsh!S;>zn$rm0Zm~bS z)_^wy-VAt~qwr=6dSv%0d&>^@JT576QZg>2N27@msQ-|)k>XyhfS973Snr`BVF}co zWAePdU^oR9v3^eOJSnKVqe=m!H`zaG0FnVn1|S)LbSePJDFvleESmOu{2m_+ax5#u z(EIJLbssMbRS+0*oLU63`MLB&N-%K9z##*NPACpl=!&BS+&N*bou^Pvi9$Fkk)+TP z!>&V+YBhO@LRKmYi7dq5@175L9<(o(&nf@EgSx>P2d_4mYT>`f?PU<-*a~!#+!0~O zt!~tmfs2wXmr2S%^$y3o*PT?LiZn%sInPC#`}($S>J446dDkUdxA*pM4(;sizYrE$ zkafh|uDhWbFzB3cEEl@$QHZUTH@o0ii3ksW|VGyzZ z-*#B*;JiWRVgn!zfHVNo0LUCb!i_$bErP?p*gt+=NjS{Dw{NG_;g|^&AL!eq1IBD@ z=iYo!T#weu)?qVl)XP&(pWE8rW!Hqk)Zc1skF26NNV(9}hNW z-@`8_xS0JG-&nNKj>2QPg8(9zZS42fU5RKD4fEW`4hF&`jmB+VfC!1Oc@aq>kt9+EiE#OUWbY80{Z#*=?1O!mo{^~C zG~_an+d%F!54pot7s=4k-Mxb}GrL7tyq-twb?foMjlc8LC8X}|-hvbt@=~uj;)XxH zYH@XYJp{qs8lsdYu}S}0pFbNGYATfU*~7vXSo>OerS{-i!K;0*9q!yWL){cDCV!g} z!vixlg`D1Y6JT~zvvN4kicw0@VH#ixiD~D!r)}KK709KfrN{Yb!Y>L^T8xI_*JBLp z7ThzHoV|2-iN=-dhZmE&XCD~u*PfY27H8cf3uFt}sI!1dEe70u1l%EVg=IP1{aU%p zk=wpWI%P@r$UOUeEpa~2rnZd3pB-;r(wdRP)}d&kH8qhQO(r^t9o)%_lE8^VJb93h zNx}4?G&dZL3HWAHGBqJaM@G|}cax9nXlq03h@UIy=Nj_a-bO#$>1PMBl}{uS*vJ^S zEgcCWiQWvBBTC)eMSNV4xPCF2Npb70BtL>_@?%3-%@RZ*UGK*{+TW&R454HXpO%sd zZe94war$jTW+;Mxvx6 zhcak5qiGJ|rxhhCo{U6?Cy)$2$|O)vx%8;Or3EoAamiu&@noMD1Mv)#iZ#)`{aYF)^k%Zw) zjBpy$a(lM+U$|p;Ki9i`AGfD>*RI~}{rlEpTI@G`D;yMLO6V}eqDUB)ple+`Vh(j=s%7 zj_VUhrHF)0!`flmImo|=kmjQ(n54=3urnpBSS-Sg@&}33h6S|D5sv4=D6BL07}DTl z$;1e4Ag0Z6aIK=$er{YOzEwI|+?SX;*PDKBYa$%&51rz(2yAJ*1zIh*80bEXqNy2#?cVRq^ zJ=jl*8mIk$0u>j6T(_50;ga6Gzw?PC6#Sj&b`OimI2Q^HX9xg>LY(5+(v#TuG(k7W zI~>YmA|>i~)GpdyN6r~mzDX0>*K{;4I2?|&I3XJkT3kkq#iBz&QMf9D#z8F-pQ5^9 zZ{rtHKvhKLaR`UPLMqK|rAao6Vp1%kqsy;lD@f8&P=;DNQL8+5^a!zw%1^r6Rr!uR zEzoADt;-B4KDNddK9vrUkaV=j7>`^VP4N-ZM(u}MgKg>qEpsfDNuz=ymp0*;XE$O( z=;F=$i2YQG38==!jcLvohN1|^J@nM5LmoWQZV0KVLd5)dmE%)>F7L5o!ckS#<5i+S zDiM;6LMS4{P^^jEs_zrY5Kmy@4(2xlPl=B*sE0w(l8Wnadn&OgZ3OFg1LGKgw903S1ndFzWgo=|wX%mjf)y7JA^%W=eMz1eH^gY)S zvNIb~>s==D7fvS9(L_ejmm$|3{TFu+@pxBt7UaPs3d4|N5#+i%|9u`u3#yTqP>5-y z3LC+fZiR1}l4$b^=<5YR{S)~pTBBVkU8q7-fw5#_1ajq2JE~Mn;##C2iSS5&>w9hc z#%{z-f%EJVcywbtBrPfeKQtr?2cwEf36BclF>3EcVOS7_M3^`h83b{ZA{{Ye86CNb z=kd6J3AFDO$-?fIh~@LTu{MS5nO>~ratF@GG}w*|+Bt3wdUXln3%27&ch}19_7z;9 zZADw#AU80aPQ`f%U6wr8Z?IIIX=l>zn6U>n7}o!JNnSsvm52bGKp!XK(=>{@&+b9D zuPARsZZi3YAPF(xUboUnQk@c6G&WIP#_l1YSs+Oi^rsQNAu&0Ij#a)4HgkPEx*u&T zxl8y7;!v;R+E#aWt?2G-Qv{H*>p` z=frs$PR3%%apFB_LAYh3mOwH?dH^h_cpmZmnm2P~FdGvvrD9$PeZ}#k-ARiezsSTR zdj0sCv?z~?g2Mx{+>yZ^QSV@UjQr!J-w}sX^jArtLD^{G{aj0gYZ>BN_Hiv2cDG#8 z-O|UkTVOthf277nFwEQCCG{dr+q*Qz*%hFieIpYOlDbRMdiWbgn~t%MX*GpZ2oI zypnpH@b1g+JguWjbkMXdnFa)lxl)2N)3!a2oJh^8B1w8gIwU6f@F;h!{JSgI7Fdlx zBphIq(Hb91jq)V8NZikjrc(G-zZei-xq8gc9neuL{TGj>kbC4)h@mtm#|1GJ_H$C_ z8XN^mXwAYp5}RU4Nipl)T>FaE?WP1!gsKf#N?- z_R34Wn%YUxGbF$LS~D=+(Umr(%_e24WM5xnt!67}4GQEX&oxZ;?Yd+wW|C+4(0xN6 zFfIkB@0n@-rtg{3m`M{HT`|*H9Xg;b_7IcmY=$>3XrW-Vxr{0GJ2z>NYgtLvDuI1U zqi4VmCDkCeyocOHa3Dbxg}TSOUQp-!l&RK{BsYp(V&i}Dq?C?LaD<=S&;%FeV=+<%C1*e>$WO=G zbn=$01##(dfgh8&bdu7F^J8>onM-EUDKdM_OHneTpF}b|HD6=`14o!awRZA+jv!)v zLS%wRH~Aw!m8X43Djasi(TOBBEvH(9p?MV~{11@12pv&;B#Gf}<>m*OL4*FIrV$u& zPeUnpW13P?xw&$ka}q=*|F8wQIl$mfGNI^IQev6u2y(ASpJ40G%{hruOqe!(rk1MC zaFL8;Z6=-}t2$}H>l~9OK zS?&+EcK2)u1qPQd_4qX15@NBCAcgsq;N``U+;pdoXpjbi(Y+>rqJVA+ai2y?Olm4G z-Kt^4R5|yL+FMUJwJ9 zn;OlHunOy6NSzM$WkFAS^$&gAditzjkYB{DLV|jSuRBk;^LFjfx+*@G=o#>HgUdao z!+jNqx}vZl>eBSkwTK}3@RsmP^W~k?K}e*<2~xP8Oo`dB85~(M!9z(E8wNvSr zyxhg*$?PoltK}~C(xUQIhmb9iA)m6+K^mrMjaMz-h*0G2=O`RK4|Gx>%YL4?DvxlC zr4XKZR$O&o2_ot=YKDyZq(MFsQ5)i$g0!-jqO8+#nie3-N;aVod*wx=U^FqD^rAPw zd0Ql3H#dX@(27SRT!5}Nq(~~azi2q=E8U!2ds3-UN#13nJ|exDN`}XTv^?>3_=O`UwGB$P9wmRFMNnVU$uXH|vAAmdpo_FqTYL4dv{fjig1if))Y>D! z&P283JT_&PIvy>lXUa+&9rlOFh5#uY()J%Ha#QSz6^vZv1xc0EPC3yfQ96%WY65{Q z6Y983mhQblrWV&C-sw^s3NHF6+6#G zYFbda5=)FzH;TwV;U877srg7%vWT3**H&b$Vs@2Dauo@1Oo{FCm*~bqKqO@=s1Q;u ziu$rByE-90Oee(ME&Bp3@jwgdQ~D;BM0cIODm1x1-TZa&7^J88ndp5T?qXrh>518$Wwn1O4S`y6#PPWyp=(Yqdbvnx6qtSHUJ!h~)K zzpyGET}$cc9&y3DCD%DV&W&{~F%qK`bfB4Yy~!xZJK!O^aD_-9ng}Q&uIZAlj5`9r zm8ZMJNMA{NAT4v8HZ~GPZ5VB0H`I69k|=%;3}<37vXN5TEUF)!!(|{#4ld82p?Im+~@ZB3f=7D+UF`>VAHn{W)SgH`$|sl zQ}{rKn9BYnuX{9|PIb4o4yRKAWtB5RK`@vUM_LOB$jl~lG^+Ef3fo95ImE{l0Hsf~ z{X@z`*%119r24r6^(Dz)-HuZ2*@fki<|q`ElHGX|Dattv)C;;9*iH9RC&)HSS?Cf0 zvfWfCa709ui6pm7IHaz2hgzgipHc`mU!z{=T_w@e<YB>lZU6Fn0*O zk}-vhLNrK3%)4^Miq4fKF@|1OOtO^*kRi-IRy-ESq=R(JsF!9fYIu-372YXZTJ&BK zM2a>VGxB(sOWUVS)F@l{g8lpm=#!N{!A=6DH12Su-;L)_DMUn}RGJ%@gX0w*NG9xLQ-noL&*z`QffN7b{Y>L%yZ0&N|Ewsv<3s;a+T zVo|ENu)HNJbi7s2ahD=hdL^mUTS7_!<|1KGG)8w!KylL1laGcsB@@HZ5pN7}G1jBL zIe+uU-4~SN+00qDZr`#)5lCe)m!|-VS3*WXsxzW`WzhuPeMFzR-R`aUGs?%JS1Wtk z(U!(C5qaK1RCnvDZB*CbODbE=`zhkhF&z6SI@N*2Xs20%$cAVlL=GcP#FH5*HjzJ9 zr9ax@FD9k=PSeTjbOqB5WXD*do`FH_6rk*k7awKOCy)l*G6&s*c|>HVLYG~iDHzU( zA_7@RPL-EYIVwL@P9i-aB~4zw+~`3*79>ldem7oN71!xwn`nLNNY*B0#|hoKRx3$EDDw%xU#?S#PPtR2b@upzi@ zKl?tg?q^%IXAeNzFv}3KEc6esLz9mlVE++_+-bUd{KS@B)y(O4yTgqGY$N<~Kf9np zK8Vl`rUAA~PJh(_c4g^$-DkRe?$v8!0PcUz!b08K*!M&pH+}SYYgkvQ7&@})1Onf; z)x-K>wgRr%&oU>s^4~H)e!L<#Q{@jgbA4pNM?Q9qM*C{A0c?CUio-4Wkh(|WG=uIV zN4e4cl?TjuaM{cah-AVinaJNNtQ7CzlqDj1)JNGcJJ204wZra4OFgt-j%`66?rd`B zZ52JC{CwJU59Q~>6>!z1R{P}SW$Y!ElP4E%xtTp&)IOMh3l?$=E%})f?*6KcoBU#w z?c#Ke`l0DvhhTwdW+p3kuy7`|?5C!8j2E^HzJH#*a&pHW_A&G6-n_fa&t6*qGH}1svM&3huhvWs?Pk}R&VYtLfz0jJy z`G(rbWp8G`Y1J|2gXZ6*&lbk~(`I)2;rAjN%*K9MF&UHC*UU%3s(Z_x63-S^y|=6} ze=C!eO5xZ!O}6X6D>vKQ;h{gS9|bw6YQO5 zuY_;>28-SyvbEqz+AH9q3|r&VFUFT#>sHHvKh)MPBDJ@}JI=3Yfkp4NI$->Eiwln2 zXsLh;$L!}UBYSU^!GIhGB}|8WG|mLsYbx*jA;+O1b32Mm^_A>G`1nC&^s}2Q7QzMh zS!~(9N-M10Qn3aeo^Psz?c?l&S?R6VX`i+&nPd*JHMSBWxXcQFc-%4{E(+VK;d39e z)qCY_9KS>WN<_!xeG(fwGsNQ4 z)=wH@ae~AGP%K_x^Nw$5yWC*K672db%uG3aD9!et5wi2qvd1Jtc21z|z!mSt(&x6M z44Eq4y*fOg}o6f_E*=#nm4lXD!L{UP*>OB#v75tPv6KgHti9i1Mhny`>HB% z`f_1N*q?giAAI?`78KK8QNh^omAH%*#3fJt+$_EBMWcf;Bcic@+I`wArYvKz~27$x|kz&5~-_Ob)e zwU7PINtN)m@a>z~m4#y73~LUs3mfw$9*=R}(bNo|J-{x7s|VP1fO>EkE*wOG^@mvd zd>I69ggs~S7Xtf|Ij47kdiPDZ^-A_VlYudIjrF)R zF!O?~3Tl#UIeg>}mODK(@L?1D&jkAnJT-w?|MP0r3t#$MH49r?Dr^v(Ut2cWbPby@ z*A{JmgLhnOZiFvg$Ih?R?NH0c|LTG|BI5_ToMmv$xfQm_)z`BxnocVPf3D)lvPsmhDfC_(QRY^z~UKl|TjqT<7C51?KcI&SFr8KUE#s{G^FvFrHnVApPTTcx&P z!Oy|HyV*tal&v1}rUQ7hIB#h-+*l1yyxCl~TzQw=?@i3nCQE zP|W1IF*3p@aAi~9Wk34sCb)vPIkFG`#!B$3sw$rfy!96Q;$s7`!}4-+|Bmx_baQn1 znXY&bWnyDmROZ~CO>$lWl@)av(zF}^j6ie0*E@ky#pia+tHD2d zxB>MX30?LMsJ|jnk!&^bhUhMoP>7ri$}ipR8-%N_vbl7i`p;*os>{g!RUeE<*sTc0 zUGThwTK^Qj*`BxHKHv_J-OdF^AM=jh zDh8++pkjc^6ZSVB2dMlJzPzE@4to!pYw8Oxr!bJlK$??{H1%YFq?~ZUaZ-jH#)Q64 zSXmwBEWe_n%&A0yDg`}Gl3&|*w&!8CcZn_v41KBOo*tAMwQXz@iLmZE8?T2bwX4Y^ zpT+5+=i2fjIvVJ8tmyS8+Z|UL=w+bSaiNzATz(6DDZxH?x}z6-{c#k%5&(7A6WE6Y zieT{*Y?A>x#|k?CvSkg>F+j%vos$DPfS@yK@<8HRwsG=3*Ra1g832?IK<~AGI${8j z0YD`I=)3T}53|e8Y-l+b>`$;YPI|eYD2L{R+s)P{xcI_~@~)l%Pk>y%k-ugwpH zb!)}^?4O-w=S-j70J9STX5X}bcosg_s(diZyYxDD<8&-Kl>e&(p6F+9HUQ56yt4xE zV9mGKCDUUXbbpKGCKnxIyG><8L4wdf!6s$~u~k+w^A6juVY>`Cn+DEqxBoIcGn|3- z+b9EwO)ImXwyuXS-&<2*fRq7JryEESs4+lk?t{{u_KzE&WPsAy14`%UK}k{}N4+|E z(7>g+flKeUf0;LM$-t#)aH&Gp6&iGkkrk{u$?iF0kP13~g3Uj3@dyx)*2BIVu~~N? zsJ4OoM)sc51f8C>KOH&>bUGI-yV=bKG8xEpwjvWCGBuff-LP?Fe2kL(Y~Fa`)?t0ynr!CsS( zW!b)+4(R=ux!Qm-1IkV{lmSB7eI^e6aTPLg?T%_6^or~X1KJE|n+3Gp?D+HLM-6S4 zzSF!IE;wjjVxXFVY6hwqsCI%-tx~&kjO+RT?7azm9L1GC{u!O4v24q>q@MACTO-Re zV~<9XZ5&&+46^YRd^RxCr7Kp+Ijp^!?l$>#j!BtRgEazP+K z0)b>hl7BYI<_?f^Apvqg7WV&MRdrAIOpgv*##ieDo<6Exy{dZe``)Xnt{S`Pd3U|x zUZl(8Xn0Td?{=O?WMApxYU9CRWZ;U@Wwm;i4*hC6c=(U1PaHgZ@X&_78HT<$mXH^v z`f74(qTWS*nyA0kM#5+ri~%5~CSV6A8yg=N4m8>)4vCd*z1 zt+jFaoWSKLTvNs6`Nl82aIamcwDUg!u5742c~E`ZUBapb*5UPoMNtLr0 zz#c-_T1I|ypma&8chpN>dPmg)a`Vg1a&kbbpM}ro3v_2|6)-ZJkrjTxu{X%lj(=UM zzsCVwdB}f601~1OpMtKV}{0r3&n zPi#Q60r8XpVja`a(2%5r56L6^j4kq9vR<|EaHjBZy@R|ZTv|K!*&mjZKaN80dqWc{s=h=8_Kea$(8kRNirr`JYE8zF6kv_{AVBSIGasIuLL$g>wB|5Wv!OU_z|6p80DklNe# z*Uu#%4%e5>9f)NVU|vp38A(lL#>%c+paW+G`M>@3>y4n=OEZx_TwcGD{OU5GR(5%P z%Vc<10-d<@_0YTkdkqT;a98_O(1ya(3kpeUtx@^d^Ad)OC?x&zU!mtbKA$1NrfS zy86alF@O v9UiS?tfo;!#B$NM%GxOvK`{qNb8Esa{gKm~5!68zKI>x*iffud;#E z*4M2j57*c23ji=ivk?`=@#rxMZJ1w9s+kd7Q592CYDS72k~8EF{nd-E(UKpaDMGR6 zLCDCi)tDNW89H)KIt2PFtAv@2(H?4I8z2i7*7>8?yil~)1oE{uK)1J7)a}jdI&%GXp>g8AA>Z0A z1ZcC9zi$_=A%}Me7w4EJkM9uHF$Rd^rRj07SZ^ct7nPMrCYDyAQXSrz6U?$XLx2CZ69U*}#DU;-Q)5dCpE=~qUS5J>A`Kq#>- zK(2Ugb-hb_cA$-{m<5P%N|+|q(7h#0sBpk% z!V2HPpx!e4J%bB#fwy96KWpLgsMg0)tFNt&Pn^|@*p zp_5jQ{A-smr&O!cT&)kau6tpZ5URCg_vkOJxqWGIok+TO2^Hl*l)j?uk~i)aYAJi< zeY@eGDKbNT0@=>t!aw2o#Yrmtd=4MX5h`jVtyo)7C?T%sGwy$D|H6AqzfjWNl}RO1 zsx0zzO%+j1iQH=w(<#tbRqTiBsF+HM{h64Wlt;u=R!wJB61?BpOzwZBHb5Tktn4Ef z?yH~gj>-e5z(~@cq9zJFf~1rnzfRP<$Gq26E&+5jZr=pJAnpO_=iqnO!J66ybT2%} zBnNe$leF)gTT8xhux9S8mL^3@K&dXxSpiGJW7oZL;apy&u#(DVAhaawZ?0N5w%}+b znR}_Te2%HC4svUq!$WR5Qc_PIy|SueUXV9Lhqs$iAsgRR0)dTVUJY5??yMS1{jQE2 z{d#FNx%8H*1t+zrS>7%=83n+?NN~-?l`Bby*HJlk>vIdv6PuKFkvB~=rljN2NKlkR zkyKIz(?OnlxwMYF;aJHsazVedYAJ6pG*fx}qP1!zWN3CR`N!8vDv0MGM2NNjbczf2 zr?P-w7|d%0@p1y>xkL4}C31YM_TLvT<&NAINC%AOCv}mZyyRR&?kjODB!3tN(gQmx zJ$h_bVbMNy#9s>k{Oe_B9r^hC9TlW{XJrL>;L55wkdXRBg$vMPc zZax#f=uAWXOmGenG)04{&*}Rp}HFSDwnyONU^;yX2KGIsLU>h+F|Na!6v5*5-_SRTfO%Meq(woPywv{qM7NWa0IWIn0ix(?e)R z^+Lb%tzNfwtn5005&v`DygIVy z8#QI*h2i>!`Gr-+g%EXQ%f*$;7kUe8+(Q3rC%*9Py0Pcq;tcsIqy4d@lo<(gFb*?m zv3NsnsdF^Y;>Rj)SU{PdmDgw!2vl8p=S=1qjFr8xLFyFsY7Ba4Pd~Y zqK`+f!UHkVDb%^k>D}0Of3Sc&E7w<&wtvj6F7-Bg$I2EgpzYB(oXXG`5?6bKGU!#M z{ocN$H=u3LCwfWe(XzU7nvlHnXjv`!$%{^>6Y{V}SN$2>^IP1G%7!gcGMQ4vAqey1 zvd9NQG#SA*VJf%aky*}MPtQXvqm%+-M~Aoy%=LF(bk^q4kN?qGM*K%h=9YMy$#Y$0 zZd&59NlQG?)=uOrN|zvnE+N7rv&wWiaaYT6fKqRZ7lo44eXOQ_?4$60{oblFZ_sR$ zIw&!%Nm}4_8@VLutR>eiD|OScwK=(@s9s|oKdU8|9ILN%(n>(6F!uRtYsvPDbJAITexuls6#(E&X6xezW!^7M?ZII zSvje?0)YJ^`^uc;x}LdJbId|O+HuGdJK|LkgR!3LDrafMKu3|IFFWh!=em)p9`4`0dDh~qC{p_MFX zwHIrekPgWt;i?kmKtEiW>K6h3V{#@$hCW)lf_(DnIdw#BaV%J~wR`8*9#HuqIiBwD zY9-ND?xF9RHH(H+*(2hrDqTe)b81$4%-%QaY3P->OukZ8x?vut*Q}R0@k9gUXI;Y5bHn8)KkgA4$lqQrou6~;Nlmw~)XIA&7j+8@jea^ggegykGfsYm zMNQA`CM$Y`wwd#!$;W$yI`XG(p_+XB=Bk<^-ZO2$A`UW{*DExc{a^BQmrz&e?vg|= z1nqjykehpjX0z8y9>Ek7c&X&YUTCoy^hX&_(ZR9>)B`2Q_5pp(*CZd_CxoWuL6X}u#zVGXnKOLMWJ$=G?d1(Ga*PX3r1)9$zuX(Vv9D%`S!>SFdHmusPdJ19nVb|YV zY*@8n^|XW4S9*az8%J#%Ju`6he%F87I64uI+7N0(s12bugcgU;Kf0cY({4QKKAL)$eV-ry3~p81$f)?Fhk zB9BGqE_^lpVr;-y1%9!5i)r*SHKf&0woC*xCG+B-s~_H7=FG#}ciym&rm7Nc%(XH1 zbiv&B%=+lr>qDQ-nEPAk6>QFG4bH;pZ2xrH(tx@bzX`Ml+pvrxuX(|-)`rHRoZ+vR z*3ebZwx7D(523yVrX8e988 zxO6yfGJkn&Feirknm$4f6n=zUEZ4myjzz}->bI0S=Cfv*7IxPKrqe2G$nF1hmQU_e zPpRw3CwqkX3;}1Tw@iL_8PXv0dj+A9(#YGiCf_@tsI;!%Swm}AQQ(GSgRy;|{OI)7 zFP}1VrzM!?e;jCr!xA}24*mkn#Ebid)n_LVUQU|Y9UH8$?a9jDFQ1Cr`MX<$<~+G4 z%Wf6wj}M^8RksSk;=of*9xMS>x4;EjCV6+AWA+T70a0%i0@F}*iwaMm)_HX-qOK(I zc2J1v>LVGxRakyTY1_g14kuasPv<=HKUdW|$!7(}EOOtiLK6{c9rMUn-&?bgNH2i; z+_J#YO#X2zxH#~l4nGyHG%D#*@|oq}%7dmhk3IPokF$|~iHREP!zZ&E^-pR=RNiIe z*0R!hBy(+x>Rr4DQw!CgW1}37HikT6;C&u0_`I2e#I%A z`I<%E`VmNL>(M!{M+1Motg)dbt7KaGW675Eh&q%?x*Emi70qHK6{YhbS#_X!9X@fv z3!Ej%#0G~{(Z3}iu4-*-4dTCT^xsvYxJ62)lCg*s7k8=A5M=1g0?ACfxLd*&6uV-o zDsD{Bn@}2VE@bC#gd(ZLCM=+L2-+X&Fqn}NY-c%H7M0Y1IxJ=6c5x(?6(dqo%*fFg z?i|^lRiVdJ+-j~RmBAg_Vgn;U1|DUT*xR^$ohoM%3idnRY~Qm_+%6~O4Di@RH!~G? z#UgT2k#Q?ay1l6~BuB-5B!d~YAqPF2192N}gi5zR-Jne?h^sZ)oDkI8q9!?p>CWDm zekhfe*)Ds)?{F+0$1V7>iad~w2Y~{l75DG#-LZFHuh_ZgGI4)rcX#KW-pe-7J?B#J zRz55-CMi2?0_7dn|JQo*?So%fVd5J$?NG6x9#l~JH@Wf z?%thS_U-EI7Q6O!ckS)j8WP1G8JUtH{{(F{KwBFcBr2;?EUvIRUk2U7HxnF^4&%Ov z5jlptol0~{Zt^|=8d5w3nn?EsY^nT(uNasNSC!5-0$q`*B32PtbRGQ;Je zS=;AYJ5q!a0m2DdQhutWEJx|~*wCGz3vp}!%o2~MhLv{A0oid2zboYkr~}Ap>@djG zVR=&lsg2QCW|O#)v8PIjG~B2oX?YV65yg!>*+5(xgcpd;n`lRvh=LANC2Kjvf8{8@ zIKqBe1}Laqj6!FQh;+L@xM+?;{ve2M2KSYWL}LkQP!55%hFWMI16%E)91;gZfCH_s zXXFye2D8-hIYAhl1nm{YiYKS~VQdaw+(^_OT5~B2JP1|uB#Y1W; z-6F+7m6OmjEj$DJk)qL5vPH>6XdYve0APSPBvUQvR0_ljipM63iheGnc=)VD>&9~_ zv~m{&C?(pQ?bPOJlB;!#Uy7%Pq~=vY=wek0ipX)m<)S+@hQk9{x_xk1jAMMJ>nz#o17qpB1zGxtDfiK{KUha<{u)zVUH`tbnnvKR% zqlZSI*in)HK*bXBsF(mn7=?nOgE9C`%16||1p(2=N$a{Y%C%=SdN?}D6oyjH_Q$Tu z#?+C(1*3^nKQJ|lyZ4Vu5yXtqVR%h@Go6u9j3|l)F3`#2O4Ly)5na1x8T;v5nUEr* z^fSk0?5A&KGzFCSbt)mHmljJv>h-Nh0=^*j z=1wY^zzdiSkz%8Wh{ZN)%{MzBpOVNz0t8f0{ZwXzLtq~2yO2s4>2`=m85_J4eeH0m zBeO5aE3Ngl{#ttjpoq^{vD!lr1ey?j_!A}oMTk>@uzttHsi0I8q=JViQTUMl@@Gcj zYA&dv@vUW!e6}aekYATcGvq30VaqJDWAjXsjkn-2m&-*D!9aWu12BiVsNe><3SX7w z^ZB;Rs&04q0bH>pJH7+GPbzE%K?|`nF1o=2AXFx4Vi9c$q?SPBxN9YIhXeuikUXNW z@|sx@D17uVF7!~S0c_sHWE*~23Tngg7Ho|l7g5SefRiwr5pe$Xql_piKl2p4)R>5? zy@lBz_JC~pzEJK&Bz&)vVWv1ohM66aZ!;{#1MS))-9IyO5zj_qQJxuEJ9o|*S3rYN z_Olar+9!PmO%ez&k{Red&|;rX5~M=E4vId;8a%|skjGqn<7g>@r&{J?2s^waXTduR z#@nw-nL$~_#jQ$+T?aI3aIJZ~xkl7ZLZKP-r@1A735#>yay`^PLi^Tl&dsWvJE6*o z4sWL%Er0G*mV{zHm<>OA@byA6Ja{Qb5|6`DRPb;!q2WwSm2+oR(N5gj-MzQFUEGpi zV~oPkX@Kza5Oc}BoVK?w=?j?1%SU3Wzm0R2fEpCIMj=H;srLiV^!TZOUWpu|jUt}s z0AMdBvx$Bldr)~*4BG^ViO?YU6KN=qR+#FA51nxB#VW(;cU-6r_{<#naDAvx^o6cW z#ggU*!M_88wCq6)JvmjyAHc!~wPry9JQ$d$98^16P9c3ujzV!Xp8h~6Bd6n11iU^G z45zQz7vK%c>z|*IvJ*q6Ts7Bw;*Q5ZFYo*uAR~)UxsPbR27qq}l?SkZNG5okT~CL>$7=Y?>daWp$vY<+*hs{;LHait+49 z^I>-Uq)qM4aMos{7DH%7>4(BuAHJDT0tLn7C>NfD=`x^H4?Vh}egG&(N9(@!`M&jA19A-{izRpO|5p+RR zdQ5@e*U3CPK$mWOWk7SY>R4uGS%M~|u{b6)2TQs9X3A_N-nSE51v4}$;_y%`G6a#S zA~IScYEk}@XZ+Ke%<_cNKwy$~Y!tVFZwaNzNj!fe%KA{uCRsSjX`2wl&}raG8v1Oy z*r6L-)0rrm2;y37sIgc;U87Z?{@TEpm6qn25<@>z@3g~UGIhn)QlMZOQmoEXeO_Z9 z5Bq6|$m2yHKST;EU~Y`uI4^?%1snw>F7?at+%PX!R&z$qt~uPGvO!->!qMvD933Cw zwQEiW;T~;}VREX*xG7JkG-=?$l+RRBmoWyL3EuVcAUPi}_0eHrMx!GaEf-^x=hDK{ z=@HjL)X9kRbe6T$BI#l!TNd13=$RBWeKSooFDKLmM))F3;SKd2W`mS|hUJGllv&PpjQn*<2pIE%GfL9{)XS`^u+{3>9Zro2c<=PVhGBWXsKaBvl=0XD6-6qF2vD+Z<^I4Vh`1dG%^f zo;F`D=_7*><`}k6L33p$(?@ejM!nP&a0bgVRAIuBc(2j>NFoY7almJoqx2a{@#PK6 z`3`FBOmzSUFzBeWP8;ZfFAw6b`dfpdx3hc8j;%c%7)|1e5`D;mA9c+II-n1y@Uc6? zAVpEqcm`Vs`*>5Uph@(jnUPF3Y0i#QfXS%eryuj?(<4Eg_C!I*wJ4rgmQBb>l|^Ny zPi8T7hp3I*GkiC?=Vm$1CUGhmho{g~i0W{Pu5!x_3pJwov6R5ZTxl3@W&8aZZKNH= z8nU!#w~#7e$kzilmrlO|q_c@$9#bk%6oO?Mvfv{fG$+X zogtW8Ly=p8A!Wh01Y?5h5^{7T=+PlLV=jkN4}?VKTF2EAk0LiYSZ9_#To?G z)U}4^Ibr34u}30uS`{yrN491%DMJv#V^z!84Qt@j00n`-004QW2#*!)$c2Q~kkZK7 zMAIHu9?$qv*E+-eebEdWqU)LHV2vp?4y)=zR}K1rkfrh)#;-Le1)D}gCP<0y3-!Pf z5^N zf{u|k>r54O5$NfVpz#Vlb#wR5U0Zv4_wLy$W+bXr^c+o8K0e|;L6J#Tq=tY&c5tPS z;bqbCB|4?l;R7x+a#+n|Wtx)~*0D_jPitb%xAS#2qISThwz_5lPScFjoD-unYkYK) z7{-+j+9(yB?xl--Lg-3Nz_Q9%W@DwkU|zT3S*MztC|=UZXLBYX*UZPovh|uXNq|pcy=caA~6ox940=~XLE4Yv7^}Jrb*BGl8ue@ zXjHKul4R5ETJ72ENL0MKg|9to*&t>TVsmCd#D!nb<%c(jk+j$h&K*23K8)gx&!Ql6 z2Wn-p8S>nu6yKeMzT@M(%>B`4U}+5x80Pg3hGMFmQ2YjGoURhf^U7#mc3YT1%TyS^ z<#JIX)>-lI1Y*SEp-AqJ)jEH~J;J{_Tb_Ouq6P2XMuKY&&3J~q&tj*I zi90iY1}0#kO&~XsL-4PZL^PBJB^+MU^)OG9qp^Vju{kSl^n-eaLM>Xd7FyTk%jw89 zR1HG`Z6y=?^U*Ap$wo!s60ymJ+Yp7>j98fZU*RyC>u{J`eP+8|(K&y)Z2T{u5S&%x zFWx2mzA;*VEx&h+j?ev^@Z_BFUH1#O)kfX_eknfxr?YhJ8v5p~+MD$^(>K>wIJFgP z<2T$PNG0ZkLU{#qAjxm9En7T()5F64xzUThzt19TpMyMir|@?z|H_i_*ge8~W{ux@ zzwr4o3o3iBwW1Pokgwh;_=}S2E*Zc0LBU;OMev2*i3$FGx&%LYJOnEyAow9Gg3FJe z;Ngh~&e9geMN%2^@}0uZHR5X=rTA#u-NFmGQg*V3w|qnJ(hKn$!fi#%y~XiqTJVvI zrMqzL2`-?F#1wgyt%yWsT1VSfjkc|Mb@=%=$HzE7B>rE*(uoS44~6C}h#Oz_IbrDu z^Y9tRUHLqC9nN%IQWBDQ{z+jbI)@LXvr^6{w|+xdNIv+0;H>0N#&nfQSF_8ODcjY>%$xqQfAp zF?`%VB5NKJnqH4rG;r4fbT6xc*JP`$2eIh|E^(zdbRv!}Ld^|uliKSYwcg1IjPHI( zsCQU2-iI7-n`+~^a*a3rMkAm7so*0o{#01v)Q0BCPk$=Bo>qXo{8M51_$3bs^Q~C? zxZ}or7Hb{lbS~%gV)UbqYp2ENPb*Iam$y59-)rEK0GC&gKi?soN0#0xjGlJv-s|{U z&y2GxRFOYEEV#x${59c;*8(z z7&|`3A3sjU%iuyLVEx`4C++3XLH=Ks-zPUKN>S@RBA00oxWSZ$Is((~Rc$`yLjatHSC$?;uORFZ_z`K>Yge3svI_e;^!n zkjCh2C%Ns1!mj9d9lyAQoL^Oa!FcGCLi==UOn&uiq4wm~ko5cpjLg(4^q(c)*){VO z+FL@t{RN?sbbV1+HlF>W@QQy0h?{_^Ygpg!DNPQKh$H;-)DCDfCbJ}V?=sBIUQkRNu1oupKH_S3EFufWg{4&od~^w_@8I~labW`$plcWF4-ISS3T28s{ac{}MdL8} z@GfC7x$djN8YUz!?1C=%{a1zeP)Q*mDTn42)Rru~S4dbq{_J9hoAj-zE+!A%sSxXi)kR|8y*zyJ2AOi;vheWmerH4CxoS>M24$xHdR)Uo1PFvdONmY zK^eLK388mV@hp2`*U1vkg~dN48o%KlM1exdCBdfz4;4~!@l(RZ)0Zyt=u^UqN#uqs zcpAiD8uIa$aylqYMxGMtE7+o3(t4G%mTbOP*m@d?1_9ByfJDD1{B(xID$39wGNiMvzWD)s7TV35rl!v!CN{${Qul)j`-Z?B6ttb~( zD|SPQtnw!D>ocfFj|DKKUsPv&%cfQNtA=I9SCpDT-uUbzP3b!=1@Zgk*PW0cdJKYS z-c*1rxl8Cd>%?-Nap~EKNavzP;~p2<_d9H{0{IzGAnzHjswB-{6I#e$_t%$WwQI<# z`=Fh^^o+BHRrX7Z9kX*J$+h@|!QmH4+&w?JJkdqzHLT8+a5WlXR{PmlVaNsdv@p$!PLbl{23iXrD zcTyueUP?am8R0>q+%EiOy5hZ!TzRJuXuz#DCfs9#Z2ybkafqbpF6gqW?h>}mFC2Cu zAp7ygi8ptkf8>tO3FmFf&4ycT>yUd}u)hPN@$BaWv7BAbx?2#hFp#s{#v%8fibc`4 z78^UTQU>o9*75@1d$({tzx;OY@?UogTeQ^2CW>K391C0~RHh$cP8S_&$OB&#I*$_= z2mr$^Z|}>=N>iWu+c+@6~MAy-L#c z9ieUJfP(;V5c1_82#qD8AK#rvTt5`9X_#OU3R{Ch7A&muM<1vdn<1DX%b$m~m@1Nx ztDYAcDO8ZE7X%mi*z+KNd0J2Y@I1tlQ_@V5enAk=a_w_;k~cm8U2)-6&N8ZfLjbwGZoLgb_P|dd_ROxB029)VS7%o>MTZ50yC&*J4pO)q0QE_b4kx; z^N2sU65|X}xZhP=dz=b)KG}GO5S+5sk#{)Ub+(cjl?&IRP7Uj{L#P` zYR4I&X%nfJty8apPQ}RD$Amgtv8HUo?y(iiR;<%dv4(4Mo02iLA}byi)}OJO_ScHr zUmZ=GV+_$wC^oZo&epjzTIZgvAhyn(RXSH~+^pNyxYJJKUaENatD|uqv&I>YfFW&n z3F~d;vz70hQ@&qTynV)%FMncfVZGa9YnZKJ=cb0eRPi=j!_Ha_TUvO4gy}2-@|*qj zwYKt|D&_l>^E=z~l+Ns?Fs;1ThAz5V@h+|2e$A$?TCTy6P3?|4Gjc)IZ00DWV(Y-*WK@3%VtYZ85*&Cig}X5#T!KiP3-$pTyZXF&TG3V0aE3GB9G z1A+|*GY<$iIzM#E0l{5)?w|m9bF*7GLsY(2kmHkYCtyRtSpo&0bpFSwf`ZquN#{P? zOnDT%13AwA?OPd59hS9g+@0BYy=K%#kJA`E$of^ltPK@sAynK~^YM$04=UR92?m#8 zN02Zi!_(4+R5jh+(z3oS)V6MYX#MKYYgYSkPldI!1O5xzMSov35V)XEA=~c|8m`f? zr7zUFrZ3bNU5O`#G>R%cVlFBt)!0Cc9*l>cw}?CB;L%Jwd-jSdNRJEu3FE79MrH@^ zMN)}0NS5EXQ4)tT@<4|-w4w#*wqVkTq{xbQlRvZ~u(3tj26^C~yyFgGQ=Mg*IyQ#t8QFpadEV1U*0^7DGVt#$j%$t{V~4AlHj*_S zpJYB>#`uPB-EVl3mIm>j2|@^dQfWEq&+Ghvekv0*PBR_Z#(c&T64|jdbZb`A*0tod zS5yZPK$nnT^f~=x*SN53?A~i<5oH|ot>lt2Cs`k>t|DK%qS{%dD=4Dt+Obu$*~@yZ z9_A{Oi@yYz`_XV&BSYW$*MZi(GhS9kUg&eqAN%O6G6QMt4D!~oWwYz)^Enz-c2FG= zqO(;cM34b~9Nz-D$ldk5X0T8>kr zy*lr7Mt*|3A%*F{-l-j)PfJ zlic`7NrRAUI!&`_Taf?mbFL&8{=T$)9wTdLcyi=BfNuvzOUjAxcu6%0kCau;MF9?F zWGRZY{Q>g7&j>5?tlfD9JIe9Xy9|5D&83fW2T7Cvd{n4!M#d?U@x$d5F)D#%0Y>5J znxRk#R7i@-S7jwt4v|Y95JGEA2c>KKQ&I2UqMLXxkzEf8%hwn%WterR z>`7s%!-alR<2A+}&)=WAJuhRhNMd@BReK)vFrdoFYVHUxJg0+RYOk^x7e8>@b|6j{ z2ja%6|98Bx#?9;8%SglPs^^n;RMxp1Mg0Tvqjm1VT0~Ja;ReGUAn&>Z9N4$5ch}{N zF1d5PyS}K2t>q>*Aols0O++ugfYatlZe;3O84e7PMO zVg`&K@os>s&%CK4H*auv=ByR@@do#%Jexz7Z*(s_PU`}%`Jdr1=Nu-lF<3gZBO@E# zn@=Dtd0&V7yy9?7e$e4=rYMU&zJ{VExe%`mC`kTollvMQicU8u`hU(3zA8{e{&k_d zcB;@b%P=59?pfnrPGN{_?gSDu4?E=3ozR%)I-ZdK+UyS6IAP<2HBLO}{KV;x6U)4- z%_F4xU@CYn_@pl|YNLpaA~uSgA{6<8^Ydo_ijY6=gqE8cPP~Tv>29Gm7qt6q+^})O z#*G=qjZZj#-f828jT_U)jc)StGr|fRDb5w7_>%L#&N8G}QDd6AKnwWmyM^;?=$KjP zD8toWHgufB&~cyhU8favEalsin06+~N0P;bBOcQp>sVm}hz%e%fSfRZyw!QbsREEC zWaXU@73cXLU%uSEl=&OKxZJ(iMgtoSY&3Y)(BOT}kK1Tqqrs^_gD|<}5vawFz9Q6+ zzie{X*x+!wfx}mwA2|)cp~>fmY}wI6*-<%~9X*mAO^m2R0ovb4Pf@ecSjt8Z8$E3F zIGxbrea=sBJc;P>`*rSplXw-22Hj1s3NEa3)cSnBf=|*AEE;A4ELMxdmXuXle?NcyvaSUO#kSk;#f}Gt8{HA|M#G9;Y{kf zhh$dNxyW0;1r+Hs(0YMA8!vHG6UQUMjpN^aMDUiJxkyk?p4w72e{8|gO7i;e3#}Ho z01fp6Avkm3@VCkjzRKV*-?v9r`%@`Z9Nm{5%t&A^PYqO%`wsz08ybp319>j)_St%W zHtPLPoNqbVdS9LUp2YYa$;A5Ky52q8mCHyL4?|EOjm`PyPfmH8WV8(VB_nL%v%sPmN#XB@WF zlP|1+#yvBzg}hdE`>k+;+@L~DY?QE3;;f#)5^+*Rb-jqdf+_f@Vx1}%yxLq2iLz1oHi8#eM_ z<85=V-8qx6G0y}WxK+#~Fwi`jr08)-JChENHUJS)%&R}GabiQj7sSo7b_QIH;!r9r zW5)Q17)wS{NhPMJU{Xa~84AK0OAflUt&zg;jCj|(7j+mm3SsgXpy`b(&qcbbboD4* zXF9d5K$c^J`*_8C?V>L##o{B)@z`O|_S^z?D>OS#f9o?Xf9J%==k6AkEG?2oYdV_f z)q%x7ZgAIoOd~u7een41BwtuIj3{%V^AACS?lGi>U)KI<=CQE?~ zId-7hO+5Dte)7`p>RCFFE+iN1sdkc^Uv`#}4{Zd2YIqD#vl_QYT(HUQsboDKU>wlw z*S+kl){`!G$C9Gor?obSpw`t`VD01u)|9iFyz-0?DAzY!T1de=cP~;1=l5?u=3Yd8 z{N0jzQvIM%jg7X1wC$;`r!=c@mL8SGN6ve+CP*3%)|XSj&kGVAUCKMBh%DKvWI(_XCnR6p}JjZE%NFQcSyxBdEb^LLe9CG7L?n;Mka86@`L%MH* zelD~x7csCwllV!Ig{*+Jvum% z?YOu4i?;2sZHH|;Y};}2Y)4b6XfMe>JMG6ms()nLkK?uR*6W;J6;pH~wugMbT`hNEfLFdP&9l@bwM#NXGy?C!p@3X(uO8yQseVf^+(RKfqmQf*v7{;KBtHA z5h}3h0L1?GO@P&Dga@k#n2+{ZeA_=+5gW*b4?%Zse?-_!N*@)vo$v}_Ng?6Kghk`G zKPp`0n5MBIhrb0XZ*5tYPuXe`u$s@1+a4E`)6E!>wU0pkX3X-C_dEhvcD#1x9kaiC zF4-AZ&Us;JY`bII9oz1ljdo|9V*ywg2_6l{)FD3)TgbEDgtoVB(MhpI-fB~Dc)T|0 zYt^5e(c|=H(k3l3pU`a^r&Dg6UVV#m&-b16w)wElhiyJiOY`yT>IW`3jm*aaZa$25 zgS_!afJEn(q@L`bq+HVT&AWAz=n-14qK#R9jXxR#iB)3>nJRENEveX^0a4AS z=+!1)qmPA<#+U+~l5rjTlq%vtOB2 z*p4h0vl7KjY;Xv{XgElznfAYC%>qZztbMLH|)}N`)4cYQr_ci4A zzjZGmzxu7apKN&&ZcCqnM*iuO?jdUW$d0GrSuR*U?`eRxKR*SHa^90}7rv+^OP+S` z)^BH1BS6HbLDz42+TCV@xDDc`1BlnqmbF2=2#CM;T*dEi&H9Or-!^{R_-*6&>4@Kp z$a^0L2A+RhsI!rLG9>@DjpRj;eEZXGdp^rXavRBQBtHX?{Ex1O&p)L|zCuHC%Oi*< zTgPUF<{|PQPXh5mNY_^4((&_&f&G->_p86}xec~9*xF$Gs(|gwRqtJWYES4`|FV0< zv|;oD8$oRZJxdUDs|}J?Ah{SDfUfMyt%(V0D?eDIXoZ*4#J}gNZn5#t#y=bXZ2UXT z@NYU!;xs|;A5}NaBUr+l9F&j*DcV-m`pKs7E=_kgrzbXYVBF zR}u=5=br+8OaQouW?%QTdzFoZHWJ!MXd|Hs0AWC$zX?C){Lu1KhJ;gwz9usKg5V*5 zT^}bKKQFxLV=42?(A;&GSMiT!=YmQt@HHu7li~yU<8rU~$?rF~-L_uYdUX=?>Nge7 zokYEw$Chx>^;`L?w`?V|mFyf*vUgT~vmvKs4O_Aq99xTzh}dG{a4K_1p&Ryf#?wQR z(%>R@JvVptbk(qAL?Q252Qp?W;fyHZLZ*abG!^DsafbO;oPP4TZwZTD9mOn3rckBo z%cYnii#Ur@x6+rC<)|WZZU*Agpg1HYqjB6}62+)rR;88!>~tUb?Bl?Ku7BIi`o}7m zkl>aFg|Xy73K}deWfVCaQ&M3yBSj9$8UIY^;sR{9>FMHvg?v<-ALloNN_j{5$Cer_ z-{$i@4YuB$26{*Su-3Ei)M^;H_BEcBd8$M1eU0ZrGXDu^m>Cyxl3E8<*2THTkcA2| z6WDvoKXs-F?4El-nEIY{&$p%a9F^LEzr4fI*wB(yGA;eFWJ`KP9ZDrvyBfvj70qHK z6$P8sE@st%=5_eQ1uwRw(j#o&WB-|SEr|cF62&c2GL?))q`0_CjfNm;XBMbs z+QlCA!B2tbl$6Eo8L3~+h#M7kkX~KLRt$zBsl+BE-a8aiL{Nl`lo`RTlLs=gEGnr1 zby&*C8^n=RR*XnVFs;#;qGn?KSydKeDsH~qlFC5-1aLesf{(IE=pi~~3murC6R3Ez zea}8|myA=h;&wSHXMou*^d2IRc~>kVC!x0_Mcdq4j*9&wG~YI4q=z#iZc71q3HOEA zAj&a#k7a`&uD}y9^|Wv`*-&4*t@S+?A&vixWBWzyK_(PWgA4?uRjHE z<-;zinslo~=DS;E z+1g~;tH+#Wze|_@TX03 zXXJ<+I}F@OAc*OaY4sq)I)k*jkR{ii8*mmCLZ_fOoQZ+tsHwuf1uD7T4T?LHkx)=P zzYP*e$wT16fiOdIAh9hr0OYsDQz^iK%_&5bpt!qJ6kAudwY4_4t!`}tTKjrBT`n~< z!reCp_D2%&Oga*ZK-=R)zrr5?moE88L{6*XPMUCQCIjkIm=hDa_>+EcG1snf4P;UY z5tx>7*Lp3rc2DI>Is~0glU*foudzkH3W4He0TxAn*N!gKdpQ7kA|PVpV4IgmIL^lJqc`RImqw4N{j0Ewe)#g z2EF{=7ht!p#zw%9eZ6~|w{P9EwY#%->qTPoCYR1pn6IticrJ&*?NqZ09`5b!jHnS`@#J9393VZ!H<&mLucbknZ%E2SQAsWHMN`AccuI=q2<+(X?V@efbJ?CP zcyT$qm`cxkw|8w9mDpfX!UZ^(dG|%W7n`^g(D3r>Kn8g;VlT9|Kk`Z}|B8;W)r8Y;3n~KlKN;aCjrG=zAq+lu}@{ z#Y=bZYKF{^ocUH;_U?Jz*6!Z$=DmA&VFeGGo?Zl{7e3v&rsv zIX(~+dHV%LK>lzv7Ew8q_=oOT@-VJ5Lqmoy#bFtbxnM|-4?DYdg5vb zH9I7apktvCZ#T6x*h~H%c?lVKZZGH&-OAicLG(n|8N1_4rPDZz%GV8Xf9dASSL{dT3y-9H2q`%BV)* zr)0Pq8FVHi1EMEIZUY0dpHbN7&nH)L0(2ojYACzU}JN3&|iolISA z%jyG4Puc*uJaytGh|!Z`xD{tNS@b*T6*Csa+60y2q|`eW4dkdw(I~fe8X|LR4X8jL z2f<^ezCec$c-EX0dIJrpbR0cq;04R@ zwh|gVDVm5Sz3eE=LZvDs5Mwl`UYgY~Lq{vNQdI|k!4D>#=7`Ek2or-e{>H&=)N zL6Z<*Uzt-{b=uBkR6at1*$O^(X*I6>6shMj{uEDFyXPOn)3qCe4 zjmvQY566P0mJqeEJHWR9mjh}o4}zQ)^tJAGngk;ZzDxM96puy2@E;cMFXFHsx5Z=G z0|jkts6J|KP|WkSEGv&G4OPc1#;Vfk9xwuQL~l?jaIOl=WpX0&d>cE&)%`VTflkrP zA;zu7d7;Rf7@%1SlJsX}>5x%OsS}aQnDY>f9Okq%zU)Kny?9nSyyUu~0-x%*xCq$5gktob;PY z4xsqw*$ytj+E@d7#AHk#mcYM46)XnFSe?RJP$oG@=YuVk?mSlWjjV?C>9m|QMi@CC zJfshbP(ID=Pb zm<0;#rd3f4kRah?54s%jSn?3~;WT&ve_m%c4+{pT-Lse{*R5JGl&@}sg}sB(@YK2n zvzwzUDkB^@c_0|nX2pW2w{nNqOD~}DI(jo%*(#u7$jIX<>lOh`p*-?2$c91{$#?Mf z;u0{4j%?;=Dm3cBASR82mx00p@rWS&mR2W`{_?VZ0h z&yhB1l$lPU(}5v9b5H1)QYfAp#Ox$2TE{zKl)3g{RA9Ngp~xS;()6CI5&)EU&g`flHuP0Si$way?ytndZwkd9+px z^9y`r>zUn&oMlE&_m!>Te};TBYwm(G>X`BROxt=>k+MBb)n+v1e zNm`37+dJ$1uhp;!(zen~I<_)R)nqfz+FWf$J{&{uQM*Hm2IVQLmQ$GHrIXzN zER+&Y84gF~xQuqRL)<3CwZXoVrMk2bG;|y7PXlKsplOU9-rohGroP6l&HUUbvsm0r z!oDqI)0MGgO2mcY;9ko|z(Z1|FIx<6{RWo{E>38Eno{6%fhR&jn+QA+8gwRbrY%#x zzD#16dZ_m|ZJ*IH@Y9wt7aMh$Y~Axj0iHet#Xr*E(*UAI;$*~jlkq#VA)Zbg(Iz(i z*o6mprj95cyi6XlE#zo`W|`9&8KTfOXQimxfmDU{_Ib8qw|_eEAX z>apMPsUKVo%lN4neTIV&Sd08Zv_;nzOP{luco4sA${^PrXmju*Jw+J?sp!ZvL5wPX zat3sh3Oc5K{d1X+{wz<3sObfXlpr536fZ5tKWT&EJN)nkeq04~P_lw$QmrJ!0=B~-LPtBD6wVF=-cGfmo`IjKp_Et6=P z=l8KM{$g*SUr%ALZ9sC*tIYA8If>r!N(ifO`)s2?Ql!mXX*2kiXvR=UU z#7yN)Q>mKJ041}I1gz7AbgiJ>W)}8LHcfq_oKW`AeMq`8sUstPsoK#6iv ziP1?v%7(V523vE=h-6I5CQL+VHCS=lOpyieqRCmq4gf<*J8$Cl#y{3exo@1whcXXK~I1aV<}v@^+CgJsj4iTt4| zJwF3*x^^?)-z;7m=rJoRt2G?E&>C)nTJwn3SkIGMO=CeJDoob3E|_C5mqvGU#v(<( zd?XDHm5gsP*n!y3lLf?>TPt_M#b>JD?EPExgvBCn3puq|^=mAQPNQ3@iRMIW*(|1G zrbfuBy0l9yVudNKuQFq!zP5^wYVzR~2<5uZsU^tAcY>&g0AqjrM5Y%cWF_OW3h*OYo#OFy0d)$`={uC`=h;=a|g=dU53cv+13 z6Y9x&R-<-YJzHeR$;`pb4lrr_PPNBCo1Uj|aj|g`YVlRY+Da8;x3Q6}DUT{n zt@l{sne4kFjLd8&@|6@*>_Wqs;1oNM=dd2@o22*nx{zq&*Wck7U$x0|gL8p#cLUtG z09t4K)vrHKaP@**zY* z)RUYuzV1p-x`KQ??TL-O_t+eA-nE`NWcVsiGr26|>2>9nS(Cmeopt27jAz~0>d|tt z@b%S|G`xQ1vV-C3}WFTgTrw?D1BQE7yDObVPqr{_{6;CI~Qb zKiRg`(?xFE>bZt2*yb5UmX?){x4qW$@1^8p2Ryap*SkH7OT|7HDc$2)L9TwGbPoAV z%rlSt=77gTE{JzOxR^Eyx3L7w{i>^Wp>m*;2W;w7FB zRFGLuI%~ zq^-x(PP+O%-tli->WP=;3LJ+5U+*BZBGm#JKj;xk#J;hM-c(B(#>&dcpAP~@-@0Fz zLpCj&=NzB+de5MP>=qs6WF+j#V5SQ4T-dXOR<7;}Pb)e6vzqy&V)N`W(szaDWy{)p#}yj*jm&?#@e))O$~T70!< zF8O8DQ#pQf)Dv~g&0C2>=J$Ix((0161D*i_GBHB#y3+HvjFD_1d4o*j0cd-JB$g8)M>>dVPc<->Mv6_Iqet=2L z-G|C%ll%62s>p_`fZLB;@2McyU+W1O+Vq+?dp;U{XT=>ioU5{3=4hhZwfS-Ea)O1* zWH{_;C?RhjjT=I6RQWy|=<)Z9hATgJEqT zS>FOLl8VP=`be2%A3XXN`Zt67YH4qA(;09;K_IpFD&1dMd(ZaH>cU5vpxCpotE(G2 zE4*Xtt}cy(l%icJBT8<&KT3}6>>4tW%qFkOrc{|ua4H}qYC&?o{#49u4+}ml;N@Yt z=oW#7>{jLI`HgAKTxra(c8E*R&_ih{iu~v|TH;;W1Fhx&KyT2yB%aQyAb>8HYs=m} zJ^MiB!xwM8459)r?Plm=7rmg<(HJeTn8mwC9_D*}dG{s3$Is9uU;Ig@_F)gdM?YM< z?v}5lW2kVC^Vm4w(~;XV32yz!UkLBsfFm#7eZ5<}7$VRuwiz!mRZjTX?wk-5@n_n% zk06)3P)sHELd3+lIcQ8(aGwRRWf5`bMO1tZ5eKK1YrYW5I!@g+DJ}5dN+$d*d>&5^ zSPJunGpUps&SqjEP$$rep17n8`2#^csSahhlPH}GETG0?CpJ^4*RQYghjlc+-k7JOkBz-C;qolH#2*N62 zJeV*kGXgguk%2U2K@qcbIX)u=Xcc2eVMekL$0j%()`W`aA0CQDh8V^r@w;72sPV)K z3+5gm^aZsK>>5Qg^MQPpc0h9+M)l`BB%~27i`bt6RAlryF`R^=xv{nBvs_&}@*0c1 zp~L>B=g1$;s0HP3vO_4ZcRx!@KS0&^DOfy0S0&;-{qjP~%9zMiY-EzG#u0x0 zmM_uG6E!6#V^U^N8x-MR9^#W69lWD!OthsiG(S8s;D2au1{@4IdQmK*&1|Dlgsf=Z z3+T~3Ob2mGwOHD3TIq(5V@fnO7}GZe)Ze1!cUWQuBTIv)wV6hy3_3lJon&|2e;D`ZPlR`gH6!kA2^ykIqp!}3Kbm0w52F)x6 z3fh6?q9~Q(gG7dU@h3$-c%@m>smLK&HD+Q@tmj0HS#Y;LzF(@>dTx-S9$lfNDX5WA zikJoYtaq_1pyq8-n)za^qJ!erB?gU^&}Kp{<|PX@-!XSHwKUo^DZQDP88cUUH=Ed- zz}QSkj@X{0Vc+qwa1%1%8ZRk=Ye3b=kp9Z>tdPu#6|A1-RvF+%4_jTYrX>~} zhe*(zd17I7?C3kNW{sC#dZ`#eKNTYF*0s&8>zmuww~PB_w$vRLJ}VgPLMVtKkDMHg zCFwF2RR(7gJQQ4~jmx>B5M@D)pasOk;5gv+x!^nO*xGp!Vo0-BTp_L(SBl=zX80TR z;w62!Y88Dt!GpH*UEB8V?G5kl?B2d}4^k8Hu^-8;h5y^&f0{|ZSf#my3F(j=R;59| zp_MdjHMtsvYfvw3_7?XA{C;nbw~!KdP%sPf9uQX+^o!rS*&-v~W>U+iu}=etBe4X2 zxdmeGNAEx9&a>TBaGNv;QR5@cto6|V8uE#dPj~7S8A_z{Q#c;y#~`Cwq(nn%N|oYa zoUnNNxPR)>MWJ8^yJ)g&CTnS^~OKgX{7Rb;wg)8gl`S}u*4h1HR~+7p|6n_ zdch~_q!BYCj7E#NYK@T%maGUD@Y28pO}bHRTVu%szC{-BmvJyG%ZJP?Pzo*LYm5x= zR7E(zw-YE97EB3X$@GG&f-;n12pOiwNg4DR)Ef^~F=;xFV|w>qv=?G82tn!Kny6$W zhuD%wHX`k9S{D^Z(bF*hV|E;K?jq37ITHYgBQ*RE#c}bWe^qPXK>Mn^UGz+ewPP|S zNT09qEI-~wFocvL+6@?6gdvWf{qP3ib?Z~1E-SeAv?Y~DLr9sVTbYPGEZS%PJ42n*BAO|7>{In$hf+7WqbZ`61zEGTZ;3&$3iROULys7VtLqeeQHi*Aj|h81{pj2`J``lKs^ zgS0Bn=;u%W7fL;^su5C*wdK!QB&G#F1t1i(gqo?x>o)s1s89c$zfmf4JkNK z^EaG#`u&F0KnQ*TI)rQ2lT61Dg;Pnx5Tv3zCz_XEd~C&tZo6XiBoPj8$aEo?6%W$P zF<4&cZ<1PEMnZWB1dQdQUz;1ADKbQoC%l%~*}c)fT}eOkC@7b=dn@|vbWuDz6DTGn z#eLno*m7_t!(k1m`MeV}Q+NoPAeEuIpuJ_ojzEkb4M95+htMr!3)4p_lep0M$0M!W zaAA6ct5}%7vKo`(uV`qeO`7%4To%EdF$}|@JI&lsedu6A4@NsyK!7WWIjKo=@+xe# zgqZe9VY3}*Jvfy!1GqG^SrDA&)OH@@p##N(CI2#Z*=e8M=wCI%CQF>?1>X zZpIDx;aEK&gTfR8>uvawPN(uOS?F|yan8s%L!=KjO%b~%z)G$Nw0wr^H1;U4i8<+_ z^~f8)&f#p1!`2C!!76*Z&MF8qa#|DRfeU5(1-MUzYc9O(~nsU zBV`Ag+YC^_KIF&2E+s@0vIl;Rj%kozlS@3yhn)xqT;o6~%ap(1m$vX0$N(Wxgj-MD z-s>gM$=1AKNyGFj`#P?W9U4(iP%h$*#wQj{lX4#DynM0o`U1ubo}syGEc_0XWM&?5 zMwm^onPxyy8T(~XJ9|rxPS+oqK&GcEL%CMc;Zw8rn&na0;82@3FhpmPi`AUXGh1uz zanwqoACoX|gq~~Dky~-#_r{`L;}TbcR7Nu+VTipgrC~o^&cUiN1zj&Ro}3P=>eK*3 ztA2K7-#Rp+8F{< z=@0~yOe`vEk(-rvK^N@h$#BUJkIB%anf)s|&t%zo`4c9F#?}MfTr=s@8S-%05CXZWC^HWblhXe_;)DyP%5&53)^~Hbvq1|Jl0|_&BR- z|C>yb$xPEdN&9`%I9oMI#@_Y)SqCU~*d#)(HbMC$0HcOIjbYVhCX6|?Ix#ynyKj)si zeD{cH{kY%|b%oWK{;DD+3rE!OpN&bs<<)|NUqLXfMTs4=yi);IzWC+9mLk4FN?imv z`Pk8Z4q@r2&;rqfmxIiN#8pzLlf3%o9B%TqHuIFP_+{k=eG8*SHMl@6qA3%rV=T=s zLSK{1#40ePXsSU=EFf0>)fE2KDtQZ#wTy+}h3pD)%~mU-spncjL{yV%5r2)1Cv#N= z)>LxW{^;k>mgEX5RgvoR1z{}XQMz_)PFKJjt5nQ?C}N1r7KmI~W`ly<Jse7Cbgq)E0`%&c=2ee8nrxSvDPq`WWL6uLE_rCr@Hb97@29Ai;|@d)~}> zOI%?~Vd7>8?wi&7>w_1^QBQ|x6tn8f~yG%{iV znwes{KAjfN_#6oz@DC!DyXlz9KZsNf@|doD)bq2*p3MRee%IUegBb`)ZNHM8Oh@L; z2h|O+XHwW1E%oeAv$BXz?kinF&fQAuy6x>-w~Kg2U|PWZEQckt*5hX zeOqVSmUV4CXSZ!z*V*1d9QjPbAh)fDx6$CfJ`kn1Hv<9PTgI>0&~!_^p3)F zhcZ!os@=vGkJT5eq(0EfX$wH(mq9g}K+5s>ZqgyadQk!oNm(@C8}?c0!=MkA1H zso%DveS4d!$E?-y!-qW21gbobSIN)jYgKCB^eWHW(YB+_ESQ*nTHoLRt$iv&FZr0q zUS4tnjKnx2I1dltJX~i*%*#!6v(vL+1NkS(;kYJX(!#M$cOY#EaQjU#i4js_q!#JPXUv z{kz%*Pdcs`MJK@3UZG@S`k({KzRa&0i~MXWYmCunhy#cZvjMRTs1HIsnPxEB6LB{}gL1Zt`rH>1 z??3j3_Rt-7IG_hwgX0S#EUdN3u{2C}ZlV}7_^YM4BCxzwSG<{lL?WcM>L7{)*u3;$ z%9$E@vCz#>G96=AW*>C_7O2tU{ZoiC&H?+=LuuNrT?OBS5xG@<+MmT&OQ}(|fF2Y4 z2(0ig{9HJB)d`AUMh`4o(q=DMpJxiExQqX_?2ezSj^yl%TRF? zm)CtqJ#-;zfx1VH=GMqpLUZ2f;Su4)j9+tjaYma-^hD#_T`}g20)jna)>Kc6Gx3yh zIle$mffv8b$+_F{IoVr`7rM+(g~2r6UvB|ZYJ^VnN77z1jB=*CmXiy{n=9mC?9H8- z@Ac)AZlcxd2wfMKo?57k)KmKK$!x=?vIc=A4=R&NI>)SNPwyD=w!JNjtpwdd*Cj z|AQ%~WN*Dzn%g)b3Og&{y{b*+u=OLmVi@lchthGPfN4rb#$~Us9@}kcxCI(Ep457`C;gG zhs<)zl$+!fR<^WmZp+QN2-e?WUt7VZ4$yd)eLgsyc0cT!=cs~jo?=(B|MN9zo<00) z+m+);K$;<9BCx$;KH-5U>{!7YCmDG8o6@|T_QQ;CN%BFo^ar-r-#$i58K=~uvDqDc z@%oKMd&>fh$vHLJ1kK!oFxz2Y4AI*i^|j{5dY5q_67SRX37!~^6!_6~PKEPi66s{8 z-J930@7rE0*sfkVTXmOoQJEdB3V7~8SzYu|sWSWCd!(Ce*@pY1PfR=fcEiWNE!7z9 zgeSf&)gGZ{y=eQ;We3-+kJ;d=d!=fJINy?8aG&(47tNhs0n?rKg+_A$oBJ@Nmf4co8^0lCY~df4{l~sS4Zp_@AHGgH3!Y3kr-QOz zI?Ij&8!X%}osxaee(7H`vhTk`3fii)lY~%qah)&wzn_z8Y=8pW02kkdIq$qn%G#`= z0~Fn~>?iJ#-er{^p!^<%IUkc|!s<(^D&f_iOqmYTAChKe7v3*DU3TIL_IKrvzwJ;2 zJJqxSOiO(5zB{E^G04U(u~F8Eft*54TcgaK8rHKFR=sc+@Dzka@<)n!*oJU@zP@- z-1VTe5Z0Vq?tpLJA)PyV=c_VYx5w!jo%uEgOueA00ycb3YM?8h=8tZBw*xNuoU{tO z_eith%lN5=RcM{l*2CT3tC|BX^)?6m>uvtRlxFl@#*x}>{W2hY{U$Mz!$!XnGpgFJahJ5tkTHx{Jqi& zXzRB-VfuZDAwmh9bB{C^JoiZto=gzAx%{cj@d^=m&kNXMDfozil$zk>&)R2XKmDw<#y%cCo-Tj3AU<~4%Bjb*wo$3GY%Hjp zTQ>T@+bXg@zFumdRszj9pm}%_lPY{>X6;<~$CJ`mPYMiuul$Y@hDsPZGzScGTnl?hA zZJ~W8hZwrW3r=R}e5MRuXtEs?bUs;rATbVfdTb0em25-E3$q@V7TbIf*)Pq3bM_+( zA9!4vn@#PPx=%z9!DBDue5nMHF(7i=k%kB$MDDQ#vsc|9-8i*`l#>T3HdB)|{$U18woR{wdv20yvfsN&>ZpEGAS&a6&kmPO zh1;ICJF?GxL7HwmVhB5W_{btYZbN+7;i=baD!_iNbP)&2IX|^enq<0{74FKEEzaI~ zt#p0~IVI#Ea$YR|SYhNGqKN?n%H?G#HCqMJS8X|fxzFZgFY?jyFkfCxe;lVEuWp&< zfYvC^O)?*oo*y4mfS7u_OQ+<^UU;+gwMiw69j_RBN5w-&9%G~N8I!U#AU&QBve9== zttvkP7;CL%uW^YRd-;nt$QGRWQOOI*5c=FXJ7Uv#jB(?B5V+|9Ny@IhUs`6%Ui*Nw-DdM; z7d#|wc4lvULbBToGy_;KkAS;r?Nmpwb<(>Mac!p}%gW?%k{w6F}EpOt>gxL);u zG&AeEO>&l%6yQyv054Sh^Wu^Mloa6PQGko!ea~UbFTd073%|eelR4;C;Lhf9H{6{m z^OYd}rhzyh#J6&`_FYmn3FiE*YC8Pne(6R))TatOm=14wP`dIY(}qV%+HfqjVaD{4 zSfBL@8&ZvV)hSFjA2iQD0!TS>j{uew=M7Vw=PQ0TSW=v0qd0%L8$aFq0)AppC8&?S zws$H=c}<7Y1#h`mI-Oy=OijU+_hOq$$et*&U$6LU3E3rN9}2P$oD$FiqiR<%iK{lO zH!>aH3UF=ZpZZG*P*efnqPwLnR?IG|6K~yh88@vLdQFBDqDp^wkL4RvjBnm0turni zZ_q9Z%DH8qVGh+tnWulvdGCR{RPfn*B=30oGwF@el{N6*C#9WMg}Dl@c}ns?&?TR8 zeCx#bD}Oog=Fy4Y&+Oc>sZ9@*=xw4XhT!|SG;cg*`9nEfT?dQrmu6?bbDOlzrfZ8Q zH>QGi{SHf|`rwY+r3G+GwOn^ddIQO7c@a|!xVc)Mci7;ccAK;orag{Qy76%wT#~m* z0oZd%)l?n#i%hSU1s=dTN9~SjQ=pqZ8JaRK6{bDnEw#U2;dH{MAH>Xz)OYaH$*op@ zt$gH7G}IidS^=t+0;9J`GTeU)Htx%BMch1ai!{Z)xZVZ-dka=F|5j-w{OE(uN(kR7 zoeAH3W?ChD_EwzTvQNLf6?J25t%P%?%1TM|-gKIGjpO%fN%KmYcl>JJ{t9^VQR(Um zb`>!E;>Pm2?5zi+ua%vg`uK;+FNRC{SklJ=`gn*6Skkz$HSTwgZx&zY1JtpFa2k>{5b`dBD5ph7F~>jPLp|3f$r zp8c4#u}TX}1V7(0Z8rS%Y-bg8eIBteun8OT_(Rf&^?=Mu@Wc@_nJhB1?O{y&=4@LP zgWkZyl7H0xe*We9hfyf=_f^4D4@>pj8vNJ8D3leCpcK!%AJym22av)Qk8n1Yd;EEU zxcpjlE^{z8xcxEd?R*wL@~Gs1N!y(>04Xe_v5QL9Wu+yf%O;DXH`tOUc-PhCPWaX{(<-2g)cA^9rMaW_>Pq;+(}=5< z2dXE-e`is&jgn2`X^zjM60)mM>OU_9VP-#CwC));COZ$Ty#mQ?B>t}cyyQ1My%La} zuYMl&!N~IJ=aJ7zKdUldyt3hXO|c>6B^OHk=kHj!d@<^A4b+&=NoI|H-?G+cbwg@pfQt5 zHlh?86C>$Cif+onz>g#&1A}SByUwR9Te@_GAAdJ3Wxt!)?`4XzE)NhmvYDi>HT$5DI!=2?{1kE^i~+ z0T$I~1j%4hhWUzQ8HgzsH;uk**s?>}pvKfBHnAhq8;$fSn<9N`ETxhcnV^)^AiIy- z#lplZ>xqMHf&*oJ9O<%a_*ZJz`zy;e+JX>@tw2i*hQnGM!ohfgf&qro#P4t<8l_NL znUva}iTaTO=2dpKZ{N6e$9AQ4%Z19$*3Qn>E!!_#$s&ET`*8NCoKj>c5se^Wj`LsZWjUAqSmb!8>jr zAdOHo9vk4X%+n?jQouzP&cKi6UsYBOrqhY$#>U~{;ov|l6O1PZ8l#*>s&RGDKMV2DG#t;;t1QH~cGAuA1=H#3pjzZX&UIb7-c0+ntMbY+Ul1Yj>VZGOv2eKWA zknodgRHXorH0L6rX_yc_Y^qNSI=N$8>xMRd(19hf3Iiz=STa1K1bXp9RJl~y6H$ki z05!wqV)q#L^z>)anIwfd5U+o*Eoe-Qi3r9bd0<~8p?!`g(kwuR_C2YZ-W_r20UKBa z=)XiGy*&7cR>dWmcv{WNl2noNR9ee~sR-nl-yGlGC89dCvn-}CAtpMOO8kY%h%Ccu zZ*MX_oKllQ8hW@5;>U>HA+qZMJot$!79>OKsTRf47f%gE`cSaZ1b(G!rnL}&bQT3O z5V%r^E+e3FOiefPm^Bp7cL~eAhL@q>glbFEDZLa5t7ZApr5;xz5fY@lMQB|{R78|G zGhr|O%h)N!kkVo;-t@$EerpFv{%VX7BDofE#d9h}tOT_r5!CX6oM<%!c+nPLss9wo* zibX{7oNcPA*^?U&8Y}CvaznARkpj9ZX|J!Vsk=C39Rq>2$ZBAHWUm@7QUhxXQ5L~@ zDg3XglICt}EMjXt=kwvZ2x&2x7v@`_fO3kir-7-5sgIYVC$W3LuXzYY_is?sM(2}V z*1Qfju<@u+3B+8Ef!0dw=-lMji{KX@W{xDS9UYG+QfOI_?WD>gts}&|p1x=(m1?P{ zhmmmoYVX#q9oxD>fqkuki*)fyaWfep02mlcP|lhKds@udXHk97{w~oR9`5edYLa^h);{vE82Uw3>kx}$Kb68 znd^E>5AwJxNR{jg4(#*QuilkftoO=`;t)0y#tJ#nKIQogr9vmWq1Ic(M;cfEynVD&!&{?T8 zPK=U8!fBa%pL;OOJ<_ZMiz;rQBiJ8_g(DQJ!^En=VS|GHII_a$I5^xSRS!6PQr1ln)0z(nLf`M ztF^f;)mRy`l_s-9tu&P>*2<*Sy78>0az3+dMZc$jW%bjPIq6sMDGLogK|{;jp~JAT z2W2DkCjebk^Usiu5H z)Z$DGS*=taPdRF$Ta0)NC2k6;NEMo_>IADhIP)rK6g9E*W3?SLT{tWw%fNAHhL(N` z8QXlg6p=ByI%+aq07D{zs9*8sRp=Q&6PX^48=aq0dewevzNVO-!mOA(-HHO&VGaWg zB7jv`MOLEmVP!a;+>O%?S{$S&LOoN;fLO+2!5|H9fEFz=8NngQWhh2$iY6{8A~3>o zga$%1F=P~ROb&)WGNACxMOndex~pOM zLWa-5h!$}?Txv8WA`_2aLEb#kOxZ_UA*>q|rV!X#6OCrm3rMus8)Qf{t(tnx71G*- zz@(W&(aBrlx}Ou;gA)f*Uk|UIuN|7)C#K0X-F9iIEn_Tq7=0v`Z<_VNxz{v{&?fN4 zU}UWI@`mXvsFX2ibuK8W(Sw@bYZBQ|NW|kxB{KoGnV#0xKwZWNXsx(G;frL%o*reu zw3wd|p_RGskth%(nzph=hT@r2bj0h?SN1)kWAj%iITHEOFO3?Bpn0tX+2fBqe6@iu z{gUBfsX;WK+gOs9g+7iad$eHFRvb}T+TG>F7wF~1&PES^U$f z>u1l!0Usfkd>?WsMXzf3(@TrG3i=S}#{ZQL$y(q=npTm+@H<9`Z zsNXP~)+JqSbPafDq{)M#NvbK6dH2^B)U8Vc&k}wTgfJaZgm8N zpmxQ!$9YaB7xJCbamCC#m(Z@5dFJ9#Sebyf>>ub=0s$h>LK}AaKAk4RKsw$cEVzXV zJqV;Sk+h200@~Q21V->HR%j7;?tIkhVOYNzK9O0_dBO|Ne8<_@fBIylqP!OynpGO* z|C|%9)eL=VDi=32OH(<-HTB$Elk$T zH}uV7d9RdV)j4weXwwyyaLqY#%I1N8pCkKfU4@`WWWDhAbLBaeE~cq)`?>O&@Qv`) z8R2)@{#LAxf!f6$9d;gzx0SOYgDRAj+T;Zl1(|~TH_NqS@sN78I1Br?$cx9IJv*nt z!NiEsW(6({S5?8)=gL#_EB!y)Ki7^~D`2gEf}1XzHV-abFH7*&4f0m_+Io2d?ChLc z3GxPcakY6|hYL2yJ1N6b_{9df&d3E#8|At1+Pd;7@YaneiII)66Rz1P2jM3A^w>uE z!?3koZsAv!?{AlS_zuo+HOKF@JiCJbT<`zic!+ zkyQI4DfRenHhf^KTyyZvysi8B!E%yC+Y9?CEkNPgBm2SLkUovwO~vud~7XR?DYD?7*yQ znEsx+s_expx9L%hqh4JY$wm5qBOL7#N$<8TZ%B zg5PeCClw-BPUIl4QC@HuNa==^=g6x#Qa*By96Kna{HOgDhLq|Gcs@FLW_nDM)b9O<{dcAAJ+8ZV-CQ6CoUIwAEa`(JmEbP$_Na<9?cerbL)ht*$vwAXIbwybf9Xxkb3K|bDljoth zzQ0WV#EFXROJ;bCb9Z9b1U7tl+Cun7n|#)Z4SVQ6AN`}lK=*6q?>#7V!ynJbY6#8X z+9@y8(F$koL|N*HgDZAo$4(qqH`^wePBFpIY4R&2j2$N!lbC7EH>xOzsaue@!E@xP zhlsvMD(+ZA=<}A3RxNc@^26Bh<)FOwn4u96jn9_TS#CJ(RQW&0gQY_pL@xwS{aN1` z*h2c0z3L44iiu-YC-B3S*lL0+W%vX<+B&;BJGDg)*~S9ypKZL(o>uuHTR{v1V)zVr zW!OGF`}#V0&YJ?w@N^eWNDmjd4~-4n3ha$Y5)_;dmtb3h?QsL!cR7Ewnqd1KJIws4 zy#YRc_pB*z1^@#BxM!NOdbMIKPWu&j3&VtZ^SrS7% zAnF_Pb6&Rw`{}V2^1A#-|6YN-#j;frq}Iw)VDVac+ETuakdt$aV-E11wXzq!-YnmH zkgB%Cme0`2)$(b)Rd>ExHJ7*Q`PK5;0{RH3kDkJ<%|5e6?kGTgW-EeXW2-E4!J`)M z&d>CXR(WA1-|Yt5d+KVyy;fed5_L;b&bu`to2SENYZ{ zPZ}!)v-{Ba|K<$Ls#_+W_JcEV_$^?K_|yGsa7IHGh<)APj2dh;Ixw?OUV0dYgjcg_ zwS4Nq7!QLvZZP=wnpU|!$4Kx8&!P3mGYs@-$suVxTpgBAa&-o&Po7#nz7oSTDyAKZ zzJA7Wt&W6H8U!#V^D2wlY4Qapj5fbTXZ*a9Ucb5Yy4HM1)Hok?$cp}gwg3oi* z)cN_!yO)>Lxunh~s5)0un)Y@i{QVATKE2Y~4FB37*HR!orgb-8iDM<{ltbtgQ)I_c z)~ugY-goGlRW%gaqb4JLyGzPdQm&G6rHp&;4w5p_4M?kBldzl8r1{!cLcyQ&tYa%SxnulY+FP||=C zMgy8$#!ZApl>z4z;TtNho=wQMBeLP0FHf$4(AGNVn3!JNk5EJuZ)NCqYUuV%0Lm}g z%3bjOo!E{e2H;ti&@jf`#_;*IvZt~^8AyhD;pWriMK%|-5DGL@FP8;O3S9FK?W?q$ zi1Bro7tiU+jXy&93WXuD+!U){TV3EX{sNIdKs{4-!@JLv7tbzssXXaMok_u%=De_4 zmTV3D5h1qB<$|YI$n{m)?bjSH^!ny>e(|m8@@kl~Rx7=9e$Exi{9{3Y9zksW-u|IO z!RDMI@#WO;fEt9EvGQ8Ds1c!gJfIgY{TMcVT&Th$A4A({1tm}W$H!z7JmBJ+Fw0Se z0=#$=isGpB_xJ1{I3!#2!JFkdIsIB0&GbdWrA|Heo%*!>Z?j6BdK`7?DF@$&-?V@E zP1J|JNyZ4D;|Z*A>W|=WACm`8%>L|u;in?O2OV1a4T=ZM?`A*TaKMA& z0`dF+!CK%Imc_Mw>)Bg**?;E0=zbNW5J0MTlGip8No|{DJ9i!)-g-w->(9kY8giWSOQr)rS)1kU^Hn zwjNVtTVA9%n?wA1MBcMH%cieZmiYrKhdTQ^IyZSl5Lr*F2w@>0QqbK>|k@fE{|r@SeFt0^Ek)}O^`~5i>&!!LuEQ^RPrsd(1VnMoET9l>8gvJny#;JxqrpR>E zHmrgNP9Qs@TOrY*o=XMW?B@2IFm3Ff>y#-Vt>@C5m}Gk>#1PBX)zlrN+ujpiYYwWT zkr5a9mUZXH@#r(iEbBI6DEW#JHE#LIrQ)IG4{Lll4O)BrN}tbkHBjzdM1Ap0G|YUG zu*ySg=&04Btx$LeUECK;H8XN^qpJ*U6a4Bp%1w$kxvTQuC9)(?_ zI2&;s^dJ3gZPaU$RN#ooY84fy0m1DpGd4nd%}!^6&*QiHaX0S9<&BB zUQg5tgfZ5up@1@$XL&&gh4ZJCX`WDSD;G*G1HDN#wA%=2__d?A2r8 z>Bfp|^1+(GF<>sjP&cmAjiHqnx`!*D2`xY%lNExtUs18vL2X>{G&2bJ=*e^-ND}dQw2^^@|La+lVrodp5l(?26ThIHW9>~bkc^L_+15z3hK(?BBJ2nE zQj0+DP@tAKAJ8!;mSy!YcC0pQtR3CHx zf^*JVv(=s%VF-h09t6NxN9Wj-ys)Pt$T16iO7TjI1V1H~`!$ve1g=6J`p2o-z;7Wf zo^W*PMHJJhU|7`VT``5l2%_H%;RWkw%`u1f&JQZZ`mjI%Rf`Qa$vmkhqM<&-&Z0Bg z$cwtnV@_MPmeQ7Zd{$*K8Dw=Yg)U2YDTxMALmk$|V|&P1vJR~%KpIecM*>V$usHTA znWb=qxz(ZMNYLc_QN+EsyF@V+lcz&T z`g0_k1BSxowXvV+B{sp^-_;yg-c3GI7g|t8cnqSw`<6|Z>ZwJk=DJ;lNmxspI}!5> z_bA?z3el7*>5WIjBpSaGQ-|q;xi|UrkHX|?!B-S&j}i%^{bg%3NTC;QyPh(iHxMVCdY8Xl43Et;=?grnYGYs*daVLEepD) z*C&`9W2ik_P>aL{XbQ)`sNnz~2ZKRg+8g2m2o0jG!hynP*-O(SZCVM8HO5;jzNC1? zm+*=&8N1?3aw_H?uQ8p$eu(142su%cA`qn~u#f#tG*Qb%E%Zm5)FA-+Gtnp|5dv5Z z3L!hHx`ebg4u@H;2lNxUSDpDv(a(L+MN{ln0wsX+EZ|7 zcbGnV`H zteT9ptQt~^hkeaiPt)RNGh-bzTuL$BGK{^jAp}>I2RfqdbDY=F^Jax__9$L9v~Y&4 zq0Fpcp|Uh$@M6vAwishap($2=3mBE$S=QO68VgLe`r~==)mlvRnx^jJl=TInz*^)u zus*U^4Hv0_Z+kK4Ihj_&-jtg5nks4TwoaOIPa#Y&z;a0Q__TrDI^!~VrT)D5$YSp0 zb6t{4#Oy&ACV{1jMHkjgo)(I|`xwL+#`-jqkGrongZTes-|WC@vxkB zhL_y8JTJ$eCc~D8<@I{Dn;hBlFUS|$Oqnl6h^9xz%zWCNEc1_T(AFrQ319iFynZ6Z z+CP3U#eP#U*8wNI9p!a!;B5KK>E_{qEw;hr$K`wG6}F2yU*COPmf)f%Gx~g)lnh1CHQ5qR zx0B;ZJA7)mjfN~HJW~_yvi)fxZvtHNjJ)Bn>j$j=G$tp9i*F&og-^&WURvo6#mK;m z^#HQFD%-~8wpND~vaH+;XJzFx=+i>@L{_eYN3+PvpYcKX59QY_I$U=D?1Z`9 zRgP-&44=fZ3eJ06Ugk1}blCs6+;F)Ts5urN_Valg>q6$tiFq1>x-mJ7CnE!5gmUTr zdC0UTlQT;;KMkauCJI41+#{YBYJ&{#Apr@`6`lfdJhp7YSh zfVHsB%9&mS0p^`%d4xUyN8JC|f8LOTxMc^6xSy0|e|C@DS$27Y!p<`&*tWqmA&QUo zD4Wa>LM|4M1#-c&caOK!PFTM!Ded3$b442HwnM$#ahs`5lf#qe`!; zWKt^5;rvJe^C~;rw{P6KW4qG2)Q5B?b|QJL0nnizI{vEwr$G#t({7%($U(vy?xz|O|6|u$Bxd9 zt=rmyin2{r*(tb&v1G+|l4zqOj8oJIE#gv}FU0Oi4YJ+;!4O*fq}r!OXrC;^g2s>E z2S_8t_U)M~k~WDD8Ea>o*Eq{V23Lt)vf<(3;6N;cW`CeD%4wt;R|g47{AgcD-;|@h zE~Fl1Ea;2iMvv3s6*2QAJRyaYN&|qRhVYlR2gv;T3{Gi7soglr^-?#O2x4ssw!lNh z*~&Ou`=*15=3K*wHNLaN&-dsRvwg<|JKRSOnBbkD7#bK*#la&68QR+q2_R`m6!O)1 zrP;PVok!1!zW4O>XVB)TJw1vzMaX9Hm>OfNdivo)?dY2*XWoxA)>W-IP>XF~Sznw8o|GWy=rkER{L)c|~)J@TE+WLl5Q3S+gl2;M3E_Kr0ueKP;)1&bLzLIZRa1^GIy951Vf0a$;sB>BrTH5pF939fB zjj>Kyc*>c(oG7Za%!mt|-mosIQ6Ynj-b30?G(nI?qKP22p$qZg?e!UCMK_(Rj+pvL z`^h_G!dBx#;jovHweCHN)lbTT4`{;M(?e_4h(>giJv}|N+}YFPY38L`J36*@ZtvON zx?vl#XKbr_xQ+z0W0n5ACs;#))V^dWHCP~hx0;M$@5B=+@lbFbr5#MYUxL_w$Q|n~ zg9Jao8W6r>AdOxron98|*M+PiKB=m^zFC&JHz3yJWAoRxP@gg*+VG6`;)3!Hb$g|H|sO4550ieAE?eiJyHfaDql~ZSKZxEQ$3Zx_8=eE$T>&S?%Z(2#qu^-ZM zG?84oVs9(2PA2R`Vvx=E#ThGPyF(i`x3MMHRQ`zvzDLmF>Cje_ao|pe(wP({X@zr6 z-qH_KgLn^bQj6YV@u54%7z+JoCWHimj0UYIuGyoUlPJt8qdlf9ia44t)xSx_+RE-soX2GAlf`MM9vIUOK6jTh7R}cD4n!vU1yiYAzjZrNu zq7rVE&D~}t&Amt6anOErms5C|DczmK`H1ifEd?kadWM7t(@>c&0-i6mn>o3ht01px zJ8@F{yb=;mwRGWczh)Y`(TPG219|FU4sMIq{l(EoMCgzu&K^VQc(TRQ8jTh^q{Sqo zophovz8ndKqN%u9Oz{{U`Q_emQXN2jB}^G!?_rC9i@;NWw#Outf<=o6YQh33AdI5z zVR;LlkJFS;7!JxvZe9>a?7n1#jp>E^qM-KE4;s22;p~p-i02hVt2wBm(WO@!a27}V zvN3&Hh*UY~*^4SsI&L^3dbR)|dfmF84){}#@bmh4x%Tw%2bKfdxdIf8VWXvJS7C9` z=4gRhJ*JXD>e<4j=|_yYbkauU`=MBW!mvwPqX*gO;~B@C7h*;cE!ou3tTeD8eH<1P%Fwg%ZE z4O`qyX3(f*!g2IE(gAdD*t@8-dRA}3SUq104wy&?A4)&O?1Nc9oH7%hU+Zu>lf*cM z4TqP~bu(?v@cz4`x^nWn;r;6zv*Eu-?H+hJT{j)B9(LA3=SS@eMq7SY>7ZdUIpT+r z{nBh$^AY>T86)(HlQ{0-XGRDDlWg(GTm54NMnU?zF3edXvi z@0dQH&z(dvKdX$Htz1JxtZD{Pcj@Uacr{VCsGOz@u=W0Fwa`*;t8@;bcGBymF4!`| zHVfvqITpgLlkLv3dLNWsT<5E*Z$tUe1)a@9&YAG|t5uU{G7cGC-ARVjwRY)py)N@< ze&N?LIFK>X*EAU(7Nwf&`E@b0pb%s)gc|27b%K6+Aqvf`-du}pQv9u17`fIy^KvR{ zJki_|Zyu@KgO%R;UFk)sMJZy(TVGH1U(`vnV+Ehq`whah5R!<7M$C4Xk%13ntE8zs zUzEHjIsyRidN=mT*YB66!TD4(={4|VsIGDb@hg@#&qn1YQC;=zvRU-d0h9h! z<#Y)7!!H$EJxiXUOU?k+X^&Pda`1i+!xvWAX0Gwl`=J_xK0j(2@7#Lr-BJA+t(!Fo zNookF2gj%E&G7k0t7O>uDf?`jC!6?`{TH@LybcBsxbA6bC0uWJ&Z^|8aDAh#G5gEU z*jsFKda+090|Bl;^N7jokpt*GF9SzdFP+6Gs>jH5nj6@2bxxrS*GJo~b|gw&%J z{97C~aK|=BBv(CP>Mt?((NPC@+b?Ag$NEbZ**6W=9Rlm%Xmd1|K>p?d`JXFZ_ndej zhbw*|PloruD9_+1|MbqPnt2AoU1I@sGyMFKs>wv57WTa)&t-V!mmMK!mqSg5(*^(e z*QyG5;U#$${3TI0mn+Lz*{XT)ul0_ZFt5!afhUfveRi_F3K4bp_p0VV?7*yQy8f~p zuEd-r+#lDt|479(i%t&Q!`c5W&pRUMR!f*IhS>#Qm3pD>S5v0Kv^(rejut5It9X84 z36v)}C`bRJ?lOQ|?2}+$nR7EN{pFNpqodc)fYUcS((oH_I$`)}Y1WAX+5MGYEoeu5 z@TFGAtP)yFXq~WAFo)N(`>WWqh}+YvO+*zayUQ-as}5%a?7Yoh1*hKbm?L*|v?}r8 zn3`mlfzjP*iKI$bUxnen9nMo==yu0~8p>4Y@gi7%hkb2zy_xl8ciHD)o9ur0_CVE{ zlMiq9_{rl^F*@M<7ZL0wRXC|s0Z#vmEE}MQuD>A3qYv_TSAKlLAU}73I4~Gi_XLjl zmPttsN@{S#)ZjN2qXqr;f@%Q2{5xhTA^ikL`t!HjSHPlQP4Q@$-eq?#VYx@EZt z^7InOOCX8hz=n_5&#;vgqof!URE*y{oC~4;R{NBhgeLuTJjV;mH$$vXifgv@v++ko zoo=c8c|momheuXSUVbQ=1TE9uXB?MmafTlGZX`uf5zi>8Nl8s6rY3){{7}IK`;$XW z&J|bmw6Q-dOj}A3huN(GTXGFl=apZ0_$PvCCJduY?U&F6*4p~bYPZr z@*eFi>E6-Oz28-Qr{KctajAP{&Gpdpl6>Y#{sKn{?MDmkf2=rALi_Q6_9f8sZ@U8? zeY8p{LH>wA{x%mdE?Si!|As?;;Cl#^IV-w?!C*Isi~DKm zq7wWk4*w}U-TLPD)m5KZTta#Y=_d`+zj9UGYIyd5{c@02*j#XJrmhmUK4uTXlohsG zxIbR!gbzGsp9S}R4;@GM3R@M=vfzDnlSZ$RT=1Su-3o&lHLBF%sctL;X% zB{1v3^6BvH`^qPQ^0?g#=WU_4D(m)LJWcP`PQ)^uD?(*z<&a`qYBg zKzy|7QzwiuSXA8?iiIQWvdfZLD4B(lSvYED;r)}oyP~LBsDxXdu+JHNc`yh|J~*v{ zjKmW7`V%PVbH0GTzD~ckT;r731s1msPOh{m(D$T$AzW~cbEcN?;U_WI=4+fXy!}tp z9B|`P_G!@il)Y|r&Py_sKWVRl#8Wug|MZJ?nI2ZblTX)v_5TjBLqfA%V&;$_`Or$m(QR@fm&NN z-0{Cv4!G=TdlNj{?x=>(e!w{mPXD64a*|kVq#Zd({GWXetozioN_hTh`)Tmeh4w`- z;~8wwu6kP?ta`@22|7N4!1~}b_WIG6X4b+;%IT!qXWCJH;IjFc>r2m|a{lA{a^2_? zf2xA7UF@uc$zMbzdE0+fRl!XQ?Q>zr7ZJ3K;>Z{6t7^@+eT`>=^T z=6eiT5c{yV&`{w6&r5P$o~fR1+#;2NIk!kN;m0q@>q=I;WVK6H`$$>sM<#vbpsep+wr{D%tXr-j+jTxm$Sy?e!ve0i5%OLUbX{W%0f1X+iU$omd z!(XG5>ll!wRXS`|E332%Y*yF%TyV7m#lP?6DeJ*?gLC05aVatnG_{~bStiWzIlWV7 zF7J(}2NeT=bi=+zi|+VkseVO-5F!#ZY&h+w%jO;d5aE?7FI~ z7G|$=&YZ)7z3?C}E*`lBv$7Z?m~BpjWA19t7FEUevj>sbfEMe63^^qQ(PH)Vsy(8< za88saILqVk$ULXW;$^>EPFuQksm~Suob4-4k~uuL%0164*~|7Oa-n&i+TyMQ_gPg9(_LPZC@5YRv~Nay|Ilf#_2i2pH^y0xP~edk z_Z-%E_)&{{HEROQS?!j?SK7Wj0cPhMI}CxogR!RJ)B7Ncfauqh{+s-MD^dP8aAKPgW0`&ihRDE3iO zD;X>#ffFs}DoL1RSxClXgkC+k$gAV_U`_y5A8qek8v>8jqs}uZ^eDlznrnqAXq3)U-6vw0vn3(%P}D zRRkX;XD%HXQnkaV+IN@fdnO%;^4Nk&qYz6>@6*bq_hr(3E+e9-DKu$LDi3`s(r{3) ze2=HJPf0y(Bs3J&K3|-oII4oMh-K!Xh_$Ka#zvEQ2pSsPXfi7vTDuNqqUjzzV4w$~ z+!yz_Xn4Y}TjDY8dS4u~d-_6sgA}$o=@kQuoFSA;A@Az{st0 z<}VUClb6RbL!sShsgfzLPRp;Tdr_l%;=5aDuHZ8V7S%Hev6zEQHd|w2YP}h3O%7zp z=@(HkjgX%D2(T!nnRv~>8*z6;yhOc^{pJu7I5|M$)YBIYrBW?=g`J_{vyGrz8`WrH zy_VG|Z3@fP;_-O4k0jWjFdR?r?vKWYu`vOZ1IJ}SC@CqU# zmHNW`?b?;z-npX<|1=sOm*W3|Z~SzA>n2K#)hnyVfJjaoNAsnangpw^D9QV#`+rDMT=Cy5|W7r+eKqo32bEX*?B^{w~qGQ*H&X+kh zU#O4k5RNWMwI_`hW86wf!@1uU8VFIuBj(WI;Hi=IE0Lh02Kn%aHW?@66rUuNNMpao zV$8Q6i$w~7s+u~*)7iG66P<(hty{)rZa}k2v{r$NmtykaVa}On%7`CQUk!!!26(`) z^hiQ&K|2#ln>z07)(f|d%N~oL+K0*%A?J~;!O#+n@PJuNzceZ&@>x8-nTL5CvCL2} zl0dPCLnG*YqEq8#EKzU7ht=?St%=0mnAT7@ucP0b-e|mUcWQj>s)Sy~H+rfmRREd! zy2C0mjIQv&0Dc%Nz??_8>@=$iYZ0Z!W-k^$;z}n1r7aP$d0Ff+H54Whj={QC+R#-# zY$NFqn~~56hh$M>xfe|h9jo)mm@9lz(U(akvArl;CSV$jQ|9Q6Le67Q3&+_TR#@i{ zvam-@aYsF*#MEJ98pBo%1ph%Hcj5Dm5j~rEKz!vw_X$m-n^)c2hkjd%c`2H3{d`31 zVMYVBBNFSucHoE5UiP72OE?s9(jD*7xD?(M4oaPzk8p%RfTm!~N}3qq{F?GL>#?d| zdhbUR96;G$7Tc9RbP34%6&jkgdQ2WJi`=WZ!<5{h(DB3i9Ihz!JN)+ELg z6a^|X`cOm&%{Ci$M^K4yGMGWVL^X)VmDCW~f6UIEG(m}+o?)DS#bX|vdc;|WF(X0# zF1lus zW{ARQA9;^yw5};pv1#hd|9Ja@gJ>|(rgV953X%@6wVeoB=x(D4k$w}Q)j5)}3X>@^ zV-fp0h;66NHaJ5F4EIv(@)VN`dr&wCHM6}GYOrv$RK0YNEi!m1yEXJGA_NUFj!wlm zF+nG{V1`=fHD_kcZSh(<({JrtQ=j(-nOAO759&)M7K<#BC=1@#qC+tkEe{0AHhKH~ z%BDE=O$$p~w=LAK@&pl{(Nc?flG38Q?d^I5M^2h#DJtpm@ZFA-r`z(zFSpsuXo-&t zT0|MGh`9v)80s^i-c3V^MUml;ss?K9tdHkVagh##&!2ZIxDH93c>CJ~&R8^lGhy zm2@x8n0H$uPU6t#=iysXhDN9I6&tg7{fGe{Pd3dtMKY?)kiOngwD0JL)rY@&_OK-p z8l@7^2omj58oQTx{5(UGk3!PZ19ZKNK;mA$Y^yZV3PB1zAX*SWyF(!ba>KQ&)X7X9 zz}LE(df6}LYP2CHI=yh`iI%b4T}#>P`X;xn zun{$x4D>zHVh-rl{XRm9DZO~Ka)LlkX3l(9w@;5s&&6VOMJ+C$%k01Ej;p#ioecF5 zXof@pRtg4>4}%nd*4mBcyn5JKPtI)L)8s)@tyAG{9xso>X-_hax@lU4<f7r-f9aAl4Q!k1#6Gq8w!C<#cLXgg;XrST!P5d#nu-I;G;;4?SW#W_eA>CMmD!p1BpTG@IV~3 zJ{lVF_=-$<$0o&brFEUJ+hrIcYhxIQ5yOW%p;(k^~TS#{IeS%D#AN zDAJdmf42Jp*_7NHA@GW1&$sfEpPD);g)VXrcb>DaZ*%{LD}3pnmr=&g*x`@W)pOyB zb?$}m@w;ca;IVb?o?2cwXSWQl`t8(N*h10?xx(lEag5qwLyx<*cx5o$ce?jG!Z+KV z3*-^br`hU&+AZ#DUB)^NeByvS3%yFXwHU;f0B39$F+N@6c_aO?rH*G9)Yvv+KF-)Vz;-|AkXGccqv z@L^jK4r+1i>CZ%q;pZr_bZs$~;L6a%gtE9=Up>Qq0oPXK% zx40efU)}Ei4gcKscwrIL>_am-atJ^>FWy=jBHxBR#e2l!O?+{0@1Gxn=|fUQnX)6N@Y_|KYFlj+g3I^SNrJhIXX!crqj=K zVn9$}yH$g^+uf9sREN+_rbQkinqub>hzUB-Rmt@3_OR5{Q&#acdTgJQb z;a11Ah53gi^G`flyLrKx#;LrbycImA2TD730^(zp4d$NXcFrBMX|Q0kdrl>9T^3uX zmK{q_EnRAC=Of!a=(~DNO*7UItlUi%M?W-iz|Xe0=XdDbY8}NEV>SL$mhE-DI_suW zo?orNC%fIXlX86OS_a?C8h>ql~u4@|`n0K1KI3o%gtih(QRaI1qRM&RrOz7Psm5*+lR6bK%=jSUx z>>K<#TUI;znMsa$8p6%XljxXa_6F#55xl*tdN#cN%(O~}kREhg;BJ9)ub)=6EN{}{ z2?PYW7Fu7?k2>g!>yX-3?uN&1m?pyu`=?dZiPq<=ypNvxp_y>+rt0!?omH0obo`1l zZ_*^i!?*0aa;q$`U^KdLa-CD}ea=5Y@~k}m)4T#d9R{V1?oc>P6S3T#071zGKb_>5 zHI*+s(P2ws%mc4o;9elHuS;5#oFjZ_0?xY7y=yGHy1+KoR5+0cDR6U_+qVkayvqU& z@wCXgt72Ywg~_|zuU+nQnN?s64K%HN`ts+V`og0qo4@R6EG3$hXb3*s?Vc@}^^~Dn zLofDmQy_ZQ7z#AVsH_10nh?4rds`_glI2TPy0kER(Zo!rgKG5o zT;bnVe20%d&=5sD&>#Z+QTI8AX#U}qC=P#C^A2-{+-K&RYPdS;o_m~GWS9}dUq!7f zbjREs<5@=dR?L0*kvC89$v8G{3?l?D#NEqs%nHm+xa*1;5!jS)pI*!)z{e8qvx=)V z{3YR*NQ3L%iZl$X7AM z10w#$ijI!fEv=9^8^8Zy6XJ7HyL+mgUdO~NZ!M|A$)gT61$OgN@Xxfnrr-QR5N)AF z`Wl5NPn&l5FL%Sv*u6LHN9PPmd`m;;C|6ZZon$I{=xX!rs$U1+c(u7|zCNVWlA!r* zgKh1bwr=T!U%U¨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≈9^(p!eVX<-=i`TM?8cD< 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 A!T + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from __future__ import print_function + +import atexit +from collections import defaultdict +import csv +import gzip +try: + from html import escape +except ImportError: + from cgi import escape +from optparse import OptionParser +import os +import shutil +import sys +import tempfile +from textwrap import dedent +import time + +import apt_pkg +from launchpadlib.launchpad import Launchpad + +from charts import make_chart, make_chart_header + + +tempdir = None + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix='architecture-mismatches') + atexit.register(shutil.rmtree, tempdir) + + +def decompress_open(tagfile): + ensure_tempdir() + decompressed = tempfile.mktemp(dir=tempdir) + fin = gzip.GzipFile(filename=tagfile) + with open(decompressed, 'wb') as fout: + fout.write(fin.read()) + return open(decompressed, 'r') + + +def print_section(options, header, items): + print("%s:" % header) + print("-" * (len(header) + 1)) + print() + for item in items: + print(item) + print() + + if options.html_output is not None: + print("

%s

" % escape(header), file=options.html_output) + print("
    ", file=options.html_output) + for item in items: + print("
  • %s
  • " % escape(item), file=options.html_output) + print("
", file=options.html_output) + + +def process(options, suite, components, arches): + results = {} + results["time"] = int(options.time * 1000) + + archive = os.path.expanduser('~/mirror/ubuntu/') + + pkgcomp = defaultdict(lambda: defaultdict(list)) + pkgsect = defaultdict(lambda: defaultdict(list)) + pkgprio = defaultdict(lambda: defaultdict(list)) + archall = defaultdict(set) + archany = set() + for component in components: + for arch in arches: + for suffix in '', '/debian-installer': + binaries_path = "%s/dists/%s/%s%s/binary-%s/Packages.gz" % ( + archive, suite, component, suffix, arch) + for section in apt_pkg.TagFile(decompress_open(binaries_path)): + if 'Package' in section: + pkg = section['Package'] + pkgcomp[pkg][component].append(arch) + if 'Section' in section: + pkgsect[pkg][section['Section']].append(arch) + if 'Priority' in section: + pkgprio[pkg][section['Priority']].append(arch) + if 'Architecture' in section: + if section['Architecture'] == 'all': + archall[pkg].add(arch) + else: + archany.add(pkg) + + packages = sorted(pkgcomp) + + items = [] + for pkg in packages: + if len(pkgcomp[pkg]) > 1: + out = [] + for component in sorted(pkgcomp[pkg]): + out.append("%s [%s]" % + (component, + ' '.join(sorted(pkgcomp[pkg][component])))) + items.append("%s: %s" % (pkg, ' '.join(out))) + print_section( + options, "Packages with inconsistent components between architectures", + items) + results["inconsistent components"] = len(items) + + items = [] + for pkg in packages: + if pkg in pkgsect and len(pkgsect[pkg]) > 1: + out = [] + for section in sorted(pkgsect[pkg]): + out.append("%s [%s]" % + (section, + ' '.join(sorted(pkgsect[pkg][section])))) + items.append("%s: %s" % (pkg, ' '.join(out))) + print_section( + options, "Packages with inconsistent sections between architectures", + items) + results["inconsistent sections"] = len(items) + + items = [] + for pkg in packages: + if pkg in pkgprio and len(pkgprio[pkg]) > 1: + out = [] + for priority in sorted(pkgprio[pkg]): + out.append("%s [%s]" % + (priority, + ' '.join(sorted(pkgprio[pkg][priority])))) + items.append("%s: %s" % (pkg, ' '.join(out))) + print_section( + options, "Packages with inconsistent priorities between architectures", + items) + results["inconsistent priorities"] = len(items) + + items = [] + archesset = set(arches) + for pkg in packages: + if (pkg not in archany and + pkg in archall and len(archall[pkg]) < len(arches)): + missing = sorted(archesset - archall[pkg]) + items.append("%s [%s]" % (pkg, ' '.join(missing))) + print_section( + options, + "Architecture-independent packages missing from some architectures", + items) + results["missing arch-indep"] = len(items) + + return results + + +def main(): + parser = OptionParser( + description='Check for override mismatches between architectures.') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option('-o', '--output-file', help='output to this file') + parser.add_option('--html-output-file', help='output HTML to this file') + parser.add_option( + '--csv-file', help='record CSV time series data in this file') + parser.add_option('-s', '--suite', help='check this suite') + options, args = parser.parse_args() + + if options.suite is None: + launchpad = Launchpad.login_anonymously( + 'architecture-mismatches', options.launchpad_instance) + options.suite = launchpad.distributions['ubuntu'].current_series.name + + suite = options.suite + components = ["main", "restricted", "universe", "multiverse"] + arches = ["amd64", "arm64", "armhf", "i386", "ppc64el", "s390x"] + + if options.output_file is not None: + sys.stdout = open('%s.new' % options.output_file, 'w') + if options.html_output_file is not None: + options.html_output = open('%s.new' % options.html_output_file, 'w') + else: + options.html_output = None + + options.time = time.time() + options.timestamp = time.strftime( + '%a %b %e %H:%M:%S %Z %Y', time.gmtime(options.time)) + print('Generated: %s' % options.timestamp) + print() + + if options.html_output is not None: + print(dedent("""\ + + + + + Architecture mismatches for %s + + %s + + +

Architecture mismatches for %s

+ """) % ( + escape(options.suite), make_chart_header(), + escape(options.suite)), + file=options.html_output) + + results = process(options, suite, components, arches) + + if options.html_output_file is not None: + print("

Over time

", file=options.html_output) + print( + make_chart("architecture-mismatches.csv", [ + "inconsistent components", + "inconsistent sections", + "inconsistent priorities", + "missing arch-indep", + ]), + file=options.html_output) + print( + "

Generated: %s

" % escape(options.timestamp), + file=options.html_output) + print("", file=options.html_output) + options.html_output.close() + os.rename( + '%s.new' % options.html_output_file, options.html_output_file) + if options.output_file is not None: + sys.stdout.close() + os.rename('%s.new' % options.output_file, options.output_file) + if options.csv_file is not None: + if sys.version < "3": + open_mode = "ab" + open_kwargs = {} + else: + open_mode = "a" + open_kwargs = {"newline": ""} + csv_is_new = not os.path.exists(options.csv_file) + with open(options.csv_file, open_mode, **open_kwargs) as csv_file: + # Field names deliberately hardcoded; any changes require + # manually rewriting the output file. + fieldnames = [ + "time", + "inconsistent components", + "inconsistent sections", + "inconsistent priorities", + "missing arch-indep", + ] + csv_writer = csv.DictWriter(csv_file, fieldnames) + if csv_is_new: + csv_writer.writeheader() + csv_writer.writerow(results) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/archive-cruft-check b/ubuntu-archive-tools/archive-cruft-check new file mode 100755 index 0000000..d84ef5d --- /dev/null +++ b/ubuntu-archive-tools/archive-cruft-check @@ -0,0 +1,368 @@ +#! /usr/bin/python +# Copyright 2009-2012 Canonical Ltd. This software is licensed under the +# GNU Affero General Public License version 3. + +from __future__ import print_function + +from collections import defaultdict +import logging +import optparse +import os +import re +import subprocess +import sys +import tempfile + +import apt_pkg +from launchpadlib.errors import HTTPError +from launchpadlib.launchpad import Launchpad + + +re_extract_src_version = re.compile(r"(\S+)\s*\((.*)\)") + + +class ArchiveCruftCheckerError(Exception): + """ArchiveCruftChecker specific exception. + + Mostly used to describe errors in the initialization of this object. + """ + + +class TagFileNotFound(Exception): + """Raised when an archive tag file could not be found.""" + + +class ArchiveCruftChecker: + """Perform overall checks to identify and remove obsolete records. + + Use initialize() method to validate passed parameters and build the + infrastructure variables. It will raise ArchiveCruftCheckerError if + something goes wrong. + """ + + # XXX cprov 2006-05-15: the default archive path should come + # from the config. + def __init__(self, launchpad_instance='production', + distribution_name='ubuntu', suite=None, + archive_path='/srv/launchpad.net/ubuntu-archive'): + """Store passed arguments. + + Also initialize empty variables for storing preliminary results. + """ + self.launchpad = Launchpad.login_anonymously( + 'archive-cruft-check', launchpad_instance) + self.distribution_name = distribution_name + self.suite = suite + self.archive_path = archive_path + # initialize a group of variables to store temporary results + # available versions of published sources + self.source_versions = {} + # available binaries produced by published sources + self.source_binaries = {} + # 'Not Build From Source' binaries + self.nbs = defaultdict(lambda: defaultdict(dict)) + # published binary package names + self.bin_pkgs = defaultdict(list) + # Architecture specific binary packages + self.arch_any = defaultdict(lambda: "0") + # proposed NBS (before clean up) + self.dubious_nbs = defaultdict(lambda: defaultdict(set)) + # NBS after clean up + self.real_nbs = defaultdict(lambda: defaultdict(set)) + # definitive NBS organized for clean up + self.nbs_to_remove = [] + + @property + def components_and_di(self): + components_and_di = [] + for component in self.components: + components_and_di.append(component) + components_and_di.append('%s/debian-installer' % (component)) + return components_and_di + + @property + def dist_archive(self): + return os.path.join( + self.archive_path, self.distro.name, 'dists', self.suite) + + def gunzipTagFileContent(self, filename): + """Gunzip the contents of passed filename. + + Check filename presence, if not present in the filesystem, + raises ArchiveCruftCheckerError. Use an tempfile.mkstemp() + to store the uncompressed content. Invoke system available + gunzip`, raises ArchiveCruftCheckError if it fails. + + This method doesn't close the file descriptor used and does not + remove the temporary file from the filesystem, those actions + are required in the callsite. (apt_pkg.TagFile is lazy) + + Return a tuple containing: + * temp file descriptor + * temp filename + * the contents parsed by apt_pkg.TagFile() + """ + if not os.path.exists(filename): + raise TagFileNotFound("File does not exist: %s" % filename) + + temp_fd, temp_filename = tempfile.mkstemp() + subprocess.check_call(['gunzip', '-c', filename], stdout=temp_fd) + + os.lseek(temp_fd, 0, os.SEEK_SET) + temp_file = os.fdopen(temp_fd) + # XXX cprov 2006-05-15: maybe we need some sort of data integrity + # check at this point, and maybe keep the uncompressed file + # for debug purposes, let's see how it behaves in real conditions. + parsed_contents = apt_pkg.TagFile(temp_file) + + return temp_file, temp_filename, parsed_contents + + def processSources(self): + """Process archive sources index. + + Build source_binaries, source_versions and bin_pkgs lists. + """ + logging.debug("Considering Sources:") + for component in self.components: + filename = os.path.join( + self.dist_archive, "%s/source/Sources.gz" % component) + + logging.debug("Processing %s" % filename) + try: + temp_fd, temp_filename, parsed_sources = ( + self.gunzipTagFileContent(filename)) + except TagFileNotFound as warning: + logging.warning(warning) + return + try: + for section in parsed_sources: + source = section.find("Package") + source_version = section.find("Version") + binaries = section.find("Binary") + for binary in [ + item.strip() for item in binaries.split(',')]: + self.bin_pkgs[binary].append(source) + + self.source_binaries[source] = binaries + self.source_versions[source] = source_version + finally: + # close fd and remove temporary file used to store + # uncompressed tag file content from the filesystem. + temp_fd.close() + os.unlink(temp_filename) + + def buildNBS(self): + """Build the group of 'not build from source' binaries""" + # Checks based on the Packages files + logging.debug("Building not built from source list (NBS):") + for component in self.components_and_di: + for architecture in self.architectures: + self.buildArchNBS(component, architecture) + + def buildArchNBS(self, component, architecture): + """Build NBS per architecture. + + Store results in self.nbs, also build architecture specific + binaries group (stored in self.arch_any) + """ + filename = os.path.join( + self.dist_archive, + "%s/binary-%s/Packages.gz" % (component, architecture)) + + logging.debug("Processing %s" % filename) + try: + temp_fd, temp_filename, parsed_packages = ( + self.gunzipTagFileContent(filename)) + except TagFileNotFound as warning: + logging.warn(warning) + return + + try: + for section in parsed_packages: + package = section.find('Package') + source = section.find('Source', "") + version = section.find('Version') + architecture = section.find('Architecture') + + if source == "": + source = package + + if source.find("(") != -1: + m = re_extract_src_version.match(source) + source = m.group(1) + version = m.group(2) + + if package not in self.bin_pkgs: + self.nbs[source][package][version] = "" + + if architecture != "all": + if apt_pkg.version_compare( + version, self.arch_any[package]) < 1: + self.arch_any[package] = version + finally: + # close fd and remove temporary file used to store uncompressed + # tag file content from the filesystem. + temp_fd.close() + os.unlink(temp_filename) + + def addNBS(self, nbs_d, source, version, package): + """Add a new entry in given organized nbs_d list + + Ensure the package is still published in the suite before add. + """ + result = self.archive.getPublishedBinaries( + binary_name=package, exact_match=True, status='Published') + result = [bpph for bpph in result + if bpph.distro_arch_series_link in self.das_urls] + + if result: + nbs_d[source][version].add(package) + + def refineNBS(self): + """ Distinguish dubious from real NBS. + + They are 'dubious' if the version numbers match and 'real' + if the versions don't match. + It stores results in self.dubious_nbs and self.real_nbs. + """ + for source in self.nbs: + for package in self.nbs[source]: + versions = sorted( + self.nbs[source][package], cmp=apt_pkg.version_compare) + latest_version = versions.pop() + + source_version = self.source_versions.get(source, "0") + + if apt_pkg.version_compare(latest_version, + source_version) == 0: + # We don't actually do anything with dubious_nbs for + # now, so let's not waste time computing it. + #self.addNBS(self.dubious_nbs, source, latest_version, + # package) + pass + else: + self.addNBS(self.real_nbs, source, latest_version, + package) + + def outputNBS(self): + """Properly display built NBS entries. + + Also organize the 'real' NBSs for removal in self.nbs_to_remove + attribute. + """ + output = "Not Built from Source\n" + output += "---------------------\n\n" + + nbs_keys = sorted(self.real_nbs) + + for source in nbs_keys: + proposed_bin = self.source_binaries.get( + source, "(source does not exist)") + proposed_version = self.source_versions.get(source, "??") + output += (" * %s_%s builds: %s\n" + % (source, proposed_version, proposed_bin)) + output += "\tbut no longer builds:\n" + versions = sorted( + self.real_nbs[source], cmp=apt_pkg.version_compare) + + for version in versions: + packages = sorted(self.real_nbs[source][version]) + + for pkg in packages: + self.nbs_to_remove.append(pkg) + + output += " o %s: %s\n" % ( + version, ", ".join(packages)) + + output += "\n" + + if self.nbs_to_remove: + print(output) + else: + logging.debug("No NBS found") + + def run(self): + """Initialize and build required lists of obsolete entries in archive. + + Check integrity of passed parameters and store organised data. + The result list is the self.nbs_to_remove which should contain + obsolete packages not currently able to be built from again. + Another preliminary lists can be inspected in order to have better + idea of what was computed. + If anything goes wrong mid-process, it raises ArchiveCruftCheckError, + otherwise a list of packages to be removes is printed. + """ + try: + self.distro = self.launchpad.distributions[ + self.distribution_name] + except KeyError: + raise ArchiveCruftCheckerError( + "Invalid distribution: '%s'" % self.distribution_name) + + if not self.suite: + self.distroseries = self.distro.current_series + self.suite = self.distroseries.name + else: + try: + self.distroseries = self.distro.getSeries( + name_or_version=self.suite.split('-')[0]) + except HTTPError: + raise ArchiveCruftCheckerError( + "Invalid suite: '%s'" % self.suite) + + if not os.path.exists(self.dist_archive): + raise ArchiveCruftCheckerError( + "Invalid archive path: '%s'" % self.dist_archive) + + self.archive = self.distro.main_archive + self.distroarchseries = list(self.distroseries.architectures) + self.das_urls = [das.self_link for das in self.distroarchseries] + self.architectures = [a.architecture_tag + for a in self.distroarchseries] + self.components = self.distroseries.component_names + + apt_pkg.init() + self.processSources() + self.buildNBS() + self.refineNBS() + self.outputNBS() + + +def main(): + parser = optparse.OptionParser() + + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-d", "--distro", dest="distro", default="ubuntu", help="check DISTRO") + parser.add_option( + "-s", "--suite", dest="suite", help="only act on SUITE") + parser.add_option( + "-n", "--no-action", dest="action", default=True, action="store_false", + help="unused compatibility option") + parser.add_option( + "-v", "--verbose", dest="verbose", default=False, action="store_true", + help="emit verbose debugging messages") + + options, args = parser.parse_args() + + if args: + archive_path = args[0] + else: + logging.error('Archive path is required') + return 1 + + if options.verbose: + logging.basicConfig(level=logging.DEBUG) + + checker = ArchiveCruftChecker( + launchpad_instance=options.launchpad_instance, + distribution_name=options.distro, suite=options.suite, + archive_path=archive_path) + checker.run() + + return 0 + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/ubuntu-archive-tools/auto-sync b/ubuntu-archive-tools/auto-sync new file mode 100755 index 0000000..cd6d6b9 --- /dev/null +++ b/ubuntu-archive-tools/auto-sync @@ -0,0 +1,807 @@ +#! /usr/bin/python3 + +# Copyright 2012 Canonical Ltd. +# Author: Colin Watson +# Based loosely but rather distantly on Launchpad's sync-source.py. +# TODO: This should share more code with syncpackage. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +"""Sync all packages without Ubuntu-specific modifications from Debian.""" + +from __future__ import print_function + +import atexit +from contextlib import closing +import errno +import fnmatch +from functools import cmp_to_key +import gzip +from optparse import OptionParser, Values +import os +import re +import shutil +import ssl +import subprocess +import sys +import tempfile +import time +try: + from urllib.error import HTTPError + from urllib.request import urlopen +except ImportError: + from urllib2 import HTTPError, urlopen + +import apt_pkg +from debian import deb822 +from launchpadlib.launchpad import Launchpad +from lazr.restfulclient.errors import ServerError +from ubuntutools.archive import DownloadError, SourcePackage + +import lputils + + +CONSUMER_KEY = "auto-sync" + + +default_suite = { + # TODO: map from unstable + "debian": "sid", +} + + +class Percentages: + """Helper to compute percentage ratios compared to a fixed total.""" + + def __init__(self, total): + self.total = total + + def get_ratio(self, number): + """Report the ratio of `number` to `self.total`, as a percentage.""" + return (float(number) / self.total) * 100 + + +def read_blacklist(url): + """Parse resource at given URL as a 'blacklist'. + + Format: + + {{{ + # [comment] + # [comment] + }}} + + Return a list of patterns (fnmatch-style) matching blacklisted source + package names. + + Return an empty list if the given URL doesn't exist. + """ + # TODO: The blacklist should migrate into LP, at which point this + # function will be unnecessary. + blacklist = [] + + try: + with closing(urlopen(url)) as url_file: + for line in url_file: + try: + line = line[:line.index(b'#')] + except ValueError: + pass + line = line.strip() + if not line: + continue + blacklist.append(line.decode('utf-8')) + pass + except HTTPError as e: + if e.code != 404: + raise + + return blacklist + + +def is_blacklisted(blacklist, src): + for pattern in blacklist: + if fnmatch.fnmatch(src, pattern): + return True + return False + + +tempdir = None + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix='auto-sync') + atexit.register(shutil.rmtree, tempdir) + + +def read_ubuntu_sources(options): + """Read information from the Ubuntu Sources files. + + Returns a sequence of: + * a mapping of source package names to versions + * a mapping of binary package names to (source, version) tuples + """ + if options.target.distribution.name != 'ubuntu': + return + + print("Reading Ubuntu sources ...") + source_map = {} + binary_map = {} + + ensure_tempdir() + suites = [options.target.suite] + if options.target.pocket != "Release": + suites.insert(0, options.target.series.name) + for suite in suites: + for component in ("main", "restricted", "universe", "multiverse"): + url = ("http://archive.ubuntu.com/ubuntu/dists/%s/%s/source/" + "Sources.gz" % (suite, component)) + sources_path = os.path.join( + tempdir, "Ubuntu_%s_%s_Sources" % (suite, component)) + with closing(urlopen(url)) as url_file: + with open("%s.gz" % sources_path, "wb") as comp_file: + comp_file.write(url_file.read()) + with closing(gzip.GzipFile("%s.gz" % sources_path)) as gz_file: + with open(sources_path, "wb") as out_file: + out_file.write(gz_file.read()) + with open(sources_path) as sources_file: + apt_sources = apt_pkg.TagFile(sources_file) + for section in apt_sources: + src = section["Package"] + ver = section["Version"] + if (src not in source_map or + apt_pkg.version_compare(source_map[src], ver) < 0): + source_map[src] = ver + binaries = apt_pkg.parse_depends( + section.get("Binary", src)) + for pkg in [b[0][0] for b in binaries]: + if (pkg not in binary_map or + apt_pkg.version_compare( + binary_map[pkg][1], ver) < 0): + binary_map[pkg] = (src, ver) + + return source_map, binary_map + + +def read_debian_sources(options): + """Read information from the Debian Sources files. + + Returns a mapping of source package names to (version, set of + architectures) tuples. + """ + if options.source.distribution.name != 'debian': + return + + print("Reading Debian sources ...") + source_map = {} + + ensure_tempdir() + for component in ("main", "contrib", "non-free"): + url = ("http://ftp.debian.org/debian/dists/%s/%s/source/" + "Sources.gz" % (options.source.suite, component)) + sources_path = os.path.join( + tempdir, + "Debian_%s_%s_Sources" % (options.source.suite, component)) + with closing(urlopen(url)) as url_file: + with open("%s.gz" % sources_path, "wb") as compressed_file: + compressed_file.write(url_file.read()) + with closing(gzip.GzipFile("%s.gz" % sources_path)) as gz_file: + with open(sources_path, "wb") as out_file: + out_file.write(gz_file.read()) + with open(sources_path) as sources_file: + apt_sources = apt_pkg.TagFile(sources_file) + for section in apt_sources: + src = section["Package"] + ver = section["Version"] + if (src not in source_map or + apt_pkg.version_compare(source_map[src][0], ver) < 0): + source_map[src] = ( + ver, set(section.get("Architecture", "").split())) + + return source_map + + +def read_new_queue(options): + """Return the set of packages already in the NEW queue.""" + new_queue = options.target.series.getPackageUploads( + archive=options.target.archive, status="New") + return set([pu.package_name for pu in new_queue + if pu.contains_source or pu.contains_copy]) + + +def question(options, message, choices, default): + choices = "/".join([c.upper() if c == default else c for c in choices]) + if options.batch: + print("%s (%s)? %s" % (message, choices, default.lower())) + return default.lower() + else: + sys.stdout.write("%s (%s)? " % (message, choices)) + sys.stdout.flush() + return sys.stdin.readline().rstrip().lower() + + +def filter_pockets(spphs): + """Filter SourcePackagePublishingHistory entries to useful pockets.""" + return [spph for spph in spphs if spph.pocket in ("Release", "Proposed")] + + +def version_sort_spphs(spphs): + """Sort a list of SourcePackagePublishingHistory entries by version. + + We return the list in reversed form (highest version first), since + that's what the consumers of this function prefer anyway. + """ + def version_compare(x, y): + return apt_pkg.version_compare( + x.source_package_version, y.source_package_version) + + return sorted( + spphs, key=cmp_to_key(version_compare), reverse=True) + + +class FakeDifference: + """A partial stub for DistroSeriesDifference. + + Used when the destination series was initialised with a different + parent, so we don't get real DSDs. + """ + def __init__(self, options, src, ver): + self.options = options + self.status = "Needs attention" + self.sourcepackagename = src + self.source_version = ver + self.real_parent_source_version = None + self.fetched_parent_source_version = False + + @property + def parent_source_version(self): + """The version in the parent series. + + We can't take this directly from read_debian_sources, since we need + the version imported into Launchpad and Launchpad may be behind; so + we have to call Archive.getPublishedSources to find this out. As + such, this is expensive, so we only do it when necessary. + """ + if not self.fetched_parent_source_version: + spphs = self.options.source.archive.getPublishedSources( + distro_series=self.options.source.series, + pocket=self.options.source.pocket, + source_name=self.sourcepackagename, exact_match=True, + status="Published") + spphs = version_sort_spphs(spphs) + if spphs: + self.real_parent_source_version = \ + spphs[0].source_package_version + self.fetched_parent_source_version = True + return self.real_parent_source_version + + +def get_differences(options, ubuntu_sources, debian_sources): + # DSDs are not quite sufficiently reliable for us to use them here, + # regardless of the parent series. See: + # https://bugs.launchpad.net/launchpad/+bug/1003969 + # Also, how would this work with non-Release pockets? + # if options.source.series in options.target.series.getParentSeries(): + if False: + for status in ( + "Needs attention", + "Blacklisted current version", + "Blacklisted always", + ): + for difference in options.target.series.getDifferencesTo( + parent_series=options.source.series, status=status): + yield difference + else: + # Hack around missing DSDs if the series was initialised with a + # different parent. + for src in sorted(debian_sources): + if (src not in ubuntu_sources or + apt_pkg.version_compare( + ubuntu_sources[src], debian_sources[src][0]) < 0): + yield FakeDifference(options, src, ubuntu_sources.get(src)) + + +def published_in_source_series(options, difference): + # Oddly, sometimes packages seem to show up as a difference without + # actually being published in options.source.series. Filter those out. + src = difference.sourcepackagename + from_version = difference.parent_source_version + from_src = options.source.archive.getPublishedSources( + distro_series=options.source.series, pocket=options.source.pocket, + source_name=src, version=from_version, exact_match=True, + status="Published") + if not from_src: + if options.verbose: + print( + "No published sources for %s_%s in %s/%s?" % ( + src, from_version, + options.source.distribution.display_name, + options.source.suite), + file=sys.stderr) + return False + else: + return True + + +def already_in_target_series(options, difference): + # The published Sources files may be out of date, and if we're + # particularly unlucky with timing relative to a proposed-migration run + # it's possible for them to miss something that's in the process of + # being moved between pockets. To make sure, check whether an equal or + # higher version has already been removed from the destination archive. + src = difference.sourcepackagename + from_version = difference.parent_source_version + to_src = version_sort_spphs(filter_pockets( + options.target.archive.getPublishedSources( + distro_series=options.target.series, source_name=src, + exact_match=True))) + if (to_src and + apt_pkg.version_compare( + from_version, to_src[0].source_package_version) <= 0): + return True + else: + return False + + +def architectures_allowed(dsc, target): + """Return True if the architecture set dsc is compatible with target.""" + if dsc == set(["all"]): + return True + for dsc_arch in dsc: + for target_arch in target: + command = [ + "dpkg-architecture", "-a%s" % target_arch, "-i%s" % dsc_arch] + env = dict(os.environ) + env["CC"] = "true" + if subprocess.call(command, env=env) == 0: + return True + return False + + +def retry_errors(func): + for retry_count in range(7): + try: + return func() + except ssl.SSLError: + pass + except DownloadError as e: + # These are unpleasantly difficult to parse, but we have little + # choice since the exception object lacks useful metadata. + code = None + match = re.match(r".*?: (.*?) ", str(e)) + if match is not None: + try: + code = int(match.group(1)) + except ValueError: + pass + if code in (502, 503): + time.sleep(int(2 ** (retry_count - 1))) + else: + raise + + +def sync_one_difference(options, binary_map, difference, source_names): + src = difference.sourcepackagename + print(" * Trying to add %s ..." % src) + + # We use SourcePackage directly here to avoid having to hardcode Debian + # and Ubuntu, and because we got the package list from + # DistroSeries.getDifferencesTo() so we can guarantee that Launchpad + # knows about all of them. + from_srcpkg = SourcePackage( + package=src, version=difference.parent_source_version, + lp=options.launchpad) + from_srcpkg.distribution = options.source.distribution.name + retry_errors(from_srcpkg.pull_dsc) + + if difference.source_version is not None: + # Check whether this will require a fakesync. + to_srcpkg = SourcePackage( + package=src, version=difference.source_version, + lp=options.launchpad) + to_srcpkg.distribution = options.target.distribution.name + retry_errors(to_srcpkg.pull_dsc) + if not from_srcpkg.dsc.compare_dsc(to_srcpkg.dsc): + print("[Skipping (requires fakesync)] %s_%s (vs %s)" % ( + src, difference.parent_source_version, + difference.source_version)) + return False + + from_binary = deb822.PkgRelation.parse_relations( + from_srcpkg.dsc["binary"]) + pkgs = [entry[0]["name"] for entry in from_binary] + + for pkg in pkgs: + if pkg in binary_map: + current_src, current_ver = binary_map[pkg] + + # TODO: Check that a non-main source package is not trying to + # override a main binary package (we don't know binary + # components yet). + + # Check that a source package is not trying to override an + # Ubuntu-modified binary package. + if "ubuntu" in current_ver: + answer = question( + options, + "%s_%s is trying to override modified binary %s_%s. " + "OK" % ( + src, difference.parent_source_version, + pkg, current_ver), "yn", "n") + if answer != "y": + return False + + print("I: %s -> %s_%s." % (src, pkg, current_ver)) + + source_names.append(src) + return True + + +failed_copy = None + +def copy_packages(options, source_names): + global failed_copy + if failed_copy is not None and len(source_names) >= failed_copy: + source_names_left = source_names[:len(source_names) // 2] + source_names_right = source_names[len(source_names) // 2:] + copy_packages(options, source_names_left) + copy_packages(options, source_names_right) + return + + try: + options.target.archive.copyPackages( + source_names=source_names, + from_archive=options.source.archive, + from_series=options.source.series.name, + to_series=options.target.series.name, + to_pocket=options.target.pocket, + include_binaries=False, sponsored=options.requestor, + auto_approve=True, silent=True) + except ServerError as e: + if len(source_names) < 100: + raise + if e.response.status != 503: + raise + print("Cannot copy %d packages at once; bisecting ..." % + len(source_names)) + failed_copy = len(source_names) + source_names_left = source_names[:len(source_names) // 2] + source_names_right = source_names[len(source_names) // 2:] + copy_packages(options, source_names_left) + copy_packages(options, source_names_right) + + +def sync_differences(options): + stat_us = 0 + stat_cant_update = 0 + stat_updated = 0 + stat_uptodate_modified = 0 + stat_uptodate = 0 + stat_count = 0 + stat_blacklisted = 0 + + blacklist = read_blacklist( + "http://people.canonical.com/~ubuntu-archive/sync-blacklist.txt") + ubuntu_sources, binary_map = read_ubuntu_sources(options) + debian_sources = read_debian_sources(options) + new_queue = read_new_queue(options) + + print("Getting differences between %s/%s and %s/%s ..." % ( + options.source.distribution.display_name, options.source.suite, + options.target.distribution.display_name, options.target.suite)) + new_differences = [] + updated_source_names = [] + new_source_names = [] + seen_differences = set() + for difference in get_differences(options, ubuntu_sources, debian_sources): + status = difference.status + if status == "Resolved": + stat_uptodate += 1 + continue + + stat_count += 1 + src = difference.sourcepackagename + if src in seen_differences: + continue + seen_differences.add(src) + to_version = difference.source_version + if to_version is None: + src_ver = src + else: + src_ver = "%s_%s" % (src, to_version) + src_is_blacklisted = is_blacklisted(blacklist, src) + if src_is_blacklisted or status == "Blacklisted always": + if options.verbose: + if src_is_blacklisted: + print("[BLACKLISTED] %s" % src_ver) + else: + comments = options.target.series.getDifferenceComments( + source_package_name=src) + if comments: + print("""[BLACKLISTED] %s (%s: "%s")""" % ( + src_ver, comments[-1].comment_author.name, + comments[-1].body_text)) + else: + print("[BLACKLISTED] %s" % src_ver) + stat_blacklisted += 1 + # "Blacklisted current version" is supposed to mean that the version + # in options.target.series is higher than that in + # options.source.series. However, I've seen cases that suggest that + # this status isn't necessarily always kept up to date properly. + # Since we're perfectly capable of checking the versions for + # ourselves anyway, let's just be cautious and check everything with + # both plausible statuses. + elif status in ("Needs attention", "Blacklisted current version"): + from_version = difference.parent_source_version + if from_version is None: + if options.verbose: + print("[Ubuntu Specific] %s" % src_ver) + stat_us += 1 + continue + if to_version is None: + if not published_in_source_series(options, difference): + continue + # Handle new packages at the end, since they require more + # interaction. + if options.new: + new_differences.append(difference) + continue + elif options.new_only: + stat_uptodate += 1 + elif apt_pkg.version_compare(to_version, from_version) < 0: + if "ubuntu" in to_version: + if options.verbose: + print("[NOT Updating - Modified] %s (vs %s)" % ( + src_ver, from_version)) + stat_cant_update += 1 + else: + if not published_in_source_series(options, difference): + continue + if already_in_target_series(options, difference): + continue + print("[Updating] %s (%s [%s] < %s [%s])" % ( + src, to_version, + options.target.distribution.display_name, + from_version, + options.source.distribution.display_name)) + if sync_one_difference( + options, binary_map, difference, + updated_source_names): + stat_updated += 1 + else: + stat_cant_update += 1 + elif "ubuntu" in to_version: + if options.verbose: + print("[Nothing to update (Modified)] %s (vs %s)" % ( + src_ver, from_version)) + stat_uptodate_modified += 1 + else: + if options.verbose: + print("[Nothing to update] %s (%s [%s] >= %s [%s])" % ( + src, to_version, + options.target.distribution.display_name, + from_version, + options.source.distribution.display_name)) + stat_uptodate += 1 + else: + print("[Unknown status] %s (%s)" % (src_ver, status), + file=sys.stderr) + + target_architectures = set( + a.architecture_tag for a in options.target.architectures) + for difference in new_differences: + src = difference.sourcepackagename + from_version = difference.parent_source_version + if src in new_queue: + print("[Skipping (already in NEW)] %s_%s" % (src, from_version)) + continue + if not architectures_allowed( + debian_sources[src][1], target_architectures): + if options.verbose: + print( + "[Skipping (not built on any target architecture)] %s_%s" % + (src, from_version)) + continue + to_src = version_sort_spphs(filter_pockets( + options.target.archive.getPublishedSources( + source_name=src, exact_match=True))) + if (to_src and + apt_pkg.version_compare( + from_version, to_src[0].source_package_version) <= 0): + # Equal or higher version already removed from destination + # distribution. + continue + print("[New] %s_%s" % (src, from_version)) + if to_src: + print("Previous publications in %s:" % + options.target.distribution.display_name) + for spph in to_src[:10]: + desc = " %s (%s): %s" % ( + spph.source_package_version, spph.distro_series.name, + spph.status) + if (spph.status == "Deleted" and + spph.removed_by is not None and + spph.removal_comment is not None): + desc += " (removed by %s: %s)" % ( + spph.removed_by.display_name, spph.removal_comment) + print(desc) + if len(to_src) > 10: + history_url = "%s/+source/%s/+publishinghistory" % ( + options.target.distribution.web_link, src) + print(" ... plus %d more; see %s" % + (len(to_src) - 10, history_url)) + else: + print("No previous publications in %s" % + options.target.distribution.display_name) + answer = question(options, "OK", "yn", "y") + new_ok = (answer != "n") + if new_ok: + if sync_one_difference( + options, binary_map, difference, new_source_names): + stat_updated += 1 + else: + stat_cant_update += 1 + else: + stat_blacklisted += 1 + + percentages = Percentages(stat_count) + print() + print("Out-of-date BUT modified: %3d (%.2f%%)" % ( + stat_cant_update, percentages.get_ratio(stat_cant_update))) + print("Updated: %3d (%.2f%%)" % ( + stat_updated, percentages.get_ratio(stat_updated))) + print("Ubuntu Specific: %3d (%.2f%%)" % ( + stat_us, percentages.get_ratio(stat_us))) + print("Up-to-date [Modified]: %3d (%.2f%%)" % ( + stat_uptodate_modified, percentages.get_ratio(stat_uptodate_modified))) + print("Up-to-date: %3d (%.2f%%)" % ( + stat_uptodate, percentages.get_ratio(stat_uptodate))) + print("Blacklisted: %3d (%.2f%%)" % ( + stat_blacklisted, percentages.get_ratio(stat_blacklisted))) + print(" -----------") + print("Total: %s" % stat_count) + + if updated_source_names + new_source_names: + print() + if updated_source_names: + print("Updating: %s" % " ".join(updated_source_names)) + if new_source_names: + print("New: %s" % " ".join(new_source_names)) + if options.dry_run: + print("Not copying packages in dry-run mode.") + else: + answer = question(options, "OK", "yn", "y") + if answer != "n": + copy_packages(options, updated_source_names + new_source_names) + + +def main(): + if sys.version >= '3': + # Force encoding to UTF-8 even in non-UTF-8 locales. + import io + sys.stdout = io.TextIOWrapper( + sys.stdout.detach(), encoding="UTF-8", line_buffering=True) + else: + # Avoid having to do .encode('UTF-8') everywhere. This is a pain; I + # wish Python supported something like + # "sys.stdout.encoding = 'UTF-8'". + def fix_stdout(): + import codecs + sys.stdout = codecs.EncodedFile(sys.stdout, 'UTF-8') + + def null_decode(input, errors='strict'): + return input, len(input) + sys.stdout.decode = null_decode + + fix_stdout() + + parser = OptionParser(usage="usage: %prog [options]") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-v", "--verbose", dest="verbose", + default=False, action="store_true", help="be more verbose") + parser.add_option( + "--log-directory", help="log to a file under this directory") + parser.add_option( + "-d", "--to-distro", dest="todistro", default="ubuntu", + metavar="DISTRO", help="sync to DISTRO") + parser.add_option( + "-s", "--to-suite", dest="tosuite", + metavar="SUITE", help="sync to SUITE") + parser.add_option( + "-D", "--from-distro", dest="fromdistro", default="debian", + metavar="DISTRO", help="sync from DISTRO") + parser.add_option( + "-S", "--from-suite", dest="fromsuite", + metavar="SUITE", help="sync from SUITE") + parser.add_option( + "--new-only", dest="new_only", + default=False, action="store_true", help="only sync new packages") + parser.add_option( + "--no-new", dest="new", + default=True, action="store_false", help="don't sync new packages") + parser.add_option( + "--batch", dest="batch", default=False, action="store_true", + help="assume default answer to all questions") + parser.add_option( + "--dry-run", default=False, action="store_true", + help="only show what would be done; don't copy packages") + options, args = parser.parse_args() + if args: + parser.error("This program does not accept any non-option arguments.") + + apt_pkg.init() + options.launchpad = Launchpad.login_with( + CONSUMER_KEY, options.launchpad_instance, version="devel") + + if options.log_directory is not None: + now = time.gmtime() + log_relative_path = os.path.join( + time.strftime("%F", now), "%s.log" % time.strftime("%T", now)) + log_file = os.path.join(options.log_directory, log_relative_path) + if not os.path.isdir(os.path.dirname(log_file)): + os.makedirs(os.path.dirname(log_file)) + sys.stdout = open(log_file, "w", buffering=1) + else: + log_file = None + + options.source = Values() + options.source.launchpad = options.launchpad + options.source.distribution = options.fromdistro + options.source.suite = options.fromsuite + if options.source.suite is None and options.fromdistro in default_suite: + options.source.suite = default_suite[options.fromdistro] + lputils.setup_location(options.source) + + options.target = Values() + options.target.launchpad = options.launchpad + options.target.distribution = options.todistro + options.target.suite = options.tosuite + lputils.setup_location(options.target, default_pocket="Proposed") + + # This is a very crude check, and easily bypassed. It's simply here to + # discourage people from causing havoc by mistake. A mass auto-sync is + # a disruptive operation, and, generally speaking, archive + # administrators know when it's OK to do one. If you aren't an archive + # administrator, you should think very hard, and ask on #ubuntu-release + # if options.target.distribution is Ubuntu, before disabling this check. + owner = options.target.archive.owner + if (not options.dry_run and + options.launchpad.me != owner and + options.launchpad.me not in owner.participants): + print("You are not an archive administrator for %s. Exiting." % + options.target.distribution.display_name, file=sys.stderr) + sys.exit(1) + + options.requestor = options.launchpad.people["katie"] + + sync_differences(options) + + if options.log_directory is not None: + sys.stdout.close() + current_link = os.path.join(options.log_directory, "current.log") + try: + os.unlink(current_link) + except OSError as e: + if e.errno != errno.ENOENT: + raise + os.symlink(log_relative_path, current_link) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/bootstrap-package b/ubuntu-archive-tools/bootstrap-package new file mode 100755 index 0000000..73ab89b --- /dev/null +++ b/ubuntu-archive-tools/bootstrap-package @@ -0,0 +1,93 @@ +#! /usr/bin/python + +# Copyright (C) 2016 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Bootstrap a package build using injected build-dependencies.""" + +from __future__ import print_function +import sys + +from optparse import ( + OptionParser, + SUPPRESS_HELP, + ) + +from launchpadlib.launchpad import Launchpad + +import lputils + + +def bootstrap_package(options, package): + source = lputils.find_latest_published_source(options, package) + arch_tags = [a.architecture_tag for a in options.architectures] + for build in source.getBuilds(): + if build.arch_tag in arch_tags: + if (build.buildstate != "Needs building" and + not build.can_be_retried): + print("%s cannot be retried" % build.web_link, file=sys.stderr) + elif options.dry_run: + print("Would bootstrap %s" % build.web_link) + else: + print("Bootstrapping %s" % build.web_link) + build.external_dependencies = ( + "deb [trusted=yes] " + "http://archive-team.internal/bootstrap/%s %s main" % + (build.arch_tag, source.distro_series.name)) + build.lp_save() + build.retry() + + +def bootstrap_packages(options, packages): + for package in packages: + bootstrap_package(options, package) + + +def main(): + parser = OptionParser( + usage="usage: %prog [options] package [...]", + epilog=lputils.ARCHIVE_REFERENCE_DESCRIPTION) + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="only show what would be done") + parser.add_option("-A", "--archive", help="bootstrap in ARCHIVE") + parser.add_option( + "-s", "--suite", metavar="SUITE", help="bootstrap in SUITE") + parser.add_option( + "-a", "--architecture", dest="architectures", action="append", + metavar="ARCHITECTURE", + help="architecture tag (may be given multiple times)") + parser.add_option( + "-d", "--distribution", default="ubuntu", help=SUPPRESS_HELP) + parser.add_option( + "-e", "--version", + metavar="VERSION", help="package version (default: current version)") + + options, args = parser.parse_args() + + options.launchpad = Launchpad.login_with( + "bootstrap-package", options.launchpad_instance, version="devel") + lputils.setup_location(options, default_pocket="Proposed") + + if not args: + parser.error("You must specify some packages to bootstrap.") + + bootstrap_packages(options, args) + + +if __name__ == "__main__": + main() diff --git a/ubuntu-archive-tools/branch-livefses b/ubuntu-archive-tools/branch-livefses new file mode 100755 index 0000000..9555441 --- /dev/null +++ b/ubuntu-archive-tools/branch-livefses @@ -0,0 +1,86 @@ +#! /usr/bin/python + +# Copyright (C) 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Branch a set of live filesystem configurations for the next release.""" + +from __future__ import print_function + +from optparse import OptionParser + +from launchpadlib.launchpad import Launchpad + + +def branch_livefses(options, owner): + for livefs in list(options.launchpad.livefses): + if (livefs.owner == owner and + livefs.distro_series == options.source_series): + print("Branching %s for %s ..." % ( + livefs.web_link, options.dest_series.name)) + new_livefs = options.launchpad.livefses.new( + owner=owner, distro_series=options.dest_series, + name=livefs.name, metadata=livefs.metadata) + new_livefs.require_virtualized = livefs.require_virtualized + new_livefs.relative_build_score = livefs.relative_build_score + new_livefs.lp_save() + print(" %s" % new_livefs.web_link) + + +def main(): + parser = OptionParser(usage="usage: %prog [options] OWNER") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-d", "--distribution", default="ubuntu", metavar="DISTRIBUTION", + help="branch live filesystems for DISTRIBUTION") + parser.add_option( + "--source-series", + help="source series (default: current stable release)") + parser.add_option( + "--dest-series", + help="destination series (default: series in pre-release freeze)") + options, args = parser.parse_args() + if not args: + parser.error( + "You must specify an owner whose live filesystems you want to " + "copy.") + + options.launchpad = Launchpad.login_with( + "branch-livefses", options.launchpad_instance, version="devel") + + distro = options.launchpad.distributions[options.distribution] + if options.source_series is None: + options.source_series = [ + series for series in distro.series + if series.status == "Current Stable Release"][0] + else: + options.source_series = distro.getSeries( + name_or_version=options.source_series) + if options.dest_series is None: + options.dest_series = [ + series for series in distro.series + if series.status == "Pre-release Freeze"][0] + else: + options.dest_series = distro.getSeries( + name_or_version=options.dest_series) + + owner = options.launchpad.people[args[0]] + + branch_livefses(options, owner) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/branch-seeds b/ubuntu-archive-tools/branch-seeds new file mode 100755 index 0000000..e115009 --- /dev/null +++ b/ubuntu-archive-tools/branch-seeds @@ -0,0 +1,175 @@ +#! /usr/bin/python + +# Copyright (C) 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Branch a set of Ubuntu seeds for the next release.""" + +from __future__ import print_function + +from optparse import OptionParser +import os +import re +import subprocess +try: + from urllib.parse import urlparse +except ImportError: + from urlparse import urlparse + +from launchpadlib.launchpad import Launchpad +from enum import Enum + +class VCS(Enum): + Git = 1 + Bazaar = 2 + + @staticmethod + def detect_vcs(source): + if os.path.exists(os.path.join(source, ".git")): + return VCS.Git + elif os.path.exists(os.path.join(source, ".bzr")): + return VCS.Bazaar + else: + return None + + +def remote_bzr_branch(source): + # TODO: should really use bzrlib instead + info = subprocess.check_output( + ["bzr", "info", source], universal_newlines=True) + for line in info.splitlines(): + if "checkout of branch:" in line: + return line.split(": ")[1].rstrip("/") + else: + raise Exception("Unable to find remote branch for %s" % source) + + +def remote_git_repository(source, srcbranch): + fullbranch = subprocess.check_output( + ["git", "rev-parse", "--symbolic-full-name", + srcbranch + "@{upstream}"], + universal_newlines=True, cwd=source) + return subprocess.check_output( + ["git", "ls-remote", "--get-url", fullbranch.split("/")[2]], + universal_newlines=True, cwd=source).rstrip("\n") + + +def lp_branch(options, url): + return options.launchpad.branches.getByUniqueName( + unique_name=urlparse(url).path.lstrip("/")) + + +def branch(options, collection): + source = "%s.%s" % (collection, options.source_series) + dest = "%s.%s" % (collection, options.dest_series) + vcs = VCS.detect_vcs(source) + if vcs: + if vcs is VCS.Bazaar: + subprocess.check_call(["bzr", "up", source]) + remote_source = remote_bzr_branch(source) + remote_dest = os.path.join(os.path.dirname(remote_source), dest) + subprocess.check_call(["bzr", "branch", source, dest]) + subprocess.check_call(["bzr", "push", "-d", dest, remote_dest]) + subprocess.check_call(["bzr", "bind", ":push"], cwd=dest) + + lp_source = lp_branch(options, remote_source) + lp_source.lifecycle_status = "Mature" + lp_source.lp_save() + + lp_dest = lp_branch(options, remote_dest) + lp_dest.lifecycle_status = "Development" + lp_dest.lp_save() + elif vcs is VCS.Git: + subprocess.check_call(["git", "fetch"], cwd=source) + subprocess.check_call(["git", "reset", "--hard", "FETCH_HEAD"], cwd=source) + os.rename(source, dest) + subprocess.check_call(["git", "checkout", "-b", options.dest_series], cwd=dest) + + re_include_source = re.compile( + r"^(include )(.*)\.%s" % options.source_series) + new_lines = [] + message = [] + with open(os.path.join(dest, "STRUCTURE")) as structure: + for line in structure: + match = re_include_source.match(line) + if match: + new_lines.append(re_include_source.sub( + r"\1\2.%s" % options.dest_series, line)) + message.append( + "%s.%s -> %s.%s" % + (match.group(2), options.source_series, + match.group(2), options.dest_series)) + else: + new_lines.append(line) + if message: + with open(os.path.join(dest, "STRUCTURE.new"), "w") as structure: + for line in new_lines: + print(line, end="", file=structure) + os.rename( + os.path.join(dest, "STRUCTURE.new"), + os.path.join(dest, "STRUCTURE")) + if vcs is VCS.Bazaar: + subprocess.check_call( + ["bzr", "commit", "-m", "; ".join(message)], cwd=dest) + elif vcs is VCS.Git: + subprocess.check_call(["git", "add", "STRUCTURE"], cwd=dest) + subprocess.check_call( + ["git", "commit", "-m", "; ".join(message)], cwd=dest) + subprocess.check_call( + ["git", "push", "origin", options.dest_series], cwd=dest) + + remote = remote_git_repository(dest, options.source_series) + if "git.launchpad.net" in remote: + lp_git_repo = options.launchpad.git_repositories.getByPath( + path=urlparse(remote).path.lstrip("/")) + lp_git_repo.default_branch = options.dest_series + lp_git_repo.lp_save() + else: + raise Exception( + "Git remote URL must be on git.launchpad.net.") + + +def main(): + parser = OptionParser(usage="usage: %prog [options] collection ...") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "--source-series", + help="source series (default: current stable release)") + parser.add_option( + "--dest-series", + help="destination series (default: series in pre-release freeze)") + options, args = parser.parse_args() + if not args: + parser.error("You must specify at least one seed collection.") + + options.launchpad = Launchpad.login_with( + "branch-seeds", options.launchpad_instance, version="devel") + + distro = options.launchpad.distributions["ubuntu"] + if options.source_series is None: + options.source_series = [ + series.name for series in distro.series + if series.status == "Current Stable Release"][0] + if options.dest_series is None: + options.dest_series = [ + series.name for series in distro.series + if series.status == "Pre-release Freeze"][0] + + for collection in args: + branch(options, collection) + + +main() diff --git a/ubuntu-archive-tools/change-override b/ubuntu-archive-tools/change-override new file mode 100755 index 0000000..2bae389 --- /dev/null +++ b/ubuntu-archive-tools/change-override @@ -0,0 +1,204 @@ +#! /usr/bin/python + +# Copyright 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Override a publication.""" + +from __future__ import print_function + +from collections import OrderedDict +from optparse import OptionParser, SUPPRESS_HELP + +from launchpadlib.launchpad import Launchpad +from ubuntutools.question import YesNoQuestion + +import lputils + + +def find_publications(options, packages): + for package in packages: + # Change matching source. + if (options.source_and_binary or options.binary_and_source or + options.source_only): + source = lputils.find_latest_published_source(options, package) + yield "source", source + + # Change all binaries for matching source. + if options.source_and_binary: + for binary in source.getPublishedBinaries(): + if not binary.is_debug: + yield "binary", binary + # Change matching binaries. + elif not options.source_only: + for binary in lputils.find_latest_published_binaries( + options, package): + if not binary.is_debug: + yield "binary", binary + + +def stringify_phased_update_percentage(phased_update_percentage): + if phased_update_percentage is None: + return "100%" + else: + return '%s%%' % phased_update_percentage + + +def stringify_binary_kwargs(binary_kwargs): + for key, value in binary_kwargs.items(): + if key == "new_phased_update_percentage": + yield stringify_phased_update_percentage(value) + else: + yield value + + +def change_overrides(options, packages): + source_kwargs = OrderedDict() + binary_kwargs = OrderedDict() + if options.component: + print("Override component to %s" % options.component) + source_kwargs["new_component"] = options.component + binary_kwargs["new_component"] = options.component + if options.section: + print("Override section to %s" % options.section) + source_kwargs["new_section"] = options.section + binary_kwargs["new_section"] = options.section + if options.priority: + print("Override priority to %s" % options.priority) + binary_kwargs["new_priority"] = options.priority + if options.percentage is not None: + print("Override percentage to %s" % options.percentage) + binary_kwargs["new_phased_update_percentage"] = options.percentage + + publications = [] + for pubtype, publication in find_publications(options, packages): + if pubtype == "source" and not source_kwargs: + continue + + publications.append((pubtype, publication)) + + if pubtype == "source": + print("%s: %s/%s -> %s" % ( + publication.display_name, + publication.component_name, publication.section_name, + "/".join(source_kwargs.values()))) + else: + print("%s: %s/%s/%s/%s -> %s" % ( + publication.display_name, + publication.component_name, publication.section_name, + publication.priority_name.lower(), + stringify_phased_update_percentage( + publication.phased_update_percentage), + "/".join(stringify_binary_kwargs(binary_kwargs)))) + + if options.dry_run: + print("Dry run; no publications overridden.") + else: + if not options.confirm_all: + if YesNoQuestion().ask("Override", "no") == "no": + return + + num_overridden = 0 + num_same = 0 + for pubtype, publication in publications: + if pubtype == "source": + kwargs = source_kwargs + else: + kwargs = binary_kwargs + if publication.changeOverride(**kwargs): + num_overridden += 1 + else: + print("%s remained the same" % publication.display_name) + num_same += 1 + + summary = [] + if num_overridden: + summary.append("%d %s overridden" % ( + num_overridden, + "publication" if num_overridden == 1 else "publications")) + if num_same: + summary.append("%d %s remained the same" % ( + num_same, "publication" if num_same == 1 else "publications")) + if summary: + print("%s." % "; ".join(summary)) + + +def main(): + parser = OptionParser( + usage="usage: %prog -s suite [options] package [...]", + epilog=lputils.ARCHIVE_REFERENCE_DESCRIPTION) + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="only show removals that would be performed") + parser.add_option( + "-y", "--confirm-all", default=False, action="store_true", + help="do not ask for confirmation") + parser.add_option("-A", "--archive", help="override in ARCHIVE") + parser.add_option( + "-s", "--suite", metavar="SUITE", help="override in SUITE") + parser.add_option( + "-a", "--architecture", dest="architectures", action="append", + metavar="ARCHITECTURE", + help="architecture tag (may be given multiple times)") + parser.add_option( + "-e", "--version", + metavar="VERSION", help="package version (default: current version)") + parser.add_option( + "-S", "--source-and-binary", default=False, action="store_true", + help="select source and all binaries from this source") + parser.add_option( + "-B", "--binary-and-source", default=False, action="store_true", + help="select source and binary (of the same name)") + parser.add_option( + "-t", "--source-only", default=False, action="store_true", + help="select source packages only") + parser.add_option( + "-c", "--component", + metavar="COMPONENT", help="move package to COMPONENT") + parser.add_option( + "-p", "--priority", + metavar="PRIORITY", help="move package to PRIORITY") + parser.add_option( + "-x", "--section", + metavar="SECTION", help="move package to SECTION") + parser.add_option( + "-z", "--percentage", type="int", default=None, + metavar="PERCENTAGE", help="set phased update percentage") + + # Deprecated in favour of -A. + parser.add_option( + "-d", "--distribution", default="ubuntu", help=SUPPRESS_HELP) + parser.add_option( + "-j", "--partner", default=False, action="store_true", + help=SUPPRESS_HELP) + options, args = parser.parse_args() + + if (not options.component and not options.section and not options.priority + and options.percentage is None): + parser.error( + "You must override at least one of component, section, " + "priority, and percentage.") + + options.launchpad = Launchpad.login_with( + "change-override", options.launchpad_instance, version="devel") + lputils.setup_location(options) + + change_overrides(options, args) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/charts.py b/ubuntu-archive-tools/charts.py new file mode 100644 index 0000000..8500a4e --- /dev/null +++ b/ubuntu-archive-tools/charts.py @@ -0,0 +1,103 @@ +# Copyright 2014 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Show charts using YUI.""" + +from textwrap import dedent + + +def make_chart_header(chart_name="chart", width=960, height=550): + """Return HTML to declare the chart style and load YUI. + + This should be included in the element. + """ + params = {"chart_name": chart_name, "width": width, "height": height} + return dedent("""\ + + + """) % params + + +def make_chart(source, keys, chart_name="chart"): + """Return HTML to render a chart.""" + params = { + "source": source, + "chart_name": chart_name, + "series_keys": ", ".join('"%s"' % key for key in keys), + "series_styles": ", ".join( + '"%s": { line: { weight: "2mm" } }' % key for key in keys), + "series_schema_fields": ", ".join( + '{key: "%s", parser: parseNum}' % key for key in keys), + } + return dedent("""\ +
+ + """) % params diff --git a/ubuntu-archive-tools/checkrdepends b/ubuntu-archive-tools/checkrdepends new file mode 100755 index 0000000..95743c5 --- /dev/null +++ b/ubuntu-archive-tools/checkrdepends @@ -0,0 +1,300 @@ +#! /usr/bin/python + +# Copyright (C) 2009, 2010, 2011, 2012 Canonical Ltd. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from __future__ import print_function + +from collections import defaultdict +import gzip +import optparse +import os +import re +import sys +import tempfile + +import apt_pkg + + +default_base = '/home/ubuntu-archive/mirror/ubuntu' +default_suite = 'disco' +components = ('main', 'restricted', 'universe', 'multiverse') + +# Cut-down RE from deb822.PkgRelation. +re_dep = re.compile(r'^\s*([a-zA-Z0-9.+\-]{2,})') + +re_kernel_image_di = re.compile(r'^kernel-image-(.+)-di') + + +# Cheaper version of deb822.PkgRelation.parse_relations. +def parse_relation_packages(raw): + for or_dep in raw.split(','): + for dep in or_dep.split('|'): + match = re_dep.match(dep.strip()) + if match: + yield match.group(1) + + +def primary_arches(suite): + return ('amd64', 'i386') + + +def ports_arches(suite): + if suite == 'lucid': + return ('armel', 'ia64', 'powerpc', 'sparc') + elif suite == 'precise': + return ('armel', 'armhf', 'powerpc') + elif suite in ('14.09', '14.09-factory'): + return ('armhf',) + elif suite in ('trusty', 'vivid', 'wily'): + return ('arm64', 'armhf', 'powerpc', 'ppc64el') + elif suite in ('xenial', 'yakkety'): + return ('arm64', 'armhf', 'powerpc', 'ppc64el', 's390x') + else: + return ('arm64', 'armhf', 'ppc64el', 's390x') + + +def read_tag_file(path): + tmp = tempfile.NamedTemporaryFile(prefix='checkrdepends.', delete=False) + try: + compressed = gzip.open(path) + try: + tmp.write(compressed.read()) + finally: + compressed.close() + tmp.close() + with open(tmp.name) as uncompressed: + tag_file = apt_pkg.TagFile(uncompressed) + prev_name = None + prev_stanza = None + for stanza in tag_file: + try: + name = stanza['package'] + except KeyError: + continue + if name != prev_name and prev_stanza is not None: + yield prev_stanza + prev_name = name + prev_stanza = stanza + if prev_stanza is not None: + yield prev_stanza + finally: + os.unlink(tmp.name) + + +def read_sources(path): + ret = { + 'binary': {}, + 'source': defaultdict(set), + 'build_deps': defaultdict(set), + } + binary = ret['binary'] + source = ret['source'] + build_deps = ret['build_deps'] + for stanza in read_tag_file(path): + if 'binary' not in stanza: + continue + name = stanza['package'] + binpkgs = [b.rstrip(',') for b in stanza['binary'].split()] + binary[name] = binpkgs + for binpkg in binpkgs: + source[binpkg].add(stanza['package']) + for field in ('build-depends', 'build-depends-indep'): + if field not in stanza: + continue + for depname in parse_relation_packages(stanza[field]): + build_deps[depname].add(name) + return ret + + +def read_packages(debs, path, sources, ignores=[], missing_ok=False): + ret = {'deps': defaultdict(dict)} + deps = ret['deps'] + try: + for stanza in read_tag_file(path): + name = stanza['package'] + for field in ('pre-depends', 'depends', 'recommends'): + if field not in stanza: + continue + for depname in parse_relation_packages(stanza[field]): + if depname not in debs: + continue + # skip dependencies that are built from the same source, + # when we're doing a sourceful removal. + if name in ignores: + continue + deps[depname][name] = (field, stanza['architecture']) + except IOError: + if not missing_ok: + raise + return ret + + +def read_di(debs, path): + ret = set() + try: + with open(path) as manifest: + for line in manifest: + udeb = line.split()[0] + ret.add(udeb) + match = re_kernel_image_di.match(udeb) + if match: + re_modules = re.compile(r'-modules-%s-di' % match.group(1)) + for pkg in debs: + if re_modules.search(pkg): + ret.add(pkg) + except IOError: + pass + return ret + + +def pockets(opts): + if '-' in opts.suite: + return ('',) + else: + return ('', '-updates', '-security', '-backports') + + +def render_dep(name, field, arch): + ret = name + if field == "recommends": + ret += " (r)" + if arch == "all": + ret += " [all]" + return ret + + +def search(opts, pkgs): + for pocket in pockets(opts): + pocket_base = '%s/dists/%s%s' % (opts.archive_base, opts.suite, pocket) + if opts.arches: + arches = opts.arches + else: + arches = list(primary_arches(opts.suite)) + if opts.ports: + arches.extend(ports_arches(opts.suite)) + + packages = defaultdict(dict) + sources = {} + for comp in components: + comp_base = '%s/%s' % (pocket_base, comp) + sources[comp] = read_sources('%s/source/Sources.gz' % comp_base) + + if opts.binary: + debs = pkgs + ignores = [] + else: + debs = set() + for src in pkgs: + for comp in components: + if src in sources[comp]['binary']: + debs.update(set(sources[comp]['binary'][src])) + ignores = debs = sorted(debs) + + # Now we have the source<->binary mapping, we can read Packages + # files but only bother to remember the dependencies we need. + for comp in components: + comp_base = '%s/%s' % (pocket_base, comp) + di_comp = '%s/debian-installer' % comp + di_comp_base = '%s/%s' % (pocket_base, di_comp) + + build_deps = sources[comp]['build_deps'] + for deb in debs: + if opts.directory is not None: + out = open(os.path.join(opts.directory, deb), 'a') + else: + out = sys.stdout + + # build dependencies + if deb in build_deps: + print("-- %s%s/%s build deps on %s:" % + (opts.suite, pocket, comp, deb), file=out) + for pkg in sorted(build_deps[deb]): + print(pkg, file=out) + + # binary dependencies + for arch in arches: + if arch not in packages[comp]: + packages[comp][arch] = \ + read_packages(debs, + '%s/binary-%s/Packages.gz' % + (comp_base, arch), + sources[comp], ignores) + if arch not in packages[di_comp]: + packages[di_comp][arch] = \ + read_packages(debs, + '%s/binary-%s/Packages.gz' % + (di_comp_base, arch), + sources[comp], ignores, + missing_ok=True) + if comp == 'main': + di_images = \ + read_di(debs, + '%s/installer-%s/current/images/' + 'udeb.list' % (comp_base, arch)) + di_deps = packages[di_comp][arch]['deps'] + for udeb in di_images: + di_deps[udeb]['debian-installer-images'] = ( + 'depends', arch) + + deps = packages[comp][arch]['deps'] + di_deps = packages[di_comp][arch]['deps'] + if deb in deps: + print("-- %s%s/%s %s deps on %s:" % + (opts.suite, pocket, comp, arch, deb), file=out) + for pkg, (field, pkgarch) in sorted(deps[deb].items()): + print(render_dep(pkg, field, pkgarch), file=out) + if deb in di_deps: + print("-- %s%s/%s %s deps on %s:" % + (opts.suite, pocket, di_comp, arch, deb), + file=out) + for pkg, (field, pkgarch) in sorted( + di_deps[deb].items()): + print(render_dep(pkg, field, pkgarch), file=out) + + if opts.directory is not None: + out.close() + + +def main(): + parser = optparse.OptionParser(usage='%prog [options] pkg [...]') + parser.add_option('-B', '--archive-base', dest='archive_base', + help=('archive base directory (default: %s)' % + default_base), + default=default_base) + parser.add_option('-s', '--suite', dest='suite', + help='suite to check (default: %s)' % default_suite, + default=default_suite) + parser.add_option('-a', '--arch', dest='arches', action='append', + help='check only this architecture ' + '(may be given multiple times)') + parser.add_option('-b', '--binary', dest='binary', action='store_true', + help='treat arguments as binary packages, not source') + parser.add_option('--no-ports', dest='ports', + default=True, action='store_false', + help='skip ports architectures') + parser.add_option('-d', '--directory', dest='directory', metavar='DIR', + help='output to directory DIR (one file per package) ' + 'instead of standard output') + opts, args = parser.parse_args() + + if 'CHECKRDEPENDS_PROFILE' in os.environ: + import profile + profile.run('search(opts, args)') + else: + search(opts, args) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/component-mismatches b/ubuntu-archive-tools/component-mismatches new file mode 100755 index 0000000..c9fd36d --- /dev/null +++ b/ubuntu-archive-tools/component-mismatches @@ -0,0 +1,940 @@ +#!/usr/bin/env python + +# Sync a suite with a Seed list. +# Copyright (C) 2004, 2005, 2009, 2010, 2011, 2012 Canonical Ltd. +# Author: James Troup + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# XXX - add indication if all of the binaries of a source packages are +# listed for promotion at once +# i.e. to allow 'change-override -S' usage + +from __future__ import print_function + +__metaclass__ = type + +import atexit +from collections import defaultdict, OrderedDict +import copy +import csv +import gzip +try: + from html import escape +except ImportError: + from cgi import escape +import json +from optparse import OptionParser +import os +import shutil +import sys +import tempfile +from textwrap import dedent +import time +try: + from urllib.parse import quote_plus +except ImportError: + from urllib import quote_plus + +import apt_pkg +from launchpadlib.launchpad import Launchpad + +from charts import make_chart, make_chart_header + + +tempdir = None + +archive_source = {} +archive_binary = {} + +current_source = {} +current_binary = {} + +germinate_source = {} +germinate_binary = {} + +seed_source = defaultdict(set) +seed_binary = defaultdict(set) + + +class MIRLink: + def __init__(self, id, status, title, assignee): + self.id = id + self.status = status + self.title = title + self.assignee = assignee + + def __str__(self): + if self.status not in ('Fix Committed', 'Fix Released') and self.assignee: + s = "MIR: #%d (%s for %s)" % (self.id, self.status, + self.assignee.display_name) + else: + s = "MIR: #%d (%s)" % (self.id, self.status) + # no need to repeat the standard title + if not self.title.startswith("[MIR]"): + s += " %s" % self.title + return s + + def html(self): + h = 'MIR:
#%d (%s)' % ( + self.id, self.id, escape(self.status)) + # no need to repeat the standard title + if not self.title.startswith("[MIR]"): + h += " %s" % escape(self.title) + return h + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix='component-mismatches') + atexit.register(shutil.rmtree, tempdir) + + +def decompress_open(tagfile): + ensure_tempdir() + decompressed = tempfile.mktemp(dir=tempdir) + fin = gzip.GzipFile(filename=tagfile) + with open(decompressed, 'wb') as fout: + fout.write(fin.read()) + return open(decompressed, 'r') + + +def read_current_source(options): + for suite in options.suites: + for component in options.all_components: + sources_path = "%s/dists/%s/%s/source/Sources.gz" % ( + options.archive_dir, suite, component) + for section in apt_pkg.TagFile(decompress_open(sources_path)): + if 'Package' in section and 'Version' in section: + (pkg, version) = (section['Package'], section['Version']) + if pkg not in archive_source: + archive_source[pkg] = (version, component) + else: + if apt_pkg.version_compare( + archive_source[pkg][0], version) < 0: + archive_source[pkg] = ( + version, component.split("/")[0]) + + for pkg, (version, component) in archive_source.items(): + if component in options.components: + current_source[pkg] = (version, component) + + +def read_current_binary(options): + components_with_di = [] + for component in options.all_components: + components_with_di.append(component) + components_with_di.append('%s/debian-installer' % component) + for suite in options.suites: + for component in components_with_di: + for arch in [ + "i386", "amd64", "armhf", "arm64", "ppc64el", + "s390x"]: + binaries_path = "%s/dists/%s/%s/binary-%s/Packages.gz" % ( + options.archive_dir, suite, component, arch) + for section in apt_pkg.TagFile(decompress_open(binaries_path)): + if 'Package' in section and 'Version' in section: + (pkg, version) = (section['Package'], + section['Version']) + if 'source' in section: + src = section['Source'].split(" ", 1)[0] + else: + src = section['Package'] + if pkg not in archive_binary: + archive_binary[pkg] = ( + version, component.split("/")[0], src) + else: + if apt_pkg.version_compare( + archive_binary[pkg][0], version) < 0: + archive_binary[pkg] = (version, component, src) + + for pkg, (version, component, src) in archive_binary.items(): + if component in options.components: + current_binary[pkg] = (version, component, src) + + +def read_germinate(options): + for flavour in reversed(options.flavours.split(",")): + # List of seeds + seeds = ["all"] + try: + filename = "%s/structure_%s_%s_i386" % ( + options.germinate_path, flavour, options.suite) + with open(filename) as structure: + for line in structure: + if not line or line.startswith('#') or ':' not in line: + continue + seeds.append(line.split(':')[0]) + except IOError: + continue + # ideally supported+build-depends too, but Launchpad's + # cron.germinate doesn't save this + + for arch in ["i386", "amd64", "armhf", "arm64", "ppc64el", + "s390x"]: + for seed in seeds: + filename = "%s/%s_%s_%s_%s" % ( + options.germinate_path, seed, flavour, options.suite, arch) + with open(filename) as f: + for line in f: + # Skip header and footer + if (line[0] == "-" or line.startswith("Package") or + line[0] == " "): + continue + # Skip empty lines + line = line.strip() + if not line: + continue + pkg, source, why = [word.strip() + for word in line.split('|')][:3] + if seed == "all": + germinate_binary[pkg] = ( + source, why, flavour, arch) + germinate_source[source] = (flavour, arch) + else: + seed_binary[seed].add(pkg) + seed_source[seed].add(source) + + +def is_included_binary(options, pkg): + if options.include: + for seed in options.include.split(","): + if seed in seed_binary and pkg in seed_binary[seed]: + return True + return False + return True + + +def is_excluded_binary(options, pkg): + if options.exclude: + seeds = set(seed_binary) - set(options.exclude.split(",")) + for seed in seeds: + if seed in seed_binary and pkg in seed_binary[seed]: + return False + for seed in options.exclude.split(","): + if seed in seed_binary and pkg in seed_binary[seed]: + return True + return False + + +def is_included_source(options, pkg): + if options.include: + for seed in options.include.split(","): + if seed in seed_source and pkg in seed_source[seed]: + return True + return False + return True + + +def is_excluded_source(options, pkg): + if options.exclude: + seeds = set(seed_source) - set(options.exclude.split(",")) + for seed in seeds: + if seed in seed_source and pkg in seed_source[seed]: + return False + for seed in options.exclude.split(","): + if seed in seed_source and pkg in seed_source[seed]: + return True + return False + + +def get_source(binary): + return current_binary[binary][2] + + +def find_signer(options, source): + # look at the source package publishing history for the most recent + # package_signer, a copy from debian won't have a package signer + series = options.distro.getSeries(name_or_version=options.suite) + publications = options.archive.getPublishedSources( + distro_series=series, source_name=source, + exact_match=True) + if not publications: + return('no publications found', '') + sorted_pubs = sorted([(ps.date_published, ps) + for ps in publications + if ps.date_published is not None], reverse=True) + for pub in sorted_pubs: + if pub[1].package_signer: + signer = pub[1].package_signer.name + web_link = pub[1].package_signer.web_link + return(signer, web_link) + else: + signer = '' + web_link = '' + return (signer, web_link) + + +def do_reverse(options, source, binaries, why_d): + global signers + try: + signers.keys() + except NameError: + signers = {} + output = [] + depend = {} + recommend = {} + build_depend = {} + for binary in binaries: + why = why_d[source][binary] + if why.find("Build-Depend") != -1: + why = why.replace("(Build-Depend)", "").strip() + build_depend[why] = "" + elif why.find("Recommends") != -1: + why = why.replace("(Recommends)", "").strip() + recommend[why] = "" + else: + depend[why] = "" + + def do_category(map, category): + keys = [] + for k in map: + if k.startswith('Rescued from '): + pkg = k.replace('Rescued from ', '') + else: + pkg = k + # seed names have spaces in them + if ' ' not in pkg: + try: + source = get_source(pkg) + except KeyError: + source = pkg + pass + if source not in signers: + signer, web_link = find_signer(options, source) + if signer and web_link: + signers[source] = (signer, web_link) + if k in current_binary: + keys.append('%s (%s)' % (k, current_binary[k][1].upper())) + elif k in current_source: + keys.append('%s (%s)' % (k, current_source[k][1].upper())) + else: + keys.append(k) + keys.sort() + if keys: + return ["[Reverse-%s: %s]" % (category, ", ".join(keys))] + else: + return [] + + output.extend(do_category(depend, 'Depends')) + output.extend(do_category(recommend, 'Recommends')) + output.extend(do_category(build_depend, 'Build-Depends')) + + return output + + +def do_dot(why, fd, mir_bugs, suite): + # write dot graph for given why dictionary + + written_nodes = set() + + fd.write( + 'digraph "component-mismatches: movements to main/restricted" {\n') + for s, binwhy in why.iteritems(): + for binary, why in binwhy.iteritems(): + # ignore binaries from this source, and "rescued" + if why in binwhy or why.startswith('Rescued'): + continue + + if "(Recommends)" in why: + relation = " R " + color = "gray" + why = why.replace(" (Recommends)", "") + elif "Build-Depend" in why: + relation = " B" + color = "blue" + why = why.replace(" (Build-Depend)", "") + else: + relation = "" + color = "black" + + try: + why = get_source(why) + except KeyError: + # happens for sources which are in universe, or seeds + try: + why = germinate_binary[why][0] + except: + pass + + # helper function to write a node + def write_node(name): + # ensure to only write it once + if name in written_nodes: + return name + written_nodes.add(name) + + fd.write(' "%s" [label="%s" style="filled" tooltip="%s"' % + (name, name, ', '.join(package_team_mapping[name]))) + + mirs = mir_bugs.get(name, []) + approved_mirs = [ + id for id, status, title, assignee in mirs + if status in ('Fix Committed', 'Fix Released')] + + url = None + if name.endswith(' seed'): + fc = "green" + elif name in current_source: + fc = "lightgreen" + url = ("https://launchpad.net/ubuntu/+source/%s" % + quote_plus(name)) + elif approved_mirs: + fc = "yellow" + url = "https://launchpad.net/bugs/%i" % approved_mirs[0] + elif mirs: + if mirs[0][1] == 'Incomplete': + fc = "darkkhaki" + else: + fc = "darksalmon" + url = "https://launchpad.net/bugs/%i" % mirs[0][0] + else: + fc = "white" + # Need to use & otherwise the svg will have a syntax error + url = ("https://launchpad.net/ubuntu/+source/%s/+filebug?" + "field.title=%s&field.status=Incomplete" + "&field.tags=%s" % + (quote_plus(name), quote_plus("[MIR] %s" % name), + quote_plus(suite))) + fd.write(' fillcolor="%s"' % fc) + if url: + fd.write(' URL="%s"' % url) + fd.write("]\n") + return name + + s_node = write_node(s) + why_node = write_node(why) + + # generate relation + fd.write(' "%s" -> "%s" [label="%s" color="%s" ' + 'fontcolor="%s"]\n' % + (why_node, s_node, relation, color, color)) + + # add legend + fd.write(""" + { + rank="source" + NodeLegend[shape=none, margin=0, label=< + + + + + + + + +
Nodes
seed
in main/restricted
approved MIR (clickable)
unapproved MIR (clickable)
Incomplete/stub MIR (clickable)
No MIR (click to file one)
+ >]; + + EdgeLegend[shape=none, margin=0, label=< + + + + + +
Edges
Depends:
Recommends:
Build-Depends:
+ >]; + } +} +""") + + +def filter_source(component, sources): + return [ + s for s in sources + if s in archive_source and archive_source[s][1] == component] + + +def filter_binary(component, binaries): + return [ + b for b in binaries + if b in archive_binary and archive_binary[b][1] == component] + + +package_team_mapping = defaultdict(set) + + +def get_teams(options, source): + global package_team_mapping + + if os.path.exists(options.package_team_mapping): + with open(options.package_team_mapping) as ptm_file: + for team, packages in json.load(ptm_file).items(): + if team == "unsubscribed": + continue + for package in packages: + package_team_mapping[package].add(team) + + if source in package_team_mapping: + for team in package_team_mapping[source]: + yield team + elif package_team_mapping: + yield "unsubscribed" + + +def print_section_text(options, header, body, + source_and_binary=False, binary_only=False): + if body: + print(" %s" % header) + print(" %s" % ("-" * len(header))) + print() + for entry in body: + line = entry[0] + source = line[0] + binaries = " ".join(line[1:]) + if source_and_binary: + print(" o %s: %s" % (source, binaries)) + elif binary_only: + indent_right = 75 - len(binaries) - len(source) - 2 + print(" o %s%s{%s}" % (binaries, " " * indent_right, source)) + else: + print(" o %s" % source) + for line in entry[1:]: + print(" %s" % line) + if len(entry) != 1: + print() + if len(body[-1]) == 1: + print() + print("=" * 70) + print() + + +def print_section_html(options, header, body, + source_and_binary=False, binary_only=False): + if body: + def print_html(*args, **kwargs): + print(*args, file=options.html_output, **kwargs) + + def source_link(source): + return ( + '%s' % ( + escape(source, quote=True), escape(source))) + + print_html("

%s

" % escape(header)) + print_html("") + for entry in body: + line = entry[0] + source = line[0] + binaries = " ".join(line[1:]) + if source_and_binary: + print_html( + '' % escape(binaries), end="") + print_html( + "" % source_link(source)) + else: + print_html( + '' % source_link(source)) + for line in entry[1:]: + if isinstance(line, MIRLink): + line = line.html() + else: + for item in line.strip('[]').split(' '): + if item.strip(',') in signers: + comma = '' + if item.endswith(','): + comma = ',' + pkg = item.strip(',') + else: + pkg = item + # neither of these will help fix the issue + if signers[pkg][0] in ['ps-jenkins', + 'ci-train-bot']: + continue + line = line.replace(item, '%s (Uploader: %s)%s' % + (pkg, signers[pkg][0], comma)) + line = escape(line) + print_html( + '' % line) + print_html("
%s: %s' % ( + source_link(source), escape(binaries))) + elif binary_only: + print_html('
%s%s
%s
%s' + '
") + + +def do_output(options, + orig_source_add, orig_source_remove, binary_add, binary_remove, + mir_bugs): + results = {} + results["time"] = int(options.time * 1000) + + global package_team_mapping + package_team_mapping = defaultdict(set) + if os.path.exists(options.package_team_mapping): + with open(options.package_team_mapping) as ptm_file: + for team, packages in json.load(ptm_file).items(): + if team == "unsubscribed": + continue + for package in packages: + package_team_mapping[package].add(team) + + if options.html_output is not None: + print(dedent("""\ + + + + + Component mismatches for %s + + %s + + +

Component mismatches for %s

+ """) % (escape(options.suite), make_chart_header(), + escape(options.suite)), file=options.html_output) + + # Additions + + binary_only = defaultdict(dict) + both = defaultdict(dict) + + source_add = copy.copy(orig_source_add) + source_remove = copy.copy(orig_source_remove) + + for pkg in binary_add: + (source, why, flavour, arch) = binary_add[pkg] + if source not in orig_source_add: + binary_only[source][pkg] = why + else: + both[source][pkg] = why + if source in source_add: + source_add.remove(source) + + all_output = OrderedDict() + results["source promotions"] = 0 + results["binary promotions"] = 0 + for component in options.components: + if component == "main": + counterpart = "universe" + elif component == "restricted": + counterpart = "multiverse" + else: + continue + + output = [] + for source in filter_source(counterpart, sorted(both)): + binaries = sorted(both[source]) + entry = [[source] + binaries] + + for (id, status, title, assignee) in mir_bugs.get(source, []): + entry.append(MIRLink(id, status, title, assignee)) + + entry.extend(do_reverse(options, source, binaries, both)) + output.append(entry) + + all_output["Source and binary movements to %s" % component] = { + "output": output, + "source_and_binary": True, + } + results["source promotions"] += len(output) + + output = [] + for source in sorted(binary_only): + binaries = filter_binary(counterpart, sorted(binary_only[source])) + + if binaries: + entry = [[source] + binaries] + entry.extend(do_reverse(options, source, binaries, + binary_only)) + output.append(entry) + + all_output["Binary only movements to %s" % component] = { + "output": output, + "binary_only": True, + } + results["binary promotions"] += len(output) + + output = [] + for source in filter_source(counterpart, sorted(source_add)): + output.append([[source]]) + + all_output["Source only movements to %s" % component] = { + "output": output, + } + results["source promotions"] += len(output) + + if options.dot: + with open(options.dot, 'w') as f: + do_dot(both, f, mir_bugs, options.suite) + + # Removals + + binary_only = defaultdict(dict) + both = defaultdict(dict) + for pkg in binary_remove: + source = get_source(pkg) + if source not in orig_source_remove: + binary_only[source][pkg] = "" + else: + both[source][pkg] = "" + if source in source_remove: + source_remove.remove(source) + + results["source demotions"] = 0 + results["binary demotions"] = 0 + for component in options.components: + if component == "main": + counterpart = "universe" + elif component == "restricted": + counterpart = "multiverse" + else: + continue + + output = [] + for source in filter_source(component, sorted(both)): + binaries = sorted(both[source]) + output.append([[source] + binaries]) + + all_output["Source and binary movements to %s" % counterpart] = { + "output": output, + "source_and_binary": True, + } + results["source demotions"] += len(output) + + output = [] + for source in sorted(binary_only): + binaries = filter_binary(component, sorted(binary_only[source])) + + if binaries: + output.append([[source] + binaries]) + + all_output["Binary only movements to %s" % counterpart] = { + "output": output, + "binary_only": True, + } + results["binary demotions"] += len(output) + + output = [] + for source in filter_source(component, sorted(source_remove)): + output.append([[source]]) + + all_output["Source only movements to %s" % counterpart] = { + "output": output, + } + results["source demotions"] += len(output) + + for title, output_spec in all_output.items(): + source_and_binary = output_spec.get("source_and_binary", False) + binary_only = output_spec.get("binary_only", False) + print_section_text( + options, title, output_spec["output"], + source_and_binary=source_and_binary, binary_only=binary_only) + if options.html_output is not None and package_team_mapping: + by_team = defaultdict(list) + for entry in output_spec["output"]: + source = entry[0][0] + for team in package_team_mapping[source]: + by_team[team].append(entry) + if not package_team_mapping[source]: + by_team["unsubscribed"].append(entry) + for team, entries in sorted(by_team.items()): + print_section_html( + options, "%s (%s)" % (title, team), entries, + source_and_binary=source_and_binary, + binary_only=binary_only) + + if options.html_output is not None: + print("

Over time

", file=options.html_output) + print( + make_chart("component-mismatches.csv", [ + "source promotions", "binary promotions", + "source demotions", "binary demotions", + ]), + file=options.html_output) + print( + "

Generated: %s

" % escape(options.timestamp), + file=options.html_output) + print("", file=options.html_output) + + return results + + +def do_source_diff(options): + removed = [] + added = [] + removed = list(set(current_source).difference(set(germinate_source))) + for pkg in germinate_source: + if (pkg not in current_source and + is_included_source(options, pkg) and + not is_excluded_source(options, pkg)): + added.append(pkg) + removed.sort() + added.sort() + return (added, removed) + + +def do_binary_diff(options): + removed = [] + added = {} + removed = list(set(current_binary).difference(set(germinate_binary))) + for pkg in germinate_binary: + if (pkg not in current_binary and + is_included_binary(options, pkg) and + not is_excluded_binary(options, pkg)): + added[pkg] = germinate_binary[pkg] + removed.sort() + return (added, removed) + + +def get_mir_bugs(options, sources): + '''Return MIR bug information for a set of source packages. + + Return a map source -> [(id, status, title, assignee), ...] + ''' + result = defaultdict(list) + mir_team = options.launchpad.people['ubuntu-mir'] + bug_statuses = ("New", "Incomplete", "Won't Fix", "Confirmed", "Triaged", + "In Progress", "Fix Committed", "Fix Released") + for source in sources: + tasks = options.distro.getSourcePackage(name=source).searchTasks( + bug_subscriber=mir_team, status=bug_statuses) + for task in tasks: + result[source].append((task.bug.id, task.status, task.bug.title, + task.assignee)) + + return result + + +def main(): + apt_pkg.init() + + parser = OptionParser(description='Sync a suite with a Seed list.') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option('-o', '--output-file', help='output to this file') + parser.add_option('--html-output-file', help='output HTML to this file') + parser.add_option( + '--csv-file', help='record CSV time series data in this file') + parser.add_option( + '--package-team-mapping', + default=os.path.expanduser('~/public_html/package-team-mapping.json'), + help='path to package-team-mapping.json') + parser.add_option('-s', '--suite', help='check this suite') + parser.add_option('-f', '--flavours', default='ubuntu', + help='check these flavours (comma-separated)') + parser.add_option('-i', '--include', help='include these seeds') + parser.add_option('-e', '--exclude', help='exclude these seeds') + parser.add_option('-d', '--dot', + help='generate main promotion graph suitable for dot') + parser.add_option( + '--germinate-path', + default=os.path.expanduser('~/mirror/ubuntu-germinate/'), + help='read Germinate output from this directory') + parser.add_option( + '--archive-dir', + default=os.path.expanduser('~/mirror/ubuntu/'), + help='use Ubuntu archive located in this directory') + options, args = parser.parse_args() + + options.launchpad = Launchpad.login_anonymously( + 'component-mismatches', options.launchpad_instance) + options.distro = options.launchpad.distributions['ubuntu'] + options.archive = options.distro.getArchive(name='primary') + + options.component = "main,restricted" + options.components = options.component.split(',') + options.all_components = ["main", "restricted", "universe", "multiverse"] + + if options.suite is None: + options.suite = options.distro.current_series.name + + # Considering all the packages to have a full installable suite. So: + # -security = release + -security + # -updates = release + -updates + -security + # -proposed = release + updates + security + proposed + if "-" in options.suite: + options.suite, options.pocket = options.suite.split("-") + options.suites = [options.suite] + if options.pocket in ["updates", "security", "proposed"]: + options.suites.append("%s-security" % options.suite) + if options.pocket in ["updates", "proposed"]: + options.suites.append("%s-updates" % options.suite) + if options.pocket in ["proposed"]: + options.suites.append("%s-proposed" % options.suite) + else: + options.suites = [options.suite] + + if options.output_file is not None: + sys.stdout = open('%s.new' % options.output_file, 'w') + if options.html_output_file is not None: + options.html_output = open('%s.new' % options.html_output_file, 'w') + else: + options.html_output = None + + options.time = time.time() + options.timestamp = time.strftime( + '%a %b %e %H:%M:%S %Z %Y', time.gmtime(options.time)) + print('Generated: %s' % options.timestamp) + print() + + read_germinate(options) + read_current_source(options) + read_current_binary(options) + source_add, source_remove = do_source_diff(options) + binary_add, binary_remove = do_binary_diff(options) + mir_bugs = get_mir_bugs(options, source_add) + results = do_output( + options, source_add, source_remove, binary_add, binary_remove, + mir_bugs) + + if options.html_output_file is not None: + options.html_output.close() + os.rename( + '%s.new' % options.html_output_file, options.html_output_file) + if options.output_file is not None: + sys.stdout.close() + os.rename('%s.new' % options.output_file, options.output_file) + if options.csv_file is not None: + if sys.version < "3": + open_mode = "ab" + open_kwargs = {} + else: + open_mode = "a" + open_kwargs = {"newline": ""} + csv_is_new = not os.path.exists(options.csv_file) + with open(options.csv_file, open_mode, **open_kwargs) as csv_file: + # Field names deliberately hardcoded; any changes require + # manually rewriting the output file. + fieldnames = [ + "time", + "source promotions", + "binary promotions", + "source demotions", + "binary demotions", + ] + csv_writer = csv.DictWriter(csv_file, fieldnames) + if csv_is_new: + csv_writer.writeheader() + csv_writer.writerow(results) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/copy-build-scheduler b/ubuntu-archive-tools/copy-build-scheduler new file mode 100755 index 0000000..4c9cbca --- /dev/null +++ b/ubuntu-archive-tools/copy-build-scheduler @@ -0,0 +1,190 @@ +#! /usr/bin/python3 + +# Copyright (C) 2011, 2012 Canonical Ltd. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This script can be used to reschedule some of the copy archives +# builds so that they are processed like regular PPA builds. +# +# Copy archives builds have a huge penalty applied to them which means +# that they are only processed when there is nothing else being processed +# by the build farm. That's usually fine, but for some rebuilds, we want +# more timely processing, while at the same time, we do want to continue to +# service regular PPA builds. +# +# This script will try to have a portion of the build farm processing copy +# builds. It does that by rescoring builds to the normal build priority +# range. But will only rescore a few builds at a time, so as not to take ove +# the build pool. By default, it won't rescore more than 1/4 the number of +# available builders. So for example, if there are 12 i386 builders, only +# 3 builds at a time will have a "normal priority". + +import argparse +from collections import defaultdict +import logging +import time + +from launchpadlib.launchpad import Launchpad + + +API_NAME = 'copy-build-scheduler' + +NEEDS_BUILDING = 'Needs building' +BUILDING = 'Currently building' +COPY_ARCHIVE_SCORE_PENALTY = 2600 +# Number of minutes to wait between schedule run. +SCHEDULE_PERIOD = 5 + + +def determine_builder_capacity(lp, args): + """Find how many builders to use for copy builds by processor.""" + capacity = {} + for processor in args.processors: + queue = [ + builder for builder in lp.builders.getBuildersForQueue( + processor='/+processors/%s' % processor, virtualized=True) + if builder.active] + max_capacity = len(queue) + capacity[processor] = round(max_capacity * args.builder_ratio) + # Make sure at least 1 builders is associated + if capacity[processor] == 0: + capacity[processor] = 1 + logging.info( + 'Will use %d out of %d %s builders', capacity[processor], + max_capacity, processor) + return capacity + + +def get_archive_used_builders_capacity(archive): + """Return the number of builds currently being done for the archive.""" + capacity = defaultdict(int) + building = archive.getBuildRecords(build_state=BUILDING) + for build in building: + capacity[build.arch_tag] += 1 + return capacity + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument( + '--lp-instance', default='production', dest='lp_instance', + help="Select the Launchpad instance to run against. Defaults to " + "'production'") + parser.add_argument( + '-v', '--verbose', default=0, action='count', dest='verbose', + help="Increase verbosity of the script. -v prints info messages" + "-vv will print debug messages.") + parser.add_argument( + '-c', '--credentials', default=None, action='store', + dest='credentials', + help="Use the OAuth credentials in FILE instead of the desktop " + "one.", metavar='FILE') + parser.add_argument( + '-d', '--distribution', default='ubuntu', action='store', + dest='distribution', + help="The archive distribution. Defaults to 'ubuntu'.") + parser.add_argument( + '-p', '--processor', action='append', dest='processors', + help="The processor for which to schedule builds. " + "Default to i386 and amd64.") + parser.add_argument( + '-r', '--ratio', default=0.25, action='store', type=float, + dest='builder_ratio', + help="The ratio of builders that you want to use for the copy " + "builds. Default to 25%% of the available builders.") + parser.add_argument('copy_archive_name', help='Name of copy archive') + args = parser.parse_args() + + if args.verbose >= 2: + log_level = logging.DEBUG + elif args.verbose == 1: + log_level = logging.INFO + else: + log_level = logging.WARNING + logging.basicConfig(level=log_level) + + if args.builder_ratio >= 1 or args.builder_ratio < 0: + parser.error( + 'ratio should be a float between 0 and 1: %s' % + args.builder_ratio) + + if not args.processors: + args.processors = ['amd64', 'i386'] + + lp = Launchpad.login_with( + API_NAME, args.lp_instance, + credentials_file=args.credentials, + version='devel') + + try: + distribution = lp.distributions[args.distribution] + except KeyError: + parser.error('unknown distribution: %s' % args.distribution) + + archive = distribution.getArchive(name=args.copy_archive_name) + if archive is None: + parser.error('unknown archive: %s' % args.copy_archive_name) + + iteration = 0 + while True: + # Every 5 schedules run - and on the first - compute available + # capacity. + if (iteration % 5) == 0: + capacity = determine_builder_capacity(lp, args) + iteration += 1 + + pending_builds = archive.getBuildRecords(build_state=NEEDS_BUILDING) + logging.debug('Found %d pending builds.' % len(pending_builds)) + if len(pending_builds) == 0: + logging.info('No more builds pending. We are done.') + break + + used_capacity = get_archive_used_builders_capacity(archive) + + # For each processor, rescore up as many builds as we have + # capacity for. + for processor in args.processors: + builds_to_rescore = ( + capacity[processor] - used_capacity.get(processor, 0)) + logging.debug( + 'Will try to rescore %d %s builds', builds_to_rescore, + processor) + for build in pending_builds: + if builds_to_rescore <= 0: + break + + if build.arch_tag != processor: + continue + + if build.score < 0: + # Only rescore builds that look like the negative + # copy archive modified have been applied. + logging.info('Rescoring %s' % build.title) + # This should make them considered like a regular build. + build.rescore( + score=build.score + COPY_ARCHIVE_SCORE_PENALTY) + else: + logging.debug('%s already rescored', build.title) + + # If the score was already above 0, it was probably + # rescored already, count it against our limit anyway. + builds_to_rescore -= 1 + + # Reschedule in a while. + logging.debug('Sleeping for %d minutes.', SCHEDULE_PERIOD) + time.sleep(SCHEDULE_PERIOD * 60) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/copy-package b/ubuntu-archive-tools/copy-package new file mode 100755 index 0000000..b800f40 --- /dev/null +++ b/ubuntu-archive-tools/copy-package @@ -0,0 +1,258 @@ +#! /usr/bin/python + +# Copyright (C) 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Copy package publication records.""" + +from __future__ import print_function + +import argparse +import sys + +from launchpadlib.errors import HTTPError +from launchpadlib.launchpad import Launchpad +try: + from ubuntutools.question import YesNoQuestion +except ImportError: + print("No ubuntutools installed: sudo apt-get install ubuntu-dev-tools") + exit() + +import lputils + + +def find_publications(args, package): + source = lputils.find_latest_published_source(args, package) + yield source, source.source_package_version + + if args.include_binaries: + for binary in source.getPublishedBinaries(): + yield binary, binary.binary_package_version + + +def copy_packages(args): + ret = True + + for package in args.packages: + print("Copy candidates:") + + try: + source = lputils.find_latest_published_source(args, package) + except lputils.PackageMissing as error: + print(error) + if args.skip_missing: + print('Skipping') + continue + else: + # Bail with exit code non-zero. + return False + print("\t%s" % source.display_name) + num_copies = 1 + + if args.include_binaries: + for binary in source.getPublishedBinaries(): + print("\t%s" % binary.display_name) + num_copies += 1 + + print("Candidate copy target: %s" % args.destination.archive) + if args.sponsoree: + print("Sponsored for: %s" % args.sponsoree) + if args.dry_run: + print("Dry run; no packages copied.") + else: + if not args.confirm_all: + if YesNoQuestion().ask("Copy", "no") == "no": + continue + + try: + args.destination.archive.copyPackage( + source_name=package, version=source.source_package_version, + from_archive=args.archive, + from_series=args.series.name, + from_pocket=args.pocket, + to_series=args.destination.series.name, + to_pocket=args.destination.pocket, + include_binaries=args.include_binaries, + unembargo=args.unembargo, + auto_approve=args.auto_approve, + silent=args.silent, + sponsored=args.sponsoree) + + print("%d %s requested." % ( + num_copies, "copy" if num_copies == 1 else "copies")) + except HTTPError as e: + print(e.content, file=sys.stderr) + ret = False + + return ret + + +def main(): + parser = argparse.ArgumentParser( + epilog=lputils.ARCHIVE_REFERENCE_DESCRIPTION) + parser.add_argument( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_argument( + "-n", "--dry-run", default=False, action="store_true", + help="only show copies that would be performed") + parser.add_argument( + "-y", "--confirm-all", default=False, action="store_true", + help="do not ask for confirmation") + parser.add_argument( + "--from", metavar="ARCHIVE", dest="archive", + help="copy from ARCHIVE (default: ubuntu)") + parser.add_argument( + "-s", "--suite", "--from-suite", metavar="SUITE", + help="copy from SUITE (default: development release pocket)") + parser.add_argument( + "--to", metavar="ARCHIVE", + help="copy to ARCHIVE (default: copy from archive)") + parser.add_argument( + "--to-suite", metavar="SUITE", + help="copy to SUITE (default: copy from suite)") + parser.add_argument( + "-e", "--version", + metavar="VERSION", help="package version (default: current version)") + parser.add_argument( + "-b", "--include-binaries", default=False, action="store_true", + help="copy related binaries") + parser.add_argument( + "--unembargo", default=False, action="store_true", + help="allow copying from a private archive to a public archive") + parser.add_argument( + "--auto-approve", default=False, action="store_true", + help="automatically approve copy (requires queue admin permissions)") + parser.add_argument( + "--silent", default=False, action="store_true", + help="suppress mail notifications (requires queue admin permissions)") + parser.add_argument( + "--force-same-destination", default=False, action="store_true", + help=( + "force copy when source == destination (e.g. when reverting to " + "a previous version in the same suite)")) + parser.add_argument( + "--skip-missing", default=False, action="store_true", + help=( + "When a package cannot be copied, normally this script exits " + "with a non-zero status. With --skip-missing instead, the " + "error is printed and copying continues")) + parser.add_argument( + "--sponsor", metavar="USERNAME", dest="sponsoree", default=None, + help="Sponsor the sync for USERNAME (a Launchpad username).") + + # Deprecated in favour of --to and --from. + parser.add_argument( + "-d", "--distribution", default="ubuntu", help=argparse.SUPPRESS) + parser.add_argument("-p", "--ppa", help=argparse.SUPPRESS) + parser.add_argument("--ppa-name", help=argparse.SUPPRESS) + parser.add_argument( + "-j", "--partner", default=False, action="store_true", + help=argparse.SUPPRESS) + parser.add_argument( + "--to-primary", default=False, action="store_true", + help=argparse.SUPPRESS) + parser.add_argument("--to-distribution", help=argparse.SUPPRESS) + parser.add_argument("--to-ppa", help=argparse.SUPPRESS) + parser.add_argument("--to-ppa-name", help=argparse.SUPPRESS) + parser.add_argument( + "--to-partner", default=False, action="store_true", + help=argparse.SUPPRESS) + + parser.add_argument( + "packages", metavar="package", nargs="+", + help="name of package to copy") + + args = parser.parse_args() + + args.launchpad = Launchpad.login_with( + "copy-package", args.launchpad_instance, version="devel") + args.destination = argparse.Namespace() + args.destination.launchpad = args.launchpad + args.destination.suite = args.to_suite or args.suite + + if args.archive or args.to: + # Use modern single-option archive references. + if ((args.distribution and args.distribution != u'ubuntu') or + args.ppa or args.ppa_name or args.partner or + args.to_distribution or args.to_ppa or + args.to_ppa_name or args.to_partner): + parser.error( + "cannot use --to/--from and the deprecated archive selection " + "options together") + args.destination.archive = args.to or args.archive + else: + # Use the deprecated four-option archive specifiers. + if args.ppa and args.partner: + parser.error( + "cannot copy from partner archive and PPA simultaneously") + if args.to_ppa and args.to_partner: + parser.error( + "cannot copy to partner archive and PPA simultaneously") + + args.destination.distribution = ( + args.to_distribution or args.distribution) + args.destination.ppa = args.to_ppa + args.destination.ppa_name = args.to_ppa_name + args.destination.partner = args.to_partner + + # In cases where source is specified, but destination is not, + # default to destination = source + if (args.ppa is not None and args.to_ppa is None and + not args.to_primary and not args.destination.partner): + args.destination.ppa = args.ppa + if (args.ppa_name is not None and args.to_ppa_name is None and + args.destination.ppa is not None): + args.destination.ppa_name = args.ppa_name + if (args.partner and not args.destination.partner and + not args.ppa): + args.destination.partner = args.partner + + if args.to_primary and args.to_ppa_name is not None: + parser.error( + "--to-ppa-name option set for copy to primary archive") + + lputils.setup_location(args) + lputils.setup_location(args.destination) + + if args.archive.private and not args.destination.archive.private: + if not args.unembargo: + parser.error( + "copying from a private archive to a public archive requires " + "the --unembargo option") + + # TODO some equivalent of canModifySuite check? + + if (not args.force_same_destination and + args.distribution == args.destination.distribution and + args.suite == args.destination.suite and + args.pocket == args.destination.pocket and + args.archive.reference == args.destination.archive.reference): + parser.error("copy destination must differ from source") + + if args.sponsoree: + try: + args.sponsoree = args.launchpad.people[args.sponsoree] + except KeyError: + parser.error( + "Person to sponsor for not found: %s" % args.sponsoree) + + if copy_packages(args): + return 0 + else: + return 1 + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/ubuntu-archive-tools/copy-proposed-kernel b/ubuntu-archive-tools/copy-proposed-kernel new file mode 100755 index 0000000..3921771 --- /dev/null +++ b/ubuntu-archive-tools/copy-proposed-kernel @@ -0,0 +1,116 @@ +#!/usr/bin/python + +# Copyright (C) 2011, 2012 Canonical Ltd. +# Author: Martin Pitt + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +'''Copy a kernel from the kernel team's PPA to -proposed. + +USAGE: + copy-proposed-kernel [--security] +''' + +from __future__ import print_function + +import argparse +import sys + +from launchpadlib.launchpad import Launchpad + + +parser = argparse.ArgumentParser(description='Copy a proposed kernel to the apropriate archive pocket') +parser.add_argument('--dry-run', action='store_true', help='Do everything but actually copy the package') +parser.add_argument('--security', '-S', action='store_true', help='Copy from the kernel security PPA') +parser.add_argument('--security2', action='store_true', help='Copy from the kernel security PPA2') +parser.add_argument('--esm', '-E', action='store_true', help='Copy from the kernel ESM PPA and to the kernel ESM proposed PPA') +parser.add_argument('--no-auto', action='store_true', help='Turn off automatic detection of ESM et al based on series') +parser.add_argument('series', action='store', help='The series the source package is in') +parser.add_argument('source', action='store', help='The source package name') + +args = parser.parse_args() + +to = 'ubuntu' +ppa_name = '~canonical-kernel-team/ubuntu/ppa' +security = False + +# If we are allowed to intuit destinations do so: +# 1) precise is now destined for the ESM PPAs +if not args.no_auto: + if args.series == 'precise' and not args.esm: + print("NOTE: directing copy from and to ESM for precise") + args.esm = True + +if args.esm: + ppa_name = '~canonical-kernel-esm/ubuntu/ppa' + to = '~canonical-kernel-esm/ubuntu/proposed' + to_pocket = 'release' +if args.security: + ppa_name = '~canonical-kernel-security-team/ubuntu/ppa' + if not args.esm: + security = True + else: + ppa_name = '~canonical-kernel-security-team/ubuntu/esm' +if args.security2: + ppa_name = '~canonical-kernel-security-team/ubuntu/ppa2' + if not args.esm: + security = True + +(release, pkg) = (args.series, args.source) + +launchpad = Launchpad.login_with( + 'ubuntu-archive-tools', 'production', version='devel') +ubuntu = launchpad.distributions['ubuntu'] +distro_series = ubuntu.getSeries(name_or_version=release) +kernel_ppa = launchpad.archives.getByReference( + reference=ppa_name) + +# get current version in PPA for that series +versions = kernel_ppa.getPublishedSources( + source_name=pkg, exact_match=True, status='Published', pocket='Release', + distro_series=distro_series) +assert versions.total_size == 1 +version = versions[0].source_package_version + +include_binaries = (pkg not in ('debian-installer') + and not pkg.startswith('linux-signed')) + +# Grab a reference to the 'to' archive and select a pocket. +to_archive = launchpad.archives.getByReference(reference=to) +if to == 'ubuntu': + to_pocket = 'proposed' +else: + to_pocket = 'release' + +print("""Copying {}/{}: + From: {} release + To: {} {}""".format(pkg, version, kernel_ppa, to_archive, to_pocket)) + +if args.dry_run: + print("Dry run; no packages copied.") + sys.exit(0) + +# Finally ready to actually copy this. +to_archive.copyPackage( + from_archive=kernel_ppa, include_binaries=include_binaries, + source_name=pkg, to_series=release, to_pocket=to_pocket, version=version, + auto_approve=True, unembargo=security) + +# TODO: adjust this script to use find-bin-overrides or rewrite +# find-bin-overrides to use lpapi and use it here. +print(''' +IMPORTANT: Please verify the overrides are correct for this source package. +Failure to do so may result in uninstallability when it is ultimately copied to +-updates/-security. lp:ubuntu-qa-tools/security-tools/find-bin-overrides can +help with this. +''') diff --git a/ubuntu-archive-tools/copy-report b/ubuntu-archive-tools/copy-report new file mode 100755 index 0000000..e15085b --- /dev/null +++ b/ubuntu-archive-tools/copy-report @@ -0,0 +1,289 @@ +#! /usr/bin/env python + +from __future__ import print_function + +import atexit +from collections import namedtuple +import gzip +import optparse +import os +import re +import shutil +import subprocess +import tempfile +try: + from urllib.parse import unquote + from urllib.request import urlretrieve +except ImportError: + from urllib import unquote, urlretrieve + +import apt_pkg +from launchpadlib.launchpad import Launchpad + + +# from dak, more or less +re_no_epoch = re.compile(r"^\d+:") +re_strip_revision = re.compile(r"-[^-]+$") +re_changelog_versions = re.compile(r"^\w[-+0-9a-z.]+ \(([^\(\) \t]+)\)") + +default_mirrors = ":".join([ + '/home/ubuntu-archive/mirror/ubuntu', + '/srv/archive.ubuntu.com/ubuntu', +]) +tempdir = None + +series_by_name = {} + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix='copy-report') + atexit.register(shutil.rmtree, tempdir) + + +def decompress_open(tagfile): + if tagfile.startswith('http:') or tagfile.startswith('ftp:'): + url = tagfile + tagfile = urlretrieve(url)[0] + + if tagfile.endswith('.gz'): + ensure_tempdir() + decompressed = tempfile.mktemp(dir=tempdir) + fin = gzip.GzipFile(filename=tagfile) + with open(decompressed, 'wb') as fout: + fout.write(fin.read()) + return open(decompressed, 'r') + else: + return open(tagfile, 'r') + + +Section = namedtuple("Section", ["version", "directory", "files"]) + + +def tagfiletodict(tagfile): + suite = {} + for section in apt_pkg.TagFile(decompress_open(tagfile)): + files = [s.strip().split()[2] for s in section["Files"].split('\n')] + suite[section["Package"]] = Section( + version=section["Version"], directory=section["Directory"], + files=files) + return suite + + +def find_dsc(options, pkg, section): + dsc_filename = [s for s in section.files if s.endswith('.dsc')][0] + for mirror in options.mirrors: + path = '%s/%s/%s' % (mirror, section.directory, dsc_filename) + if os.path.exists(path): + yield path + ensure_tempdir() + spph = options.archive.getPublishedSources( + source_name=pkg, version=section.version, exact_match=True)[0] + outdir = tempfile.mkdtemp(dir=tempdir) + filenames = [] + for url in spph.sourceFileUrls(): + filename = os.path.join(outdir, unquote(os.path.basename(url))) + urlretrieve(url, filename) + filenames.append(filename) + yield [s for s in filenames if s.endswith('.dsc')][0] + + +class BrokenSourcePackage(Exception): + pass + + +def get_changelog_versions(pkg, dsc, version): + ensure_tempdir() + + upstream_version = re_no_epoch.sub('', version) + upstream_version = re_strip_revision.sub('', upstream_version) + + with open(os.devnull, 'w') as devnull: + ret = subprocess.call( + ['dpkg-source', '-q', '--no-check', '-sn', '-x', dsc], + stdout=devnull, cwd=tempdir) + + # It's in the archive, so these assertions must hold. + if ret != 0: + raise BrokenSourcePackage(dsc) + + unpacked = '%s/%s-%s' % (tempdir, pkg, upstream_version) + assert os.path.isdir(unpacked) + changelog_path = '%s/debian/changelog' % unpacked + assert os.path.exists(changelog_path) + + with open(changelog_path) as changelog: + versions = set() + for line in changelog: + m = re_changelog_versions.match(line) + if m: + versions.add(m.group(1)) + + shutil.rmtree(unpacked) + + return versions + + +def descended_from(options, pkg, section1, section2): + if apt_pkg.version_compare(section1.version, section2.version) <= 0: + return False + exception = None + for dsc in find_dsc(options, pkg, section1): + try: + versions = get_changelog_versions(pkg, dsc, section1.version) + except BrokenSourcePackage as exception: + continue + return section1.version in versions + raise exception + + +Candidate = namedtuple( + "Candidate", ["package", "suite1", "suite2", "version1", "version2"]) + + +def get_series(options, name): + if name not in series_by_name: + series_by_name[name] = options.distro.getSeries(name_or_version=name) + return series_by_name[name] + + +def already_copied(options, candidate): + if "-" in candidate.suite2: + series, pocket = candidate.suite2.split("-", 1) + pocket = pocket.title() + else: + series = candidate.suite2 + pocket = "Release" + series = get_series(options, series) + pubs = options.archive.getPublishedSources( + source_name=candidate.package, version=candidate.version1, + exact_match=True, distro_series=series, pocket=pocket) + for pub in pubs: + if pub.status in ("Pending", "Published"): + return True + return False + + +def copy(options, candidate): + if "-" in candidate.suite2: + to_series, to_pocket = candidate.suite2.split("-", 1) + to_pocket = to_pocket.title() + else: + to_series = candidate.suite2 + to_pocket = "Release" + options.archive.copyPackage( + source_name=candidate.package, version=candidate.version1, + from_archive=options.archive, to_pocket=to_pocket, to_series=to_series, + include_binaries=True, auto_approve=True) + + +def candidate_string(candidate): + string = ('copy-package -y -b -s %s --to-suite %s -e %s %s' % + (candidate.suite1, candidate.suite2, candidate.version1, + candidate.package)) + if candidate.version2 is not None: + string += ' # %s: %s' % (candidate.suite2, candidate.version2) + return string + + +def main(): + apt_pkg.init_system() + + parser = optparse.OptionParser(usage="usage: %prog [options] [suites]") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "--quick", action="store_true", help="don't examine changelogs") + parser.add_option( + "--copy-safe", action="store_true", + help="automatically copy safe candidates") + parser.add_option( + "--mirrors", default=default_mirrors, + help="colon-separated list of local mirrors") + options, args = parser.parse_args() + + options.launchpad = Launchpad.login_with( + "copy-report", options.launchpad_instance, version="devel") + options.distro = options.launchpad.distributions["ubuntu"] + options.archive = options.distro.main_archive + options.mirrors = options.mirrors.split(":") + + if args: + suites = args + else: + suites = reversed([ + series.name + for series in options.launchpad.distributions["ubuntu"].series + if series.status in ("Supported", "Current Stable Release")]) + + yes = [] + maybe = [] + no = [] + + for suite in suites: + for component in 'main', 'restricted', 'universe', 'multiverse': + tagfile1 = '%s/dists/%s-security/%s/source/Sources.gz' % ( + options.mirrors[0], suite, component) + tagfile2 = '%s/dists/%s-updates/%s/source/Sources.gz' % ( + options.mirrors[0], suite, component) + name1 = '%s-security' % suite + name2 = '%s-updates' % suite + + suite1 = tagfiletodict(tagfile1) + suite2 = tagfiletodict(tagfile2) + + for package in sorted(suite1): + section1 = suite1[package] + section2 = suite2.get(package) + if (section2 is None or + (not options.quick and + descended_from(options, package, section1, section2))): + candidate = Candidate( + package=package, suite1=name1, suite2=name2, + version1=section1.version, version2=None) + if not already_copied(options, candidate): + yes.append(candidate) + elif apt_pkg.version_compare( + section1.version, section2.version) > 0: + candidate = Candidate( + package=package, suite1=name1, suite2=name2, + version1=section1.version, version2=section2.version) + if already_copied(options, candidate): + pass + elif not options.quick: + no.append(candidate) + else: + maybe.append(candidate) + + if yes: + print("The following packages can be copied safely:") + print("--------------------------------------------") + print() + for candidate in yes: + print(candidate_string(candidate)) + print() + + if options.copy_safe: + for candidate in yes: + copy(options, candidate) + + if maybe: + print("Check that these packages are descendants before copying:") + print("---------------------------------------------------------") + print() + for candidate in maybe: + print('#%s' % candidate_string(candidate)) + print() + + if no: + print("The following packages need to be merged by hand:") + print("-------------------------------------------------") + print() + for candidate in no: + print('#%s' % candidate_string(candidate)) + print() + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/cron.NBS b/ubuntu-archive-tools/cron.NBS new file mode 100755 index 0000000..8b294da --- /dev/null +++ b/ubuntu-archive-tools/cron.NBS @@ -0,0 +1,47 @@ +#!/bin/sh +set -e + +# Copyright (C) 2009, 2010, 2011 Canonical Ltd. +# Author: Martin Pitt + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Run archive-cruft-check and run checkrdepends on every NBS package. + +MIRROR=$HOME/mirror +DISTRIBUTION="${DISTRIBUTION:-ubuntu}" +RELEASE="${RELEASE:-disco}" +OUTDIR="${OUTDIR:-$HOME/public_html/NBS}" +OUTFILE="${OUTFILE:-$HOME/public_html/nbs.html}" + +CURBINS=`zgrep -h ^Binary: "$MIRROR/$DISTRIBUTION/dists/$RELEASE"/*/source/Sources.gz | cut -f 2- -d\ |sed 's/,[[:space:]]*/\n/g'` + +D=`mktemp -d` +trap "rm -rf $D" 0 2 3 5 10 13 15 +chmod 755 $D + +CHECK= +for i in $(archive-cruft-check -d "$DISTRIBUTION" -s "$RELEASE" "$MIRROR" 2>&1 | grep '^ *o ' | sed 's/^.*://; s/,//g'); do + if echo "$CURBINS" | fgrep -xq $i; then + echo "$i" >> $D/00FTBFS + else + CHECK="$CHECK $i" + fi +done +checkrdepends -B "$MIRROR/$DISTRIBUTION" -s $RELEASE -b -d "$D" $CHECK + +rsync -a --delete "$D/" "$OUTDIR/" + +nbs-report -d "$DISTRIBUTION" -s "$RELEASE" --csv "${OUTFILE%.html}.csv" \ + "$OUTDIR/" >"$OUTFILE.new" && \ + mv "$OUTFILE.new" "$OUTFILE" diff --git a/ubuntu-archive-tools/demote-to-proposed b/ubuntu-archive-tools/demote-to-proposed new file mode 100755 index 0000000..798b0f0 --- /dev/null +++ b/ubuntu-archive-tools/demote-to-proposed @@ -0,0 +1,113 @@ +#! /usr/bin/python + +# Copyright (C) 2013 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Demote packages to proposed pocket. + +This is useful in the case where a package fails to build or is otherwise +broken, but we don't want to remove it from the archive permanently and +would be happy to take a fix by way of a sync from Debian or similar. In +cases where the package comes from Debian, make sure that any demotion to +proposed is accompanied by a Debian bug report. + +This is analogous to removing a package from Debian testing. +""" + +from __future__ import print_function + +from optparse import OptionParser +import sys + +from launchpadlib.launchpad import Launchpad +from ubuntutools.question import YesNoQuestion + +import lputils + + +def demote(options, packages): + print("Demoting packages to %s-proposed:" % options.suite) + try: + demotables = [] + for package in packages: + source = lputils.find_latest_published_source(options, package) + demotables.append(source) + print("\t%s" % source.display_name) + except lputils.PackageMissing as message: + print(message, ". Exiting.") + sys.exit(1) + print("Comment: %s" % options.comment) + + if options.dry_run: + print("Dry run; no packages demoted.") + else: + if not options.confirm_all: + if YesNoQuestion().ask("Demote", "no") == "no": + return + + for source in demotables: + options.archive.copyPackage( + source_name=source.source_package_name, + version=source.source_package_version, + from_archive=options.archive, + from_series=options.series.name, from_pocket="Release", + to_series=options.series.name, to_pocket="Proposed", + include_binaries=True, auto_approve=True) + if not options.confirm_all: + if YesNoQuestion().ask( + "Remove %s from release" % source.source_package_name, + "no") == "no": + continue + source.requestDeletion(removal_comment=options.comment) + + print("%d %s successfully demoted." % ( + len(demotables), + "package" if len(demotables) == 1 else "packages")) + + +def main(): + parser = OptionParser( + usage='usage: %prog -m "comment" [options] package [...]') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="only show demotions that would be performed") + parser.add_option( + "-y", "--confirm-all", default=False, action="store_true", + help="do not ask for confirmation") + parser.add_option( + "-d", "--distribution", default="ubuntu", + metavar="DISTRIBUTION", help="demote from DISTRIBUTION") + parser.add_option( + "-s", "--suite", metavar="SUITE", help="demote from SUITE") + parser.add_option( + "-e", "--version", + metavar="VERSION", help="package version (default: current version)") + parser.add_option("-m", "--comment", help="demotion comment") + options, args = parser.parse_args() + + options.launchpad = Launchpad.login_with( + "demote-to-proposed", options.launchpad_instance, version="devel") + lputils.setup_location(options) + + if options.comment is None: + parser.error("You must provide a comment/reason for all demotions.") + + demote(options, args) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/derive-distribution b/ubuntu-archive-tools/derive-distribution new file mode 100755 index 0000000..6e8ed3a --- /dev/null +++ b/ubuntu-archive-tools/derive-distribution @@ -0,0 +1,529 @@ +#! /usr/bin/python + +# Copyright (C) 2014 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Requires germinate >= 2.18. + +"""Copy a subset of one distribution into a derived distribution.""" + +from __future__ import print_function + +import atexit +from collections import OrderedDict +from contextlib import closing, contextmanager +import io +import logging +from optparse import OptionParser, Values +import os +import shutil +import subprocess +import sys +import tempfile +import time +try: + from urllib.request import urlopen +except ImportError: + from urllib2 import urlopen + +import apt_pkg +from dateutil import parser as dateutil_parser +from germinate.archive import TagFile +from germinate.germinator import Germinator +from germinate.seeds import Seed, SeedError, SeedStructure +from launchpadlib.errors import HTTPError +from launchpadlib.launchpad import Launchpad +import pytz +from ubuntutools.question import YesNoQuestion + +import lputils + + +_bzr_cache_dir = None + + +@contextmanager +def open_url_as_text(url): + with closing(urlopen(url)) as raw: + with closing(io.BytesIO(raw.read())) as binary: + with closing(io.TextIOWrapper(binary)) as text: + yield text + + +class ManifestError(Exception): + pass + + +class TimeTravellingSeed(Seed): + def __init__(self, options, *args): + self.options = options + super(TimeTravellingSeed, self).__init__(*args, bzr=True) + + def _bzr_revision_at_date(self, branch_url, date_obj): + """Work out the bzr revision of a branch at a particular date. + + Unfortunately, bzr's date: revisionspec is unhelpful for this, as it + asks for the first revision *after* the given date, and fails if the + given date is after the last revision on the branch. We could + probably do this properly with bzrlib, but life's too short and this + will do. + + This assumes all sorts of things like the exact ordering of field + names in log output. Since bzr is no longer being heavily + developed, hopefully this won't be a problem until we can switch the + seeds to git ... + """ + command = ["bzr", "log", branch_url] + bzr_log = subprocess.Popen( + command, stdout=subprocess.PIPE, universal_newlines=True) + revno = None + for line in bzr_log.stdout: + line = line.rstrip("\n") + if line.startswith("revno: "): + revno = line[len("revno: "):].split(" ", 1)[0] + elif line.startswith("timestamp: "): + timestamp = dateutil_parser.parse(line[len("timestamp: "):]) + if timestamp < date_obj: + break + else: + revno = None + bzr_log.stdout.close() + bzr_log.wait() + if revno is None: + raise SeedError("No revision found at %s in %s" % ( + date_obj, branch_url)) + return revno + + def _open_seed(self, base, branch, name, bzr=False): + if not bzr: + raise Exception("Non-bzr-based time travel is not supported.") + + global _bzr_cache_dir + if _bzr_cache_dir is None: + _bzr_cache_dir = tempfile.mkdtemp(prefix="derive-distribution-") + atexit.register(shutil.rmtree, _bzr_cache_dir, ignore_errors=True) + + path = os.path.join(base, branch) + checkout = os.path.join(_bzr_cache_dir, branch) + if not os.path.isdir(checkout): + revno = self._bzr_revision_at_date(path, self.options.date) + logging.info("Checking out %s at r%s" % (path, revno)) + command = [ + "bzr", "checkout", "--lightweight", "-r%s" % revno, path, + checkout, + ] + status = subprocess.call(command) + if status != 0: + raise SeedError( + "Command failed with exit status %d:\n '%s'" % ( + status, " ".join(command))) + return open(os.path.join(checkout, name)) + + +class TimeTravellingSeedStructure(SeedStructure): + def __init__(self, options, *args, **kwargs): + kwargs["bzr"] = True + self.options = options + super(TimeTravellingSeedStructure, self).__init__(*args, **kwargs) + + def make_seed(self, bases, branches, name, bzr=False): + if not bzr: + raise Exception("Non-bzr-based time travel is not supported.") + return TimeTravellingSeed(self.options, bases, branches, name) + + +class TimeTravellingGerminator: + apt_mirror = "http://people.canonical.com/~ubuntu-archive/apt-mirror.cgi" + + def __init__(self, options): + self.options = options + + @property + def components(self): + return ["main", "restricted", "universe", "multiverse"] + + @property + def mirror(self): + if self.options.date is not None: + timestamp = int(time.mktime(self.options.date.timetuple())) + return "%s/%d" % (self.apt_mirror, timestamp) + else: + return self.apt_mirror + + def makeSeedStructures(self, suite, flavours, extra_packages): + series_name = suite.split("-")[0] + if self.options.seed_source is None: + seed_bases = None + else: + seed_bases = self.options.seed_source.split(",") + structures = {} + for flavour in flavours: + try: + structure = TimeTravellingSeedStructure( + self.options, "%s.%s" % (flavour, series_name), + seed_bases=seed_bases) + if len(structure): + extra_seed = [] + for extra_package in extra_packages: + extra_seed.append(" * " + extra_package) + if extra_seed: + structure.add("extra-packages", extra_seed, "required") + # Work around inability to specify extra packages + # with no parent seeds. + structure._inherit["extra-packages"] = [] + structures[flavour] = structure + # TODO: We could save time later by mangling the + # structure to remove seeds we don't care about. + else: + logging.warning( + "Skipping empty seed structure for %s.%s", + flavour, series_name) + except SeedError as e: + logging.warning( + "Failed to fetch seeds for %s.%s: %s", + flavour, series_name, e) + return structures + + def germinateArchFlavour(self, germinator, suite, arch, flavour, structure, + seed_names): + """Germinate seeds on a single flavour for a single architecture.""" + germinator.plant_seeds(structure) + germinator.grow(structure) + germinator.add_extras(structure) + + # Unfortunately we have to use several bits of Germinate internals + # here. I promise not to change them under myself without notifying + # myself. + all_seeds = OrderedDict() + for seed_name in seed_names: + seed = germinator._get_seed(structure, seed_name) + for inner_seed in germinator._inner_seeds(seed): + if inner_seed.name not in all_seeds: + all_seeds[inner_seed.name] = inner_seed + if "extra-packages" in structure: + seed = germinator._get_seed(structure, "extra-packages") + for inner_seed in germinator._inner_seeds(seed): + if inner_seed.name not in all_seeds: + all_seeds[inner_seed.name] = inner_seed + for seed in all_seeds.values(): + sources = seed._sourcepkgs | seed._build_sourcepkgs + for source in sources: + version = germinator._sources[source]["Version"] + if (source in self._versions and + self._versions[source] != version): + # This requires manual investigation, as the resulting + # derived distribution series can only have one version + # of any given source package. + raise Exception( + "Conflicting source versions: seed %s/%s requires " + "%s %s, but already present at version %s" % ( + flavour, seed, source, version, + self._versions[source])) + self._versions[source] = version + + def checkImageManifest(self, germinator, arch, manifest_url): + ok = True + with open_url_as_text(manifest_url) as manifest: + for line in manifest: + try: + package, version = line.split() + if package.startswith("click:"): + continue + package = package.split(":", 1)[0] + if package not in germinator._packages: + raise ManifestError( + "%s not found for %s (from %s)" % ( + package, arch, manifest_url)) + gpkg = germinator._packages[package] + if gpkg["Version"] != version: + raise ManifestError( + "Found %s %s for %s, but wanted %s " + "(from %s)" % ( + package, gpkg["Version"], arch, version, + manifest_url)) + if gpkg["Source"] not in self._versions: + raise ManifestError( + "%s not copied (from %s)" % ( + gpkg["Source"], manifest_url)) + except ManifestError as e: + logging.error(e.message) + ok = False + return ok + + def germinateArch(self, suite, components, arch, flavours, structures): + """Germinate seeds on all flavours for a single architecture.""" + germinator = Germinator(arch) + + # Read archive metadata. + logging.info("Reading archive for %s/%s", suite, arch) + archive = TagFile(suite, components, arch, self.mirror, cleanup=True) + germinator.parse_archive(archive) + + if self.options.all_packages: + for source in germinator._sources: + self._versions[source] = germinator._sources[source]["Version"] + else: + for flavour, seed_names in flavours.items(): + logging.info("Germinating for %s/%s/%s", flavour, suite, arch) + self.germinateArchFlavour( + germinator, suite, arch, flavour, structures[flavour], + seed_names) + + ok = True + if self.options.check_image_manifest: + for manifest_id in self.options.check_image_manifest: + manifest_arch, manifest_url = manifest_id.split(":", 1) + if arch != manifest_arch: + continue + if not self.checkImageManifest(germinator, arch, manifest_url): + ok = False + + return ok + + def getVersions(self, full_seed_names, extra_packages): + self._versions = {} + + suite = self.options.suite + components = self.components + architectures = [ + a.architecture_tag for a in self.options.architectures] + flavours = OrderedDict() + for full_seed_name in full_seed_names: + flavour, seed_name = full_seed_name.split("/") + flavours.setdefault(flavour, []).append(seed_name) + + if self.options.all_packages: + structures = None + else: + logging.info("Reading seed structures") + structures = self.makeSeedStructures( + suite, flavours, extra_packages) + if self.options.all_packages or structures: + ok = True + for arch in architectures: + if not self.germinateArch( + suite, components, arch, flavours, structures): + ok = False + if not ok: + sys.exit(1) + + return self._versions + + +def retry_on_error(func, *args, **kwargs): + # Since failure will be expensive to restart from scratch, we try this a + # few times in case of failure. + for i in range(3): + try: + return func(*args, **kwargs) + except HTTPError as e: + print(e.content, file=sys.stderr) + if i == 2: + raise + time.sleep(15) + + +def derive_distribution(options, args): + full_seed_names = [ + arg[len("seed:"):] for arg in args if arg.startswith("seed:")] + if not full_seed_names and not options.all_packages: + raise Exception( + "You must specify at least one seed name (in the form " + "seed:COLLECTION/NAME).") + extra_packages = [arg for arg in args if not arg.startswith("seed:")] + ttg = TimeTravellingGerminator(options) + versions = ttg.getVersions(full_seed_names, extra_packages) + + if options.excludes: + for exclude in options.excludes: + versions.pop(exclude, None) + + # Skip anything we already have, to simplify incremental copies. + original_versions = dict(versions) + removable = {} + newer = {} + for spph in options.destination.archive.getPublishedSources( + distro_series=options.destination.series, + pocket=options.destination.pocket, status="Published"): + source = spph.source_package_name + if source not in versions: + removable[source] = spph.source_package_version + else: + diff = apt_pkg.version_compare( + versions[source], spph.source_package_version) + if diff < 0: + newer[source] = spph + elif diff == 0: + del versions[source] + + print("Copy candidates:") + for source, version in sorted(versions.items()): + print("\t%s\t%s" % (source, version)) + print() + + if newer: + print("These packages previously had newer version numbers:") + for source, spph in sorted(newer.items()): + print( + "\t%s\t%s -> %s" % ( + source, spph.source_package_version, versions[source])) + print() + + if removable: + print("These packages could possibly be removed:") + for source, version in sorted(removable.items()): + print("\t%s\t%s" % (source, version)) + print() + + if options.dry_run: + print("Dry run; no packages copied.") + else: + if YesNoQuestion().ask("Copy", "no") == "no": + return False + + print("Setting packaging information ...") + for source in sorted(versions.keys()): + sp = options.series.getSourcePackage(name=source) + if sp.productseries_link is not None: + derived_sp = options.destination.series.getSourcePackage( + name=source) + if derived_sp.productseries_link is None: + retry_on_error( + derived_sp.setPackaging, + productseries=sp.productseries_link) + print(".", end="") + sys.stdout.flush() + print() + + # Wouldn't it be lovely if we could do a single copyPackages call + # with a giant dictionary of source package names to versions? As + # it is we need to call copyPackage a few thousand times instead. + archive = options.destination.archive + for source, version in sorted(versions.items()): + print("\t%s\t%s" % (source, version)) + if source in newer: + retry_on_error( + newer[source].requestDeletion, + removal_comment=( + "derive-distribution rewinding to %s" % version)) + retry_on_error( + archive.copyPackage, + source_name=source, version=version, + from_archive=options.archive, + to_pocket=options.destination.pocket, + to_series=options.destination.series.name, + include_binaries=True, auto_approve=True, silent=True) + + print("Checking package sets ...") + found_any_set = False + for source_set in options.launchpad.packagesets.getBySeries( + distroseries=options.series): + sources = source_set.getSourcesIncluded(direct_inclusion=True) + if set(sources) & set(original_versions): + print("\t%s" % source_set.name) + found_any_set = True + if found_any_set: + print( + "A member of ~techboard needs to copy the above package sets " + "to the new series.") + + return True + + +def main(): + logging.basicConfig(level=logging.INFO) + logging.getLogger("germinate").setLevel(logging.CRITICAL) + apt_pkg.init() + + parser = OptionParser( + usage="usage: %prog --to-distribution distribution [options]") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="only show actions that would be performed") + parser.add_option( + "-d", "--distribution", default="ubuntu", + metavar="DISTRIBUTION", help="copy from DISTRIBUTION") + parser.add_option("-s", "--suite", metavar="SUITE", help="copy from SUITE") + parser.add_option( + "-a", "--architecture", dest="architectures", action="append", + metavar="ARCHITECTURE", + help="architecture tag (may be given multiple times)") + parser.add_option( + "--to-distribution", metavar="DISTRIBUTION", + help="copy to DISTRIBUTION") + parser.add_option( + "--to-suite", metavar="SUITE", + help="copy to SUITE (default: copy from suite)") + parser.add_option( + "--date", metavar="DATE", help=( + "copy from suite as it existed on DATE; assumes UTC if timezone " + "not specified")) + parser.add_option("--seed-source", help="fetch seeds from SOURCE") + parser.add_option( + "--check-image-manifest", action="append", metavar="ARCH:URL", help=( + "ensure that all packages from the manifest at URL for " + "architecture ARCH are copied (may be given multiple times)")) + parser.add_option( + "--exclude", dest="excludes", action="append", metavar="PACKAGE", + help="don't copy PACKAGE (may be given multiple times)") + parser.add_option( + "--all-packages", default=False, action="store_true", + help="copy all packages in source suite rather than germinating") + options, args = parser.parse_args() + + if not args and not options.all_packages: + parser.error("You must specify some seeds or packages to copy.") + + if options.launchpad_instance == "dogfood": + # Work around old service root in some versions of launchpadlib. + options.launchpad_instance = "https://api.dogfood.paddev.net/" + options.launchpad = Launchpad.login_with( + "derive-distribution", options.launchpad_instance, version="devel") + lputils.setup_location(options) + options.destination = Values() + options.destination.launchpad = options.launchpad + options.destination.distribution = options.to_distribution + options.destination.suite = options.to_suite + options.destination.architectures = [ + a.architecture_tag for a in options.architectures] + + # In cases where source is specified, but destination is not, default to + # destination = source. + if options.destination.distribution is None: + options.destination.distribution = options.distribution + if options.destination.suite is None: + options.destination.suite = options.suite + + if options.date is not None: + options.date = dateutil_parser.parse(options.date) + if options.date.tzinfo is None: + options.date = options.date.replace(tzinfo=pytz.UTC) + + lputils.setup_location(options.destination) + + if (options.distribution == options.destination.distribution and + options.suite == options.destination.suite): + parser.error("copy destination must differ from source") + + if derive_distribution(options, args): + return 0 + else: + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/ubuntu-archive-tools/edit-acl b/ubuntu-archive-tools/edit-acl new file mode 100755 index 0000000..6694100 --- /dev/null +++ b/ubuntu-archive-tools/edit-acl @@ -0,0 +1,717 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Copyright (C) 2008, 2009, 2010, 2011, 2012 Canonical Ltd. +# Copyright (C) 2010 Stéphane Graber +# Copyright (C) 2010 Michael Bienia +# Copyright (C) 2011 Iain Lane +# Copyright (C) 2011 Soren Hansen +# Copyright (C) 2012 Stefano Rivera + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Edit uploader permissions for the Ubuntu distro in Launchpad.""" + +from __future__ import print_function + +from optparse import OptionParser, SUPPRESS_HELP +import sys + +import launchpadlib.errors +from launchpadlib.launchpad import Launchpad + +import lputils + +if sys.version < '3': + input = raw_input + + +CONSUMER_KEY = "edit-acl" + + +def print_perms(perms, series=None): + for perm in perms: + if (series is not None and perm.distro_series_name is not None and + series.name != perm.distro_series_name): + continue + desc = [] + desc.append("archive '%s'" % perm.archive.name) + if perm.component_name: + desc.append("component '%s'" % perm.component_name) + if series: + desc[-1] += ' in %s' % series + if perm.package_set_name: + desc.append("package set '%s' in %s" % (perm.package_set_name, + perm.distro_series_name)) + if perm.source_package_name: + desc.append("source package '%s'" % perm.source_package_name) + if perm.pocket: + desc.append("pocket '%s'" % perm.pocket) + if perm.distro_series_name is not None: + desc[-1] += " in %s" % perm.distro_series_name + print("%s for %s: %s" % (perm.permission, perm.person.name, + ', '.join(desc))) + + +def multiline_input(prompt): + print(prompt) + print("End with a line containing only a full-stop '.'") + buf = [] + while True: + line = input() + if line == '.': + return '\n'.join(buf) + buf.append(line) + + +def get_archive(options, launchpad): + # We default to looking up by archive reference (ubuntu, + # ubuntu/partner or ~owner/ubuntu/ppa). + if options.archive is not None: + archive = launchpad.archives.getByReference(reference=options.archive) + if archive is not None: + return archive + + # But we also still support combining a distro name in -d and an + # archive name or old PPA reference in -A (-d ubuntu, + # -d ubuntu -A partner, or -d ubuntu -A owner/ppa). + distro = launchpad.distributions[options.distro] + if options.archive is None: + return distro.main_archive + else: + if '/' in options.archive: + owner, ppa_name = options.archive.split('/') + return launchpad.people[owner].getPPAByName( + distribution=distro, name=ppa_name) + for archive in distro.archives: + if archive.name == options.archive: + return archive + raise AssertionError("No such archive in Ubuntu: %s" % options.archive) + + +def get_source_components(options, launchpad, archive, source): + try: + from debian import debian_support + except ImportError: + from debian_bundle import debian_support + + args = {} + if options.series: + args['distro_series'] = options.series + + newest = {} + for spph in archive.getPublishedSources( + source_name=source, exact_match=True, status='Published', **args): + if not spph.distro_series.active: + continue + new_version = debian_support.Version(spph.source_package_version) + if (spph.distro_series.name not in newest or + new_version > newest[spph.distro_series.name][0]): + newest[spph.distro_series.name] = (new_version, + spph.component_name) + + for series in sorted(newest, key=lambda s: newest[s][0]): + yield series, newest[series][1] + + +permission_names = dict(upload='Archive Upload Rights', + admin='Queue Administration Rights') + + +def do_query(options): + """Query existing permissions and show on stdout.""" + if options.archive.self_link == options.distro.main_archive_link: + archives = options.distro.archives + else: + archives = [options.archive] + + if options.person: + for person in options.person: + if '@' in person: + lp_person = launchpad.people.getByEmail(email=person) + else: + try: + lp_person = launchpad.people[person] + except KeyError: + print("Person '%s' doesn't exist." % person) + sys.exit(1) + perms = [] + for archive in archives: + perms.extend(archive.getPermissionsForPerson( + person=lp_person)) + if options.acl_type: + perm_name = permission_names[options.acl_type] + perms = [p for p in perms if p.permission == perm_name] + print("== All rights for %s ==" % lp_person.name) + print_perms(perms, options.series) + + if options.component: + perms = [] + if not options.acl_type or options.acl_type == 'upload': + for archive in archives: + perms.extend(archive.getUploadersForComponent( + component_name=options.component)) + if not options.acl_type or options.acl_type == 'admin': + for archive in archives: + perms.extend(archive.getQueueAdminsForComponent( + component_name=options.component)) + print("== All rights for component '%s' ==" % options.component) + print_perms(perms, options.series) + + if options.packageset: + for packageset in options.packageset: + lp_set = launchpad.packagesets.getByName( + name=packageset, distroseries=options.series) + + perms = [] + for archive in archives: + perms.extend(archive.getUploadersForPackageset( + packageset=lp_set)) + print(("== All uploaders for package set '%s' in '%s' " + "(owned by '%s') ==" % + (packageset, options.series.name, + lp_set.owner.display_name))) + print_perms(perms, options.series) + + sources = sorted(lp_set.getSourcesIncluded(direct_inclusion=True)) + if sources: + print() + print("== All source packages in package set '%s' " + "in '%s' ==" % (packageset, options.series.name)) + for source in sources: + print(source) + child_sets = list(lp_set.setsIncluded(direct_inclusion=True)) + if child_sets: + print() + print("== All package sets in package set '%s' in '%s' ==" % + (packageset, options.series.name)) + for child_set in child_sets: + print(child_set.name) + + if options.source: + for source in options.source: + perms = [] + perms_set = [] + for archive in archives: + perms.extend(archive.getUploadersForPackage( + source_package_name=source)) + perms_set.extend(archive.getPackagesetsForSource( + sourcepackagename=source)) + print("== All uploaders for package '%s' ==" % source) + print_perms(perms, options.series) + print_perms(perms_set, options.series) + for archive in archives: + for series, component in get_source_components( + options, launchpad, archive, source): + perms_component = archive.getUploadersForComponent( + component_name=component) + print_perms(perms_component, series=series) + + if options.pocket: + perms = [] + if not options.acl_type or options.acl_type == 'upload': + for archive in archives: + perms.extend(archive.getUploadersForPocket( + pocket=options.pocket)) + if not options.acl_type or options.acl_type == 'admin': + for archive in archives: + perms.extend(archive.getQueueAdminsForPocket( + pocket=options.pocket)) + print("== All rights for pocket '%s' ==" % options.pocket) + print_perms(perms, options.series) + + if (not options.person and not options.component and + not options.packageset and not options.source and + not options.pocket): + perms = [] + for archive in archives: + perms.extend(archive.getAllPermissions()) + if options.acl_type: + perm_name = permission_names[options.acl_type] + perms = [p for p in perms if p.permission == perm_name] + print("== All rights ==") + print_perms(perms, options.series) + + +def validate_add_delete_options(options, requires_person=True): + if options.packageset and options.source: + # Special options to manage package sets, bodged into this tool + # since they aren't entirely inconvenient here. + if options.component or options.person: + print("-P -s cannot be used with a " + "component or person as well") + return False + return True + + if requires_person and not options.person: + print("You must specify at least one person to (de-)authorise.") + return False + + count = 0 + if options.component: + count += 1 + if options.packageset: + count += 1 + if options.source: + count += 1 + if options.pocket: + count += 1 + if count > 1: + print("You can only specify one of package set, source, component, " + "or pocket") + return False + + if count == 0: + print("You must specify one of package set, source, component, or " + "pocket") + return False + + return True + + +def do_add(options): + """Add a new permission.""" + if not validate_add_delete_options(options): + return False + + if options.packageset and options.source: + for packageset in options.packageset: + lp_set = launchpad.packagesets.getByName( + name=packageset, distroseries=options.series) + lp_set.addSources(names=options.source) + print("Added:") + for source in options.source: + print(source) + return + + people = [launchpad.people[person] for person in options.person] + + if options.source: + for source in options.source: + for person in people: + perm = options.archive.newPackageUploader( + person=person, source_package_name=source) + print("Added:") + print_perms([perm]) + return + + if options.packageset: + for packageset in options.packageset: + lp_set = launchpad.packagesets.getByName( + name=packageset, distroseries=options.series) + for person in people: + perm = options.archive.newPackagesetUploader( + person=person, packageset=lp_set) + print("Added:") + print_perms([perm]) + return + + if options.component: + for person in people: + if not options.acl_type or options.acl_type == 'upload': + perm = options.archive.newComponentUploader( + person=person, component_name=options.component) + else: + perm = options.archive.newQueueAdmin( + person=person, component_name=options.component) + print("Added:") + print_perms([perm]) + return + + if options.pocket: + admin_kwargs = {} + if options.series: + admin_kwargs["distroseries"] = options.series + for person in people: + if not options.acl_type or options.acl_type == 'upload': + perm = options.archive.newPocketUploader( + person=person, pocket=options.pocket) + else: + perm = options.archive.newPocketQueueAdmin( + person=person, pocket=options.pocket, **admin_kwargs) + print("Added:") + print_perms([perm]) + return + + +def do_delete(options): + """Delete a permission.""" + # We kind of hacked packageset management into here. + # Deleting packagesets doesn't require a person... + requires_person = not (options.packageset and not options.source) + if not validate_add_delete_options(options, requires_person): + return False + + if options.packageset and options.source: + for packageset in options.packageset: + lp_set = launchpad.packagesets.getByName( + name=packageset, distroseries=options.series) + lp_set.removeSources(names=options.source) + print("Deleted:") + for source in options.source: + print(source) + return + + if options.packageset and not options.person: + for packageset in options.packageset: + lp_set = launchpad.packagesets.getByName( + name=packageset, distroseries=options.series) + uploaders = options.archive.getUploadersForPackageset( + direct_permissions=True, packageset=lp_set) + if len(uploaders) > 0: + print("Cannot delete packageset with defined uploaders") + print("Current uploaders:") + for permission in uploaders: + print(" %s" % permission.person.name) + continue + print("Confirm removal of packageset '%s'" % lp_set.name) + print("Description:") + print(" " + lp_set.description.replace("\n", "\n ")) + print("Containing Sources:") + for member in lp_set.getSourcesIncluded(): + print(" %s" % member) + print("Containing packagesets:") + for member in lp_set.setsIncluded(): + print(" %s" % member.name) + ack = input("Remove? (y/N): ") + if ack.lower() == 'y': + lp_set.lp_delete() + print("Deleted %s/%s" % (lp_set.name, options.series.name)) + return + + lp_people = [launchpad.people[person] for person in options.person] + + if options.source: + for source in options.source: + for lp_person in lp_people: + try: + options.archive.deletePackageUploader( + person=lp_person, source_package_name=source) + print("Deleted %s/%s" % (lp_person.name, source)) + except Exception: + print("Failed to delete %s/%s" % (lp_person.name, source)) + return + + if options.packageset: + for packageset in options.packageset: + lp_set = launchpad.packagesets.getByName( + name=packageset, distroseries=options.series) + for lp_person in lp_people: + options.archive.deletePackagesetUploader( + person=lp_person, packageset=lp_set) + print("Deleted %s/%s/%s" % (lp_person.name, packageset, + options.series.name)) + return + + if options.component: + for lp_person in lp_people: + if not options.acl_type or options.acl_type == 'upload': + options.archive.deleteComponentUploader( + person=lp_person, component_name=options.component) + print("Deleted %s/%s" % (lp_person.name, options.component)) + else: + options.archive.deleteQueueAdmin( + person=lp_person, component_name=options.component) + print("Deleted %s/%s (admin)" % (lp_person.name, + options.component)) + return + + if options.pocket: + admin_kwargs = {} + if options.series: + admin_kwargs["distroseries"] = options.series + for lp_person in lp_people: + if not options.acl_type or options.acl_type == 'upload': + options.archive.deletePocketUploader( + person=lp_person, pocket=options.pocket) + print("Deleted %s/%s" % (lp_person.name, options.pocket)) + else: + options.archive.deletePocketQueueAdmin( + person=lp_person, pocket=options.pocket, **admin_kwargs) + if options.series: + print( + "Deleted %s/%s/%s (admin)" % + (lp_person.name, options.pocket, options.series.name)) + else: + print("Deleted %s/%s (admin)" % + (lp_person.name, options.pocket)) + return + + +def do_create(options): + if not options.packageset: + print("You can only create a package set, not something else.") + return False + + if not options.person or len(options.person) != 1: + print("You must specify exactly one person to own the new package " + "set.") + return False + + distro_series = options.series or options.distro.current_series + lp_person = launchpad.people[options.person[0]] + + for packageset in options.packageset: + try: + if launchpad.packagesets.getByName( + name=packageset, distroseries=distro_series): + print("Package set %s already exists" % packageset) + continue + except (TypeError, launchpadlib.errors.HTTPError): + pass + desc = multiline_input("Description for new package set %s:" + % packageset) + ps = launchpad.packagesets.new( + name=packageset, description=desc, distroseries=distro_series, + owner=lp_person) + print(ps) + + +def do_modify(options): + if not options.packageset: + print("You can only modify a package set, not something else.") + return False + + if options.person and len(options.person) > 1: + print("You can only specify one person as the new packageset owner.") + return False + + distro_series = options.series or options.distro.current_series + + lp_person = None + if options.person: + lp_person = launchpad.people[options.person[0]] + + for packageset in options.packageset: + lp_set = launchpad.packagesets.getByName( + name=packageset, distroseries=distro_series) + if lp_person: + print("Making %s the owner of %s/%s" + % (lp_person.name, lp_set.name, distro_series.name)) + lp_set.owner = lp_person + lp_set.lp_save() + continue + + print("Current description of %s:" % lp_set.name) + print(" " + lp_set.description.replace("\n", "\n ")) + desc = multiline_input("New description [blank=leave unmodified]:") + if desc: + print("Modifying description of %s/%s" + % (lp_set.name, distro_series.name)) + lp_set.description = desc + lp_set.lp_save() + continue + + rename = input("Rename %s to? [blank=don't rename]: " % lp_set.name) + if rename: + print("Renaming %s/%s -> %s" + % (lp_set.name, distro_series.name, rename)) + lp_set.name = rename + lp_set.lp_save() + continue + + +def do_copy(options): + if options.archive.self_link == options.distro.main_archive_link: + archives = options.distro.archives + else: + archives = [options.archive] + + if not options.packageset: + print("You can only copy a package set, not something else.") + return False + + distro_series = options.series or options.distro.current_series + + dst = input("Name of the destination series: ") + dst_series = options.distro.getSeries(name_or_version=dst) + + for packageset in options.packageset: + src_pkgset = launchpad.packagesets.getByName( + name=packageset, distroseries=distro_series) + if not src_pkgset: + print("Package set %s doesn't exist" % packageset) + + ps = launchpad.packagesets.new( + name=packageset, description=src_pkgset.description, + distroseries=dst_series, owner=src_pkgset.owner_link, + related_set=src_pkgset) + print(ps) + + ps.addSources(names=src_pkgset.getSourcesIncluded()) + + perms = [] + for archive in archives: + perms.extend(archive.getUploadersForPackageset( + packageset=src_pkgset)) + + for perm in perms: + perm.archive.newPackagesetUploader( + person=perm.person_link, packageset=ps) + + +def do_check(options): + """Check if a person can upload a package.""" + if not options.person: + print("A person needs to be specified to check.") + return False + if not options.source: + print("A source package needs to be specified to check.") + return False + + people = [launchpad.people[person] for person in options.person] + distro_series = options.series or options.distro.current_series + + if options.pocket: + pocket = options.pocket + else: + pocket = 'Release' + + for person in people: + for srcpkg in options.source: + try: + spph = options.archive.getPublishedSources( + distro_series=distro_series, + exact_match=True, + pocket=pocket, + source_name=srcpkg, + status='Published', + )[0] + except IndexError: + if not options.pocket: + raise + # Not yet in options.pocket, but maybe in Release? + spph = options.archive.getPublishedSources( + distro_series=distro_series, + exact_match=True, + pocket='Release', + source_name=srcpkg, + status='Published', + )[0] + try: + options.archive.checkUpload( + component=spph.component_name, + distroseries=distro_series, + person=person, + pocket=pocket, + sourcepackagename=srcpkg, + ) + print("%s (%s) can upload %s to %s/%s" % ( + person.display_name, person.name, + srcpkg, distro_series.displayname, pocket)) + except launchpadlib.errors.HTTPError as e: + if e.response.status == 403: + print("%s (%s) cannot upload %s to %s/%s" % ( + person.display_name, person.name, + srcpkg, distro_series.displayname, pocket)) + else: + print("There was a %s error:" % e.response.status) + print(e.content) + + +def main(options, action): + + if action == "query": + do_query(options) + elif action == "add": + do_add(options) + elif action in ("delete", "remove"): + do_delete(options) + elif action == "create": + do_create(options) + elif action == "modify": + do_modify(options) + elif action == "copy": + do_copy(options) + elif action == "check": + do_check(options) + else: + raise AssertionError("Invalid action %s" % action) + + return + + +if __name__ == '__main__': + parser = OptionParser( + usage="usage: %prog [options] " + "query|add|delete|create|modify|copy|check", + epilog=lputils.ARCHIVE_REFERENCE_DESCRIPTION) + + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option("-A", "--archive", dest="archive") + parser.add_option("-S", "--series", dest="series") + parser.add_option("-p", "--person", dest="person", action="append") + parser.add_option("-c", "--component", dest="component") + parser.add_option("-P", "--packageset", dest="packageset", action="append") + parser.add_option("-s", "--source", dest="source", action="append") + parser.add_option("--pocket", dest="pocket") + parser.add_option("-t", "--acl-type", dest="acl_type", + help="ACL type: upload or admin") + parser.add_option("--anon", dest="anon_login", action="store_true", + default=False, help="Login anonymously to Launchpad") + + # Deprecated in favour of -A. + parser.add_option( + "-d", "--distribution", dest="distro", default="ubuntu", + help=SUPPRESS_HELP) + + options, args = parser.parse_args() + + possible_actions = ('query', 'add', 'delete', 'create', 'copy', 'check') + + if len(args) != 1: + parser.error( + "You must specify an action, one of:\n%s" % + ", ".join(possible_actions)) + + if options.anon_login and args[0] not in ('query', 'check'): + print("E: Anonymous login not supported for this action.") + sys.exit(1) + + if (args[0] != 'query' and + not options.person and not options.component and + not options.packageset and not options.source and + not options.pocket): + parser.error("Provide at least one of " + "person/component/packageset/source/pocket") + if options.packageset and not options.series: + parser.error("Package set requires an associated series") + if options.acl_type and options.acl_type not in ('upload', 'admin'): + parser.error("Invalid ACL type '%s' (valid: 'upload', 'admin')" % + options.acl_type) + if options.acl_type == 'admin' and options.packageset: + parser.error("ACL type admin not allowed for package sets") + if options.acl_type == 'admin' and options.source: + parser.error("ACL type admin not allowed for source packages") + if options.pocket: + options.pocket = options.pocket.title() + + if options.anon_login: + launchpad = Launchpad.login_anonymously( + CONSUMER_KEY, options.launchpad_instance, version="devel") + else: + launchpad = Launchpad.login_with( + CONSUMER_KEY, options.launchpad_instance, version="devel") + + options.archive = get_archive(options, launchpad) + options.distro = options.archive.distribution + if options.series is not None: + options.series = options.distro.getSeries( + name_or_version=options.series) + + try: + main(options, args[0]) + except launchpadlib.errors.HTTPError as err: + print("There was a %s error:" % err.response.status) + print(err.content) diff --git a/ubuntu-archive-tools/edit_acl.py b/ubuntu-archive-tools/edit_acl.py new file mode 120000 index 0000000..353b495 --- /dev/null +++ b/ubuntu-archive-tools/edit_acl.py @@ -0,0 +1 @@ +edit-acl \ No newline at end of file diff --git a/ubuntu-archive-tools/generate-freeze-block b/ubuntu-archive-tools/generate-freeze-block new file mode 100755 index 0000000..3623187 --- /dev/null +++ b/ubuntu-archive-tools/generate-freeze-block @@ -0,0 +1,126 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +# Copyright (C) 2013 Canonical Ltd. +# Author: Iain Lane + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 +# USA + +import argparse +import apt_pkg +import gzip +import io +import json +import logging +import os +import re +import urllib.request +import sys + +PARSED_SEEDS_URL = \ + 'http://qa.ubuntuwire.org/ubuntu-seeded-packages/seeded.json.gz' +LOGGER = logging.getLogger(os.path.basename(sys.argv[0])) + + +class GetPackage(): + apt_cache_initialised = False + + def __init__(self): + # Initialise python-apt + if not GetPackage.apt_cache_initialised: + apt_pkg.init() + GetPackage.apt_cache_initialised = True + + self.cache = apt_pkg.Cache(None) + self.pkgrecords = apt_pkg.PackageRecords(self.cache) + self.depcache = apt_pkg.DepCache(self.cache) + + # Download & parse the seeds + response = urllib.request.urlopen(PARSED_SEEDS_URL) + + buf = io.BytesIO(response.read()) + f = gzip.GzipFile(fileobj=buf) + data = f.read().decode('utf-8') + self.seeded_packages = json.loads(data) + + def getsourcepackage(self, pkg): + pkg = re.sub(':.*', '', pkg) + try: + candidate = self.depcache.get_candidate_ver(self.cache[pkg]) + except KeyError: # no package found (arch specific?) + return + try: + self.pkgrecords.lookup(candidate.file_list[0]) + except AttributeError: # no source (pure virtual?) + return + return self.pkgrecords.source_pkg or pkg + + +def main(): + parser = argparse.ArgumentParser(description='Generate a freeze block for' + + ' an Ubuntu milestone') + parser.add_argument('flavours', nargs='+', + help='The participating flavours') + parser.add_argument('--only-unique', '-u', action='store_true', + help='Block only packages unique to FLAVOURS') + parser.add_argument('--debug', '-d', action='store_true', + help='Output some extra debugging') + args = parser.parse_args() + + logging.basicConfig(stream=sys.stderr, + level=(logging.DEBUG if args.debug + else logging.WARNING)) + + packages = GetPackage() + + output = set() + skip = set() + + flavours = set(args.flavours) + + # binary package: [ [ product, seed ] ] + # e.g. "gbrainy": [["edubuntu", "dvd"]] + for k, v in packages.seeded_packages.items(): + source_pkg = packages.getsourcepackage(k) + seeding_flavours = set([x[0] for x in v if x[1] != "supported"]) + + # If you don't get to freeze others' packages + if args.only_unique: + not_releasing_seeding_flavours = seeding_flavours - flavours + else: + not_releasing_seeding_flavours = None + + if not_releasing_seeding_flavours: + LOGGER.debug(("Skipping %s (%s binary package) because it's" + + " seeded on %s") % (source_pkg, k, v)) + output.discard(source_pkg) + skip.add(source_pkg) + continue + + if source_pkg and source_pkg in skip: + continue + + if seeding_flavours.intersection(flavours) and source_pkg: + LOGGER.debug("Adding %s (%s binary package) due to %s" + % (source_pkg, k, v)) + output.add(source_pkg) + skip.add(source_pkg) + + print ("block", " ".join(sorted(output))) + + +if __name__ == "__main__": + main() diff --git a/ubuntu-archive-tools/get-distro-update-metrics b/ubuntu-archive-tools/get-distro-update-metrics new file mode 100755 index 0000000..8358889 --- /dev/null +++ b/ubuntu-archive-tools/get-distro-update-metrics @@ -0,0 +1,113 @@ +#! /usr/bin/python +# Copyright 2012 Canonical Ltd. +# +# This script will write update metrics for a given Ubuntu release in CSV +# format. It will output a file with updates (broken in Security vs Updates) +# by month, as well as the number per package. + +from collections import defaultdict +import csv +import logging +from optparse import OptionParser +import sys + +from launchpadlib.launchpad import Launchpad + +API_NAME = 'ubuntu-update-metrics' + + +def write_metrics_csv(filename, key_name, metrics): + """Write the metrics to a CSV file. + + :param filename: The CSV filename. + :param key_name: The name of the metrics key. + :param metrics: This should be a sequence of + [key, {'Updates': X, 'Security': X, 'Total': X}] record. + """ + logging.info('Writing metrics by %s to %s', key_name.lower(), filename) + writer = csv.writer(open(filename, 'wb')) + writer.writerow([key_name, 'Updates', 'Security', 'Total']) + for key, metrics in metrics: + writer.writerow( + [key, metrics['Updates'], metrics['Security'], metrics['Total']]) + + +def main(argv): + parser = OptionParser( + usage="%prog [options] ubuntu-release-name") + parser.add_option( + '-l', '--launchpad', default='production', dest='lp_instance', + help="Select the Launchpad instance to run against. Defaults to " + "'production'") + parser.add_option( + '-v', '--verbose', default=0, action='count', dest='verbose', + help="Increase verbosity of the script. -v prints info messages, " + "-vv will print debug messages.") + parser.add_option( + '-c', '--credentials', default=None, action='store', + dest='credentials', + help="Use the OAuth credentials in FILE instead of the desktop " + "one.", metavar='FILE') + parser.add_option( + '-d', '--distribution', default='ubuntu', action='store', + dest='distribution', + help="The distribution to compute metrics for. Defaults to 'ubuntu'.") + options, args = parser.parse_args(argv[1:]) + if len(args) != 1: + parser.error('Missing archive name.') + + if options.verbose >= 2: + log_level = logging.DEBUG + elif options.verbose == 1: + log_level = logging.INFO + else: + log_level = logging.WARNING + logging.basicConfig(level=log_level) + + lp = Launchpad.login_with( + API_NAME, options.lp_instance, credentials_file=options.credentials, + version='devel') + + try: + distribution = lp.distributions[options.distribution] + except KeyError: + parser.error('unknown distribution: %s' % options.distribution) + + series = distribution.getSeries(name_or_version=args[0]) + if series is None: + parser.error('unknown series: %s' % args[0]) + archive = series.main_archive + + updates_by_package = defaultdict(lambda: defaultdict(int)) + updates_by_month = defaultdict(lambda: defaultdict(int)) + for pocket in ['Updates', 'Security']: + logging.info( + 'Retrieving published %s sources for %s...', pocket, args[0]) + published_history = archive.getPublishedSources( + component_name='main', created_since_date=series.datereleased, + distro_series=series, pocket=pocket) + for source in published_history: + package_metrics = updates_by_package[source.source_package_name] + package_metrics[source.pocket] += 1 + package_metrics['Total'] += 1 + + month = source.date_published.strftime('%Y-%m') + month_metrics = updates_by_month[month] + month_metrics[source.pocket] += 1 + month_metrics['Total'] += 1 + + by_month_filename = '%s-%s-updates-by-month.csv' % ( + options.distribution, args[0]) + write_metrics_csv( + by_month_filename, 'Month', sorted(updates_by_month.items())) + + by_package_filename = '%s-%s-updates-by-package.csv' % ( + options.distribution, args[0]) + write_metrics_csv( + by_package_filename, 'Package', sorted( + updates_by_package.items(), + key=lambda m: m[1]['Total'], reverse=True)) + + +if __name__ == '__main__': + main(sys.argv) diff --git a/ubuntu-archive-tools/import-blacklist b/ubuntu-archive-tools/import-blacklist new file mode 100755 index 0000000..32c7d1e --- /dev/null +++ b/ubuntu-archive-tools/import-blacklist @@ -0,0 +1,89 @@ +#!/usr/bin/python + +# Copyright (C) 2011 Iain Lane +# Copyright (C) 2011 Stefano Rivera + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from __future__ import print_function, unicode_literals + +from optparse import OptionParser +import re + +from launchpadlib.launchpad import Launchpad + + +def blacklist_package(options, pkg, reason): + try: + dsd = options.devel_series.getDifferencesTo( + source_package_name_filter=pkg, parent_series=options.sid)[0] + except IndexError: + print("Couldn't blacklist %s (no DSD)" % pkg) + return False + + if dsd.status == "Blacklisted always": + print("%s already blacklisted" % pkg) + return False + + if not options.dry_run: + dsd.blacklist(all=True, comment=reason) + return True + + +def main(): + parser = OptionParser(usage="usage: %prog [options] sync-blacklist.txt") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="don't actually blacklist anything") + options, args = parser.parse_args() + if len(args) < 1: + parser.error("requires input file as argument") + blacklist = args[0] + + lp = Launchpad.login_with( + 'sync-blacklist', options.launchpad_instance, version='devel') + ubuntu = lp.distributions['ubuntu'] + debian = lp.distributions['debian'] + + options.devel_series = ubuntu.current_series + options.sid = debian.current_series + + # Read blacklist + applicable_comments = [] + with open(blacklist) as blacklist_file: + for line in blacklist_file: + if not line.strip(): + applicable_comments = [] + continue + + m = re.match(r'^\s*([a-z0-9.+-]+)?\s*(?:#\s*(.+)?)?$', line) + source, comment = m.groups() + if source: + comments = applicable_comments[:] + if comment: + comments.append(comment) + if not comments: + comments.append("None given") + comments.append("(from sync-blacklist.txt)") + print("blacklisting %s (reason: %s)..." + % (source, '; '.join(comments)), end="") + if blacklist_package(options, source, '\n'.join(comments)): + print("done") + elif comment: + applicable_comments.append(comment) + + +if __name__ == "__main__": + main() diff --git a/ubuntu-archive-tools/iso-deb-size-compare b/ubuntu-archive-tools/iso-deb-size-compare new file mode 100755 index 0000000..41948d2 --- /dev/null +++ b/ubuntu-archive-tools/iso-deb-size-compare @@ -0,0 +1,94 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Copyright (C) 2010, 2012 Canonical Ltd. +# Author: Martin Pitt + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Do a size comparison of the files on two ISOs. This can be used to find out +# which packages were added, removed, and significantly changed in size between +# two releases or daily builds. Note that this only really works for +# alternates, since desktop CDs by and large just have one big squashfs image. + +from __future__ import print_function + +import subprocess +import sys + + +def deb_size_map(iso_path): + map = {} # package -> (version, size) + isoinfo = subprocess.Popen( + ['isoinfo', '-lR', '-i', iso_path], + stdout=subprocess.PIPE, universal_newlines=True) + out = isoinfo.communicate()[0] + assert isoinfo.returncode == 0 + + for l in out.splitlines(): + l = l.strip() + if not l.endswith('.deb'): + continue + + fields = l.split() + size = int(fields[4]) + fname = fields[11] + + (pkg, version, _) = fname.split('_') + map[pkg] = (version, size) + + return map + +# +# main +# + +if len(sys.argv) != 3: + print('Usage: %s ' % sys.argv[0], file=sys.stderr) + sys.exit(1) + +old_map = deb_size_map(sys.argv[1]) +new_map = deb_size_map(sys.argv[2]) + +print('== Removed packages ==') +sum = 0 +for p, (v, s) in old_map.iteritems(): + if p not in new_map: + print('%s (%.1f MB)' % (p, s / 1000000.)) + sum += s +print('TOTAL: -%.1f MB' % (sum / 1000000.)) + +sum = 0 +print('\n== Added packages ==') +for p, (v, s) in new_map.iteritems(): + if p not in old_map: + print('%s (%.1f MB)' % (p, s / 1000000.)) + sum += s +print('TOTAL: +%.1f MB' % (sum / 1000000.)) + +print('\n== Changed packages ==') +sum = 0 +for p, (v, s) in old_map.iteritems(): + if p not in new_map: + continue + + new_s = new_map[p][1] + sum += new_s - s + + # only show differences > 100 kB to filter out noise + if new_s - s > 100000: + print('%s (Δ %.1f MB - %s: %.1f MB %s: %.1f MB)' % ( + p, (new_s - s) / 1000000., v, s / 1000000., new_map[p][0], + new_s / 1000000.)) + +print('TOTAL difference: %.1f MB' % (sum / 1000000.)) diff --git a/ubuntu-archive-tools/isotracker.py b/ubuntu-archive-tools/isotracker.py new file mode 100644 index 0000000..eb2f6d0 --- /dev/null +++ b/ubuntu-archive-tools/isotracker.py @@ -0,0 +1,169 @@ +# -*- coding: utf-8 -*- + +# Copyright (C) 2011, 2012 Canonical Ltd. +# Author: Stéphane Graber + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# To use this module, you need a ini configuration file at ~/.isotracker.conf +# example: +# [general] +# url=http://iso.qa.ubuntu.com/xmlrpc.php +# username=stgraber +# password=blablabla +# default_milestone=Precise Daily +# +# [localized] +# url=http://localized-iso.qa.ubuntu.com/xmlrpc.php +# password=differentpassword + +from __future__ import print_function +try: + import configparser +except ImportError: + import ConfigParser as configparser + +from qatracker import QATracker, QATrackerMilestone, QATrackerProduct +import os + +class NoConfigurationError(Exception): + pass + + +class ISOTracker: + def __init__(self, target=None): + # Store the alternative target (configuration section) + self.target = target + + # Read configuration + configfile = os.path.expanduser('~/.isotracker.conf') + if not os.path.exists(configfile): + raise NoConfigurationError( + "Missing configuration file at: %s" % configfile) + + # Load the config + self.config = configparser.ConfigParser() + self.config.read([configfile]) + + # Connect to the tracker + url = self.config.get('general', 'url') + username = self.config.get('general', 'username') + password = self.config.get('general', 'password') + + # Override with custom URL and credentials for the target + if self.target: + if self.config.has_section(self.target): + if self.config.has_option(self.target, 'url'): + url = self.config.get(self.target, 'url') + if self.config.has_option(self.target, 'username'): + username = self.config.get(self.target, 'username') + if self.config.has_option(self.target, 'password'): + password = self.config.get(self.target, 'password') + else: + print("Couldn't find a '%s' target, using the default." % + self.target) + + self.qatracker = QATracker(url, username, password) + + # Get the required list of products and milestones + self.tracker_products = self.qatracker.get_products() + self.tracker_milestones = self.qatracker.get_milestones() + + def default_milestone(self): + """ + Get the default milestone from the configuration file. + """ + + milestone_name = None + + if self.target: + # Series-specific default milestone + try: + milestone_name = self.config.get(self.target, + 'default_milestone') + except (KeyError, configparser.NoSectionError, + configparser.NoOptionError): + pass + + if not milestone_name: + # Generic default milestone + try: + milestone_name = self.config.get('general', + 'default_milestone') + except (KeyError, configparser.NoSectionError, + configparser.NoOptionError): + pass + + if not milestone_name: + raise KeyError("No default milestone selected") + else: + return self.get_milestone_by_name(milestone_name) + + def get_product_by_name(self, product): + """ + Get a QATrackerProduct from the product's name. + """ + + for entry in self.tracker_products: + if entry.title.lower() == product.lower(): + return entry + else: + raise KeyError("Product '%s' not found" % product) + + def get_milestone_by_name(self, milestone): + """ + Get a QATrackerMilestone from the milestone's name. + """ + + for entry in self.tracker_milestones: + if entry.title.lower() == milestone.lower(): + return entry + else: + raise KeyError("Milestone '%s' not found" % milestone) + + def get_builds(self, milestone=None, + status=['Active', 'Re-building', 'Ready']): + """ + Get a list of QATrackerBuild for the given milestone and status. + """ + + if not milestone: + milestone = self.default_milestone() + elif not isinstance(milestone, QATrackerMilestone): + milestone = self.get_milestone_by_name(milestone) + + return milestone.get_builds(status) + + def post_build(self, product, version, milestone=None, note="", + notify=True): + """ + Post a new build to the given milestone. + """ + + if not isinstance(product, QATrackerProduct): + product = self.get_product_by_name(product) + + notefile = os.path.expanduser('~/.isotracker.note') + if note == "" and os.path.exists(notefile): + with open(notefile, 'r') as notefd: + note = notefd.read() + + if not milestone: + milestone = self.default_milestone() + elif not isinstance(milestone, QATrackerMilestone): + milestone = self.get_milestone_by_name(milestone) + + if milestone.add_build(product, version, note, notify): + print("Build successfully added to the tracker") + else: + print("Failed to add build to the tracker") diff --git a/ubuntu-archive-tools/kernel-overrides b/ubuntu-archive-tools/kernel-overrides new file mode 100755 index 0000000..040ab62 --- /dev/null +++ b/ubuntu-archive-tools/kernel-overrides @@ -0,0 +1,253 @@ +#! /usr/bin/python + +# Copyright (C) 2009, 2010, 2011, 2012 Canonical Ltd. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Apply suitable overrides to new kernel binaries, matching previous ones.""" + +from __future__ import print_function + +import atexit +from collections import defaultdict +from contextlib import closing +import gzip +from optparse import OptionParser, Values +import os +import shutil +import sys +import tempfile +try: + from urllib.request import urlopen +except ImportError: + from urllib2 import urlopen + +import apt_pkg +from launchpadlib.launchpad import Launchpad +from lazr.restfulclient.errors import ServerError +from ubuntutools.question import YesNoQuestion + +import lputils + + +CONSUMER_KEY = "kernel-overrides" + + +tempdir = None + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix='kernel-overrides') + atexit.register(shutil.rmtree, tempdir) + + +class FakeBPPH: + def __init__(self, pkg, component, das): + self.binary_package_name = pkg + self.component_name = component + self.distro_arch_series = das + + +def get_published_binaries(options, source): + """If getPublishedBinaries times out, fall back to doing it by hand.""" + try: + for binary in source.getPublishedBinaries(): + if not binary.is_debug: + yield binary + except ServerError as e: + if e.response.status != 503: + raise + print("getPublishedBinaries timed out; fetching Packages instead ...") + ensure_tempdir() + for section_name in ("", "debian-installer"): + for component in ("main", "restricted", "universe", "multiverse"): + for das in options.old.series.architectures: + arch = das.architecture_tag + if arch in ("amd64", "i386"): + base = "http://archive.ubuntu.com/ubuntu" + else: + base = "http://ports.ubuntu.com/ubuntu-ports" + url = ("%s/dists/%s/%s%s/binary-%s/Packages.gz" % + (base, options.old.suite, component, + "/%s" % section_name if section_name else "", + arch)) + path = os.path.join( + tempdir, "Ubuntu_%s_%s%s_Packages_%s" % + (options.old.suite, component, + "_%s" % section_name if section_name else "", arch)) + with closing(urlopen(url)) as url_file: + with open("%s.gz" % path, "wb") as comp_file: + comp_file.write(url_file.read()) + with closing(gzip.GzipFile("%s.gz" % path)) as gz_file: + with open(path, "wb") as out_file: + out_file.write(gz_file.read()) + with open(path) as packages_file: + apt_packages = apt_pkg.TagFile(packages_file) + for section in apt_packages: + pkg = section["Package"] + src = section.get("Source", pkg).split(" ", 1)[0] + if src != options.source: + continue + yield FakeBPPH(pkg, component, das) + + +def find_current_binaries(options): + print("Checking existing binaries in %s ..." % options.old.suite, + file=sys.stderr) + sources = options.old.archive.getPublishedSources( + source_name=options.source, distro_series=options.old.series, + pocket=options.old.pocket, exact_match=True, status="Published") + for source in sources: + binaries = defaultdict(dict) + for binary in get_published_binaries(options, source): + print(".", end="") + sys.stdout.flush() + arch = binary.distro_arch_series.architecture_tag + name = binary.binary_package_name + component = binary.component_name + if name not in binaries[arch]: + binaries[arch][name] = component + if binaries: + print() + return binaries + print() + return [] + + +def find_matching_uploads(options, newabi): + print("Checking %s uploads to %s ..." % + (options.queue.lower(), options.suite), file=sys.stderr) + uploads = options.series.getPackageUploads( + name=options.source, exact_match=True, archive=options.archive, + pocket=options.pocket, status=options.queue) + for upload in uploads: + if upload.contains_build: + # display_name is inaccurate for the theoretical case of an + # upload containing multiple builds, but in practice it's close + # enough. + source = upload.display_name.split(",")[0] + if source == options.source: + binaries = upload.getBinaryProperties() + binaries = [b for b in binaries if "customformat" not in b] + if [b for b in binaries if newabi in b["version"]]: + yield upload, binaries + + +def equal_except_abi(old, new, abi): + """Are OLD and NEW the same package name aside from ABI?""" + # Make sure new always contains the ABI. + if abi in old: + old, new = new, old + if abi not in new: + return False + + left, _, right = new.partition(abi) + if not old.startswith(left) or not old.endswith(right): + return False + old_abi = old[len(left):] + if right: + old_abi = old_abi[:-len(right)] + return old_abi[0].isdigit() and old_abi[-1].isdigit() + + +def apply_kernel_overrides(options, newabi): + current_binaries = find_current_binaries(options) + all_changes = [] + + for upload, binaries in find_matching_uploads(options, newabi): + print("%s/%s (%s):" % + (upload.package_name, upload.package_version, + upload.display_arches.split(",")[0])) + changes = [] + for binary in binaries: + if binary["architecture"] not in current_binaries: + continue + current_binaries_arch = current_binaries[binary["architecture"]] + for name, component in current_binaries_arch.items(): + if (binary["component"] != component and + equal_except_abi(name, binary["name"], newabi)): + print("\t%s: %s -> %s" % + (binary["name"], binary["component"], component)) + changes.append( + {"name": binary["name"], "component": component}) + if changes: + all_changes.append((upload, changes)) + + if all_changes: + if options.dry_run: + print("Dry run; no changes made.") + else: + if not options.confirm_all: + if YesNoQuestion().ask("Override", "no") == "no": + return + for upload, changes in all_changes: + upload.overrideBinaries(changes=changes) + + +def main(): + parser = OptionParser(usage="usage: %prog [options] NEW-ABI") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-d", "--distribution", metavar="DISTRO", default="ubuntu", + help="look in distribution DISTRO") + parser.add_option( + "-S", "--suite", metavar="SUITE", + help="look in suite SUITE (default: -proposed)") + parser.add_option( + "--old-suite", metavar="SUITE", + help="look for previous binaries in suite SUITE " + "(default: value of --suite without -proposed)") + parser.add_option( + "-s", "--source", metavar="SOURCE", default="linux", + help="operate on source package SOURCE") + parser.add_option( + "-Q", "--queue", metavar="QUEUE", default="new", + help="consider packages in QUEUE") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="don't make any modifications") + parser.add_option( + "-y", "--confirm-all", default=False, action="store_true", + help="do not ask for confirmation") + options, args = parser.parse_args() + if len(args) != 1: + parser.error("must supply NEW-ABI") + newabi = args[0] + + options.launchpad = Launchpad.login_with( + CONSUMER_KEY, options.launchpad_instance, version="devel") + + if options.suite is None: + distribution = options.launchpad.distributions[options.distribution] + options.suite = "%s-proposed" % distribution.current_series.name + if options.old_suite is None: + options.old_suite = options.suite + if options.old_suite.endswith("-proposed"): + options.old_suite = options.old_suite[:-9] + options.queue = options.queue.title() + options.version = None + lputils.setup_location(options) + options.old = Values() + options.old.launchpad = options.launchpad + options.old.distribution = options.distribution + options.old.suite = options.old_suite + lputils.setup_location(options.old) + + apply_kernel_overrides(options, newabi) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/kernel-sru-release b/ubuntu-archive-tools/kernel-sru-release new file mode 100755 index 0000000..283aa8c --- /dev/null +++ b/ubuntu-archive-tools/kernel-sru-release @@ -0,0 +1,102 @@ +#!/usr/bin/python3 + +# Copyright (C) 2016 Canonical Ltd. +# Author: Steve Langasek + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Release a kernel stable release update. + +Copy packages from -proposed to -updates, and optionally to -security, +following the directions of a kernel SRU workflow bug. + +USAGE: + kernel-sru-release [ ...] +""" + +import re +import subprocess +from optparse import OptionParser + +from launchpadlib.launchpad import Launchpad + +from kernel_workflow import * + +def release_task_callback(lp, bugnum, task, context): + workflow_re = re.compile( + r'^%skernel-sru-workflow/(?P.*)' % str(lp._root_uri)) + task_match = workflow_re.search(str(task.target)) + if not task_match: + return {} + subtask = task_match.group('subtask') + if subtask == 'promote-to-proposed': + if task.status != 'Fix Released': + raise KernelWorkflowError( + "Ignoring bug %s, promote-to-proposed not done" + % bugnum) + return {} + return {'proposed': task} + if subtask == 'promote-to-updates': + if task.status != 'Confirmed': + raise KernelWorkflowError( + "Ignoring bug %s, not ready to promote-to-updates" + % bugnum) + return {} + return {'updates': task} + if (subtask == 'promote-to-security' and task.status == 'Confirmed'): + return {'security': task} + return {} + + +def release_source_callback(lp, bugnum, tasks, full_packages, release, context): + if not 'proposed' in tasks or not 'updates' in tasks: + raise KernelWorkflowError() + cmd = ['sru-release', '--no-bugs', release] + cmd.extend(full_packages) + if 'security' in tasks: + cmd.append('--security') + try: + subprocess.check_call(cmd) + except subprocess.CalledProcessError: + print("Failed to run sru-release for %s" % bugnum) + raise + + tasks['updates'].status = 'Fix Committed' + tasks['updates'].assignee = lp.me + tasks['updates'].lp_save() + if 'security' in tasks: + tasks['security'].status = 'Fix Committed' + tasks['security'].assignee = lp.me + tasks['security'].lp_save() + + +def process_sru_bugs(lp, bugs): + """Process the list of bugs and call sru-release for each""" + for bugnum in bugs: + process_sru_bug( + lp, bugnum, release_task_callback, release_source_callback) + + +if __name__ == '__main__': + parser = OptionParser( + usage="Usage: %prog bug [bug ...]") + + parser.add_option("-l", "--launchpad", dest="launchpad_instance", + default="production") + + options, bugs = parser.parse_args() + + launchpad = Launchpad.login_with( + 'ubuntu-archive-tools', options.launchpad_instance, version='devel') + + process_sru_bugs(launchpad, bugs) diff --git a/ubuntu-archive-tools/kernel-sru-review b/ubuntu-archive-tools/kernel-sru-review new file mode 100755 index 0000000..26964fe --- /dev/null +++ b/ubuntu-archive-tools/kernel-sru-review @@ -0,0 +1,455 @@ +#!/usr/bin/python3 + +# Copyright (C) 2016 Canonical Ltd. +# Author: Steve Langasek + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Show and approve changes in an unapproved kernel upload. + +Generate a debdiff between current source package in a given release and the +version in the canonical-kernel ppa, and ask whether or not to approve the +upload. + +The debdiff is filtered for noise (abi/* directories; mechanical changes of +ABI strings in debian/control et al.) + +USAGE: + kernel-sru-review +""" + +import glob +import datetime +import os +import pytz +import re +import shutil +import subprocess +import sys +import time +from contextlib import ExitStack +from tempfile import mkdtemp +from optparse import OptionParser + +from launchpadlib.launchpad import Launchpad +from kernel_workflow import * + + +def get_master_kernel(lp, bugnum): + current = lp.bugs[bugnum] + master = None + backport_re = re.compile(r'^kernel-sru-backport-of-(\d+)$') + derivative_re = re.compile(r'^kernel-sru-derivative-of-(\d+)$') + + for tag in current.tags: + num = derivative_re.match(tag) + if not num: + num = backport_re.match(tag) + if num: + master = lp.bugs[num.group(1)] + + if not master: + print("No master kernel.") + return (None, None) + return get_name_and_version_from_bug(master) + + +def get_kernel_dsc(me, archive, source, series=None, version=None): + kwargs = { + 'order_by_date': True, + 'exact_match': True, + 'source_name': source + } + if version: + kwargs['version'] = version + if series: + kwargs['status'] = 'Published' + kwargs['distro_series'] = series + + # in cases where we have a separate archive for proposed and release, + # we need to check both places in the order proposed -> release + target = archive['proposed'] + srcpkgs = target.getPublishedSources(**kwargs) + if len(srcpkgs) == 0: + target = archive['release'] + srcpkgs = target.getPublishedSources(**kwargs) + if len(srcpkgs) == 0 and 'non-esm' in archive: + target = archive['non-esm'] + srcpkgs = target.getPublishedSources(**kwargs) + if len(srcpkgs) == 0: + raise KernelWorkflowError( + "Selected %s kernel could not be found" % source) + srcpkg = srcpkgs[0] + source_ver = srcpkg.source_package_version + source_dsc = list(filter( + lambda x: x.endswith('.dsc'), + srcpkg.sourceFileUrls()))[0] + if target.private: + priv_url = me.getArchiveSubscriptionURL(archive=target) + dsc_file = os.path.basename(source_dsc) + source_dsc = os.path.join(priv_url, 'pool/main/l', source, dsc_file) + + return (source_dsc, source_ver) + + +def generate_diff_from_master(me, archive, master_source, master_version, + new_source, new_upstream, + work_dir, tardir, start_dir): + master_upstream = master_version.split('-')[0] + + try: + master_dsc, master_version = get_kernel_dsc( + me, archive, master_source, version=master_version) + except KernelWorkflowError: + print("A master kernel diff was requested but the listed master " + "kernel could not be found in any known archive.", + end="") + sys.stdout.flush() + sys.stdin.readline() + return + + fetch_tarball_from_cache( + work_dir, tardir, master_source, master_upstream, start_dir) + + # grab the old source first + dget_cmd = ['dget', '-u', master_dsc] + try: + subprocess.check_call(dget_cmd) + except subprocess.CalledProcessError as e: + print("Failed to get master source for %s at version %s" % + (master_source, master_version)) + raise e + + # generate the diff + print("Generating brief diff between new kernel and master (%s) to %s" % + (master_version, os.path.join(work_dir, 'master_diff'))) + diff_cmd = ('diff -rq "{}-{}" "{}-{}" >master_diff').format( + master_source, master_upstream, new_source, new_upstream) + subprocess.call(diff_cmd, shell=True) + + +def review_task_callback(lp, bugnum, task, context): + if str(task.target) != \ + ('%skernel-sru-workflow/promote-to-proposed' % str(lp._root_uri)): + return {} + if task.status == 'Confirmed': + return {'proposed': task} + elif task.status == 'In Progress': + if lp.me.self_link != task.assignee_link: + print("This bug is in progress and not assigned to you. Do you " + "still want to review \nit? [yN]", + end="") + sys.stdout.flush() + response = sys.stdin.readline() + if not response.strip().lower().startswith('y'): + raise KernelWorkflowError("Skipping bug %s" % bugnum) + return {'proposed': task} + + raise KernelWorkflowError( + "Ignoring bug %s, not ready to promote-to-proposed" + % bugnum) + + +def review_source_callback(lp, bugnum, tasks, full_packages, release, context): + # as per LP: #1290543, we need to evaluate (load) lp.me for + # getArchiveSubscritionURL to work + me = lp.load(lp.me.self_link) + master_source = None + master_version = None + if context['diff']: + master_source, master_version = get_master_kernel(lp, bugnum) + for source in full_packages: + process_source_package( + source, release, me, context['archive'], context['ppa'], + context['ubuntu'], context['startdir'], context['workdir'], + context['tardir'], context['esm'], context['tarcache'], + master_source, master_version) + tasks['proposed'].status = 'Fix Committed' + tasks['proposed'].assignee = me + tasks['proposed'].lp_save() + + +def fetch_tarball_from_cache(directory, tardir, source, version, cwd): + actual_tardir = None + tarballs = [] + + glob_pattern = '%s_%s.orig.tar.*' % (source, version) + # first we look in the current working directory where the command was + # called from + actual_tardir = cwd + tarballs = glob.glob(os.path.join(cwd, glob_pattern)) + if not tarballs: + actual_tardir = tardir + tarballs = glob.glob(os.path.join(tardir, glob_pattern)) + if tarballs: + target = os.path.join(directory, os.path.basename(tarballs[0])) + try: + os.link(tarballs[0], target) + except FileExistsError: + pass + except: + # if the hard linking fails, do a copy operation + shutil.copy(tarballs[0], target) + else: + actual_tardir = None + return actual_tardir + + +def save_tarball_to_cache(directory, tardir, source, version): + glob_pattern = '%s_%s.orig.tar.*' % (source, version) + to_copy = glob.glob(os.path.join(directory, glob_pattern)) + for tarball in to_copy: + target = os.path.join(tardir, os.path.basename(tarball)) + try: + os.link(tarball, target) + except FileExistsError: + pass + except: + # if the hard linking fails, do a copy operation + shutil.copy(tarball, target) + + +def process_source_package(source, release, me, archive, ppa, ubuntu, + start_dir, work_dir, tardir, + esm=False, tar_cache=False, + master_source=None, master_version=None): + series = ubuntu.getSeries(name_or_version=release) + + ppa_src = ppa.getPublishedSources(order_by_date=True, + status='Published', exact_match=True, + distro_series=series, + source_name=source)[0] + ppa_ver = ppa_src.source_package_version + ppa_dsc = list(filter( + lambda x: x.endswith('.dsc'), ppa_src.sourceFileUrls()))[0] + if ppa.private: + priv_url = me.getArchiveSubscriptionURL(archive=ppa) + dsc_file = os.path.basename(ppa_dsc) + ppa_dsc = os.path.join(priv_url, 'pool/main/l', source, dsc_file) + + # since we can have one archive for more than one 'pocket', no need to do + # API calls more than once + scanned = set() + for pocket in archive.values(): + if pocket.self_link in scanned: + continue + archive_uploads = series.getPackageUploads(version=ppa_ver, + name=source, + archive=pocket, + exact_match=True) + for upload in archive_uploads: + if upload.status != 'Rejected': + print("%s_%s already copied to Ubuntu archive (%s), skipping" % + (source, ppa_ver, upload.status)) + return + scanned.add(pocket.self_link) + + source_dsc, source_ver = get_kernel_dsc(me, archive, source, series=series) + + new_fullabi = ppa_ver.split('~')[0] + new_majorabi = re.sub(r"\.[^.]+$", '', new_fullabi) + new_upstream = new_fullabi.split('-')[0] + + old_fullabi = source_ver.split('~')[0] + old_majorabi = re.sub(r"\.[^.]+$", '', old_fullabi) + old_upstream = old_fullabi.split('-')[0] + + real_tardir = fetch_tarball_from_cache( + work_dir, tardir, source, old_upstream, start_dir) + + # grab the old source first + if esm: + pull_cmd = ['dget', '-u', source_dsc] + else: + # for non-ESM cases, it's just more reliable to use pull-lp-source + pull_cmd = ['pull-lp-source', source, source_ver] + + try: + subprocess.check_call(pull_cmd) + except subprocess.CalledProcessError as e: + print("Failed to get archive source for %s at version %s" % + (source, source_ver)) + raise e + + # update contents to match what we think the new ABI should be + sed_cmd = ('grep -rl "{}" "{}-{}"/debian* | grep -v changelog ' + + '| xargs -r sed -i -e"s/{}/{}/g" -e"s/{}/{}/g"').format( + re.escape(old_majorabi), source, old_upstream, + re.escape(old_fullabi), re.escape(new_fullabi), + re.escape(old_majorabi), re.escape(new_majorabi)) + try: + subprocess.check_call(sed_cmd, shell=True) + except subprocess.CalledProcessError as e: + print("Failed to postprocess archive source for %s at version %s" % + (source, source_ver)) + raise e + + if not real_tardir and tar_cache: + save_tarball_to_cache(work_dir, tardir, source, old_upstream) + + # move the source dir aside so that it doesn't clobber. + os.rename(source + '-' + old_upstream, source + '-' + old_upstream + '.old') + + real_tardir = fetch_tarball_from_cache( + work_dir, tardir, source, new_upstream, start_dir) + + # grab the new source + dget_cmd = ['dget', '-u', ppa_dsc] + try: + subprocess.check_call(dget_cmd) + except subprocess.CalledProcessError as e: + print("Failed to get ppa source for %s at version %s" % + (source, ppa_ver)) + raise e + + if not real_tardir and tar_cache: + save_tarball_to_cache(work_dir, tardir, source, new_upstream) + + if (master_source and master_version and + '-meta' not in source and '-signed' not in source): + # if requested, we also generate a brief diff between the new kernel + # and its 'master' kernel + generate_diff_from_master( + me, archive, master_source, master_version, source, new_upstream, + work_dir, tardir, start_dir) + + # generate the diff + raw_diff_cmd = ('diff -uNr "{}-{}.old" "{}-{}" | filterdiff -x' + + ' \'**/abi/**\' >raw_diff').format( + source, old_upstream, source, new_upstream) + subprocess.call(raw_diff_cmd, shell=True) + + # look at the diff + view_cmd = ('(diffstat raw_diff; cat raw_diff) | sensible-pager').format( + source, old_upstream, source, new_upstream) + subprocess.call(view_cmd, shell=True) + + print("Accept the package into -proposed? [yN] ", end="") + sys.stdout.flush() + response = sys.stdin.readline() + if response.strip().lower().startswith('y'): + copy_cmd = ['copy-proposed-kernel', release, source] + if esm: + copy_cmd.append('--esm') + copy_time = datetime.datetime.now(tz=pytz.utc) + try: + subprocess.check_call(copy_cmd) + except subprocess.CalledProcessError as e: + print("Failed to copy source for %s at version %s" % + (source, ppa_ver)) + raise e + print("Accepted") + # we know this isn't a kernel package containing signed bits, + # so don't subject ourselves to extra delays + if '-meta' in source or '-signed' in source: + return + print("Checking for UEFI binaries") + # Arbitrary 10 second delay, maybe enough to let uefi binaries hit + # the unapproved queue. + time.sleep(10) + # accept any related uefi binaries. We filter as closely as possible + # on name without hard-coding architecture, and we also filter to + # only include uefi binaries that have appeared since we started the + # copy to avoid accepting something that might have been improperly + # copied into the queue by an "attacker" with upload rights. + uefis = [] + for signed_type in ('uefi', 'signing'): + uefis.extend(series.getPackageUploads( + archive=archive['release'], + pocket='Proposed', + status='Unapproved', + custom_type=signed_type, + name='{}_{}_'.format(source, ppa_ver), + created_since_date=copy_time)) + for uefi in uefis: + print("Accepting {}".format(uefi)) + uefi.acceptFromQueue() + +if __name__ == '__main__': + + default_release = 'cosmic' + + parser = OptionParser( + usage="Usage: %prog [options] bug [bug ...]") + + xdg_cache = os.getenv('XDG_CACHE_HOME', '~/.cache') + cachedir = os.path.expanduser( + os.path.join(xdg_cache, 'ubuntu-archive-tools/kernel-tarballs')) + + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-k", "--keep-files", dest="keep_files", action="store_true") + parser.add_option( + "-C", "--cache-tarballs", dest="caching", action="store_true") + parser.add_option( + "-t", "--tarball-directory", dest="tardir", default=cachedir) + parser.add_option( + "-e", "--esm", dest="esm", action="store_true") + parser.add_option( + "-d", "--diff-against-master", dest="diff_master", + action="store_true") + + opts, bugs = parser.parse_args() + + if len(bugs) < 1: + parser.error('Need to specify at least one bug number') + + tardir = os.path.abspath(opts.tardir) + + if opts.caching: + # if we enabled tarball caching, make sure the tarball directory exists + if not os.path.isdir(tardir): + try: + os.makedirs(tardir) + except: + parser.error( + 'Invalid tarball directory specified (%s)' % tardir) + + launchpad = Launchpad.login_with( + 'ubuntu-archive-tools', opts.launchpad_instance, version='devel') + + ubuntu = launchpad.distributions['ubuntu'] + # for ESM (precise) we use special PPAs for CKT testing, -proposed and + # release + archive = {} + if opts.esm: + team = 'canonical-kernel-esm' + archive['proposed'] = launchpad.people[team].getPPAByName( + distribution=ubuntu, name='proposed') + archive['release'] = launchpad.people['ubuntu-esm'].getPPAByName( + distribution=ubuntu, name='esm') + archive['non-esm'] = ubuntu.main_archive + else: + team = 'canonical-kernel-team' + archive['proposed'] = archive['release'] = ubuntu.main_archive + ppa = launchpad.people[team].getPPAByName( + distribution=ubuntu, name='ppa') + + start_dir = os.getcwd() + context = { + 'archive': archive, 'ppa': ppa, 'ubuntu': ubuntu, + 'tardir': tardir, 'tarcache': opts.caching, 'startdir': start_dir, + 'esm': opts.esm, 'diff': opts.diff_master + } + for bugnum in bugs: + with ExitStack() as resources: + cwd = mkdtemp(prefix='kernel-sru-%s-' % bugnum, dir=start_dir) + if not opts.keep_files: + resources.callback(shutil.rmtree, cwd) + os.chdir(cwd) + context['workdir'] = cwd + process_sru_bug( + launchpad, bugnum, review_task_callback, + review_source_callback, context) + os.chdir(start_dir) diff --git a/ubuntu-archive-tools/kernel_workflow.py b/ubuntu-archive-tools/kernel_workflow.py new file mode 100644 index 0000000..de1cadd --- /dev/null +++ b/ubuntu-archive-tools/kernel_workflow.py @@ -0,0 +1,118 @@ +#!/usr/bin/python3 + +# Copyright (C) 2016 Canonical Ltd. +# Author: Steve Langasek + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +import re +import sys +import subprocess + + +class KernelWorkflowError(Exception): + """An exception occurred with the state of the workflow bug""" + + +def get_name_and_version_from_bug(bug): + title_re = re.compile( + r'^(?P[a-z0-9.-]+): (?P[0-9.-]+[0-9a-z.~-]*)' + + ' -proposed tracker$') + match = title_re.search(bug.title) + if not match: + print("Ignoring bug %s, not a kernel SRU tracking bug" % bug.id) + return (None, None) + package = match.group('package') + version = match.group('version') + # FIXME: check that the package version is correct for the suite + return (package, version) + + +def process_sru_bug(lp, bugnum, task_callback, source_callback, context=None): + """Process the indicated bug and call the provided helper functions + as needed + """ + package_re = re.compile( + (r'^%subuntu/(?P[0-9a-z.-]+)/' + + '\+source/(?P[a-z0-9.-]+)$') % str(lp._root_uri)) + workflow_re = re.compile( + r'^%skernel-sru-workflow/(?P.*)' % str(lp._root_uri)) + prep_re = re.compile(r'prepare-package(?P.*)') + + packages = [] + source_name = None + proposed_task = None + updates_task = None + security_task = None + bug = lp.bugs[int(bugnum)] + package, version = get_name_and_version_from_bug(bug) + if not package or not version: + return + + task_results = {} + for task in bug.bug_tasks: + # If a task is set to invalid, we do not care about it + if task.status == 'Invalid': + continue + + # FIXME: ok not exactly what we want, we probably want a hash? + task_results.update(task_callback(lp, bugnum, task, context)) + task_match = workflow_re.search(str(task.target)) + if task_match: + subtask = task_match.group('subtask') + # FIXME: consolidate subtask / prep_match here + prep_match = prep_re.search(subtask) + if prep_match: + packages.append(prep_match.group('subpackage')) + + pkg_match = package_re.search(str(task.target)) + if pkg_match: + if source_name: + print("Too many source packages, %s and %s, ignoring bug %s" + % (source_name, pkg_match.group('package'), bugnum)) + continue + source_name = pkg_match.group('package') + release = pkg_match.group('release') + continue + + if not source_name: + print("No source package to act on, skipping bug %s" % bugnum) + return + + if source_name != package: + print("Cannot determine base package for %s, %s vs. %s" + % (bugnum, source_name, package)) + return + + if not packages: + print("No packages in the prepare list, don't know what to do") + return + + if not '' in packages: + print("No kernel package in prepare list, only meta packages. " + "Continue review? [yN] ", end="") + sys.stdout.flush() + response = sys.stdin.readline() + if not response.strip().lower().startswith('y'): + return + + full_packages = [] + for pkg in packages: + if pkg == '-lbm': + pkg = '-backports-modules-3.2.0' + + real_package = re.sub(r'^linux', 'linux' + pkg, package) + full_packages.append(real_package) + + source_callback(lp, bugnum, task_results, full_packages, release, context) diff --git a/ubuntu-archive-tools/list-builds-on-tracker b/ubuntu-archive-tools/list-builds-on-tracker new file mode 100755 index 0000000..74c5ad0 --- /dev/null +++ b/ubuntu-archive-tools/list-builds-on-tracker @@ -0,0 +1,46 @@ +#!/usr/bin/python +# Copyright (C) 2012 Canonical Ltd. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import argparse + +# See isotracker.py for setup instructions. +from isotracker import ISOTracker + + +def main(): + parser = argparse.ArgumentParser( + description="List all the builds for a milestone.") + parser.add_argument('-m', '--milestone', + help='post to MILESTONE rather than the default') + parser.add_argument('-t', '--target', + help='post to an alternate QATracker') + args = parser.parse_args() + + isotracker = ISOTracker(target=args.target) + + if args.milestone is None: + args.milestone = isotracker.default_milestone() + + products = {} + for entry in isotracker.tracker_products: + products[entry.id] = entry.title + + builds = isotracker.get_builds(args.milestone) + for build in sorted(builds, key=lambda build: products[build.productid]): + print("{0:<60} {1:<15} {2:<15}".format( + products[build.productid], build.status_string, build.version)) + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/lputils.py b/ubuntu-archive-tools/lputils.py new file mode 100644 index 0000000..c685565 --- /dev/null +++ b/ubuntu-archive-tools/lputils.py @@ -0,0 +1,161 @@ +# Copyright 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Launchpad API utility functions.""" + +from operator import attrgetter + +from debian import debian_support +from lazr.restfulclient.resource import Entry + + +class PackageMissing(Exception): + "Generic exception generated by `lputils`." + + def __init__(self, message=None): + Exception.__init__(self, message) + self.message = message + + +known_pockets = ( + "Security", + "Updates", + "Proposed", + "Backports", + ) + +ARCHIVE_REFERENCE_DESCRIPTION = ( + 'ARCHIVE can take one of four forms: "ubuntu" for a primary archive, ' + '"~canonical-kernel-team/ubuntu/ppa" or ' + '"ppa:canonical-kernel-team/ubuntu/ppa" for a PPA, or ' + '"ubuntu/partner" for a partner or copy archive.') + + +def setup_location(args, default_pocket="Release"): + archive = None + if getattr(args, "archive", False): + # Try parsing an archive reference first. + archive = args.launchpad.archives.getByReference( + reference=args.archive) + if archive is None: + raise AssertionError("No such archive: %s" % args.archive) + else: + # Otherwise derive the archive from the deprecated + # -d/--ppa/--ppa-name/--partner options. + if isinstance(args.distribution, Entry): + distro = args.distribution + else: + distro = args.launchpad.distributions[args.distribution] + if getattr(args, "partner", False): + archive = [ + archive for archive in distro.archives + if archive.name == "partner"][0] + elif getattr(args, "ppa", None): + archive = args.launchpad.people[args.ppa].getPPAByName( + distribution=distro, name=args.ppa_name) + else: + archive = distro.main_archive + + args.archive = archive + args.distribution = archive.distribution + if args.suite: + if "-" in args.suite: + args.series, args.pocket = args.suite.rsplit("-", 1) + args.pocket = args.pocket.title() + if args.pocket not in known_pockets: + args.series = args.suite + args.pocket = "Release" + else: + args.series = args.suite + args.pocket = "Release" + args.series = args.distribution.getSeries(name_or_version=args.series) + else: + args.series = args.distribution.current_series + args.pocket = default_pocket + if args.pocket == "Release": + args.suite = args.series.name + else: + args.suite = "%s-%s" % (args.series.name, args.pocket.lower()) + + if getattr(args, "architecture", None) is not None: + args.architectures = [args.series.getDistroArchSeries( + archtag=args.architecture)] + elif getattr(args, "architectures", None) is not None: + args.architectures = sorted( + [a for a in args.series.architectures + if a.architecture_tag in args.architectures], + key=attrgetter("architecture_tag")) + else: + args.architectures = sorted( + args.series.architectures, key=attrgetter("architecture_tag")) + + +def find_newest_publication(method, version_attr, **kwargs): + """Hack around being unable to pass status=("Published", "Pending").""" + published_pubs = method(status="Published", **kwargs) + pending_pubs = method(status="Pending", **kwargs) + try: + newest_published = published_pubs[0] + newest_published_ver = getattr(newest_published, version_attr) + except IndexError: + try: + return pending_pubs[0] + except IndexError: + if kwargs["version"] is not None: + try: + return method(**kwargs)[0] + except IndexError: + return None + else: + return None + try: + newest_pending = pending_pubs[0] + newest_pending_ver = getattr(newest_pending, version_attr) + except IndexError: + return newest_published + if debian_support.version_compare( + newest_published_ver, newest_pending_ver) > 0: + return newest_published + else: + return newest_pending + + +def find_latest_published_binaries(args, package): + target_binaries = [] + for architecture in args.architectures: + binary = find_newest_publication( + args.archive.getPublishedBinaries, "binary_package_version", + binary_name=package, version=args.version, + distro_arch_series=architecture, pocket=args.pocket, + exact_match=True) + if binary is not None: + target_binaries.append(binary) + if not target_binaries: + raise PackageMissing( + "Could not find binaries for '%s/%s' in %s" % + (package, args.version, args.suite)) + return target_binaries + + +def find_latest_published_source(args, package): + source = find_newest_publication( + args.archive.getPublishedSources, "source_package_version", + source_name=package, version=args.version, + distro_series=args.series, pocket=args.pocket, exact_match=True) + if source is None: + raise PackageMissing( + "Could not find source '%s/%s' in %s" % + (package, args.version, args.suite)) + return source diff --git a/ubuntu-archive-tools/lputils.pyc b/ubuntu-archive-tools/lputils.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c2611e722363f95e26af7f11d41dc32f9b5a1b46 GIT binary patch literal 4885 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 +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from __future__ import print_function + +import argparse +from datetime import ( + datetime, + timedelta, + ) +from itertools import groupby +import re +from textwrap import dedent + +from launchpadlib.launchpad import Launchpad +from lazr.restfulclient.errors import PreconditionFailed +import pytz + + +def format_timedelta(delta): + value = None + hours = delta.seconds // 3600 + minutes = (delta.seconds - (hours * 3600)) // 60 + if delta.days > 0: + value = delta.days + unit = 'day' + elif hours > 0: + value = hours + unit = 'hour' + elif minutes > 0: + value = minutes + unit = 'minute' + if value is not None: + return 'for %d %s%s' % (value, unit, 's' if value > 1 else '') + return '' + + +parser = argparse.ArgumentParser(description=dedent("""\ + List and manage Launchpad builders. + + If no changes are specified (--auto, --manual, --enable, --disable, + --set-failnotes, --set-virtual, --set-non-virtual, or --set-vm-host), a + detailed listing of matching builders will be shown. + """)) +parser.add_argument( + "-l", "--lp-instance", dest="lp_instance", default="production", + help="use the specified Launchpad instance (default: production)") + +parser.add_argument( + "-q", "--quiet", dest="quiet", action="store_true", default=None, + help="only display errors") +parser.add_argument( + "-v", "--verbose", dest="verbose", action="store_true", default=None, + help="display more detail") + +parser.add_argument( + "-a", "--arch", dest="arch", default=None, + help="update only builders of this architecture (eg. i386)") +parser.add_argument( + "-b", "--builder", dest="builders", action="append", metavar="BUILDER", + help="update only this builder (may be given multiple times)") +parser.add_argument( + "--failnotes", dest="failnotes", default=None, + help="update only builders with failnotes matching this regexp") +parser.add_argument( + "-e", "--enabled", action="store_const", dest="ok_filter", const=True, + help="update only enabled builders") +parser.add_argument( + "-d", "--disabled", action="store_const", dest="ok_filter", const=False, + help="update only disabled builders") +parser.add_argument( + "--cleaning", action="store_const", dest="cleaning_filter", const=True, + help="update only builders that are stuck cleaning") +parser.add_argument( + "--virtual", action="store_const", dest="virtual_filter", const=True, + help="update only virtual builders") +parser.add_argument( + "--non-virtual", action="store_const", dest="virtual_filter", const=False, + help="update only non-virtual builders") +parser.add_argument( + "--builder-version", dest="builder_version", default=None, + help="update only builders running this launchpad-buildd version") + +dispatch_group = parser.add_mutually_exclusive_group() +dispatch_group.add_argument( + "--auto", dest="auto", action="store_true", default=None, + help="enable automatic dispatching") +dispatch_group.add_argument( + "--manual", dest="manual", action="store_true", default=None, + help="disable automatic dispatching") +ok_group = parser.add_mutually_exclusive_group() +ok_group.add_argument( + "--enable", dest="enable", action="store_true", default=None, + help="mark the builder as OK") +ok_group.add_argument( + "--disable", dest="disable", action="store_true", default=None, + help="mark the builder as not OK") +ok_group.add_argument( + "--reset", dest="reset", action="store_true", default=None, + help="reset the builder by disabling and re-enabling it") +parser.add_argument( + "--set-failnotes", dest="set_failnotes", default=None, + help="set the builder's failnotes") +virtual_group = parser.add_mutually_exclusive_group() +virtual_group.add_argument( + "--set-virtual", dest="set_virtual", action="store_true", default=None, + help="mark the builder as virtual") +virtual_group.add_argument( + "--set-non-virtual", dest="set_non_virtual", + action="store_true", default=None, + help="mark the builder as non-virtual") +visible_group = parser.add_mutually_exclusive_group() +visible_group.add_argument( + "--set-visible", dest="set_visible", action="store_true", default=None, + help="mark the builder as visible") +visible_group.add_argument( + "--set-invisible", dest="set_invisible", action="store_true", default=None, + help="mark the builder as invisible") +parser.add_argument( + "--set-vm-host", dest="set_vm_host", default=None, + help="set the builder's VM host") + +args = parser.parse_args() + +changes = {} +if args.manual: + changes['manual'] = True +if args.auto: + changes['manual'] = False +if args.enable: + changes['builderok'] = True +if args.disable or args.reset: + # In the --reset case, we'll re-enable it manually after applying this. + changes['builderok'] = False +if args.set_failnotes is not None: + changes['failnotes'] = args.set_failnotes or None +if args.set_virtual: + changes['virtualized'] = True +if args.set_non_virtual: + changes['virtualized'] = False +if args.set_visible: + changes['active'] = True +if args.set_invisible: + changes['active'] = False +if args.set_vm_host is not None: + changes['vm_host'] = args.set_vm_host or None + +lp = Launchpad.login_with( + 'manage-builders', args.lp_instance, version='devel') + +processor_names = {p.self_link: p.name for p in lp.processors} + +def get_processor_name(processor_link): + if processor_link not in processor_names: + processor_names[processor_link] = lp.load(processor_link).name + return processor_names[processor_link] + +def get_clean_status_duration(builder): + return datetime.now(pytz.UTC) - builder.date_clean_status_changed + +def is_cleaning(builder): + return ( + builder.builderok + and builder.current_build_link is None + and builder.clean_status in ('Dirty', 'Cleaning') + and get_clean_status_duration(builder) > timedelta(minutes=10)) + +candidates = [] +for builder in lp.builders: + if not builder.active: + continue + if args.ok_filter is not None and builder.builderok != args.ok_filter: + continue + if (args.cleaning_filter is not None + and is_cleaning(builder) != args.cleaning_filter): + continue + if (args.virtual_filter is not None + and builder.virtualized != args.virtual_filter): + continue + if args.builders and builder.name not in args.builders: + continue + if (args.arch + and not any(get_processor_name(p) == args.arch + for p in builder.processors)): + continue + if (args.failnotes and ( + not builder.failnotes + or not re.search(args.failnotes, builder.failnotes))): + continue + if (args.builder_version is not None and + args.builder_version != builder.version): + continue + candidates.append(builder) + +def builder_sort_key(builder): + return ( + not builder.virtualized, + # https://launchpad.net/builders sorts by Processor.id, but that + # isn't accessible on the webservice. This produces vaguely similar + # results in practice and looks reasonable. + sorted(builder.processors), + builder.vm_host, + builder.vm_reset_protocol if builder.virtualized else '', + builder.name) + +def apply_changes(obj, **changes): + count = 3 + for i in range(count): + changed = False + for change, value in changes.items(): + if getattr(obj, change) != value: + setattr(obj, change, value) + changed = True + if changed: + try: + obj.lp_save() + break + except PreconditionFailed: + if i == count - 1: + raise + obj.lp_refresh() + return changed + +candidates.sort(key=builder_sort_key) + +count_changed = count_unchanged = 0 + +if changes and not args.quiet: + print('Updating %d builders.' % len(candidates)) + +if args.verbose: + clump_sort_key = lambda b: builder_sort_key(b)[:4] +else: + clump_sort_key = lambda b: builder_sort_key(b)[:2] +builder_clumps = [ + list(group) for _, group in groupby(candidates, clump_sort_key)] + +for clump in builder_clumps: + if not changes and not args.quiet: + if clump != builder_clumps[0]: + print() + exemplar = clump[0] + archs = ' '.join(get_processor_name(p) for p in exemplar.processors) + if args.verbose: + if exemplar.virtualized: + virt_desc = '(v %s)' % exemplar.vm_reset_protocol + else: + virt_desc = '(nv)' + print( + '%s %s%s' % ( + virt_desc, archs, + (' [%s]' % exemplar.vm_host) if exemplar.vm_host else '')) + else: + print( + '%-4s %s' % ('(v)' if exemplar.virtualized else '(nv)', archs)) + + for candidate in clump: + changed = apply_changes(candidate, **changes) + if args.reset and not candidate.builderok: + if apply_changes(candidate, builderok=True): + changed = True + if changed: + count_changed += 1 + if not args.quiet: + print('* %s' % candidate.name) + elif changes: + if not args.quiet: + print(' %s' % candidate.name) + count_unchanged += 1 + else: + duration = get_clean_status_duration(candidate) + if not candidate.builderok: + # Disabled builders always need explanation. + if candidate.failnotes: + failnote = candidate.failnotes.strip().splitlines()[0] + else: + failnote = 'no failnotes' + status = 'DISABLED: %s' % failnote + elif is_cleaning(candidate): + # Idle builders that have been dirty or cleaning for more + # than ten minutes are a little suspicious. + status = '%s %s' % ( + candidate.clean_status, format_timedelta(duration)) + elif (candidate.current_build_link is not None + and duration > timedelta(days=1)): + # Something building for more than a day deserves + # investigation. + status = 'Building %s' % format_timedelta(duration) + else: + status = '' + if args.verbose: + if candidate.current_build_link is not None: + dirty_flag = 'B' + elif candidate.clean_status == 'Dirty': + dirty_flag = 'D' + elif candidate.clean_status == 'Cleaning': + dirty_flag = 'C' + else: + dirty_flag = ' ' + print( + ' %-18s %-8s %s%s%s %s' % ( + candidate.name, candidate.version, + dirty_flag, 'M' if candidate.manual else ' ', + 'X' if not candidate.builderok else ' ', + status)) + elif not args.quiet: + print(' %-20s %s' % (candidate.name, status)) + +if changes and not args.quiet: + print("Changed: %d. Unchanged: %d." % (count_changed, count_unchanged)) diff --git a/ubuntu-archive-tools/manage-chroot b/ubuntu-archive-tools/manage-chroot new file mode 100755 index 0000000..18e18fc --- /dev/null +++ b/ubuntu-archive-tools/manage-chroot @@ -0,0 +1,215 @@ +#! /usr/bin/python + +# Copyright 2013-2019 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Manage build base images.""" + +from __future__ import print_function + +__metaclass__ = type + +import argparse +import hashlib +import subprocess +import sys +try: + from urllib.parse import urlparse +except ImportError: + from urlparse import urlparse + +from launchpadlib.launchpad import Launchpad +from launchpadlib.uris import web_root_for_service_root +from ubuntutools.question import YesNoQuestion + +import lputils + + +# Convenience aliases. +image_types = { + "chroot": "Chroot tarball", + "lxd": "LXD image", + } + + +def describe_image_type(image_type): + if image_type == "Chroot tarball": + return "base chroot tarball" + elif image_type == "LXD image": + return "base LXD image" + else: + raise ValueError("unknown image type '%s'" % image_type) + + +def get_chroot(args): + das = args.architectures[0] + suite_arch = "%s/%s" % (args.suite, das.architecture_tag) + url = das.getChrootURL(pocket=args.pocket, image_type=args.image_type) + if url is None: + print("No %s for %s" % ( + describe_image_type(args.image_type), suite_arch)) + return 1 + if args.dry_run: + print("Would fetch %s" % url) + else: + # We use wget here to save on having to implement a progress bar + # with urlretrieve. + command = ["wget"] + if args.filepath is not None: + command.extend(["-O", args.filepath]) + command.append(url) + subprocess.check_call(command) + return 0 + + +def info_chroot(args): + das = args.architectures[0] + url = das.getChrootURL(pocket=args.pocket, image_type=args.image_type) + if url is not None: + print(url) + return 0 + + +def remove_chroot(args): + das = args.architectures[0] + previous_url = das.getChrootURL( + pocket=args.pocket, image_type=args.image_type) + if previous_url is not None: + print("Previous %s: %s" % ( + describe_image_type(args.image_type), previous_url)) + suite_arch = "%s/%s" % (args.suite, das.architecture_tag) + if args.dry_run: + print("Would remove %s from %s" % ( + describe_image_type(args.image_type), suite_arch)) + else: + if not args.confirm_all: + if YesNoQuestion().ask( + "Remove %s from %s" % ( + describe_image_type(args.image_type), suite_arch), + "no") == "no": + return 0 + das.removeChroot(pocket=args.pocket, image_type=args.image_type) + return 0 + + +def set_chroot(args): + das = args.architectures[0] + previous_url = das.getChrootURL( + pocket=args.pocket, image_type=args.image_type) + if previous_url is not None: + print("Previous %s: %s" % ( + describe_image_type(args.image_type), previous_url)) + suite_arch = "%s/%s" % (args.suite, das.architecture_tag) + if args.build_url: + target = "%s from %s" % (args.filepath, args.build_url) + else: + target = args.filepath + if args.dry_run: + print("Would set %s for %s to %s" % ( + describe_image_type(args.image_type), suite_arch, target)) + else: + if not args.confirm_all: + if YesNoQuestion().ask( + "Set %s for %s to %s" % ( + describe_image_type(args.image_type), suite_arch, target), + "no") == "no": + return 0 + if args.build_url: + das.setChrootFromBuild( + livefsbuild=urlparse(args.build_url).path, + filename=args.filepath, + pocket=args.pocket, image_type=args.image_type) + else: + with open(args.filepath, "rb") as f: + data = f.read() + sha1sum = hashlib.sha1(data).hexdigest() + das.setChroot( + data=data, sha1sum=sha1sum, + pocket=args.pocket, image_type=args.image_type) + return 0 + + +commands = { + "get": get_chroot, + "info": info_chroot, + "remove": remove_chroot, + "set": set_chroot} + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_argument( + "-n", "--dry-run", default=False, action="store_true", + help="only show removals that would be performed") + parser.add_argument( + "-y", "--confirm-all", default=False, action="store_true", + help="do not ask for confirmation") + parser.add_argument( + "-d", "--distribution", default="ubuntu", + metavar="DISTRIBUTION", help="manage base images for DISTRIBUTION") + parser.add_argument( + "-s", "--suite", "--series", dest="suite", metavar="SUITE", + help="manage base images for SUITE") + parser.add_argument( + "-a", "--architecture", metavar="ARCHITECTURE", required=True, + help="manage base images for ARCHITECTURE") + parser.add_argument( + "-i", "--image-type", metavar="TYPE", default="Chroot tarball", + help="manage base images of type TYPE") + parser.add_argument( + "--from-build", dest="build_url", metavar="URL", + help="Live filesystem build URL to set base image from") + parser.add_argument( + "-f", "--filepath", metavar="PATH", + help="Base image file path (or file name if --from-build is given)") + parser.add_argument("command", choices=sorted(commands.keys())) + args = parser.parse_args() + + if args.command == "set" and args.filepath is None: + parser.error("The set command requires a base image file path (-f).") + + if args.image_type not in image_types.values(): + image_type = image_types.get(args.image_type.lower()) + if image_type is not None: + args.image_type = image_type + else: + parser.error("Unknown image type '%s'." % args.image_type) + + if args.command in ("get", "info"): + login_method = Launchpad.login_anonymously + else: + login_method = Launchpad.login_with + args.launchpad = login_method( + "manage-chroot", args.launchpad_instance, version="devel") + lputils.setup_location(args) + + if args.command == "set" and args.build_url: + parsed_build_url = urlparse(args.build_url) + if parsed_build_url.scheme != "": + service_host = args.launchpad._root_uri.host + web_host = urlparse(web_root_for_service_root( + str(args.launchpad._root_uri))).hostname + if parsed_build_url.hostname not in (service_host, web_host): + parser.error( + "%s is not on this Launchpad instance (%s)" % ( + args.build_url, web_host)) + + return commands[args.command](args) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/ubuntu-archive-tools/mark-suite-dirty b/ubuntu-archive-tools/mark-suite-dirty new file mode 100755 index 0000000..f198a31 --- /dev/null +++ b/ubuntu-archive-tools/mark-suite-dirty @@ -0,0 +1,67 @@ +#! /usr/bin/python + +# Copyright (C) 2017 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Mark a suite dirty. + +This is useful on the rare occasions when Launchpad needs to be forced to +republish a suite even though it isn't itself aware of a reason to do so. +""" + +from __future__ import print_function + +from optparse import OptionParser +import sys + +from launchpadlib.launchpad import Launchpad + +import lputils + + +def mark_suite_dirty(options): + if options.dry_run: + print( + "Would mark %s dirty in %s." % (options.suite, options.archive)) + else: + options.archive.markSuiteDirty( + distroseries=options.series, pocket=options.pocket) + print("Marked %s dirty in %s." % (options.suite, options.archive)) + + +def main(): + parser = OptionParser( + usage="usage: %prog -s suite", + epilog=lputils.ARCHIVE_REFERENCE_DESCRIPTION) + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="only show what would be done") + parser.add_option("-A", "--archive", help="operate on ARCHIVE") + parser.add_option( + "-s", "--suite", metavar="SUITE", help="mark SUITE dirty") + options, _ = parser.parse_args() + + options.distribution = "ubuntu" + options.launchpad = Launchpad.login_with( + "mark-suite-dirty", options.launchpad_instance, version="devel") + lputils.setup_location(options) + + mark_suite_dirty(options) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/ubuntu-archive-tools/migration-blocked-by-tests b/ubuntu-archive-tools/migration-blocked-by-tests new file mode 100755 index 0000000..305ce55 --- /dev/null +++ b/ubuntu-archive-tools/migration-blocked-by-tests @@ -0,0 +1,31 @@ +#!/bin/sh + +# quick and dirty script to report, for the first transition shown in +# update_output, the list of packages that are blocked only by autopkgtests. + +# this looks only at the first transition because this is normally the +# biggest one needing immediate attention. + +# Author: Steve Langasek + +set -e + +cleanup() { + if [ -n "$WORKDIR" ]; then + rm -rf "$WORKDIR" + fi +} + +WORKDIR= +trap cleanup 0 2 3 5 10 13 15 +WORKDIR=$(mktemp -d) + +URLBASE=https://people.canonical.com/~ubuntu-archive/proposed-migration/ +for file in update_output.txt update_output_notest.txt; do + wget -q "$URLBASE/$file" -O - \ + | sed -e'1,/easy:/d; s/^[[:space:]]\+\* [^:]*: //; q' \ + | sed -e's/, /\n/g' > "$WORKDIR/$file" +done + +LC_COLLATE=C join -v2 "$WORKDIR/update_output_notest.txt" \ + "$WORKDIR/update_output.txt" diff --git a/ubuntu-archive-tools/move-milestoned-bugs b/ubuntu-archive-tools/move-milestoned-bugs new file mode 100755 index 0000000..8381874 --- /dev/null +++ b/ubuntu-archive-tools/move-milestoned-bugs @@ -0,0 +1,85 @@ +#!/usr/bin/python + +# Copyright (C) 2011, 2012 Canonical Ltd. +# Author: Martin Pitt + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Move all bugs of a milestone to another milestone. This is usually done after +# the milestone was released. + +import optparse +import sys + +from launchpadlib.launchpad import Launchpad + + +def parse_args(): + '''Parse command line. + + Return (options, arguments). + ''' + parser = optparse.OptionParser( + usage='Usage: %prog [options] ') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-s", "--series", + help="Ubuntu release to work on (default: current development " + "release)") + parser.add_option( + "-n", "--no-act", "--dry-run", action="store_true", + help="Only show bugs that would be moved, but do not act on them") + options, args = parser.parse_args() + + if len(args) != 2: + parser.error('Need to specify "from" and "to" milestone. See --help') + + return (options, args) + +if __name__ == '__main__': + (options, (from_ms, to_ms)) = parse_args() + + launchpad = Launchpad.login_with( + 'ubuntu-archive-tools', options.launchpad_instance) + ubuntu = launchpad.distributions['ubuntu'] + if options.series: + distro_series = ubuntu.getSeries(name_or_version=options.series) + else: + distro_series = ubuntu.current_series + + # convert milestone names to LP objects + lp_milestones = {} + for m in distro_series.all_milestones: + lp_milestones[m.name] = m + try: + from_ms = lp_milestones[from_ms] + except KeyError: + sys.stderr.write('ERROR: Unknown milestone %s\n' % from_ms) + sys.exit(1) + try: + to_ms = lp_milestones[to_ms] + except KeyError: + sys.stderr.write('ERROR: Unknown milestone %s\n' % to_ms) + sys.exit(1) + + # move them over + if options.no_act: + print('Would move the following bug tasks to %s:' % to_ms.name) + else: + print('Moving the following bug tasks to %s:' % to_ms.name) + for task in from_ms.searchTasks(): + print(task.title) + if not options.no_act: + task.milestone_link = to_ms + task.lp_save() diff --git a/ubuntu-archive-tools/nbs-report b/ubuntu-archive-tools/nbs-report new file mode 100755 index 0000000..b019e9c --- /dev/null +++ b/ubuntu-archive-tools/nbs-report @@ -0,0 +1,280 @@ +#!/usr/bin/python + +# Copyright (C) 2011, 2012 Canonical Ltd. +# Author: Martin Pitt + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Generate a HTML report of current NBS binary packages from a checkrdepends +# output directory + +from __future__ import print_function + +from collections import defaultdict +import csv +from optparse import OptionParser +import os +import sys +import time + +from charts import make_chart, make_chart_header + + +def parse_checkrdepends_file(path, pkgmap): + '''Parse one checkrdepends file into the NBS map''' + + cur_component = None + cur_arch = None + + with open(path) as f: + for line in f: + if line.startswith('-- '): + (cur_component, cur_arch) = line.split('/', 1)[1].split()[:2] + continue + assert cur_component + assert cur_arch + + rdep = line.strip().split()[0] + pkgmap.setdefault(rdep, (cur_component, []))[1].append(cur_arch) + + +def _pkg_removable(pkg, nbs, checked_v): + '''Recursively check if pakcage is removable. + + checked_v is the working set of already checked vertices, to avoid infinite + loops. + ''' + checked_v.add(pkg) + for rdep in nbs.get(pkg, []): + if rdep in checked_v: + continue + #checked_v.add(rdep) + if not rdep in nbs: + try: + checked_v.remove(rdep) + except KeyError: + pass + return False + if not _pkg_removable(rdep, nbs, checked_v): + try: + checked_v.remove(rdep) + except KeyError: + pass + return False + return True + + +def get_removables(nbs): + '''Get set of removable packages. + + This includes packages with no rdepends and disconnected subgraphs, i. e. + clusters of NBS packages which only depend on each other. + ''' + removable = set() + + for p in nbs: + if p in removable: + continue + checked_v = set() + if _pkg_removable(p, nbs, checked_v): + # we can add the entire cluster here, not just p; avoids + # re-checking the other vertices in that cluster + removable.update(checked_v) + + return removable + + +def html_report(options, nbs, removables): + '''Generate HTML report from NBS map.''' + + print('''\ + + + + + NBS packages + + %s + + +

NBS: Binary packages not built from any source

+ +

Archive Administrator commands

+

Run this command to remove NBS packages which are not required any more:

+''' % make_chart_header()) + + print('

remove-package -m NBS ' + '-d %s -s %s -b -y %s

' % + (options.distribution, options.suite, ' '.join(sorted(removables)))) + + print(''' +

Reverse dependencies

+ +

Reverse dependencies which are NBS themselves
+NBS package which can be removed safely

+ +''') + reverse_nbs = defaultdict(list) # non_nbs_pkg -> [nbspkg1, ...] + pkg_component = {} # non_nbs_pkg -> (component, component_class) + + for pkg in sorted(nbs): + nbsmap = nbs[pkg] + if pkg in removables: + cls = 'removable' + else: + cls = 'normal' + print('' % + (cls, pkg), end="") + for rdep in sorted(nbsmap): + (component, arches) = nbsmap[rdep] + + if component in ('main', 'restricted'): + component_cls = 'sup' + else: + component_cls = 'unsup' + + if rdep in nbs: + if rdep in removables: + cls = 'removable' + else: + cls = 'nbs' + else: + cls = 'normal' + reverse_nbs[rdep].append(pkg) + pkg_component[rdep] = (component, component_cls) + + print('', end='') + print(' ' % (cls, rdep), end='') + print('' % + (component_cls, component), end='') + print('' % ' '.join(arches)) + + print('''
%s
    %s%s%s
+

Packages which depend on NBS packages

+''') + + def sort_rev_nbs(k1, k2): + len_cmp = cmp(len(reverse_nbs[k1]), len(reverse_nbs[k2])) + if len_cmp == 0: + return cmp(k1, k2) + else: + return -len_cmp + + for pkg in sorted(reverse_nbs, cmp=sort_rev_nbs): + print(' ' + '') + + print('
%s%s' % ( + pkg, pkg_component[pkg][1], pkg_component[pkg][0]), end="") + print(" ".join(sorted(reverse_nbs[pkg])), end="") + print('
') + + if options.csv_file is not None: + print("

Over time

") + print(make_chart( + os.path.basename(options.csv_file), ["removable", "total"])) + + print('

Generated at %s.

' % + time.strftime('%Y-%m-%d %H:%M:%S %Z', time.gmtime(options.time))) + print('') + + +def main(): + parser = OptionParser( + usage="%prog ", + description="Generate an HTML report of current NBS binary packages.") + parser.add_option('-d', '--distribution', default='ubuntu') + parser.add_option('-s', '--suite', default='disco') + parser.add_option( + '--csv-file', help='record CSV time series data in this file') + options, args = parser.parse_args() + if len(args) != 1: + parser.error("need a checkrdepends output directory") + + options.time = time.time() + + # pkg -> rdep_pkg -> (component, [arch1, arch2, ...]) + nbs = defaultdict(dict) + + for f in os.listdir(args[0]): + if f.startswith('.') or f.endswith('.html'): + continue + parse_checkrdepends_file(os.path.join(args[0], f), nbs[f]) + + #with open('/tmp/dot', 'w') as dot: + # print('digraph {', file=dot) + # print(' ratio 0.1', file=dot) + # pkgnames = set(nbs) + # for m in nbs.itervalues(): + # pkgnames.update(m) + # for n in pkgnames: + # print(' %s [label="%s"' % (n.replace('-', '').replace('.', ''), n), + # end="", file=dot) + # if n in nbs: + # print(', style="filled", fillcolor="lightblue"', end="", file=dot) + # print(']', file=dot) + # print(file=dot) + # for pkg, map in nbs.iteritems(): + # for rd in map: + # print(' %s -> %s' % ( + # pkg.replace('-', '').replace('.', ''), + # rd.replace('-', '').replace('.', '')), file=dot) + # print('}', file=dot) + + removables = get_removables(nbs) + + html_report(options, nbs, removables) + + if options.csv_file is not None: + if sys.version < "3": + open_mode = "ab" + open_kwargs = {} + else: + open_mode = "a" + open_kwargs = {"newline": ""} + csv_is_new = not os.path.exists(options.csv_file) + with open(options.csv_file, open_mode, **open_kwargs) as csv_file: + # Field names deliberately hardcoded; any changes require + # manually rewriting the output file. + fieldnames = [ + "time", + "removable", + "total", + ] + csv_writer = csv.DictWriter(csv_file, fieldnames) + if csv_is_new: + csv_writer.writeheader() + csv_writer.writerow({ + "time": int(options.time * 1000), + "removable": len(removables), + "total": len(nbs), + }) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/new-binary-debian-universe b/ubuntu-archive-tools/new-binary-debian-universe new file mode 100755 index 0000000..dc46773 --- /dev/null +++ b/ubuntu-archive-tools/new-binary-debian-universe @@ -0,0 +1,167 @@ +#! /usr/bin/python + +# Copyright (C) 2009, 2010, 2011, 2012 Canonical Ltd. +# Authors: +# Martin Pitt +# Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Process binary NEW entries from Debian. + +Find and accept all binary NEW entries built by source packages synced +directly from Debian. These do not typically need significant review. +""" + +from __future__ import print_function + +import atexit +from optparse import OptionParser +import os +import shutil +import subprocess +import sys +import tempfile +try: + from urllib.parse import unquote, urlsplit + from urllib.request import urlopen, urlretrieve +except ImportError: + from urllib import unquote, urlretrieve + from urllib2 import urlopen + from urlparse import urlsplit + +from launchpadlib.launchpad import Launchpad +from ubuntutools.question import YesNoQuestion + +import lputils + + +CONSUMER_KEY = "new-binary-debian-universe" + + +temp_dir = None + + +def ensure_temp_dir(): + global temp_dir + if temp_dir is None: + temp_dir = tempfile.mkdtemp() + atexit.register(shutil.rmtree, temp_dir) + + +def find_matching_uploads(options, explicit_suite): + kwargs = {} + if explicit_suite: + kwargs["pocket"] = options.pocket + uploads = options.series.getPackageUploads( + archive=options.archive, status="New", **kwargs) + for upload in uploads: + if upload.contains_build: + if upload.changes_file_url is None: + continue + # display_name is inaccurate for the theoretical case of an + # upload containing multiple builds, but in practice it's close + # enough. + source = upload.display_name.split(",")[0] + if source == "linux": + continue + binaries = upload.getBinaryProperties() + binaries = [b for b in binaries if "customformat" not in b] + if [b for b in binaries if "ubuntu" in b["version"]]: + continue + changes_file = urlopen(upload.changes_file_url) + try: + changes = changes_file.read() + finally: + changes_file.close() + if (" unstable; urgency=" not in changes and + " experimental; urgency=" not in changes): + continue + + if options.lintian: + ensure_temp_dir() + for url in upload.binaryFileUrls(): + if (not url.endswith("_all.deb") and + not url.endswith("_i386.deb")): + continue + filename = unquote(urlsplit(url)[2].split("/")[-1]) + print("Fetching %s ..." % filename) + path = os.path.join(temp_dir, filename) + urlretrieve(url, path) + lintian = subprocess.Popen( + ["lintian", path], stdout=subprocess.PIPE, + universal_newlines=True) + out = lintian.communicate()[0] + if lintian.returncode != 0: + print("\n=== %s ===\n%s" % (filename, out), + file=sys.stderr) + + yield upload, binaries + + +def find_and_accept(options, explicit_suite): + for upload, binaries in list( + find_matching_uploads(options, explicit_suite)): + if options.source and upload.package_name not in options.source: + continue + display = "%s/%s (%s)" % ( + upload.display_name, upload.display_version, upload.display_arches) + if options.dry_run: + print("Would accept %s" % display) + else: + for binary in binaries: + if "customformat" not in binary: + print("%s | %s Component: %s Section: %s Priority: %s" % ( + "N" if binary["is_new"] else "*", binary["name"], + binary["component"], binary["section"], + binary["priority"])) + if not options.confirm_all: + if YesNoQuestion().ask("Accept %s" % display, "no") == "no": + continue + print("Accepting %s" % display) + upload.acceptFromQueue() + + +def main(): + parser = OptionParser(usage="usage: %prog [options]") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-d", "--distribution", metavar="DISTRO", default="ubuntu", + help="look in distribution DISTRO") + parser.add_option( + "-s", "--suite", metavar="SUITE", help="look in suite SUITE") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="don't make any modifications") + parser.add_option( + "-y", "--confirm-all", default=False, action="store_true", + help="do not ask for confirmation") + parser.add_option( + "--lintian", default=False, action="store_true", + help="run packages through Lintian") + parser.add_option( + "--source", action="append", metavar="NAME", + help="only consider source package NAME") + options, _ = parser.parse_args() + + options.launchpad = Launchpad.login_with( + CONSUMER_KEY, options.launchpad_instance, version="devel") + explicit_suite = options.suite is not None + lputils.setup_location(options) + + find_and_accept(options, explicit_suite) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/orphaned-sources b/ubuntu-archive-tools/orphaned-sources new file mode 100755 index 0000000..1085628 --- /dev/null +++ b/ubuntu-archive-tools/orphaned-sources @@ -0,0 +1,107 @@ +#! /usr/bin/python + +from __future__ import print_function + +import atexit +from contextlib import closing +import gzip +from optparse import OptionParser +import shutil +import sys +import tempfile +try: + from urllib.request import urlretrieve +except ImportError: + from urllib import urlretrieve + +import apt_pkg +from launchpadlib.launchpad import Launchpad + +import lputils + + +tempdir = None + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix="orphaned-sources") + atexit.register(shutil.rmtree, tempdir) + + +def decompress_open(tagfile): + if tagfile.startswith("http:") or tagfile.startswith("ftp:"): + url = tagfile + tagfile = urlretrieve(url)[0] + + if tagfile.endswith(".gz"): + ensure_tempdir() + decompressed = tempfile.mktemp(dir=tempdir) + with closing(gzip.GzipFile(tagfile)) as fin: + with open(decompressed, "wb") as fout: + fout.write(fin.read()) + return open(decompressed, "r") + else: + return open(tagfile, "r") + + +def archive_base(archtag): + if archtag in ("amd64", "i386", "src"): + return "http://archive.ubuntu.com/ubuntu" + else: + return "http://ports.ubuntu.com/ubuntu-ports" + + +def source_names(options): + sources = set() + for component in "main", "restricted", "universe", "multiverse": + url = "%s/dists/%s/%s/source/Sources.gz" % ( + archive_base("src"), options.suite, component) + print("Reading %s ..." % url, file=sys.stderr) + for section in apt_pkg.TagFile(decompress_open(url)): + sources.add(section["Package"]) + return sources + + +def referenced_sources(options): + sources = set() + for component in "main", "restricted", "universe", "multiverse": + for arch in options.architectures: + archtag = arch.architecture_tag + for suffix in "", "/debian-installer": + url = "%s/dists/%s/%s%s/binary-%s/Packages.gz" % ( + archive_base(archtag), options.suite, component, suffix, + archtag) + print("Reading %s ..." % url, file=sys.stderr) + for section in apt_pkg.TagFile(decompress_open(url)): + if "Source" in section: + sources.add(section["Source"].split(" ", 1)[0]) + else: + sources.add(section["Package"]) + return sources + + +def main(): + parser = OptionParser( + description="Check for sources without any remaining binaries.") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option("-s", "--suite", help="check this suite") + options, _ = parser.parse_args() + + options.distribution = "ubuntu" + options.launchpad = Launchpad.login_anonymously( + "orphaned-sources", options.launchpad_instance) + lputils.setup_location(options) + + if options.pocket != "Release": + parser.error("cannot run on non-release pocket") + + orphaned_sources = source_names(options) - referenced_sources(options) + for source in sorted(orphaned_sources): + print(source) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/package-subscribers b/ubuntu-archive-tools/package-subscribers new file mode 100755 index 0000000..fd47274 --- /dev/null +++ b/ubuntu-archive-tools/package-subscribers @@ -0,0 +1,165 @@ +#! /usr/bin/python + +from __future__ import print_function + +import atexit +import bz2 +from collections import defaultdict +import json +import lzma +from optparse import OptionParser +import requests +import shutil +import sys +import tempfile + +import apt_pkg +from launchpadlib.launchpad import Launchpad + +import lputils + + +tempdir = None + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix="unsubscribed-packages") + atexit.register(shutil.rmtree, tempdir) + + +def decompress_open(tagfile): + if tagfile.startswith("http:") or tagfile.startswith("ftp:"): + url = tagfile + tagfile = requests.get(url) + if tagfile.status_code == 404: + url = url.replace(".xz", ".bz2") + tagfile = requests.get(url) + + ensure_tempdir() + decompressed = tempfile.mktemp(dir=tempdir) + with open(decompressed, "wb") as fout: + if url.endswith(".xz"): + fout.write(lzma.decompress(tagfile.content)) + elif url.endswith(".bz2"): + fout.write(bz2.decompress(tagfile.content)) + return open(decompressed, "r") + + +def archive_base(archtag): + if archtag in ("amd64", "i386", "src"): + return "http://archive.ubuntu.com/ubuntu" + else: + return "http://ports.ubuntu.com/ubuntu-ports" + + +def source_names(options): + sources = dict() + for suite in options.suites: + for component in ["main", "restricted"]: + url = "%s/dists/%s/%s/source/Sources.xz" % ( + archive_base("src"), suite, component) + if not options.quiet: + print("Reading %s ..." % url, file=sys.stderr) + for section in apt_pkg.TagFile(decompress_open(url)): + pkg = section["Package"] + if suite == options.dev_suite: + sources[pkg] = True + else: + if sources.get(pkg, False) == True: + continue + sources[pkg] = False + return sources + + +def main(): + parser = OptionParser( + description="Check for source packages in main or restricted in " + "active distro series and return a json file of the teams " + "to which they map.") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-u", "--unsubscribed", action="store_true", default=False, + help="Only return packages which have no subscriber") + parser.add_option( + "-p", "--print", action="store_true", default=False, + dest="display", + help="Print results to screen instead of a json file") + parser.add_option( + "-o", "--output-file", default="package-team-mapping.json", + help="output JSON to this file") + parser.add_option( + "-q", "--quiet", action="store_true", default=False, + help="Quieten progress messages") + options, _ = parser.parse_args() + options.suite = None + options.distribution = "ubuntu" + options.launchpad = Launchpad.login_with( + "unsubscribed-packages", options.launchpad_instance) + launchpad = options.launchpad + ubuntu = launchpad.distributions[options.distribution] + options.suites = [] + for series in ubuntu.series: + # very few lucid packages are supported + if series.name == 'lucid': + continue + if series.active: + options.suites.append(series.name) + # find the dev series + if series.status in ['Active Development', 'Pre-release Freeze']: + options.dev_suite = series.name + + lputils.setup_location(options) + + team_names = [ + 'checkbox-bugs', + 'desktop-packages', + 'documentation-packages', + 'foundations-bugs', + 'kernel-packages', + 'kubuntu-bugs', + 'landscape', + 'maas-maintainers', + 'mir-team', + 'pkg-ime', + 'snappy-dev', + 'translators-packages', + 'ubuntu-openstack', + 'ubuntu-printing', + 'ubuntu-security', + 'ubuntu-server', + ] + + data = { "unsubscribed": [] } + subscriptions = defaultdict(list) + for team_name in team_names: + data[team_name] = [] + team = launchpad.people[team_name] + team_subs = team.getBugSubscriberPackages() + for src_pkg in team_subs: + subscriptions[src_pkg.name].append(team_name) + data[team_name].append(src_pkg.name) + + source_packages = source_names(options) + for source_package in sorted(source_packages): + # we only care about ones people are not subscribed to in the dev release + if source_package not in subscriptions and source_packages[source_package]: + data["unsubscribed"].append(source_package) + if options.display: + print("No team is subscribed to: %s" % + source_package) + else: + if not options.unsubscribed: + if options.display: + print("%s is subscribed to: %s" % + (team_name, source_package)) + + if not options.display: + with open(options.output_file, 'w') as json_file: + json_file.write(json.dumps(data, indent=4)) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/packageset-report b/ubuntu-archive-tools/packageset-report new file mode 100755 index 0000000..e6142a9 --- /dev/null +++ b/ubuntu-archive-tools/packageset-report @@ -0,0 +1,106 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Copyright (C) 2013 Canonical Ltd. +# Author: Stéphane Graber + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import argparse +import os +import time + +from launchpadlib.launchpad import Launchpad +from codecs import open + +parser = argparse.ArgumentParser( + description="Generate list of packages and uploaders for all packagesets.") +parser.add_argument("target", metavar="TARGET", + help="Target directory") +parser.add_argument("-a", "--all", action="store_true", + help="Sync all series instead of just the active ones") +args = parser.parse_args() + +# Authenticated login to Launchpad as anonymous +# doesn't let us list the uploaders +lp = Launchpad.login_with('package_sets_report', 'production') + +ubuntu = lp.distributions['ubuntu'] + +# Get the list of series +if args.all: + ubuntu_series = [series for series in ubuntu.series + if series.status != "Future"] +else: + ubuntu_series = [series for series in ubuntu.series if series.active] + +# cache +teams = {} + +for series in ubuntu_series: + series_name = str(series.name) + + if not os.path.exists(os.path.join(args.target, series_name)): + os.makedirs(os.path.join(args.target, series_name)) + + for pkgset in lp.packagesets.getBySeries(distroseries=series): + report = "" + report += "Name: %s\n" % pkgset.name + report += "Description: %s\n" % pkgset.description + report += "Owner: %s\n" % pkgset.owner.display_name + report += "Creation date: %s\n" % pkgset.date_created + + # List all the source packages + report += "\nPackages:\n" + for pkg in sorted(list(pkgset.getSourcesIncluded())): + report += " - %s\n" % str(pkg) + + # List all the sub-package sets + report += "\nSub-package sets:\n" + for child in sorted(list(pkgset.setsIncluded(direct_inclusion=True))): + report += " - %s\n" % child.name + + # List all the uploaders, when it's a team, show the members count + report += "\nUploaders:\n" + for archive in ubuntu.archives: + for uploader in sorted(list(archive.getUploadersForPackageset( + packageset=pkgset)), + key=lambda uploader: uploader.person.display_name): + + if uploader.person.is_team: + if not uploader.person.name in teams: + team = uploader.person + teams[uploader.person.name] = team + else: + team = teams[uploader.person.name] + + report += " - %s (%s) (%s) (%s) (%s members)\n" % \ + (team.display_name, + team.name, + uploader.permission, + archive.displayname, + len(team.members)) + for member in sorted(list(team.members), + key=lambda person: person.name): + report += " - %s (%s)\n" % (member.display_name, + member.name) + else: + report += " - %s (%s) (%s)\n" % \ + (uploader.person.name, + uploader.person.display_name, + uploader.permission) + + report += "\nGenerated at: %s\n" % time.asctime() + with open(os.path.join(args.target, series_name, pkgset.name), + "w+", encoding="utf-8") as fd: + fd.write(report) diff --git a/ubuntu-archive-tools/permissions-report b/ubuntu-archive-tools/permissions-report new file mode 100755 index 0000000..96f6c25 --- /dev/null +++ b/ubuntu-archive-tools/permissions-report @@ -0,0 +1,93 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Copyright (C) 2013 Canonical Ltd. +# Author: Stéphane Graber + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from __future__ import print_function +from launchpadlib.launchpad import Launchpad + +import argparse +import os + +parser = argparse.ArgumentParser( + description="Generate a user readable report of all archive permissions") +parser.add_argument("target", metavar="TARGET", + help="Target directory") +args = parser.parse_args() + +if not os.path.exists(args.target): + os.makedirs(args.target) + +lp = Launchpad.login_with('permissions', 'production', version="devel") + +entries = {"teams": {}, "individuals": {}} + +for archive in lp.distributions['ubuntu'].archives: + for permission in archive.getAllPermissions(): + if permission.person.is_team: + target = "teams" + else: + target = "individuals" + + if not permission.person.name in entries[target]: + entries[target][permission.person.name] = [] + + if permission.component_name: + entry = "%s: component '%s'" % (permission.permission, + permission.component_name) + if permission.distro_series_name: + entry += " for '%s'" % (permission.distro_series_name) + entries[target][permission.person.name].append(entry) + + if permission.package_set_name: + entry = "%s: packageset '%s'" % (permission.permission, + permission.package_set_name) + if permission.distro_series_name: + entry += " for '%s'" % (permission.distro_series_name) + entries[target][permission.person.name].append(entry) + + if permission.source_package_name: + entry = "%s: source '%s'" % (permission.permission, + permission.source_package_name) + if permission.distro_series_name: + entry += " for '%s'" % (permission.distro_series_name) + entries[target][permission.person.name].append(entry) + + if permission.pocket: + entry = "%s: pocket '%s'" % (permission.permission, + permission.pocket) + if permission.distro_series_name: + entry += " for '%s'" % (permission.distro_series_name) + entries[target][permission.person.name].append(entry) + +ubuntudev = [person.name + for person in lp.people['ubuntu-dev'].getMembersByStatus( + status="Approved")] + +# Add known exceptions: +ubuntudev += ["ubuntu-backporters", "ubuntu-security", "ubuntu-archive", + "ubuntu-release", "ubuntu-sru"] + +for target, people in entries.items(): + with open(os.path.join(args.target, target), "w+") as fd: + for user, permissions in sorted(people.items()): + fd.write("=== %s ===\n" % user) + if user not in ubuntudev: + fd.write("Isn't a direct member of ~ubuntu-dev!\n") + + for package in sorted(permissions): + fd.write(" - %s\n" % package) + fd.write("\n") diff --git a/ubuntu-archive-tools/phased-updater b/ubuntu-archive-tools/phased-updater new file mode 100755 index 0000000..5bf5749 --- /dev/null +++ b/ubuntu-archive-tools/phased-updater @@ -0,0 +1,730 @@ +#!/usr/bin/python + +# Copyright (C) 2013 Canonical Ltd. +# Author: Brian Murray + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +'''Increment the Phased-Update-Percentage for a package + +Check to see whether or not there is a regression (new crash bucket or +increase in rate of errors about a package) using errors.ubuntu.com and if +not increment the Phased-Update-Percentage for the package. +Additionally, generate an html report regarding state of phasing of +packages and email uploaders regarding issues with their uploads. +''' + +from __future__ import print_function + +import apt +import codecs +import csv +import datetime +import lazr +import logging +import os +import simplejson as json +import time + +from collections import defaultdict, OrderedDict +from email import utils +from optparse import OptionParser + +import lputils + +try: + from urllib.parse import quote + from urllib.request import urlopen +except ImportError: + from urllib import quote, urlopen + +from launchpadlib.launchpad import Launchpad + + +def get_primary_email(lp_user): + try: + lp_user_email = lp_user.preferred_email_address.email + except ValueError as e: + if 'server-side permission' in e.message: + logging.info("%s has hidden their email addresses" % + lp_user.web_link) + return '' + logging.info("Error accessing %s's preferred email address: %s" % + (lp_user.web_link, e.message)) + return '' + return lp_user_email + + +def set_pup(current_pup, new_pup, release, suite, src_pkg): + options.series = release + options.suite = suite + options.pocket = 'Updates' + options.version = None + source = lputils.find_latest_published_source(options, src_pkg) + publications = [ + binary for binary in source.getPublishedBinaries() + if not binary.is_debug] + + for pub in publications: + if pub.status != 'Published': + continue + pub.changeOverride(new_phased_update_percentage=new_pup) + if new_pup != 0: + logging.info('Incremented p-u-p for %s %s from %s%% to %s%%' % + (suite, pub.binary_package_name, + current_pup, new_pup)) + else: + logging.info('Set p-u-p to 0%% from %s%% for %s %s' % + (current_pup, suite, pub.binary_package_name)) + + +def generate_html_report(releases, buckets): + import tempfile + import shutil + with tempfile.NamedTemporaryFile() as report: + report.write(''' + + + + Released Ubuntu SRUs + + + +

Phasing %sUbuntu Stable Release Updates

+''' % ('', 'and Released ')[options.fully_phased]) + report.write( + '

Generated: %s by ' + 'phased-updater

' % + time.strftime('%F %T UTC', time.gmtime())) + report.write('''

A stable release +update has been created for the following packages, i. e. they have +a new version in -updates, and either an increased rate of crashes has +been detected or an error has been found that only exists with the new +version of the package.\n''') + for release in releases: + rname = release.name + if not buckets[rname]: + continue + report.write('''

%s

\n''' % rname) + report.write('''\n''') + report.write(''' + + + + + + + ''') + for pub_source in buckets[rname]: + pkg = pub_source.source_package_name + version = pub_source.source_package_version + age = (datetime.datetime.now() - + pub_source.date_published.replace(tzinfo=None)).days + update_percentage = buckets[rname][pub_source].get('pup', 100) + if not options.fully_phased and update_percentage == 100: + continue + lpurl = '%s/ubuntu/+source/%s/' % (LP_BASE_URL, pkg) + report.write(''' + + \n''' % + (lpurl, pkg, lpurl + version, version)) + report.write(' \n') + if 'rate' in buckets[rname][pub_source]: + data = buckets[rname][pub_source]['rate'] + report.write(' \n' % + (data[1], data[0])) + else: + report.write(' \n') + report.write(' \n') + report.write(' \n' % age) + report.write('\n') + report.write('''
PackageVersionUpdate PercentageRate IncreaseProblemsDays
%s%s') + if update_percentage == 0: + binary_pub = pub_source.getPublishedBinaries()[0] + arch = binary_pub.distro_arch_series.architecture_tag + bpph_url = ('%s/ubuntu/%s/%s/%s' % + (LP_BASE_URL, rname, arch, + binary_pub.binary_package_name)) + report.write('%s%% of users' % + (bpph_url, update_percentage)) + previous_pup = \ + buckets[rname][pub_source]['previous_pup'] + if previous_pup != 0: + report.write(' (was %s%%)' % previous_pup) + else: + report.write('') + else: + report.write('%s%% of users' % update_percentage) + report.write('+%s') + if 'buckets' in buckets[rname][pub_source]: + # TODO: it'd be great if these were sorted + for bucket in buckets[rname][pub_source]['buckets']: + if 'problem' in bucket: + # create a short version of the problem's hash + phash = bucket.replace( + 'https://errors.ubuntu.com/problem/', '')[0:6] + report.write('%s ' % (bucket, + phash)) + else: + report.write('problem ' % bucket) + else: + report.write('') + report.write('%s
\n''') + report.write('''\n''') + report.write('''''') + report.flush() + shutil.copy2(report.name, '%s/%s' % (os.getcwd(), REPORT_FILE)) + os.chmod('%s/%s' % (os.getcwd(), REPORT_FILE), 0o644) + + +def create_email_notifications(releases, spph_buckets): + import smtplib + from email.mime.text import MIMEText + notifications = defaultdict(list) + try: + with codecs.open(NOTIFICATIONS, 'r', encoding='utf-8') as notify_file: + for line in notify_file.readlines(): + line = line.strip('\n').split(', ') + # LP name, problem, pkg_version + person = line[0] + problem = line[1] + pkg = line[2] + pkg_version = line[3] + notifications[person].append((problem, pkg, pkg_version)) + except IOError: + pass + bdmurray_mail = 'brian@ubuntu.com' + b_body = ('Your upload of %s version %s to %s has resulted in %s' + 'error%s that %s first reported about this version of the ' + 'package. The error%s follow%s:\n\n' + '%s\n\n') + i_body = ('Your upload of %s version %s to %s has resulted in an ' + 'increased daily rate of errors for the package compared ' + 'to the previous two weeks. For problems currently being ' + 'reported about the package see:\n\n' + '%s&period=week\n\n') + remedy = ('You can view the current status of the phasing of all ' + 'Stable Release Updates, including yours, at:\n\n' + 'http://people.canonical.com/~ubuntu-archive/%s\n\n' + 'Further phasing of this update has been stopped until the ' + 'errors have either been fixed or determined to not be a ' + 'result of this Stable Release Update. In the event of ' + 'the latter please let a member of the Ubuntu Stable Release ' + 'Updates team (~ubuntu-sru) know so that phasing of the update ' + 'can proceed.' % (REPORT_FILE)) + for release in releases: + rname = release.name + for spph in spph_buckets[rname]: + update_percentage = spph_buckets[rname][spph].get('pup', 100) + # never send emails about updates that are fully phased + if update_percentage == 100: + continue + if 'buckets' not in spph_buckets[rname][spph] and \ + 'rate' not in spph_buckets[rname][spph]: + continue + signer = spph.package_signer + # copies of packages from debian won't have a signer + if not signer: + continue + # not an active user of Launchpad + if not signer.is_valid: + logging.info('%s not mailed as they are not a valid LP user' % + signer) + continue + signer_email = get_primary_email(signer) + signer_name = signer.name + # use the changes file as a backup method for determining email addresses + changes_file_url = spph.changesFileUrl() + try: + changes_file = urlopen(changes_file_url) + for line in changes_file.readlines(): + line = line.strip() + if line.startswith('Changed-By:'): + changer = line.lstrip('Changed-By: ').decode('utf-8') + changer_name, changer_email = utils.parseaddr(changer.strip()) + break + except IOError: + pass + creator = spph.package_creator + creator_email = '' + pkg = spph.source_package_name + version = spph.source_package_version + if not signer_email and signer_name == creator.name: + if not changer_email: + logging.info("No contact email found for %s %s %s" % + (rname, pkg, version)) + continue + signer_email = changer_email + logging.info("Used changes file to find contact email for %s %s %s" % + (rname, pkg, version)) + if 'buckets' in spph_buckets[rname][spph]: + # see if they've been emailed about the bucket before + notices = [] + if signer_name in notifications: + notices = notifications[signer_name] + for notice, notified_pkg, notified_version in notices: + if notice in spph_buckets[rname][spph]['buckets']: + if (notified_pkg != pkg and + notified_version != version): + continue + spph_buckets[rname][spph]['buckets'].remove(notice) + if len(spph_buckets[rname][spph]['buckets']) == 0: + continue + receivers = [bdmurray_mail] + quantity = len(spph_buckets[rname][spph]['buckets']) + msg = MIMEText( + b_body % (pkg, version, rname, ('an ', '')[quantity != 1], + ('', 's')[quantity != 1], + ('was', 'were')[quantity != 1], + ('', 's')[quantity != 1], + ('s', '')[quantity != 1], + '\n'.join(spph_buckets[rname][spph]['buckets'])) + + remedy) + subject = '[%s/%s] Possible Regression' % (rname, pkg) + msg['Subject'] = subject + msg['From'] = EMAIL_SENDER + msg['Reply-To'] = bdmurray_mail + receivers.append(signer_email) + msg['To'] = signer_email + if creator != signer and creator.is_valid: + creator_email = get_primary_email(creator) + # fall back to the email found in the changes file + if not creator_email: + creator_email = changer_email + receivers.append(creator_email) + msg['Cc'] = '%s' % changer_email + smtp = smtplib.SMTP('localhost') + smtp.sendmail(EMAIL_SENDER, receivers, + msg.as_string()) + smtp.quit() + logging.info('%s mailed about %s' % (receivers, subject)) + # add signer, problem, pkg, version to notifications csv file + with codecs.open(NOTIFICATIONS, 'a', encoding='utf-8') as notify_file: + for bucket in spph_buckets[rname][spph]['buckets']: + notify_file.write('%s, %s, %s, %s\n' % \ + (signer_name, bucket, + pkg, version)) + if changer_email: + notify_file.write('%s, %s, %s, %s\n' % \ + (creator.name, bucket, + pkg, version)) + if 'rate' in spph_buckets[rname][spph]: + # see if they have been emailed about the increased rate + # for this package version before + notices = [] + if signer_name in notifications: + notices = notifications[signer_name] + if ('increased-rate', pkg, version) in notices: + continue + receivers = [bdmurray_mail] + msg = MIMEText(i_body % (pkg, quote(version), rname, + spph_buckets[rname][spph]['rate'][1]) + + remedy) + subject = '[%s/%s] Increase in crash rate' % (rname, pkg) + msg['Subject'] = subject + msg['From'] = EMAIL_SENDER + msg['Reply-To'] = bdmurray_mail + receivers.append(signer_email) + msg['To'] = signer_email + if creator != signer and creator.is_valid: + # fall back to the email found in the changes file + if not creator_email: + creator_email = changer_email + receivers.append(creator_email) + msg['Cc'] = '%s' % creator_email + smtp = smtplib.SMTP('localhost') + smtp.sendmail(EMAIL_SENDER, receivers, + msg.as_string()) + smtp.quit() + logging.info('%s mailed about %s' % (receivers, subject)) + # add signer, increased-rate, pkg, version to + # notifications csv + with codecs.open(NOTIFICATIONS, 'a', encoding='utf-8') as notify_file: + notify_file.write('%s, increased-rate, %s, %s\n' % + (signer_name, pkg, version)) + if creator_email: + notify_file.write('%s, increased-rate, %s, %s\n' % + (creator.name, pkg, version)) + + +def new_buckets(archive, release, src_pkg, version): + # can't use created_since here because it have may been uploaded + # before the release date + spph = archive.getPublishedSources(distro_series=release, + source_name=src_pkg, exact_match=True) + pubs = [(ph.date_published, ph.source_package_version) for ph in spph + if ph.status != 'Deleted' and ph.pocket != 'Backports' + and ph.pocket != 'Proposed' + and ph.date_published is not None] + pubs = sorted(pubs) + # it is possible for the same version to appear multiple times + numbers = set([pub[1] for pub in pubs]) + versions = sorted(numbers, cmp=apt.apt_pkg.version_compare) + # it never appeared in release e.g. cedarview-drm-drivers in precise + try: + previous_version = versions[-2] + except IndexError: + return False + new_version = versions[-1] + new_buckets_url = '%spackage-version-new-buckets/?format=json&' % \ + (BASE_ERRORS_URL) + \ + 'package=%s&previous_version=%s&new_version=%s' % \ + (quote(src_pkg), quote(previous_version), quote(new_version)) + try: + new_buckets_file = urlopen(new_buckets_url) + except IOError: + return 'error' + # If we don't receive an OK response from the Error Tracker we should not + # increment the phased-update-percentage. + if new_buckets_file.getcode() != 200: + logging.error('HTTP error retrieving %s' % new_buckets_url) + return 'error' + try: + new_buckets_data = json.load(new_buckets_file) + except json.decoder.JSONDecodeError: + logging.error('Error getting new buckets at %s' % new_buckets_url) + return 'error' + if 'error_message' in new_buckets_data.keys(): + logging.error('Error getting new buckets at %s' % new_buckets_url) + return 'error' + if len(new_buckets_data['objects']) == 0: + return False + buckets = [] + for bucket in new_buckets_data['objects']: + # Do not consider package install failures until they have more + # information added to the instances. + if bucket['function'].startswith('package:'): + continue + # 16.04's duplicate signature for ProblemType: Package doesn't + # start with 'package:' so check for strings in the bucket. + if 'is already installed and configured' in bucket['function']: + logging.info('Skipped already installed bucket %s' % + bucket['web_link']) + continue + # Skip failed buckets as they don't have useful tracebacks + if bucket['function'].startswith('failed:'): + logging.info('Skipped failed to retrace bucket %s' % + bucket['web_link']) + continue + # check to see if the version appears for the affected release + versions_url = '%sversions/?format=json&id=%s' % \ + ((BASE_ERRORS_URL) , quote(bucket['function'].encode('utf-8'))) + try: + versions_data_file = urlopen(versions_url) + except IOError: + logging.error('Error getting release versions at %s' % versions_url) + # don't return an error because its better to have a false positive + # in this case + buckets.append(bucket['web_link']) + continue + try: + versions_data = json.load(versions_data_file) + except json.decoder.JSONDecodeError: + logging.error('Error getting release versions at %s' % versions_url) + # don't return an error because its better to have a false positive + # in this case + buckets.append(bucket['web_link']) + continue + if 'error_message' in versions_data: + # don't return an error because its better to have a false positive + # in this case + buckets.append(bucket['web_link']) + continue + # -1 means that release isn't affected + if len([vd[release.name] for vd in versions_data['objects'] \ + if vd['version'] == new_version and vd[release.name] != -1]) == 0: + continue + buckets.append(bucket['web_link']) + logging.info('Details (new buckets): %s' % new_buckets_url) + return buckets + + +def package_previous_version(release, src_pkg, version): + # return previous package version from updates or release and + # the publication date of the current package version + ubuntu = launchpad.distributions['ubuntu'] + primary = ubuntu.getArchive(name='primary') + current_version_date = None + previous_version = None + # Archive.getPublishedSources returns results ordered by + # (name, id) where the id number is autocreated, subsequently + # the newest package versions are returned first + for spph in primary.getPublishedSources(source_name=src_pkg, + distro_series=release, + exact_match=True): + if spph.pocket == 'Proposed': + continue + if spph.status == 'Deleted': + continue + if spph.source_package_version == version: + if not current_version_date: + current_version_date = spph.date_published.date() + elif spph.date_published.date() > current_version_date: + current_version_date = spph.date_published.date() + if spph.pocket == 'Updates' and spph.status == 'Superseded': + return (spph.source_package_version, current_version_date) + if spph.pocket == 'Release' and spph.status == 'Published': + return (spph.source_package_version, current_version_date) + return (None, None) + + +def crash_rate_increase(release, src_pkg, version, last_pup): + pvers, date = package_previous_version(release, src_pkg, version) + date = str(date).replace('-', '') + if not pvers: + # joyent-mdata-client was put in updates w/o being in the release + # pocket + return False + release_name = 'Ubuntu ' + release.version + rate_url = BASE_ERRORS_URL + 'package-rate-of-crashes/?format=json' + \ + '&exclude_proposed=True' + \ + '&release=%s&package=%s&old_version=%s&new_version=%s&phased_update_percentage=%s&date=%s' % \ + (quote(release_name), quote(src_pkg), quote(pvers), quote(version), + last_pup, date) + try: + rate_file = urlopen(rate_url) + except IOError: + return 'error' + # If we don't receive an OK response from the Error Tracker we should not + # increment the phased-update-percentage. + if rate_file.getcode() != 200: + logging.error('HTTP error retrieving %s' % rate_url) + return 'error' + try: + rate_data = json.load(rate_file) + except json.decoder.JSONDecodeError: + logging.error('Error getting rate at %s' % rate_url) + return 'error' + if 'error_message' in rate_data.keys(): + logging.error('Error getting rate at %s' % rate_url) + return 'error' + logging.info('Details (rate increase): %s' % rate_url) + # this may not be useful if the buckets creating the increase have + # failed to retrace + for data in rate_data['objects']: + if data['increase']: + previous_amount = data['previous_average'] + # this may happen if there were no crashes reported about + # the previous version of the package + if not previous_amount: + logging.info('No previous crash data found for %s %s' % + (src_pkg, pvers)) + previous_amount = 0 + if 'difference' in data: + increase = data['difference'] + elif 'this_count' in data: + # 2013-06-17 this can be negative due to the portion of the + # day math (we take the average crashes and multiple them by + # the fraction of hours that have passed so far in the day) + current_amount = data['this_count'] + increase = current_amount - previous_amount + logging.info('[%s/%s] increase: %s, previous_avg: %s' % + (release_name.replace('Ubuntu ', ''), src_pkg, + increase, previous_amount)) + if '&version=' not in data['web_link']: + link = data['web_link'] + '&version=%s' % version + else: + link = data['web_link'] + logging.info('Details (rate increase): %s' % link) + return(increase, link) + + +def main(): + # TODO: make email code less redundant + # TODO: modify HTTP_USER_AGENT (both versions of urllib) + # TODO: Open bugs for regressions when false positives reduced + ubuntu = launchpad.distributions['ubuntu'] + archive = ubuntu.getArchive(name='primary') + options.archive = archive + + overrides = defaultdict(list) + rate_overrides = [] + override_file = csv.reader(open(OVERRIDES, 'r')) + for row in override_file: + if len(row) < 3: + continue + # package, version, problem + if row[0].startswith('#'): + continue + package = row[0].strip() + version = row[1].strip() + problem = row[2].strip() + if problem == 'increased-rate': + rate_overrides.append((package, version)) + else: + overrides[(package, version)].append(problem) + + releases = [] + for series in ubuntu.series: + if series.active: + if series.status == 'Active Development': + continue + releases.append(series) + releases.reverse() + issues = {} + for release in releases: + # We can't use release.datereleased because some SRUs are 0 day + cdate = release.date_created + rname = release.name + rvers = release.version + issues[rname] = OrderedDict() + # XXX - starting with raring + if rname in ['precise', 'vivid']: + continue + pub_sources = archive.getPublishedSources( + created_since_date=cdate, + order_by_date=True, + pocket='Updates', status='Published', distro_series=release) + for pub_source in pub_sources: + src_pkg = pub_source.source_package_name + version = pub_source.source_package_version + pbs = None + try: + pbs = [pb for pb in pub_source.getPublishedBinaries() + if pb.phased_update_percentage is not None] + # workaround for LP: #1695113 + except lazr.restfulclient.errors.ServerError as e: + if 'HTTP Error 503' in str(e): + logging.info('Skipping 503 Error for %s' % src_pkg) + pass + if not pbs: + continue + if pbs: + # the p-u-p is currently the same for all binary packages + last_pup = pbs[0].phased_update_percentage + else: + last_pup = None + max_pup = 0 + if last_pup == 0: + for allpb in archive.getPublishedBinaries( + exact_match=True, pocket='Updates', + binary_name=pbs[0].binary_package_name): + if allpb.distro_arch_series.distroseries == release: + if allpb.phased_update_percentage > 0: + max_pup = allpb.phased_update_percentage + break + if max_pup and last_pup == 0: + rate_increase = crash_rate_increase(release, src_pkg, version, max_pup) + else: + rate_increase = crash_rate_increase(release, src_pkg, version, last_pup) + problems = new_buckets(archive, release, src_pkg, version) + # In the event that there as an error connecting to errors.ubuntu.com then + # neither increase nor stop the phased-update. + if rate_increase == 'error' or problems == 'error': + logging.info("Skipping %s due to failure to get data from Errors." % src_pkg) + continue + if problems: + if (src_pkg, version) in overrides: + not_overrode = set(problems).difference( + set(overrides[(src_pkg, version)])) + if len(not_overrode) > 0: + issues[rname][pub_source] = {} + issues[rname][pub_source]['buckets'] = not_overrode + else: + issues[rname][pub_source] = {} + issues[rname][pub_source]['buckets'] = problems + if rate_increase and (src_pkg, version) not in rate_overrides: + if pub_source not in issues[rname]: + issues[rname][pub_source] = {} + issues[rname][pub_source]['rate'] = rate_increase + if pbs: + if pub_source not in issues[rname]: + issues[rname][pub_source] = {} + # phasing has stopped so check what the max value was + if last_pup == 0: + issues[rname][pub_source]['max_pup'] = max_pup + issues[rname][pub_source]['pup'] = last_pup + suite = rname + '-updates' + if pub_source not in issues[rname]: + continue + elif ('rate' not in issues[rname][pub_source] and + 'buckets' not in issues[rname][pub_source] and + pbs): + # there is not an error so increment the phasing + current_pup = issues[rname][pub_source]['pup'] + # if this is an update that is restarting we want to start at + # the same percentage the stoppage happened at + if 'max_pup' in issues[rname][pub_source]: + current_pup = issues[rname][pub_source]['max_pup'] + new_pup = current_pup + PUP_INCREMENT + if not options.no_act: + set_pup(current_pup, new_pup, release, suite, src_pkg) + issues[rname][pub_source]['pup'] = new_pup + elif pbs: + # there is an error and pup is not None so stop the phasing + current_pup = issues[rname][pub_source]['pup'] + if 'max_pup' in issues[rname][pub_source]: + issues[rname][pub_source]['previous_pup'] = \ + issues[rname][pub_source]['max_pup'] + else: + issues[rname][pub_source]['previous_pup'] = \ + current_pup + new_pup = 0 + if (not options.no_act and + issues[rname][pub_source]['pup'] != 0): + set_pup(current_pup, new_pup, release, suite, src_pkg) + issues[rname][pub_source]['pup'] = new_pup + generate_html_report(releases, issues) + if options.email: + create_email_notifications(releases, issues) + +if __name__ == '__main__': + start_time = time.time() + BASE_ERRORS_URL = 'https://errors.ubuntu.com/api/1.0/' + LOCAL_ERRORS_URL = 'http://10.0.3.182/api/1.0/' + LP_BASE_URL = 'https://launchpad.net' + OVERRIDES = 'phased-updates-overrides.txt' + NOTIFICATIONS = 'phased-updates-emails.txt' + EMAIL_SENDER = 'brian.murray@ubuntu.com' + PUP_INCREMENT = 10 + REPORT_FILE = 'phased-updates.html' + parser = OptionParser(usage="usage: %prog [options]") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--no-act", default=False, action="store_true", + help="do not modify phased update percentages") + parser.add_option( + "-e", "--email", default=False, action="store_true", + help="send email notifications to uploaders") + parser.add_option( + "-f", "--fully-phased", default=False, action="store_true", + help="show packages which have been fully phased") + options, args = parser.parse_args() + if options.launchpad_instance != 'production': + LP_BASE_URL = 'https://%s.launchpad.net' % options.launchpad_instance + launchpad = Launchpad.login_with( + 'phased-updater', options.launchpad_instance, version='devel') + logging.basicConfig(filename='phased-updates.log', + format='%(asctime)s - %(levelname)s - %(message)s', + level=logging.INFO) + logging.info('Starting phased-updater') + main() + end_time = time.time() + logging.info("Elapsed time was %g seconds" % (end_time - start_time)) diff --git a/ubuntu-archive-tools/pocket-mismatches b/ubuntu-archive-tools/pocket-mismatches new file mode 100755 index 0000000..d4beccf --- /dev/null +++ b/ubuntu-archive-tools/pocket-mismatches @@ -0,0 +1,234 @@ +#!/usr/bin/env python + +# Check for override mismatches between pockets +# Copyright (C) 2005, 2008, 2011, 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from __future__ import print_function + +import atexit +from collections import defaultdict +import gzip +try: + from html import escape +except ImportError: + from cgi import escape +from optparse import OptionParser +import os +import shutil +import sys +import tempfile +from textwrap import dedent +import time + +import apt_pkg +from launchpadlib.launchpad import Launchpad + + +tempdir = None + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix='component-mismatches') + atexit.register(shutil.rmtree, tempdir) + + +def decompress_open(tagfile): + ensure_tempdir() + decompressed = tempfile.mktemp(dir=tempdir) + fin = gzip.GzipFile(filename=tagfile) + with open(decompressed, 'wb') as fout: + fout.write(fin.read()) + return open(decompressed, 'r') + + +def pockets(series): + yield series + yield '%s-security' % series + yield '%s-proposed' % series + yield '%s-updates' % series + + +priorities = { + 'required': 1, + 'important': 2, + 'standard': 3, + 'optional': 4, + 'extra': 5 +} + + +def priority_key(priority): + return priorities.get(priority, 6) + + +def print_section(options, header, items): + print("%s:" % header) + print("-" * (len(header) + 1)) + print() + for item in items: + print(item) + print() + + if options.html_output is not None: + print("

%s

" % escape(header), file=options.html_output) + print("
    ", file=options.html_output) + for item in items: + print("
  • %s
  • " % escape(item), file=options.html_output) + print("
", file=options.html_output) + + +def process(options, series, components, arches): + archive = os.path.expanduser('~/mirror/ubuntu/') + + pkgcomp = defaultdict(lambda: defaultdict(list)) + pkgsect = defaultdict(lambda: defaultdict(list)) + pkgprio = defaultdict(lambda: defaultdict(list)) + for suite in pockets(series): + for component in components: + for arch in arches: + try: + binaries_path = "%s/dists/%s/%s/binary-%s/Packages.gz" % ( + archive, suite, component, arch) + binaries = apt_pkg.TagFile(decompress_open(binaries_path)) + except IOError: + continue + suite_arch = '%s/%s' % (suite, arch) + for section in binaries: + if 'Package' in section: + pkg = section['Package'] + pkgcomp[pkg][component].append(suite_arch) + if 'Section' in section: + pkgsect[pkg][section['Section']].append(suite_arch) + if 'Priority' in section: + pkgprio[pkg][section['Priority']].append( + suite_arch) + + packages = sorted(pkgcomp) + + items = [] + for pkg in packages: + if len(pkgcomp[pkg]) > 1: + out = [] + for component in sorted(pkgcomp[pkg]): + out.append("%s [%s]" % + (component, + ' '.join(sorted(pkgcomp[pkg][component])))) + items.append("%s: %s" % (pkg, ' '.join(out))) + print_section( + options, "Packages with inconsistent components between pockets", + items) + + items = [] + for pkg in packages: + if pkg in pkgsect and len(pkgsect[pkg]) > 1: + out = [] + for section in sorted(pkgsect[pkg]): + out.append("%s [%s]" % + (section, + ' '.join(sorted(pkgsect[pkg][section])))) + items.append("%s: %s" % (pkg, ' '.join(out))) + print_section( + options, "Packages with inconsistent sections between pockets", items) + + items = [] + for pkg in packages: + if pkg in pkgprio and len(pkgprio[pkg]) > 1: + out = [] + for priority in sorted(pkgprio[pkg], key=priority_key): + out.append("%s [%s]" % + (priority, + ' '.join(sorted(pkgprio[pkg][priority])))) + items.append("%s: %s" % (pkg, ' '.join(out))) + print_section( + options, "Packages with inconsistent priorities between pockets", + items) + + +def main(): + parser = OptionParser( + description='Check for override mismatches between pockets.') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option('-o', '--output-file', help='output to this file') + parser.add_option('--html-output-file', help='output HTML to this file') + parser.add_option('-s', '--series', + help='check these series (comma-separated)') + options, args = parser.parse_args() + + launchpad = Launchpad.login_with( + "pocket-mismatches", options.launchpad_instance) + if options.series is not None: + all_series = options.series.split(',') + else: + all_series = reversed([ + series.name + for series in launchpad.distributions["ubuntu"].series + if series.status in ("Supported", "Current Stable Release")]) + components = ["main", "restricted", "universe", "multiverse"] + arches = ["amd64", "arm64", "armhf", "i386", "ppc64el", "s390x"] + + if options.output_file is not None: + sys.stdout = open('%s.new' % options.output_file, 'w') + if options.html_output_file is not None: + options.html_output = open('%s.new' % options.html_output_file, 'w') + else: + options.html_output = None + + options.timestamp = time.strftime('%a %b %e %H:%M:%S %Z %Y') + print('Generated: %s' % options.timestamp) + print() + + if options.html_output is not None: + all_series_str = escape(", ".join(all_series)) + print(dedent("""\ + + + + + Pocket mismatches for %s + + + +

Pocket mismatches for %s

+ """) % (all_series_str, all_series_str), + file=options.html_output) + + for series in all_series: + process(options, series, components, arches) + + if options.html_output_file is not None: + print( + "

Generated: %s

" % escape(options.timestamp), + file=options.html_output) + print("", file=options.html_output) + options.html_output.close() + os.rename( + '%s.new' % options.html_output_file, options.html_output_file) + if options.output_file is not None: + sys.stdout.close() + os.rename('%s.new' % options.output_file, options.output_file) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/point-release-snapshot b/ubuntu-archive-tools/point-release-snapshot new file mode 100755 index 0000000..75a3d2e --- /dev/null +++ b/ubuntu-archive-tools/point-release-snapshot @@ -0,0 +1,37 @@ +#! /usr/bin/env python + +from __future__ import print_function + +from optparse import OptionParser +import os +import subprocess + + +def main(): + parser = OptionParser(usage="%prog [options] distroseries snapshot-name") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="only show actions that would be performed") + options, args = parser.parse_args() + if len(args) < 2: + parser.error("need distroseries and snapshot-name") + + dist = args[0] + snapshot = args[1] + + base = os.path.expanduser('~/mirror/ubuntu') + snapshot_base = os.path.expanduser('~/point-releases/%s' % snapshot) + + dst = os.path.join(snapshot_base, 'dists') + os.makedirs(dst) + for pocket in ('%s-security' % dist, '%s-updates' % dist): + disttree = os.path.join(base, 'dists', pocket) + src = os.path.join(base, disttree) + if options.dry_run: + print('cp -a %s %s' % (src, dst)) + else: + subprocess.call(['cp', '-a', src, dst]) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/post-amis-to-iso-tracker b/ubuntu-archive-tools/post-amis-to-iso-tracker new file mode 100755 index 0000000..a3f9a4f --- /dev/null +++ b/ubuntu-archive-tools/post-amis-to-iso-tracker @@ -0,0 +1,132 @@ +#! /usr/bin/python + +# Copyright (C) 2010, 2011, 2012 Canonical Ltd. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from __future__ import print_function + +import argparse +import os +import sys + +# See isotracker.py for setup instructions. +from isotracker import ISOTracker + +# USAGE: post-amis-to-iso-tracker //published-ec2-daily.txt +# it will return silently if successful. Check by looking at: +# http://iso.qa.ubuntu.com/qatracker/build/all +# +# URLs to wget locally first are of the form: +# http://uec-images.ubuntu.com/server/natty/20110302.2/published-ec2-daily.txt +# +# See isotracker.py for setup instructions. +# +# Reminder 2011/03/02 - check with jibel what's happening in the iso.tracker +# right now, and if this is still necessary. +# Also, why are the paths for downloading the images from the isotracker not +# synching up with what was in the published-ec2-daily.txt. +# 2011/03/29 - added in ap-northeast images + +ec2_to_product_map = { + 'eu-west-1-amd64-ebs': 'Ubuntu Server EC2 EBS (Europe) amd64', + 'eu-west-1-i386-ebs': 'Ubuntu Server EC2 EBS (Europe) i386', + 'eu-west-1-amd64-hvm': 'Ubuntu Server EC2 HVM (Europe) amd64', + 'us-east-1-amd64-ebs': 'Ubuntu Server EC2 EBS (US-East) amd64', + 'us-east-1-i386-ebs': 'Ubuntu Server EC2 EBS (US-East) i386', + 'us-west-1-amd64-ebs': 'Ubuntu Server EC2 EBS (US-West-1) amd64', + 'us-west-1-i386-ebs': 'Ubuntu Server EC2 EBS (US-West-1) i386', + 'us-west-2-amd64-ebs': 'Ubuntu Server EC2 EBS (US-West-2) amd64', + 'us-west-2-i386-ebs': 'Ubuntu Server EC2 EBS (US-West-2) i386', + 'us-west-2-amd64-hvm': 'Ubuntu Server EC2 HVM (US-West-2) amd64', + 'us-east-1-amd64-hvm': 'Ubuntu Server EC2 HVM (US-East) amd64', + 'eu-west-1-amd64-instance': 'Ubuntu Server EC2 instance (Europe) amd64', + 'eu-west-1-i386-instance': 'Ubuntu Server EC2 instance (Europe) i386', + 'us-east-1-amd64-instance': 'Ubuntu Server EC2 instance (US-East) amd64', + 'us-east-1-i386-instance': 'Ubuntu Server EC2 instance (US-East) i386', + 'us-west-1-amd64-instance': 'Ubuntu Server EC2 instance (US-West-1) amd64', + 'us-west-1-i386-instance': 'Ubuntu Server EC2 instance (US-West-1) i386', + 'us-west-2-amd64-instance': 'Ubuntu Server EC2 instance (US-West-2) amd64', + 'us-west-2-i386-instance': 'Ubuntu Server EC2 instance (US-West-2) i386', + 'ap-southeast-1-amd64-instance': ( + 'Ubuntu Server EC2 instance (Asia-Pacific-SouthEast) amd64'), + 'ap-southeast-1-i386-instance': ( + 'Ubuntu Server EC2 instance (Asia-Pacific-SouthEast) i386'), + 'ap-southeast-1-amd64-ebs': ( + 'Ubuntu Server EC2 EBS (Asia-Pacific-SouthEast) amd64'), + 'ap-southeast-1-i386-ebs': ( + 'Ubuntu Server EC2 EBS (Asia-Pacific-SouthEast) i386'), + 'ap-northeast-1-amd64-instance': ( + 'Ubuntu Server EC2 instance (Asia-Pacific-NorthEast) amd64'), + 'ap-northeast-1-i386-instance': ( + 'Ubuntu Server EC2 instance (Asia-Pacific-NorthEast) i386'), + 'ap-northeast-1-amd64-ebs': ( + 'Ubuntu Server EC2 EBS (Asia-Pacific-NorthEast) amd64'), + 'ap-northeast-1-i386-ebs': ( + 'Ubuntu Server EC2 EBS (Asia-Pacific-NorthEast) i386'), + 'sa-east-1-amd64-ebs': ( + 'Ubuntu Server EC2 EBS (South-America-East-1) amd64'), + 'sa-east-1-i386-ebs': 'Ubuntu Server EC2 EBS (South-America-East-1) i386', + 'sa-east-1-amd64-instance': ( + 'Ubuntu Server EC2 instance (South-America-East-1) amd64'), + 'sa-east-1-i386-instance': ( + 'Ubuntu Server EC2 instance (South-America-East-1) i386'), +} + + +def main(): + parser = argparse.ArgumentParser( + description="Publish a provided list of AMIs to the QA tracker.") + parser.add_argument('-m', '--milestone', + help='post to MILESTONE rather than the default') + parser.add_argument('-n', '--note', default="", + help='set the note field on the build') + parser.add_argument('-t', '--target', + help='post to an alternate QATracker') + parser.add_argument("input_file", type=str, + help="An input file (published-ec2-daily.txt)") + args = parser.parse_args() + + isotracker = ISOTracker(target=args.target) + + if not os.path.exists(args.input_file): + print("Can't find input file: %s" % args.input_file) + sys.exit(1) + + if args.milestone is None: + args.milestone = isotracker.default_milestone() + + with open(args.input_file, 'r') as handle: + for line in handle: + zone, ami, arch, store = line.split()[0:4] + if not ami.startswith('ami-'): + continue + if store == 'instance-store': + store = 'instance' + try: + product = ec2_to_product_map['%s-%s-%s' % (zone, arch, store)] + except KeyError: + print("Can't find: %s-%s-%s" % (zone, arch, store)) + continue + + try: + isotracker.post_build(product, ami, + milestone=args.milestone, + note=args.note) + except KeyError as e: + print(e) + continue + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/post-image-to-iso-tracker b/ubuntu-archive-tools/post-image-to-iso-tracker new file mode 100755 index 0000000..fd77948 --- /dev/null +++ b/ubuntu-archive-tools/post-image-to-iso-tracker @@ -0,0 +1,47 @@ +#!/usr/bin/python + +# Copyright (C) 2011 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import sys +from optparse import OptionParser + +# See isotracker.py for setup instructions. +from isotracker import ISOTracker + + +def main(): + parser = OptionParser(usage="Usage: %prog [options] product version") + + parser.add_option('-m', '--milestone', + help='post to MILESTONE rather than the default') + parser.add_option('-n', '--note', default="", + help='set the note field on the build') + parser.add_option('-t', '--target', help='post to an alternate QATracker') + + options, args = parser.parse_args() + if len(args) < 2: + parser.error("product and version arguments required") + + isotracker = ISOTracker(target=options.target) + if options.milestone is None: + options.milestone = isotracker.default_milestone() + + isotracker.post_build(args[0], args[1], milestone=options.milestone, + note=options.note) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/ubuntu-archive-tools/priority-mismatches b/ubuntu-archive-tools/priority-mismatches new file mode 100755 index 0000000..62a27cf --- /dev/null +++ b/ubuntu-archive-tools/priority-mismatches @@ -0,0 +1,338 @@ +#!/usr/bin/env python + +# Synchronise package priorities with germinate output +# Copyright (C) 2005, 2009, 2010, 2011, 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# elmo: grip_3.2.0-5/sparc seems to have gone missing, marked as +# Uploaded 2 1/2 hours ago and nowhere to be found on newraff +# uh? +# grip | 3.2.0-5 | unstable | source, alpha, arm, hppa, +# i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc +# I hid it in the pool, being the cunning cabalist that I am + +from __future__ import print_function + +import atexit +from collections import defaultdict +import csv +import gzip +try: + from html import escape +except ImportError: + from cgi import escape +from optparse import OptionParser +import os +import re +import shutil +import sys +import tempfile +from textwrap import dedent +import time + +import apt_pkg +from launchpadlib.launchpad import Launchpad + +from charts import make_chart, make_chart_header + + +tempdir = None + +# XXX unhardcode, or maybe adjust seeds? +# These packages are not really to be installed by debootstrap, despite +# germinate saying so +re_not_base = re.compile(r"^(linux-(image|restricted|386|generic|server|power|" + "cell|imx51).*|nvidia-kernel-common|grub|yaboot)$") + +# tuples of (package, desired_priority, architecture) which are known to not +# be fixable and should be ignored; in particular we cannot set per-arch +# priorities +ignore = [ + ('hfsutils', 'standard', 'powerpc'), # optional on all other arches + ('bc', 'important', 'powerpc'), # needed for powerpc-ibm-utils + ('bc', 'important', 'ppc64el'), # needed for powerpc-ibm-utils + ('libsgutils2-2', 'standard', 'powerpc'), # needed for lsvpd + ('libsgutils2-2', 'standard', 'ppc64el'), # needed for lsvpd + ('libdrm-intel1', 'required', 'amd64'), # needed for plymouth only on x86 + ('libdrm-intel1', 'required', 'i386'), # needed for plymouth only on x86 + ('libelf1', 'optional', 'arm64'), # ltrace not built on arm64 + ('libpciaccess0', 'required', 'amd64'), # needed for plymouth only on x86 + ('libpciaccess0', 'required', 'i386'), # needed for plymouth only on x86 + ('libnuma1', 'optional', 's390x'), # standard on all other arches + ('libnuma1', 'optional', 'armhf'), # standard on all other arches + ('libunwind8','standard','amd64'), # wanted by strace on only amd64 + ('multiarch-support','optional','s390x'), # eventually, all arches will downgrade +] + + +def ensure_tempdir(): + global tempdir + if not tempdir: + tempdir = tempfile.mkdtemp(prefix='priority-mismatches') + atexit.register(shutil.rmtree, tempdir) + + +def decompress_open(tagfile): + ensure_tempdir() + decompressed = tempfile.mktemp(dir=tempdir) + fin = gzip.GzipFile(filename=tagfile) + with open(decompressed, 'wb') as fout: + fout.write(fin.read()) + return open(decompressed, 'r') + + +# XXX partial code duplication from component-mismatches +def read_germinate(suite, arch, seed): + local_germinate = os.path.expanduser('~/mirror/ubuntu-germinate') + # XXX hardcoding + filename = "%s_ubuntu_%s_%s" % (seed, suite, arch) + pkgs = {} + + f = open(local_germinate + '/' + filename) + for line in f: + # Skip header and footer + if line[0] == "-" or line.startswith("Package") or line[0] == " ": + continue + # Skip empty lines + line = line.strip() + if not line: + continue + pkgs[line.split('|', 1)[0].strip()] = None + f.close() + + return pkgs + + +def process(options, arch): + suite = options.suite + components = options.component.split(',') + + archive = os.path.expanduser('~/mirror/ubuntu/') + + if suite in ("warty", "hoary"): + required_seed = None + important_seed = "base" + standard_seed = None + elif suite in ("breezy", "dapper", "edgy", "feisty"): + required_seed = None + important_seed = "minimal" + standard_seed = "standard" + else: + required_seed = "required" + important_seed = "minimal" + standard_seed = "standard" + + if required_seed is not None: + required_pkgs = read_germinate(suite, arch, required_seed) + required_pkgs = [ + pkg for pkg in required_pkgs if not re_not_base.match(pkg)] + important_pkgs = read_germinate(suite, arch, important_seed) + important_pkgs = [ + pkg for pkg in important_pkgs if not re_not_base.match(pkg)] + if standard_seed is not None: + standard_pkgs = read_germinate(suite, arch, standard_seed).keys() + required_pkgs.sort() + important_pkgs.sort() + standard_pkgs.sort() + + original = {} + for component in components: + binaries_path = "%s/dists/%s/%s/binary-%s/Packages.gz" % ( + archive, suite, component, arch) + for section in apt_pkg.TagFile(decompress_open(binaries_path)): + if 'Package' in section and 'Priority' in section: + (pkg, priority) = (section['Package'], section['Priority']) + original[pkg] = priority + + packages = sorted(original) + + # XXX hardcoding, but who cares really + priorities = {'required': 1, 'important': 2, 'standard': 3, + 'optional': 4, 'extra': 5, 'source': 99} + + # If there is a required seed: + # Force everything in the required seed to >= required. + # Force everything not in the required seed to < required. + # Force everything in the important seed to >= important. + # Force everything not in the important seed to < important. + # (This allows debootstrap to determine the base system automatically.) + # If there is a standard seed: + # Force everything in the standard seed to >= standard. + # Force everything not in the standard seed to < standard. + + changed = defaultdict(lambda: defaultdict(list)) + + for pkg in packages: + priority = original[pkg] + + if required_seed is not None and pkg in required_pkgs: + if priorities[priority] > priorities["required"]: + priority = "required" + elif pkg in important_pkgs: + if (required_seed is not None and + priorities[priority] < priorities["important"]): + priority = "important" + elif priorities[priority] > priorities["important"]: + priority = "important" + else: + # XXX assumes important and standard are adjacent + if priorities[priority] < priorities["standard"]: + priority = "standard" + + if standard_seed is not None: + if pkg in standard_pkgs: + if priorities[priority] > priorities["standard"]: + priority = "standard" + else: + # XXX assumes standard and optional are adjacent + if priorities[priority] < priorities["optional"]: + priority = "optional" + + if priority != original[pkg] and (pkg, priority, arch) not in ignore: + changed[original[pkg]][priority].append(pkg) + + changes =0 + oldprios = sorted(changed, key=lambda x: priorities[x]) + for oldprio in oldprios: + newprios = sorted(changed[oldprio], key=lambda x: priorities[x]) + for newprio in newprios: + changes += len(changed[oldprio][newprio]) + header = ("Packages to change from priority %s to %s" % + (oldprio, newprio)) + print(header) + print("-" * len(header)) + for pkg in changed[oldprio][newprio]: + print("%s" % pkg) + print() + if options.html_output is not None: + print("

%s

" % escape(header), file=options.html_output) + print("
    ", file=options.html_output) + for pkg in changed[oldprio][newprio]: + print( + "
  • %s
  • " % escape(pkg), file=options.html_output) + print("
", file=options.html_output) + + return changes + + +def main(): + parser = OptionParser( + description='Synchronise package priorities with germinate output.') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option('-o', '--output-file', help='output to this file') + parser.add_option('--html-output-file', help='output HTML to this file') + parser.add_option( + '--csv-file', help='record CSV time series data in this file') + parser.add_option('-a', '--architecture', + help='look at germinate output for this architecture') + parser.add_option('-c', '--component', + default='main,restricted,universe,multiverse', + help='set overrides by component') + parser.add_option('-s', '--suite', help='set overrides by suite') + options, args = parser.parse_args() + + if options.suite is None: + launchpad = Launchpad.login_anonymously('priority-mismatches', + options.launchpad_instance) + options.suite = launchpad.distributions['ubuntu'].current_series.name + + if options.output_file is not None: + sys.stdout = open('%s.new' % options.output_file, 'w') + if options.html_output_file is not None: + options.html_output = open('%s.new' % options.html_output_file, 'w') + else: + options.html_output = None + + options.time = time.time() + options.timestamp = time.strftime( + '%a %b %e %H:%M:%S %Z %Y', time.gmtime(options.time)) + print('Generated: %s' % options.timestamp) + print() + + if options.html_output is not None: + print(dedent("""\ + + + + + Priority mismatches for %s + + %s + + +

Priority mismatches for %s

+ """) % ( + escape(options.suite), make_chart_header(), + escape(options.suite)), + file=options.html_output) + + changes = 0 + if options.architecture is None: + for arch in ('amd64', 'arm64', 'armhf', 'i386', 'ppc64el', 's390x'): + print(arch) + print('=' * len(arch)) + print() + if options.html_output is not None: + print("

%s

" % escape(arch), file=options.html_output) + changes += process(options, arch) + else: + changes += process(options, options.architecture) + + if options.html_output_file is not None: + print("

Over time

", file=options.html_output) + print( + make_chart("priority-mismatches.csv", ["changes"]), + file=options.html_output) + print( + "

Generated: %s

" % escape(options.timestamp), + file=options.html_output) + print("", file=options.html_output) + options.html_output.close() + os.rename( + '%s.new' % options.html_output_file, options.html_output_file) + if options.output_file is not None: + sys.stdout.close() + os.rename('%s.new' % options.output_file, options.output_file) + if options.csv_file is not None: + if sys.version < "3": + open_mode = "ab" + open_kwargs = {} + else: + open_mode = "a" + open_kwargs = {"newline": ""} + csv_is_new = not os.path.exists(options.csv_file) + with open(options.csv_file, open_mode, **open_kwargs) as csv_file: + # Field names deliberately hardcoded; any changes require + # manually rewriting the output file. + fieldnames = [ + "time", + "changes", + ] + csv_writer = csv.DictWriter(csv_file, fieldnames) + if csv_is_new: + csv_writer.writeheader() + csv_writer.writerow( + {"time": int(options.time * 1000), "changes": changes}) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/process-removals b/ubuntu-archive-tools/process-removals new file mode 100755 index 0000000..ab3520f --- /dev/null +++ b/ubuntu-archive-tools/process-removals @@ -0,0 +1,423 @@ +#!/usr/bin/python3 + +# Parse removals.txt file +# Copyright (C) 2004, 2005, 2009, 2010, 2011, 2012 Canonical Ltd. +# Authors: James Troup , +# Colin Watson + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +############################################################################ + +# What kind of genius logs 3.5 years of removal data in +# semi-human-parseable text and nothing else? Hmm. That would be me. :( + +# MAAAAAAAAAAAAAADNESSSSSSSSSSSSSSSSS + +############################################################################ + +from __future__ import print_function + +import copy +import optparse +import os +import sys +import time + + +try: + from urllib.request import urlopen, urlretrieve +except ImportError: + from urllib import urlretrieve + from urllib2 import urlopen +import re +import logging +import gzip +import datetime +import subprocess + +import apt_pkg +from launchpadlib.launchpad import Launchpad + +import lputils + + +CONSUMER_KEY = "process-removals" + + +Debian = None + + +def parse_removals_file(options, removals_file): + if options.report_ubuntu_delta and options.no_action: + me = None + else: + me = options.launchpad.me.name + + state = "first separator" + removal = {} + for line in removals_file: + line = line.strip().decode('UTF-8') + # skip over spurious empty lines + if not line and state in ("first separtor", "next separator", "date"): + continue + if line == ("=" * 73): + if state == "done": + state = "next separator" + elif state in ("first separator", "next separator"): + state = "date" + else: + raise RuntimeError("found separator but state is %s." % state) + # NB: The 'Reason' is an abbreviation, check any referenced bugs for + # more + elif state == "next separator" and line.startswith("NB:"): + state = "first separator" + # [Date: Tue, 9 Jan 2001 20:46:15 -0500] [ftpmaster: James Troup] + elif state in ("date", "next separator"): + try: + (date, ftpmaster, unused) = line.split("]") + date = date.replace("[Date: ", "") + state = "removed from" + except: + state = "broken date" + # Sat, 06 May 2017 08:45:30 +0000] [ftpmaster: Chris Lamb] + elif state == "broken date": + (date, ftpmaster, unused2) = line.split("]") + state = "removed from" + # Removed the following packages from unstable: + elif state == "removed from": + # complete processing of the date from the preceding line + removal["date"] = time.mktime(time.strptime( + date, "%a, %d %b %Y %H:%M:%S %z")) + removal["ftpmaster"] = ftpmaster.replace("] [ftpmaster: ", "") + + prefix = "Removed the following packages from " + if not line.startswith(prefix): + raise RuntimeError( + "state = %s, expected '%s', got '%s'" % + (state, prefix, line)) + line = line.replace(prefix, "")[:-1] + line = line.replace(" and", "") + line = line.replace(",", "") + removal["suites"] = line.split() + state = "before packages" + elif state == "before packages" or state == "after packages": + if line: + raise RuntimeError( + "state = %s, expected '', got '%s'" % (state, line)) + if state == "before packages": + state = "packages" + elif state == "after packages": + state = "reason prefix" + # xroach | 4.0-8 | source, alpha, arm, hppa, i386, ia64, m68k, \ + # mips, mipsel, powerpc, s390, sparc + # Closed bugs: 158188 + elif state == "packages": + if line.find("|") != -1: + package, version, architectures = [ + word.strip() for word in line.split("|")] + architectures = [ + arch.strip() for arch in architectures.split(",")] + removal.setdefault("packages", []) + removal["packages"].append([package, version, architectures]) + elif line.startswith("Closed bugs: "): + line = line.replace("Closed bugs: ", "") + removal["closed bugs"] = line.split() + state = "after packages" + elif not line: + state = "reason prefix" + else: + raise RuntimeError( + "state = %s, expected package list or 'Closed bugs:', " + "got '%s'" % (state, line)) + # ------------------- Reason ------------------- + elif state == "reason prefix": + expected = "------------------- Reason -------------------" + if not line == expected: + raise RuntimeError( + "state = %s, expected '%s', got '%s'" % + (state, expected, line)) + state = "reason" + # RoSRM; license problems. + # ---------------------------------------------- + elif state == "reason": + if line == "----------------------------------------------": + state = "done" + do_removal(me, options, removal) + removal = {} + else: + removal.setdefault("reason", "") + removal["reason"] += "%s\n" % line + + # nothing should go here + + +def show_reverse_depends(options, package): + """Show reverse dependencies. + + This is mostly done by calling reverse-depends, but with some tweaks to + make the output easier to read in context. + """ + series_name = options.series.name + commands = ( + ["reverse-depends", "-r", series_name, "src:%s" % package], + ["reverse-depends", "-r", series_name, "-b", "src:%s" % package], + ) + for command in commands: + subp = subprocess.Popen(command, stdout=subprocess.PIPE) + line = None + for line in subp.communicate()[0].splitlines(): + line = line.decode('UTF-8').rstrip("\n") + if line == "No reverse dependencies found": + line = None + else: + print(line) + if line: + print() + + +non_meta_re = re.compile(r'^[a-zA-Z0-9+,./:=@_-]+$') + + +def shell_escape(arg): + if non_meta_re.match(arg): + return arg + else: + return "'%s'" % arg.replace("'", "'\\''") + + +seen_sources = set() + + +def do_removal(me, options, removal): + if options.removed_from and options.removed_from not in removal["suites"]: + return + if options.date and int(options.date) > int(removal["date"]): + return + if options.architecture: + for architecture in re.split(r'[, ]+', options.architecture): + package_list = copy.copy(removal["packages"]) + for entry in package_list: + (package, version, architectures) = entry + if architecture not in architectures: + removal["packages"].remove(entry) + if not removal["packages"]: + return + + for entry in removal.get("packages", []): + (package, version, architectures) = entry + if options.source and options.source != package: + continue + if package in seen_sources: + continue + seen_sources.add(package) + if package in Debian and not (options.force and options.source): + logging.info("%s (%s): back in sid - skipping.", package, version) + continue + + spphs = [] + for pocket in ("Release", "Proposed"): + options.pocket = pocket + if pocket == "Release": + options.suite = options.series.name + else: + options.suite = "%s-proposed" % options.series.name + try: + spphs.append( + lputils.find_latest_published_source(options, package)) + except lputils.PackageMissing: + pass + + if not spphs: + logging.debug("%s (%s): not found", package, version) + continue + + if options.report_ubuntu_delta: + if 'ubuntu' in version: + print("%s %s" % (package, version)) + continue + if options.no_action: + continue + + for spph in spphs: + logging.info( + "%s (%s/%s), removed from Debian on %s", + package, version, spph.source_package_version, + time.strftime("%Y-%m-%d", time.localtime(removal["date"]))) + + removal["reason"] = removal["reason"].rstrip('.\n') + try: + bugs = ';' + ','.join( + [" Debian bug #%s" % item for item in removal["closed bugs"]]) + except KeyError: + bugs = '' + reason = "(From Debian) " + removal["reason"] + bugs + + subprocess.call(['seeded-in-ubuntu', package]) + show_reverse_depends(options, package) + for spph in spphs: + if options.no_action: + print("remove-package -s %s%s -e %s -m %s %s" % ( + options.series.name, + "-proposed" if spph.pocket == "Proposed" else "", + spph.source_package_version, shell_escape(reason), + package)) + else: + from ubuntutools.question import YesNoQuestion + print("Removing packages:") + print("\t%s" % spph.display_name) + for binary in spph.getPublishedBinaries(): + print("\t\t%s" % binary.display_name) + print("Comment: %s" % reason) + if YesNoQuestion().ask("Remove", "no") == "yes": + spph.requestDeletion(removal_comment=reason) + + +def fetch_removals_file(options): + removals = "removals-full.txt" + if options.date: + thisyear = datetime.datetime.today().year + if options.date >= time.mktime(time.strptime(str(thisyear), "%Y")): + removals = "removals.txt" + logging.debug("Fetching %s" % removals) + return urlopen("http://ftp-master.debian.org/%s" % removals) + + +def read_sources(): + global Debian + Debian = {} + base = "http://ftp.debian.org/debian" + + logging.debug("Reading Debian sources") + for component in "main", "contrib", "non-free": + filename = "Debian_unstable_%s_Sources" % component + if not os.path.exists(filename): + url = "%s/dists/unstable/%s/source/Sources.gz" % (base, component) + logging.info("Fetching %s" % url) + fetched, headers = urlretrieve(url) + out = open(filename, 'wb') + gzip_handle = gzip.GzipFile(fetched) + while True: + block = gzip_handle.read(65536) + if not block: + break + out.write(block) + out.close() + gzip_handle.close() + sources_filehandle = open(filename) + Sources = apt_pkg.TagFile(sources_filehandle) + while Sources.step(): + pkg = Sources.section.find("Package") + version = Sources.section.find("Version") + + if (pkg in Debian and + apt_pkg.version_compare(Debian[pkg]["version"], + version) > 0): + continue + + Debian[pkg] = {} + Debian[pkg]["version"] = version + sources_filehandle.close() + + +def parse_options(): + parser = optparse.OptionParser() + + parser.add_option("-l", "--launchpad", dest="launchpad_instance", + default="production") + + parser.add_option("-a", "--architecture", metavar="ARCH", + help="remove from ARCH") + parser.add_option("-d", "--date", metavar="DATE", + help="only those removed since DATE (Unix epoch or %Y-%m-%d)") + + parser.add_option("-r", "--removed-from", metavar="SUITE", + help="only those removed from SUITE (aka distroseries)") + + parser.add_option("-s", "--source", metavar="NAME", + help="only source package NAME") + parser.add_option("--force", action="store_true", default=False, + help="force removal even for packages back in unstable " + "(only with -s)") + + parser.add_option("-f", "--filename", + help="parse FILENAME") + + parser.add_option("-n", "--no-action", action="store_true", + help="don't remove packages; just print remove-package " + "commands") + parser.add_option("-v", "--verbose", action="store_true", + help="emit verbose debugging messages") + + parser.add_option("--report-ubuntu-delta", action="store_true", + help="skip and report packages with Ubuntu deltas") + + options, args = parser.parse_args() + if len(args): + parser.error("no arguments expected") + + if options.date: + if len(options.date) == 8: + print("The format of date should be %Y-%m-%d.") + sys.exit(1) + try: + int(options.date) + except ValueError: + options.date = time.mktime(time.strptime(options.date, "%Y-%m-%d")) + else: + options.date = time.mktime(time.strptime("2009-02-01", "%Y-%m-%d")) + if not options.removed_from: + options.removed_from = "unstable" + if not options.architecture: + options.architecture = "source" + + if options.verbose: + logging.basicConfig(level=logging.DEBUG) + else: + logging.basicConfig(level=logging.INFO) + + return options, args + + +def main(): + apt_pkg.init() + + """Initialization, including parsing of options.""" + options, args = parse_options() + + if options.report_ubuntu_delta and options.no_action: + options.launchpad = Launchpad.login_anonymously( + CONSUMER_KEY, options.launchpad_instance) + else: + options.launchpad = Launchpad.login_with( + CONSUMER_KEY, options.launchpad_instance) + + options.distribution = options.launchpad.distributions["ubuntu"] + options.series = options.distribution.current_series + options.archive = options.distribution.main_archive + options.version = None + + read_sources() + + if options.filename: + removals_file = open(options.filename, "rb") + else: + removals_file = fetch_removals_file(options) + parse_removals_file(options, removals_file) + removals_file.close() + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/promote-to-release b/ubuntu-archive-tools/promote-to-release new file mode 100755 index 0000000..d4fc728 --- /dev/null +++ b/ubuntu-archive-tools/promote-to-release @@ -0,0 +1,196 @@ +#! /usr/bin/python + +# Copyright (C) 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Promote packages to release pocket based on britney output.""" + +from __future__ import print_function + +from optparse import OptionParser +import sys + +from launchpadlib.errors import HTTPError +from launchpadlib.launchpad import Launchpad + +import lputils + + +def promote(options, name, version, architecture): + if architecture is None: + display = "%s/%s" % (name, version) + else: + display = "%s/%s/%s" % (name, version, architecture) + + if architecture is None: + try: + release_sources = options.archive.getPublishedSources( + source_name=name, version=version, + distro_series=options.series, pocket="Release", + exact_match=True, status="Published") + except IndexError: + release_sources = options.archive.getPublishedSources( + source_name=name, version=version, + distro_series=options.series, pocket="Release", + exact_match=True, status="Pending") + except HTTPError as e: + print("getPublishedSources %s: %s" % (display, e.content), + file=sys.stderr) + return True + if len(release_sources) > 0: + return True + + if options.dry_run: + print("Would copy: %s" % display) + return + elif options.verbose: + print("Copying: %s" % display) + sys.stdout.flush() + + try: + options.archive.copyPackage( + source_name=name, version=version, + from_archive=options.archive, + from_series=options.series.name, from_pocket="Proposed", + to_series=options.series.name, to_pocket="Release", + include_binaries=True, sponsored=options.requestor, + auto_approve=True) + except HTTPError as e: + print("copyPackage %s: %s" % (display, e.content), file=sys.stderr) + return False + + try: + proposed_source = options.archive.getPublishedSources( + source_name=name, version=version, + distro_series=options.series, pocket="Proposed", + exact_match=True)[0] + except HTTPError as e: + print("getPublishedSources %s: %s" % (display, e.content), + file=sys.stderr) + return True + except IndexError: + print("getPublishedSources %s found no publication" % display, + file=sys.stderr) + return True + + if architecture is None: + try: + proposed_source.requestDeletion(removal_comment="moved to release") + except HTTPError as e: + print("requestDeletion %s: %s" % (display, e.content), + file=sys.stderr) + else: + for bpph in proposed_source.getPublishedBinaries(): + if bpph.is_debug: + continue + elif bpph.architecture_specific: + if architecture != bpph.distro_arch_series.architecture_tag: + continue + else: + if architecture != "i386": + continue + try: + bpph.requestDeletion(removal_comment="moved to release") + except HTTPError as e: + print("requestDeletion %s/%s/%s: %s" % + (bpph.binary_package_name, bpph.binary_package_version, + bpph.distro_arch_series.architecture_tag, e.content), + file=sys.stderr) + + return True + + +def promote_all(options, delta): + with open(delta) as delta_file: + for line in delta_file: + if line.startswith("#"): + continue + words = line.rstrip("\n").split(" ") + if len(words) == 1: + name = words[0] + print("Cannot handle removal: %s" % name, file=sys.stderr) + continue + elif len(words) == 2: + name = words[0] + if name.startswith("-"): + print("Cannot handle removal: %s" % name[1:], + file=sys.stderr) + continue + elif "/" in name: + name, architecture = name.split("/", 1) + else: + architecture = None + version = words[1] + if not promote(options, name, version, architecture): + # Stop on any single failure. Britney's output delta + # should be ordered such that the optimal order of + # copying is from start to finish, and skipping one is + # more likely to cause problems than aborting. + return False + elif len(words) == 3: + name = words[0] + if name.startswith("-"): + print("Cannot handle removal: %s" % name[1:], + file=sys.stderr) + continue + version = words[1] + architecture = words[2] + if not promote(options, name, version, architecture): + # Stop on any single failure. Britney's output delta + # should be ordered such that the optimal order of + # copying is from start to finish, and skipping one is + # more likely to cause problems than aborting. + return False + return True + + +def main(): + parser = OptionParser(usage="usage: %prog [options] BRITNEY-OUTPUT-DELTA") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="only show copies that would be performed") + parser.add_option( + "-v", "--verbose", default=False, action="store_true", + help="be more verbose (redundant in --dry-run mode)") + parser.add_option( + "-d", "--distribution", default="ubuntu", + metavar="DISTRIBUTION", help="promote within DISTRIBUTION") + # dest="suite" to make lputils.setup_location's job easier. + parser.add_option( + "-s", "--series", dest="suite", + metavar="SERIES", help="promote from SERIES-proposed to SERIES") + options, args = parser.parse_args() + if len(args) != 1: + parser.error("need britney output delta file") + + options.launchpad = Launchpad.login_with( + "promote-to-release", options.launchpad_instance, version="devel") + lputils.setup_location(options) + options.dases = {} + for das in options.series.architectures: + options.dases[das.architecture_tag] = das + + options.requestor = options.launchpad.people["katie"] + + if promote_all(options, args[0]): + return 0 + else: + return 1 + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/ubuntu-archive-tools/publish-image-set b/ubuntu-archive-tools/publish-image-set new file mode 100755 index 0000000..a71a919 --- /dev/null +++ b/ubuntu-archive-tools/publish-image-set @@ -0,0 +1,322 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Copyright (C) 2010, 2011, 2012 Canonical Ltd. +# Author: Martin Pitt + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Look at the ISO tracker for currently tested builds, and generate +# publish-release commands for them. + +# publish-release needs to be called as follows: + +# for-project publish-release +# +# +# : ubuntu/kubuntu/edubuntu/xubuntu +# : daily or daily-live, dir on cdimage.u.c./ +# : e. g. 20070605.3; ubuntu-server/daily/ for +# server/netbook/etc. +# : desktop/alternate/server/serveraddon/src +# : yes/no/poolonly/named (should appear on releases.u.c.?) +# : name of the release (alpha-2, beta, etc.) + +from __future__ import print_function + +from collections import defaultdict +import optparse +import re +import sys + +# See isotracker.py for setup instructions. +from isotracker import ISOTracker + +milestone_name_re = re.compile('(Alpha|Beta|RC|Final|Pre-release)(?: (\d))?') +stable_name_re = re.compile('(Trusty|Xenial|Bionic) (14|16|18)\.04\.\d+') + +# do not warn about not being able to handle those +ignore_product_re = re.compile( + 'Netboot |Upgrade |Server EC2|Server Windows Azure|line-through') +# this identifies known builds +product_re = re.compile( + '((?:|u|lu|ku|edu|xu|myth)buntu(?: studio|kylin| kylin| gnome| mate| budgie| next)?) ' + '(alternate|desktop|dvd|server(?: subiquity)?|mobile|base|active|wubi)(?: preinstalled)? ' + '(i386|amd64$|amd64\+mac|armel$|armel\+dove|armel\+omap$|armel\+omap4|' + 'armel\+ac100|armel\+mx5|armhf$|armhf\+omap$|armhf\+omap4|armhf\+ac100|' + 'armhf\+mx5|armhf\+nexus7|armhf\+raspi2|armhf\+raspi3|arm64$|arm64\+raspi3|' + 'powerpc|ppc64el|s390x)', re.I) + +# map an image type from the ISO tracker to a source directory for +# publish-release +type_map = { + 'desktop': 'daily-live', + 'alternate': 'daily', + 'src': 'source', + 'dvd': 'dvd', + 'mobile': 'daily-live', + 'active': 'daily-live', + 'server': 'daily', + 'base': 'daily', + 'wubi': 'wubi', + 'preinstalled-desktop': 'daily-preinstalled', + 'preinstalled-mobile': 'daily-preinstalled', + 'preinstalled-active': 'daily-preinstalled', + 'preinstalled-server': 'ubuntu-server/daily-preinstalled', + 'live-server': 'ubuntu-server/daily-live', +} + + +def parse_iso_tracker(opts): + '''Get release builds information from ISO tracker. + + Return an info dictionary with the following keys: + - build_map: projectname -> type -> build_stamp -> set(arches) + - milestone_name: Milestone name (e. g. "Alpha 3") + - milestone_code: publish-release milestone code (e. g. "alpha-3") + - stable (optional): stable release name (e. g. "lucid") + ''' + build_map = defaultdict(lambda: defaultdict(lambda: defaultdict(set))) + ret = {'build_map': build_map, 'stable': None} + + # access the ISO tracker + isotracker = ISOTracker(target=opts.target) + + # get current milestone + if opts.milestone: + ms = isotracker.get_milestone_by_name(opts.milestone) + else: + ms = isotracker.default_milestone() + + if ms.status_string != 'Testing': + sys.stderr.write( + 'ERROR: Current milestone is not marked as "Testing"\n') + sys.exit(1) + + m = milestone_name_re.search(ms.title) + if m: + # require number for alphas + if m.group(1) != 'Alpha' or m.group(2): + ret['milestone_name'] = ' '.join( + [g for g in m.groups() if g is not None]) + ret['milestone_code'] = ( + ret['milestone_name'].lower().replace(' ', '-')) + + if 'milestone_name' not in ret: + sys.stderr.write( + "ERROR: Milestone '%s' isn't a valid target for publishing.\n" + % ms.title) + sys.exit(1) + + if ret['milestone_code'] == 'pre-release': + ret['milestone_code'] = 'final' + else: + m = stable_name_re.search(ms.title) + if not m: + sys.stderr.write( + "ERROR: Milestone '%s' isn't a valid target for publishing.\n" + % ms.title) + sys.exit(1) + + ret['milestone_name'] = m.group(0) + ret['milestone_code'] = 'final' + ret['stable'] = m.group(1).lower() + + # product name lookup + products = {} + for product in isotracker.tracker_products: + products[product.id] = product.title + + # builds + for build in isotracker.get_builds(ms): + product = products[build.productid] + + # Start by skipping anything in the ignore list + if ignore_product_re.search(product): + continue + + if opts.prepublish or opts.include_active: + ready_states = ('Active', 'Ready') + else: + ready_states = ('Ready',) + if build.status_string not in ready_states: + print('Ignoring %s which has status %s' % + (product, build.status_string)) + continue + + # Fail when finding an unknown product + m = product_re.match(product) + if not m: + sys.stderr.write('ERROR: Cannot handle product %s\n' % product) + sys.exit(1) + + project = m.group(1).lower().replace(' ', '') + type = m.group(2).lower() + arch = m.group(3).lower() + + if 'Server armhf+raspi2' in product: + # This product is mislabeled in the tracker: + type = 'preinstalled-%s' % type + if 'Server armhf+raspi3' in product: + type = 'preinstalled-%s' % type + if 'Server arm64+raspi3' in product: + type = 'preinstalled-%s' % type + if 'Server Subiquity' in product: + type = 'live-server' + project = 'ubuntu' + if 'Preinstalled' in product: + type = 'preinstalled-%s' % type + if project == 'kubuntu' and type == 'mobile': + project = 'kubuntu-mobile' + if project == 'kubuntu' and type == 'active': + project = 'kubuntu-active' + type = 'desktop' + if project == 'ubuntu' and type == 'base': + project = 'ubuntu-base' + if project == 'ubuntugnome': + project = 'ubuntu-gnome' + if project == 'ubuntumate': + project = 'ubuntu-mate' + if project == 'ubuntubudgie': + project = 'ubuntu-budgie' + if project == 'lubuntunext': + project = 'lubuntu-next' + + build_map[project][type][build.version].add(arch) + + return ret + + +def do_publish_release(opts, project, type, buildstamp, arches, milestone, + stable): + '''Process a particular build publishing''' + + primary = set(('amd64', 'i386')) + + primary_arches = arches & primary + ports_arches = arches - primary + + if 'alpha' in milestone: + official = 'no' + else: + official = 'named' + if (project in ('ubuntu',) and + type in ('desktop', 'alternate', 'netbook', 'live-server', + 'wubi') and + primary_arches): + official = 'yes' + if opts.prepublish: + if official == 'named': + # no prepublication needed + return + elif official == 'yes': + official = 'poolonly' + + # For pre-Natty: remove "official in ('yes', 'poolonly') and" + if official in ('yes', 'poolonly') and primary_arches and ports_arches: + do_publish_release( + opts, project, type, buildstamp, primary_arches, milestone, stable) + do_publish_release( + opts, project, type, buildstamp, ports_arches, milestone, stable) + return + + cmd = ['for-project', project, 'publish-release'] + if type != 'src': + cmd.insert(0, "ARCHES='%s'" % ' '.join(sorted(arches))) + if stable is not None: + cmd.insert(0, "DIST=%s" % stable) + + if opts.dryrun: + cmd.append('--dry-run') + + # dir and buildstamp arguments + try: + dir = type_map[type] + # For pre-Natty: uncomment next two lines + #if ports_arches: + # dir = re.sub(r'daily', 'ports/daily', dir) + # Sometimes a daily build is treated as being one project (e.g. + # ubuntu-netbook) but should be published under the auspices of + # another project (e.g. ubuntu). This is of course NOT AT ALL + # CONFUSING. + if project == 'ubuntu' and type == 'server': + dir = 'ubuntu-server/%s' % dir + elif project == 'ubuntu' and type == 'netbook' and primary_arches: + dir = 'ubuntu-netbook/%s' % dir + cmd.append(dir) + cmd.append(buildstamp) + except KeyError: + print('ERROR: Cannot handle type', type, 'for', project, + file=sys.stderr) + return + + # type argument + cmd.append(type) + + # releaseflag argument + cmd.append(official) + + # name argument + if milestone != 'final': + cmd.append(milestone) + + print(' '.join(cmd)) + + +def main(): + parser = optparse.OptionParser(usage='Usage: %prog [options]') + parser.add_option('-m', '--milestone', + help='post to MILESTONE rather than the default') + parser.add_option('-n', '--dry-run', dest='dryrun', + action='store_true', default=False, + help='Generate dry-run commands') + parser.add_option('-p', '--prepublish', dest='prepublish', + action='store_true', default=False, + help='Pre-publish images to .pool') + parser.add_option('-t', '--target', help='post to an alternate QATracker') + parser.add_option('--include-active', action='store_true', default=False, + help='Always include Active (not Ready) images') + opts, args = parser.parse_args() + + info = parse_iso_tracker(opts) + + print('\n## make backup:') + print('cd ~/cdimage/; rm -rf www.prev; cp -al www www.prev; cd www') + + print('\n## publish images:') + source_milestone = None + for project, builds in info['build_map'].items(): + for type, buildstamps in builds.items(): + for buildstamp, arches in buildstamps.items(): + do_publish_release(opts, project, type, buildstamp, arches, + info['milestone_code'], info['stable']) + source_milestone = info['milestone_code'] + print() + + if source_milestone: + do_publish_release(opts, 'ubuntu', 'src', 'current', set(), + source_milestone, info['stable']) + + if not opts.prepublish: + print('\n## fix name in headers:') + print("find full -path '*/%s*HEADER.html' | " + "xargs sed -i 's/Daily Build/%s/'" % + (info['milestone_code'], info['milestone_name'])) + + print('\n## check changes against www.prev:') + print('diff -u <(cd ../www.prev/full && find | sort) ' + '<(cd full && find | sort) | less') + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/qatracker.py b/ubuntu-archive-tools/qatracker.py new file mode 100644 index 0000000..1fb0a18 --- /dev/null +++ b/ubuntu-archive-tools/qatracker.py @@ -0,0 +1,535 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +# Copyright (C) 2011, 2012 Canonical Ltd. +# Author: Stéphane Graber + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 +# USA + +try: + import xmlrpc.client as xmlrpclib +except ImportError: + import xmlrpclib + +import base64 +from datetime import datetime + +# Taken from qatracker/qatracker.modules (PHP code) +# cat qatracker.module | grep " = array" | sed -e 's/^\$//g' \ +# -e 's/array(/[/g' -e 's/);/]/g' -e "s/t('/\"/g" -e "s/')/\"/g" +### AUTO-GENERATED -> +qatracker_build_milestone_status = ["Active", "Re-building", "Disabled", + "Superseded", "Ready"] +qatracker_milestone_notify = ["No", "Yes"] +qatracker_milestone_autofill = ["No", "Yes"] +qatracker_milestone_status = ["Testing", "Released", "Archived"] +qatracker_milestone_series_status = ["Active", "Disabled"] +qatracker_milestone_series_manifest_status = ["Active", "Disabled"] +qatracker_product_status = ["Active", "Disabled"] +qatracker_product_type = ["iso", "package", "hardware"] +qatracker_product_download_type = ["HTTP", "RSYNC", "ZSYNC", + "GPG signature", "MD5 checksum", "Comment", + "Torrent"] +qatracker_testsuite_testcase_status = ["Mandatory", "Disabled", "Run-once", + "Optional"] +qatracker_result_result = ["Failed", "Passed", "In progress"] +qatracker_result_status = ["Active", "Disabled"] +qatracker_rebuild_status = ["Requested", "Queued", "Building", "Built", + "Published", "Canceled"] +### <- AUTO-GENERATED + + +class QATrackerRPCObject(): + """Base class for objects received over XML-RPC""" + + CONVERT_BOOL = [] + CONVERT_DATE = [] + CONVERT_INT = [] + + def __init__(self, tracker, rpc_dict): + # Convert the dict we get from the API into an object + + for key in rpc_dict: + if key in self.CONVERT_INT: + try: + setattr(self, key, int(rpc_dict[key])) + except ValueError: + setattr(self, key, None) + elif key in self.CONVERT_BOOL: + setattr(self, key, rpc_dict[key] == "true") + elif key in self.CONVERT_DATE: + try: + setattr(self, key, datetime.strptime(rpc_dict[key], + '%Y-%m-%d %H:%M:%S')) + except ValueError: + setattr(self, key, None) + else: + setattr(self, key, str(rpc_dict[key])) + + self.tracker = tracker + + def __repr__(self): + return "%s: %s" % (self.__class__.__name__, self.title) + + +class QATrackerBug(QATrackerRPCObject): + """A bug entry""" + + CONVERT_INT = ['bugnumber', 'count'] + CONVERT_DATE = ['earliest_report', 'latest_report'] + + def __repr__(self): + return "%s: %s" % (self.__class__.__name__, self.bugnumber) + + +class QATrackerBuild(QATrackerRPCObject): + """A build entry""" + + CONVERT_INT = ['id', 'productid', 'userid', 'status'] + CONVERT_DATE = ['date'] + + def __repr__(self): + return "%s: %s" % (self.__class__.__name__, self.id) + + def add_result(self, testcase, result, comment='', hardware='', bugs={}): + """Add a result to the build""" + + if (self.tracker.access not in ("user", "admin") and + self.tracker.access is not None): + raise Exception("Access denied, you need 'user' but are '%s'" % + self.tracker.access) + + build_testcase = None + + # FIXME: Supporting 'str' containing the testcase name would be nice + if isinstance(testcase, QATrackerTestcase): + build_testcase = testcase.id + elif isinstance(testcase, int): + build_testcase = testcase + + if not build_testcase: + raise IndexError("Couldn't find testcase: %s" % (testcase,)) + + if isinstance(result, list): + raise TypeError("result must be a string or an integer") + + build_result = self.tracker._get_valid_id_list(qatracker_result_result, + result) + + if not isinstance(bugs, dict): + raise TypeError("bugs must be a dict") + + for bug in bugs: + if not isinstance(bug, int) or bug <= 0: + raise ValueError("A bugnumber must be a number >= 0") + + if not isinstance(bugs[bug], int) or bugs[bug] not in (0, 1): + raise ValueError("A bugimportance must be in (0,1)") + + resultid = int(self.tracker.tracker.results.add(self.id, + build_testcase, + build_result[0], + str(comment), + str(hardware), + bugs)) + if resultid == -1: + raise Exception("Couldn't post your result.") + + new_result = None + for entry in self.get_results(build_testcase, 0): + if entry.id == resultid: + new_result = entry + break + + return new_result + + def get_results(self, testcase, status=qatracker_result_status): + """Get a list of results for the given build and testcase""" + + build_testcase = None + + # FIXME: Supporting 'str' containing the testcase name would be nice + if isinstance(testcase, QATrackerTestcase): + build_testcase = testcase.id + elif isinstance(testcase, int): + build_testcase = testcase + + if not build_testcase: + raise IndexError("Couldn't find testcase: %s" % (testcase,)) + + record_filter = self.tracker._get_valid_id_list( + qatracker_result_status, + status) + + if len(record_filter) == 0: + return [] + + results = [] + for entry in self.tracker.tracker.results.get_list( + self.id, build_testcase, list(record_filter)): + results.append(QATrackerResult(self.tracker, entry)) + + return results + + +class QATrackerMilestone(QATrackerRPCObject): + """A milestone entry""" + + CONVERT_INT = ['id', 'status', 'series'] + CONVERT_BOOL = ['notify'] + + def get_bugs(self): + """Returns a list of all bugs linked to this milestone""" + + bugs = [] + for entry in self.tracker.tracker.bugs.get_list(self.id): + bugs.append(QATrackerBug(self.tracker, entry)) + + return bugs + + def add_build(self, product, version, note="", notify=True): + """Add a build to the milestone""" + + if self.status != 0: + raise TypeError("Only active milestones are accepted") + + if self.tracker.access != "admin" and self.tracker.access is not None: + raise Exception("Access denied, you need 'admin' but are '%s'" % + self.tracker.access) + + if not isinstance(notify, bool): + raise TypeError("notify must be a boolean") + + build_product = None + + if isinstance(product, QATrackerProduct): + build_product = product + else: + valid_products = self.tracker.get_products(0) + + for entry in valid_products: + if (entry.title.lower() == str(product).lower() or + entry.id == product): + build_product = entry + break + + if not build_product: + raise IndexError("Couldn't find product: %s" % product) + + if build_product.status != 0: + raise TypeError("Only active products are accepted") + + self.tracker.tracker.builds.add(build_product.id, self.id, + str(version), str(note), notify) + + new_build = None + for entry in self.get_builds(0): + if (entry.productid == build_product.id + and entry.version == str(version)): + new_build = entry + break + + return new_build + + def get_builds(self, status=qatracker_build_milestone_status): + """Get a list of builds for the milestone""" + + record_filter = self.tracker._get_valid_id_list( + qatracker_build_milestone_status, status) + + if len(record_filter) == 0: + return [] + + builds = [] + for entry in self.tracker.tracker.builds.get_list(self.id, + list(record_filter)): + builds.append(QATrackerBuild(self.tracker, entry)) + + return builds + + +class QATrackerProduct(QATrackerRPCObject): + CONVERT_INT = ['id', 'type', 'status'] + + def get_testcases(self, series, + status=qatracker_testsuite_testcase_status): + """Get a list of testcases associated with the product""" + + record_filter = self.tracker._get_valid_id_list( + qatracker_testsuite_testcase_status, status) + + if len(record_filter) == 0: + return [] + + if isinstance(series, QATrackerMilestone): + seriesid = series.series + elif isinstance(series, int): + seriesid = series + else: + raise TypeError("series needs to be a valid QATrackerMilestone" + " instance or an integer") + + testcases = [] + for entry in self.tracker.tracker.testcases.get_list( + self.id, seriesid, list(record_filter)): + testcases.append(QATrackerTestcase(self.tracker, entry)) + + return testcases + + +class QATrackerRebuild(QATrackerRPCObject): + CONVERT_INT = ['id', 'seriesid', 'productid', 'milestoneid', 'requestedby', + 'changedby', 'status'] + CONVERT_DATE = ['requestedat', 'changedat'] + + def __repr__(self): + return "%s: %s" % (self.__class__.__name__, self.id) + + def save(self): + """Save any change that happened on this entry. + NOTE: At the moment only supports the status field.""" + + if (self.tracker.access != "admin" and + self.tracker.access is not None): + raise Exception("Access denied, you need 'admin' but are '%s'" % + self.tracker.access) + + retval = self.tracker.tracker.rebuilds.update_status(self.id, + self.status) + if retval is not True: + raise Exception("Failed to update rebuild") + + return retval + + +class QATrackerResult(QATrackerRPCObject): + CONVERT_INT = ['id', 'reporterid', 'revisionid', 'result', 'changedby', + 'status'] + CONVERT_DATE = ['date', 'lastchange'] + __deleted = False + + def __repr__(self): + return "%s: %s" % (self.__class__.__name__, self.id) + + def delete(self): + """Remove the result from the tracker""" + + if (self.tracker.access not in ("user", "admin") and + self.tracker.access is not None): + raise Exception("Access denied, you need 'user' but are '%s'" % + self.tracker.access) + + if self.__deleted: + raise IndexError("Result has already been removed") + + retval = self.tracker.tracker.results.delete(self.id) + if retval is not True: + raise Exception("Failed to remove result") + + self.status = 1 + self.__deleted = True + + def save(self): + """Save any change that happened on this entry""" + + if (self.tracker.access not in ("user", "admin") and + self.tracker.access is not None): + raise Exception("Access denied, you need 'user' but are '%s'" % + self.tracker.access) + + if self.__deleted: + raise IndexError("Result no longer exists") + + retval = self.tracker.tracker.results.update(self.id, self.result, + self.comment, + self.hardware, + self.bugs) + if retval is not True: + raise Exception("Failed to update result") + + return retval + + +class QATrackerSeries(QATrackerRPCObject): + CONVERT_INT = ['id', 'status'] + + def get_manifest(self, status=qatracker_milestone_series_manifest_status): + """Get a list of products in the series' manifest""" + + record_filter = self.tracker._get_valid_id_list( + qatracker_milestone_series_manifest_status, status) + + if len(record_filter) == 0: + return [] + + manifest_entries = [] + for entry in self.tracker.tracker.series.get_manifest( + self.id, list(record_filter)): + manifest_entries.append(QATrackerSeriesManifest( + self.tracker, entry)) + + return manifest_entries + + +class QATrackerSeriesManifest(QATrackerRPCObject): + CONVERT_INT = ['id', 'productid', 'status'] + + def __repr__(self): + return "%s: %s" % (self.__class__.__name__, self.product_title) + + +class QATrackerTestcase(QATrackerRPCObject): + CONVERT_INT = ['id', 'status', 'weight', 'suite'] + + +class QATracker(): + def __init__(self, url, username=None, password=None): + class AuthTransport(xmlrpclib.Transport): + def set_auth(self, auth): + self.auth = auth + + def get_host_info(self, host): + host, extra_headers, x509 = \ + xmlrpclib.Transport.get_host_info(self, host) + if extra_headers is None: + extra_headers = [] + extra_headers.append(('Authorization', 'Basic %s' % auth)) + return host, extra_headers, x509 + + if username and password: + try: + auth = str(base64.b64encode( + bytes('%s:%s' % (username, password), 'utf-8')), + 'utf-8') + except TypeError: + auth = base64.b64encode('%s:%s' % (username, password)) + + transport = AuthTransport() + transport.set_auth(auth) + drupal = xmlrpclib.ServerProxy(url, transport=transport) + else: + drupal = xmlrpclib.ServerProxy(url) + + # Call listMethods() so if something is wrong we know it immediately + drupal.system.listMethods() + + # Get our current access + self.access = drupal.qatracker.get_access() + + self.tracker = drupal.qatracker + + def _get_valid_id_list(self, status_list, status): + """ Get a list of valid keys and a list or just a single + entry of input to check against the list of valid keys. + The function looks for valid indexes and content, doing + case insensitive checking for strings and returns a list + of indexes for the list of valid keys. """ + + def process(status_list, status): + valid_status = [entry.lower() for entry in status_list] + + if isinstance(status, int): + if status < 0 or status >= len(valid_status): + raise IndexError("Invalid status: %s" % status) + return int(status) + + if isinstance(status, str): + status = status.lower() + if status not in valid_status: + raise IndexError("Invalid status: %s" % status) + return valid_status.index(status) + + raise TypeError("Invalid status type: %s (expected str or int)" % + type(status)) + + record_filter = set() + + if isinstance(status, list): + for entry in status: + record_filter.add(process(status_list, entry)) + else: + record_filter.add(process(status_list, status)) + + return list(record_filter) + + def get_bugs(self): + """Get a list of all bugs reported on the site""" + + bugs = [] + for entry in self.tracker.bugs.get_list(0): + bugs.append(QATrackerBug(self, entry)) + + return bugs + + def get_milestones(self, status=qatracker_milestone_status): + """Get a list of all milestones""" + + record_filter = self._get_valid_id_list(qatracker_milestone_status, + status) + + if len(record_filter) == 0: + return [] + + milestones = [] + for entry in self.tracker.milestones.get_list(list(record_filter)): + milestones.append(QATrackerMilestone(self, entry)) + + return milestones + + def get_products(self, status=qatracker_product_status): + """Get a list of all products""" + + record_filter = self._get_valid_id_list(qatracker_product_status, + status) + + if len(record_filter) == 0: + return [] + + products = [] + for entry in self.tracker.products.get_list(list(record_filter)): + products.append(QATrackerProduct(self, entry)) + + return products + + def get_rebuilds(self, status=qatracker_rebuild_status): + """Get a list of all rebuilds""" + + record_filter = self._get_valid_id_list( + qatracker_rebuild_status, status) + + if len(record_filter) == 0: + return [] + + rebuilds = [] + for entry in self.tracker.rebuilds.get_list(list(record_filter)): + rebuilds.append(QATrackerRebuild(self, entry)) + + return rebuilds + + def get_series(self, status=qatracker_milestone_series_status): + """Get a list of all series""" + + record_filter = self._get_valid_id_list( + qatracker_milestone_series_status, status) + + if len(record_filter) == 0: + return [] + + series = [] + for entry in self.tracker.series.get_list(list(record_filter)): + series.append(QATrackerSeries(self, entry)) + + return series diff --git a/ubuntu-archive-tools/queue b/ubuntu-archive-tools/queue new file mode 100755 index 0000000..806f99f --- /dev/null +++ b/ubuntu-archive-tools/queue @@ -0,0 +1,497 @@ +#! /usr/bin/python + +# Copyright (C) 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Manipulate Ubuntu upload queues.""" + +from __future__ import print_function + +import collections +from datetime import datetime +from operator import attrgetter +from optparse import OptionParser, SUPPRESS_HELP +import os +import sys +try: + from urllib.parse import unquote, urlsplit + from urllib.request import urlretrieve +except ImportError: + from urllib import unquote, urlretrieve + from urlparse import urlsplit + +from launchpadlib.launchpad import Launchpad +import pytz + +import lputils + + +CONSUMER_KEY = "queue" + + +queue_names = ( + "New", + "Unapproved", + "Accepted", + "Done", + "Rejected", +) + + +now = datetime.now(pytz.timezone("UTC")) + + +def queue_item(options, queue_id): + """Load a queue item by its numeric ID.""" + return options.launchpad.load('%s%s/%s/+upload/%s' % ( + options.launchpad._root_uri.ensureSlash(), options.distribution.name, + options.series.name, queue_id)) + + +def queue_item_allowed(options, item): + # Rather than using item.contains_build, treat anything that isn't + # sourceful as binaryful. This allows us to treat copies of custom + # uploads (which have none of contains_source, contains_copy, or + # contains_build) as binaryful. However, copies may contain both source + # and binaries. + sourceful = item.contains_source or item.contains_copy + binaryful = not item.contains_source or item.contains_copy + if options.source and sourceful: + return True + elif options.binary and binaryful: + return True + else: + return False + + +def queue_items(options, args): + if not args: + args = [''] + + items = collections.OrderedDict() + for arg in args: + arg = arg.strip() + if arg.isdigit(): + item = queue_item(options, arg) + if item in items: + continue + if item.status != options.queue: + raise ValueError( + "Item %s is in queue %s, not requested queue %s" % + (item.id, item.status, options.queue)) + if (item.distroseries != options.series or + item.pocket != options.pocket): + if item.pocket == "Release": + item_suite = item.distroseries.name + else: + item_suite = "%s-%s" % ( + item.distroseries.name, item.pocket.lower()) + raise ValueError("Item %s is in %s/%s not in %s/%s" % ( + item.id, item.distroseries.distribution.name, + item_suite, options.distribution.name, + options.suite)) + if queue_item_allowed(options, item): + items[item] = 1 + else: + kwargs = {} + if "/" in arg: + kwargs["name"], kwargs["version"] = arg.split("/") + elif arg: + kwargs["name"] = arg + new_items = options.series.getPackageUploads( + archive=options.archive, pocket=options.pocket, + status=options.queue, exact_match=options.exact_match, + **kwargs) + for item in new_items: + if queue_item_allowed(options, item): + items[item] = 1 + + return items + + +#XXX cprov 2006-09-19: We need to use template engine instead of hardcoded +# format variables. +HEAD = "-" * 9 + "|----|" + "-" * 22 + "|" + "-" * 22 + "|" + "-" * 15 +FOOT_MARGIN = " " * (9 + 6 + 1 + 22 + 1 + 22 + 2) + + +def make_tag(item): + if item.contains_copy: + return "X-" + else: + return (("S" if item.contains_source else "-") + + ("B" if item.contains_build else "-")) + + +def approximate_age(time): + """Return a nicely-formatted approximate age.""" + seconds = int((now - time).total_seconds()) + if seconds == 1: + return "1 second" + elif seconds < 60: + return "%d seconds" % seconds + + minutes = int(round(seconds / 60.0)) + if minutes == 1: + return "1 minute" + elif minutes < 60: + return "%d minutes" % minutes + + hours = int(round(minutes / 60.0)) + if hours == 1: + return "1 hour" + elif hours < 48: + return "%d hours" % hours + + days = int(round(hours / 24.0)) + if days == 1: + return "1 day" + elif days < 14: + return "%d days" % days + + weeks = int(round(days / 7.0)) + if weeks == 1: + return "1 week" + else: + return "%d weeks" % weeks + + +def show_item_main(item): + tag = make_tag(item) + # TODO truncation sucks + print("%8d | %s | %s | %s | %s" % + (item.id, tag, item.display_name.ljust(20)[:20], + item.display_version.ljust(20)[:20], + approximate_age(item.date_created))) + + +def show_source(source): + print("\t | * %s/%s Component: %s Section: %s" % + (source.package_name, source.package_version, + source.component_name, source.section_name)) + + +def show_binary(binary): + if "customformat" in binary: + print("\t | * %s Format: %s" % ( + binary["name"], binary["customformat"])) + else: + if binary["is_new"]: + status_flag = "N" + else: + status_flag = "*" + print("\t | %s %s/%s/%s " + "Component: %s Section: %s Priority: %s" % ( + status_flag, binary["name"], binary["version"], + binary["architecture"], binary["component"], + binary["section"], binary["priority"])) + + +def show_item(item): + show_item_main(item) + if item.contains_copy or item.contains_source: + show_source(item) + if item.contains_build: + for binary in item.getBinaryProperties(): + show_binary(binary) + + +def display_name(item): + display = "%s/%s" % (item.display_name, item.display_version) + if item.contains_build: + display += " (%s)" % item.display_arches + return display + + +def info(options, args): + """Show information on queue items.""" + items = queue_items(options, args) + print("Listing %s/%s (%s) %s" % + (options.distribution.name, options.suite, options.queue, + len(items))) + print(HEAD) + for item in items: + show_item(item) + print(HEAD) + print(FOOT_MARGIN + str(len(items))) + return 0 + + +# Get librarian URLs for source_package_publishing_history or package_upload +# objects +def urls(options, item): + try: + if item.contains_copy: + archive = item.copy_source_archive + item = archive.getPublishedSources( + exact_match=True, source_name=item.package_name, + version=item.package_version) + if item: + return urls(options, item[0]) + else: + print("Error: Can't find source package for copy") + return [] + except AttributeError: + # Not a package_upload + pass + + ret = [] + try: + ret.append(item.changes_file_url) + ret.extend(item.customFileUrls()) + except AttributeError: # Copies won't have this + ret.append(item.changesFileUrl()) + if options.source: + ret.extend(item.sourceFileUrls()) + if options.binary: + ret.extend(item.binaryFileUrls()) + # On staging we may get None URLs due to missing library files; filter + # these out. + ret = list(filter(None, ret)) + return ret + + +def fetch(options, args): + """Fetch the contents of a queue item.""" + ret = 1 + items = queue_items(options, args) + for item in items: + print("Fetching %s" % display_name(item)) + fetch_item(options, item) + ret = 0 + return ret + + +def fetch_item(options, item): + for url in urls(options, item): + path = urlsplit(url)[2] + filename = unquote(path.split("/")[-1]) + exists = os.path.exists(filename) + if options.overwrite or not exists: + print("Constructing %s (%s)" % (filename, url)) + urlretrieve(url, filename) + elif exists: + print("Not overwriting existing %s with %s" % + (filename, url)) + + +def show_urls(options, args): + """Show the URLs from which a queue item may be downloaded.""" + items = queue_items(options, args) + for item in items: + for url in urls(options, item): + print(url) + return 0 if items else 1 + + +def accept(options, args): + """Accept a queue item.""" + items = queue_items(options, args) + for item in sorted(items, key=attrgetter("id")): + if options.dry_run: + print("Would accept %s" % display_name(item)) + else: + print("Accepting %s" % display_name(item)) + item.acceptFromQueue() + return 0 if items else 1 + + +def reject(options, args): + """Reject a queue item.""" + items = queue_items(options, args) + for item in sorted(items, key=attrgetter("id")): + if options.dry_run: + print("Would reject %s" % display_name(item)) + else: + print("Rejecting %s" % display_name(item)) + item.rejectFromQueue(comment=options.reject_comment) + return 0 if items else 1 + + +def override_source(options, item): + """Override properties of source packages in a queue item.""" + kwargs = {} + if options.component: + kwargs["new_component"] = options.component + if options.section: + kwargs["new_section"] = options.section + + print("Overriding %s_%s (%s/%s)" % ( + item.package_name, item.package_version, + item.component_name, item.section_name)) + item.overrideSource(**kwargs) + show_item(options.launchpad.load(item.self_link)) + return set((item.package_name,)) + + +def override_binary(options, args, item): + """Override properties of binary packages in a queue item.""" + overridden = set() + changes = [] + show_binaries = [] + for binary in item.getBinaryProperties(): + if binary["name"] in args: + overridden.add(binary["name"]) + print("Overriding %s_%s (%s/%s/%s)" % ( + binary["name"], binary["version"], + binary["component"], binary["section"], binary["priority"])) + change = {"name": binary["name"]} + if options.component is not None: + change["component"] = options.component + if options.section is not None: + change["section"] = options.section + if options.priority is not None: + change["priority"] = options.priority + changes.append(change) + show_binaries.append(binary["name"]) + if changes: + item.overrideBinaries(changes=changes) + if show_binaries: + show_item_main(item) + for binary in item.getBinaryProperties(): + if binary["name"] in show_binaries: + show_binary(binary) + return overridden + + +def override(options, args): + """Override properties of packages in the queue. + + You may override the component (-c) or the section (-x). In the case of + binary packages, you may also override the priority (-p). + """ + overridden = set() + items = queue_items(options, args) + for item in items: + if item.contains_source or item.contains_copy: + overridden.update(override_source(options, item)) + if item.contains_build: + overridden.update(override_binary(options, args, item)) + not_overridden = set(args) - overridden + if not_overridden: + print("No matches for %s" % ",".join(sorted(not_overridden))) + return 1 + else: + return 0 + + +def report(options, args): + """Show a report on the sizes of available queues.""" + print("Report for %s/%s" % (options.distribution.name, options.suite)) + for queue_name in queue_names: + items = options.series.getPackageUploads( + archive=options.archive, pocket=options.pocket, status=queue_name) + print(" %s -> %s entries" % (queue_name, len(items))) + return 0 + + +queue_actions = { + 'info': info, + 'fetch': fetch, + 'show-urls': show_urls, + 'accept': accept, + 'reject': reject, + 'override': override, + 'report': report, +} + + +def main(): + parser = OptionParser( + usage="usage: %prog [options] ACTION [...]", + description=( + "ACTION may be one of info, fetch, show-urls, accept, reject, " + "override, or report."), + epilog=lputils.ARCHIVE_REFERENCE_DESCRIPTION) + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option("-A", "--archive", help="look in ARCHIVE") + parser.add_option( + "-s", "--suite", dest="suite", metavar="SUITE", + help="look in suite SUITE") + parser.add_option( + "-Q", "--queue", dest="queue", metavar="QUEUE", default="new", + help="consider packages in QUEUE") + parser.add_option( + "-n", "--dry-run", dest="dry_run", default=False, action="store_true", + help="don't make any modifications") + parser.add_option( + "-e", "--exact-match", dest="exact_match", + default=True, action="store_true", + help="treat name filter as an exact match") + parser.add_option( + "-E", "--no-exact-match", dest="exact_match", action="store_false", + help="treat name filter as a prefix match") + parser.add_option( + "-c", "--component", dest="component", metavar="COMPONENT", + help="when overriding, move package to COMPONENT") + parser.add_option( + "-x", "--section", dest="section", metavar="SECTION", + help="when overriding, move package to SECTION") + parser.add_option( + "-p", "--priority", dest="priority", metavar="PRIORITY", + help="when overriding, move package to PRIORITY") + parser.add_option( + "--source", dest="source", default=False, action="store_true", + help="only operate on source packages") + parser.add_option( + "--binary", dest="binary", default=False, action="store_true", + help="only operate on binary packages") + parser.add_option( + "--overwrite", dest="overwrite", default=False, action="store_true", + help="when fetching, overwrite existing files") + parser.add_option("-m", "--reject-comment", help="rejection comment") + + # Deprecated in favour of -A. + parser.add_option( + "-d", "--distribution", dest="distribution", default="ubuntu", + help=SUPPRESS_HELP) + parser.add_option("--ppa", help=SUPPRESS_HELP) + parser.add_option("--ppa-name", help=SUPPRESS_HELP) + parser.add_option( + "-j", "--partner", default=False, action="store_true", + help=SUPPRESS_HELP) + options, args = parser.parse_args() + + if not args: + parser.error("must select an action") + action = args.pop(0) + try: + queue_action = queue_actions[action] + except KeyError: + parser.error("unknown action: %s" % action) + + if action == "reject" and options.reject_comment is None: + parser.error("rejections must supply a rejection comment") + + options.launchpad = Launchpad.login_with( + CONSUMER_KEY, options.launchpad_instance, version="devel") + + options.queue = options.queue.title() + lputils.setup_location(options, default_pocket="Proposed") + + if not options.source and not options.binary: + options.source = True + options.binary = True + + try: + sys.exit(queue_action(options, args)) + except ValueError as x: + print(x) + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/queuediff b/ubuntu-archive-tools/queuediff new file mode 100755 index 0000000..4f7cd7b --- /dev/null +++ b/ubuntu-archive-tools/queuediff @@ -0,0 +1,258 @@ +#!/usr/bin/python + +# Copyright (C) 2009, 2010, 2011, 2012 Canonical Ltd. +# Copyright (C) 2010 Scott Kitterman +# Author: Martin Pitt + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +'''Show changes in an unapproved upload. + +Generate a debdiff between current source package in a given release and the +version in the unapproved queue. + +USAGE: + queuediff -s hardy -b hal | view - +''' + +from __future__ import print_function + +import gzip +import optparse +import re +import sys +try: + from urllib.parse import quote + from urllib.request import urlopen, urlretrieve +except ImportError: + from urllib import quote, urlopen, urlretrieve +import webbrowser + +from launchpadlib.launchpad import Launchpad + + +default_release = 'cosmic' + +lp = None + +queue_url = 'https://launchpad.net/ubuntu/%s/+queue?queue_state=1&batch=300' +ppa_url = ('https://launchpad.net/~%s/+archive/ubuntu/%s/+packages?' + 'field.series_filter=%s') + + +def parse_options(): + '''Parse command line arguments. + + Return (options, source_package) tuple. + ''' + parser = optparse.OptionParser( + usage='Usage: %prog [options] source_package') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-s", dest="release", default=default_release, metavar="RELEASE", + help="release (default: %s)" % default_release) + parser.add_option( + "-p", dest="ppa", metavar="LP_USER/PPA_NAME", + help="Check a PPA instead of the Ubuntu unapproved queue") + parser.add_option( + "-b", "--browser", dest="browser", action="store_true", + default=False, help="Open Launchpad bugs in browser") + + (opts, args) = parser.parse_args() + + if len(args) != 1: + parser.error('Need to specify one source package name') + + return (opts, args[0]) + + +def parse_changes(changes_url): + '''Parse .changes file. + + Return dictionary with interesting information: 'bugs' (list), + 'distribution'. + ''' + info = {'bugs': []} + for l in urlopen(changes_url): + if l.startswith('Distribution:'): + info['distribution'] = l.split()[1] + if l.startswith('Launchpad-Bugs-Fixed:'): + info['bugs'] = sorted(set(l.split()[1:])) + if l.startswith('Version:'): + info['version'] = l.split()[1] + return info + + +def from_queue(sourcepkg, release): + '''Get .changes and debdiff from queue page. + + Return (changes URL, debdiff URL) pair. + ''' + oops_re = re.compile('class="oopsid">(OOPS[a-zA-Z0-9-]+)<') + changes_re = re.compile( + 'href="(http://launchpadlibrarian.net/\d+/%s_[^"]+_source.changes)"' % + re.escape(quote(sourcepkg))) + debdiff_re = re.compile( + 'href="(http://launchpadlibrarian.net/' + '\d+/%s_[^"_]+_[^_"]+\.diff\.gz)">\s*diff from' % + re.escape(quote(sourcepkg))) + + queue_html = urlopen(queue_url % release).read() + + m = oops_re.search(queue_html) + if m: + print('ERROR: Launchpad failure:', m.group(1), file=sys.stderr) + sys.exit(1) + + changes_url = None + for m in changes_re.finditer(queue_html): + # ensure that there's only one upload + if changes_url: + print('ERROR: Queue has more than one upload of this source, ' + 'please handle manually', file=sys.stderr) + sys.exit(1) + changes_url = m.group(1) + #print('changes URL:', changes_url, file=sys.stderr) + + m = debdiff_re.search(queue_html) + if not m: + print('ERROR: queue does not have a debdiff', file=sys.stderr) + sys.exit(1) + debdiff_url = m.group(1) + #print('debdiff URL:', debdiff_url, file=sys.stderr) + + return (changes_url, debdiff_url) + + +def from_ppa(sourcepkg, release, user, ppaname): + '''Get .changes and debdiff from a PPA. + + Return (changes URL, debdiff URL) pair. + ''' + changes_re = re.compile( + 'href="(https://launchpad.net/[^ "]+/%s_[^"]+_source.changes)"' % + re.escape(quote(sourcepkg))) + sourcepub_re = re.compile( + 'href="(\+sourcepub/\d+/\+listing-archive-extra)"') + #debdiff_re = re.compile( + # 'href="(https://launchpad.net/.[^ "]+.diff.gz)">diff from') + + changes_url = None + changes_sourcepub = None + last_sourcepub = None + + for line in urlopen(ppa_url % (user, ppaname, release)): + m = sourcepub_re.search(line) + if m: + last_sourcepub = m.group(1) + continue + m = changes_re.search(line) + if m: + # ensure that there's only one upload + if changes_url: + print('ERROR: PPA has more than one upload of this source, ' + 'please handle manually', file=sys.stderr) + sys.exit(1) + changes_url = m.group(1) + assert changes_sourcepub is None, ( + 'got two sourcepubs before .changes') + changes_sourcepub = last_sourcepub + + #print('changes URL:', changes_url, file=sys.stderr) + + # the code below works, but the debdiffs generated by Launchpad are rather + # useless, as they are against the final version, not what is in + # -updates/-security; so disable + + ## now open the sourcepub and get the URL for the debdiff + #changes_sourcepub = changes_url.rsplit('+', 1)[0] + changes_sourcepub + ##print('sourcepub URL:', changes_sourcepub, file=sys.stderr) + #sourcepub_html = urlopen(changes_sourcepub).read() + + #m = debdiff_re.search(sourcepub_html) + #if not m: + # print('ERROR: PPA does not have a debdiff', file=sys.stderr) + # sys.exit(1) + #debdiff_url = m.group(1) + ##print('debdiff URL:', debdiff_url, file=sys.stderr) + debdiff_url = None + + return (changes_url, debdiff_url) +# +# main +# + + +(opts, sourcepkg) = parse_options() + +if opts.ppa: + (user, ppaname) = opts.ppa.split('/', 1) + (changes_url, debdiff_url) = from_ppa( + sourcepkg, opts.release, user, ppaname) +else: + (changes_url, debdiff_url) = from_queue(sourcepkg, opts.release) + +# print diff +if debdiff_url: + print(gzip.open(urlretrieve(debdiff_url)[0]).read()) +else: + print('No debdiff available') + +# parse changes and open bugs +changes = parse_changes(changes_url) + +if opts.browser: + for b in changes['bugs']: + webbrowser.open('https://bugs.launchpad.net/bugs/' + b) + +# print matching sru-accept command +if changes['bugs']: + # Check for existing version in proposed + lp = Launchpad.login_anonymously('queuediff', opts.launchpad_instance) + ubuntu = lp.distributions['ubuntu'] + series = ubuntu.getSeries(name_or_version=opts.release) + if series != ubuntu.current_series: + archive = ubuntu.main_archive + existing = [ + pkg.source_package_version for pkg in archive.getPublishedSources( + exact_match=True, distro_series=series, pocket='Proposed', + source_name=sourcepkg, status='Published')] + updates = [ + pkg.source_package_version for pkg in archive.getPublishedSources( + exact_match=True, distro_series=series, pocket='Updates', + source_name=sourcepkg, status='Published')] + for pkg in existing: + if pkg not in updates: + msg = '''\ +******************************************************* +* +* WARNING: %s already published in Proposed (%s) +* +*******************************************************''' % (sourcepkg, pkg) + # show it in the diff as well as in the terminal + print(msg) + print(msg, file=sys.stderr) + + print('''After accepting this SRU from the queue, run: + sru-accept -v %s -s %s -p %s %s''' % + (changes['version'], changes['distribution'].split('-')[0], + sourcepkg, ' '.join(changes['bugs'])), file=sys.stderr) + +# for PPAs, print matching copy command +if opts.ppa: + print('\nTo copy from PPA to distribution, run:\n' + ' copy-package -b --from=~%s/ubuntu/%s -s %s --to=ubuntu ' + '--to-suite %s-proposed -y %s\n' % + (user, ppaname, opts.release, opts.release, sourcepkg), + file=sys.stderr) diff --git a/ubuntu-archive-tools/regression-proposed-bug-search b/ubuntu-archive-tools/regression-proposed-bug-search new file mode 100755 index 0000000..b150a0c --- /dev/null +++ b/ubuntu-archive-tools/regression-proposed-bug-search @@ -0,0 +1,142 @@ +#!/usr/bin/python + +# Copyright (C) 2012 Canonical, Ltd. +# Author: Brian Murray + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# given a release find all the packages published in proposed and +# search each package for bug tasks about the package reported +# since the date the package was uploaded to proposed for apport and release +# tagged bugs that contain the version of the package from -proposed + +from __future__ import print_function + +import optparse + +from launchpadlib.launchpad import Launchpad + +try: + from urllib.request import urlopen +except ImportError: + from urllib import urlopen + + +def bugs_from_changes(change_url): + '''Return (bug_list, cve_list) from a .changes file URL''' + changelog = urlopen(change_url) + + refs = [] + bugs = set() + + for l in changelog: + if l.startswith('Launchpad-Bugs-Fixed: '): + refs = l.split()[1:] + break + + for b in refs: + try: + lpbug = lp.bugs[int(b)] + except KeyError: + continue + bugs.add(lpbug) + + return sorted(bugs) + + +if __name__ == '__main__': + + APPORT_TAGS = ( + 'apport-package', + 'apport-bug', + 'apport-crash', + 'apport-kerneloops', + ) + + lp = Launchpad.login_with( + 'ubuntu-archive-tools', 'production', version='devel') + + ubuntu = lp.distributions['ubuntu'] + archive = ubuntu.getArchive(name='primary') + + parser = optparse.OptionParser(usage="usage: %prog --release RELEASE") + parser.add_option('--release', help='', dest='release') + + (opt, args) = parser.parse_args() + + releases = {} + if not opt.release: + for series in ubuntu.series: + if not series.supported: + continue + if series.active: + releases[series.name] = series + else: + series = ubuntu.getSeries(name_or_version=opt.release) + releases[series.name] = series + + for release in sorted(releases): + print('Release: %s' % release) + for spph in archive.getPublishedSources( + pocket='Proposed', status='Published', + distro_series=releases[release]): + package_name = spph.source_package_name + # for langpack updates, only keep -en as a representative + # cargo-culted from sru-report + if (package_name.startswith('language-pack-') and + package_name not in ('language-pack-en', + 'language-pack-en-base')): + continue + date_pub = spph.date_published + version = spph.source_package_version + change_url = spph.changesFileUrl() + + if not change_url: + print("Package %s has no changes file url") + continue + + package = ubuntu.getSourcePackage(name=package_name) + tasks = [] + # search for bugs reported by apport + for tag in APPORT_TAGS: + for task in package.searchTasks( + tags=[tag, release], created_since=date_pub, + tags_combinator='All'): + tasks.append(task) + # also search for ones tagged regression-proposed + for task in package.searchTasks( + tags=['regression-proposed', release], + created_since=date_pub, tags_combinator='All'): + tasks.append(task) + + for task in tasks: + if version not in task.bug.description: + continue + sru_bugs = bugs_from_changes(change_url) + # check to see if any of the sru bugs are already tagged + # verification-failed + v_failed = False + for sru_bug in sru_bugs: + if 'verification-failed' in sru_bug.tags: + print(' The SRU for package %s already has a ' + 'verification-failed bug in LP: #%s' % + (package_name, sru_bug.id)) + v_failed = True + bug = task.bug + if not v_failed and set(APPORT_TAGS).intersection(bug.tags): + print(' LP: #%s is regarding %s from -proposed' % + (bug.id, package_name)) + elif not v_failed: + print(' LP: #%s is regarding %s from -proposed and ' + 'tagged regression-proposed' % + (bug.id, package_name)) diff --git a/ubuntu-archive-tools/remove-package b/ubuntu-archive-tools/remove-package new file mode 100755 index 0000000..3591df0 --- /dev/null +++ b/ubuntu-archive-tools/remove-package @@ -0,0 +1,146 @@ +#! /usr/bin/python + +# Copyright 2012 Canonical Ltd. +# Author: Colin Watson + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Remove a package from the archive.""" + +from __future__ import print_function + +from optparse import OptionParser, SUPPRESS_HELP +import sys + +from launchpadlib.launchpad import Launchpad +try: + from ubuntutools.question import YesNoQuestion +except ImportError: + print("Could not find ubuntutools.question; run sudo apt-get install " + "python-ubuntutools") + sys.exit() + +import lputils + + +def find_removables(options, package): + if options.binaryonly: + for binary in lputils.find_latest_published_binaries(options, package): + if not binary.is_debug: + yield binary, True + else: + source = lputils.find_latest_published_source(options, package) + yield source, True + for binary in source.getPublishedBinaries(): + if not binary.is_debug: + yield binary, False + + +def find_all_removables(options, packages): + for package in packages: + try: + for removable in find_removables(options, package): + yield removable + except lputils.PackageMissing as message: + print(message) + if options.skip_missing: + print("Skipping") + else: + print("Exiting") + sys.exit(1) + + +def remove_package(options, packages): + removables = [] + + print("Removing packages from %s:" % options.suite) + for removable, direct in find_all_removables(options, packages): + removables.append((removable, direct)) + print("\t%s%s" % ("" if direct else "\t", removable.display_name)) + print("Comment: %s" % options.removal_comment) + + if options.dry_run: + print("Dry run; no packages removed.") + else: + if not options.confirm_all: + if YesNoQuestion().ask("Remove", "no") == "no": + return + + removals = [] + for removable, direct in removables: + if direct: + removable.requestDeletion( + removal_comment=options.removal_comment) + removals.append(removable) + + print("%d %s successfully removed." % + (len(removals), "package" if len(removals) == 1 else "packages")) + + +def main(): + parser = OptionParser( + usage='usage: %prog -m "comment" [options] package [...]', + epilog=lputils.ARCHIVE_REFERENCE_DESCRIPTION) + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-n", "--dry-run", default=False, action="store_true", + help="only show removals that would be performed") + parser.add_option( + "-y", "--confirm-all", default=False, action="store_true", + help="do not ask for confirmation") + parser.add_option("-A", "--archive", help="remove from ARCHIVE") + parser.add_option( + "-s", "--suite", metavar="SUITE", help="remove from SUITE") + parser.add_option( + "-a", "--architecture", dest="architectures", action="append", + metavar="ARCHITECTURE", + help="architecture tag (may be given multiple times)") + parser.add_option( + "-e", "--version", + metavar="VERSION", help="package version (default: current version)") + parser.add_option( + "-b", "--binary", dest="binaryonly", + default=False, action="store_true", help="remove binaries only") + parser.add_option("-m", "--removal-comment", help="removal comment") + parser.add_option( + "--skip-missing", default=False, action="store_true", + help=( + "When a package cannot be removed, normally this script exits " + "with a non-zero status. With --skip-missing instead, the " + "error is printed and removing continues")) + + # Deprecated in favour of -A. + parser.add_option( + "-d", "--distribution", default="ubuntu", help=SUPPRESS_HELP) + parser.add_option("-p", "--ppa", help=SUPPRESS_HELP) + parser.add_option("--ppa-name", help=SUPPRESS_HELP) + parser.add_option( + "-j", "--partner", default=False, action="store_true", + help=SUPPRESS_HELP) + + options, args = parser.parse_args() + + options.launchpad = Launchpad.login_with( + "remove-package", options.launchpad_instance, version="devel") + lputils.setup_location(options) + + if options.removal_comment is None: + parser.error( + "You must provide a comment/reason for all package removals.") + + remove_package(options, args) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/rescore-ppa-builds b/ubuntu-archive-tools/rescore-ppa-builds new file mode 100755 index 0000000..d42c28f --- /dev/null +++ b/ubuntu-archive-tools/rescore-ppa-builds @@ -0,0 +1,42 @@ +#!/usr/bin/python +# Rescore all builds in a PPA. +# +# Copyright (C) 2012 Canonical Ltd. +# Author: Martin Pitt +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from __future__ import print_function + +from optparse import OptionParser + +from launchpadlib.launchpad import Launchpad + + +parser = OptionParser(usage="usage: %prog ") +parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") +options, args = parser.parse_args() +if len(args) != 2: + parser.error("need both PPA owner and PPA name") + +owner, name = args + +launchpad = Launchpad.login_with( + 'rescore-ppa-builds', options.launchpad_instance) +ppa = launchpad.people[owner].getPPAByName(name=name) + +for build in ppa.getBuildRecords(build_state='Needs building'): + if build.can_be_rescored: + print('Rescoring %s' % build.title) + build.rescore(score=5000) diff --git a/ubuntu-archive-tools/retry-autopkgtest-regressions b/ubuntu-archive-tools/retry-autopkgtest-regressions new file mode 100755 index 0000000..c33f6a5 --- /dev/null +++ b/ubuntu-archive-tools/retry-autopkgtest-regressions @@ -0,0 +1,192 @@ +#!/usr/bin/python3 +# Generate a list of autopkgtest request.cgi URLs to +# re-run all autopkgtests which regressed +# Copyright (C) 2015-2016 Canonical Ltd. +# Author: Martin Pitt + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 +# USA + +from datetime import datetime +import dateutil.parser +from dateutil.tz import tzutc +import urllib.request +import urllib.parse +import argparse +import os +import re +import yaml +import json + +request_url = 'https://autopkgtest.ubuntu.com/request.cgi' +default_series = 'disco' +args = None + + +def get_cache_dir(): + cache_dir = os.environ.get('XDG_CACHE_HOME', + os.path.expanduser(os.path.join('~', '.cache'))) + uat_cache = os.path.join(cache_dir, 'ubuntu-archive-tools') + os.makedirs(uat_cache, exist_ok=True) + return uat_cache + + +def parse_args(): + parser = argparse.ArgumentParser( + 'Generate %s URLs to re-run regressions' % request_url, + formatter_class=argparse.RawDescriptionHelpFormatter, + description='''Typical workflow: + - export autopkgtest.ubuntu.com session cookie into ~/.cache/autopkgtest.cookie + Use a browser plugin or get the value from the settings and create it with + printf "autopkgtest.ubuntu.com\\tTRUE\\t/\\tTRUE\\t0\\tsession\\tVALUE\\n" > ~/.cache/autopkgtest.cookie + (The cookie is valid for one month) + + - retry-autopkgtest-regressions [opts...] | vipe | xargs -rn1 -P10 wget --load-cookies ~/.cache/autopkgtest.cookie -O- + edit URL list to pick/remove requests as desired, then close editor to let it run +''') + parser.add_argument('-s', '--series', default=default_series, + help='Ubuntu series (default: %(default)s)') + parser.add_argument('--bileto', metavar='TICKETNUMBER', + help='Run for bileto ticket') + parser.add_argument('--all-proposed', action='store_true', + help='run tests against all of proposed, i. e. with disabling apt pinning') + parser.add_argument('--state', default='REGRESSION', + help='generate commands for given test state (default: %(default)s)') + parser.add_argument('--max-age', type=float, metavar='DAYS', + help='only consider candiates which are at most ' + 'this number of days old (float allowed)') + parser.add_argument('--min-age', type=float, metavar='DAYS', + help='only consider candiates which are at least ' + 'this number of days old (float allowed)') + parser.add_argument('--blocks', + help='rerun only those tests that were triggered ' + 'by the named package') + parser.add_argument('--no-proposed', action='store_true', + help='run tests against release+updates instead of ' + 'against proposed, to re-establish a baseline for the ' + 'test. This currently only works for packages that ' + 'do not themselves have a newer version in proposed.') + args = parser.parse_args() + + return args + + +def get_regressions(excuses_url, release, retry_state, min_age, max_age, + blocks, no_proposed): + '''Return dictionary with regressions + + Return dict: release → pkg → arch → [trigger, ...] + ''' + cache_file = None + + # load YAML excuses + + # ignore bileto urls wrt caching, they're usually too small to matter + # and we don't do proper cache expiry + m = re.search('people.canonical.com/~ubuntu-archive/proposed-migration/' + '([^/]*)/([^/]*)', + excuses_url) + if m: + cache_dir = get_cache_dir() + cache_file = os.path.join(cache_dir, '%s_%s' % (m.group(1), m.group(2))) + try: + prev_mtime = os.stat(cache_file).st_mtime + except FileNotFoundError: + prev_mtime = 0 + prev_timestamp = datetime.fromtimestamp(prev_mtime, tz=tzutc()) + new_timestamp = datetime.now(tz=tzutc()).timestamp() + + f = urllib.request.urlopen(excuses_url) + if cache_file: + remote_ts = dateutil.parser.parse(f.headers['last-modified']) + if remote_ts > prev_timestamp: + with open('%s.new' % cache_file, 'wb') as new_cache: + for line in f: + new_cache.write(line) + os.rename('%s.new' % cache_file, cache_file) + os.utime(cache_file, times=(new_timestamp, new_timestamp)) + f.close() + f = open(cache_file, 'rb') + + excuses = yaml.load(f, Loader=yaml.CSafeLoader) + f.close() + regressions = {} + for excuse in excuses['sources']: + if blocks and blocks != excuse['source']: + continue + try: + age = excuse['policy_info']['age']['current-age'] + except KeyError: + age = None + + # excuses are sorted by ascending age + if min_age is not None and age is not None and age < min_age: + continue + if max_age is not None and age is not None and age > max_age: + break + for pkg, archinfo in excuse.get('policy_info', {}).get('autopkgtest', {}).items(): + try: + pkg, pkg_ver = re.split('[ /]+', pkg, 1) # split off version (either / or space separated) + # error and the package version is unknown + except ValueError: + pass + if no_proposed: + trigger = pkg + '/' + pkg_ver + else: + trigger = excuse['source'] + '/' + excuse['new-version'] + for arch, state in archinfo.items(): + if state[0] == retry_state: + regressions.setdefault(release, {}).setdefault( + pkg, {}).setdefault(arch, []).append(trigger) + + return regressions + + +args = parse_args() + +extra_params = [] +if args.all_proposed: + extra_params.append(('all-proposed', '1')) + +if args.bileto: + url_root = 'https://bileto.ubuntu.com' + ticket_url = url_root + '/v2/ticket/%s' % args.bileto + excuses_url = None + with urllib.request.urlopen(ticket_url) as f: + ticket = json.loads(f.read().decode('utf-8'))['tickets'][0] + ppa_name = ticket.get('ppa', '') + for line in ticket.get('autopkgtest', '').splitlines(): + if args.series in line: + excuses_url = line + break + if excuses_url.startswith('/'): + excuses_url = url_root + excuses_url + excuses_url = excuses_url.replace('.html', '.yaml') + extra_params += [('ppa', 'ci-train-ppa-service/stable-phone-overlay'), + ('ppa', 'ci-train-ppa-service/%s' % ppa_name)] +else: + excuses_url = 'http://people.canonical.com/~ubuntu-archive/proposed-migration/%s/update_excuses.yaml' % args.series +regressions = get_regressions(excuses_url, args.series, args.state, + args.min_age, args.max_age, args.blocks, + args.no_proposed) + +for release, pkgmap in regressions.items(): + for pkg, archmap in pkgmap.items(): + for arch, triggers in archmap.items(): + params = [('release', release), ('arch', arch), ('package', pkg)] + params += [('trigger', t) for t in triggers] + params += extra_params + url = request_url + '?' + urllib.parse.urlencode(params) + print(url) diff --git a/ubuntu-archive-tools/sru-accept b/ubuntu-archive-tools/sru-accept new file mode 100755 index 0000000..ef1100b --- /dev/null +++ b/ubuntu-archive-tools/sru-accept @@ -0,0 +1,77 @@ +#!/usr/bin/python + +# Copyright (C) 2008, 2009, 2010, 2011, 2012 Canonical Ltd. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Adjust SRU bugs after accepting the corresponding update.""" + +from __future__ import print_function + +from optparse import OptionParser +import re +import sys + +import launchpadlib.errors +from launchpadlib.launchpad import Launchpad +from sru_workflow import process_bug + + +CONSUMER_KEY = "sru-accept" + + +def append_series(option, opt_str, value, parser): + if value.endswith('-proposed'): + value = value[:-9] + parser.values.ensure_value(option.dest, []).append(value) + + +if __name__ == '__main__': + parser = OptionParser( + usage="Usage: %prog [options] -v version [options] bug [bug ...]") + + parser.add_option("-l", "--launchpad", dest="launchpad_instance", + default="production") + parser.add_option('-s', action='callback', callback=append_series, + type='string', dest='targets', + help='accept for SUITE(-proposed) instead of current ' + 'stable release', + metavar='SUITE') + parser.add_option('-p', dest='package', + help='only change tasks for a particular source package', + default=None, + metavar='SRCPACKAGE') + parser.add_option('-v', dest='version', + help='the version of the package being accepted', + default=None, + metavar='VERSION') + + options, args = parser.parse_args() + + if not options.version: + print('A package version (-v) was not provided.') + sys.exit(1) + + launchpad = Launchpad.login_with(CONSUMER_KEY, options.launchpad_instance) + if not options.targets: + options.targets = [[ + series.name for series in launchpad.distributions["ubuntu"].series + if series.status == "Current Stable Release"][0]] + try: + for num in args: + for series in options.targets: + process_bug( + launchpad, options.package, options.version, series, num) + except launchpadlib.errors.HTTPError as err: + print("There was an error:") + print(err.content) diff --git a/ubuntu-archive-tools/sru-release b/ubuntu-archive-tools/sru-release new file mode 100755 index 0000000..893ec03 --- /dev/null +++ b/ubuntu-archive-tools/sru-release @@ -0,0 +1,395 @@ +#!/usr/bin/python + +# Copyright (C) 2011, 2012 Canonical Ltd. +# Author: Martin Pitt + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +'''Release a proposed stable release update. + +Copy packages from -proposed to -updates, and optionally to -security and the +development release. + +USAGE: + sru-release [-s] [-d] [ ...] +''' + +from __future__ import print_function + +from collections import defaultdict +from functools import partial +import optparse +import sys +import unittest + +try: + from urllib.request import urlopen +except ImportError: + from urllib import urlopen + +from launchpadlib.launchpad import Launchpad + + +# Each entry in this list is a list of source packages that are known +# to have inter-dependencies and must be released simultaneously. +# If possible, each list should be ordered such that earlier +# entries could be released slightly before subsequent entries. +RELEASE_TOGETHER_PACKAGE_GROUPS = [ + ['linux-hwe', 'linux-meta-hwe'], + ['linux', 'linux-meta'], + ['grub2', 'grub2-signed'], + ['shim', 'shim-signed'], +] + +MISSING_PACKAGES_FROM_GROUP = ( + "The set of packages requested for release are listed as dangerous \n" + "to release without also releasing the following at the same time:\n" + " {missing}\n\n" + "For more information, see:\n" + " https://lists.ubuntu.com/archives/ubuntu-devel/2018-June/040380.html\n\n" + "To ignore this message, pass '--skip-package-group-check'.") + + +def check_package_sets(packages): + """Return a re-ordered list of packages respecting the PACKAGE_SETS + defined above. If any packages are missing, raise error.""" + + # pkg2group is a dict where each key is a pkg in a group and value is the + # complete group. + pkg2group = {} + for pgroup in RELEASE_TOGETHER_PACKAGE_GROUPS: + for pkg in pgroup: + if pkg in pkg2group: + raise RuntimeError( + "Overlapping package groups. '%s' is in '%s' and '%s'." % + (pkg, pgroup, pkg2group[pkg])) + pkg2group[pkg] = pgroup + + seen = set() + new_pkgs = [] + for pkg in packages: + if pkg not in pkg2group: + add = [pkg] + else: + add = list(pkg2group[pkg]) + new_pkgs.extend([a for a in add if a not in seen]) + seen.update(add) + + orig = set(packages) + new = set(new_pkgs) + if orig != new: + raise ValueError( + MISSING_PACKAGES_FROM_GROUP.format( + missing=' '.join(new.difference(orig)))) + return new_pkgs + + +class CheckPackageSets(unittest.TestCase): + def test_expected_linux_order_fixed(self): + self.assertEqual( + ['pkg1', 'linux', 'linux-meta', 'pkg2'], + check_package_sets(['pkg1', 'linux-meta', 'linux', 'pkg2'])) + + def test_raises_value_error_on_missing(self): + self.assertRaises( + ValueError, check_package_sets, ['pkg1', 'linux']) + + def test_single_item_with_missing(self): + self.assertRaises( + ValueError, check_package_sets, ['linux']) + + def test_single_item_without_missing(self): + self.assertEqual( + check_package_sets(['pkg1']), ['pkg1']) + + def test_multiple_package_groups(self): + """Just make sure that having multiple groups listed still errors.""" + self.assertRaises( + ValueError, check_package_sets, ['pkg1', 'linux', 'grub2']) + + +def match_srubugs(options, changesfileurl): + '''match between bugs with verification- tag and bugs in changesfile''' + + bugs = [] + + if changesfileurl is None: + return bugs + + # Load changesfile + changelog = urlopen(changesfileurl) + bugnums = [] + for l in changelog: + if l.startswith('Launchpad-Bugs-Fixed: '): + bugnums = l.split()[1:] + break + + for b in bugnums: + if b in options.exclude_bug: + continue + try: + bugs.append(launchpad.bugs[int(b)]) + except: + print('%s: bug %s does not exist or is not accessible' % + (changesfileurl, b)) + + return bugs + + +def update_sru_bug(bug, pkg): + '''Unsubscribe SRU team and comment on bug re: how to report regressions''' + m_subjects = [m.subject for m in bug.messages] + if 'Update Released' in m_subjects: + print('LP: #%s was not commented on' % bug.id) + return + sru_team = launchpad.people['ubuntu-sru'] + bug.unsubscribe(person=sru_team) + text = ("The verification of the Stable Release Update for %s has " + "completed successfully and the package has now been released " + "to -updates. Subsequently, the Ubuntu Stable Release Updates " + "Team is being unsubscribed and will not receive messages " + "about this bug report. In the event that you encounter " + "a regression using the package from -updates please report " + "a new bug using ubuntu-bug and tag the bug report " + "regression-update so we can easily find any regressions." % pkg) + bug.newMessage(subject="Update Released", content=text) + bug.lp_save() + + +def get_versions(options, sourcename): + '''Get current package versions. + + If options.pattern is True, return all versions for package names + matching options.pattern. + If options.pattern is False, only return one result. + + Return map pkgname -> {'release': version, 'updates': version, + 'proposed': version, 'changesfile': url_of_proposed_changes, + 'published': proposed_date} + ''' + versions = defaultdict(dict) + if options.esm: + pocket = 'Release' + else: + pocket = 'Proposed' + + matches = src_archive.getPublishedSources( + source_name=sourcename, exact_match=not options.pattern, + status='Published', pocket=pocket, distro_series=series) + for match in matches: + # versions in all pockets + for pub in src_archive.getPublishedSources( + source_name=match.source_package_name, exact_match=True, + status='Published', distro_series=series): + key = pub.pocket.lower() + # special case for ESM ppas, which don't have pockets but need + # to be treated as -proposed + if options.esm and key == 'release': + key = 'proposed' + versions[pub.source_package_name][key] = ( + pub.source_package_version) + if pocket in pub.pocket: + versions[pub.source_package_name]['changesfile'] = ( + pub.changesFileUrl()) + # When the destination archive differs from the source scan that too. + if dst_archive != src_archive: + for pub in dst_archive.getPublishedSources( + source_name=match.source_package_name, exact_match=True, + status='Published', distro_series=series): + key = 'security' # pub.pocket.lower() + versions[pub.source_package_name][key] = ( + pub.source_package_version) + if pocket in pub.pocket: + versions[pub.source_package_name]['changesfile'] = ( + pub.changesFileUrl()) + + # devel version + if devel_series: + for pub in src_archive.getPublishedSources( + source_name=match.source_package_name, exact_match=True, + status='Published', distro_series=devel_series): + if pub.pocket in ('Release', 'Proposed'): + versions[pub.source_package_name]['devel'] = ( + pub.source_package_version) + else: + versions[match.source_package_name]['devel'] = None + + return versions + + +def release_package(options, package): + '''Release a package.''' + + pkg_versions_map = get_versions(options, package) + if not pkg_versions_map: + message = 'ERROR: No such package, ' + package + ', in -proposed, aborting\n' + sys.stderr.write(message) + sys.exit(1) + + for pkg, versions in pkg_versions_map.iteritems(): + print('--- Releasing %s ---' % pkg) + print('Proposed: %s' % versions['proposed']) + if 'security' in versions: + print('Security: %s' % versions['security']) + if 'updates' in versions: + print('Updates: %s' % versions['updates']) + else: + print('Release: %s' % versions.get('release')) + if options.devel and 'devel' in versions: + print('Devel: %s' % versions['devel']) + + copy = partial( + dst_archive.copyPackage, from_archive=src_archive, + include_binaries=True, source_name=pkg, + version=versions['proposed'], auto_approve=True) + + if options.devel: + if ('devel' not in versions or + versions['devel'] in ( + versions.get('updates', 'notexisting'), + versions['release'])): + if not options.no_act: + copy(to_pocket='Proposed', to_series=devel_series.name) + print('Version in %s matches development series, ' + 'copied to %s-proposed' % (release, devel_series.name)) + else: + print('ERROR: Version in %s does not match development ' + 'series, not copying' % release) + + if options.no_act: + if options.release: + print('Would copy to %s' % release) + else: + print('Would copy to %s-updates' % release) + else: + if options.release: + # -proposed -> release + copy(to_pocket='Release', to_series=release) + print('Copied to %s' % release) + else: + # -proposed -> -updates + # only phasing updates for >=raring to start + if (release not in ('lucid', 'precise') and + package != 'linux' and + not package.startswith('linux-') and + not options.security): + copy(to_pocket='Updates', to_series=release, + phased_update_percentage=options.percentage) + else: + copy(to_pocket='Updates', to_series=release) + print('Copied to %s-updates' % release) + if not options.no_bugs: + sru_bugs = match_srubugs(options, versions['changesfile']) + tag = 'verification-needed-%s' % release + for sru_bug in sru_bugs: + if tag not in sru_bug.tags: + update_sru_bug(sru_bug, pkg) + + # -proposed -> -security + if options.security: + if options.no_act: + print('Would copy to %s-security' % release) + else: + copy(to_pocket='Security', to_series=release) + print('Copied to %s-security' % release) + + +if __name__ == '__main__': + if len(sys.argv) > 1 and sys.argv[1] == "run-tests": + sys.exit(unittest.main(argv=[sys.argv[0]] + sys.argv[2:])) + + parser = optparse.OptionParser( + usage='usage: %prog [options] [ ...]') + + parser.add_option( + '-l', '--launchpad', dest='launchpad_instance', default='production') + parser.add_option( + '--security', action='store_true', default=False, + help='Additionally copy to -security pocket') + parser.add_option( + '-d', '--devel', action='store_true', default=False, + help='Additionally copy to development release (only works if that ' + 'has the same version as )') + parser.add_option( + '-r', '--release', action='store_true', default=False, + help='Copy to release pocket instead of -updates (useful for staging ' + 'uploads in development release)') + parser.add_option( + "-z", "--percentage", type="int", default=10, + metavar="PERCENTAGE", help="set phased update percentage") + parser.add_option( + '-n', '--no-act', action='store_true', default=False, + help='Only perform checks, but do not actually copy packages') + parser.add_option( + '-p', '--pattern', action='store_true', default=False, + help='Treat package names as patterns, not exact matches') + parser.add_option( + '--no-bugs', action='store_true', default=False, + help='Do not act on any bugs (helpful to avoid races).') + parser.add_option( + '--exclude-bug', action='append', default=[], metavar='BUG', + help='Do not update BUG.') + parser.add_option( + '-E', '--esm', action='store_true', default=False, + help='Copy from the kernel ESM proposed PPA to the ESM publication PPA') + parser.add_option( + '--skip-package-group-check', action='store_true', default=False, + help=('Skip the package set checks that require some packages ' + 'be released together')) + + options, args = parser.parse_args() + + if len(args) < 2: + parser.error( + 'You must specify a release and source package(s), see --help') + + if options.release and (options.security or options.devel): + parser.error('-r and -s/-d are mutually exclusive, see --help') + + release = args.pop(0) + packages = args + + if not options.skip_package_group_check: + try: + packages = check_package_sets(packages) + except ValueError as e: + sys.stderr.write(e.args[0] + '\n') + sys.exit(1) + + launchpad = Launchpad.login_with( + 'ubuntu-archive-tools', options.launchpad_instance, version='devel') + ubuntu = launchpad.distributions['ubuntu'] + series = ubuntu.getSeries(name_or_version=release) + devel_series = ubuntu.current_series + if not devel_series: + sys.stderr.write( + 'WARNING: No current development series, -d will not work\n') + devel_series = None + if release == 'precise': + sys.stdout.write( + 'Called for precise; assuming kernel ESM publication\n') + options.esm = True + + if options.esm: + # --security is meaningless for ESM everything is a security update. + options.security = False + options.release = True + src_archive = launchpad.archives.getByReference( + reference='~canonical-kernel-esm/ubuntu/proposed') + dst_archive = launchpad.archives.getByReference( + reference='~ubuntu-esm/ubuntu/esm') + else: + src_archive = dst_archive = ubuntu.getArchive(name='primary') + + for package in packages: + release_package(options, package) diff --git a/ubuntu-archive-tools/sru-remove b/ubuntu-archive-tools/sru-remove new file mode 100755 index 0000000..017caad --- /dev/null +++ b/ubuntu-archive-tools/sru-remove @@ -0,0 +1,159 @@ +#!/usr/bin/python + +# Copyright (C) 2015 Brian Murray + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +'''Remove an SRU fom the -proposed pocket for a release. + +Remove a package from the -proposed pocket for a release of Ubuntu and comment +on bug reports regarding the removal of the package giving an explanation that +it was removed to due a failure for the SRU bug(s) to be verified in a timely +fashion. + +USAGE: + sru-remove -s trusty -p homerun 12345 +''' + +from __future__ import print_function + +import optparse +import re +import subprocess +import sys + +from launchpadlib.launchpad import Launchpad + + +def parse_options(): + '''Parse command line arguments. + + Return (options, [bugs]) tuple. + ''' + + parser = optparse.OptionParser( + usage='Usage: %prog [options]') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-s", dest="release", default=default_release, metavar="RELEASE", + help="release (default: %s)" % default_release) + parser.add_option( + "-p", "--package", dest="sourcepkg") + + opts, args = parser.parse_args() + + return (opts, args) + + +def process_bug(launchpad, distroseries, sourcepkg, num): + bug_target_re = re.compile( + r'/ubuntu/(?:(?P[^/]+)/)?\+source/(?P[^/]+)$') + bug = launchpad.bugs[num] + series_name = distroseries.name + open_task = False + + for task in bug.bug_tasks: + # Ugly; we have to do URL-parsing to figure this out. + # /ubuntu/+source/foo can be fed to launchpad.load() to get a + # distribution_source_package, but /ubuntu/hardy/+source/foo can't. + match = bug_target_re.search(task.target.self_link) + if (not match or + (sourcepkg and + match.group('source') != sourcepkg)): + print("Ignoring task %s in bug %s" % (task.web_link, num)) + continue + if (match.group('suite') != series_name and + match.group('suite') in supported_series and + task.status == "Fix Committed"): + open_task = True + if (match.group('suite') == series_name and + task.status == "Fix Committed"): + task.status = "Won't Fix" + task.lp_save() + print("Success: task %s in bug %s" % (task.web_link, num)) + btags = bug.tags + series_v_needed = 'verification-needed-%s' % series_name + if series_v_needed in btags: + # this dance is needed due to + # https://bugs.launchpad.net/launchpadlib/+bug/254901 + tags = btags + tags.remove(series_v_needed) + bug.tags = tags + bug.lp_save() + + text = ('The version of %s in the proposed pocket of %s that was ' + 'purported to fix this bug report has been removed because ' + 'the bugs that were to be fixed by the upload were not ' + 'verified in a timely (105 days) fashion.' % + (sourcepkg, series_name.title())) + bug.newMessage(content=text, + subject='Proposed package removed from archive') + + # remove verification-needed tag if there are no open tasks + if open_task: + return + # only unsubscribe the teams if there are no open tasks left + bug.unsubscribe(person=launchpad.people['ubuntu-sru']) + bug.unsubscribe(person=launchpad.people['sru-verification']) + if 'verification-needed' in btags: + # this dance is needed due to + # https://bugs.launchpad.net/launchpadlib/+bug/254901 + tags = btags + tags.remove('verification-needed') + bug.tags = tags + bug.lp_save() + + +if __name__ == '__main__': + + default_release = 'cosmic' + removal_comment = ('The package was removed due to its SRU bug(s) ' + 'not being verified in a timely fashion.') + + (opts, bugs) = parse_options() + + launchpad = Launchpad.login_with('sru-remove', opts.launchpad_instance, + version="devel") + ubuntu = launchpad.distributions['ubuntu'] + # determine series for which we issue SRUs + supported_series = [] + for serie in ubuntu.series: + if serie.supported: + supported_series.append(serie.name) + + series = ubuntu.getSeries(name_or_version=opts.release) + archive = ubuntu.main_archive + + existing = [ + pkg for pkg in archive.getPublishedSources( + exact_match=True, distro_series=series, pocket='Proposed', + source_name=opts.sourcepkg, status='Published')] + + if not existing: + print("ERROR: %s was not found in -proposed for release %s." % + (opts.sourcepkg, opts.release), file=sys.stderr) + sys.exit(1) + + rm_p_cmd = ["remove-package", "-m", removal_comment, "-y", + "-l", opts.launchpad_instance, "-s", + "%s-proposed" % opts.release, opts.sourcepkg] + ret = subprocess.call(rm_p_cmd) + if ret != 0: + print("ERROR: There was an error removing %s from %s-proposed.\n" + "The remove-package command returned %s." % + (opts.sourcepkg, opts.release, ret), file=sys.stderr) + sys.exit(1) + # only comment on the bugs after removing the package + for bug in bugs: + process_bug(launchpad, series, opts.sourcepkg, bug) diff --git a/ubuntu-archive-tools/sru-report b/ubuntu-archive-tools/sru-report new file mode 100755 index 0000000..4ac90db --- /dev/null +++ b/ubuntu-archive-tools/sru-report @@ -0,0 +1,722 @@ +#!/usr/bin/python + +# Copyright (C) 2009, 2010, 2011, 2012 Canonical Ltd. +# Authors: +# Martin Pitt +# Jean-Baptiste Lallement +# (initial conversion to launchpadlib) +# Brian Murray + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Generate a report of pending SRU +# +# TODO: +# - Add to report bug reports tagged with verification-* and not in -proposed + +from __future__ import print_function + +from collections import defaultdict +from operator import itemgetter + +import datetime +import logging +import os +import time +try: + from urllib.request import urlopen +except ImportError: + from urllib import urlopen +import yaml + +import apt_pkg +from launchpadlib.errors import HTTPError +from launchpadlib.launchpad import Launchpad as _Launchpad +from lazr.restfulclient.errors import ClientError + + +# Work around non-multiple-instance-safety of launchpadlib (bug #459418). +class Launchpad(_Launchpad): + @classmethod + def _get_paths(cls, service_root, launchpadlib_dir=None): + service_root, launchpadlib_dir, cache_path, service_root_dir = ( + _Launchpad._get_paths( + service_root, launchpadlib_dir=launchpadlib_dir)) + cache_path += "-sru-report" + if not os.path.exists(cache_path): + os.makedirs(cache_path, 0o700) + return service_root, launchpadlib_dir, cache_path, service_root_dir + + +if os.getenv('DEBUG'): + DEBUGLEVEL = logging.DEBUG +else: + DEBUGLEVEL = logging.WARNING + +lp = None +lp_url = None +ubuntu = None +archive = None +releases = {} # name -> distro_series +series = [] +broken_bugs = set() +ignored_commenters = [] +excuses_url = ("http://people.canonical.com/~ubuntu-archive/proposed-migration" + "/%s/update_excuses.yaml") + + +def current_versions(distro_series, sourcename): + '''Get current package versions + + Return map {'release': version, + 'updates': version, + 'proposed': version, + 'creator': proposed_creator, + 'signer': proposed_signer, + 'changesfiles': [urls_of_proposed_changes], + 'published': proposed_date} + ''' + global archive + + logging.debug( + 'Fetching publishing history for %s/%s' % + (distro_series.name, sourcename)) + history = { + 'release': '', 'updates': '', 'proposed': '', 'changesfiles': [], + 'published': datetime.datetime.now()} + pubs = archive.getPublishedSources( + source_name=sourcename, exact_match=True, status='Published', + distro_series=distro_series) + base_version = None + base_created = None + for pub in pubs: + p_srcpkg_version = pub.source_package_version + p_date_pub = pub.date_published + p_pocket = pub.pocket + if pub.pocket in ('Release', 'Updates'): + if (base_version is None or + apt_pkg.version_compare( + base_version, p_srcpkg_version) < 0): + base_version = p_srcpkg_version + base_created = pub.date_created + elif p_pocket == 'Proposed': + history['changesfiles'].append(pub.changesFileUrl()) + history['published'] = p_date_pub + try: + history['creator'] = str(pub.package_creator) + except ClientError as error: + if error.response['status'] == '410': + history['creator'] = '' + try: + history['signer'] = str(pub.package_signer) + except ClientError as error: + if error.response['status'] == '410': + history['signer'] = '' + logging.debug( + '%s=%s published to %s/%s on %s' % + (sourcename, p_srcpkg_version, + distro_series.name, p_pocket, p_date_pub)) + history[p_pocket.lower()] = p_srcpkg_version + if base_version is not None: + proposed = archive.getPublishedSources( + source_name=sourcename, exact_match=True, + distro_series=distro_series, pocket='Proposed', + created_since_date=base_created) + for pub in proposed: + if pub.status == 'Deleted': + continue + if apt_pkg.version_compare( + base_version, pub.source_package_version) >= 0: + continue + changesfileurl = pub.changesFileUrl() + if changesfileurl not in history['changesfiles']: + history['changesfiles'].append(changesfileurl) + if not history['published'].tzinfo: + history['published'] = pub.date_published + return history + + +def bug_open_js(bugs, title=None): + '''Return JavaScript snippet for opening bug URLs''' + if not bugs: + return '' + if not title: + title = 'open bugs' + + js = '' + for b in bugs: + js += "window.open('%s/bugs/%d');" % (lp_url, b) + return '' % (js, title, len(bugs)) + + +def print_report(srus): + '''render the report''' + global releases + + # + # headers/CSS + # + + print(''' + + + + Pending Ubuntu SRUs + + + +

Pending Ubuntu Stable Release Updates

+''') + print('

Generated: %s by sru-report

' % + time.strftime('%F %T UTC', time.gmtime())) + + print('

Jump to: ', end="") + print('security-superseded ' + 'upload-queues ' + 'cleanup

') + + print('''

A stable +release update is currently in progress for the following packages, i. e. +they have a newer version in -proposed than in -updates. Note that there is a +separate report +for Kernel updates. Once an update has been +verified and released to -updates it then proceeds through the phased update +process. The status of current updates undergoing phasing can be found in a +separate +report.

+ +

Bugs in green are verified, +bugs in red failed verification, +bugs in yellow are Incomplete, +bugs in golden have received a comment +since the package was accepted in -proposed, +bugs in gray are candidates for removal +due to a lack of verification, +bugs in italic are kernel tracking +bugs and bugs that are +struck through are +duplicate bug reports or weren't accessible at the time the report was +generated.

''') + + # + # pending SRUs + # + + pkg_index = defaultdict(dict) + pkgcleanup = [] + pkgcleanup_release = [] + pkgsuperseded = [] + # set of (series_name, srcpkg, [bugs]) + proposed_antique = [] + for release in sorted(srus): + if not srus[release]: + continue + for pack in srus[release]: + pkg_index[release][pack] = srus[release][pack]['published'] + for pkg, pub in sorted(pkg_index[release].iteritems(), + key=itemgetter(1)): + rpkg = srus[release][pkg] + if cleanup(rpkg): + pkgcleanup.append([release, pkg, rpkg]) + del pkg_index[release][pkg] + continue + if cleanup_release(rpkg): + pkgcleanup_release.append([release, pkg, rpkg]) + del pkg_index[release][pkg] + continue + if security_superseded(rpkg): + pkgsuperseded.append([release, pkg, rpkg]) + del pkg_index[release][pkg] + continue + + for release in reversed(series): + if releases[release].status == "Active Development": + # Migrations in the development series are handled automatically. + continue + if not srus[release]: + continue + print('''

%s

+ + + + ''' % (release, release)) + for pkg, pub in sorted(pkg_index[release].iteritems(), + key=itemgetter(1)): + # skip everything that shows up on the kernel SRU reports + if (pkg in ('linux', 'linux-hwe', 'linux-hwe-edge', + 'linux-kvm', 'linux-oem', + 'linux-raspi2', 'linux-snapdragon', + 'linux-keystone', 'linux-armadaxp', 'linux-ti-omap4', + 'linux-aws', 'linux-aws-hwe', 'linux-aws-edge', + 'linux-azure', 'linux-azure-edge', + 'linux-gcp', 'linux-gcp-edge', + 'linux-gke', 'linux-euclid', 'linux-oracle') or + pkg.startswith('linux-signed') or + pkg.startswith('linux-meta') or + pkg.startswith('linux-lts') or + pkg.startswith('linux-backports-modules')): + continue + # for langpack updates, only keep -en as a representative + if (pkg.startswith('language-pack-') and + pkg not in ('language-pack-en', 'language-pack-en-base')): + continue + if (pkg.startswith('kde-l10n-') and pkg != 'kde-l10n-de'): + continue + + rpkg = srus[release][pkg] + pkgurl = '%s/ubuntu/+source/%s/' % (lp_url, pkg) + age = (datetime.datetime.now() - rpkg['published'].replace( + tzinfo=None)).days + + builds = '' + for arch, (state, url) in rpkg['build_problems'].items(): + builds += '
%s: %s ' % (arch, url, state) + if builds: + builds = '%s' % builds + + autopkg_fails = '' + for excuse in rpkg['autopkg_fails']: + autopkg_fails += '
%s' % excuse + if autopkg_fails: + autopkg_fails = '%s' \ + % autopkg_fails + + print(' ' % + (pkgurl, pkg, builds, autopkg_fails)) + print(' ' % + (pkgurl + rpkg['release'], rpkg['release'])) + print(' ' % + (pkgurl + rpkg['updates'], rpkg['updates'])) + signer = str(rpkg['signer']).split('~')[-1] + uploaders = '%s' % \ + (lp_url, signer, signer) + if rpkg['creator'] and rpkg['creator'] != rpkg['signer']: + creator = str(rpkg['creator']).split('~')[-1] + uploaders += ', %s' % \ + (lp_url, creator, creator) + print(' ' % + (pkgurl + rpkg['proposed'], rpkg['proposed'], uploaders)) + print(' ') + print(' ' % age) + print('
Package-release-updates-proposed (signer, creator)changelog bugsdays
%s%s %s%s%s%s (%s)') + removable = True + antique = False + for b, t in sorted(rpkg['bugs'].iteritems()): + cls = ' class="' + incomplete = False + try: + bug = lp.bugs[b] + bug_title = bug.title.encode('UTF-8') + hover_text = bug_title + for task in bug.bug_tasks: + if task.self_link.split('/')[4] != 'ubuntu': + continue + if len(task.self_link.split('/')) != 10: + continue + if pkg == task.self_link.split('/')[7] \ + and release == task.self_link.split('/')[5]: + if task.status == 'Incomplete': + incomplete = True + break + except KeyError: + logging.debug( + 'bug %d does not exist or is not accessible' % b) + broken_bugs.add(b) + hover_text = '' + if ('kernel-tracking-bug' in t or + 'kernel-release-tracking-bug' in t): + cls += 'kerneltracking ' + if incomplete: + cls += ' incomplete' + elif ('verification-failed' in t or + 'verification-failed-%s' % release in t): + cls += ' verificationfailed' + elif 'verification-done-%s' % release in t: + cls += ' verified' + removable = False + elif b in broken_bugs: + cls += ' broken' + removable = False + elif bug: + if bug.duplicate_of: + cls += ' broken' + last_message_date = bug.date_last_message.replace( + minute=0, second=0, microsecond=0) + published_date = rpkg['published'].replace( + minute=0, second=0, microsecond=0) + today = datetime.datetime.utcnow() + if last_message_date > published_date: + for message in bug.messages: + m_date = message.date_created + if m_date <= rpkg['published']: + continue + m_owner = message.owner + if ('verification still needed' + in message.subject.lower()): + if (m_date.replace(tzinfo=None) < today + - datetime.timedelta(16)): + cls += ' removal' + antique = True + continue + if 'messages' in cls: + cls = cls.replace('messages', '') + continue + try: + if (m_owner not in ignored_commenters and + 'messages' not in cls): + cls += ' messages' + if m_owner not in ignored_commenters: + hover_text = '%s\n%s\n' % ( \ + bug_title, \ + datetime.datetime.strftime( + m_date, '%Y-%m-%d')) + hover_text += message.content.encode( + 'UTF-8') + ' - ' + hover_text += m_owner.name.encode( + 'UTF-8') + antique = False + except ClientError as error: + # people who don't use lp anymore + if error.response['status'] == '410': + continue + cls += '"' + + print('%d%s' % + (lp_url, b, hover_text.replace('"', ''), cls, b, + '(hw)' if 'hw-specific' in t else '')) + if antique and removable: + proposed_antique.append((releases[release].name, pkg, + [str(b) for b in rpkg['bugs']])) + print(' %i
') + + # + # superseded by -security + # + + print('

Superseded by -security

') + + print('

The following SRUs have been shadowed by a security update and ' + 'need to be re-merged:

') + + for pkg in pkgsuperseded: + print('''

%s

+ + ''' % pkg[0]) + pkgurl = '%s/ubuntu/+source/%s/' % (lp_url, pkg[1]) + (vprop, vsec) = (pkg[2]['proposed'], pkg[2]['security']) + print(' \ + \ + ' % ( + pkgurl, pkg[1], pkgurl + vprop, vprop, pkgurl + vsec, vsec)) + print('
Package-proposed-security
%s%s%s
') + + print('''\ +

Upload queue status at a glance:

+ + + + + + + + ''') + for p in ['Proposed', 'Updates', 'Backports', 'Security']: + print(''' ') + + print(' ') + print('
ProposedUpdatesBackportsSecurity
+ ''') + for r in sorted(releases): + new_url = ( + '%s/ubuntu/%s/+queue?queue_state=0' % (lp_url, r)) + unapproved_url = ( + '%s/ubuntu/%s/+queue?queue_state=1' % (lp_url, r)) + print(' ' + '' % + (r, unapproved_url, + get_queue_count('Unapproved', releases[r], p), + new_url, get_queue_count('New', releases[r], p))) + print('
ReleaseUnapprovedNew
%s%s%s
') + + # + # -proposed cleanup + # + + print('

-proposed cleanup

') + print('

The following packages have an equal or higher version in ' + '-updates and should be removed from -proposed:

') + + print('
')
+    for r in releases:
+        for pkg in sorted(pkgcleanup):
+            if pkg[0].startswith(r):
+                print(
+                    'remove-package -y -m "moved to -updates" -s %s-proposed '
+                    '-e %s %s' % (r, pkg[2]['proposed'], pkg[1]))
+    print('
') + + print('

The following packages have an equal or higher version in the ' + 'release pocket and should be removed from -proposed:

') + + print('
')
+    for r in releases:
+        for pkg in sorted(pkgcleanup_release):
+            if pkg[0].startswith(r):
+                print(
+                    'remove-package -y -m "moved to release" -s %s-proposed '
+                    '-e %s %s' % (r, pkg[2]['proposed'], pkg[1]))
+    print('
') + + print('

The following packages have not had their SRU bugs verified in ' + '105 days and should be removed from -proposed:

') + + print('
')
+    for r in releases:
+        for pkg in sorted(proposed_antique):
+            if pkg[0].startswith(r):
+                print('sru-remove -s %s -p %s %s' %
+                      (r, pkg[1], ' '.join(pkg[2])))
+    print('
') + + print(''' + ''') + + +def cleanup(pkgrecord): + '''Return True if updates is newer or equal than proposed''' + if 'updates' in pkgrecord: + return apt_pkg.version_compare( + pkgrecord['proposed'], pkgrecord['updates']) <= 0 + return False + + +def cleanup_release(pkgrecord): + '''Return True if updates is newer or equal than release''' + if 'release' in pkgrecord: + return apt_pkg.version_compare( + pkgrecord['proposed'], pkgrecord['release']) <= 0 + return False + + +def security_superseded(pkgrecord): + '''Return True if security is newer than proposed''' + if 'security' in pkgrecord: + return apt_pkg.version_compare( + pkgrecord['proposed'], pkgrecord['security']) < 0 + return False + + +def match_srubugs(changesfileurls): + '''match between bugs with verification- tag and bugs in changesfile''' + global lp + bugs = {} + + for changesfileurl in changesfileurls: + if changesfileurl is None: + continue + + # Load changesfile + logging.debug("Fetching Changelog: %s" % changesfileurl) + changelog = urlopen(changesfileurl) + bugnums = [] + for l in changelog: + if l.startswith('Launchpad-Bugs-Fixed: '): + bugnums = [int(b) for b in l.split()[1:]] + break + + for b in bugnums: + if b in bugs: + continue + try: + bug = lp.bugs[b] + bugs[b] = bug.tags + except KeyError: + logging.debug( + '%s: bug %d does not exist or is not accessible' % + (changesfileurl, b)) + broken_bugs.add(b) + bugs[b] = [] + + logging.debug("%d bugs found: %s" % (len(bugs), " ".join(map(str, bugs)))) + return bugs + + +def lpinit(): + '''Init LP credentials, archive, distro list and sru-team members''' + global lp, lp_url, ubuntu, archive, releases, ignored_commenters, series + logging.debug("Initializing LP Credentials") + lp = Launchpad.login_anonymously('sru-report', 'production', + version="devel") + lp_url = str(lp._root_uri).replace('api.', '').strip('devel/') + ubuntu = lp.distributions['ubuntu'] + archive = ubuntu.getArchive(name='primary') + for s in ubuntu.series: + if s.status in ('Current Stable Release', 'Supported'): + releases[s.name] = s + series.append(s.name) + logging.debug('Active releases found: %s' % ' '.join(releases)) + # create a list of people for whom comments will be ignored when + # displaying the last comment in the report + ignored_commenters = [] + ubuntu_sru = lp.people['ubuntu-sru'] + for participant in ubuntu_sru.participants: + ignored_commenters.append(participant) + ignored_commenters.append(lp.people['janitor']) + ignored_commenters.append( + lp.people['bug-watch-updater']) + + +def get_queue_count(search_status, release, search_pocket): + '''Return number of results of given queue page URL''' + return len(release.getPackageUploads( + status=search_status, archive=archive, pocket=search_pocket)) + + +def get_srus(): + '''Generate SRU map. + + Return a dictionary release -> packagename -> { + 'release': version, + 'proposed': version, + 'updates': version, + 'published': proposed_date, + 'bugs': [buglist], + 'changesfiles': [changes_urls], + 'build_problems': { arch -> (state, URL) }, + 'autopkg_fails': [excuses] + } + ''' + srus = defaultdict(dict) + + for release in releases: + #if releases[release].status not in ( + # "Active Development", "Pre-release Freeze"): + # continue # for quick testing + pkg_excuses = [] + if release != 'lucid': + excuses_page = excuses_url % release + excuses = urlopen(excuses_page) + excuses_data = yaml.load(excuses) + pkg_excuses = [excuse['source'] + for excuse in excuses_data['sources'] + if 'autopkgtest' in excuse['reason'] + or 'block' in excuse['reason']] + + for published in archive.getPublishedSources( + pocket='Proposed', status='Published', + distro_series=releases[release]): + pkg = published.source_package_name + + srus[release][pkg] = current_versions(releases[release], pkg) + srus[release][pkg]['bugs'] = match_srubugs( + srus[release][pkg]['changesfiles']) + + srus[release][pkg]['build_problems'] = {} + try: + for build in published.getBuilds(): + if not build.buildstate.startswith('Success'): + srus[release][pkg]['build_problems'][build.arch_tag] \ + = (build.buildstate, build.web_link) + except HTTPError as e: + if e.response['status'] == '401': + continue + else: + raise e + + srus[release][pkg]['autopkg_fails'] = [] + if pkg in pkg_excuses: + for excuse in excuses_data['sources']: + if excuse['source'] == pkg: + if 'autopkgtest' not in excuse['policy_info']: + continue + for testpkg in excuse['policy_info']['autopkgtest']: + for arch in excuse['policy_info']['autopkgtest'][testpkg]: + if excuse['policy_info']['autopkgtest'][testpkg][arch][0] == 'REGRESSION': + link = excuse['policy_info']['autopkgtest'][testpkg][arch][1] + testpkg_name = testpkg.split('/')[0] + if testpkg_name.startswith('lib'): + testpkg_idx = testpkg_name[:3] + else: + testpkg_idx = testpkg_name[0] + autopkg_url = 'http://autopkgtest.ubuntu.com/packages/%s/%s/%s/%s' % (testpkg_idx, testpkg_name, release, arch) + srus[release][pkg]['autopkg_fails'].append('Regression in autopkgtest for %s (%s): test log' % (autopkg_url, testpkg_name, arch, link)) + + return srus + + +def bugs_from_changes(change_url): + '''Return (bug_list, cve_list) from a .changes file URL''' + changelog = urlopen(change_url) + + refs = [] + bugs = set() + cves = set() + + for l in changelog: + if l.startswith('Launchpad-Bugs-Fixed: '): + refs = [int(b) for b in l.split()[1:]] + break + + for b in refs: + try: + lpbug = lp.bugs[b] + except KeyError: + logging.debug('%s: bug %d does not exist or is not accessible' % ( + change_url, b)) + broken_bugs.add(b) + continue + if lpbug.title.startswith('CVE-'): + cves.add(b) + else: + bugs.add(b) + + return (sorted(bugs), sorted(cves)) + + +def main(): + logging.basicConfig(level=DEBUGLEVEL, + format="%(asctime)s - %(levelname)s - %(message)s") + lpinit() + apt_pkg.init_system() + + srus = get_srus() + + print_report(srus) + + +if __name__ == "__main__": + main() diff --git a/ubuntu-archive-tools/sru-review b/ubuntu-archive-tools/sru-review new file mode 100755 index 0000000..480cf5c --- /dev/null +++ b/ubuntu-archive-tools/sru-review @@ -0,0 +1,419 @@ +#!/usr/bin/python3 + +# Copyright (C) 2009, 2010, 2011, 2012, 2018 Canonical Ltd. +# Copyright (C) 2010 Scott Kitterman +# Author: Martin Pitt +# Author: Brian Murray + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +'''Show and approve changes in an unapproved upload. + +Generate a debdiff between current source package in a given release and the +version in the unapproved queue, and ask whether or not to approve the upload. +Approve upload and then comment on the SRU bugs regarding verification process. + +USAGE: + sru-review -b -s precise isc-dhcp +''' + +import gzip +import optparse +import os +import re +import subprocess +import sys +import tempfile +try: + from urllib.request import urlopen, urlretrieve +except ImportError: + from urllib import urlopen, urlretrieve +import webbrowser + +from contextlib import ExitStack +from launchpadlib.launchpad import Launchpad +from lazr.restfulclient.errors import ServerError +from sru_workflow import process_bug +from time import sleep + + +def parse_options(): + '''Parse command line arguments. + + Return (options, source_package) tuple. + ''' + parser = optparse.OptionParser( + usage='Usage: %prog [options] source_package') + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + parser.add_option( + "-s", dest="release", default=default_release, metavar="RELEASE", + help="release (default: %s)" % default_release) + parser.add_option( + "-p", dest="ppa", metavar="LP_USER/PPA_NAME", + help="Check a PPA instead of the Ubuntu unapproved queue") + parser.add_option( + "-b", "--browser", dest="browser", action="store_true", + default=True, help="Open Launchpad bugs in browser") + parser.add_option( + "--no-browser", dest="browser", action="store_false", + default=True, help="Don't open Launchpad bugs in browser") + parser.add_option( + "-v", "--view", dest="view", action="store_true", + default=True, help="View debdiff in pager") + parser.add_option( + "-e", "--version", dest="version", + help="Look at version VERSION of a package in the queue", + metavar="VERSION") + parser.add_option( + "--no-diff", dest="diff", action="store_false", default=True, + help=( + "Don't fetch debdiff, assuming that it has been reviewed " + "separately (useful for copies)")) + parser.add_option( + "--no-diffstat", dest="diffstat", action="store_false", default=True, + help="Do not attach diffstat to the debdiff") + parser.add_option( + "-q", "--queue", dest='queue', + help='Use a specific queue instead of Unapproved', + default="Unapproved", + choices=("Unapproved", "New", "Rejected", + "unapproved", "new", "rejected"), + metavar='QUEUE') + + (opts, args) = parser.parse_args() + + if len(args) != 1: + parser.error('Need to specify one source package name') + + return (opts, args[0]) + + +def parse_changes(changes_url): + '''Parse .changes file. + + Return dictionary with interesting information: 'bugs' (list), + 'distribution'. + ''' + info = {'bugs': []} + for line in urlopen(changes_url): + line = line.decode('utf-8') + if line.startswith('Distribution:'): + info['distribution'] = line.split()[1] + if line.startswith('Launchpad-Bugs-Fixed:'): + info['bugs'] = sorted(set(line.split()[1:])) + if line.startswith('Version:'): + info['version'] = line.split()[1] + return info + + +def from_queue(options, archive, sourcepkg, series, version=None): + '''Get package_upload from LP and debdiff from queue page. + + Return (package_upload, changes URL, debdiff URL) tuple. + ''' + queues = {'New': 0, 'Unapproved': 1, 'Rejected': 4} + queue = options.queue.title() + queue_url = ('https://launchpad.net/ubuntu/%s/+queue?' + 'queue_state=%s&batch=300&queue_text=%s' % + (series.name, queues[queue], sourcepkg)) + uploads = [upload for upload in + series.getPackageUploads(archive=archive, exact_match=True, + name=sourcepkg, pocket='Proposed', + status=queue, version=version)] + if len(uploads) == 0: + print('ERROR: Queue does not have an upload of this source.', + file=sys.stderr) + sys.exit(1) + if len(uploads) > 1: + print('ERROR: Queue has more than one upload of this source, ' + 'please handle manually', file=sys.stderr) + sys.exit(1) + upload = uploads[0] + + if upload.contains_copy: + archive = upload.copy_source_archive + pubs = archive.getPublishedSources( + exact_match=True, source_name=upload.package_name, + version=upload.package_version) + if pubs: + changes_url = pubs[0].changesFileUrl() + else: + print("ERROR: Can't find source package %s %s in %s" % + (upload.package_name, upload.package_version, + archive.web_link), + file=sys.stderr) + sys.exit(1) + else: + changes_url = upload.changes_file_url + + if options.diff: + oops_re = re.compile('class="oopsid">(OOPS[a-zA-Z0-9-]+)<') + debdiff_re = re.compile( + 'href="(http://launchpadlibrarian.net/' + '\d+/%s_[^"_]+_[^_"]+\.diff\.gz)">\s*diff from' % + re.escape(sourcepkg)) + + queue_html = urlopen(queue_url).read().decode('utf-8') + + m = oops_re.search(queue_html) + if m: + print('ERROR: Launchpad failure:', m.group(1), file=sys.stderr) + sys.exit(1) + + m = debdiff_re.search(queue_html) + if not m: + print('ERROR: queue does not have a debdiff', file=sys.stderr) + sys.exit(1) + debdiff_url = m.group(1) + #print('debdiff URL:', debdiff_url, file=sys.stderr) + else: + debdiff_url = None + + return (upload, changes_url, debdiff_url) + + +def from_ppa(options, sourcepkg, user, ppaname): + '''Get .changes and debdiff from a PPA. + + Return (changes URL, debdiff URL) pair. + ''' + changes_re = re.compile( + 'href="(https://launchpad.net/[^ "]+/%s_[^"]+_source.changes)"' % + re.escape(sourcepkg)) + sourcepub_re = re.compile( + 'href="(\+sourcepub/\d+/\+listing-archive-extra)"') + #debdiff_re = re.compile( + # 'href="(https://launchpad.net/.[^ "]+.diff.gz)">diff from') + + changes_url = None + changes_sourcepub = None + last_sourcepub = None + + for line in urlopen(ppa_url % (user, ppaname, options.release)): + m = sourcepub_re.search(line) + if m: + last_sourcepub = m.group(1) + continue + m = changes_re.search(line) + if m: + # ensure that there's only one upload + if changes_url: + print('ERROR: PPA has more than one upload of this source, ' + 'please handle manually', file=sys.stderr) + sys.exit(1) + changes_url = m.group(1) + assert changes_sourcepub is None, ( + 'got two sourcepubs before .changes') + changes_sourcepub = last_sourcepub + + #print('changes URL:', changes_url, file=sys.stderr) + + # the code below works, but the debdiffs generated by Launchpad are rather + # useless, as they are against the final version, not what is in + # -updates/-security; so disable + + #if options.diff: + # # now open the sourcepub and get the URL for the debdiff + # changes_sourcepub = changes_url.rsplit('+', 1)[0] + changes_sourcepub + # #print('sourcepub URL:', changes_sourcepub, file=sys.stderr) + # sourcepub_html = urlopen(changes_sourcepub).read() + + # m = debdiff_re.search(sourcepub_html) + # if not m: + # print('ERROR: PPA does not have a debdiff', file=sys.stderr) + # sys.exit(1) + # debdiff_url = m.group(1) + # #print('debdiff URL:', debdiff_url, file=sys.stderr) + #else: + debdiff_url = None + + return (changes_url, debdiff_url) + + +def reject_comment(launchpad, num, package, release, reason): + text = ('An upload of %s to %s-proposed has been rejected from the upload ' + 'queue for the following reason: "%s".' % + (package, release, reason)) + try: + bug = launchpad.bugs[num] + bug.newMessage(content=text, + subject='Proposed package upload rejected') + except KeyError: + print("LP: #%s may be private or a typo" % num) + + +if __name__ == '__main__': + + default_release = 'cosmic' + ppa_url = ('https://launchpad.net/~%s/+archive/ubuntu/%s/+packages?' + 'field.series_filter=%s') + + (opts, sourcepkg) = parse_options() + + launchpad = Launchpad.login_with('sru-review', opts.launchpad_instance, + version="devel") + ubuntu = launchpad.distributions['ubuntu'] + series = ubuntu.getSeries(name_or_version=opts.release) + archive = ubuntu.main_archive + version = opts.version + + if opts.ppa: + (user, ppaname) = opts.ppa.split('/', 1) + (changes_url, debdiff_url) = from_ppa(opts, sourcepkg, user, ppaname) + else: + (upload, changes_url, debdiff_url) = from_queue( + opts, archive, sourcepkg, series, version) + + # Check for existing version in proposed + if series != ubuntu.current_series: + existing = [ + pkg for pkg in archive.getPublishedSources( + exact_match=True, distro_series=series, pocket='Proposed', + source_name=sourcepkg, status='Published')] + updates = [ + pkg for pkg in archive.getPublishedSources( + exact_match=True, distro_series=series, pocket='Updates', + source_name=sourcepkg, status='Published')] + for pkg in existing: + if pkg not in updates: + changesfile_url = pkg.changesFileUrl() + changes = parse_changes(changesfile_url) + msg = ('''\ +******************************************************* +* +* WARNING: %s already published in Proposed (%s) +* SRU Bug: LP: #%s +* +*******************************************************''' % + (sourcepkg, pkg.source_package_version, + ' LP: #'.join(changes['bugs']))) + print(msg, file=sys.stderr) + print('''View the debdiff anyway? [yN]''', end="") + sys.stdout.flush() + response = sys.stdin.readline() + if response.strip().lower().startswith('y'): + continue + else: + print('''Exiting''') + sys.exit(1) + + debdiff = None + if debdiff_url: + with tempfile.NamedTemporaryFile() as f: + debdiff = gzip.open(urlretrieve(debdiff_url, f.name)[0]) + elif opts.diff: + print('No debdiff available') + + # parse changes and open bugs first since we are using subprocess + # to view the diff + changes = parse_changes(changes_url) + + changelog_bugs = True + if not changes['bugs']: + changelog_bugs = False + print('There are no Launchpad bugs in the changelog!', + file=sys.stderr) + print('''View the debdiff anyway? [yN]''', end="") + sys.stdout.flush() + response = sys.stdin.readline() + if response.strip().lower().startswith('n'): + print('''Exiting''') + sys.exit(1) + + if opts.browser and changes['bugs']: + for b in changes['bugs']: + # use a full url so the right task is highlighted + webbrowser.open('https://bugs.launchpad.net/ubuntu/+source/' + '%s/+bug/%s' % (sourcepkg, b)) + sleep(1) + # also open the source package page to review version numbers + if opts.browser: + webbrowser.open('https://launchpad.net/ubuntu/+source/' + '%s' % (sourcepkg)) + + if debdiff and opts.view: + with ExitStack() as resources: + tfile = resources.enter_context(tempfile.NamedTemporaryFile()) + for line in debdiff: + tfile.write(line) + tfile.flush() + if opts.diffstat: + combinedfile = resources.enter_context( + tempfile.NamedTemporaryFile()) + subprocess.call('(cat %s; echo; echo "--"; diffstat %s) >%s' % + (tfile.name, tfile.name, combinedfile.name), + shell=True) + tfile = combinedfile + ret = subprocess.call(["sensible-pager", tfile.name]) + + if opts.ppa: + print('\nTo copy from PPA to distribution, run:\n' + ' copy-package -b --from=~%s/ubuntu/%s -s %s --to=ubuntu ' + '--to-suite %s-proposed -y %s\n' % + (user, ppaname, opts.release, opts.release, sourcepkg), + file=sys.stderr) + sys.exit(0) + + if not changelog_bugs: + print("The SRU has no Launchpad bugs referenced!\n") + print("Accept the package into -proposed? [yN] ", end="") + sys.stdout.flush() + response = sys.stdin.readline() + if response.strip().lower().startswith('y'): + upload.acceptFromQueue() + print("Accepted") + if changes['bugs']: + for bug_num in changes['bugs']: + success = False + for i in range(3): + try: + process_bug( + launchpad, upload.package_name, + upload.package_version, + upload.distroseries.name, bug_num) + except ServerError: + # In some cases LP can time-out, so retry a few times. + continue + else: + success = True + break + if not success: + print('\nFailed communicating with Launchpad to process ' + 'one of the SRU bugs. Please retry manually by ' + 'running:\nsru-accept -p %s -s %s -v %s %s' % + (upload.package_name, upload.distroseries.name, + upload.package_version, bug_num)) + + else: + print("REJECT the package from -proposed? [yN] ", end="") + sys.stdout.flush() + response = sys.stdin.readline() + if response.strip().lower().startswith('y'): + print("Please give a reason for the rejection.") + print("Be advised it will appear in the bug.") + sys.stdout.flush() + reason = sys.stdin.readline().strip() + if reason == '': + print("A reason must be provided.") + sys.exit(1) + upload.rejectFromQueue(comment=reason) + if changelog_bugs: + for bug_num in changes['bugs']: + reject_comment(launchpad, bug_num, + sourcepkg, opts.release, + reason) + print("Rejected") + else: + print("Not accepted") + sys.exit(1) diff --git a/ubuntu-archive-tools/sru_workflow.py b/ubuntu-archive-tools/sru_workflow.py new file mode 100644 index 0000000..8e7bacc --- /dev/null +++ b/ubuntu-archive-tools/sru_workflow.py @@ -0,0 +1,140 @@ +#!/usr/bin/python3 + +# Copyright (C) 2017 Canonical Ltd. +# Author: Brian Murray +# Author: Lukasz 'sil2100' Zemczak + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +"""Portions of SRU-related code that is re-used by various SRU tools.""" + +import re + + +def process_bug(launchpad, sourcepkg, version, release, num): + bug_target_re = re.compile( + r'/ubuntu/(?:(?P[^/]+)/)?\+source/(?P[^/]+)$') + bug = launchpad.bugs[num] + sourcepkg_match = False + distroseries_match = False + for task in bug.bug_tasks: + # Ugly; we have to do URL-parsing to figure this out. + # /ubuntu/+source/foo can be fed to launchpad.load() to get a + # distribution_source_package, but /ubuntu/hardy/+source/foo can't. + match = bug_target_re.search(task.target.self_link) + if (not match or + (sourcepkg and + match.group('source') != sourcepkg)): + print("Ignoring task %s in bug %s" % (task.web_link, num)) + continue + sourcepkg_match = True + if match.group('suite') == release: + if task.status in ("Invalid", "Won't Fix", "Fix Released"): + print("Matching task was set to %s before accepting the SRU, " + "please double-check if this bug is still liable for " + "fixing. Switching to Fix Committed." % task.status) + task.status = "Fix Committed" + task.lp_save() + print("Success: task %s in bug %s" % (task.web_link, num)) + distroseries_match = True + + if sourcepkg_match and not distroseries_match: + # add a release task + lp_url = launchpad._root_uri + series_task_url = '%subuntu/%s/+source/%s' % \ + (lp_url, release, sourcepkg) + sourcepkg_target = launchpad.load(series_task_url) + new_task = bug.addTask(target=sourcepkg_target) + new_task.status = "Fix Committed" + new_task.lp_save() + print("LP: #%s added task for %s %s" % (num, sourcepkg, release)) + if not sourcepkg_match: + # warn that the bug has no source package tasks + print("LP: #%s has no %s tasks!" % (num, sourcepkg)) + + # XXX: it might be useful if the package signer/sponsor was + # subscribed to the bug report + bug.subscribe(person=launchpad.people['ubuntu-sru']) + bug.subscribe(person=launchpad.people['sru-verification']) + + # there may be something else to sponsor so just warn + subscribers = [sub.person for sub in bug.subscriptions] + if launchpad.people['ubuntu-sponsors'] in subscribers: + print('ubuntu-sponsors is still subscribed to LP: #%s. ' + 'Is there anything left to sponsor?' % num) + + if not sourcepkg or 'linux' not in sourcepkg: + # this dance is needed due to + # https://bugs.launchpad.net/launchpadlib/+bug/254901 + btags = bug.tags + for t in ('verification-failed', 'verification-failed-%s' % release, + 'verification-done', 'verification-done-%s' % release): + if t in btags: + tags = btags + tags.remove(t) + bug.tags = tags + + if 'verification-needed' not in btags: + btags.append('verification-needed') + bug.tags = btags + + needed_tag = 'verification-needed-%s' % release + if needed_tag not in btags: + btags.append(needed_tag) + bug.tags = btags + + bug.lp_save() + + text = ('Hello %s, or anyone else affected,\n\n' % + re.split(r'[,\s]', bug.owner.display_name)[0]) + + if sourcepkg: + text += 'Accepted %s into ' % sourcepkg + else: + text += 'Accepted into ' + if sourcepkg and release: + text += ('%s-proposed. The package will build now and be available at ' + 'https://launchpad.net/ubuntu/+source/%s/%s in a few hours, ' + 'and then in the -proposed repository.\n\n' % ( + release, sourcepkg, version)) + else: + text += ('%s-proposed. The package will build now and be available in ' + 'a few hours in the -proposed repository.\n\n' % ( + release)) + + text += ('Please help us by testing this new package. ') + + if sourcepkg == 'casper': + text += ('To properly test it you will need to obtain and boot ' + 'a daily build of a Live CD for %s.' % (release)) + else: + text += ('See https://wiki.ubuntu.com/Testing/EnableProposed for ' + 'documentation on how to enable and use -proposed.') + + text += (' Your feedback will aid us getting this update out to other ' + 'Ubuntu users.\n\nIf this package fixes the bug for you, ' + 'please add a comment to this bug, mentioning the version of the ' + 'package you tested and change the tag from ' + 'verification-needed-%s to verification-done-%s. ' + 'If it does not fix the bug for you, please add a comment ' + 'stating that, and change the tag to verification-failed-%s. ' + 'In either case, without details of your testing we will not ' + 'be able to proceed.\n\nFurther information regarding the ' + 'verification process can be found at ' + 'https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . ' + 'Thank you in advance for helping!\n\n' + 'N.B. The updated package will be released to -updates after ' + 'the bug(s) fixed by this package have been verified and ' + 'the package has been in -proposed for a minimum of 7 days.' % + (release, release, release)) + bug.newMessage(content=text, subject='Please test proposed package') diff --git a/ubuntu-archive-tools/sync-blacklist b/ubuntu-archive-tools/sync-blacklist new file mode 100755 index 0000000..5c81737 --- /dev/null +++ b/ubuntu-archive-tools/sync-blacklist @@ -0,0 +1,67 @@ +#!/usr/bin/python + +# Copyright (C) 2011 Iain Lane +# Copyright (C) 2011 Stefano Rivera + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from __future__ import print_function, unicode_literals + +from optparse import OptionParser + +from launchpadlib.launchpad import Launchpad + + +def main(): + parser = OptionParser(usage="usage: %prog [options] output-file") + parser.add_option( + "-l", "--launchpad", dest="launchpad_instance", default="production") + options, args = parser.parse_args() + if len(args) < 1: + parser.error("requires output file as argument") + output = args[0] + + lp = Launchpad.login_with( + 'sync-blacklist', options.launchpad_instance, version='devel') + ubuntu = lp.distributions['ubuntu'] + + devel_series = ubuntu.current_series + + blacklisted_always = devel_series.getDifferencesTo( + status="Blacklisted always") + + with open(output, "w") as output_file: + print("""# THIS IS AN AUTOGENERATED FILE +# BLACKLISTED SYNCS ARE NOW STORED IN LAUNCHPAD +# SEE FOR THE CODE WHICH GENERATES THIS FILE""", file=output_file) + + authors = {} + + for dsd in blacklisted_always: + pkg = dsd.sourcepackagename + comments = devel_series.getDifferenceComments( + source_package_name=pkg) + for comment in comments: + if comment.comment_author_link not in authors: + authors[comment.comment_author_link] = ( + comment.comment_author.name) + comment_author = authors[comment.comment_author_link] + comment_text = [c for c in comment.body_text.splitlines() + if c and not c.startswith("Ignored")] + print("# %s: %s" % (comment_author, "\n#".join(comment_text)), + file=output_file) + print("%s\n" % pkg, file=output_file) + + +if __name__ == '__main__': + main() diff --git a/ubuntu-archive-tools/ubuntu-changes b/ubuntu-archive-tools/ubuntu-changes new file mode 100755 index 0000000..139011b --- /dev/null +++ b/ubuntu-archive-tools/ubuntu-changes @@ -0,0 +1,65 @@ +#! /bin/sh + +# Copyright (C) 2009, 2010, 2011, 2012 Canonical Ltd. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 3 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +DIST="${DIST:-disco}" + +MADISON="$(rmadison -a source -s "$DIST" "$1")" +[ "$MADISON" ] || exit 1 + +VER="$(echo "$MADISON" | cut -d'|' -f2 | tr -d ' ' | sed -r 's/^[0-9]+://')" +SECTION="$(echo "$MADISON" | cut -d'|' -f3 | tr -d ' ')" +case $SECTION in + $DIST) + SECTION=main + ;; + $DIST/*) + SECTION="${SECTION#$DIST/}" + ;; +esac +case $1 in + lib?*) + POOLINDEX="$(echo "$1" | cut -c 1-4)" + ;; + *) + POOLINDEX="$(echo "$1" | cut -c 1)" + ;; +esac + +NL=' +' +OLDIFS="$IFS" +IFS="$NL" +wget -q -O- http://changelogs.ubuntu.com/changelogs/pool/$SECTION/$POOLINDEX/$1/${1}_$VER/changelog | while read -r line; do + IFS="$OLDIFS" + case $line in + [A-Za-z0-9]*) + # changelog entry header + target="$(echo "$line" | cut -d' ' -f3)" + target="${target%;}" + target="${target%%-*}" + case $target in + warty|hoary|breezy|dapper|edgy|feisty|gutsy|hardy|intrepid|jaunty|karmic|lucid|maverick|natty|oneiric|precise|quantal|raring|saucy|trusty|utopic|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|devel) + ;; + *) + exit 0 + ;; + esac + ;; + esac + echo "$line" + IFS="$NL" +done +IFS="$OLDIFS"

LD=dhyS~xzQxGMcGG?ozwGKcDtb{{xX!N@F zk1j?gb}^u%T(Z6AndrrDJ8&kt7Nv+pD>`U(XREgp`)X}2WD^W>aB^N18>MBVYvyoF z(L?Yi3#81xXb4PW_$&4yNXOPazU3AK>4X2{{UJzeUw`j*s~%HC3db2D4b9dxcEa{{ z*Ng`9t;V~gvkkh)#7NY^v$_#pGQptm|tj> z(^5-C(j>+C&`H$HNwPGqD7);U=TKU0D)Q_}MBb;5De~&*UtDe$s2f={Ge;)&!ANw$ z<(M>qwj2{ovBK339@-q`eDARb>f-0#!9PBM`1|_(scIdF3oT{R(bxh(YY`$VC*?Ky z+NYY?sWdv1!ctWq1LZzaQr7Oam7BQHwOfP2jH;*2T2psvQK-#Qk}a4FbJ8LUI*OdW zN^zXh_|bH(s}`glP!wO&Btqy`rmb;*d$`%_$6>)_G}Wt0J? z1Kt!$wV7>>N;3a6a3cBVdvBqL?kD`N1y`wLJB(f+?hGejsJq_VYDy*%j26zil)bT1 zYqB0v3^5DJTA5nJ$=5P6toENMM;(e%ktCR8e2k`19KY^oh=tm{eml%(d9Y~*W7T}at zt`+n3^?~hJJzbl5OPwYszF3H?7<8^%LsJPRG65k|2cC3BBan$oV-Zi{vcmw^0;d%ZfQAl1!RaN#Oq)G{r$=trBI*CabzH z@<`8!-SgQ0Gw(fk?Emub;1?$llDC?ey-$!_eB^znOOhQ1OZ@B?TF}vD7W+vE6`(d0 zEuwCp50SDJGS>or0)(snsZS!|_}*It!^@+97|EnstknxI1M40WoPgkTAQTC7J;fqQ z!~ee@+aXRJPM4#uIS~*idi0u;0<(O`*#$*OJ0-Khtaa8TRm0-b90t{k&F?;$?D$s? z$c}+CsK>QoS3(+Zj-jXWpy46pkwd02I+ZL%vOcQdln>ezQ*0q-R>j#0VsSt7KO(im zolXvOzfPU7Vb}byu1$iheOt-foHdI-<^!3dj}AZ<3_?j-hH&cg|Ncfz0D=RL*Una2 z%HE({Nkv;G$w>q%%#V%LrTU0C)Ex0mVMIEiD-pZ~)RYZtauF#SNED<4%rYh-e_}Jj zCvG)I{DJ$!MfkcGF2)Gpi#5_l9&2J*6jYYTj-5^9zpw`UZZ~g3?9A+Bqr~p+q(SsH0VTt+#ffM*znf&V(XnJt(%BNV)-F|G zt5X=?Z(>x-GM7D?leAKq`LeC{wI6tu9NiTtFQ;zQc*!it&Fx@1y%Ry8P4!?{a)^!ge>U<(=BN;pfkP!RLr) zzT{ay_-xU<@eQwf)z`e?^{;>9)z8$&d-|%qSckQyzcbhw&UfX;5VtmW1`Pwmk|WPv zEs8WQdg~&BOSOX$X98b$)I@e1WkJ=B_6N&0Y|slA5kZ?;ZBP69#ex|ml@My9Y#p*k zzHnymbhRsjrBmdTix2-V2bs`aDyISbqpwohLTD~3#4<{N`)cYSRr zCfj{A+-g8bBpV|di_S||S1gPJW0@wXl33+i@EHQbndsnf=BK`J(Uejo2X>Ggo)QL8 zk17aAfiUHqeBGg*YdaQ>`tB&pW1JY^KXtW3l9H;`wBdR<>I)A$Gcnj{tSUmPoQ+lx z6&M~nBb-iAMrDzI#wef7q{B1|Cs~EQ@r`N`vr)k_wWTG?$b?#>8Zmy)$8_s4sVv*K(c1xRx8uy#980VXma!n5sDe>9(ra+ zs-6x%sJA_}??s&z#xdbbB8O}(haYBTQhTy4yDX{Fj}T&RP?%G7+;V?RG10BVl6+x- z9Yi5p0?C{NNTFS_tnZvPJ~vw6LA`VTEBZ{eBs7NuCKBik=#&JdC{%Q$qgDw(8kZXf z*B#nCIX>PQ?{qgue4EQws@F!swEYsqd^^n3v@;%w?Va`+S3LMfuJgA`Z+r05mh4b9LTOqdY=y9W5C)tM+YZgwa4n~?%%csM4w}ep*jSH|8C{926GBSLDI_eu zSZf7E8)|I}wC2bPQk_PG{m%~w!q`engb{}*AZ)GjV^|N<-gtd?cMS7}f{KAKS_2NU zOLd_tO7xoHRXMOyE-RZV!qf_3hv*>te)(L433nj%mKf0KBx@rXa@Fev znB-kBvT<}|g$Y(LIRH$4bAN(WBTnr~2>{fN=cCOv+P1?frcM_|9A)d)EUPH!L@ET8 zl_```SK%s^Pf4w zfOM*GacY9ke?GH+jykcBSf!qW6ytB+@g;j$U%u;wUwsI{b#-tqJXYHy2c{NCMj8<{ z1s{mDfnz?58f>lyYDHeI2`^szD`)f)DVH}M)fsuz%93r%c-Bv@%+ltr4Zforr#QJ~ zl?nO#jFLWQB`AV%Sr?|(wR{`#C2E&UQ)?sN2)oa0UUzBIy!#r?uGxn5({kxr)hVTo zO_j%6y_5%o^+AYRjdI>+FJmx>#R`>!t~)z4XJe-MsDc2^k5jjzg1Cy(rw~Zg14T-@ zcC%mRetUhF?`vy5=x;Vz2+aaQ$Kbs1MUYS`dJtO5Ld?mEmnP-Rb}-7p^vazi7p|Gj=Cq>rAT!N{m zb1=Je&3fS9 zHQox771Zx#lPK?^5?+>qjvpTcQA(cJ%sf)sEjLkJ!LnfiO+1vc-AI0Wb6pM#irvx1 zY`_4}IoCs-%0q-I&G|b>6r*hsKBG-gSEpTL`J1n+^X=nix4-j>aTxb^#uwwDcX>>B zoa_Ay(}oe)@zidr@!G(r-K|DjuO!L9UuwWz%{Yra|PGdfKtx3>~wz4tA&3h;5uK-eGZCnj(ylxug&@A?4^<(y^ew*jBb*KPiCFC`6=559h5{!rCpFtN^TJ*xT`3i~ znvAXnh-9rQ$v8;TvrTheRw`(;2EpI<<`=yCnUwUAkFXi8rqwU`=(E%6AtKG<`#!o? z2Cbj?)4zDr47%9*#pbK7^TNePe(`e7T>jQ$zw}JHT)gd<8vh(%F8<(`Zk8|K^vitJ zqXNS>-+wT?>@~U;Y9ZH-W_fCd138)Ogr3|SH+7YoG{+RkBxc-QBKdnKpd_=3esMcq>s^(SZEfB$X%Y{xxQ>D&qc_o|5D z*$>`10B)89Rv?-yHM@mqHiTW(G;S3o#!K=_v{Aez+jc^`rEK;5x^0}%kz@fQgegAjT1Z$q5y2_)$v9~^>dR6K3R@DZ zz_P;A(Ms08aqhkX;mNDah@@y^+zL<|)f+d{cD&Za*xXzJ0f39k`h8F$hweDHdyZ? z|ArN{3JtB`ctmh~``I73uW{)uzsFB{>yY%%e(#irr29UV_Td!}?iUcAWS3@K?^ zz2?enXxI?_?)KVj-e3?h2@O(G0arpT>Z!9ajyP7MHd5E-Jw7&u*kpUGE8Z_e-C~|* zg{Y%J)bX03UxDDJYcdZG2!7@42Tm9W9{QTmU_19;vDxj9r($hzF>PGg08+Q&C@Ez- zAFS!HmSL^e-@=hY9;G!kX6c&PWMse5%(7B!pF@S1CjR1#a&SDlSfZ!jM3 zL^1AcG*&4f;}R*AbWlnMNJ3b2sYsbqh`vaxMQ*gY^sAq>yTZ~DVd-C-2rMmU+N==5 zk!;sg4|Yd!Iv<0|a~L+IZb~b4Q@HV|9*Wd{xm_)1)|SRcmy46u0b|Ln0@D$K=@<3| z)0?jv5y`bvWpY2-fl8z9EcBp}1u-fTLZai(sS>;^V6?N=Q4rb(t)p`Fv}^6-eK%IE z?_SEo=RLeic}Iz?AKX7o{o(T;KH4zF2ENc5ETAM7!znA*vgC}(;HB|_B*&TTy%vR1 zY8(l>Le2e0&2OIh-HUr{sMS}`qa77&K69V#uPaL*jio>N*dCTv_hRex%F_4J(*N7p zm8I{ZrJufBpG8QaY>VhO-1d-$JL`6kh~;^ zyz{?&_?U*0Z$Ig{SiomL+}=}j*Q-9JGlqmR=v1r<&NJwu)&QWvdntA8!pM3pG(4au z6&vq7`zU_uyN!kr|OFLYDW?eKwMXTblXX5=AAkyE z4+=@!jH*zUqLj_xGb@EvDYHaw6GDPbq83Oi+`xG7H0F7PWFr39UJ{l<=F*e!~h3`+(ufYleaa ziB1@@ZFjIaS|11S(#*o#Y&S-QS^(1dl12R&wV)WBQ9?z}Kk!0C%r-Yx0UTQ>{GVsu zaqOUQoX$vJef_};$2GEl)7g~;58=#6LbbiM-bPv%#cE$_Rj{q)egKrg2&= zw_n!AI|#zr!heVg$91G*>&z=C91aQ~WZTWQ)7vTioqpQv80~vGb9_)7@4;r{ z&?zZ|b~eaZl(fl2h5{Vt6u*MP!J%N30&JtrwmY;#(b4@r4*QL@I!enyp!lfB1j;Pq z>grcgIm(hi#FB&O6i@Q_ruY>U4h03NrD`X^j(al_-8?HhWjbw=mW&Q7jKHK23UY?< zHj!efkC;OV$%L#eLqV*f!fAm*Jx3>o$#i!%cD0&7H)v>t2r_|p8d1s+ne=ONE_*MM z6BcDAsf@LuR-LoQ77G9H%-64=aB_fV|JhTU$e&#?)c`-6z;-MqJ7SVW z*LT;aVIrC+ic%%UB#MWmqmRYp1e%OgYD=HsOV*iLy^Iq0KTP3_$v&Huau5j|mWFwr!)IZ0@lt&FeuSj@ z;y>0)-xECi!Ks@YuD5ZKn5r97qz;%;5Jakk0EVnhEbe49weGqW)$T;}0NVZAPFozf zd>e074_`b{)~p591*=R1f_AryK}`ocMRt_!(RQOD3k*`oTD44OMQ(1fEKp1B3PFoD6_JNGrc_Ttut@dJS&(Wd^cn5=E} zd6=eKo8v*F4Wk1K>o(zw2@Hu?m_SB|L0BtMOP>tq<)*ezUV-4mgMgH4=R(diV%Z#T z>D@th-uRF~8OWej0_&_{$>r*id{v8S%HtaZ{@~2p zR`$Qy;@|hY>Lz-w{`5&k2Z0cx*7p!-xB4@&VW)@_H-ko4UyJ@hf=o8ozIaI$5}Hg@ zMS?OBW!*f`kWp|S?EZ%^lua=wp%jw=77$2TP;CiluPfcTKZ+K=@WjJ= z7QVkL=Ks{n{0BGx;)72;{PZDxA6YdrUr>EW6Km68!^n+BSsOwmZuU>zIQGb>650~_pvQIdoHq2dbH+CR)<2dR*t2y>p z$U0h4%XLd;Z6t~=(xhZX2+7K92`D!PQ0<%af9$`#F6kes`B!oOFs}bye`UY8f4$X~ zabMQn)D7grPq&emf543K|M^leh)t>ar1fpOOyJyTIfxBqum?xC8-M?J-+C zLgT;v*ct!M&iNi2<16C4PRNXJnuqJ#oeeWoB@NPsYEUxE)12aS))`b?AW|thn?wmJ zYV_JGgV8OGFOSUlKe+PzBQgHspM2#JChJd}dB?G^+7n9}ghnc1T8rD8W`oSybbWWc zHR(4&Ip(uu6)2SeV=2}`N}&iDp=1j#$>c55AT3v>KX9}@9;RRX?XQ0LiBn{?8m)mq zvOc$M8n2Ifee96r)qqwmH#*exBU&sG!Wx5fpHj5Q&Si&*`Whp0u-&XK@X&bsnSpV|LnaBkgeHO z9+tVSfc#I}!61PVjEtm0hLrzd@3r5qR07g%Rtm|;LII;^aIkD*$XciGow@h+W4iC{zTJK2 z)Xbf^efpgL{Cj!kgDc{OEb$h9i3H@uZ~G z$U>Bi4vKLiCX+FqgApMmUxY;h&QjT~vWg3X`Q3Ye<13GVneSje3(U78yZMjvqmN%0 zUZ2~0#}2Q1#OwBhdYlW`vaGt3+nw=x-L}JNPXlx+mu2F{dJN^hWXU#rl)n_p_)L9GP<2Z1`U zZZkC+HEimLzQ=6ct0ZzGP}`ar1yi{TF?r2N8VbzeMl*0pvBWVbbAIHWhjT&tH+M+i zKhm3DXkQ3DdYWPMkPP)1Q*{zeZkx@?f-OX+yBb!-0L>vSY?2C;h#@dAUKHzjvN(sR z2%iK|31+AOPx_x<_T4+IZ^wH3I7?GYaKUT2T#t1Q4XfG<7W<LywS7*;on&=?vKp7REW-qinVQ-vI3!=iD_0Vz7^&}g zu>xcO#^`%6{G;UduF}?tBm3Guh{?D4gS|(ePQS6Yn=^ODhhG2A9dHD-;Z_Q!Yc^q} zY2;kBd;P|0wWt(hk!yi|Y7#J$oC_sq6AM!D0xn{-x0*SPmNl0R^)3~>SSmP(7r+EE zwVKJE9Ez#-y)qHTv?}YPQ6kZDnuUzc91@i}_ugt@GCk(X%zIZVR9WVdvHrdt)+f02 z_FCUFzO1yrbH~#`^faCQMuyEf=sNT}Q|I(LF51n(1ag&gL{5YuHx|WgR0X3j&oO4{ zt%oS0MvqjUp*sTGh2E=$^-X5R!3t4Nof-6OLyEk%axx56FsP17&^CDIWQ<@-vP^_P znN}$9nFo~IqHMehX+w`akY)xgW1%({yK}*n%Rdm)Vb0{DMva*P|JtroW6w&b#BuhFur8AY5 zw&&>CuleRjpS*9Z|Cg72&kpM&Lpc*%O38Sg7E99+s=>RmH5d(Z1*w!GvdAT%5SBq_ zACroVx;ZCwNOWSUlL!d7xVtX&tz{KZvK~z)veO8#;M0(M4PN0SN-}BzDka7+Pb3x` zPOK80;=U9vsl_*{Y^{vGcW!?!6XzYflyFo^c+VTpEhU@}PM>^9;`E9?P3e?bX6ji< z1;*n6hc&F`?S2KQv$V0cNCsxR)5q!{P)r9yJ=n7_3QAJ066n6y4)4!i5xlpL36Ty{ zMTA-|hjPNjU_9*fhG9Ofd+s7Me1JfVaNI9Mlf; zlQI9+mwn$=!2IRk*!BIq`r28T^{2DP`A;Xmg+;-iAg~9`VmM~`z?4Zy!h5V|7`^`t+j6=TmU~RJ& z=Uf^kYA(hj;dvvd*s~s0R(3&9XLTaMNY$+r`>Eqd2VwGRKEcsKcZmM z&dskL5EW1 z%&!;bU_sWgKMfNur)J@mG`&t0RhAgmwMrbEj6x=!m2!ni>KWw>k3mH4Ibp7MvHiMX zj`_G&F^}i6F^5hWEOc&G5=`bG=!8k+5`(({uNVm7t!0?#JyE=D1vU9`M;`0mVSaTn z=cvZ&Ayc+5yimC`+VfSayw6T@is&wDtr6a+V{%N3V2jUyv|XT3*MvES=ES+B z6Sh{(w3>L?)LqDve!o{`tBecQpqaA^DKXF@8f8>MPA3DHsIn^c4@C}Ax<9?aTmX;c&;^I!r1qn3~*v7`xeb!2I^9p+aS za}CJAYd?-^2$L|Hx!i4)R#k!s%)}gYl%5r)ZLz}muMg%x z`=S*R^SZlUtU8V5y4#yh7VAl=yw%;jlTF@v2Aw=P)SyWSI<9R7nR`ys$<}T3eA&l+LBH zM%>H3_DA1&fe+R`z4yZ}G1Tb?+Imb6Z@HDS?&s#PF)qFFxWAl87b|DIv(zX(qsJw$ z8PRD2AhPCC#;7eo0c9#M&c0Z<_=UfD_D87~iunKYl0$I_VO%GT2< zpC%TEgGEnwT0vLFfs_R@V@ae`geck&P4@*bY5Odc&sk=B%2T2{(60#S6c`NGNWWD* z?%7qhHTAaZ26`r;0?65>OdBYR&f5YX-Y1QJP^??p`L0TIRuFqvmkj!6cA%d+D!=b< zpNhmuOaOrMVigz2=#aRz2YftttI8)PBGNb`MOKju77ep3N~;75+;JoUTo)F%B<|wG z+6VW3=sG|S+pE`6`4GLK(i>g|N&O;{6pks3oZ6a*RxGq3j-E!^&Ep?Mn_bb#vH7JR zy3pNE*9g_kYyZxp^_2$eDXQcJbZU|5x@%Iym}zSAUYsshs`5+#v)b^$z#n zDS2RlI$Q80a&joaoxQlFwtu|C{9GOMZ9j6fgQ5{0s{;>6>`h9!7@11QMkj^9%R=~P zA(IX&~xZoCaJsS>&Le09(25Qpma^-ojDjG<| zT1T5wvt>mXos~-%bPeXHoOomv3Y~3}=a={-q0)aS1GsQP)mGXzOl;E*Y%jO-pwdOs z4lBc4#&qwzVmUbAmf4H|DCbN>qTp5Kw3Fu`*e~)R`gZbc{+stcdYu9Ty|QKPKp>!^ zhk2THwokr0aU@%=QrQTw#v-S1S%amX1yF=TfUFlf+AKXwMOBF3p(UF82rj?yzH`U~ zpLmHP{v=}-$+BgR$-3EEg=U%0W}-Qr^&6c^C6wNg=@fFI2cA4yggz=RBLkU$IpcXT zwgRKw38iTIKYo6>MeL%A_AW}Qm1!y^nc2a8P2ff>xdfzJ-Ii--^xCZalI2O2 zaG+dsEiprL7qT?T2d$Z=Y9WRi4QrW=iIp@~?clyfa5KT`#iZHcy49ZQP8SvE@X3hGO`z??%sZLAjXEGXODqxG+U?-JK5%bK-4}2^#Xc;;TD0f7TjdaaKwsyW z++Fla`6#S}=!C}nU3iwta8L+0#`GQB*9dM@!?lC5HqF_ztZjcagi&Q8CS{H38l|%g zJki<^6wagwQVU*eN?8E&1ouNl)qd+Ch5LyExIt-fwO_f(WHN1<#>{r4pCXE~lxV`X z@*0(dq9>innc|r!ikcco0U?@7g5Lb+pMJU7p?xjTmR73T@{X86V>CBq;zzSdMLJ7m zDU=HyY~&nVP}+Dy-CLu!(g1q8%ZN6An9%;Ny`O!}VYIosu4q3@arXl|Y%T(u?Gtxf zxUvalI0Ksn@^yn+Jfsk~cRnC>OAsUm|H@f&|IaEuu=oBQlBYoOHhh>wjVwTO8KmVY z6-Jv#Qxx7IVxXv?E-$%4u5C^Q`R1?u?>MUaMe^5oNS+PJjr`!F^&J}yI0(g*snd}8 zZm%WUVFta`xLxJqSj^~{iWi2=O7n~|8hAprjjRimw8*zp?V$)l!W%V;Ghwxsp`c2NM`LP{Mc}=xm2R@~q|#=c|P?6VlXq z?Meqlk(irSBjr+Y#xziO0dq01HFw^T#AJn?DjG-xbLzi)$s=&tcuFH^5;T<{>8lyTrkj^U;MwWpF6*TziRsy zR-6gNCC+tG38$Pi-cea(6dGmLMzY>~-7r{7VD$w=Nveo1SYFwY4*{vzX5M zA(CFo4C%1A;r_u0qD4D;yHq0-1nuA%4Nni-qvhaY7xA+)6c zS*x^=$@%7>+ZpRT;FXsp8WVL0*`W4E_E{X}Hx&K~yq7vTi}@~?N;wWYw66`?LUUci zykW<^Wn6=7Sl;rLiq1Qy852Szbbpp0B&q|ixF|{s=WW)4>q;4+c4%K8w51X?QZE;} z>s6ZdBnb3vz;uUhEi8nb0Z^I*;3BhNJUAm$P|9V=!Vc|ghPDu{?m?KgS*s(NiOtyb zRc6Afkc(D6N{u8ZMdhUD5+N4_f2o7@Iz~kMfo|b{IMM#Z-rv1w8T~XZDQKp_3SJM( zP_9rz^4=tyo}O00$n1^sN++M_;F946H77|>WVc$N>|`Zrf?Mq1zF)YX+xy@j{ldd= zzvY$x{hL1 zMO9y=NYXfNva%_u;BrjT2hBn%Lb_ZEN`!5Z&?6??Q`Gf>ip&`$Yu`f7nQZAyyVHK# zbSex{31NF192?W$NIrO}|gll@;wbl(HW9fp3lHbL29r zJD+qb>i4U7h)({!QM5kRTIL^d7_+-NlHl=je7);kn(+9JQlDFNBx zm!NL9Az1vzs1aEJiFOvu-d=`c@A2X4E%LQb;9UdPAegA5ZWJ{zvspBQzG~w{WD3oY zEq4w~R zYPJ9|>`g}VKCCB=fvhYJfJ0JNZJRtMju3MfJ@;G(TFPKD@|2-+R;&AtEI)l|@t)rQ zxMGIN2QV%?j+2_+rQ|})MW)P^Fhzro9GN>&e|CbqzogT{uU#sLo3H*Xn&}duxp@Fm zq4HC8m(7aqs%{CZG)I4{l*ibk18vIoPFs&;GGYD;F7S{XSfc{>!D0AOirpT5t`^3B z?WK+J<};tVvhMexypiS)KlJo@zJKl;@@xa}e1*Zk%wo=QA*i`ZEuYG@%f=;oH3 zsZK|A`&F`#fy$l>uW9?b<0X|OL`XbCfDnu@!`KVe z#^`-Sb-^46VSvRbsl?);e$!VA$)CBlNItP`a>y8ooVsPlW2bm0H{${tokhj6PKIM} zmC@Op1+}`gHfYog;DswHp!_IQl^kR1Yya5WU&J3D|JPUAA3t&9Hy%48+nIaJb{7ld zDZ<|sH}{Y1{rXGC+|TdpeiBtKI3{TczxI8U;G=PB=+QKfo3qLprL;EQOXfV21{E@3 zn6$1WO|^d@1jg~VsLerL4s1VqO<;R|Axoon8bj&o)}ZOdda$tlWff4H2Q4(F7CO$F z0!W6j&T$hpV=gFbpjhp<{TBGSp}+Z)zkl1V{vB>d;>H|vh@E7r=AqGFCzQPM~QQgCD{8F}QP4oN%ME*Lg?s)-sv z)Oqg4w#Pc9ZAB7JR1O^$r8;xbpbkJERw`2I?&4Je!@S}~Tgj=yx_NN0z4zgQjT9Ia z>tU8bErU+Y#*&SdHnYKWR0&pOFw#e@T#k(4n2XdgQXG{|dg~wx0SqCqhbpL@B2Lzy zxBuYcm}Q2`+Du0V!>y3Y;WezeDa4kdvI%!Y{ekt*&)i`jlrClHL-0$(#xaSV{cY>#RZ) zQXviY^fcLuXb?HEL+%ogeWyfg(wds}NGvOpqw%5mz&*>+Q#6+*>lB%> zB?0CD6Tlz%9N!`LfRRHvqcIPIfLbkKI7YcLM1)e-rcxP+Yv3vwZLHQ(@@Ro2$&Eoq zl$gQaNavvfyM5A+#PXvrY2>KtBuPYrNra-9Ty#3)X(xnM*DPADjfRq$=aiynm}P)v z{K-(6eyK8=S6b(Xv z{)>3-4!QeB4wOU}bE8=sMOqv+mJnOAUx`3f`jiUJCsvrz*~F}6;k>wj`VW7hxeczu zE4UqUmw_BHZ&nw+9NGz65BmwGQm?B-CmFS+ouMHixGpj+NGC-NE=g@@>pwbWg|Dd{ za+iXfpsvk>^M!9=HY7TIOyl=pP>&E=2{`kb~(?2vo#$SFEvu5670 zEtMWp{;u}(#e`RBOC>X7=xLbVf-DJ8%?aUbumzmK2%59bTRZHKd%(ysClEd56stpN z%9iTdWvkH<6Wgz%0aV*1a1B%wB2rx{!E(+8A(QBihppLrg&TY3bf1-0WzeH=oG7^!Qp~JHv4Ac{UB!I_mzAX!N1UM@#Ex4&;MK3EUw7x~ z*A+7Oc2;rPKcjd(84cHCKIF2uGz&dmS1em<1?NBprWKQ>Kv6-_nJ|nF)?2G=U^!H9 zu)dSN=ei(==6URKmvpvCdt+SiJZVrSK$Jjr&5Kf676Acie#Oa1*Bj`~_kSgN){kA6 z#{q=T=C8kg|M3g3`oX?RM3fn6n5?HWF`URI3j=74Yy&Fk8EFLYStQ53QdvY39j%V} z08}|QWzV*oP4wMm-7XHhpL__hyOq?q<)-dJv18j>2+VBl?sQRc2*^P!aAuPueJvwr z+TyD+p&FpGkl9Ek(HLiz-SorTzUl$G-a`x@ml|X(XH(u5iZwK(mKcmG6>Un$K#Ef) zTaE9D0x60TDLWlqq6&#xMvcZWW(VKp!3Pppz4WO!HZT;E{%8TET@~~!T`<1~lOoXO zIs;Z4Dln6Q*~k+2DDy}R96W{F!FL((;UB>ezTvuMmTjk7i>p#zLINt+_AnPpwH zli;}vwCPGP7f~%%RJ&vc-zCDwIMizH!>~2s6K0mvG8|R~DP}~-fPy7+3YbvdBn+Ia zWJDDbsK~fO_+SU$<-kXcy}6Ri)vNYEj@a7x^{6Z-t3^d!=vYxmH62redDMNv1@2J? zW-5e3ZM_9#PVm7FzDrngd6hl$lFNg#`U@+XOxA-*Zp~WD>B7y{rb#CPsm%&Q>51Hz z(~-?&PyrQfOcEAJvI`{%6GR1K8`#r7x$&7VI|4qvgYUlKOW(Km*`00iho^3>MuHTz zSc6-1`Bbq%W0HqZ@dPNvwO}D+VT@&p1#h|XC=3+-t}r_A%`zQ6ws$v;*+F!^5K#lC zdXd>=GUV$#owz9dszO@fZIMpr=mXOc0R!3}l%q_V9-Jr#+{SI8Lvzk6#_7X1KDmR4 z-hy}k*yg=owO^mJf#0$B+t<**2PHdR_Xf)Zx5$8PJ@up96{_1Tyfs~yQke+CWI<&( zHHacLo%ytuG1RBZCc#jk8nB@PW8Brp={* zjgAkDDJ-u#gO;j7R+(EXiv=%PVv!jfJQGw6P?-Yw7mJG4RubGjIkYJ4-hd49OIy>n{w&F zk8~LhrfEK%BVr*lr47#obGvbtrQ$qSM%uumE;<%z9gl?Ay_}f1D8&BpjoPN<`R-}g`9<0PZF|4_B@fX4 zFW>xuPd@s}r zJBnADN^vUgvnVzK3pPi=ognOrpmV$6kvnGO--@eqC5=}J#J_sJAa1_tKig-g1%|NZ zwVx{2oTe<)yw_SS8d8KkugX&dc5bW*CsGNub>1%*fiMk;1@z+40{=!|uk z@o9JHN1Z0D=Zp5LGEx?ny^_fxx78dp6CvbCtz2oVeR4$@9x&`7R(uD{`2vF(opczr zylan}%hD{9R@aPY%Rzep5u1AdsNiE7iMeQaV0HXS9En100j&LhO|)dpk?Ga7HXfMnTY`jNs`V) zL#-6`i6_lRmqGWdRd?jNt<|burZ7m&QRM__6%Lra@NHm1&>{IC z6?jvMMG*tiW>2{A%faRUy>b0;`S)wIo3}|qNlXPnVUNnj`dnNxQ6TRQLQyZ#3PqGY z8Nf{)E+bC;o9k%z&EJUo^^2Gj4fhzcNta|4)7E<=*U>{nJ{?3+N&(Vo6)+_UlPhhd zx|DhU-Io!MZY6MGg{T|NPF5XAty1PKI!_veu-uqr@c*gc6i#S66Qythf)!r5pkp+Y zz)}C-R{}pZlAAx7_t{Ga9SMe6CAg^FoU^WoAvay8-J1?7+AZOdGcL$zgmuP9W<3s=G)*tjHfmH!Rw9?X|$=hoUOotW9Sl~<=)kvWVce~K>4sZ+dRuC{$pwq*usQouBFs8sY(S-~J_Oep0cJXg!rV;K$99XHNVM<^@`cl@diPToM0+AOhDh(Mv|_Knvi8zQf+} z?CAkbwatI}RTYYiZC5I8XoTw?ww>}~87%Vv$odPNh zOkAY@4a5ql&ek(`P1^6=JJ(6O`D}at6p!r>&$Z2@v;Wjlf#4r?4$2}O83S~8|CxKi zNtkLX# zklp<2E?R2`$W1^5GfZ+*``qnY6>Xz4Y?$73RUv1UxnLj@nfzY|=}DSthtpa}AF^~D zVxZ?u_k1GaSU~>IbJ<3A6##i;vKgekFUG_onda2w*4B%znCr4wu}Kn1OsA-MRRV+Z zK+@K49jQSpD<}gAm7%Q z){Ko%v=drUe-}k%don#XRMsdHJQToJ6tIA;a62M0^g zKJzS<2wo#s;;6p7lMX}x%&gShRv&u4aegyl^W^9#mHmUG{Uq2i*Ay?Ev*{p(QQR*TLt=Svt z5`u!v+5~NBzb(cnZlB*a_WtSlJIY6IeDamzFesv`{@kDa`mg`SKl|*nf9~IsRcej@ z#8*83LRD2SjQz2zhTWO5+I+(tKX#Eu{wsT*eC6g}&G*IjF20hoBho$wlGg#_ZxeX8 z3nMYH16y4mYd(GAI50VTvt8Fxpr{ZwYDw=xpw^eDGh~Xwb3ygE%t1w<2M^2VZv4&` z7TA6R4)@icfAx(|rg>)DLs)PIT)3KzrlYYNbh^tjZ4T$W3dM_Jw2~pmoN4_^W@`Zr zEwZ*Y7FtiFRdTJ&Q3UG&nEpL4`)|MadDEjqkbvgM&qSSt>kXhRN|Dg-vwU$5@yv-| z>z#6(nk6JfTk`>Fla4Z&l3j5I|BhBJ#+xmJlBZ%&M_KI&S~x(}%~U-Pt*G^=KPl_7 zZt+=F5>J92{N#_ZpHmDxA#f7!()p=XFt!FIcfuA>@uR<11jy%zdadtS-n9a%9r3A=Qf~USH%rj8V8hSMr>c3%p$=amt0SvCMqUnF*IEQ#0xxNxYsCpn_t$VA` zZj^2*-Q@+ci+cy;i4*SE8OREyiA6n+VDW@XCIW8;jNw8%YNzvFB6y@ zftz|TcWyNpIk94`*?2L&l3w;IgaJTt#%o#ylStMZ?asVA&aipw8~4BF!THXyX0xJr zu90DBRY)nQ3>ja+h|Hs4ic_Zu#y$EDy4Ps|{LQ^jA84;XG0pSb?|khn%=**W<8jcd zff~b*T^OgTrufY>=KGxoJQ(*m+0Ni{~9F3v(iq8q^kMzx5F zK?dcV2;QJZ!M~jr>(Ac!-P;5m+V~?nl4aCroXngoIR;czCNfqkYBmn1UH5*V z2yWj0mrkFa{^c!ZaLbApYyHhT{__5_56EPgb9NEqO{S7ikxB2h)IJ!86Fpbf@KYVFJd5SObMIf?T+{o=x9)$*>o`+PgHonm z2Ikt0YzM1mZv@$&A&YFk?3r5+<7tl9PNBk&anTElv?_C6W!ij{b;vAA=Dbx>L5i3g zQ*ePJA&wqjDe<)1GA;wx&0D_%uYJyd{QC2&c{jh|)n^F)2Uq>JH{+dO6MJpcx9xxF zcK-}eo<&Egdui60Dl_P0%e#%iu*$TxP)S=fY7%RrS6L$UbFt(gHEo$<1)Sy;w@RJX z&VT;|MobJ-GFDIHY&cz%_Hqg+c;WzES>b|+}^I-}JnnWyWSo8)f zX~xsWQiyIpRZ8ioBPK0pP|b2Hf;5V3u2Zy%Oc1_V!*TH#^?5qvEA!PE*KD?YnFuJy-_!; z#!J~B^~5mcB~whmG> zTt`oA6WDSveyO5zv@IBN;HVfq+0-lsrvjZC7bX@ET8fyYV=1EA(~`6EK}8EDMD14{ z6@^%f6@GDR>0X+s9Ak^@EfXMp&=FZC_rJTQ!Ak&29^fF9ypFv&P+fE5IiPT-$<@#jTQ zL0KVd#^%jo%g_0gt(Qx7`C8y|P&wKb(u9;yhZ!ksh$$2yi_Dl-vS3yf)Mqjae3d%) zoD(WSTAUwotd_C85WQjU@{Vb|G*LOm7TyZxF`b)$4wHkoE?ZP@Txwn-)u;w9(VuK3 zC7k*p-uK?IK7n`n5Uo!fVe{?!#O8;;6Mu0^1O49Z273K1O%0YBqp+C}jWS>Loms_> zdT3_rQzsA8Ly=K14Az3`IQW9uG)4!)5wYJkXumGI`<%$R0l=iH=QB1~HT`_h zUd2@|4^Oyw>f~Xvn5pKL#dusqVWOk}mV24C=YUZ`C!(J`S5~XL>yVun0NeqqyK?RL zyfiujx{Fm9JbVBgJxr|(GX-6M=NMGsIr|(L;|k?h62(ALm>N?=0NmYc{AUN?V>kZQ z!J__K^s8ww4^N0bIB7|w!g5y+)*Ws~ak%KO+66|vDsT&c(>Xe1D$#-vDNFAY*o1z; zgy!D*lw{>3yZijp+0FdMy%)^<`h&fS)EiH!TDUnh2cc_*%FR2ivuve!aQ1)pMQ&Nd z2*scb(p&@;i%~eib<9Plq^&I6gQ25MoEf9fxV@5o_|+dchiv=t8=tw2j^OpL*j%R{ zwhw#B*u;?Q^?`P_7h~erJbQ3loeF6I)HzR! zZL}AQg)#f#SYoBk2kN5cC zhEKc295YB~oznHvt#fagifs?4E!&h8V_s{+gtAdZm5ZSarM*oe>Qp3VdQ3?w*h+9~ zFWHJed*jUqR(zzo_1Qmq`pqq8^=kYhx2I_uRxC^yP9}Y57wwuAPiPeGq{Db;OiA1s zA8cSHB0o}@PBQV3GgO@F?jH8)zxO{~`h@)68}ItUBb=9?!g)XU?hBi}c{2^mhHp+wDqUaB+l(j+UV&fP?mbS z>N-)$Y=f3a?^N-Dj$%lTGg3z;8ONCDcor%Gm$bcqyBY0@nD2kR@$Lij-ApZb#fwQT zn=ks|dx~+--b~|CI>GDCaNS+nF`KMPXOW_;^0vnY_X*9d7&p$iTta4+x=_fRbS}Vc zB84fLI7#^2oBe+L#t$9X@8(A@Dns0(^)}z}BX>?2+ETf##siYGdfXJt@hFdYyDwuf zc&h@05LD(3A}F*v8jxiw7UE4vk|zjGBRRPHyzIRh?}N8|_h9l-RHP#jq%3$nS&W() ztclBE+o{#Xtbd%JVK*Q8(IZ6kQzs9}NvcZAjTYchF(!jnM`9WxRX);5Bf%1~xI#kl z)K>lB8$WPcM8xr3^*MQm>24kLIPiI)OwD`kS+-3TS88QjVo@oK!X=fga{w2BI@X}t z^h86I=81c%iw4Js_Q-L^SL;y-iS+9{swbR;UHk-{? zW>hhmlJo(D&zc#XvkM_ut!%OuNtI11Y3Z}9fNJ*NT_Els-1xyeNaB`rAYY(U`QYuS zyM}dZ;?vxgGlWCB?PpHD7}q*0YIK(|#s^`Qm&Qs(=c$D9=tjbq$Re-w!C8?j2+Zco ze&WzPJjR~X2csXe8L?I)48*!OnzZiOo=09R7SA&hWlo&XMk^QwBr6j&3FDYwwPN_W zP|%*zT_1bC_r`l}OD%XyXL0MB9O0R*18KluCv4qouiAsQ=xNMz?V>xC!*nMtGsPB< z!p;h(J+f#?yF#RiRyqkWSXE)pyhbzemu|P*!A!KAib}{D+H&6PgtC~)NgSQ&tmQ4* z^TSf1|q{n_MLrG|CbPl36wm1x}Dxeh=qyi~Z*AQ)Uij`4^JL_DANx%0F z|Hez-gMXjSa&%X(X2F0%H36X*P(|^aO5h3eBuKQ9K~XIdb@4z0i7PSZe&7xR(HJh& zK%2%-@3VUuG~F?>LMs$6sGM~uMJnWxRtNA@NsS{%L85|^*)v*`kmhb}d_QJ-``!_* zDTG$KUbp*NShgB;-CFeei;H&6W4={H7d4~yWl%B|{h?M{N+Pi{MxkRmCq#+H(aby4 zDdr3yY~KGfcNEP&TI`S_SITm{(Ul*7jzZ3ct>!30m1s9dF1et(Nv2RkE+tVQMxVXZ z#-rqkmNSQ9=TH@m8a-*?Z%}1s+s+>ZjV+6$i zW}Ju~rzG_s!)%{I;8Gw@609gq$^M9^gy)FDru+U=&+Z?)!+iK<7Z(Jc`1?oH31=J( zwI-KHpJrWEyzA&05>UIC;4COXBy@Hp>w?-OF?me_;yn9rO zx|rgk4L11%5FH(1_EEWD@c-xo7EuZn5(lCM!|@>I$z+^+gSqcc9)Iqu|J`r8Ab5WM z#!YxO@n`p6_ZrD1ARnx!cDWw9PS*X7ExjhcWB@j={<;0v|A)uk94n+-70!RJo#R@C zBnw2&5~?qZ?99;q|16Nn3UPsR{U6;;P!HA(=zMZx)pDyTEbP1(-Jf3=K|Q5GpRcZR z{0)K@L1~m=L9$5whJqBxDz>E+F=pE+Q7xdjsI0T>fdyZD!-EXIC)*Cm2D-edn=VcV zok4S=RHG%jlPV=DxS_4ri7O2Wa`enZErqetbDmgW3FR)@4%`LW?x$}2=xw%R|KLj4 zj_%_;GS1EWJ6NC7Tq72yo{!ePEe0~I#>Ta>uTntLD~ULe(J{Gec@>j8sf6;ck`N0-5fJD#}hTr6IN1trMqh@e4JKLsIDiE=)cxS$iiY&pr!RaT=`603SiC;Wo2L8kg27J#yJd*)$ExS>JKl~$1J?O@k z7R_~74O)Z#s9o9Z%27h>kn|^Gd~zCCK`W@FSq@AliwS`E)JelmY*b z+YI>n=V8~N>Xn%E=gs9JH@ox3V11Tt@!R|Ou3x&qd3odw0*E9ns+Y)IkOk4gpJPlJ zNh;To%8Ztvjiz~d9(nqVW;IH3TX$C8nFVq=rZ6Lxvt;UvHtR7r$fGG9(~6;WrxZ() zNo1;jW?l9%;VY6m?K7FxUWQqzf{~pnXij>A2A{T8P7Ni+07@Vk=fb!cX}1P-C*jB%qoA`}7d#`s_x2}3^!gcgyIhFrHtd(rPjJ)6 zzeZ4dG9S>|mZ7?g$;E)22U3v`qg9}yN!rBlnKMhJ(?(HH%H)^Lz5|kAK1VUaYzIqDz^_*zf6+hoDPhtZ0VZF+^)o3K=SroJ`I+ zIuuBTNtc4JKsa__*r#tg1~A(H(Hn*U-O_eTH+G9LvQfO842nc5&VQv%PNGmpxe_z_ zj|sd$@E|IoBu=sPjvK%Hhc>_eEBowDgQM!G8||hX4f~z;eAX$;!C5vDUIl|6IRq7) zl!6K$qcB3=rZiO)Ru;TA7=dwuXCXx{IFlLNoXJo8ll`ZUwG-3zU^wVBgLEJVi*>u4 zrC!CAu+vdP;6*y?J+n?Ht0W4|qL2j(O!UE8mZNgn0naos^(pMcxT?i44)W41Yy>tK z_1o9XPDc(wtH5=Ri5BNv2J~8b=qVCRpjm)wvAQie7s5{K@?RS_1 zUplKfp63goz}9}=a&3s?(KPhte95b5L#F9mJO)P0T`7fv@sLgoAzkoJg5feyF&mU| z&;7G6m_1OdZa(mV|#f zChmC2YjXSet*>TQJFmIp!GNb7B!PQOw~{)GL{@kz$_FoOp&-dA*?!`V(b6>@)M&T& zYn9E45ueEIc%RQqG1m|RXpRZ{;fwob8xFSchKWI@3h8W|LEDR z@%#qjgZ=!xB zF(FBwG7d0$XG}_*8%d3Ub@UiTm=DNO$?CMP;<#~8y$sYDqvCUz&%0B#ZnrsHz&MWi zqC`wd3K#$lCF zs&3C(Ek2ZEAzO>GRP4USam*zp>c*&*FD94bWfa@zn3me-Dx5sPeO5t8i{lVy$HPhm zqDH>l9dz4nI=5Ln*1o@S9DPZT!WW$rkh5?ti%J+^ImR28j0PbB6DenteWjTeXB-D( zPM{CgFrD{04sve=F6Ifpk8vD(Nhi@Qiu5eAsBm)mz%j84o)Q?NIeNA=9C5*PBH`@g z;D)JsD2Ls=Xz^ZZ4cO9;?r$7NUy`=WW6)9s<%ril&YBw!nIW&u2Y=-WAj^oHnCUg(R0}{%DUX93vWVuV8HVnt$5{4=(kd0Q- zz&+r>kdM^G5Ba*Vc6T=HKw9&D#sPUgT!;-p6tLCB02rI1xfL+@ZtcTa#oeP%o*7>Nuw0 zFcX?e9@o9{q;Uw^U{}Ye7t3Y0FLOb{To(5=j$XV==leb3lFTV1gts#DQbM+3&B;s64K9>DFLN_WS z)^5f_`-e|>D-uyp{6Sidnya`RWujK%NPBXSL1iMS2^~_S0zF>or`BzEN3Y&FFnWOn zz>LUIRx4W)sgF<`idttl68b{q9uo`Z7vfw;9KwA5t3G{SI#~*OI zAnQPpoeZ66$Nyju!&!iN#cB&j-h4x z73;q0s)!;s{=erYnMr2uWHRaHuq))Ad+s^UdA^@td7kqWszQ?7DP$TFyn`m#Lm5Z|9_lWPkz$GM8to|!caD_@bhS*z z4p4^1=SqmK(9B5V`(%vLn4*(7OA1a`u{RLfA3>!^?5AIx54&#iciXeGaPtMVYY)F=?~x}Z&F$HbuWNdCQ%|ku5kLt9|$6XV-pn=C)Un=2NoA^fa~a-hFCy&%LhgfwQmQ z@xgk@$G!%ox$|^f`^f3#?2O)~OLv#gcy&|uoiD{=pY{C7-<X%0Y8ZZ0E z#qjC;3!mSV{brzP>rL$RZ1~GfSNc0P=7gYb`iM9F-Mb4fJGq7*zO(l2 zlW)st2h`jrPWjAHwf93k9{t4TNjuweMD5%i$JM^}@XL4Kq)AKdE$3~mJ@^q<`d7F7 z-|j}NAN5~*S%3KNo2Rq>(h~}o*B;XHg8H}r)l#^ucI?Jmr-1+Xri^YZTv@w!^ZB)( zZN9AbSI5*Za%y(-#=-@)*BE6`-@`h5^Y+b!$3@b2-*>casqNf$-E_FO9tKzc*1#e`4~YsxN83i}cEs*?+s?(Rh| zA7}pO3Do&B$?vAY1!q0x2q-3?HTik-DTQ&mzz@|9|H9*H?^Z)~xb8oq5J9+b9IiJF zG);l4cF&nSYppaP|Aj))Gay&l}|znDH-JVv9+ONkA2*ofnX(rg%*rw zn#C2?ElIT08i2XAwiO+lUG#_MNm^7>_KH6=M@;^9Gk|bg_EY!-5RApU);3@I=sE|N z{IU76+P6-A?oBDpl&|}6a}@nmkT(5!k1-zIoZb58 zNssa5%@@|nf3?4_fa+}e3zX$F@$CAQp7fXI=~`}4=hrr=o%I;=fxk?64lwd8d7wFp z`-JA~>IdpxTzL_QKyaPI<=Mv$)uzd2|_`w~B+6^01mzYR<}6JGCe#QD zj??HMIYOSIL<&-WKMaZU?w@Vm*)%IW&bb7~;nuj9Rf6jowz`jujt!KPxC|{ei13sK zj}_C{Gt5#b1hEn!7c?e72LxCl#lh%$ENXlck#cbQL0ZR9s!|Bz5-aB<_y_NqPaWr& zYZ`z!@EZpr?iD*ZB5@KmhvcqkRqs%+lyr}Dm3mRnSVB1zR!L*5VM?ToLi^29hdsC+ zl`=~`bg;0J1iO32YdPIH5Xj9)PK=J7b-yU{fIt{FfN-9i|BrnlFV7eYRymZ7BO}()yS~ zw1D`VK6rTmBK3wi4IfHU@)nX z2O%-r+S+=_QlRw1jn^+6N`KvSIY$y<0@YA7U557!(vDrOtI7w7PK1dwLNz66&{PB( zP_Q5)q1c*KaE~FBT5vf@e4BY_KKUAJDwWYkmPf0d{eA8Im5w3-?}_3Y^tjW7F1k)| zz@dxNVOPbd%91!DfH7s9H}O4ks)(ghFc;fHjB#Qlm4@iJ7(QZXW^{dX?Xh1z<#7yY z0=J`*q9W}t!3TrFV82gy4fZFgGBg;&iH7`*rO<+Aac3+a-~K=)SV92{#Id6xK&^V?g}2}=6Q-c0xdfQsUszDgv!@-^ zdif#nnSJr7){`F{_e&~vjE)&wDe=I&p)_GEu^OTlbso_G3>pH6a0y5#XTgo&xRy-H zV_iiO*=$J6o_KWY<5oOB*~Q1SK6WXz|3l&V%dP#1mtu)D_=OHBtNpx>k9H4^lm>gd zl91{Yk}$6!5woc_G7!&FlQKadlhG>Gmc+G16Ub$A@ef`6_ZD8fjN;#tU9+j)m!8XZ zXtG_`azifL>XGf1rdZ%B8OCuM68uLM2YU!n)O*rZ;jT(X65|My+8C*jcMejYINBUr z;^Po0NEaj(9DB(UrpJdJJWyDd3_uDUbK!wd4;lexSgzx9Y&y&!+w zk%fjY$d_^S#A*X#zN05{IC3}^XJ}0h$K1zV%-raoCPoVTOjd?6zZKKqrBFDLiG`<5b5*{cUOjlOgpCYnd9UeGqYnON@k~vr1fN zMN(;gDeMF}kHHKR1pkZcg%n3BeU;uYTJ0O*vTtYs(d9*%HS>@Cy5irqC#`i2Lq zgS|dcapq-eWk8C1Wuyp18itXVP&DaL5C%hikObQ3j5JKo;U4kLFqBU+!f3Ip)Kf0? zbao7vopODc_nOTlQEfJ+h$ciqpJr?wYJFoS?GJdjf%Sw=O*^Ks}8qP92<)*l@O>tGo_=a4@ z6))pKJ?cwZav7IV#(KIdN!%<*7yCNWFdRDid&t1(fKUTTka0l~$eNK(B^5NK$VtVJ zWg>-k5wVmY4;eaS=~B|1hP6Tijx)l`0hjwa*?`iz(@35s(jY3Bb;=89MKQ;HK+w99 zaY-nqt>;7%BtqQ4JC2o_KMntzN9tvwp%x2uYSAOfofF2gG<5HS(OTJU=J5u*s|5j<*9j_9$1&6P31$!Wqelo6%U3-Iv6k6m~JgD00ti|tXB-O zw>+qIwr{&uvVJeg^;=Q;#i}~_yw+Lwa@@3-uNZO-mq5eUw=BVHqO5vu>)dr*r1v}7 z6CTw1n0?;PER?1Pc&&0UX~$d4A9!$U;}-M2%3j9f(&LbZGfawMsM>|YXonQNR`Vg0 z1OmxepvqYmjG;(tg007K$vs9;8W309#zm2cX1iamAAZ0$5Z^1jYZW4Lpm)d%LCKFE zx{4^t?zy=2vRvS`>jn-k@a~qkVuCYDIIW=#s4WjPFolIx%!Ah#OwRb``3*TWtCgDU z8;@<>_85e?Af(taX3M;@s|%;9r;~P>#HRvVhE!ZOQQ6>SoMEmc^~@V(f>+97iDev} zAP}CBk$-5(L&qv*WTGRN#pSRtp`@605Uxk7qN@uHqf!@3M5H5%ql|=2TZ8QF*zhmV$CB`-wuryJIbRYj&zI?)8lsO zVUj3~(llV{tq?jTaUPX0E)F6T)KZZ;?{JVL279e$oH(eYCnRT`Tc z6512I=qMUBV^UIE$`1+ zS-q^(e|ZItlY2PkSTRu)jC8BCN7J!Uh?d>`iIpj}%p(=|yL1}` zb<6=RNTV5P`KKkPB^m-I^%X5?ae#PUAtRIrRvELXFEP@llmv~qQ4Vtj#*lKb1us?n zhckmo+|4(kNNGB+iMu&;)1k}mdsgceGs5z|MeG=zoR_;Zu1+I?e9B2tRr>oYqa#ES zGBmc!yM#-WI*hc!l49*F=ia5k016nI6<%UvZ9oR_kP_{g*gMTxef4kPL(a`oa`XNr z;3m80Z=p<$6rXfBRA5ykuD@HM0jfrEumd(E9BZZH8vBMLC5Q+VVJ9HU8iJg(ad}B6 zsnm6cLvnDI6r7uuw(B&003l8-YOV$KjwwnB1S*pTE8s6B5H=nML6HcW#UZCs>70or zW#Zn#;=Ja zB<^n+Qp$BmwM15H6eu)9Q5r-5hZZ2I@|4zFm|CHno^?nMfxKJbxKgw#>r@I`9#Ybp zvgl46l87kjuu%fjV1xS++h)54wbH3-p%h&o@CG=!>^sS%P(;E>)23>KL@Tlt||YCtlgO#e_%=AS4KZW+zoR zu0|ENCr3^ofJe!_`=I8IXI-#!`2;(02a}@h>Y}BN9_@!r59viXQHpR8;)W(^KumG! zkbqPzCCqwhu%>a#E2l->@yxtLR}Rlwg(vdEdC?DzBHBw+hD$@eLlvDsN^hi&kWe9= z<<8)^x}k8G$7DYciZt-$6C$B8ki)Ys;lUFA#foJ!RPtW-^j3N+yT(c#NgR2fqBt{O z8BMGXsk0$C8uwb0obcF8B#dK#N96FVPk8E!Rbo+e6|}3=DMva{m+I)R_9Sr~6%_)< zsYC_`Xi9qFoFZ7W;8MZ0h$94T+)9qqgU#>B;aLmteD?2Jw-+_1$Ow&vh+A`7M7i^V zS>@7{6NUoCX^K;xCOmdoPR<;JpUym*>c@p|F3oNQIVX$4$&718FTc>!mJ!c|UJ9Y# z)v`u}{->r(1=SQ6jp!pCUQyCJI#TW(=}r(v#2W~bl=!&(5kbL&4`fadA`Gez7ZdPJ zLJ$*drUmD7WX8ubtr=vpd!E;N>FgAr+)kRsHPGz%2{}gSsM8510unE&xh2>u z5|~M;mfmqev=b-@L>V_eBwPu#PPzHzT8Sx##LcX>rN|Xu*^19%Gm>2KT=7F!{1CRO zTA_;nZ{e<7@s*tw3SW8KH+>L{aw|hn#48R78nGe7%_Tf$3FeCO zxnc5xmhb17EFLCH;V7mulYQv6*7muP@S>cA)gLq#h=u3pEUaD@=C@(?vbcmfZ={~H zuv9F(s^ukJjaYcpT{E!o(i7lz2i%Wl2Ki68a8~k*^JXFcH*_IxcJjKt@;BTjW19A3 z^$-7i`gHwo%i3{ay7t2lg>SCk@uBPsJxy2C?mQjWK5}|_3J2Zi?9ai?g}smUxd*{x zO#;yg2<+Z?{teTCn7q}GY2hHNkG|^UxiGQ$lmjsFxra<;;!Oihk%{LwWxp9{+FHBk zOrEt?nvg&F*1vmq;Y6=sYBiy$ z;MN%K;+ErHGmeD`f(qriQ_^wiu|dL^gyQk}3a@IJ#myj}rl{B*RM#l)7;&AlB-I#B zq!mO-BNWq=IE~>Cij>2Ys-Ov{)Jt!Pv~V+3Ut{awH^XtudVxf-(!+;kZ*_onV5w-R zCRlmKxdUlXNLQ~J>K`RNsFe2E z#IvAn8g$A%VNzLVm1fjoEQAtq#1Ll;SwiFBYc}y@XT9kFH#>L7*4n54-(|aR)LDza zzU9W1unXZ*@A+JRnz#s;Kp1HbbQFyn81B*K-mX4B;=-U$h!;X5V~GZsWL(${M1}u{ zrXA+Qc*Rs2Q0n3q?wYOay}u8-;qY$@9~sy`fQamg_a3?9CjRyMiT`>HxWp~4xi}4o zmwX)VaZ%xp+JBXH*1_0$*M4C9x$dNDkGgq#*7}9!_Bs;abg~cswt3&Bny#%SZ#}gM z)k>FKHpxY;^WXQ28}VAN`U(`~{cHBuLP-|z`HedSaIt=C$aBYYRwbx%d zEhyAW@y;*6Pp{w6)skKNyXL(i0G@C{yW_vpP&;_G?HH%ZYeWTSl+hpzct4I!N@#5M z%ec})+)7fY1S6?fa#b>+_MfK|VNWEuuvY%7;_hdWT2p-R>={3AzG71Ec<a}gi;V`sIme%?So@67lnv~y+Oc^gCrEP<2bOFE-@j` zYq>KgWGM*A&U;Vm9HT@0423S*RHY)-0$ZxMmC?ySGY9bDUQuK*!d?Uv;)E=$_GFf` zq2P@<1xw{87*R-L5UA*?rP1N8(f$!a5Fe101X|flLmr|iHJk|KnXt?{;-CQ;*T_^x z*^oMsaHi0l{lo-K*~{MBT0A63UY`e(C2|!{eE&RM#a?maf+qqR(gZ6)s4SxXoMskvz9=h89d{`qDP%Dz(I_^g<-rhn!#YRg@>tap3q-Lj zcI_H9Sfnfr$r8b6EFnBijnfeN4b-y24r&w{s>sFs01K6J%N68`3B{P8RY+R)=?}IZ z)Q$XLoinn0ZsfAMBZ$jLAYB~j>anVyhO}E%hbXQj)FW#=7dRN7a*3^u{U;EMgp)4B z9iAa7afA{n#AFB8XDDN<*Oea_>t{0ZF*RFHQ z>dGjrW6QMIBQ)zSVJwDsb*8(@)kFn_ymOFG>e#nWEJTC2td-J2D+%pYf}E0=Cvn88 zSQc2bFa1mF-j3AMKYD=G3g!&RHw)_>m$2{Rcfpo8B7@B3JLBwVk}VOFh(h7sbY{OSs#1~ZDdKENjR7B ztq>sc)f|x}M`YiZ>~SOMx-&z9Q7npBb}CYJLtSiCl0h?&7>c|Q$SW&^w;-%hTzKht zAkZ9f3|b%H^OQ~M;c~&e$bWpM^-6#J+z_dqcgCsh$a82L;Sl07ejyHINWBUuPyy{S zErM~xK?^FxUKvVj4=?;3q&B45GOTp8%9uxUZx9z2(ju3$j*sAEK0a84qB~frKh{26g=a>B!nxfgvD4INQ{{vCKxQK!9go+(!iY(%1E9_ zLFHu6>E$zCl4(ttvv2`Wn}rYzWYg5qG${Cth)gwi!Qw;h7W?xTrmVbp0MNc&m~%|Z zL0i^HGaGf^IQNWWji_69+KM11DKCyxORlf%M~6p(95$n!iE@OyR6!ExRN$B?#)yIB zQ3q_TLNZ_+QiG$@)>^MoNN#BP!a9c}d(T%_fD4#XwDveS71}Q;G172Lc?zvm=CHE{ zr`D&AOJNAKR1+*TUf_`M_MC^6#zWTmjn+eW>pHW_;~gI;4*ZqHFg!Sl4H^rfr$hFT z&IF?rr$Rys%Po&PiNz@(#0H01$`}%sBPRlN3Fn%}j*sW$xU6YhP61pHC6r@Mio+I_ zLwASms_ZItAxg8Kex?=Y9%GFo03L%8Nn+QMELKWm+G9ccrQj6BwX3jA9U;ac8mC!N zkCascyo(h)<<2=O4YY&_cnl_@$M~n^#RXErxcZW!n1KH)bqvYjk&#|u31oXbu@a?$ zVUB%@JvRXd=Tk34oUVqX@=8HQ$%RNLRcPNOyK?Flkh<)???5(EYx(zO^)3JQ-Tn5b zUy~|NJbc_Y#-_0WBvc5(#&N|Yj`y+9fZ{k{LQ{_e@d;;GPZ@K%v{bx%ZsU`4D&|H- zcK82nMN6u5JW>xkvD-{=RIKz2b&Pck*v*;lqZq}A%vnrSi>Y!D78dmg|!Z;(3&x*DvGIwRwWmQ z3g|)Z?Invdq5{)WDvPL$Q?BE%LIjOjV|*NMOr_+Brd%yN;Rh+5b2?RN${bIHqb%apef5=HWAStmo4M|KmMWk3pQuTQ}q@i&U2D*18REvP6NR`sYDddSY5=$$U zmMOH|wALmVmf8f9xaP>J1unbem-TgmzqCx8jE{R{NFz)Yp~aGS*7m2eGFB=ZTOCaT zPlJoQ43Lx~Yq{3M1);6A&{*au5M!wd(DtBIX|`f%%Z~kZ>niq3D+3cs5n_~aS=`k> zEXx*;?i#_y^wFV&TEV1Zju}CXwn!nDG6esE7|Xy=4YX7PG$jEOD0hy@n#Cmh)V-@9 z=pc@Cu><#&hENp|+c|)$BqW~lkb350=YplFbI>S+JTPESn8kup8x%E`LC}#(t#(X) zT=@DjV)B}MRxBnHOM}*nOuy6Io(sK3{lQuj`W?&W_~ViBVeYYSmhxh0pr@4f4fx*S z9@9B6;u4<mY7LUq?b*RZU1bn@<$B*rL45O&;QL$p_^lSEUbQ>nQ0oO^1BNwG*ck_UZ_ zo)fcXh>3YCQQ%n_A(mFs67L-A_QQRH3DH7f9;_oud26xPPQ`5lA%PX~g zLo~^WSzp8;B#J@yP@4AkYEvTRz8;wvn#TERGNcN#km3{o@d~GeTb`yMk=0hD1}6+) z%ZXVp#1I1cK4+X2hgs~1mxIHeLeLp93BY25bUFma;!Y061_Oj>{{jj#x*HFs7dU)GoSEAIh*$!mJCJ8V0>cMWMQMV*r((Ll3 z1Tm#G6E1k}rIr|h&4V3_lnM8tie0_^JxY+Ve$_uj@o-1tEvJej^Mbft-p-g)Ys3lX zq^M;HkNAOII^c4D9~*$@b%t4;nlxx{?=rMDt`JJl{V+}jnpyJKfpoFgNlElNl#oab@xE++`HamZ52vohl+Kq5ZOW`TiNGK7rGAfLch9IUS3)sXCNU!6lAUcahGjbXhf`&VmhlXt1 z>23RNFQ02X7mY9Hu{)k16eqlu2M9xaw8wS~_4ibId7^E~XzY^Ikj1+AN(vDoB({QJ z$`nOJNs!znL`#NeM&)-c-&rZB+_E$7@-5<8LyQ;4R9~f|Q-xtVR#lau(L_S)FJR)N z;&CC8R4T~dg%1Q#D+0C53!{Co2|To(U-RM!Ybuq|_Hw1zPBmDsv%xdtCG%DrI8%{C3#M{N77~(sTE4wfAi1{WOTDFPrPSWl-V=Ox|L`MA zebvy@?)rO+1mW?w4w7rEivu|AAL{Jx8tM>LTGpcpbDl|*QYwwbMC&we=FIE+DPigr zO%;S^?MMI2n~O=2^^Lf|J@93GD#ksD|*3EErdO2XoLRZx$Z9 z?-#zYQlPsf`{;w$Y~Y#XAv?d=HuDl<3$O9d3!j-$Qx`(e%wy^x*chZOqbXRtP^=C@Ecwm%gMig!_ex=)_NU2tvp@LL{>whRsyTbq zpPL`I^5uSE%i_wNZ9#4AGm2PGF`)GVZ7*F6qe`-B2kq%c9V~Q>CS2%%17ni8)WybG z$_%){lyQVL)6j(A+Njh)iXmu@!hBG;tMJx^N8#u~_VD}Rv>DBK2Wf1^swsN~2z6+( zy|5|!(I4SQ3#Hi6&DpJghT{hqQh_ufNHI!jQTNK;pt^g>C?Z~s_9Z%1j!TxNaYGx- zr8hbRZjC@lXa@%cMbPpV2OCmRFWi&<(tN;846+aW1uAAAsh`lCUHt$Q{QL{wIic{& z3U8W|!nb92!#C?o+3dUQz)Af=337AcjwKc3+E~5WukUZZr1qpEU!9B6P?Q%IUf