From ab6a78d72f78431e740c1fb2b1d469a06e54bb48 Mon Sep 17 00:00:00 2001 From: Gordon Blackadder Date: Thu, 5 Sep 2024 16:46:37 -0400 Subject: [PATCH] update pydantic and excel sheets after merging --- README.md | 29 +- excel_sheets/Document_metadata.xlsx | Bin 38854 -> 38854 bytes excel_sheets/Resource_metadata.xlsx | Bin 8441 -> 8437 bytes excel_sheets/Script_metadata.xlsx | Bin 40332 -> 40329 bytes excel_sheets/Survey_metadata.xlsx | Bin 53805 -> 53804 bytes excel_sheets/Table_metadata.xlsx | Bin 38933 -> 38933 bytes excel_sheets/Timeseries_db_metadata.xlsx | Bin 15570 -> 15569 bytes excel_sheets/Timeseries_metadata.xlsx | Bin 51082 -> 51139 bytes excel_sheets/Video_metadata.xlsx | Bin 16592 -> 16592 bytes pydantic_schemas/document_schema.py | 2 +- pydantic_schemas/geospatial_schema.py | 2 +- pydantic_schemas/image_schema.py | 2 +- pydantic_schemas/microdata_schema.py | 2 +- pydantic_schemas/resource_schema.py | 2 +- pydantic_schemas/script_schema.py | 2 +- pydantic_schemas/table_schema.py | 2 +- .../tests/test_template_to_pydantic.py | 1923 ----------------- pydantic_schemas/timeseries_db_schema.py | 2 +- pydantic_schemas/timeseries_schema.py | 7 +- pydantic_schemas/utils/pydantic_to_excel.py | 2 +- pydantic_schemas/video_schema.py | 2 +- 21 files changed, 32 insertions(+), 1947 deletions(-) delete mode 100644 pydantic_schemas/tests/test_template_to_pydantic.py diff --git a/README.md b/README.md index 2cd459a..6b669be 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,11 @@ There are metadata objects for each of the following metadata types: | timeseries_db | `timeseries_db_schema.TimeseriesDatabaseSchema` | | video | `video_schema.Model` | -### Python - Excel interface +### Python - Metadata Manager -The Excel interface exists to +The Manager exists to be an interface with Excel and to lightly assist creating schemas. + +For Excel we can: 1. Create blank Excel files formatted for a given metadata type 2. Write metadata objects to Excel @@ -48,29 +50,34 @@ The Excel interface exists to To use it run: ```python -from metadataschemas import ExcelInterface +from metadataschemas import MetadataManager -ei = ExcelInterface() +mm = MetadataManager() -filename = ei.write_outline_metadata_to_excel(metadata_type='timeseries') +filename = mm.write_metadata_outline_to_excel('timeseries') -filename = ei.save_metadata_to_excel(metadata_type='timeseries', +filename = mm.save_metadata_to_excel('timeseries', object=timeseries_metadata) # Then after you have updated the metadata in the Excel file -updated_timeseries_metadata = ei.read_metadata_excel(filename = timeseries_metadata_filename) +updated_timeseries_metadata = mm.read_metadata_from_excel(timeseries_metadata_filename) ``` -Note that the Excel interface currently does not support Geospatial metadata. +Note that the Excel write and save functions do not currently support Geospatial metadata. -The Excel interface also offers a convenient way to get started creating metadata in pydantic by creating an empty pydantic object for a given metadata type which can then be updated as needed. +The manager also offers a convenient way to get started creating metadata in pydantic by creating an empty pydantic object for a given metadata type which can then be updated as needed. ```python -survey_metadata = ei.type_to_outline(metadata_type="survey") +# list the supported metadata types +mm.metadata_type_names -survey_metadata.repositoryid = "repository id" +# get the pydantic class for a given metadata type +survey_type = mm.metadata_class_from_name("survey") +# create an instantiated pydantic object and then fill in your data +survey_metadata = mm.type_to_outline(metadata_type="survey") +survey_metadata.repositoryid = "repository id" survey_metadata.study_desc.title_statement.idno = "project_idno" ``` diff --git a/excel_sheets/Document_metadata.xlsx b/excel_sheets/Document_metadata.xlsx index c334e93203fe9e068024c705393a82aef00a1546..02e041742d2234867b0bbac217aeb0eefc472ed0 100644 GIT binary patch delta 2082 zcmbVNc~H}58V2<~bIbKiTmf(5oe4uOdE-vfPIfHh(f=ykasQ3oLkFVMmu9~E zyrQ4t!#~8&h#CpA@<D-US7hkjl?XNZO~=EQ%@Qs@f9sQjxPKPy{5jo-)nfj#pI+s(stVYA8SICQL=46lygq5sC?9WRGuBH03OVMe$bkAads7gAdk)JYgead zvU9?CciL7S!zu{5vhn@Am?rPBg=U5N^`lxPWt3Rx#a7BUWWv3T7cb%PD}PCV^eWhL z)l#}BMo4X7)*gej4C6)X_4OBE9Z8UtsY2MW+z6NL>D`tUNfvYuj8I{@;-13PVWJoHi%~4uVGdNPsJDZ5 zD(Ul!s=D#F{VznDb^YaCaehQUVgS*f7%21;1_=Fyf%bm(0rvj(fpkB50NtM+i1ot; zVEwUy&H<@kR`2|&A=<^J>}r3jVjvE~M%omja9|P7Bl#{amLwIQ#&l`k|B(|MakZ&c zHgFo#i3AH4BnHEE7sm>2_VOoVNd}sy1AK*ZItafMP|g1C>1hmwhXY2JT~>AVgzp-Oa;h_&H_tzG*10XT*jmk;)^0Ofz@O z_YJuG(&pdqYZt823AO;JU{~uCvw60#P^8V$%j(}Ci^{Ksc8MWCQJxd2B|a0dUFI&BP{YKGjfme7!dh;Jh~rnn|8|$~)4SV1Q)jW~SBV)^sRMFVAZnCR+|l zHtE<0COVsR`~!0{ixj9aO}E7SEPoaj@Q*!Y`kXs!wn2Sm8fjn!6h$92X>zwv-$rv_ z^k=}X-CjBYK=n?fzMb+$EYKKt7(iGU>RF-A0lRYHn!dM7qdMA*HOaTe$VGYG2G&yH zz~7)o##^I!ujK&__`^GXzS(W_M$%*T-*WwDux1bcQYWrTdQN>1knnr)KLTn#u69c` zpZL38-ztUJ1)R)-1JiLv+ui?<1i)>}0R8t3YU@#&+=XXft-h%&M?m%vSY@Wygb2sw z$7J71xgh?Fu}P-__K)LfYiHTsnPdZ=ctGu5_@Y+yx*bhu0Jl$%sOqIFO=$SS094*L zNN*2kAlmWG9Q<+=llE{yU@sYq37hC0?M`F7Ou_n%*}>#Ydsv}}K`0wyAE;D{goPMn zM?o22kCm%b^p=#GsEoddq)mKX3U$#F?S}J^N?BAMxwKB%i;|Gr#U#l)1YxY%l0}`N zjw{9HRUFm?og=UyKZeS?^UwLJjXt^+%pvP%=6dhX1M~KtR-~3-Fu7)0GIh?%R7*tX z?{5(XWnhaCZbay5zJR`43tCBIVVjPYBp2=2BILivY6&m}9R1@U1D_UqXyYP_eY8%^ zQ39%qeYDQm;y^9JO16-&jm&M7ZliDM)_;Dfr&j-@)Lo0x(j!`QFFU5i+_Ip510du7 AjQ{`u delta 2001 zcmaJ?dsGrw8b?J<#I*E?R!ZebMi)UHA345y%eStzn*_L_@e(V8exXIapM+r#B!hb zcvnMcT(4{#%f6c7_eD^C$b8c)07n+HLl??|VFWyO;9svqp%o$mQy= z1Kvl>p*B8@0S9uK#6Q`##F0z}bEl3oJlc*8F`&3CI0L6nymL0?ms(BIGnR8DG_aLU z36uO`0w+qM%I(YyAdqqt1j1a_aWUAsK9Jq7dC6zs5J(XbXi}{yE|~O`&@zsq|0-G%GbFZn*N)i+(@R=m_e4L^IFEv$NwxuC@c)YSa zt}^aB&BRNJpRs`M*U%|CUw@``en6_6Bd|4O0a{2a7zYa6!Dma$wL(J#-Oq>5@d)TS z6)eclOudQYWR1fD{9NI$j(#mk)et5MeZ~bU`uKIjv1y%s2qACA(0+Y3&v@z z@IG{z3QxMJT&PA~??%&DsVO+#YD{pZnBqSp`?W{NIa(+8*A*g`$n2yd;t8~E^EqT^ zBUXAx=}L(q5>#;>b@Is!N~?<4G_ab!a6Wx@jILm+#)AZYY}@A-M!0R0vx*f74w>I$ z#~A*8VrpBDq~KO`>o%sq?ljdiGo7Gny#I=&tTvrmc$fS)swNqvKS`#@t@4utzpKqM5fKQN#YSSRG*#Gl2=;s)Qd^ z&rbDM1!?E@=s9goC|7Z`P>OQxy zREA8SS6R#MJEK7NNvwaKS;*)WN0eQ~&Y~D`f&Y|1v+!wt=w$;)FY*^~7P(nZ0q#pfp0rmISMdt+Gp{k&7|5~0SRBeVKT{s^ zE}<&*^37n3>fX@4-g59_hbwq&q7OyoO&Eck9d0n|v!mY{EC;<$2n2*(Za`*Y0PXTA z=>nlwoPapN5VUO9H^e!}HJ65$KCu}~45Sroy*hoWo#7^qxud#V3Pd7aX7&h}X z4CjEzQXL4`W9tfg)BYCzp+;;plK~E%L$B*$TK&08s0J9wxrzqav4#fmDZ4a>nc#qV zhW>sfg4+NtUUgb`Y*}->I>13y0-ZhXYpokVE7LR00cVHX`bDpD?dhD%!T_WxTrYFP z0o*{k8)>u4uT}r=9G`^23|IU5<<}BFij96R*ahC&{9feGn?;QE%U8I4AGNSetyp{o zgvPr4-_Z5`tUvAVza=U0DL%iov~{?<;ILl~66+9VzEOd_DRPddDU0_#o)~U*A&A-c zeld&mK?5tD8DGUC311^>f|%lHr!;2u%V@=T7&8WQTw+>K;!mn&M-chT-|~A^r`>Vb zK|NbW+fNO=ac8rT-wNf)e9F9rxW8m6~N;hw^1Fyj1JS#epo@ z(YiO2d;zYplkg;&ovh%I8ijJSfSO0Qm8H$}Xy)ib##!W|C&yhu742-!B0cw}2yNuk zehXaVuIy$1Kdg41Mo^01@#1_BP^_Pv zUzDm>k(;x0qObp91D>}3r>0cD-jeFky(`XPj)PN@P{wwRkK3}&whJvT`#*0>&Ru~! z7RTN{KE5qTTYn1o52-oF9dwT!O|X(~{ghp%@QF!b6|r+*ARHhuP_?kvqySIbKN%D>pp)qDBvy1(rol`^t^e9b>AjuJ$h z-!a;;F#`i>vp&Z`J}~36m=iOIG1)@u8CXD3I+hVE&?xf=ERZJa4H4KPXUz!@;K@Ja z%)rVF<)s<#PWF{ok_X8NO+EXqkB@;tr;mX_0vPx(u&q&Ua-Y0<6iCg^yG)5v%nS@^ z0t^hiFa^#A|> delta 593 zcmezB_|uU$z?+#xgn@y9gCV6{b|UYAdLR|ax}*8Ud!XQHMg|5!Af1w*98i>BP^_Pv zUzDm>k()DhqObp91D>}3r>0cD-u8HL_of(!ISx)qLLJdlDxzI3yLATcuJ@1HmdBwd z^Z5J6WL#dle2_~ssW5PO_d;48iJTlO~fPcjOxY^_8;yKK?CQ+80(>-+}h_4Qxc zZz+bj7BcgBO1g5nB|b}6w$|#MH}#*f$>akW2iRn{i7Y(hZLzuK;8A<&WhrXy8R@Iu z|K1bt7jtVx%l75Rr)T~=vu$F?>WQ9-Cf6B7OC9^fe;&TTu|uQl@tgNdvs`B#c=@34 ztl!DkpWfAdK9CX`5*`_tel;uj+MlYU-M7DARQ|g7zfQ^AjnTjTlWP-gIF~fU|5w}3 zfD%lbUoqOTF#`i?vo^;;J}~3Gm=iOIG1)}w8CXD8I+hVEP%HBYERZDY4H4KNXUz!@ z34R<#sIcj`xY?yR+aRYRq)97-=#>iH1Lf_1=_ z*-V!m8=aheRfsO!DMaZ8pEW*?nX8;pN1|oT7rk)5ySN*=8SQmx+e&la)ITljPYS}2 zUjBY}@0({&9bIzzF{5L4RGZ_=`mT;|n}4v2e8c_#Cb{eM$Y61GRd;X1%T?`1ougu( z^d8&O5sAxWH%=GXs_f#ch~y@0Rz&)-58}Qlhrd*aC4ph|Of)s>U->WAzl|U$hYW$+ zc2-muOYXYa_`g!rq6kMJc&7-94zttp?}PYEs2GA zQ1OYdi%mB{OFqvJA8(C!P+`h!J&^v~1Ys-n-8*+mAN^AO@X7f$@2DX^PHJF$H%D9^ z!6->!RrVpL9&cw96yghaqHboF6k@0otZ2p9-ua$~H?t2_Vg%k;Z&U}C#5g+tQ8p!- z3NS@;Q^hkif)W$|%<@Bj#0y$y(j-DwZPFyoq-h{rfMJ#~&`AFw5%$izK54c9YmawF zGm5$$IBfX~B3C*YIE(aerj*~uxlx3Z>oX<(*l&w*56L54)i+gD%o%EYVwW(N$EFqp z^-*;z&>!R>t&WoWfxVPI3^NMcEoERZjHqD@;R2^;m*q^3?h1L0G z6q7z?6eUyz>pF?7PVwRMgyj)`JY>J@vF%Lpo$TP3Ox8udtXIr@GKmn*{JLX1=j_fJ zBK2p1Qa4*6?iuneZ0@gPDC>mHCBuXL(-RI@`gFA(OD-6i!;S<T6e_nuUKmIt1w(M%vTK)L$eHZ3IuZ?ovU^rTYB4?LlYL0Qbs@`cDm)UhLR zvXM}(2eu?NG9_i3lNtH|hsm@D+bz)>cBL2=-FxA6u&D`u_wFpCuWCJ1SR+z)5owCA3ieUR*WK&(sH&OFn6bxM2i4?5D?a+Bpf7;3X z=B{;lqdldADjQ#=$#t99WwEPcfujM+?3dqGxP4z5>#8Xo`rW0B9-Si*G)Z;%-oF$OcgX@b(gYw{)_j5OBUC$G;Bhd}?8&6=Q<+MrtB zq*-pJ|2i6jIg573rUvn@M&zk+sj+wasYzUC8+zJW^ z`rtnZcaZwi9@t}mHS_qIa8aSBKDw&i6RaUV*OM99D0uDa1m5u8UU16P4ICw=fI`AD zAR;7CCnDZYj3(!mTdpH=Ix{cL&=3jT9BGqca@8G%uzerCbs}c^Z1s+0>h#+gIhCC~ z+B!6F7bksW{!(y++WBR!tt^1glPW?jnomAJ2b^S0meZ0uy`4Mw6+GqkGG9(|YT^W# zml%%H2Y$thV?I9n(n1~+$?uO9va!P-Tya7E$%zt$f=MA2pQP{t&P-c~%ezNBac=mE zxj7C)Lb)kc{#K$Wc$CtGRmOEENNSbC?C==w*}WsuN8}L_r?x=IQ${1Y{8jpYy?6QM z4aPd^dzW?HE*Gl>jv=W=T5vDQ%uoxsN%s~&WCni$c;yD@Xnp~3eON0wcY_7f0$1Ad z1+X(OR0}}StsN^Cn;#gt<*p4}OSgvg0B^e8+9j7hWTkG5{~HzQYnFqqXeq9mDo@f-TiiAM=&&CQZVoN>cO3Su=vkg21kI3^+8zh%@)vCV z@~v?jb0H{^fR2k#B80{LKO?q}`08u*=`G+8r1o1JX|VIxAqXEEMuMlDPv4ZRpXFeRS|T)?@lHLkgPowd$B`}^(R{_XR}+23Ur z{0a+h6>!MN*am_ib10H#Uu@M%*KNlW$&V2VU62ohAf#@Oq(lTHQ4*605tJmdYx?Q< zYsF8FaNR5~lE}X`r}n^Nf4GObS-I2i7C00=c16isBbyscLB)K`GqLIa7-baaR4!hGm z?LIWI%fiCmgn0jsx~ufZSs!nj`w*_~rMsf;Zs@HzeI17zVqT{SlGKwESxFk_ODIxH zLtekMGp}Y&v>~QvG=|oyP_#{WFVE*iHH6j%Ml)r6UUK=uzOL6Q?&dt+V7`oeCP@{q zP4l@g>YJg}<`oW=ssdl)nW{AUKj#!RxPlIRsVaFajIRyzKl8?SO!I4}xP^Y?KF$Zu zLd|AyPM1tQ4Dzn;^QjsSd%jyq*0AFTrt)92Id@067ULrR*jrv*sp1I`E9+E4r&-xq zpJmQGEzJLFM!C>O!d>ljyw`t8K7#D*D=Z8B1z9I@jFK?N!g}BSbX%FGk#nQeNsnIp zX3>6D7jVtqCC)1BU5=?pM};>eqbU!(?x{<9DYpJ&<)V6Jo@4^&+9NqIlS0*Io@XhH zJGmCeBqO~;2TO(hPsNI-W5OEQ=)}}$v@b*Oy=f<3{_;Pn_79TCL5r`_{Qwf}f`Q+u z-DvDs$?87bL9MvSqcX7A^eGiuano%*U`7#q@>c{5T=>+Et&;ritOHX=SHHaP~EcQv}L&Swq;^)8U{2^vpZWnNyJX1TYF|KRbg z@hjzekfL1ea^`JK-6u4jtH%AKq=S~UP>n`_-+7ON(=u*?Vp|tvqOQX$DG33S z^sDQ&W(Tbw1I}tUn}D|$);N8+9WC#z9t8aCwKR*ZPT&vZ7K@0}cE7i_f1c?FC~I~Y z1Ml(ROJXEB5@gl2dkjsbQRxBw2)%<|Q< zx0WCH(snBWbPoJGZZiTMH;`yL|8jirJ3zH2F1yk|^)yo7q4}}Gz^+y92m_wkZ}HQ4 zK+VAe-&1CYAWWY2MQz_I{}?cF)dj4uvjP^_9j1wK7lL4W*K3mwA!#rWl#dhnj6 z1FSFubgY@l8_5MUq;E%mf>(8b_YPk0^n;)XxfQrNn87yv|J+5ihuJKB>+~5ZS`Rc` zECO<3JoJ3vC~}*HLA;Zex>XO*>(r~Dd4z+2Q^dc)n=UpB3Xq-#0R~=r5Qc?r@_dYy zjqKSk8XIZb&EjABc|ORRpmhtwJ0u<%(Q?rc-0Y+gyH6~60eixtOD2O=cc zTdX)uR_r!@+whs0vbki|D-{3H>lD$UX38<8;G`s+W`B&_oRuAt+Rjy&)C*!dDyN7U zCl-Pl429erEi*XmjN6OOsa*b|v#mJLNdE~GmB#x~U%lK|5lW(pDrGh;IE!#MTi#%rJ!dGfePHd3>Ks>&uow z&@^Q!Pgt%YiCBR=q3^@&fHs$41VN*^zX)ABAMG3rUkpL%@r2}*jCgYL-)U{!H}Y+( zF2NQKLAp{O?HuePxL&cw&@a0J1EYZM3asHYSAl`AF9klOcFUIt2D>UTFgFldxxuug HT+j4h#PcLN diff --git a/excel_sheets/Survey_metadata.xlsx b/excel_sheets/Survey_metadata.xlsx index 23a4e8173289c49f8997a0f1649880dae7090186..0d0eae172b74b020d2d2de7f587678c9607cf945 100644 GIT binary patch delta 1778 zcmZux3pA8j9KYXq7DwAq}!=brEW{{Q>?{qJ{w=lm}_N8(wIgo2~J zgrq6}Kn7gDt2CM#>FK`j;iYqsk42vYM%`9 z;4f_6K7!WR+QKEb`~;0Asc`u=FWpkkSUa*ym3p9Bw zydkn;7ZMxyuQgvx2S7C1639&zBdVYnJ+=-8-PTecL8SR^Tf?7%qH4efmQD2rV%IACcc82GEG-uezp1s3_6 z$>v-9d}-u-0{tjt{<iSd>AQ9N}`rjDs*(i42`pX5sY=GGi5+s^xxyFPN{ox*R?*D8y7= z3tOpr#q$WiS;8UA2C;0O30rO+n|*H0ixAH8mFX4X{rjc{&2LzSy_;omwNsY-1bTu3mxG1Q)Y(gVxrh(}P;;w77t+KIMr2_E5|=Bo?* zhRVuVmr3|rC0`iP&ME6E7H8=}pgUxA!4Z`vH)(oNISAA8Yqqa{`LexqnKkgd0Ljl=)Kmi4s zL2ha&pxv`nK--PWP4c!EwVVG9wB7m=T(KyDl%*n%f)nigb+A<4vJPr%oh8IuQ2X@+ zO4-ubkDy?*Npl^nH3y&oQd_Mz-Z}WP)dCgHwBnHwDA%?__v?-aV4LWH{CAW_>B+#F z1U2Gb0`2M*M|%XL3cfs`E}fM$Lqrh(yM)auWyowZM9<;0;W5W|iEF^=Hf1!0wBs>E zZ!|?}S4Pk0+&y)9w;BM;J)0|GgHU2f`?~glNb7eGO>sYKH|*Q2%}EduHKAMw>L50PizImf_yGXm{xwCkmPSp&nvUJ*b>4U2ky0qr zsdZ57WZAK)`_&?bItBod@XLrqlwJcs3G}`aWJ(Z!H<<~~cj6HN4DZxNi>7trF+ELi lu1U*y6Vc_&WA;v41b}=Q093xz2OtuegGiTw^o3S&@*hE9^8Ww; delta 1824 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 Wz7%i9uu^jY;9BV)&HLWcu>S&*u9k!V delta 2058 zcmaJ?eK^y58=sdj?^5K1T~A#_$IFBn!c>oxQ>b&E5SntDx1!+~!Y_x8$J<%GixEwVn$w~FgvxvTC>N->0JHsJlFNTuFvOtfA7zIf9~%;_tkrv zSMO;Wg?^)@y$J?`>A`RWn{uOvdaDp23;h{UKKL~RG=^_DS~gts-*V27aAF$jQIE8rKi5G;O%ZdQ#&6q)&>;QzxP%|; z{@L@7jNs8};+%Nrw~Q%5R>xymD%WBnZ`T(2mMGRoqi-3r?6oO$l-CDEIV{!$Ch z+sHSw8(wJI`-`%On}tq6SaTiCpSg%ie@qtvC^)D zP8x)$Y~uAuCDBXEl#&u2Ny202NU6DJk4MUesfcOO;=)H^_cUJAD_PR@bwoChNN7tF zY4_}>fg&i^f{MwFr*ytLJyE#JclqfH02UCha%}%`b#6A^1o_ z^X&)^Y^UhZw2+eL5k!kxczQqANqNCboCPUc>Dxn6lzv@IrQTWW%Nbe2(cv>K?Gh&B zGsgT?K0Ws-VW?Y78)7h;<`i&NE0?#@Lz`h2*r8|Qu(cl1@;_4FFBT&#n%I0P1VNs` z#P%PzHy{HKD}7F9zyo_vmi=loIzQem9;^12OjG>s2xn*?7RH4G;^cXZzx)KdO%mTS ztjOLe%5EwV<3)|>D_KM2tRraFnC;5=4PkAXoh9~U8EcOde7ZF>6YFDEj=yy;Lx6;DGS|W%H$&`ZPpe8^- zg`5@w{a6l-ffA;0IcwQ_@q(*yjx^B~=VAryPwo1;#B{{WUVAoa%VEwS-j%xIY893e z%$XdRd39QTcldR9RF|(sn2YMD(j7jhmv(=^J5rUd7J`(r0JLW4WIfGegDeJprb#PiBMKIs6W!tbk##?dUEJHsBDK)H^{gHaJRT@3LP)} z%I-Tat2ZNcQ-GUiLx7{~KtA39JT%iah&^Zh^x>1B?0s%9@YdK>pEK-9&d&orRsG<4 zp%ZXEqifjWVH{V7bq~S0Yr%kNkprOMbdB%)!nS%H_HR1tD^I__!iMVbQV&R~)_{S& z6bGO*(>44LXWZ~TcjAc=4|Wk;x7lrIl{9%?=i{JcsuBkS`R1+$rT6ikT8i6*ee{!{ zJk|}aR@A(N-vyUboIt3lEd&$p9W4acPr1X_ueJREGIxisS*Xnn0)1vE zeYJrL6TALLsV}vYF4hr53Xa` cIzF%TROg$JJk)rQq#giVA_b`LJkr7c0s}teeEqz~W1c`NJpz2CfV&W;^{eEI&jr)U1$lE?g7Ofzt*W9K}R^0;2{ou4m+ zd{`S1n^rG+Lgx|7$#nPEPiF0z#^1l&cM(_Mou!ZLL{G;mrtF;Z^i^%i-xvEibJJhd z{^frhx delta 530 zcmcaud8v{&z?+#xgn@y9gCV_Kb|UWqP9PPzfvJ$?&BSY(^|yJqxJK&vSU0vDQ4!dF z;^VfCWxYa+%kurBxAC!Tmwo*Ib9(f|7p!KD^PC@RZdhvZIwsV;v2L!+%)Ja96)MY< zuL+mRznlHQtv}Pjh)0@WIZ18omp`|vjpVxoMRe=ctE0o+#-8D8b zt(ocTM8jahGqn{DmFiz< zaoTr%viZH+A?=#KK+UHuetIWg|4H0@TW!^u)2_4hFBfgqp7tnDwd?5b2fwb?i|#sh zWAEOB6@nU^_5XZp8Bu&6IWuOCvH%+c!yI)624P^BRBZmksKdq#43W*+9Nk)A#!jOU zW)NetfY~#!z)!PSMzBDn#UrqQouxNKpvTG@5t@@PSeb#9aav0=-kYpytpw(ISxYm? zb4<44km3*UW@Hj!fXBt;2|$HwC$F)V0V_OhEp5eO#=sC?l$ukluLmO0G(;|*eDjep xBLjmr69WT3(D^XX!1#8uf{h&57)KjvM&HS?Hkx2wCy-|}d8v&WTb&h1H2|#hzTf}= diff --git a/excel_sheets/Timeseries_metadata.xlsx b/excel_sheets/Timeseries_metadata.xlsx index 7b8141476598a1ad88c0fbbe986939701d920ce4..c955f658e6ed95d44d5406b2b4dce61eb901163b 100644 GIT binary patch delta 20577 zcmbVU30P9;*Voe0HY-ajOIlnr#TL_2VQi+&N?T^esZ3hN%q+nbap9&dj+rubD=QbQ zrWjkK#&Sso*UU_)%*;>`H*x_)R6yYJU2SRtoB8MG^W2BU`!46azjMy-oR|BaC58X6ip8Ud$F&rdDVgDdXI)nkey~5| zXn3zfICrqwj`+dZWl`DGUk)B$<#**&2IgGlW?$TnA?8cQxRc*m@9uI~m)4Fua5W|Y zSpA}M-L!|h{{(1)ELuulz|HwhX~vk2_L|%A_Z~4lgx5VW*KGPKuHWa}`GtHK zFno6JsqO_*+Um+R1Zx35M=x&a4-ehSk1xG*e9^DFD+3j%JYqlQ)Z43v>*O`R?3>FR z_fshq*o9FMfA>|-lqJ(AXlSIEYiQ`hO38vWttU(y)=2DPsa45j4Gj|!teraV zG$&KLSsqz&*gGZmwP1Uk<@{484qHtsF6+n~H17(&*FiaChbD5WsZ5-GEC?n}v0kI2 zY3+6-aK*#CSI-P7=aGyJDET1jT%mZcga-^f@HHo5JQ#=&iRft#q^u;S{g#GNhAuY1 zElvlEvdmWN6fcNgmkv$4sUHxuc80w&V6i_Gw)nE1-rZ8ffu!z?AR)Jcc$~OZv8c17 z=h4=Jg}lQC?9! z^Iz3xPdQHqF=w5%c)o2|kaN~aTiLy;j}E4vbeTfl`g?I)J* z=5Cn~kWoK$AIThH3o?{%h4z8L4KE+`|eWT?#tq_OZl|=WjS}VE1*K* z#ZZMjx3j7g(hjaBbdm=OobJ;e?|UN8^&b+j&>j7IS9qoM_rI4hBT#Y+UbZ73cEaW< z3Y5l%-5oVF3_Uzcxxkx6pSw@Fxem2}4jp2J@LGkX$m%{$@A!T6C(cd)D;2dy{+`@4 zr?-@@0{$$sSx$P>0%5ElGCm-$`cXq8rVzv}F$Q3r1sQebnH^Ei-nhX1Ty=s)#-aPO zg)!rPzxqsJyk`0J{hRMCP5kLsyY=-|qH-~NG$C!SCKWpJ~-!b@XcJ56BrJM&~2 zAXjjNR0NP$7&TM_D2F&uD**LY)zn~>-An+I@RL{=ED9p)(Hon9%Vc9?ppY;mM<4(I z5>>E`vDhXh^alnlm&%bq-jIlDj~Aomb%31sGYYB$oFc=AaCl%Z3hHd7VBn_mik89B zQnpeQn}whu-r&*7zJ6ITS=o&y=1Zm7c~Mmo;ZNd0hGBS5t$~J$tAtLbx7qRqLPf3w^yOx@?u$dcMP$rnyc)_ z=G5gNP?1t^vhn~V&SA?+MSvj5hY!gWbyT=Tvk1*0*(0!21ZoOiKqg9=2ror1MVy0f zj2!Cy5iNIqq8OwOw1_bhKBu&Ttz@DVfTH^(66z}@H$@Fe`g^-`d;kau4e+6EWt51` zR*K&do=UekwaQs58G7VmWnw&*nJXDW$_5a8G4R;l-rZg~fFS7s%9_@sSO5ya5G4vA zT`A`b=mA4=Y%pHgu5?MJR4~KEQi8j3KsYGm54LgvDM?@~Aj*I~v;dGxJ4FJ;4S*=- z;g`{%L=hXPP}Bi$klZ>4;H1cu;o*R3bt)m86KQdcQYa2gTv}^E5g|@AiEGC&O385$ z;F?+^i=@AatQqDhu?x4i#4I*Eyh6-n?vwZ|Vkme2CSoJP2ofU$uFe_;yE!sWG@DW9 zK*AZf0#3!!30zCY$`q~x66e)YP(nx$P2gHH98<&&2pp;ak&>#MKS+hf0kio{Z1fBHf?R0mo|WRQz2To)-#%gBjrxG^(nqm>Zi_-D>Ya!h!qXvM{uHAkKn*)f)+R5-ZfXvKuHqAA=pjL9iU4pf|1 zYe6v~UNnvC%$S%$a$vVamJoDePB-td1@j8c3M4-IUMWXP;%{!trAr4wGbbV4T1@9fe_pU}TrYzdzv8VOgY$%4hpdE!nKbU)wyUKVhJ$nSXi8#coVg@}9OW0Ge!5T*^kr&@cVIU= zl@rd0=5w_fTT(n6r~ysQ1?7ZTkui5XV`B<70L5|ADqaWRtgloycv&-`KBrJwRoubI zh@w}AotlWb3c2B-!P#$exXOoy>}FE=^m|% zHQjJZ%#H`Mx5iAjnEc$%+a^JFss8GZR&yV59L{rjj;gig5=ybi0_+i=W}$b z&)fNXf{s={1njtP=X(YPR==|IshjT=6kaW~6qrfV_&MhB!kJ|; zKRlT6N6gmWCr@&*{8Q_3`iw_0ZZ9WKD7JVv$;?IPqIUZ=U`5hX1((H@)WYVHr&};Cp{+9Z5xxBNMZu{Q3VlUfSAwkL}ZjHr;i!8J+r5mh@`T3=8c=5tH+Ix#lbfW)C_uSR- zIu~<=J6Bepu}D@gw3G=v&eF3FXWJrwoRd(mZB@Kyy6!=j#qV@>x|luFKAk@6$Cy1Y zb@sTJf6zX;f7UT=aG}=on80mUx3m%uq?z~nP&V}Xm>=$iy>S$=27sf%U@KA&Ac+K! z-EZg`6R!s|?`fZ3XkZePuyFRTF`nCXTwP56)J{mB9US9jtFxi_XItHM>B}tYF6OP` z=X4M@0ij1-fzX3nl?~VQ^u%c9o-tJCyH_qyx9(X!}innY`F#*(NO`m!;3N^3tbYjB(vQd7g{a2d%>W)6d1+ z-#_!zce}S|S_b(xAQ_?u%APlmls%GMWsRbd?Tcn%G>C9)Z|5jVV`Ira)T^m}n$4b*HDWI9xBgA*;ldfmv@#azx5cd6K540o z^%1T6>H7UKF1C}hV>VA8=k1br`^BvQx-E0E2A5)>!5|?u3g}S#H35;4xk~wMWrsp3>TIn^TAx+l za%2d|?4*xT>-|dk8~Bp+EAx;DpUGKh1stR#EP>Ki0M#2Eo4D-j*Z@YO_DW@AlYGZu zgs4CZM?9+AESJnIqT&(grfPR@#$yd!rnZLKLjLDEVlH#F;bnxCUty>Lg^DTp3GjWe@WHHabaDsG@KvIX^+=}3xJa7ed_vS3p`n!3a0i_ft-O4U zKU)z(Tf1kxL*2X+|67N^KhPDt5Y2--w1YeJ(_lLWDQ%U-?LpN_rk&F88>cqne-j94 zN;3JHl8hiLfk;We1m-*}F&@EoZh}ICl>BMbnnzP`ncgE>1paYH|Lu(c^jog?iTGVr z8io}~nzW`rWjqoo#~w&6w7Z+FY4d36!e4aX#%!8Cd1mp3-zTkbv9Zv)l|J)L%!Zef z*190)Xx-dzbwz8@c7uz4&pqdfjYI`gaREn-nt>L{>Y~_ujKHa};N|L~)7hF@V{vYn zv>Z(o91M`$jk3P>lhuGse&N_);fowD<4wC~i01#)8}LQo3aQWg9;)2ihQLh7l}foV zU#5Fup(hz@SVp{Yp1oeug54;=WhSd#M3fdBKnboe_jZWVqy@ex!8InULqwAn1fT>d z%)MMuleB<<5~ML%ToEKKh^7hB1$#fpjE87(P~5%~@m%=Ym9JrF?(g&mAP%6c%}RY$ ztzi?qa!kl(gT}UV04qk;tyid`(}QEvoNt;~)5eWA-g7>CqJu>>3rT)2Uls9KI!^zc zy`ki{!JXe25`dAIfaekxG`GB2TU0I#IZ?_#QbxFb>%?ShZJn`1&kiS~wr9$oNx2TR zS-pIg9XE%R0~=OjUH&V^>Wx*JhI^)sCL+LpFp+A4*R))R$MbPQ^xkRB?0Gyb&m-pF zeWPF_asi9lMQ%my8L20#S{*g*1yH!MSFD#K0HE+15mJDYOa!<)Cyz_oGkx^T{$pYT z1h472PLCJj2rZ$Suw_Q&!VW!j(3k;tl=~*;8~ny+w*fQ=szfnGTm)GbNN0i6-mdAH z^kM|$$JV+0jq&NgoKn~%9ebSy=<>B6^j)f)0Bw;TZrBjy?kjkdqKXQW= z%o;`2F8FG#QMi-vFkQ68d}BNUCQmAzGt3q*at}c5d|M?kXCdZ5$DZY8H%2ekzXeL$ za|dh^A{K-Rozehd$gE1gat!Txi+EDSIT@kUhteowq}w(D zW~!EBWo=C{gZjdvnXqrJr8(ag2<8UI3-Mop*0 z_6z_sa(pvkv9hIG=e6Sn1m7RUfLwlwjOao@vacEJ*D>(fUQL-bVnfPp0W#5@4PamO z#4nAy?e#BfKfLsSN(T5h7B6u#Wbus|vZnYu9^pGq>zRy6q>mD%LoEXthCjLIki_=x zIaqoVzMYcK#L|2)2M;_VScfh7WzukP0sdE}H|y~7kMK^-3pXypqz*;OYlX}Tw7oAs zw5Y-H)AJrUF5YH@C6863Q&(jZdn%WxBNB+H0z^dv}Ep* zFwtp8o=acdE}#>hNQE7(k$V}n21VcMgQgt1vZWOu?u8RP4~ki@M}>LsyEOXi=6(OM zTwhzQi`-&aZ3cYBk*fWgiMOKj#~=zY?Btg+$BV6|Hc(gL=&y^$I6OO=8!h7^=uQ{w z&Y&9_l=99FuJpVt$6P54f6$!pzor8GO)RgJ7ulYHkt1#+v=Kv&!dGM)qkGS_+{t4L zgUNkP0ra&4Ys7c;@ehG8G<#Om%m0$-Yxrkh>tGHgB~^?w2NqW0+n zQ{WV~yQqr0MpmVd2nGOgH&2n|9`k~xNyu=|o!m4!rUPG1I#2JOGJ+1`j&RUc7P*s#EZar`*Xc|Uc6(vDw5(ahN!ne{yK&uF&E!VIHn&P&vJpSM4ySX12Nozi#58pv(fTR`r$VZup zw3kCe>u+UIA7=K?n>;p?WMAT*msRarB2KE<$p1wel@a%^CJCq~Sbw`03#Ps}iDJfw zb=@#gUrhi|3;%!9k-BIPcmf{gW_*mlB_I}d z@*AsTa|FgHx{s3AStb*ETr2q+oc|lmgfvPo)omLGvw&P8Q^>5UIog0aA^kVMJrV?D z`v_^J^tI^POQM_mis4zz38RfA+QNDjMtD7f(mR=n^gl~z@*K*( zPBE=MqR8uz##qwtLup)qM|G=a!3&au7DQAJZWyyXm=SqkZ7B9)K0vO!#;6Yfc5xIw zbyWy(D??_rtxI&k+yGdBKbEE_(n?_AHpxPZaEcg~=0C1^wQr4W0 zxka`UsUAa~mqkaR4l4_{r9GyKHUWngEFwUW)?EHbK$OeeTYhCcmJnwY&UJK??YW9f55G<0?8a;Ep9SakaL`NxHM&ZHsv?##C9q;iT7r5lrh4 z;3xOZhQjP5Msf~)5M~F!m`K-n=FP!64CP$GJox}mGF;772DD^(u!%JYC?NAI>Fw9O z$!E5_iV27Y>nI&ODv8M=dFs7=HdbFS?CHDfC{Ox^*x~kld)8}?%}dW-+}?v^o|Gcd z2kTpC(HI(~hbrPcFmGj|+xT~`m%0}X7BS?Zf=)s(bdIa8lvJgf5UdmGiH;B^4Fsy709CrKc)#9C~5e)g~1KU}(-seB)7PnoTP_gPo zM}PWGL&r;N?W&c~Z-C;jBC!vn@I;OI2h|BKQ<>n8oq-fr${7V4Aw+uFNuWo0#x9pH z&i39GXR+M$`Y}+?-(YF>#kiRXibdyb@T2WZ!i8fbJxu0XD;kq;p%2-VS4Mvn~P^&?_BHZ zKG$N2_m-;`i>?@$eO#7Jj*gRjMp~B4#m_QPTf^leYxu}^&FurLDHCVc*Y9wUt&M7* zeVT&t2g*%Pt$Yzo9li1&TYX;n?;W@3`j{upWF#U@8>*Wy&9bZxuloUuTvQhaP+6RW zP=lEaHye|b)Leyze~Vl}@EEGb4k8|6Ed0$jeT#s%{c2!LOnRJk71qy6PLJep3D%yJ zBX-9QaO1jlFPM6--@R+G>(EYrsxOZRdYlW5u)p6CwuvHlYUXCsBazqZ;@nhNiCeA#2{sdqf;d?a< zTaRGajIzpMcoAg_*0Sq2JD~GG95K>d({KhO@BBiw7AsXz|BA7pM4CZeD}hZ{I!`R+ z=gfcM)!GzMM!df8tNtbU_%+zPu7?g9GMMfLUGgK>6EUsOU|SyA{dYAbEK^a!YTmIG zDddJ<9niE&T+2N18vA+bh+L|of{^$1M_^fA;UGcdK~74}FTbm~Jfw<8=|AFgo)d{b z&mmIL81D{v0KS*sU5wQT zir3sK9&wl!uNht?(#pb9@cxkQlM6+UwJOzIlC2u*-_B&XH~q|!OODTuydEK5(kU{0 zLI~2XRB^4Ju(mIG*kk;eYI;Tl+Iu*li9x6J;oIZ2)km@Zaui~+P3YUXHg1_KJ?CS5 z90IP(V*I9lX%55aR9%?0ynA+@DV~0CRsL=I;*gO}*(e6|MRG4V@9Ky}Xs$ekvZs@6L4~CTY{e9K~##+~S4b z<~u*SmheYe#l2FWLUCS81lfvq?4%m@>{YP$qKOi}s=n zjBhS5h@e1g%D*NpIz^2&iz@%rqc-e8ermGZ9y%#ga>+NkIgZsY|wDm)brV=qT6 zGSW3{*raYBwqMSXFa8kdvxL*vwxOiG6B%_Sq86`E#I4+RK}|5rFB=)J^7Wa^xxgO6 zRbr!Z+j3Bw)B@JpF9Vj|(!a8NdZk>XUdQQE@a9?*EkY8kT$SIHErH}$yLB$utGh|- z5f2gQdh%m<{3G@FsVdNZYpxTqREzk6b0No7T_$Ul>CN)}B$6=U6kboT!z6Qw`V;|` zDV}|lm58g1F!k*7(oHJx7;8jb?3g@(44{ViTrMk?jKC6Q?fgcTyBO~-y7>l6|CMh& zy=|(uN|fI8uVFgnb@K>Wd*th52`|i4eH#+nwip{7ipHU2n+1g%dkoL!xc&Ym$vOVF zt=HWiCV59;)b+Lbm$VBTwdk{3j*eBDO^$bUlgvHfaj9nT-nRX$xO|n+IqWNtUpjHc z;=*_J+rl2^C*$aQ)3GapwsDeQ6iimf5TLS1uyJ%Ym)8lcsFrd`Ybn6=+87pno^RK# zrl|j^r&ULM%sJ)K3=coH@pTVBfUa<$pI7h*E2(e4j3gH?g5MvX^~sHXWH;;I*KZCB z2!xvpQ%|vsX2&^>64drfK~FB`^_Ubm6BrG;5<&*`=^=EW>gaug`PCy_1M5PByY1gV(QS+prn?}4)*mzb^p6bU7?FO<#G8Y z4RX1tmB+Mq$LopV-(ZdWfQ1Dco<9OBU~{T=c=cxMjyAgGsz!G|wf2-D3<9r|+~Xys zlnT6PWv!v7o4Vnt(RW{;HJtLwc39FR{a{wEVZ%1{2FJdfGwgka!P?aprJw1>wm*=) z$)n)-*x_n41#VU{8=H(PpFJuL+I<-ZUDk*GJS&ryc!1!|DQ(PW$w(q`nsTt=s^3@K z&{9>6+(;cbbru2Vssk`E3Dy|r&0pTUJu>Zc>+O7K}23OubiU%xJnHeec zGOPp}bI;U0ZZBtR@y*mdmW{f{N`{>(cX6X&_6L|fy5zPbBc7=-4OM=^fnpRRPT%bj~BRgxP^CgWKVb!?1- zoU6STl1DiOOBLN2^NyJnwBgr$y3_%(Tm>L-)D40Ga#L`MMr;ly{xQVM3labeN9F7* zM<~+g%eyeclExi>U$03B>Eq9$CbCmo#H$Ns z;rSva(1X)HgTJF5G*s!`#iKrcZ6YScH6-NGk9)Su2ftD!TA^YKFl~3}>uPIxcDFTt ziM^nykth#q6U-EERG*_NJ%H^KK?n&1+G>T08BJ$st4Nv`=FPVg&sA5mr3w^a7UmOH9kHjN z!`a$PlxFZ{Kp94yYK7)(&#~bOP1Q+)H=mlLl*me3BRs+UYs%Q%+oK9|%SYJ8=fa!; zug9zam6zN*B=L`-R`L>qebAYbYgM`zR7#Ai|5m`0)zxqnbGu`eF4f(}yZ}W@>CK77 z+oR#1kcuQE>7Ib~qk_sZRj)`%oqf8_T(CtrB#E*N^G?jUrLMabDtu_*gB;0>n1Ue^ z`L7s)-H}OXuk8}JNNe?j8i>@3wDoT5X^Hz4A({eX1Yara?$JIiaEDs8wV#hFS9~Ny zpYzODQnz@9d%=DgqyxO;h_6)_9+5#mVs^a)%7_%zV$UZ6|FPIZu?bxpa@3h4Tk@WyN~XDH`*cnyFc0!l2>zQSJfmoqS*QgUVw5&H8s(b3pF4`Jy1~c z-9M6Rj?|}Byu0(CHSwuyeZ4vPFZLaH`FxyelJ&22=2Izjv4`XAydgz#K?zPK2@?gc z1fn=cAq3}|s^x9AoNG#%b@9T^9Y<$EdZBGlt8=Ew@X= zl>6QLVQv!C40;`iMSkI?!JDmk4PXY=7i7b{SMzf*t z2y{dpzg&!25wzY#RVTxBY_*!q`$t(1aiPSn)2tkLM*UHC+ukR~-s!2z^-@Vhfp0d}Kgvrv`o4>+A! znQ4|1V8=OkcNEWBp~ADy_S}Ox^00^5%&AHs;1+qlMGV6@t5MTarGc=<;1ap#W(S%0=b4P$ z3+n90QYF3!UP&3QC2KrpGV(6q7?(y-W=9pu45vqMG4h_t@WViaCsE2lKBP#Z?v4se zpC^ouygzEN{kEu5YY4V}So=Pyn{u-8j)aK;-eH4B(K3J7XO^hc`qDUqRh za(~MaFn9-_Rnrl!^^b@7$_ChnSB$46T(bMXhpr{t zh|@r)6H*WcQ4#!0L|L+8W6vemzf?BVKIPLRwI-N~C2?AMe$8McUhe9sKp?Qn(6*EJ z*lB3dnN8{mmz}Cf{+a51CLXMs0@n)WetZ%X5_K0#R|il=ts$V&^5yN+RJf(%RKp7V zyj9;lX?8t1#vQPYj#g6*^R1?eBNWo5E0a2Dl`q;=3J0dQe!ZBobGxhS`V7mdw{C&9 z0TV~%(z9)7(|#pfF<2$kE2*o$8*C^!HZ=AU)|(?fKXG72>-BKof~fMRjxVAj znjTsO=ab$cXMJMd<1CDZ$&l5T^xNVM;|^T!{poak>)lBd>dOG{QL0mgKfG~p>2y4p z;|Z6*t4`~CdKi8mXIw6A zue6S>YTY{xjc$kxi+3;cI(Sq*$_pS>*A=eMpQ!??rY2P+84(3Dk()dNvqlM|*5-C< zHQXi{Zewpm#MWdaMI?FR)XnT84g9nV4uiHBE|A8QwhOgmDajRNELjpm@|*VGfePLk zT;rKm5Cpe!w2$-yF?~X4)D{Y$5=cQ0Ng}oAK6_~X&6)IA)jHgZA zRA`@^pXzn4wqrv}r_k?Eh@#~e#o+S`ay;8^;w13*U{gd)=hL>WrT!Gd@sIP)hl#op z%94|?CeWJg5CuUsF#(%{OhDt~lMHqyTgBN^y*3vRq^>RGB?Db_C~Wy6@VgLG(8ga^ zzw*83)&j!7!Io;J!2G8I&aG2zpi!{NBCVQ)%ByD@-RR_-cdKue)!t2->4C(!e&EU% zKmvWd+2-L%fSa&W^ugTsO`9W!{A1F*x%uO%l9fw8558n^a%=2e?kyX-V{a9&w1S0H z4%Cz?*eHQAHwi;8Vc>OK!Rt7)1=F`?u5ze(!0IfwIPPYg>E%qw4VSh>yT95eeD5+m zlJRG8Pd>^E%?%%T&*^ISi>*t$lHc<9~hI`Ryy+cD}W3;^YH=p+2#Y!+C*kXQ6<)sNe^Fkd9 zuiU8qsigLX>uejZr1-w$^~+qIG^Ln&(!(#~6n(o(N)?UJ z!hNEpBXTeKJQggsYc6r1)+iH095}-iV^Dp0JU?34N4d;C%XP*#h>lZKc*J&+kke{n z5r8~QToS(t8tRM?X?YUFjH*a&Y)tPP&>YPjr zq52FfpT$J8ffC?aSn0w~eSpc>^?GT>%AiE}H%4gYUs-s?Paq$=TFcH|-vm~{D(#?a zI7K43Bfx%Q{>g6f{29+cm%!zd1smIV9XFbJh*gWh>p^z9d9%Z+JZyiTZvg_w%|KGn zR4wfy78*Q&v)9Rb1IPp)+u2R%CL8T&u_{_) zE8z1BNLan(SXl)NL4#6q*-?3g5#c{JD0}Nz^!fe*ej2T)&ipB@5HAnLOCc&*L8dEn z*h)UcR4V#sFa-)pCu}B%@JbSr{XtsY2B6?a<)h^NbzG9PH>X1Op|!DaJgTSo=pCq|7hO1?4x78DB{0EWIe#%A~ckDDn$*{;(x zG?ttlKCA|G57Pm#`o0EdIP{tAqCfRn^+z;c2k>OH#0}3(w8L;c=k_gXoL3DXu&J&t zjg>D9ACRlC^$*j=>rQ+oqtp(`I`-B)G6x!vmy`7Q)a#>EF z_hTCQF)P2D>XRHBvNE5Ac!EhuU^1x;zK^KAvqCIe26zII^zdVbB5(an_thk^IBS4h zbNC^AX2;sK3aj6^82V#bb5E-*w!Y5H_kGWSi2V`b9_d=VNOm~yD)q8?cSlw1uDJ@E zuJUr|1+*M~Zt#6UZq#2g9E$og8;`%2uSenLd(kkxfzSen<;KNvLSdPNtAA5B<;r~btwhxF zHL?1J75cIE@}6G!*G5x9-ZD@$3^mQ|ZN76X7MYX(5ZIC<&Z%S3bVco%<2L6v^+iTJ zP=w_;5BSz(BCxEA5D|2*(JR>8C#PcaRz1Tx0wz+A8k7WPQ*52$r*CgPwbXoksv~P! ziD=b1GUY%4&|L0b+8cSRvlw~cm&;kQ>oazErM*{NleO9=1KY}?sl=-~&qAI}1%(FY zASzOKuKsdD+HaLc@Jq;IgDhtC!6PPSR8pDN2Jpmf8#Bx3b+#|_nl^blk;=-AmIMg9 zHZ|BKvj*e`#Ff04`#lR#a|~_gfcX?Fv-s&-b!WvyGX^HK_7QAt*mKTR)lEDkzO_Nd zEp4W3Pok2_P0wkA`4Ov(9_EG{$KSPo+R|0~@EuWC8AdNF&JB;U&D?JbHb<^9nfi1< zwBM7yd`=y8+6G5D7UjIETiV61;V{?6cC-!+NOR9f!NyzGTlTxAPoEN;X^*gHiULGW zBO3~YMiu)+zRTHD63eT*4+V%?Orh|0x>6R57uK-dFO%ZS*=}xPOa~s1iHr-Hq7;#$ z4X-yA{q6!<&9ShtS!ZjyUFQwvy8W+$wAh|Tqwfd#fYD#>-5p!9{4eL6B;P6|o|iTj z%^g@Ef2#!|Z(A?E_}!v8A3U)~H*g!9dgTduYf#NYT=N}?y@1V*H?0pb+-T4x)6B%> z>J1Bv?~nJmKaZa(`*45r+*f~`^Gdyls19E#r#$NtwiP|l05$bYEf!nsnx*aiXM*BD zr$O({oYlP*6Q@k6>du!|3`F9#d)cg;nC5O&Jn1LUHpX<(NUvQd`X}CIF-c8(ULp{- zwzgC%Kk06$L}dHET7S69MW4Ie-1&C!W>SQ#y-IgYQ8iV6T)OdrX5{j5!*@;peAnC$ ztNU+mxdtDyvWX=Hyuq<#LJEPiEIt#Ja3p0*T>IyFfbnDB%*^x@3m;WL`7 z!20N^6Z#_h6F+{O_26vGzFEs|PI>%L=?*>FHYk~Y_{8V?62qNtz{fuYM6cEZ9FU478E`jc@MrhnFU@r88MOW=$T_qO9zE|*28n3 z0MFf7s6E`zIOGxVdbTzA-KlBgB3;1f`*yJKS`!K+p|1>A4fg~5G^^*v{<-kd#LjhK zMfzR)IrVWCNg%c_9k_GcAJ5k7{k3LUc1}YrPu$_=YY@-V4#oW3Q*$g&vWA@s;hre| z@EeelSsUlSmIl_`V}%Vos;}W>O1a->dA&$t>yfTHXIn+ljwBC2%ad7$*X(6_OmvFO z-|nqU4biJ?9MlFLRadp)YLhBUmb z$9ys5`xv4Dr6|bopM#)=!-sK@PGi=?Gdm}bhd*UaxZp5jFEWB4^Y+5;>uGhaA-&p&}vL+zel!bS#j z57X9D>lj>KZZz)QnUR0LJfjUBDW5XZ*I+#3hV~2%4a{BjzE)fqxjCbJM6X~W-2V8@ zk*@^hGe+9}qha;7d@6k7JaFyPDI=QR{M5)vD_=t+>=-gAm~hNH=xdVaZ0tT;1WRf# zPD2Ae!tV3m2~96B{pq}sjtZX|X>J7TpBj&R8hUCpZb~sID4M@aP1@aagNz#OH8nIY dPyBd9-lyJ9Xf7zZP%;|~u9!aIbm{Q7{|EdgiDCc% delta 22821 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 Vr|iwZG_!*hn09b*1=Af49spp