PK34MVgoodtables/VERSION333PK34M\OOgoodtables/__init__.pyQMk0 WzH2ҜGQ c[iGuTkb)ۿ+uKOO_O [RjYޏi)cQ2xAJފkyT ,hD?YBȂ>z>l+ Vpļ*3@֙`T@g΅wXsDǼ5gœ0ўa0:H9:s b!@qIN2GQEKY%$k*ꟲT+itj4z%:f9Mn_$Y> ^'ө̋4+>li7:uxP4~>\ ]/w"X,eW<PK34M>,KJ=NDeHnӲ[zwC53[:0wѩG4^i x_ %Ohle Pkd03gXr >2qAS~Ss꩒?2gZz(XP u:FL6|>/7V;q031̲PxCq~yqOHЁ*b![$)%} RY0=֜|n/S㞸pfmu8P2㎸Jk4 cE@tTṕ{1;"Nߙ.]Z|r3Jv.sDR/: t8ɕ@:w[TYE҂@ygr$@S=.OMIS.d`#Eixm;܉bX, AB j|[{#7UȨr|%llPecɸ?%ܢfFȓrXLJ\:CkDfCi[~ڦ 6&e"Z78|G g54ا^;|>f,cxIG{y,wi`3,SGl6h?I_Q:`w5iOמ !taOA@Jy=;Z]{WiP(D <ӪVUPj+]vXp[= 0MRHA;֙|Ʃs_=A;OsPK34M;8goodtables/cli.pyXmo6_AbAɐ,p@[:to{H74A!DۼHJRA{g8,%; [$gyȯrdT]m_N1aE]odQ0t8V{enϝwFvҽ@%V׽ϑdQ+'mVqǢ׮w7 [+'ֵnhtג;ohFF*e8԰xO]^FQ1ٻ/bjem) f^ԪNqPՅ0[#t2`K)tfE1)kb+s&I8YE ^zu-}- (`Am\螺L{Ь( ԛYe^Y]9ӗeQoDn5M6IQ)utNӺ1v,mƬ oԣ1$S`5S@* XL~vhu- HE\s 2'Z$i>u*] Bnž9V]J\lW cbex!.dn@tu_C17|/x界y'B~7s:bpPt6+#yʆT%J |;|*[lj)#>wLpn 0gP~"v#XO?xIiX41#(b0-7J aؐ)a^pYFi>B Dj}@ƪf*˷Xz :Ph?kqt7(BFi N4v>L=b_S?Gl mh/ЈQk'&;#/ iXv`hl Վ[Lᆇ̿]ƄO) &u/͸#NB!iNw1,PmuoJy+y^' vd=$A^@phJd6Ƥ ӄً+h&Șග(CsPr1 M69)xcU :d{@}s%P1 S;[Aú0]:`.Cf)6 % Q<PAwr1&1Y7.-`^\˼1!=41CEz%fmu ö}]ģE ϖwKմ1ISG Q1hXbF‹IqPt]C _q.`p84u:o/"~rxs]u3;?LJɶd 3u*yX9˰yy Yb1Ur"95FohR(Zi9(8/ z?PK34Mʩ>goodtables/config.pyKo0 r(P,Av+eV4E 'C!()Wߏ/'o$?>EzCeCZ}RóXP+sMn1a.{Xdye)̠[ ˄Rh T@} Evs:eU]Wzzqu1WxdLOK |!K~JUC5-4zO>tڝa1}Abp n$G9~f 71=ZxC rhLItmخepjLOc/ֵ5>7Weo:D Q!ưw#8m%)Bn bS/Vn.C/(r"HXkq=ЊGr ogd7w/]l'yi Fzp1)lN^ PK34M_ goodtables/error.pyVK6W 6I [" Sms ^ve!)/!NI|q֏kxOپQֿ/NnTz8r'*)gGA_YVaTغ߷`#:0lPAfd/ֳGf'eه R\G>"%!* A E Nd=1i@3q2(yD T:ZQ*"p@(m6!Vvjh#cM/O(9Zu{_Z6(_h;LE2(%ٻdH{z[s{Tܿm\T\3/ɑӭMUm[\(%U?!/_V N S"_cM-B:j4/6+ YyA,_NhY<_#Gfm>ŌF&D-O»ai$kY2ayo?Ir%i;Pw Ӹg<̶q)ޚ *JdQ8Sz(gpB/C=͂rޥQ ._= xz?%dWŁ"Z^Q}x|^Lex߾nA_ f.pg#'C=jUU+繿ӕS?w^";'fT Q`3*] }I鐎!hS9ƟTCl&77oW?^zJ /}͇Ʌm_v߸ԡ9o͛w8om!=Lio:GhVff^' y[l:TN[mhk W?(ʀ*گeJ9SM/ȶS@!H%!` FI/CꖹbLhDU VY3UPkxR9)auftq2ʗ?~]c͋"BA[HUFvש|&⹣<&8 j֋$(4g*Ѭd'-eRW^hX FamMa|4igi@ 4̴.VNIj`m=mBa=*#ޤlYBf48mZH:w`ByObIN^1d2r@^c6ȁ2xږuY7̈ WQ@ZB}@J ai*-([ZF։|Zꂌ]u`2G) G^zlNK4Zi ~Uޟ=nF bZfs@,耣Pżi0 5AhN!8eaeB_1ֻ9"n Bdr^ttrҠ6 0c%. /3KPVZ!dP%~\[`â\$Ǧ(B Up 1~7Ϭ'GypQ!w-w\S8A[w0J?EߛTCEcAj*=, ؛ MG IX ʨIApȋA7`. ?6.nLH-.z=| =@ejlfu ?L. /Exs7nqOK"R ĂS ``~A*[]+.jz>1VU!7r~e@}#R=S2IHbrM^Xiy7wp>L%n-c;jI8mh o6;"K"=hjJ}lm ꧽ ߃)ݬL ʼkbp6GQ=GsA͔Nsl|l1P1jW;,5OQ p7]DOEdPBQ&",]LD<4"Ŝl^PbѐW1lJm2}Y˔ .MI7$YSD21C+/6|R/*ا1ѣ_}h#S.!ƷE} ļZO5U gB('#Dt$ þ}LVBΞ0pUΥ{[=}:~/Cq~K<)eycsstسX] ̀>*Y6u# e14FH$C.6P1vrDe.j-tOߝեBkkZdj p}{ |nz0=#R!Onb/+ѓVX:f4o14׎3.JiOte ]󖲮} USM|>t/ף̜QJZWSIL$Ol:Džզ&YO| %@&Yzͅf./.o**uvi]zyalݺ}i˘GK/g_)/~/qq {QSWm>PsmgvҌ= m 69(`L DB˘~T裣;*۲g?;;@2k1_)5D|NBn*Ƿ_ѽ^d<:~& e؋} q7KDYE6$EbCTiWPK34M)^5Bgoodtables/registry.pyXFb#H>|vC>(6>>#diloO Qwf_s.ݝSaww,/N[ǻh'8VMqU2K.EEZP%)XȚb缆*eIURHET(imORRePAF,!nيQnq7RwZ=fCj/}Y\0EB;\Ok8 J[vhj'2^`T @tp bU{_ sî([j#DRd( B+S4  IEg|-y.|Ѝ[l G6\GP +. 4Az&ڀ=+EiQ GKի.&_h91mP گW2D˜!Zk8~8Dj7`~<7f9MxmieX&C`[Bc֡F@lyqɦX2 NBp/d)DN?ך!z%{`G5DuIz ˢdZabsH0KXDcCμ'0~ ԝ38V5y@t8JFѐJPPQ˨TEgȇgCIE.Or$'DZMJP$3&l&E%5B:(j,:#qS\Ώ*݈N-R~`sX43BTCB<WA0"GݻzW!cR1aPU}*VibeE>-,P2$+ 3g3WMo ᅴˏ H5wʀpZmzhvEsr?@wl61,"ռ8z`6Yۆw{/tr!&kۡvTqhb&i"OyM2ژ.ixB83:ZV,Z3&.~U#]ʉ9׿w̸W]L"릤u?=8CfGfno=]/6߀Ϋ4\8>fS ]3+v=̭"8ߞgv[CӢ{-N5?؂ ?We/PK34M8I7goodtables/spec.jsonZKo8WbShmѺ{*PmH@3iK!p3C2 ~ORɳɳ#z.˃?ؿYsx&PT.VչD]_;>O[oτ\&g/2a-_zD;H=3Fq ^0]z竦Xȕ xTKxn;}Ƥc`驈ûcVw zd(kt0qnwjLlAq[jcvI߿ľ244IY*h| 9 |0|(:p ?A]V Hdi`d(sOZǭч\\'D%ʰw$7gnBrvFq&N &D< s ˋb4q+3v2i-3V.& -I @v*C0{R;TW i>`W'~@ Fja*E,GFO#H\"J`y,-.(6`iCD'V~Rq'0u!wOYT#FֈIkog: XpY$D?r%惪}I3qDU?Y}96EcTSU*=IM1r!%l.&@qD8"FZΝ13`U1x5s˾ڶl86ø|> \/IjYFʲX%:,~ǒ·Ǟ]"].`[6 [٨1H6Zq3Rk`z8"rK 94-9&%Aa `^ +x2L.;C0U? H3i sC(meR0&锭jor !]m7Ax>x*޻; _øwyq)lħćf_W10P+AڋQJ㌻(A71 ڿGgә1nbb-zK,ܥ?_K{-?*akmQBDv|~|jNC~PsԈQAnodGVcbOb 3"Һ]{RC l]/#]QGwEqg(#u-nGQ7xQ;j rG.Ti">,6CBxg '.r*!ݾra@Tſ.s=)?h,KPADUSfЈ7.XN=LlN6)y;a/\{݁SE EJ&tPoԷ;NLD3aI9WmU' j&yp[2]SloB3ҥ]HJoU}plg  W9ab}"7t.T}?>ܫ΋ +5؝Qb; .;1L\g("]~w>9KL',SS$1R- ڊRg޹-3=oÉPb [}1g{̑kĄAM~Pyr)O$ϜhCWuK E?7l&X,I>(ﻖTK#,_cl2ao\g8R$ɇE0.OIA#(SLZdDxX SXJx ̣}%/E{R]Nu8C:zLS&oH}Ӹi.PK34M1ÿgoodtables/spec.py}n0 Ew~ s C k-4cKsy/=NY.Xܿ Qtn.DryY5fÉUȒ*SgjLJ&Ɗ#8SCx4XHݓ8MlZiFt.4:o9h+K{$\5/IwƦCUo2TuЕ g$ُymc6NEo.՗@qx( PK34MsGUgoodtables/validate.pyXmo6_A$$Cb(lȖE@%f#I%1E"d[EcQw{yͧdu"l]lWbdGj;A"2\s)^z+. hU%ApPU-7LV/A jhO{cB6RޫpX,N; -#?\- ےrr-U5ˋO %l9!(ו ZǏg? |*[^\smn]A-/ȧ= F lQ~ @JZY֩S/oh"IB9ȵj=#rT-&C^kֽb5:t"5O hG>F^r -*n"H&O|;v 9b]#9@X߂ ׯḮP.Lt5rm?h#|֐-NW fqDXXZFL45T[+mT X5EgA { 16 NFY1=E#mfeqY.|9jEif1qu •"XOTO}55;<)dTa?3R}m'%H>Tی a(^\1I^Ssi]3\&}{czQqY1@-Om($CalfeH"'qg@Tm=ۄ!'eY._d (DgQ\Ѕ91hlEsy8IχOJ$v\9ѿSD_9eY<[\V6Y4ؐЏ9l^Iz4"xJeմggKGx<\pSEFP-{V$QN[A,x=H6 `$|gϮ: 6(tA>S&ozp3| d s4LafOPG 됒A#ejjr\ᢻ?^{=KiVPK34Mgoodtables/checks/__init__.pyPK34M] 3!goodtables/checks/blank_header.py}j0 ~ AMF(;l ƍVԕlKlN_:okHo'EOub4x`L<ߪBGevQP;(US5\D/sqJR x69RB9Ƣ,ke,"U:VipyZ#>>Ur8a])v/sbu/TX-/]l=G9'鳵v26eNo6fmt?/PK34MQm+goodtables/checks/blank_row.py}Qj0lt,CCС=![gGDIJW サwOhS L-?/+F3p>95/؀Bl`J\ ٽy4Jv@icUH)@ͯ\s){Ņq?,vԲiѬNҖT$ BH T K[J mslaD;>fm?6N'ᯋx_~B&IZ3V@kFX4Kxr _R`14\X|0УJ{ s 3 \uâ|T-U;Ԛj{Ԇ/_mg_nM3Qh]/bǓf-4]U{ݳ:r]g*uEk=eZPK34M0N/%goodtables/checks/duplicate_header.pySMk0W V =CK!e^kQ#KF!edyuMu1z3͛x:ͅ:]_GFX7a nG# 'YjtƐIдҒXUO:=bt 1\"{BN<~kr4%{X`C)mF/™jYh` tS^<;xx#vJ-f)<%!N+'7Da ƒnb=vF jr>3V*Hߪ%Z2n6`sZ_OC MwU6 >ՖE5"hm{Bf:|y<]k*1k^\XI˦oZ}/69-4+. 5x>e2|5'PK34M X"goodtables/checks/duplicate_row.pyTK0Wrc lвXD, =Aޑx:'k]/״2BÆP'ihY1DeIec TIЫ,FeD`P*q '?. {#T 8gfDT@o-`VɊX;R{q0OP|CE[л`P#e(KA+\TXA{K,q x[ebIѾEJ|<ȫsA*oPyp^dK'`#K"6348@`W(]R{ y>-C@J<+=v l?-pNZzpm$ұٷZvQ {R7BtjO8e$=J>2e#4mhYqBIfje}]:E9C^@PK34Mӏ*goodtables/checks/enumerable_constraint.py} 0E.|`] ҅Nu0M${ 5sȽa1+Іi9@-AcꜲ1M$aWo}*1>QWPl Uiζ!VP:4R 땶 7\{^siW?(v4J84`Nr_R-j& IZGHN^ˎM}ƎhpYj͋i,Yߣl}$!0QU<ͳqJBszk?4M;uA~?mL[Ž4܏ ֲSrsh+9PK34M< goodtables/checks/extra_value.pySKo0 W!N<ذb衇RbӱVY2$9Y(O$n=(Zn”Rj!DXeMW,riPʓt[J) 88:>4w &Mm GO̦9Zp(1s}7"> =T{[F?PK34M>Rʷ.goodtables/checks/maximum_length_constraint.py}J1F)zVL eA7bvv;2IDtwB.9|BsgХNZzpN*S҂|JI%FWnX='_ t_jVKa>$vʃ߿;K!jdg)6s  _SW=i46`$`<ǡz 8s7=`;mWcgMBV{<×1o PK34M:g4'goodtables/checks/minimum_constraint.py}ˊ1E.|`AХ ?mZ J20?5mm˽ܓV ml8VXr[-h%z4-Q26Éc!klB]dn!V123IB)g1hUF2]P]hp#&cρ}O卉%tGHmtG9S5PK34Mn$.goodtables/checks/minimum_length_constraint.py}Kj1D}/l`$@ A3cZR c;$SSU6ܙANGLQ3%IbX*!W5|j>Rt%3M%Ød%^ٴ1T3zRMEaclc|yxK_q|2-JXv.mç!w8o^`[_\?PK34M=6N.|#goodtables/checks/missing_header.py}Mk0 &(vq J+ZF%Y^As}}RhMF[NH[|T/eK~ `%yt63Em[{rzj;;)aY vO= z"6fG8ՀR ~2A>>Y1@*ZnE:)V~$4B-@tRWy J{x M1hIhe۲?5TY}Y '}C$*g1:d?PK34MI'p"goodtables/checks/missing_value.py}QN0+Vʡ "9J#BV7mQǏ$'7- Z:l!K1`shAЙiu7?i<_Eq0<^:V6_$ u8vaRI /z3s7 8ŒJ-?X' ToUg6Eo'2@c{wLw@_o1(Y+ܮVT,hLb%osu1D'}\y ],_U%PK34M9fn (goodtables/checks/non_matching_header.pyV[8~6O9O%`h){CRXp6'ڒs>V~ߌFv7;(eiwo${cvP]υ&(XG%A#skf Y5E+zt.GcIWtg,J{ُ& | 1Y$RBg*E}FeS(IɫDR(Z<^]5kMٓ96'zٙ)~댱9 )R4j hsşfHm\GΘ'6xz1Gb3g9蕿iGA]EC[wU|Mh mۢi|9u%9ܛ uxd\TFbhljL|emGC{\^TBs1Ehy0QHab1S7i Q̓=Ҽ5(Spǜ«|M%^P L KU]`|O:6one"+[9`D83/ 6MbETAcŷ)i8flQʱA9Y _ fZAHOa[k9#|.y9_,}}&! ;e!u`<}sXla7M+g{cp7E25zoaQh#s6Bz[!.9,,~OƎJ(`d#SZ 8X˫`9HsYV*F$ޠ/ FbQ}$ x~ɶҁ6zD2"FjbҊ yO=qӊ(~G.I[LYVߊͭI{CQ+ˡUjPMtDlpZ ǕR`u眯ZjUnvO3{ 塉㝘21g1/R|PK34M))goodtables/checks/type_or_format_error.pyT[k0~ׯ84vJ1־!8%KX)b'Φc}w.>ѭT xU":0j㠕GiVHY{<ݯɼ!1thDoY6z|$ޝh" ^Zg6/h31[7W>AY+mNA,5kHqmx8Qe}oba ~3g5ط"]Y"N=f BbE  ,(\Ϛ@Xwp334Z9<^"Kg07 ? ]u\prQ. ]at14 e?0˹ۥ mZ;cZ+ȭY'CשQ(no:M.RxTH-%t0|?כb=/nA=Z,Vev<[qDՖtF'vFiGvda0^% PK34MSNP &goodtables/checks/unique_constraint.pyU݋0_1pmݢo!=(t/&5ICwc{mW0on!ׅP4ܾ45Q8(/aVkHrwŊCkf  6 Yf,3a^hkKE7IDx{EoIL~6͵"oiKn-|m5EO1w. 7')p+$B XbQյ AY)P地>k3w.G)/]9Zzv8F@A!;Ey -1?! &.h;C6KTNP)RdvFĭ"NeSo49=xI b|RvS4䀆%)40@igw^]>%C\p?ZlsN]3Bgڟx,wo ξk -k^a|qL͢hQ|}z/"857Vq]WuE@5j;rl {_./琒x]*67L`Ƌ=; :OS).jj؈Ϧ~ߊ:Rݸ-.+9x, mv0Oc-mnD >c=錛BqVm 047aWI'LT?2e[x%gUظ`T#o<+C/`y״#nypFiDCޥ]$R%FIiTM!qlߥ>xW D85Wrl+ aY!~=$Fgb{/p߉24$oQb\BSe u6<|ug9¤1/2Y㘦Ro :KyhzE\(әwPB(]# F{A(zz٘rq=:u×\gkحY#GKG2k#.m 36Y0f/c.x黀a9迏PK34Mt[.goodtables/contrib/checks/custom_constraint.py}TK0W %Kв졇=^=*c!w$%qgf4O`JբmfkF=0842b+m=Zt]eQYdQ~sIaQsi4d\^Qü*BVƝ0V.ՊZ+}1z!I|W_߾%ɗ3V헕ꈎSzl!l?l>x 旫_X&I \)Ee,3(z\}E yxԊ@`Z𢔷<ƞk\A"jhDiD?TG ~T[wMq^|n 0lSL)(R`xKM?uf^m]~]ζXS@)|D6Ed~J+>8= ֹ}SMI8pSDx: . Etp:8qº~F'Lov3ݕ4w!<}&!|;߇q]w<e ?PK34MH+goodtables/contrib/checks/deviated_value.pyWKo6W R[(X A(ipC.I1IQv{X],΋ȧd~6'(Y} ^I"Ynt#!6BjRG7uX\ hYS3L 24HU fJB9$I$ܡDnoqC)KT^ OlLҸMpJ~eÁ^o6XȨrHyҰh. QkxirARc8E"A@9%MYV%V3e6!yS3B;ܬZV2HL#uF΄KGu?d9":d LvG:!+sfР͹4ο^y~u}rs7;Qk(045 CaHJ hgNQ?*̷`weٖ3?u:og`߱d% t%PK34Mt?Y-goodtables/contrib/checks/sequential_value.pyUMo@W NDpC,B=@\$]j(wfw8k'%K37L.a~5JԌonDk)ZFbkBjSLS[ɸ&+ ^EDc4|pF0oFY4*B)-z-J)d(Ϣ6 QE$_fE3(q iY\EKJp:KQ?ųj > KD+="a?ոg:&mLS[KHsY;6RQ|5մ?wF} P;d/-[` [!_0-QƫڞWa[])?D'0\-*Ule(D$3:5ٿ.@ GDmALN|\2 B}fsIK4fN2&@$×u}L"'ƭh8C='b:}[Άc[ wBG@ nlSUȎEvw:8k34;(V2ę%d#{c)QLhOTJ%4%RX&3MUSJ eۂv]T]E uRY 2N~ЗѴՁQ-X6tlYeP MzldZ(AeE{2\n]#a4},,VJ&&RՕܘN@!WGS2Bqt =D 3Z8kVQ]$j_;D~NSt7mEŰ f1ݘ0q1+L:!mػ9SQZ%d8,b0ߒvcQ~lqppb=su+^Dj͗y=N?ېnF8P$p~u>_< M`mli=Upߋ,YQ7w2çڴΧsS#W>¸x .g̍:'T) /Ϲǔ8B- eP y?eKO|&G-[w@ӨꝗW=>R5ogO\ #˞6HoW^R=VtpVxs3DttѤ%nQ̲q=|>e5z{gPK34M:E)`goodtables/presets/nested.pySMk0W AvH|^ !Rz7Ƹ8u$!߯옥x<ͼ#t yz.4FM⢕qŇBɯ<*;Vj0:l6Ja3lFNQd_S9hrVd{ #j4߭{#';[x|&&BtQLMLY_3RoBA,f`Lް{+2A\ Os{HMXrsAks^!C-(9\€8ڴ{c(o&Q>*ũ/SEZ M迮XY=ߠtד1|[n@Xmإ8e19Mq~|AE amnBs>>1}줯O+7ÉIV$ z??PK34M,goodtables/presets/table.pyTM0W z+@ZmO=N:ne{ٱݥכ7oF^f–ІjyՆa>5(5M )Yۺ ZZk4ü1kokJ4kOj V x.zN2{ b mOB|`J2%Vhm L;XCzmO@߃r?{dw,x%TA5؇u2Ť>gD.pV:WrIfVGXLQ H==_Q2#1DiXPK34M ENagoodtables/schemas/report.jsonW]o6} kI:}t EhHFRq_ ER9~6CPTդx?8^DKrz"U3jK i m#+RŚ2KpmoOd% >JoξJֺbsV Vά =7mM%oڏ]ZC |Q!fj~@b^)o2VI FF0\[["%|p@Y׬p\cDŽ@iψ*8Ht i;HX^ nLl+kY@<:ª9 u?lc\πLMV J!kdP1ayp)LG b+d0r:YXX|駨"M"p"ҌpU٭_ R d ab -CVŹS մ,ݷ@W{ZΧjb#ZV$,o6&Cn;QHᤝ1~ DvkÝe;ubf>7Zhvpxcaۏ=uVolK;ZuHn#:ۏ"{$I **0T҄ҴJ;8Nܟ5'IЩUʗJ>="ƿ3Dn3{vXRaVNS¾Scmav^ȫB-"~F3)< 7s, /<ґ pσ* s kִ;w7p ,ZA]k?ĶψyD/ g oeޑc2θuװJq8ϥ+G?״pigƃ,~~PK34Mtests/contrib/__init__.pyPK34M tests/contrib/checks/__init__.pyPK34M̛ݕq .tests/contrib/checks/test_blacklisted_value.pySAo0W4,LbavŐCJkL (3N{FOMu&bJ+Go;Frƨ(W8Bs+#CT[-+*%0`R80\ZZg%ؖRd!d@ :KH 6<-2TKⲺ2)Иpf^H=K1B]¦K_,D^3Lc顯 jmqo i-ƇR#mQ͛"bKC<`<>'mx}Y7i{zW1#'ڦJŭl#Z7 h|lAzcǛ\%1hz >~p{U=dnp jw5!PK34M(op.tests/contrib/checks/test_custom_constraint.pyRj0+rp { F(:uAӔlyIC;;@Iҋ)TLPZE*Z8ZYE(G^?7LxcY4Mö6=Z_6cX.v5/a-~Ta[=xLa?ꑴ⛚Q|"\fҒA~K"{(qwkal{do9Is(P;srK[i|PK34M]=nr+tests/contrib/checks/test_deviated_value.pyU]O0}߯hÆFBƒ7}1)e4n-` ݻ/L uW$WɄ89- gJVJ[0Bc+-ETrM/67*uh€‚fzw JK-`5KE,Vy!]bX|ʗh kxL1A7F9́Lkǫo![a=y,<4 A4jF`p4s4h1n7U0+ I{QRH fz 2D !>e_[C5I L z:zŃXJ5ȴ)k0 p^MoT*KA*,)Re vSeFOj$Y;B!G X`5H [a,TVO+]T2Y)곒pT׮N/$WZZFe#k& sk{Q 6E>PK34MBSa-tests/contrib/checks/test_sequential_value.pyRAj0 9.!qJ~^NEm)4Pnl-iB5"Mv/Jkjl|cQJPX+vJ{buPegƣ5YRmV9 >Tz>TydM ,2E:|mP{U.4Tfp9Bƚ[p <λ" Rb!5',`1,TvZK.H\B}kQk)ǵxŽN9p(eAY0]HCI6'[y)[hnFK<(牕]Fj6ǿ*99zg) hgmFg5Yh;癴&8aFYp4U!YM2X#k R7,򞗏`=&٨|>'7v>%. ;3_}O3L:$ {:g'A2͝^z=M%,p1?k-q>MO>|+sGrUy}q{5: ``0V&@|YC9tڋ6^5T5-fO(E_E#6? Y޲ PK34Mtests/presets/__init__.pyPK34M,a,!tests/presets/test_datapackage.pyN1 E K]LsT+TIZTq҃Vb>S@6,mIzc*vRKus?fKL%jGq{ҡQFDSջY[RJ౶*e1uӫ[`<&pr XYuo#ۖFo9qFK %`j3j[ɬٳ.3@WO&'mu$t-Ogj̎fvs;/܃Ug*=&}{ɫPK34M`i/^tests/presets/test_nested.pyRn zli} NŖBIv#vlR {~ʇZ90|9{!я}I[6>wX@=FCc(zɞX"U^zjpH詊UU^Ǜ Veɣ*R>S؁H (] OL0;f}9ѵksK쵪ZXgi+'9JSrˡꝬY2K9߼gtGnxlNIH2b/.^{4.w4;s PK34Mފ-?tests/presets/test_table.pyN0 y k;tC[.0&pB(J[ dI;i r%7k\mz7dDlR>v3I;;UVgmT$gL,XCi4WDլJw b c, Qc2eT,{zWJE,Z=)뼢SrE!ܹjk[1AeXGuzSm)DvwG^Jvǩ}{7f3H8hy2 mt(Wg҇_ϰxTE_փ"P`PK634M2n+3+goodtables-2.1.0.dist-info/entry_points.txtN+I/N.,()JO)ILI-VU@ps2 PK634M;(goodtables-2.1.0.dist-info/top_level.txtKO)ILI-*I-.)PK734M_n goodtables-2.1.0.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫#DPK734M7UW#goodtables-2.1.0.dist-info/METADATA<ےFv^*U* *f$ec{=5Zp h4F>#Oɗ\ s[;JTDާ4ԙ*F Mr$JU2ɥh/8ˤ\iY 3oTy%*%B0ΓR:QZ*Z<$̦58*GJe:⴨dY$8+͠\&Y>fjVDo,4,EDS="ug) }3T"}Vτm!Hdz m,O*#o'yu6$ y-sZʢURZFH pN_Y  c>ȉ*R:d18,kH#ޝժT0uDDݭ)p%ª\lJ5.YℷI1,8l Wৃ^>qSGGO3>i͸PlߒÇݯ/.E!' Ϸ>\ͪ-9Oʤ̤F5ROl"04M%o]T:K~y[ /ѮR?Y m_d ݊W^~٠?ͳxI#>>>bYRp^zRW+ p ( @:[r)AF{[0 !jMh,*QFIgжDat7`p'+ׯEߌ?_U:hr8!~wF~D" gUu3(L_Xs-^d2Ou݊ tOS  (2s&2S;h?kFCA:P˳Yv'VU{IVNHLLp`I?/z/(o^TY!&0'2PҎ="v*s1ˀB2mlJ(@83YCγO_i\?,7d9HK\8<+$8,JD6J'q[y63;YT%e%SsPs F [AE=1%7 ~6-~{({GҐA<^0/ˆ ~W7fC `vmmFkІphn`bZ#=GZVih]C;XjZd ڞa1<q6ælpW!$?_v"IS AԒ)0~n0f a0˜!aL{ƀe(s?6IH84ICD;9ՐSy@l{&^8Uxt{|K!  0Z✷e6@m)ls'B2_hdfyiE6a)XY 2GV~vYA  Ę%9Dl.*w=,0ݿ]>`}8Ѵ2UHpȶt'8U\(KUwU-\ yHf7 2i>YɅ y@Űm(%iB$[ ]94JWApP'^ nO34)۫-D" ,gS2yfO P[tDD!`niRk2|-i=r"ŴTGN.TeIȢclcX( V<OcZq#efU88f<2lE&#hO/ȯ%wcE AUkX\N!y L^Aw@dShwfƱo~jG oYC zŐ7o1a1}Lz@z5#5 zX&OM Q ҹ,բ Xp+0 |v~[vxϒd:q5,*G.ek nfmcy <\L _,.i&!j&e*P +*KrjuaxxŴ}!+KP$ Vb``K4ئܱbXmcvPQx,Ҫf]+ p5f{.jw?X&z&6=RVz7$Ca-T0}Mp IQ9N!` 9!*êl _'s@tbT:6[w +|c$ AqhOο'nDLidiբI=I/\rVͷvM83gʸ3m6ҤMCA^)S'#hecY8h;jLǏap9@L6!H;6LU 晥2&4r&SlP17PʮnFylzg$L X4O8yv6ˈEE߶(_P(Z$vi?/=pG^ipȇARf( xqg !g ~a6  g"aZ ڋ ҖSg fVjl? geP|}x#Q h=.{k]}ѣ{H4RV%HиAvTrVc,iVL!b P(0 բL ͦi0qqGIi$V{nvzOArAfBжg'Ϯf}[CX·R󎀿k8|sP7X4)TyRn+[jUO0G;dw)إI粂jx,S#ŌU*Ts8&S+Y}C5L ^}zKGà '-'/ :1S R9Fv1KoTgC_;܍6N Vsziv6b "d"Hn؈uG fI%sԠ- Xfx|@xUBNfMpVeF7܄CD R_lS)M rm螹iWiUZ(v7'Me2'“{Ɖ]A@Q[nؼP'yRÉ*j p5x{y ^WdGH=Iu$&N:[8 fU˴21~>P7> Dpr#W}f2"Wo٬%zܸUһ<;˱Ẃ X߷l3pvVy֙Й{>~HeHc@ TUi]s72;ݱw':HE{/BnFͻć]w[540߸O4 ^`ӵeN/;Ht5w-¸N5lEsܷuku\vad]l߱O|F[if#Tw;e4BHv @p{r0R(mLئ1.o:ەrYv63n%lI uVV`Qdqͯ(Q<9{qx`aa2 (jN\ߺ ssBwJZ(~Ɋ *aD/s9΃/p )NZ]L]'yR!IPN 3˖2KabǾbAt?G.rz*(?*֡pv.`qb 2&52O)1T(ĥu?T[6}1A.مڡn@C,+cNby7ralħrQO$"Om;x<5on&Ґ~;D-16h/d|C߸X.y;ۢxh8 J?wl_ķ@YNy\|]ֆ>@J WSyX)pM0}9'+uzH mrUe ah~y/]) M-/d &3bZK iħ*ףۚ`0f21 $ D8Eq FҰ??zu*TGTjhG&Ҟxɢ N % 5J`-MQ0 V -ݕPhD!;{ᶯy8ĉټ8as"kɎд.)J5 ~Lz?&U&v-,!;eA@)-:?4O@s1)O "n*Qc{meT>Ja'`u Dsb;RRYt/4 0}G>4OZa`r 0L"3BӁ,$WPV ShYFsLNjzN OkotYqof2 1zKx~Va".N SAZw b}FAvPamN )V6Ih:GzQaGlGRcy+Jm[ٔq\d5$pÑ}s=ya4݂BtIRNy S'Vv6 nMg8x~zn9l*ܙn/1tuHݴLK5觎+@8el5+OPʐF܂>:8 7FMYMjQx1Z}ث\Q5VM|mf;w쨞|ɋ}@R- *T. L7f'Z6ꯙ6m\F"`pcrf2U P_lfO6;(X4Wjj}ƺBMQV%T>ܿ#WUS>)z.J5&8c5v`ȸAFĴ-)o'dL߇ OhOjc$]ҽkIrʇF콻_o'kXqd35'!=D8v`jG٣/k~JǑ=#.jY=R3hE~}at;q|w{!$ ܎b#o'sQqARs#fnL-E\STr{hw躩i1m@xY C kTX=^|LߎocI&**3 &*'eO|IYtkbG0m> pW,$ U0c}- )դ/a%E 5nOmqm#齸Ly Κ @eWS#2xGOXrRbG&꬛8vߠPx/"3*AR3Hl&(ۍ}v͏_ޞ۠(7 mSL$6$Ges3ѳ۳Zq{p.N0 c t{grqFję7/mAR( ƾFs濻bLL6(=TU;S]u?; 6Q=f~K8.cߕ*Jx/j`f,Zdßke-Y8Z³oJhM?WB U|hmWZOϛ],D Vf"@Ցt|7?lyr;/EG>Q7f%)sHaS5T =CI6_ɘTܳݙbh'67_RRu|5f$\Zh¦@ _?ecnM.qmdC:3DžF.DC붂blͭQ̏l L :"{OĹ~vq+Vqkߩ&o錄2@qe~|!0A&F+N{Mfg5=bΚ}/Á;ї40o@aw:{r:JH~ ,a {YFfО.1H> CZ0ّVPK34MVgoodtables/VERSIONPK34M\OO8goodtables/__init__.pyPK34M>' goodtables/config.pyPK34M_  goodtables/error.pyPK34M㪫2goodtables/exceptions.pyPK34M ,xl -goodtables/inspector.pyPK34M)^5B\goodtables/registry.pyPK34M8I7$goodtables/spec.jsonPK34M1ÿ@-goodtables/spec.pyPK34MsGUK.goodtables/validate.pyPK34M{5goodtables/checks/__init__.pyPK34M] 3!5goodtables/checks/blank_header.pyPK34MQm+7goodtables/checks/blank_row.pyPK34MVR'i8goodtables/checks/constraints_checks.pyPK34M0N/%.:goodtables/checks/duplicate_header.pyPK34M X"=<goodtables/checks/duplicate_row.pyPK34Mӏ*>goodtables/checks/enumerable_constraint.pyPK34M H!?goodtables/checks/extra_header.pyPK34M< Agoodtables/checks/extra_value.pyPK34MӖ'Dgoodtables/checks/maximum_constraint.pyPK34M>Rʷ.&Egoodtables/checks/maximum_length_constraint.pyPK34M:g4'HFgoodtables/checks/minimum_constraint.pyPK34Mn$.WGgoodtables/checks/minimum_length_constraint.pyPK34M=6N.|#yHgoodtables/checks/missing_header.pyPK34MI'p"Igoodtables/checks/missing_value.pyPK34M9fn (OKgoodtables/checks/non_matching_header.pyPK34MG'Ogoodtables/checks/pattern_constraint.pyPK34MTG(bPgoodtables/checks/required_constraint.pyPK34M)):Rgoodtables/checks/type_or_format_error.pyPK34MSNP &fTgoodtables/checks/unique_constraint.pyPK34MWgoodtables/contrib/__init__.pyPK34M%6Xgoodtables/contrib/checks/__init__.pyPK34M 3W.{Xgoodtables/contrib/checks/blacklisted_value.pyPK34Mt[.Zgoodtables/contrib/checks/custom_constraint.pyPK34MH+]goodtables/contrib/checks/deviated_value.pyPK34Mt?Y-agoodtables/contrib/checks/sequential_value.pyPK34MT',dgoodtables/contrib/checks/truncated_value.pyPK34Mggoodtables/presets/__init__.pyPK34MF=A!-hgoodtables/presets/datapackage.pyPK34M:E)`jgoodtables/presets/nested.pyPK34M,lgoodtables/presets/table.pyPK34M ENangoodtables/schemas/report.jsonPK34Mjstests/contrib/__init__.pyPK34M stests/contrib/checks/__init__.pyPK34M̛ݕq .stests/contrib/checks/test_blacklisted_value.pyPK34M(op.utests/contrib/checks/test_custom_constraint.pyPK34M]=nr+\wtests/contrib/checks/test_deviated_value.pyPK34MBSa-vytests/contrib/checks/test_sequential_value.pyPK34M|=,"{tests/contrib/checks/test_truncated_value.pyPK34M}tests/presets/__init__.pyPK34M,a,!R}tests/presets/test_datapackage.pyPK34M`i/^~tests/presets/test_nested.pyPK34Mފ-?&tests/presets/test_table.pyPK634M2n+3+goodtables-2.1.0.dist-info/entry_points.txtPK634M;(goodtables-2.1.0.dist-info/top_level.txtPK734M_n Ygoodtables-2.1.0.dist-info/WHEELPK734M7UW#goodtables-2.1.0.dist-info/METADATAPK734MT !goodtables-2.1.0.dist-info/RECORDPK<<