PK\NP8J  py_dbmigration/.DS_StoreYMo19lR ڞPqi%!T)T$.p6MS/9!~ ??Nˮ[@ԯr^3c[K( r"RBM>hL uCGn[&V>5zNTn)26ڮ\W-Yƺi| 4[ߚǍrgӴp_F~H'x({)۪eI|T|wdF#==EM)jvv-;]'ãV}tk)Bs(^QLRb B?_gWN|tkN<ȑ y v7:2! T=vyȷ]6O*y ?(T"q-O5{vYHr;v,G#W$.3/ylx^BGա*fȲ"ͣTfOqM# h/U-~gѓTh Z89 eBWĂLV p-aQ[u t"$gטЮ-X7}\k[ǫyЧ$g>![qPK\N:`6P!py_dbmigration/__init__.py_org.pyK+UKI/-)V-/*QJ'$Ƨe`&䧧g#dPK\N.[XB| %py_dbmigration/build_travis_docker.shVmo6\l 6Y'm H &En_ HIl$R )7އɊۗ ̗wLJ7/C.|&:챐뛋هKYL̸f聩Qdzۻ_%b2ArQr_P>̂">Z./gW([|O`<SSOIpE8JwV\+&/V )]) 9O[T js2"YAvPhӶyMq?^B` U'd'ޛ!kp1DP%9}@&]`2i!Sj),+J|OpA"TgVjT*՞*lr]B*k9>&DK W'GG;캼&5"O|`aiR/aʂږ[ޝݜ_r Sa{:5bYe36u" ۂ;u3(H^ xMR6=u+M Ӯu06Le>f6`as{o/kim0"+Z )n0l2a{} lN+;"LQa3^::}xͥH DD[PI;dxm-_c'dIQ2gf<ό3ϥsᛢUh~ NBAI_*̇ UH(iAjR8a:2<*N X0Fy`P}'BPP9 .*T`#*]m%!l$5>,=^HX QRR#*BRL!5HTãm?]3#` ]-X5f#.jj pBYJe> -ڙm»ӷQpezd:O߿|؄gSC^!Z›7ؠ C/B*AI0zIDO`ߞ̬{ CPq<(+tV,ձmW,) $f!w3&EF&Gڗy)M9݊ XdmP4 {a/ K\Dʞ_L.}6sKuyx'WrQ_13ڴѣe+j@쟧`|Ŗ˟y=}_דE_yԽMbsv<,N~dl^Q|:MMX7o;1ã*:ty9|wZn~"n|-jϞhΕy=C-~ɴp)ueZ8avpJ@JJimIteհJ/)+/1u_\ҿzH63QPK\N #py_dbmigration/create_virtualenv.sh,,*)MI+S+T-P(,PKXN *py_dbmigration/data_load.pyXmo_Bee~]${A7٠{EQ@Kî$$ۻ _d*zՇX"3g#A*Ck½^F:W ( Ӥ^vj&܉bF>ae#Z^vM{N_ Ve3.>yRno ׺ĭaO24]}5kuvbܠDoO3 "|o\&8*5 3YyLud>'iPkPßxKQO.7jKe-*.#lA+[G~4fg''|i6dwk>?|G]FV`dF`)J+B'|w 쭑/4Pk+#%|{ Z_'ւM&d-0BGUɭ=3ŽDCq"&7a !Z.B--Z嗩]WKR˼c,M}ВƈΐD%)R ޚ|$䈞6)܏ "vw_B4m?86n5[;3yAdiy6+aU#3h:_ S0Cܜ]߾OEaC1) |>ño9PeHo|YXq`ȥtDRDlJIECr !;'ql c3H;ہ>#_ )pTݷyܻG^BUҕ\uf`Jg3*@s;ޛ;;CH,gu]2?O 'v(S*/\c&lRحl(A?kIF͓7z$$(sb:OgĖ Ȍla eꕃFaЊ"V`41 4bXlG֩f)j׷W*4JbI/͋tvF"'-5!l:zIw&B};$W翞˛sr䅎X&i;qm[co ؖ~SLᬙ6ɻk'6l"N]Ս4ݡSmňΜXE.zaA 7eABq}ru~ryQY XzZdy0'^88w0Vr+gkj9ǡb:JFtzFh'Vck_v'ZQIcZ1)Ih/XcXXx:ղA]uwxBж֡cG[7w͈yL,F nĢHTo0ڛ6F ty_APՔ+?&شl!KlEڏ١Iz-b>?ih+M?=0'A$4Ň"=>Q/3k$P9{^a&Rx fH7Y?:XخPFgWרcr' *r}\VN ]AQ na;~QP`%*o8}NON4!?f;qAԸ'`IYʒIJw"dPK\NMmpy_dbmigration/data_load.yamlXmo6_qh+-03m4kTIʎHJe[IS:^{!O\VWr&F(YU 95~5cMAFcxͮ_2%# 51P5q0r 9ӌ[(` 3t4[Nl:ϫd9Zh fD, X8ǛːDg 3׉JQrgpº^|2Rڦ%\eDg/޼Jߝ=K/xvMb2# 1L>髳ϯ܃8*Kb.D(]dV,-[$/<":Q`҂8]gfJV<HRg L]YSB5jUxB2<6}|Gc4B$5#tDcU0 PEo]up(+gE'~1QR]~!qjVejt|W^ 2Q* U! ȘliqUM :U'uRO5ԿyJ$?LKOJW%G/YA%1&(9Ԛf.`5"!?P>`rE> !p%w\j0"C'⵱ "9J$ŘR]kSm7c'M]Y=' ]#&1Fcm4$4yٖ|OA)&诳M#\sYhd7uԥA -P\JdAd]*uGQUQ2-8W'j=lXmZ_LGuKeiVK}IMaH2D'Y֑]9~ߎFzDdwɆcABK.]7pF'.oCB4H>*,#u] . b_`A]2 RKaMG3 gTEvv %^oΞAюeԞmCRoaJNQxģvu8Lh}L u7[k<;!8^`'}9X"3>/8p}e4xM#ٺ̦ V-UV}t>@8@ Щ&:w+;]h>Eyo܉IKyټ-MWvxN[<:s ǭ\=K6"/w;vkax]ʊ'.Mͅݜt|տ_Ƀ0׽Q?]עk&s?,jIS6gB{5.T̘l\wƫt$,n<@V]Liod<|Gr=ƣ Y:.h cL9J<^!q`  zY9ʲ"K&j] |qϋ0jx0;OlCsm3c]eN~X˗y*~ї:[ @=y=E+4M>} ӘQXABWl'ЏcYi)ele8m(]m8G} ePKXNS&py_dbmigration/data_load_bk.pyko8' -&ۦA7{CSDU7$ JP&93$deA9:YBDʳ*̣.c^Y0hK%{Ƚ(')}%AMQ\<"%9i>p^ˋ 00T< sEp ?_rq(^l !hB&7~)ِS &|OW'Ѥ *g`aۻwlKKRw jVtĄOzHj™lȢM8>I&ynȠ3J)?#quinFs3Xי6Hj}fX=繱iYZ+-6Gs贠~H?Ͷ4lY̧7h$N7pF<yld֮3O}EO1X-?<6܊$ D8@ .1FH<ΰ9}˿iiv}^zҶgB`Ojօl?ɧ)v,jgF~20qg[36٬Q.G=GޟcTE=;h!~PbDKX>2ö;I}xcOP;ܑyF~m˝>2"ܶ~D=6ˊ TXk/++eq\VDW⮹fwaTxlpYM=s4,زBBe36z GWPcfwYQ]]sYFnEhR4K¥XDв"ۭ6w,2I[>ܟ9T{m1z1_W_4.@ߊe m?nn_mr+W퟿~vk@d;$[/5_xWu\4ؑ7_vjgEEC6k%2 ߹ ̱PE;"ǗҕRzys}e(>4^#~ S5/*cA?I0%A^X^p}2 v .>'DŠz ªP i{k,$ {}[~W_}oI%,Uyw}J@v@*oj)\ڜPK\NM py_dbmigration/docker-compose.she̱0Oq"`dp D؜I m_H ta5l{% VA\<-$KϞyd'U~Mn#=ѓX>*iemDۗ(>xqL0p(J \vK~ PK\NQ!py_dbmigration/docker-compose.yml}A 0 azĩŋ2]'i 2tl[C/!|yWh9B0*ψQ /gl*Fad/TSd*|;*u ƣp !LYI߮Xo p0zxUjJ(JQPKXNwD-py_dbmigration/extract_db_tables_to_sqitch.pyT_O8 CZԇa#{(mNVmtvG+I;;j?fZ%1֓rbjV hd3:1͞5e T+vHS%OKѾp5kGU#ΣἆX{uRuhdޖ+:A lҫCM={"e`,{ V8;ѧ>;sc-W"NZ6˛[zچ{XnW3:::J0~ȃcVJԘ ֍hIH?{ɠ.> m.P8寂&͠ah[q?J+֎"ߊޔTތ5 {H+ eC.6'ׁ%z|*zҢlBar\/ 23 j+hU T./ ) d][l&Q_Dѓ##T,DĂzO+ =YnE 8 h.>Z5mxj^i,T j[ U~o@9Q~/?qc'4Ma2o=!xn #ja|(l608fzYUjÝDCsJkG w/}wx B+Tzi7^JS31 ౨\u%ASx^+} /;)~wQ_+g5N)Pav=tK7VWI?J{?B{E"K`1)KBFm7PK\N[ !py_dbmigration/increase_ec2_hd.sheAK1+[hw![ADij"6,iՂ0dx}/jc˷J7,&Z|#L9ze OER#AV7H(zﺚMX6ucxj`JFWrV'|HI LA ę pvHyNW`B Y,0 YE&yt, 0>UQ{A~ 3}f#\p;PiuzQPPKiNKdBpy_dbmigration/meta_source.pyWn6+@ef{3;EZ#1l=,-ѶZYҒԦFlJFzX!p$9373DA+ PɪRi&Cv2, 6K$JVԈ8ikQP)R{VGxfz谤ef^g WS_x\H=VKKI)]4xA,ᙯu'׏wLT*O)A4s Xz7ĆK+Z_EW#3*5?1q*y 3aSͰ VX:*!1E,Eg<832C&KRV)<A-/&z) Rd^(~'U*̭ج9aq&zNyQr_|N}ݢ'>!hjq|l#nB B2ѭ:ux]^!ħ aP4Qq:=o d3WĕpT[߷Bc~JkqC=w>UxAI~}=|M;MSթw{ ETN Qߥ@?c&-t{>:֠Bq6npGإJ7ѵxC~I !_e?nGü@2G9Yf3q}lG]Z)z9̔L/vA*Lk.,tDO # LUY̭YFR.[d-R>ƣ@fSEћuQ>| }8^`2eoxǝ4 ` yPnMa=b)@b #Ӳ!wA`ގVyjO0-[ Cq>ETdi<*i6tnxJ ?q+|.?FC*G~`Ee1k~5k*{XzFL_&89q @`ȺUM0WkߵчbbI-WMtbb?}ӗg38WV2.2ev 1Qhv2Na R4^0TaQhc03(o7߰Z@VZa{ a% jLxscߜ 6|sOh:D80E0KcҺ(Ќ 6OH>@@c @0ʚp&syj&t%jo5hBjI e42q'q$!2ҍ  Bζs*Y'27D߽Ie~/sŬJ12f>ɾ}`#u"u}H% {*MzVq)zM1Lڻ{`x;ó{Btz%5gc*n _'Fg;c,#\kB>תiHjvYXט%qRV! d>)+ލG!0b=pD;-&b."[E[z{ uw'uۯ5[) V!7ަ.Q~#h$ET1X+bDl uh].й;N`ϖk ]0\O|/p|:\lP+ǻ[+/8PKXNh$py_dbmigration/move_schema_tables.py=r8 \u(ѨٓUdۑɦak䐔/ƅ#@ $YYQh1Ir^%yxY&-JǨͣ;Lw*قa~x>o*w ZSI-7Kb>OxV)oqxqp;` H!):|O%|O= ;z^>>=pj]|8::sx5xvxp5''IPWxrpy~8"+$p9ÏIxA,?D8Gp2woDx$t'c1{{0xHy^VE/CT<# 6EUӉMrayYprl,ڢPeUϳ(V -Qn.red)uyoX]LO&ϬĽN12E[.i |@iqPCH;M}5H *X%ly{"'3PUn>YƬ4;T[?(Oʰ ҆*j0*De"** L F !,uސPz_#P190oq] (xרy 51}I} %o7T=9SKB:' UjYxs.`>y0RjIӆHÀ\A]ظ(#A J@VE>TB{y(ػoྩPkD9|wT{Jmݭ k]eUEWx6Jn=״/k@DNkULPv @򧤬ʮ1Ų.eŻm-ikk̲"5, NƓڢOg弈$K#`i6X5EfAeFN!z)x8x6ѷȑH@"qElb3-nєGA_ˊ6|9w9ޕ[ᇘ7PSϰD`p`LTВ鿍̑!mlAHҖLwq 41;ʈֳ󿱋9;{q_/՗ teGx&бah9i6Ro>!}4xy9>ר8="bod&4C=6̥Tg^ظ'N31ad ^^AJ͌bͿ0 fInz"P 렶f19J(TyȻ@*3Rɦbh; ?i 3<$1193XUڋQ3B1XUey#2B`5P:],X-u)ԦRCjlX'r.Ƶfq o5o0֟5ڷ-AM;bǿ*mQ+(?{v#秧WۨǏEpӡih휁9.A aQNzDAG3ٵcXOV|!Ҡ/#Κ+wxM={WMzk"P;$ӳ`؜AI$HxLaUPwXeJ54]K={5'ʅmZUw^a#>c04j}e{XlbX]?ijݰ1w4R!SJ nFjBkѿS\ uL3LMA90J?I ?`,4eR&p0R7 &#b$.ej 9FxLDC [DZ9*bvֶ|sȦ6?=tqMnShMζHHS ̙WxTl6 G6xHNE,ydה MdD90_T9$YT1루Q,I Z={n0y6gQ.CPfKPs^d_862h'vV)Dt=sK¡%{掼W'vU, *͞ ;qB%.ͤ˄Inqixs?2p1GXFCl~plN'NGb"I)cLBܖ̷G=V#uQډdqѹz(tEf67K$ܨY2(`!E&e|kjb{UiZF=y2"\"~ӭN~6L#:x^ͱ>6s^Fju} ^gsߏ>UiFc xdՀS"kx`nS6*.sKuxlkT+*s ܑ r#c\I\ kFrtx@Wt-[XSrDz~ jk/~'uRpbn#:` :"GmSqi!]|S ز6"bN<{MM`2D6JӆoUvBP7AZ"{zȁLyy0vF6n̾ ܆u{sEy>iRe"k1@fU1^{G IY7ILIdVz-tit9jn=Xg?>c#:bՄn{>1lǃs҂v%x䰲ݳ}L!sKZ6ޒy(Eq)+B`:EZ-"eqO.]V0y =N㳣qH; FhĩTc}@Vh"l8US$1ǧ:y]Bh+mؓkdOFz(&o~Ow7 As%﹥5JkO5Jkdr>Y꘺D{'W`r1SjPݻ`'4BY ufʒ^q?{@*D+Fr@{QOI7nct 3Kj R }/QrB1C^`28z!lF/'7G-N4Iۼ﵈L>^'߄I%JѷQg3:'xRGߞ- eW0;vU3Ӏ2G֋Q/ Ȥ}bf~11S bfGٷ`N̾:Bl13{sD8e|+ؗ: u6r䘬Yz{ۖFRZN_==yj "\ ;8#ӟxeUd};ȨٝDtB rb x'Β؋*4dڦnVN0l5w8qHy-nъnz1Q/HteK]xNN6LwYiukS87˖iU.٣`ZHN;r>0 tҹIO;TﴊSOoGgsRh-w޶s aTD5yRSkWcs'(6 7c6Uv(;} C:d'%TOˆN v'$hbiV'in{>&P~aSb\W-|ZRtn^RAhZuћFbx5{T:?yIvoX p $ᅾ5g)vb=Qm60P%:'>IVjNX+eD1>ϳhau*V9u>s[GnzBm3W Z|I5ꡝe1b.{ 4OT{A(qԷduJu:"^\JN*vnD:xH={܍T)8y}QݒXS٘Ն :r> e9ʅk׉ڧX7-B 1?V 1:36aZ7l4l8yHbnܫـwQf*wq#j͎m7ܨ!d&PʿqK1?2|-q^k{C7qs^զo~TNcz|mV^g0Ko[vL[0R>{}狱j{Q!۱.D#6`%q<#cWx8ݫ-9xU0Eyb@^h E8t)O\]yʩ7&nG\w+?]{#2Q@+XSh,Nn|6[0(ćn-Q&||2>bieIDHE1bzF4rT?Ь|)F]߶7c;ِb7[݇i:6*VCqSO4ppd yTo$èZ/`Laö\b=V֦m h@9 ]HQ bhvF^L Ezd~w0CؚJ ߃vWG]٩6|H~*@ޗ./{|mFPVB=C'QPVZi5M ’cn)rcmEE<GyhWHVI%] 412Qe(Duv2=!-:)>,. G C0 ʪ4Uۇ )i-h˜fP RѺD܏fǀTKJ7^&f<,Q6OZPDE,,2t%BcXBW ԗCS$,"|}/PXo:P(82YjT8؄JD NѬ9T&L`LXdg3RYٯO u Y [>",wDAgn aCA8_p|ERYgHth*u ,}i]%ԭhi9dhABL+=%Jȥ6gq3*{\H,y_am?'ZlbGÚL\X=WUFUZ^=+^>yAlwgOja\AEچx*ƳiNNz{BGnKW/_䇵Uk$CUVNכh7C4["|Ô _( &:VcFDs^]WjHt)Y 0L.?o.F.ޏDV-p6ng  Db1#FGA:T ~p({9R>+$ilMQkxY|f&رkmSnڕ=*Kn6ya k\@*Jg@8WI~˝u$N,sHVy 6\j m`yD%.)=CjQS 1XFVtSKDA1^l#@'S^Nf;95l77VU(b_hMtz;4WIoSHI߫||A8F`}*r}8G`2gN/Ȇc7a4wi׃"7y}15\?ܴLܮg7g?}j^4<5'}lr0PK\NQݝpy_dbmigration/publish.yamlX[o6~8[-`wmҡP7`v=H\$Q%nËb B;GigBCw4G@ Sڨ21 r(RFSqS%n4U뛋\X!j8P5&9TR[I\DkY}JQ~?y/he%~YKOb5LDʉ Yh+@.Muj* @"s#,`݊0II%POWHAO7(F'2?Ku˕~ }d{EAFFX`p-Bl3 (dPBԎ0LF{ֽY-lCMeµ/xBbxT;EcLS`1ΑvpF -b Vbqޕ@l U9mʁ6OϑS-H#K,M'@,y8Im"0\ȵyXg+W'9Ǧx#픺ۯ:(C36, :9>!NV8Ɍg#ˣpqTPWiAbwB;"pxyé}dٺGjI$hVOZkHeBSӛ>-kíJovywDAo6ܬ, MA(@l2CE)?1Mnu')\5u~]S7 AZ[B4j9q6-wP?a3p~jw؏1n%rπs:xOfrp3!.BGɬo{@51͂6 ӥ Ұ-K$Q Y!pVĭ ?ߝ۪^7DF^_6j _qWЃ;o\藄}yY{tYGg7(-\ѪWjV[ۜKaT$wę!dA5Aj yR`\p~vHp!&N+ p0sGlI {u.-_w/ndm3`h>d>n{۵C&pvP6!K9qq啒0m/peϣob?8'gXJ++/ӡm{PKXNUu!py_dbmigration/publish_project.py=]s8\gdx\ۗty2'7$g+ݥ-%Qǖ<$?HQ{wK$AAl(ZU?gM;]v|櫬,rC?`eO_|.>\o''AS KOVxrpy}8?R'VLJWXId`~ΩW6gGUMS{#~>.yz:d,߼wBt7)Gաe8V9X6߰uLқLE0XS JQx [LD>M5T< s>F^ @DȋVYVա)P=?DDGtj7Ȍ^i,sS +@i6 JFFƛ*&m}9=ax q!O@G`N u|[E<` ,޴i;C4<3/c7@p6$aX;k 9 {H.98+YuD[0I,7ǧ>xRIy1275UP[A=43g7CP ?l:N _,ݬi# =vn)ޕo*)%x$21Ah#ׇ\0uk`)5UÅTC*;kxZ|uJk?0#xy Q,h6w @C?w),Ql~کʂPLU5L6Ϫn Y}N{:jL<5,fNv/8wbqy 7d P0ߟ߿ѿEYx~'3aokP#g=э\NRȶ\,xF*k"n~gԇg9 n9,Umq~<=+Q< 4Zu0 b`>E, /ȈOJ_Dt6/`^fy.8 %OP*ӻTnI"=8j$+y$pl 02hi>NE-.e [ en`(Eشȓ թM)$TPQh@{: >SY eT84[ EiډMn/fH1_Ȧ8T)$l^"HCi22ԕ$T4TgOuh~.U[ C[ 1F0?lhǺ`$]=l[-F iʴG .JJ=CPU*w!.s t0J!wS,C\hW2;t:1q@;B;p󘆺y 7`A7ұNjY@,a[hqr{fɚu.*-ٲqnah$]r re=!mx(jRdBoѽXBq2`hƿ+[c @[/#vM6a$-LW΢'V:i" b RSDȘY 8K!'?՟j˖;!춓xz\8qh}ԯ~~A@۶웡8=ʴ'Ym&rd&4C=xfL͌]Z&4, )-x~L~pv\]n,}On'e5'*6R8T-[!B훆JJ\Ȼ@/OFSM!OK, Zn9i'Cu&'nj W[DtkHC1WůJSw+5X-WMaTAEzڮ.g>9V>qxpyxp4nK|ko3wY|/oTw͵s\˛a#]WLmUÇrƳ\颩_M;=}Z%E5( j?KWZGHo֋GXy/YViߵ5{J8.d@K0ɞ FY |ifeӻtw@4B5\maA"{6RND߭ܶ jLRyE˵:EXk76X)J-gj2}p1k뀧SGYd$)}bғ7e&fEN"<.lS!iYKsN A0|E{մĢE.it_hB6HU&}OibG?}ND:߾MZ6A:ó-g2%? T=:{wwϺWja9Ƹ%>/kwڛZHu{=|O;Ctxp=DOo8voy'6{"-W;pn0>U7>=#pхi"*-$SP.uܞ>.HkiK9hj#XNϻ|xviߞIޤQn ;1F5^9l gkrK-y ٫j9rN{\#9JIGvjVY"'w]i\M$mbQd]?tq9(Z䁦:1 }r:6GTʙ˼3FGp˞6=t6Oʣ1Jt,N F}๒S⼧+G}9Ȑ~0b8+<97je];a\jЀm;@&mG7#-iA5Cq<ýoY:wϓɿKs`YtxGOx-^ AHh髅ڿf0brǽ,/&kJx>\vPS],q~w:zJu;!^y1ܚ kVb 'jdi|Ԓ IJPs>j#}^ sWV?-~W4\coj_ G2& }Y}8OV:a`2ZM7Q'yrzY~JcbRx+'?Xӳ_O߽չ*1Θ߼ 8ó4dBΒjLw.&1 _p.|hnua{MmߌGݸ[ISiJb9Is+0rGO2o-Mjx>&m ov7\cѱ$0-{JO |}+Ȓ 2Zy8D?XwDѝYQ*7 kT+h[O9ttC{~|qqvᲀD{lj2ʗa 6#7?xYz)`{MYuxTy@^!y$TX%gғ.9CMd}~ Cb8|~as ֈ<>3>׳> Zʐ}tGbSfoyf,VE!@zj=n=W"PTn;!Кܝaө5kŜQtId$My%4K:AG^Lٯ&S|aē j3W57ޜGySw`[ƕihZDlFcV9^]^ *pM;u /:|^sn:0@)Нi=$ȻL nQk]dƴח.u^2\* 6A9VBu:nkz͘ē6Ck_&nqiinw}vK`p۳KKZ$:KsZ鷭^Ꜯ9TtPei"wjdgUy jF3 HbrO\d$ FYx:=nAf(˓:Yk2H*"-:i6ubxoPJ jd D"x3 .N*}qߒX/瘋kt+.)˳#32׮%۶D:(!ǪcQ3C6A)mjWs`߮-@5sݢ2*x|0?uEBY?9AZ=?[׍H/"^wE@@w6j)#B!Rn ΘQg#h"v Č yHZVN_VPm;N۶+ o;r= |$|1wq:e?c ;$vɴqP–ULh(fz 1<5n|͎Hqrdr X3mxΌ_nx Fu/UnWvPmCeΛR.;>??>}/&Ǩ~'](7Ο=tCQV?z"(&?kŷ56f x] ^N,/3X@g ͱpY7-|4b~Nݾxͼc% @{$,pKT}L"K+) EHnTDtUE҅occ: X2:Rbuu"ɷĀ}k# ,zL.)&4KU4"XUCWP?n#Y(J٨\X9%߹.ht͛9ukQ9ڷioi꒴Phs bY$Z2Qjjmo.W/b(˅:B= kҪ]8fNzzwj)e!ZVuf$Mך2I,ǥjb3&vɶ@̑vw }4ĝNY-&i>PK\N|{[lpy_dbmigration/bash/tar_venv.shM1 @ѝS8C(($rz[;*9|x) ȅ*+ S%-|G§yM'3j|77@$7PK\N1F'py_dbmigration/custom_logic/__init__.pyK+US-/*QPKXNE<1py_dbmigration/custom_logic/abort_if_duplicate.pyUMo8WL«ֽ0:i IT@ȑ]TIʮQwݸIMr>8m|`fDm6J>ݾTU E'<XWUe kVoB(Z,ۍE""_xi3p1N.0< 9}vbHG@ӛw*NĦD@+Z!rv7M>}z7˲t KxSܫMG \zWWo^/"NZ?ԸٓW 7`AzEK3]CltP}gd Dŕ Bv~Pg9Ȳ3_ D}Rv#xZ5%l%,Sv;/}e k}-R\UsD5-KBf5 V!=go2LWWͮA4^MŔ&PվhD(=JUxM&e$& He2Q$:ɤP7\}q{{>j*^(z7&Z=)MU%_ZQ K+bKfu_]: 7.L:v:6Łn{&=9G/K\VM|x0̨VF[$Z[mՎ:HH~#d#OJzbvͩ&Y=cI8jwhkI8R?w}==}6v\a6ޑoBFQs; Kݙv?N1kn@鈑hf7;!%ILuݾee8 <Ȳ[q"(kaۜ AX #Wۨ7ZMLNh:M /5z,L'x݉KшbH-?|\.c֭ᗞ|5ͰqiT#pnuwO6Z+U^P'`ף-ʩ.p\Vyg_ɾA ~k{-XGR`pGH;|^; Jfhh/D}̹-D0?W{r,Ҩ)ut$ vt;]A35T-b4,3@Y|]zxW[lEFїt|TV)4役$-:,*-(rY-'?LO+itdo/VdTX,oAE9׺"ARueCw~=uZ8ZgP:9YgJm[?]:| ryRc?:'>{È1 CK>7%"Q|-6mi84%/1“rJA_k7䛥LD7H 32(xl~$R:"==95p?Wr;=㳣'PKXN?26py_dbmigration/custom_logic/append_file_id_w_header.pyUߏ8~_1*Mt%^TH.$^;ˍ'9cgKU.=?f#y. W'tXΏ7 "skc@vZ5Vt҄UptH)d3{Lf}1u^5D=@M\{k1dXF0-`'ءTHWx,VYʬj0_<'xxV,uJL/Kxc/"5`YIc6Pw^ߡ1?aSu :WN3z$"~oSw6hۣ ӵlȻ*l:Wm~.QٔUO$Ҝk/VGWcܼ|/.K#PKXNU Q2py_dbmigration/custom_logic/count_file_linux_wc.pyUn8}W I4]) nlO 45R;F %nST%3<3'Y0\oϧ\|߽j)<aQu{ nP9_̲<3U kg7C眗tHf WWϟ]<ش:ۨVvGFiSx^] +K@sh?JhZx[ v0 OHO6;J4潦d=7)qt,:Z$ uֺoueÚafpvvvFT6o(9q9vadY` 2`,Z&д4S/.r@K0W{BؙZ+f7LJZrv{w6Zlrcc1e&P]Co4=6e¥K?JE*S4mujraj*5gA\6WjДSm4b! }/թQ !ɚ$eZ[~Kx|,LHTrjcTq_P|O,EKoXSyVPM%:؉ZtA>֚%~S FPB^fv;liNV6iA,kYFZ\VI!HKYaZ/0{ɫ?Xf mndhϏsC氒Uu 8{%ڬ-sH5*A:pګtvݗ K[th"2S>F@28edg*m*&X")2Yw,mx'TY ZnMKRl+m,^$ykLjMn%쓈ЃWC`_],gyFJO-ELHΣhث#l d|!3ҝ{n9T^N;Q *Tipl7a%{1\@!3(hM[G.PE!.yXݶ W@l=;~Rpї߮o⯻W>W_9L() a=@p5 %>cyR%rd~~w>a-Cd\~SgZѡg\f7oHg\ȉq\)v ؆!iV!IW{uw?{Kq|3g^W*1P֌Cc4ףKAXI2'E/QCeеF|J+&IҴ>w57  & w5B KV,]@$ZESO~w8Cs Yu=ng/EH`# PKXNRR 3py_dbmigration/custom_logic/extract_msaccess_csv.pyW[o6~ׯ8p,fC8]ްd݀hf-*I-5vsw WTVw6NjP LCHހK "əaiKL0ݭ _-JlU#ڛbiw (,mAh> x=DU8% $fLfkTIu4gYI5f_XBzSx鋗J T2JqKR|B)9Qg׆f5r37edj}#IBhR\0ґx{x)޽-\-xR֖%'03+3Jh>Hmj#LkfVɂiЇכFhwXVo r, kU E 1EvRFG=gqaZmd%' Ijr~Zi^$Ri٨ 5E&/kJB'6fْq9RОA0_$!KI(j;(vDf#E)J,'`=Ԇj, D~7~jn fM[΍j.{W>vO$Dm&::`hBES>f$_:tQ0#U?D؉QQebE!ѭ5swgkSxx%b&+ߋbk̹bTg7!kZcCz[|cDP( V;D6mx~-g#Q \+9Ss쩵/k6>4 Y'Gܫ&09d7r^ե"AZۡn kyiXvPpjֽ 吥:@ ANPϫ ['†kLUp,iOjtSHJ `N{vTMs)YPF0揳\Z_wyv~=ËG]u;/0{j:|4'n\teqCOe'pyt&݉΍=58"9B9bK!0vq uX"brAf{CCXq$`X8"H $A{c`o0D`6Zlq`hTB&}xL;aR$\ 쪆a=B,(dUѠOVj蔩 3"+Ex] K˦]>?]Գ"v"}uhCъXU(nҋE:*N#9{<رUK,,,Eb!\ y i=P' FK/5|$#E\TD)iIbN6tXX+mJ4&Ïg  R9)q{3 xgmv9N`!gˏW)t+r;=G .HTƶEygǏaVDpPLoB/n5̧y@`=|݅*zPN!ֲs{L*v |5Ǜe$Bf.0;no`{?>O9 PKXNS,py_dbmigration/custom_logic/pandas_import.pyY[o6~ K"+b6mtCZD9lu+I5 C~1 6D9#<XτϔGl03Rns ZK$?R7 5oؓ2efݮt-ANdEMA]knM͢g| Or#K8?a:o;K@Gg~1gmTY;VYqU[i9O]-j2m KiM~܏2 Nata=H@ ލ}U9msmS} WûnkZvdvakkS| k BEg=#sg"{KR?-lܐ?CeZZDMtLՕ>{ G7(=bh6M<@vLwIvCp>zɶ_F]w ju8vCa}'R2 iȔ:=.yA. 1nY!,نצ]@W)r1 ,!ŝK|h?eGs'k!al}~>Btۙ1QSy/v@ x~~Lonǿrg^u?h/\SpYx0Ngݲ]~O:0?Âצ6KkVu4b(1Ld`t%`׫>R}Ӱ9U䒟φ:M@&$X>DIQMOMp }cPi6DLjt~P08rcY=y-T8 (ݚparV1ps.e>K ӉX>qy>03M؛L4Ven&ˡRze'ǂs V|3G8>wyDW\)z69B ɵA,Ӛ")`̅Qʿ)ƣzDmsX vLc\f/; 1ܞddIEl쑡 ,Bn܉m]rmm;x)PKXN,I@+py_dbmigration/custom_logic/pg_bulk_copy.pyX[o6~ׯI&d`@Rm,I t6T,9/i6 <΅9ê E H7VoH"CnM>J"cb EVt j#ĝykюmD3^M;=fBmU F0H3S)0iFKVuK:@z)?uFf&4~w 5W c|l`ugYj⵫&dTК ( '^sXJg.Iz0fp<5ހE#:l qô. 6^@jiICHG66eFtg<؜Gv +DqBfsg4^pB!N3fhѲ;y;tz$ܞVQIk劶,ǵlHh̙ˤj@F3 LAV&m4m7leE&9_<ӓuq!W3H(!c=G*p^C'MnV( ?u6div-ʧ-Y!L h `Qvq&D3l`ǡ6jJwK@L] a6_W۝uo\V*{n oy2Z,&+}``*. )H=JwޏS]]l0c 4'n̴%\ږ8 `j+2 gFǷ&q;~nޯdzI+廳%ʞi-%7W7:r<9͖>'-%SW>y{uyث {X3³,by "d-N*}x؎<*VEFw%ӮBrk.T \:!vpϋu9 `^סZ`~r<=ѾCQ҇6hE}F~'ڽt=GX>"9()NQ2y ? uH19gQ&(rgzz5'hJ5޴ebiqFmٮqD=9܈zk Z`D]q5IeG&8"9V5jh˭#v8yD"Y zݶR^'mXSޢ.$MHydkfQj1Jt-<ܾ]EqC^OӦ_'fT' __3`B6gBU'K*e~HF h03{wȿJڮz(w{䔳\lٌ̃/{)Zrcd8xX[EdbiP%R^!0%B(CE'Π2ѤS,6 W~TKZM0=,uyQVN6K|23׶ ( >$4!zEu{)ۄfN&'oKiI2M7ثHsL+Ai{LcrsLr]-"&۱.`]ꋖ*9!E@N%싯`ƹX! qjKI} w׽a6l1?Z^IRv` -ߍzf< zj_ď`pwX?vY}vP[hz^2Ms38\{Id$|C,ذv6|vh,Xh6BqN{@ģ -\eds0&.1ECFrUE'3q@3j}zd1(g;y'" t=5ALAw4 )d%=c>}8?I` _PKXN|Ow+py_dbmigration/custom_logic/read_from_s3.py}TQo6~ׯ" vm錹@Ca+ (L $-wGK8% :wG~ލsm6I x/RЛƺ7on.Wo>&=f#]XF`|HSJk`ǪHvfE&眾J?Ѡҿf߭'[K軑a-r镑ŖKJf)ȄGujFWou)QMR5%*e]?Xp~JGy[ܪ~*q'(Mn2렜 CX;ۮ  lE)-iAFb%2hkVkE*q7[97iš l-mR% G*ԗ~]ۺ$#'T)٧A/!]uA*j]P~5gTr|Z,\ՄƝ-Vu =\+zf80j]eFZ+>g7_p% O*uQM j ,cv1yd2ٔg{h.8ԙON?Im8i8˨(}Q{WWr6}*Pύu Rna unх@_~;I?Uڱ:Z{dÆf^G< zgYO;: lH%VUq~ׁґi"µU*0 QwdYR~t꩞;.+E*+5et$Yn@SWv~bݚ[ _(ztz><{@cCiՏ"xq'9a,A'~*%MPKXN@PH3.py_dbmigration/custom_logic/row_count_excel.pyUKo8W ܃Wmz€mv ݠmr%hrd+Z>A{g(Xvy|)!Au >4 q1 "N{2g-PÉ#4{ֻ&?ral0.uɷf WmyqueU}ZJaE}WG& suC]eY@7)n_߉~ޤ,_q# 8yvu zMk[\5@ Y|Ġ"P=Jv]>tƦ+P_ڻ}ckͅ/ A HFҠsSi)Y$-ԭa@_>a0ͮ.Wo]F\ sNE Niy{ߢAkB#(4ReTshnY")dž<{9(4^zҥފ΄,Ir|:IXg˳rBUFj+;!fuLN[*%E60ޙqdzwglE~]X6*y/W{MQǀyKvKN}SEM*Y9O.)VMt2xUnjyWfTNoV3jy/Ь>gpӆ-~PKXN v(py_dbmigration/custom_logic/sasreader.pyT]O0}҇$,MZmBڴIÆP6Nڙ߽N6mU}?=ڝ7h$dTBj% O%7W߼FY M$ @Ad2vWCP.*q]aTxikV*9߭gmxfi+Z6#g҄,\5 5|#h鬋IH H@ɖ.ؓ^?,)qYQ}!~ E0UMmjMڮ $8btl PInZq]q;*;Wl~m_mvy'W/PKXN.8 .py_dbmigration/custom_logic/sed_modify_file.pyVKo6W 䃤T\,Nb4i/y8eK*I;c݃y|h8T FRWPU(MuBY Z`xZT9UƙcBHJaGrmXvHud#C|L|Le*As qԫ-KJ!tXhV4ZvwYhEtws9[ieq sˬ`1·d%Xf QIQ@-~U/* ҃7$jB#TTNO#Y?JܣoAH iPQ NA?( ӦS .5(n),PlL=D0B+9XC*]_X?SP0,8JQ 6#KdI,s)aG Wڶ)btp_r; sV%(J~TKA%&ST喲{RZV A/ .kC<m ^ C?{:&wP5S:MlDesA"5ZB-UAAό5*?H1˲uB(e}ha4i|n҉{ᄿ d1ƥҠO2l tH )؛\}I=]]2no>dF/PKXN 1vy$ 4py_dbmigration/custom_logic/upsert_table_from_stg.pyVn6+JĹX@ӠAj4qO.5e#*I^,;$%Ǚ3@"^i `Pv蕱;z[N4BɢfUhvzy- IU ci;?$y)Cv;!w^t_'2NQgEf' w2uV*; 0wئYy;ؽec?Jot1sūWo^Az:YSF-,;h,Sj ܼLC24gSnW"*! < + liN9Â2+g&K$.){!dխ\W%s4$IY l n"XL4䤉D4ͫtfb˼b">ٕyu(CoiSww߸0I_ԧ_Z1FG=nBf.rt5G8|=sQYcuyHFs?,\6;rky "ϖh5n]:+V/ ]oi0r6w&ֺQѤ*h-4>Ol⯧9x )( U4oaRP#nŝģDiaݺ07ǹ5FqJyת3;#k8fmL ]D1uxW}^XvGNAw/mh}|q?i&PKXNW= $py_dbmigration/custom_logic/wyman.pyYo8_& ؾNO`M[l&=dsfŶ\IN&(IY&>-Q$ER䏚2쑗EBny ЏڽּʸfXՔ#UuGfNT*uRKmJlԀ̷\VI O7y!r[Z09̾ W ӒmvHUڧ݊ArWh"kQՏuVY JʻcWoYI}.+ s BEӻoRXgQb]sKV\"J{;f6^'Q.BUGGU·fݸ3==o:q6*lmm|7=&>xn7]4sq0w@&plg .2w {wto3p|hCt[PTmlZxmR>Gb(AE cFGv:fy)* !C 3(T $z$E&҇Z q!ϳ4Xȭu%%^UB=eKo?[N\39oZ!tɫFǾ=KixA]b0[٠yb?lD-j&):M6j-v# w-G8ISjM"RǎQx8 eCѩ3;hq" s^eN؛v(ǒW,4bK C_%Bm2כuYVa^=y# ;Om|a E9xȵl*b`!Z>^]*<ׂ JLп]}-~$Q_NɼstG-AF7c5Uu"ГbT_̫2h"">YG8 \obI3z,:d8cљkko{(e%x"*[)q2{ 64!mm,Q򄌴vTΰdLn2HWrq?cQc3;8[8VPE CBX'0{[wp;06@eX -CNQq*pdRY!Oܶ㻼siT^.:88%bo/FrX )1o1MmT0&{8/aL\ݰ/!ߊ=vǮA}qu?֥Z'ZOgBHC :xE' M[#YDK69/1{o\NK&PGȅ 'JcpBe+KPT!z8ר&jt(]2⠖]Ra g@\PK\Ni(''py_dbmigration/data_file_mgnt/README.md ,V(QHJU(H-JUHO.M+I, gPK\NJyw)py_dbmigration/data_file_mgnt/__init__.pyK+US-/*QHI,IOI-RPKJYN{b+py_dbmigration/data_file_mgnt/data_files.pyM]J_7b˦o\m4 SnF09e?>jhG>^V5ˑmXOYRvvю#|JJ!2f}՛ًl n0}0UL" # Z8C ~Z 88jSf/o0. @ ޮFbd&% 'hϑrӪ*n~-BR߰ +p]$AL|uh =0,Dt; HPZfJZȮ@ Njȗ/Of/g9_g8?_GEo:^:y1 Og^=)8$<[h Ԋ26f#.۬ѕt`0PI,Ă7̀DCHHLN4}K4t~+nN~X@`/>@ p {b.P q^m^,_t`̄LXkZ=LSФW }5z2%'C1b&Mm+0j8 :v&":u?tբɆہ)K zm`B tTvpiA+yUj[vY㰛A- ;{o/=l.`pZH!!`Iaئ4?՜|YB 'y8۪M ͆dlR4VeR4zB:k}J$ʯvp08h8D<)~)h(jWe Y6 Hl14 A kx^1@$Rgt&q3cW'z]&۪"CӅ0.so?z}%EӃᅬ|\c9wrYK˄C6 nI 0lAHJe LE"s'%ӄ5p GZc :,Yś.+05Xgm3&=V*Ǟ_ $.u*2M?PFݱ%0䝜SbGܑKO=kOčx$-&QFޱnMF~H}m*~}_c~ȖIk0GQXB^78֩'9 q!.a0A"۝ \GM#"ӫ@_QɁaÖXB8߆!Aq.qU-@ta[ zÏͩQx6 ),d-17%ԷB?ݓOM]4vwW{΅䧤;)ײ(v茱3FF[چk_|6v--T-)WdێK"c^m>`FK}adʤ(n5!&#UVeȥ积)?NAnnH_a;3UHQNh[QG$@$ɽR{>_6)[P!r'vTe̤)X&#-*ڋ`Asl'6X=l{o6|V>L2?\O| ^wd3Aس4N)NQb{lLVZ# 4og֬UUѯ{^<`YpҬ&'5zy9S{>jH>T 7I?4VĒ>!.Z~%aV{5͡vlnWgԆn!aMm抃ILe6!_ 8e'!gb_f'ǯ/fpD9OoO/fh`o0mC !i+,>40#h‹`H4F/OfGX@qZ$M~dՈw?]:^,"(-J:QFZ9 DlxG5& sNSHg|6]׳C>5"}Z=ͨX߀M)آT-U`US/բj2sq:I8?{Ȍ;<T;`VuZ)@Cka<57u!cؼ;)%Ƣtբ  (]CiN_b?K\'db׆GʐL9U&,58ґ݅#c :z2|ҝupĞ .o@ d}: S ¬\mS-ǥ6Ka8EeW*)8;f!߽H,y='"Op"8b6r>%4fN\ZG3$h-c%мKAцwj-Q[?8r 757/:P-$؄Sw(A47]l-\}Urɪ۔:19=9OjO`3Ke}(ޢ٭U 7 F?.hpqQZCjU7 LFhΒA>*}h?@/(sXn :EqMѫ*P1v" q^ypEOȘ>\.!~֜gq^)#ޟm.ӂ'fm̙ǔI+~-*g1 X)5_UDdǖB 3몿/X:U})Ļ78O6cD#W=zȖOeOѡ1.w9Iu^9J <|.{VIykM^h2g'f 5̐ 56Ny<L"YnA&І/z9=?0?=]̢qt IgY>@v,ǡ]&|YhumĔ0QWFUbHujݳVET-?fFֱjUWP@鳼˿9- egN,TF!ȫ<_G CyW"MJоZC[ _K0{7r:K>:%$/XsD}>v b5UWF =4:w^ ~sڌV=)q?GW []V"`]=>g=MdBA߽9fg^K<oNק[7OV[zJ/x23~+% '~saY4|vrdPm:4/qL*nu-p\1$.'TX^?^j-⽪U J\$.{WNqvCK+DVKpq=w /|yI"q8ma<}QR>X)F[x| KSn6+^?>߃|KQ+Ϝc-.(&EE;I(d8 x1tUI%Ҥ)DzZy2 T i|(q~Ս-RwKop0}Cm+w\ChOZȌmG玘eC}vN׸Wm,w憯 zy ǁiQ0;`?3wya+PҾeA˟P[FbWNO~ 13Q(oDJ&$zcoF0"DE쀊"gq)"=Gv(X'5nMO`:-0D? `a~7Bq`Ժݮ2 3cT1n?GtX_Y6<m ܬYm*'ODr26.yQ] I-r .m] jw1b%]N;YxɞJ ~E3su~yXIQ6.`˅J/_qrw~7- IQ!仄@jyiZTAfJ؞jt)}Λ6;BGp+֑jaov,l!qDof^xKpv)D׃)CJ9Λh`gx DBHb{dpx-nuۼO>p= ށo=g/svuq~Ӌo?oa{q -XuQ;!T>Ke+*yXϜJKb1ܚW?h|goͿ%œGaNqy~9?݃˴^WGos0}|m٬l9xq|5N_mr)5B8DQ#uGk"*ɜ¶z+4`s7tHBEI* b,zen(UPK[N[ύy :&py_dbmigration/data_file_mgnt/state.py]o8=Hlc}.8CIwM\^@%U+oߤ)饸nh8ʂ7+~;>f|U.9eSOy&bv<-VHeŲղf(+KƤj˲^"9x3)&K&Np18?9:tkb8BFpRq;ӎtņZ2} IdHp +uQ^6t ֑rA(Ar{|hK|5DQw' >%FhO} +HH'} g ǯ\jr*ag5"sh8#Å)_׊#eG 8UR-qh;]\!l9<9M1jF@] ۚ[FVeQYP@ŷYױ'VKɛU[1 3UNz9;=:yQlp6KoYMfsF Vwwf:ޟy(.mUFC,HS[no%ONՖӀ-+Tv ivʾ. 3=ւ>Z[緄qNNO {( YL ojp5˴KT-:##iY ,\,vZ! %XijS F'#Dn:woF!O%c2ĐܳiއvH,7|Y̧܂0\cWMdž#=L9=[|r0BEnL1A/eDwFjo!aX;-2Akt7цl;nVT_ ^18Xage i3y)zg-<,Ě$'V/V==$rL3@YQ1{퓳gݭf/]Vۤv0}DD}YN!~#{erPlZܷ\ڮMא4!`I3`⋱0x(?A^hn*[rnh1htAXCoÌ+g[δ7 ) U61]W,(%Ef_Wˮ7Am+i-A%V@aYQ)Ał8Btpw lBscI|Z,Gae 'vZJ +چtYhP+"SbPL݋ؐa3|ǖq霬"Ez?Q"eM%.K_[ZI}%l'W?sQ*0d| ug}])AnNE(!B'ݣ׼Kx5iT¶Pq UDNT=oQdWvu{i(;;0A`N_]We٬p gj 2}k&ӻ'MXyTZdkq-. oB,DmuEtZmHݱ9{Q\s}߮υ'VMl,,k&(F`?{OL'?_q!%:Z!`:s[̖!ZF_֜N"#^jRߔubmoo6 U7 ~kk K{9[Ê]Gmd&%8eku3yqJ ٚY49x1A !oyfnpHj[; (0#7_ $hq ̛j섆t-[Qob?lvhTTa@WuM#Š^-\^hD IVe'G@5SjR64&ZF7nyS`%8x% <7^+MF+tj TRilvg_@,с2tr-F7H jdnШj;# #Vp]htA D]*K?dQ-I sx-gcˢk;VӵĶ.:؛65Ss㦎fBPb jyț{ zd\$>vb.6> Yl%"8M,Ï30 yL2߳Xu'"/89q^\d.CXQ4*DcNT%&f<4prQQQ6-HвS:e1txƘgӵ+jxa[^Pgך&OD>bN~|'/0`!D 16?|9XGz$OqRND >j8oVV\k+t$z4]!NZiGE GyE<˫[`z##0W-g?ڗay%|oGQ⭈;A\&,ûZQGkwCr8H/鑉 ccŌi19!΁t,`=y 9 YG= 㦡U' 1mK E0tMwI5k*cRf}4⤎T@-[מ"*uyӤQ'Q%0pcsvXf_ E[VK[yCWjD-jLۿ//sPA᧻rȡGVmIR'o?< 5X<`X+4r=}mk 4Ն^~{a.<,G@'NҔyyN ڐ%h[H+kf{gBU+"9D% O1{ÚP23BikeFmb]0Wiҗ >`tL ԺI]ee]2U IQ6rд"JtycP#PFbXH>gbF}}E>6* !1SBހ:yNz VMEw}Ÿ!: xOdKu:aXBTQq"X$aO1˥spK0 ʲ}ԭ~} ln,,~.Uaeq-}՗ʓ(kS=fEXq*~Q -jNcۤp񿵃 .X ",X[d8WkuYz{ް,u۩E0w-iiMReQ6]J^#Baܩ&R2 >-[2S :6HM,æw&Q|dSNZR.vZ܇ʼn}X8PiZz Ut|m|mqШOL-&X͞v5S9x/7P `@r=1z=kA[7~=y&ド @kze-Iz8OwGsG4m H1N.L"I)^$f1ǛE`³@>5Z! r3vy2Nt,`,%GEkzXe>JHEp?Ɉ.Q쬷=f9a=u_81 ޝIZ3fvA[ Bi!-*V%*GC`%=dI>M3I׹rKv5u6 Ϥc%7|*|w FbbBj8uym{~oagzgAyj$2!N| *db:o@uף5Fi$4 *`;7ʛiPqNΜ8?O?|\ynDU}x**dMG}7NX1l5Ԡ*pp(1'$BbR͘dt{wg#xSԎj [STwut\A] u,Fd?@ Rl o~*!vhg-Q]Ж=0 PK\Ni('#py_dbmigration/db_logging/README.md ,V(QHJU(H-JUHO.M+I, gPK\NC%py_dbmigration/db_logging/__init__.pyK+US-/*QOOO-PKXN *#py_dbmigration/db_logging/logger.pyWKo6W!nٞ-$(wDt6v}H1YI+z i X?f7J5;G^jsP ӤQ"/T``tTbԻ[-UZJ;yLjtQ {[`>Tm+u̱wL@A@i*0?rUs5gܮ~/s Vm'y4H2hìb$YsgJI'y:Lj^݁FA1A5lQsֲYڻ,>A [cTӗN>e;-0PXVsK0{ѽV*jCgpvPӶӠó8CoϚt0 X2|wp).msxC^'oDd,3ꘋ_*c pW+=J%Zh H_DQ6!פ<*%P4] +iPmy\{sp-˰ux 3{+N2$,&ў%Q!e|r`:2oLtHy|kntql ӆ<0>K<~bE |CxMd4XG7k)Dk"?Au,c&^I]M /= )GGM%gv85^wHye? 4yWK} ?=f.[ZPKH Ua1WQt"?^Z%>Kr,bٷlV{f=pn<֪=:a+{Ʊ҂rsiˬf۽$G->e/f%389ydHL9yH,8᳖ٛ0kȾd$Q$a%6 exʉ&q2xI2bQʱ?X8c;ŎZbs_GKZpdROc zpǦbCDep/4رd6*DyK70OE{x5W7*07=/SH^YvX8/L=rXf+~/ٝE|ubt{s6ek.+_p, ,:ĩ+kQPK\N)#)#py_dbmigration/db_table/__init__.pyK+US-/*QHI/ILIOIMӁsJPKbNW݁/'py_dbmigration/db_table/db_table_def.pyWQo6~ׯ @~X CaMeް#)ْ-Rbˋ#w-'-AG0{ktB=U֡PK-ۗ`L&(|v7)H-P8 +%I38 \wze-SwJ]6!:f mL"|܉B`oEr i ŇR=wE+fW1/^6*RZ!F{)o~*d׬D _?b\ +iݫi;~'gyǦT8q|t00f(4 7Na+*֋?& O]ߓGÑ)D(94Y!B'X7:/t,~h>Y Cx!!eINv9b՟0q!goq!)η\`RԨ8ynXSD!!Ӓ+Q,]*NuBzF+MmB:e:AG/;e0;JYKIUj%Ɂ۾%vbao`H/M&"z?iw+6ؿ⧳TPH O % Wh%r{,k5mmyѽY,IgXK?9UPz8M2<բB *?6-;DoTL>jl:h^R,׫Vп4"eb3 o(ޓa8 CJ⹥W/1]Q8d_>7PW,GD54tauN_!Z zȹUqQ9Ych`Tۦ@8яcJYqֺ i6{I:!oIˑnTh(P;tE--34ވ!/O&ɞpf B|(J;lhQ!f×LJRb9O|3ÈӨ%Rb8V"G-[:"t&3Xg% Gi$fџHaO`B Wm9ifߐ4dGc\;jY'r8,[{TAH0UUc+A]U\0`P-ّQ|-J ,ymȖq v0huCy;RnBWð%j_C/,lǝuViWo▧.TqǼƻh]p \r޹10w%9x_~0Vb0 davGh?5X=uaT97 %__Ҁ"&Z SF=;2␋ ɗ3j |탗2la=E~j8FcI -Auτ|a-'1nL̔pP/F{vM} fl 阮D$>),$K4޺Ygi·8ϰ8~|vW*{`@kK ZHj[ 2%lcW:SV}Ui%\C^)-Y#>h%e: ?e#:ucv.B8dMؔ "a>xy\rv/sVM&;iBiWn4rWXK4|1մXjŽ5,GvW2عL_7NZm"~b1Yߘ}`ᨅ=56m e4Jѻ`>iw'Rt3yRqgΘMX-PKe`Et+py_dbmigration/migrate_utils/static_func.py}{FߧOC@%ɬlzWvmg)("&%*_=E*vf&gNF&Q]]]]U]]- Wjg@-q /ѺH=9y6I %2Es;UN]n5PB!&>/q!N_"C48X~ 7Mfn#a0̀ڑ:rq( LE_q/]`eNb8ϳQ\:EVxe!i[: Ёυ',^&1UA c5CLYDc[ޭȀCWI_Fc?>=ksx: `U]M+xmXRJ'a)H0GD G`%&i$&i\#]^ AYDE8z/_LM1TګpZ@"k&G#U7ʵT8ghB' 9L D<*8FlD$^qL'`z&iRv 6b`4 `&ӼW˻J:Cٹ*4`ɻLHؚV51B9 5U|(}ohCz VPBSMYQ3HUA͑J1IjaY_,IV=ʅ4 VTz-U,W'W71rփԽ-CW@{e RX'4$)CDN$[ ț((Iu e2iYڌҨq@E }];KzTE8%`9 El9dHNX|}J ]FiL@q xfY㶟*Y~ƅU#ʳ9%-<㦎(A]RuA@ fsx@@PE$PQO|,q%Z|kC3&|A+3$*yagŅ'8v>W4I/ܼ7;S_HX2D.^3Mr5@C{$_ƚѦĸ4@Y"e); b1I0P(7 a7iy<[@W2Ӌ>:iZcbB,v{AMn\S-EBU]-gg`uk9b)EAWZ[]7L IhT0qe2NB]v 6P%ry JAmȼ)Li\l ŔH~d֦[R}VI)b*O4d\W{.6^M Y#MJT2aq 96v7{Un3{y[&Qr݆U GW!ɾm0Pm !d GSr-] CF9"D.^ɢ,i9lRH*HP$ŬjI-.I,Ǡ4p9E1.4-)$'.4(ylS$Z@<10oN fxy#Jj l>zM{Me+m( , 1bEZ.F]"IĠYnS+4S /ퟠ9y82!S6լʹC 77UQWk1ٞkۈ7)w~(GYK]O%0Nk_V@0όiM4€9G NBtXKwڀFqZ,`)qEЃb,ID*k^KҰl.LRi Q`0 .JԎ`زw:0Yq"(gnni7 ωoXs4>P&W`Z[(R|2l:HYOqWN\a[JC1+#'I _[? La^ܞƀzP]fjx`ƓTw6o;݋{5w'VӫN>S`{-{%7# RUSeV@ A$Mg;H U ?)/yuiFDlMs$1cj̢M,lao8XR2 Sjh4b5csg=9]F]zZX́&Y*}?$Q#h}fheu*݅sՂ‡耼x(Dߕ'O5!gCow!|M6u=n#VX0!iyD'M̜,hjqJf +-g$bnrn Y$o$ }~Nh:IV;<#4 ae0ϊ"@%]em#&q)`OizY?Xa2DgMvon{e,0G%[s'l$?}`0wy=öW<&rUeo?T7zX|q*F!$@Ba $r2֬zee8uDRK~H <" Pe(ℰ_Y ;J3U9xa w4¿QRUP1dW߾]٭88KIMBsoAa2,pTrqTF\p@W5T EEF%Q T~*]C\T*yWl3 Ȯi4O H+c:W"5 BrIVrH^d:iHOgD%B.FYfp*ݭ 9V!!mRHLpz-<7=NƃqA.9NU$lE^]Hx8>-Х):xOߋӃ^ _d]b d'xUޢ C A4 27$b~!N_jR# Gǂ5۷_fMOtW>E 놳kb/uKk Sqx{,N^JMӬ Yg畉L_5O=:NNTL, (IsZMO]`n6isvqYIEwM#D$u#8پD~V(s\QYtD';+ E%75\;,S#%Qܟ Ӊ n ;˲;`KvVv*>ty퇎tlF׍RYz??7|wn W.QR2x)^e=]KڬW]6m -Imek߁) 9 zygOŏ5`AL]09ir7޷ ˃6ϕ= v3FL4inoE).,boEI Yd@zYU4Tp +iH7x{C :xxJŻQpp:4 C faS;Ȩ /qr1);{OU|'ޮ&̯1s3=?L_h(![_DDzʐ:یwsoY PV{ "&Ádl}|o//JU m#~Q,ekZb/6#E \UUul+FgLIv, `]}UQBÍU30L~M4Z"(HIH)gopʂ}S\I4$h6 G?k9|?l8@ rXOh5O-M4@]&dkG݅"9Ɗ"\R?9eR:k,rƍUS?-R7.uz R5.9G`)qB:)Za-dNC`w:qۧiӥq@B1(ѣFϖg!{NsɹX&I.oIᇾC?*xF@ kE9hu4ESċ(:8 -A<+(8'(mhȎ;_J:l4nR[lkwZ_@݄MUQT <ޕ/n*^!/[w,jdJȒ$X1*U]12HI ׹ 8pjMwPhW!3RvEc҅bE)iMi)ce{!=Ex9oU[N#Xn?;\Ok?ڠQx@HXr 9=Wl ПV`PgJn h ~Z:Ft&y`C(p5J/nM:(+J27k[\b"Q2d$/'StJA44Ӳϩ %LV\+(ĎdQm<&l ㆼ]yZ;?+Mj;V)N]Rq i$ōP(\x-T#QȪn*: mc5+on RFLi z='-:N' !Ap0`< djË EjW tp:wDjhG۬+ޘuI'i.).5_wC똡Axه[;CtT[4+)#X1V,?, xc}iv18{G9jϰj.l٭!3l]wa% U},YDrgu0&z+ؿ(18".[ޠ9ikdq4k0! ՠ@~!t{{> m á1c^yj 9C9!7?7BKտfQȞ^f`e|xӣ蕠'|i28Ί~KE{kINI{ 4ѹMLhSrkLCHx-D.xI@#@`QfB8b, {zX.4tNH7 }:zJLe2G ,f5jTd|ˆ؟ֽdǰEnviKʴF'"RFgy{Q7#D9Nu.,*t:Zn&K(U6{U^v2uc1\t^Pw]cr,q;޳rDCXʳ2YkN>9bcC-,,4T@^Q͠tc|)֚}㵟\N2@"\Ӌ_*X@djvi]5o,<#DS*Ԁ%T+݀-h7SY9̢INE%IX1PLih#S+xʪT b*fÓzSWҾ`; GCk_Yiiҷ.Jx\' uPLk~Qlס谷/_K'W_cA*PPb:`/~:՞k.QzA@J2#A# el01.vHP>&tqU{ιϾvJ>oxݡOC?9/N*ӿ$8k,}uf0ޚc-%jsCf~ EBf 2zLaQ6PH%Amլm0k٤<]r)ЀYFQyQdp!:&;x)K\  S }W׽*5dbq2W)@SWF,^u{Jg<(_Skw,0B;@Jb4kKS wvǼ]CljJs5Ӫ)Mm5GO`AyRwެZm1=זy.#0)u78]3;ڂ)[кw&zymmh8>f|OH p#0rV$S}Aũul+5ͪc4,danB4v4c+NJKk 蚥Tv5`saRGQ}׾]"YډH;=kREFnnF6#*ٯQH4@ݧA*eS03!r$0kj7&h!58:k1On!zHNʼnjQ5Gh{!Uw/'7$' aS_} bNB𪵾1͇ v=Х92>VnЯ%jc$L҃WUe'=qpR4*] QA1iT¸2an~wK1{)&oU &3J[Wdwٔm *'"]̯>' jKRZ4&RѴ6T&)Kc:5)OYWەJmաh#8zК-TkTUO^  B!4U+Ͼ8\e $/O;nt8[#V}Z,&*ATY§,6G*äPCaYmK lޕ"Ӷ2zնtS K/{nVj{V,Zvp+nA؊M<Kh.R݇"kUtIxIBԽ5 h2f v{b76uz.Xb1aF`b.JXP\ Eym?[7s??Gl AƁ=4yGǧG_^'o^4#EFD:*Fw_н$ыzeV]*?nojw Kx8 OWA{ t\6#IDG,~Ә^8{89C[r_oiLY]3]m*]j?pDuP4`}㡪Eֱ'do;_<z mt<'W6~5dxȶ"7hv펯^PQ0* q|/ues2y2.C`.a슘T<qtL(93p {[nH=Uu_a~zG5?>objLhqWك+q_U,hc,x;}u hfNӬXU{Z`K`yIeGOtZ}G["/b6=gT{Ɔm'o=|rXQ/֨pK2 y ȭǺKVejD1_[p1 WВ}Wʃɮ0iu;K2ǃԅ1ۄ09yi݅DDeɮ* iYͷﰈyYˌ#cn ]XembuٸоU$AU[Yu>Mɑ;V& p$5 &U[.3ҬU#ik9nojfJ byjH@묁3D F^& XN,z@nk@%I{6giy[Vygq?Oq6.7ҏ?o_>,K[ûxT HEğhG/K'7nV,˭EcRp=j]:T ϞП Ba*Gs: ƟRq17ò$H.0CF1[S. @G!Ui]%}(O?s Yʭ, ߺTpm1X0PVo Y$)dTR&T{ev\;o]Np4c$Wb}38L.&}wF*}P^Qf7Y]wٲ{cnlD Z;naOjWsվ 0܊Kcl-:0kd[<ozlnvRݠ5JlM#wжQFbVu+$\;jf-۵h:~]}{ޱFr슐xM'"|Sb&_t) -^( %fӑ(_/$rC:]0n5\`_pe#X0*.k>`f`חv87dt…o;MGPE3*lerCueMG9YTH#+hri|ܳPwqIn;Sda5!C^#<`ZUs3h^ճi.5jgUgHpcQ9Q㠃İn-WsqHsPѤZЃ!>pנcoj}{By=4 AKo5C]m ҏW(|Zd9OSSXM5-Kg⟝QQ>fK{ HJWQItPa B 49- aϬړb;/F10QTt="BeWy%"Mά8pN=؎VxT_=vf \86ZC!%]k Zf}UuW!&m??ckz}oq9bFú76nee6BJ=hՂuPIMLX2< /VmhWcm9 U^&/4/+(TݗjX:q^%mzC*-s43S&Dʋ㋖ʪY])9,vp(oJA}( ڴ{=𶷷=cF 5T~rйCpaoUˬj$I\TjgToQ6bϸ0~DWRꎭzⱏ'y+Pêۤ@K0v{jLP}5`5גzUH9"" {iT^ཽ86tLy`ΆQ(bywޫU, NDfY[-Zaf9jDݭmj^^zqWA'9x')޳p)iB۳Da*Wf>}`RB_{ ^Z%y?&Tؚ$]I%eJh oGa5v@y ʓˈb>H,ְ݂>cSn嗪MoA@n: ߙq9w簎փCSYt+jO[SѴ8UdǴENTe}4ٞT?5=J J**F^QeB.~o +';^ I-OeӢ*eF^UW66cxU%6(:Pj%K@ɞq韽s۞H{|n?5Xk1|exM;/uF$ˀmqR)7ZYqkWk]:MzKyeХ^tqCd7ݍ2$I?tmС?qi$ov+o=gvM jm#{n;+jolp Q70[lsk|sshc`+ilxX`Ku7v[7Q=0 FMɖlY:bT #đ)ģ*QN̎C@%*"iX"~q8]?SԨBь\/hyV(_\=_'b+Y}eX. +.Hh٢`+J O=+3j ^ HRgg:Dj]lȗa~keoyom&kUDdy~ǁ%[ i~P,Rtv N[kTu).z=i Ϊ۹A󑎤5 + I*|1xϝYKJ &#p8-sjiN"ݳ{Zemһ B=k}؊bGpXQr%KUiYܷ"d/ʥ:}MKBP me- ~➌;ܠ KhnQci1;y9-B e3R#&BوyT*o'RG[ϭu.Wh&gsO!v0t@ [ +| NZ(-8;2VMP pz#=t1I+"!cK" %aN/DXz+nt+] ֞oV۠y [r0 g̃zɳ˜'yD[u Gcjpם n~gqq.(+.oFw6>w-ǶxL: sIM-חr}0qq&12V]q̘&V'u]8|Zh}aM5]޽J?9 %.|4 s胺ss۳4Vê~?'NH2RqV 50q{ }JmS)ֶ(̾h>,wN䓄L%amj(bX$)Ƿڙ_XBFO44 t弄BrQf<2z>:Fȗ=ɿB­bI7h+LmyB.( Ȃ}4 I9zhhuuyA(i)GswOD-Q3h38JӬcRe[xx鋮&ӺjǑv1]xE6@!ːj0wjw“<0POs/&Չiblj@*n+9NJZӟ g {~E 2N1pvPK\Ni('#py_dbmigration/misc_utils/README.md ,V(QHJU(H-JUHO.M+I, gPK\Ny%py_dbmigration/misc_utils/__init__.pyK+US-/*Q,N/-)PKcNR'py_dbmigration/misc_utils/misc_utils.pyTQo0~WCҦ-}UCU;0I% yTL*"by/Riȩf\J%e`c\QU6\]=jGC4q% i4ˡ ~"\%<=GOϰ|zcLT4fiAOQsBb1-dN*M4;'$_&Kh$6T2,t)uCֶ9 Rhb-ľDPT]Ef4q7/CѼP(WU (anfH\%YqCa" z[3Y0dk]T!AӮuej+Ym6p 73x]5^έ1o/ذ3+TghƇF^ 0vHς3J(v1fME<8Il=LxIF$B> ~=zzh# *\bu1ϑ~YΝ'={vnwNG)PX^-#1nI7mv(vjrC-zƿP\E 'Y]J;A*I/ՒD0_ۿc׹)6K,>v}.PKXN˳40py_dbmigration/sample_code/create_table_files.pyU]o0}ϯ(G>6Ā aBcߦ6ӮBwѵ#-͓{9Y,*[eS~I*MkEl/j/-/*|iż i\R/9,R7{'k ZX]WʝGxCDRv:pVIcwpi%k<;Z7 gFO2{C2/E+62{! @oq5ZHj%VWחwڊ&!Wgr~t{×;4r0u$I0Nn6'3PX?pՠT!a?N8 CI)/tkHA;O Ơ 7BdYItU ?}O1*1qwV|G':= R {wSc@QJӵD(xP mL87V ɒ&ۢ_PKXN 1py_dbmigration/sample_code/create_table_upsert.pyTn0}+,LL{Cۤil͒L}&dx۳T5.BUUZsϹr %%DQI3jZh1#^U[kh7&QJ!g ᕦK0jiVm8 Npv]'Բy^)17CY-݆5tkWyDGT`Xb6[WS#yK]QIrj@('K q'W_\/J! R| 7dq {CC-?>O;??O՗jϪ:XLW=k 8 2Ư\B ['a)s:%aMˀY:LPV;y-#4! h0kE4<*E󂷴5&Ё`՟[%a0"Nl-=/W4b=\xs9TU '!%]ߎ9םeGC1&_2z b90$>" mqxXy},n;T``J n$[oPO4 Z!4R rsyon HUa ?)k EGS ݻ/w?Gn]s}5Q=igG?3 &:D|Cb|d;B;veF0e珆;Ȱ?1/[bŷG3% VUs T]C=ABD⋪M9?MF0܏a(#< lEnc`p3HCIv $Z62Dd"Ɓ`B9b]9rfh᠏dv+!ήO ]6z`5fc 1(۸2uoVO%j_1f;lQLhqqsVVY6{OIև`e@tTT" DE^8t2Z5/Mq 4ʊIC,} v, |] zmBigqݔ=FF$s 6}peaZ;΅;lc2o2os{p\|oH;{<ƗIpk.(HVoW2bc|qzO*yKw:vpcCv=ϝZ8W1\p}Bv?0y x1|odBfgÑ (޷u_#=HXY0aS [LS #%bE GaªNv_nLwcPf(dAEb ?ha%4H`8Ҝ_@4Fe\+vy=<-q'w4rxߢ9U'@E0ώ.qbY>߫D-i"i4-X$<@Cp|2'^C&xy$ޭ`1nǟ?֜NCG (}"2sf$eISxI 4=/3R R]b4}A[@߶??VE?>>=F͸(0e!bKD-%IBEzQD[*4{vQQRȈedՀ注R,5F*S*eL,TgQ"ȼ!R9+(y@vwwp*Iٵ*n މ,xt2:L@F' *(5&$Ðtt]َ$z&@"qjEqwS"P܎!!y Z4 T>QpBq=gN6^!A)_JhFVEK[M]]Έ ^E\[125'_w?r:UӪM2ۓI' _k+ɪ٨* ]fvݹC$JPt/UNa2Эtcifp -㭘6alzr,U%_صxEheZ]ۂ2Tم_gpX rT[n U=OɂBK}<ïH0)x`jF~mkf hUeKָhU k+[Np PKE&˺0`<|:}w>4"LM+icrzAtٕ'Vg2Z %Z- RtSh>Lvdk,+7< e/6!׫KUvS{ܵ+F >$kƫKy̫k'xIrW^/ք6 8_L-ã2[}JOqV;9bڴz$״xe.1LIJWSCTk VxON''|t#ʘ|:kwzg׫p`["SC7ӣɿg#>BM9m_1ӃZV`?M=C2 2,dKhﷇCؾm'sgzaxze+&7Y'"Q-[P\*vA=Y,K?c *HS )!B;+ō;Re*IA<߆dL3D´aHj}nf})BJ2yNP%r\t]XĩG_DADgRݚu/{נ1[!_/:zW0`jLj`{`E8ZWS#]Zm8ťOQG!KpC2b'2nHee߮ _"Oqv]WIe{3_(A&u)KdrabpUHAN.PKXNX $py_dbmigration/sample_code/scrape.pyV{k8{)ĆC6yӻ+ >\ (rZ㵨lM.ߌlo6m -7y鶷.Y/;%}Φdhorf}’IjꭓAۮ=!hvtPNzցg36t>{)Иۭ$fn*6K̥ {t#5[C7vdITp pi߼>YZO^4c?3{b#=tTZ"lh>IwdIe sf,gX YXf2Y(Aԃs'(xSLBj͏ULSQȒW퍖]a;B+&ޯWځRV_ مC58XEoeVGu0"'o^=/-T+oWɋ@7+ ܘfO}ڐwIkAYS{|ux/@WieЀ* HRc 9bl.}elD?Cl&0",=b~'Zew-+%S=>PK\NÔ'1(py_dbmigration/sample_code/test_data.csvKLI1QHFPژ+Q'I'PHNJ142@ PK\N'py_dbmigration/scrape_utils/__init__.pyK+US-/*Q(N.J,H/-PKXNWJo*py_dbmigration/scrape_utils/scrape_util.pyWmo6_A8$afv}]uht@PtȢFR"}w|%iAlbHeg-͕\jpYU_(mc)ֈy[˶ ROX% Q/s3$_~h(cnY3+|.*6JTUL:=z2J3uUջ Ӡur:bQ脧Ƴ5a%7<_WjMR( LjFΦ xw+oTDE{kZ&lLwf5(dG݁HUcqDI.s^Uqd/j ^DTʝ;b/%h&[Ìdf LMS (3뒕r]ӽje֢ZPJ*V,V^h_\8a6r6?(W&j;.׆VcX5X:Z )'4i;uAˁ1gRku {bj{$oιJα%Y;=ln7(ׇ F]g-̒wz%T})l˶b"T^zk7 92amk`S@ch 6>%:8ٓ wVl dُ;(߈ӎ(D3,P9A=ǣJ@Vm݉|'dXͩK\_"D(*5;/ovh{DѧsRE5@0dD,z+o[azⷼ@^^C{wf'9% |a?J7>=]{ ŕLK08=N>yt>~+ᥢ6Uw SZRY5e$ڨ@ J[п nAOBhg96F}*1T*jRQH]'S\v'{SĝBV6)*9 `-Fjd߽\]N=t5^]dVXA߮{ڄt}o.+iRx6=:-ҹ砏zBb<CRxs#s%Dn zPq7PIez!@>c؂QG?;TƓq[e |*LW#P[}.SɼLgOM|6t ׋cl{MjuO{G`ix}AuЖ{O(9D'nHpn}xq\F飮W4PK{{N15py_dbmigration/sql_files/logging.finished_imports.sql}AO mxޜIm`kZtGY>+ -Xϗ2''#kKZ@YCwp@(;>ϔ.+|Cnue#QToPK\N1|n6py_dbmigration/sql_files/logging.meta_source_files.sqlTMs0=_K w8@;101ӣFFiUJ~}eHb[ 0E }}R,.+$μ N [h2`ai1NCNƂ\6Szpd䪉A$w4Ć;.nql+`9o \ 44Huc9m NkbEk:3O!8bU@WYJژ@ !Dp5qxT8FIMXkz&u$ḁR/qkcy^ .#&sƱʗj͹ knt'nfM,d[ϛ5{;B\轇^-HENiqdfp{;'@nBq&*Ӵbz>b͕(=d3/Ln4AxaA˗=π?M$'4}lk|[~[nK0[|<.l$!\a2փ^PK\NK%3?"py_dbmigration/sql_files/roles.sqlK.JM,IU(IU/H-J,K̉OIJJ/J+AV(W(/.I/J-PK\NQCf )py_dbmigration/template/jquery_table.htmlV[o6~~T/q ]Þ "U|CRRa/6y.w+,AH4 cJQM\ddf:|?!J02N$' g۲G2 #yz\rz# "LH$ v$+SbYFmk=7*hp+{7s;Pmhd]XF=/$ Mj|V!Զznv+!+CȀ[RكBse+wH+Q~аv9L eI }~_K7mí ba$ۮ،wB~8WLP_<ʎ V~9cjTl IkCK՚>jTQE0|,S-߼m3c;Ggʢt*-DLx*՗smN6_AfBEH*g(  5VSyz R58< yx\^-.o7ߌK,Msے`й{G_Q @k=ftdivUz/mjN @rHUֳ[]/Q =,Ci'ko7PK\NmN`70py_dbmigration/template/table_upsert_file_id.sqlX[o8~ϯ8uZ+J[ԇ -$lfڧ(%"A&N= Iis||&ܦm~_Q/6dtCsM`l[ ]#wjj&K&1"9x-Ҷ¸KtrvK..7.7!D!_h)s2hW/xo7HBK1aS.v]`-%~O>A^w2b88< * Wuk*+ezʾ^O.0\jc26óSơ0 LML 70 >(thن/m Chb-ܴd6حp4d-Vm&\,!0N>*\#(xې{˸ TBL Oʼ.;z Nʜ tœ4lďyܺ"W`0^_:ǝΉlU%fȘà&3^0j$Cha g0Ed4'qw8ji\CY`){Z^zЀ+ nL6AZֻz1*lz?ӰI IeVIhS)^!32rat|s׭m͛2?ј*xrZ+F2N^IVNCoZkM_fFA,JqN(DA4h VJѳ#N}=xod-MsVasˆXZ'Qm@Y~BfH!Y'Aa3/xE쇘vn~i™ScbZ;9Gl뛗9i(U, ߷;b|W8M6aMj wuf:!mrE&,qkP} }1&šnv bZɃwjeUOۭ[iݲ?vsI1 @x iOC\ey$ļ!UlU$}r$Kiz{9YHߠsįM,TtJRC"h bу>ރ7{5FրGbP6IT׊2j95w3z%"2TBZ7/ }a }.'RPvuO?Mߔ/o WfoRmsZJ>T*T<׋3g ^^_rFQ\<dP[4^?o&bF*T;/xPK\Ni('"py_dbmigration/zip_utils/README.md ,V(QHJU(H-JUHO.M+I, gPK\N$py_dbmigration/zip_utils/__init__.pyK+US-/*Q(ͫ,(H-PKXN]]\ix}$py_dbmigration/zip_utils/unzipper.pyTn0 ) rؐðf-8N I/$+ӤH,G#EtJ[x]%$&"}&uQE[GܭQRf wL8uR^Fjl򪌻*cN˗`̊Rl3b,7(39%I)1XI:Hdռ,3jK1w8itIk \n)߷&MSh׺%2VUzs]s:_ ]xna[MT<'V떾YzX9T M) ;\qhݹsմ n\4HعQKHg[{rXx4>|-&V'u9%B}v+V*K%O]MWJ7 D.ɄTļ߀b@AA 8ns{wZ8KP =In;>TORv*[]e'9d}z&eۮ:\4 L #uFL?;pOXU,3X8hǞodQ KPKiN\F:L*py_dbmigration-0.2.9.dist-info/AUTHORS.rstE.̤Ғb.[d.-Ҽt< !#$713G/9?׎ PKiNҼaz6*py_dbmigration-0.2.9.dist-info/LICENSE.txt]RK0W8Jqkol9f)ǐ*(v n[ {c: +ip,K:cy||P[Bp~_8CmZhz<zَ~k78dACR[CZL';:6CDX<"{..v~0GGnh%oޝ]st |&p;пc}B@z?EljηL('?B}ϐ9뇻y~@KO&qq@I;cZ'&R5~h% 38v,?^> ].+H!ûgc>~.RKZ`իD ^aH`+M6pC@-;!,sEULօؓeZl2Y3JISIQJ4ǒ?B]–ҔĹT862\zת(!m)˥FyBUxI1AA;-_r*2gs!nR*-\%3J!fvs\P8R#UI1RUe)yne%ZVtV9fĕB^WT2 LߖPKiND,KZ'py_dbmigration-0.2.9.dist-info/METADATAuRn0 +S/4a2[%A:(6mk,GG7Ada@#HȦ4l d}2qOYuQόeYs&$ e D*>4ԒaI}To܇z#Kհc3HA&OC^xlIZgYZÕN"[Ysc{Ú G 2.PWKYqg:ꁼJS6 ei~<ǡE-#Z,Fy9ٶDGF#\oSߦɧP5(+}{p~0`6A2J+J_N1HbߋsVZmVh׎A(hrrNGX` ,Q lK2׃lQ2" +^ц0'9A/’+ٚi B|ҹPKiNxMB_n$py_dbmigration-0.2.9.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫#DPKiN}g/py_dbmigration-0.2.9.dist-info/entry_points.txte] 0 { O v!M5 2|~zjLnߐb>ݴBE.Z_'zx{:rAp f3%tn;lPKiNHT<,py_dbmigration-0.2.9.dist-info/top_level.txt+OIL/J,PKiN#18 %py_dbmigration-0.2.9.dist-info/RECORDYvڲo>и H HsQ6>{w`1Zj՜UT9y6v?oRwmdߙO޴^"$tـOO> 5qo<@XHS}ة/<%223xAs\V*6{g,}CgK.[Ļ]OKGZW}Ag4 ANYN1ϲ",뭚"BOA)-)jFH(Ţyxkw&0F2 UxB]RYeǸF1d/q+ztҁB:eN!}s,,zo! v'MTm! J"ErclK?=(+2QZw(n Ljw6.PGV(0Uxoʎ}ۛ>5~ǍE׾uSv r(܂S]~EuU2ɌUP,4UM,>NtVX^_e d WKN}`'pTE;͊Ϯy\T:mt%$OBG^r$l,hgjv~ӱ"Dy!dQHC̯`{PR5ei\Mr}s˾辳eqOP5[g{nz4C&HK瞽~($C6+l㷭}/tHAe*{ϿDWLm» Vske7eK]wvxR6o78a)_eG8޻sQu?2R o *9nkvtЃC U@$}(kro.j>|% Z~?6^^#2˹F&᱗Z\ftNHΣt?`eZjW݈t\3r DR0f@"cN B:w8J9dUh9}P/ ]mK/aR,;8xo+POH* /з:?>gZ"͈5cj>'|~Foz([Of]k*7{px6p!d͑a+CNˎ\n 3i~W8V3BBRU jԷ'̯@s.JFTN@ 6BV 3hXEW/r‘ӵ[c` HD7[F*֘I-oFALRVW7hfy1g3Ree1 f7b¡ ;o 4ι]%6/H鎁36Z&AYqîCtۛլl[am~kgJ{Q{q 9'\ R}tnҫ 6mzƁ#w2ث>JO\5Zd^4\7O#^\XBm(Zno/k !ooTkFS mUG& Y@kw3QH [[dG F)5in+KIrOSw `$'h(<"yr|Tc +F\&d]*ԞڒWU^ Oz:9PND.{ &T> B.Wݑ(]ÿDA$hZPE p8_*b+PU<5O&Sk߼>XctzoQ;}r>;R}.ܘݧwww}jöAP^Lp<ڢ]B\tmؿ?ַ$*>$KkAUq2UGt(3b|IkYlNIK ÃP'KĻ#`d;-?N;`PJ?((gЎc=ʵgׄߎq~c~|AlXH.Bi8DClthzcXLj5 D, >y 53Xª+E5O1{O }WG%X&e*k;#s^Yg yr?KprY g>~l|0W׍lj+Ǐ#U/ֺ eZ]θ.+?QAPB1JOrmUhUuyŎg8)J%CKj@׶B7 mg+z? rT!00B-F̳AwGZAi[;舿V>c*RTDrĎ [LЁ8⮆;F x0u1b 3=VB cݻwzn9~e`DV{~8jBstM; 0D&ޖͤcPpnG[ogɨL(0BǎhX`g@6]O5e7]S~Oj$N2& phR|,G^05E;jGp {W㟤f1:C2Dct UE# O 7ky5>zsٔr=i;i J̖ŷ[YG~q-Zu'@ ๑ veAZkXs_vЂ&&`||hX ~+p"sFyqqк&\o[UWEky0pqG IUXʏ;ETuV(2QD m` w5L3d_+*H|7VF+:-/# .RuTSag,7eϿL Pz:4?!*ato}>ӸzMsn`U\ J#Oz.`?QLNW8{D~ MWVV~D?sC yE2bNΜ|/D>\o?PK\NP8J  py_dbmigration/.DS_StorePK\NђUg@py_dbmigration/MakefilePK\NƩ,{py_dbmigration/README.mdPK\Nzm{py_dbmigration/__init__.pyPK\N:`6P!{py_dbmigration/__init__.py_org.pyPK\N.[XB| %py_dbmigration/build_travis_docker.shPK\NB^ u py_dbmigration/cloud9.shPK\N #큦py_dbmigration/create_virtualenv.shPKXN *py_dbmigration/data_load.pyPK\NMm#py_dbmigration/data_load.yamlPKXNS&py_dbmigration/data_load_bk.pyPK\NM 큨&py_dbmigration/docker-compose.shPK\NQ!큎'py_dbmigration/docker-compose.ymlPKXNwD-(py_dbmigration/extract_db_tables_to_sqitch.pyPK\N[ !,py_dbmigration/increase_ec2_hd.shPKiNKdBh-py_dbmigration/meta_source.pyPK\N3# %3py_dbmigration/move_schema_table.yamlPKXNh$7py_dbmigration/move_schema_tables.pyPK\N|4Ppy_dbmigration/nginx.confPK\NQݝVpy_dbmigration/publish.yamlPKXNUu!%]py_dbmigration/publish_project.pyPKaN<6/ypy_dbmigration/requirements.txtPK\N'!ypy_dbmigration/aws-scripts/rds.shPK\NBB"+|py_dbmigration/bash/chmod_files.shPK\N[fx큭|py_dbmigration/bash/headfile.shPK\N|{[lb}py_dbmigration/bash/tar_venv.shPK\N1F'}py_dbmigration/custom_logic/__init__.pyPKXNE<1Q~py_dbmigration/custom_logic/abort_if_duplicate.pyPKXN#Fs:0py_dbmigration/custom_logic/abort_if_obsolete.pyPKXN9 r -py_dbmigration/custom_logic/append_file_id.pyPKXN?26py_dbmigration/custom_logic/append_file_id_w_header.pyPKXNU Q2py_dbmigration/custom_logic/count_file_linux_wc.pyPKXNc5+%+ 6"py_dbmigration/custom_logic/extract_compressed_file.pyPKXNRR 3py_dbmigration/custom_logic/extract_msaccess_csv.pyPKJcN0>py_dbmigration/custom_logic/generate_checksum.pyPKXN\1r,<py_dbmigration/custom_logic/log_file_size.pyPKXNS,py_dbmigration/custom_logic/pandas_import.pyPKXN,I@+9py_dbmigration/custom_logic/pg_bulk_copy.pyPKXN< .Dpy_dbmigration/custom_logic/purge_temp_file.pyPKXN|Ow+py_dbmigration/custom_logic/read_from_s3.pyPKXN@PH3.ٶpy_dbmigration/custom_logic/row_count_excel.pyPKXN v(Xpy_dbmigration/custom_logic/sasreader.pyPKXN.8 .gpy_dbmigration/custom_logic/sed_modify_file.pyPKXN 1vy$ 4py_dbmigration/custom_logic/upsert_table_from_stg.pyPKXNW= $]py_dbmigration/custom_logic/wyman.pyPK\Ni(''*py_dbmigration/data_file_mgnt/README.mdPK\NJyw)py_dbmigration/data_file_mgnt/__init__.pyPKJYN{b+py_dbmigration/data_file_mgnt/data_files.pyPKXN'  +py_dbmigration/data_file_mgnt/logic_sql.ymlPKbNt /py_dbmigration/data_file_mgnt/redactionrules.pyPK[N[ύy :&py_dbmigration/data_file_mgnt/state.pyPK]gN %!&py_dbmigration/data_file_mgnt/utils.pyPK\Ni('#큽py_dbmigration/db_logging/README.mdPK\NC%&py_dbmigration/db_logging/__init__.pyPKXN *#py_dbmigration/db_logging/logger.pyPK\N)#)# py_dbmigration/db_table/__init__.pyPKbNW݁/' py_dbmigration/db_table/db_table_def.pyPKN?j$(^py_dbmigration/db_table/db_table_func.pyPK\NQU(py_dbmigration/migrate_utils/__init__.pyPKXN.i,>+ppy_dbmigration/migrate_utils/static_func.pyPK\Ni('#Upy_dbmigration/misc_utils/README.mdPK\Ny%NVpy_dbmigration/misc_utils/__init__.pyPKcNR'Vpy_dbmigration/misc_utils/misc_utils.pyPKXN˳40Ypy_dbmigration/sample_code/create_table_files.pyPKXN 1큰\py_dbmigration/sample_code/create_table_upsert.pyPKXNf '(_py_dbmigration/sample_code/import_csv.pyPKXNC +gpy_dbmigration/sample_code/publish_delta.pyPK\N*,popy_dbmigration/sample_code/sample_tables.sqlPKXNX $큰qpy_dbmigration/sample_code/scrape.pyPK\NÔ'1(wpy_dbmigration/sample_code/test_data.csvPK\N'pwpy_dbmigration/scrape_utils/__init__.pyPKXNWJo*wpy_dbmigration/scrape_utils/scrape_util.pyPK{{N15c~py_dbmigration/sql_files/logging.finished_imports.sqlPK\N1|n6py_dbmigration/sql_files/logging.meta_source_files.sqlPK\NK%3?".py_dbmigration/sql_files/roles.sqlPK\NQCf )큡py_dbmigration/template/jquery_table.htmlPK\NmN`70Npy_dbmigration/template/table_upsert_file_id.sqlPK\Ni('"py_dbmigration/zip_utils/README.mdPK\N$dpy_dbmigration/zip_utils/__init__.pyPKXN]]\ix}$py_dbmigration/zip_utils/unzipper.pyPKiN\F:L*ypy_dbmigration-0.2.9.dist-info/AUTHORS.rstPKiNҼaz6*py_dbmigration-0.2.9.dist-info/LICENSE.txtPKiND,KZ'py_dbmigration-0.2.9.dist-info/METADATAPKiNxMB_n$ܕpy_dbmigration-0.2.9.dist-info/WHEELPKiN}g/}py_dbmigration-0.2.9.dist-info/entry_points.txtPKiNHT<,1py_dbmigration-0.2.9.dist-info/top_level.txtPKiN#18 %py_dbmigration-0.2.9.dist-info/RECORDPKWWߧ