PK@rMGkeystonemiddleware/__init__.pyPK@rMG/Ckeystonemiddleware/i18n.pymSo0_qJh%jӦ>PJh $,;3c[y 3vT psu t,9K`$%tDa0n12輲n+8J/vЈ=!HC4Jl(6VH^m9d| BBҹ:ۆ~DTYW!ӏfd:_M/Iqh#=I!Z`!łeSAzV T>8_zGO^@:^AJnWCxkz/:`b~ŜN0?|~?Z Hu2rOAE*%ɗ;Q#!;ТknzWV "3%Ikφ v1[v3Xɱ>-}ŞfyRmC$˺SD*ၟI yAHߟp5بȝ\$mMZ6y.Q˝#"M b>">n5h+bqRB8F"};&[* Kj0(YMg)sDƖ2c1z]lC(ڲ"BRLjӏu|QR7PK@rMGNKz!keystonemiddleware/ec2_token.pyW[o6~ׯمd\'iNa;ˊ0hȢFRq}ߡ.j;D";Wlʲ/]&ҩQyq+UjSTZ1Za[,te0-2- ^@2DkJc5J3c6vyBnehO!7h, )I&° Tg2B@ @7=bEp:DpR^te[5BR,ˍiR&/,) :K$Om#ʩ)c!\Am+[K:ƭ~+k˳fp6P:>K Jsv;^ק@xD_ԅsy@!_f7 o2{̨pMȣrۖ*x0I l4=aoѴFww3zL<=ew6_f1n`>_F|0R;6L RL&B!Jǂ.`˄^KC,%ki]H3*𼓓ɪcWJ¹UkJjo՚)yҥ Җ˸q$<;gRNWTXE}L'5Vb.‹ʐ}Q@s0.?׉X%JTȓ2g$Z쳯D-eO,,s ʊ51*g9ծRٰ逘BUj 0se5[qox%p=i"hbD[)Ogߏ^R־>LdT.vUd!AKb}Lp`ZvQ*qHTMkR OE]Iztz2aGߤK I=@]Gh E~0h,茎:j^:(N^4J&p(p[Bv@ 6c&cDU ,hQ /hA"73Bou6&FKxRÁU I 2<Ԣ/eӁ;]lGQ8Zj%BJ7< +'\Ƶwt,jXZ 0#l6t':CLeZ6rJ5MEiG% qC(Q{GSw~_@T?i =_%ZEh2nW% = d_'9_A3qPX ɡPa[MlF .TEL>u;aZcGS:؀2A\`ܣhC|7o;qNx^ LYMҬ"u/ɖ'+Se<49NQ@I ٦<Hp5Z ^ *xp8TdU"畯b5+nӄ%)د5/͑ȉLdX!W<ݍHm-@yY|SW4q9ESb" j_w5ers3YYސrq9_ϗ {C&O|q9" $h׼@HRdq@V G$Yķ<]MwVY%ȋIS`ŋjG9KIY2ZĄ1 XRSxو ʪ &8ㄡ0Q9*@Ue5@0'4tٱY:$O]9"+b_H6-j)Ş?ĂlLOAߛyB( t`"< y=O ]I!jI"\ [c 4lI=:O)Ą|x썈/7Kc!s/7-2h{MGSCΚMM݇T=sQ)j{r:QZ'UXY q$zoB,Ne| cu'#[6{Z]t8os0f#Q6ae4u{EΥ32qVO?}%v%RelI/1ܘ Cz7KEF7,@J{0^7 k8:uXz;t.UW&!pE׷f^pcj5c0we3͍@K?Mzz*+clSW*<%O_Z%Yɕ9+H&6/ mONGvNolҾ\bNKvL< ئ') ^' C36ln+p˛6LX o/'YwѤ2SG DU,v[j|v"`q\:z6Q_WC=yzOܮ=x&;|B]l L> M:Lw_wxXhfj0 yto`gD>eSR';A`ҝgY/tYS4Da㶄Yҗt )A(=-8x ;&f/,9H}8>ͅXu{se'Kz6apˊ&gVAXlSt {H鶱6x%Rۛy7JdAV!q`)4oxf㉪ QV3iE < Ldm`ua{m:/tI?Gc~y+FM8m ᱝT`" ?UHk[} tvM#,[7dM_WvSKJxUiL!DvAOY"vܒ{.|Eئ, \HwoZI~CG~i2φi.rCm@5îD4K9UܸaUhiŖ !^tIBhU=Ң40yFl\D+dQ@< &0u<4 4##KWϕ?}PF VI {+,O]$CZVXnVPhhY,[ W,N֓[K=;:RgD9fC1(5IA ޔBit(gl]~pLIl~B&XvPO } w q^w0P  m8<|2HYd&:LԀSuwU#þWmzm3o}?۸, jћ8 u;" l,0]hyA*U ;ZbNyf*hZ }..oFp!8QqvqP#ش3Q䫚̆gg'> {K@ c|^N7JN&[Gҧ {IFc;ReNV E9muWU*"AƌIඳg@DzH):fj{3`qoa J8ǺgkI.Ѵ;/OA.M|%@4E$RW:$!BYAN"޳ 1cK!ucshhA4fpvBrTvoWs\BQt9b10`2:w🯊eF$X3pH J<ⶃǎ8_HoKNnl:F.b=_ Wv4C.7˿Ϧk%~֩=ҡF2/,p);(Usk|ƚ#}nןg!x~mnPʨ-oYx=[\o;'nBǪRʞ Ve и_݆TR*{s_d/ji+j~Ů-u c42WKSby/c5?O_;yYY'Dmv:Vk47ͬo1^M?B=>fSXt ]>Hzav;5ML'̮7kp7˫Yay93&'kEf'<0 ZVBf4/8;=7~U$v@TQs@>_:[c%=t{rO˺_ PhZXt|dwӚ^1\/ 'ˡ |Y8`i$"uז+oP\ b5}9'ٱi PX"^e ^$69uև]n, y&PK@rMG@uHd|keystonemiddleware/opts.pyTMo8W C$t=eу8 ,E-d64%;[2o{qWJ v:wo rp~ˆ9dEgpkр!d3 K.} MGo8@HR9-r?jZLwfIj(^{{sN_^\ Ð6Uc]^-V 1w6R`Һ=Df[) ҙS`㲛UABiuo{[Gz$4bfYbbYoJ٪\. p2_ doyWhI}&RAhHjyk%uzB#Ih4{n}5-k@=w,!"*bBT8Ο Y*QVJ;{>("nʸPG)P_i6.7Y =)ãtRNnSSYjwiCϹ.TTV|oT/T^ iE(oGӅε- YB-.31RWX!s]ʉ qlrqcG#F B,[b# <wj xIOTn1dVs7TaxTb!WRTVb3%D-Ks.9 o$#!u)5\~,aܔr'ML1g?߽?9s)K҅\ JC ' SN$*[ڪك!%s7:='/>~/8=NO_OO|| 6ۉs ̌c.DrJΕBTB[L/t^fAiK 5UM̔%2I{V Fnw=A]yٝ^X\AOb}wx/ߏ{Lt:{'lLeK1+}gX4$ ?ta-LH ,LO9`VľqQB彀$Q\.yU\\eJ]/Z3E)23{um;f̤I .CdM7Ji[P, fUd9uo6ҞH?;ΏgN?'ދÑ~a DuqN;o;_ȓ>F*.]$·t)˛`K8(l@ϖ)7ͤ-dfUwСddl/.~loDt)?5\F2!wQ_FDOczܿބ&'1{pJu,䂥8qSP>@4zQ-D^-/SU=FMZR@z۴1D=XQi%b 4 UVEd ep@4k6Awz*l)=EQjJ z_H,-(!CMhT>x}87z<6X!#Nu `EyI쎢 _ Uj5[jhUa4ū)$n/D$;#E_5kPp#l&7Cq֢KC2cܦ6x |Ӑn}`iK(d;hR82lI>'T+S*N]dz TMMFX[c̰E!ūF^c5~Uti|*ɾk&ZokwhF9,<Ԥ\ut(Kq&R%[5>vel֣@g n4;T&u:rfI nS'r2[dOӎ50xdi$Lu5#t*$Z}&L)~ck66QV1\vPg!ִΖ"W PwuwÍ[o-[<4ƽ( hz^ww7 Sɶߐ4!&:[# M+!>ETA4c 9N< :6 trmLR3 5ArSEjVi1P8:m8,z0'۵s8=[3 xk^(>I%npz BOjd4 e LU' APҒGE;<13{xԫW/w~TgcqwʦqjPu(KɊ _0P+r!rTèD~?,+-+* $ ;'EoB =r s{/>|Ƿ(QLDoF0oa>?G1Nτ򦿦=$YoGWVk@_>jyNXroLW!X 'HjjE7JNwrAx EPZТj^BԞ,bdo]ܸ>_=Ccp- ɸ! wH&~l:Yv_u>3qiG<"rt'uzUGkeWgAxa8Y*<FGn?QюQsYLfԟwSs~+h5 otS Ӷ[jo7D؍0c-4!x[h:WEOQq 7#o=py2:A5+hV/:G(Hlz:|?fư:Ciܬ™i]: k}_؝ Cv]b}ޅ^֓hWLRoS7t2ծq ػQn? v$*s>V+\=tΕz C)GWIt=Sy£] 셜>+ۋ}mcɼ5B ;PK@rMG$keystonemiddleware/tests/__init__.pyPK@rMG)keystonemiddleware/tests/unit/__init__.pyPK@rMGab +j6keystonemiddleware/tests/unit/test_audit_middleware.py\ms8_c>jp[{Jղ 3m&Km)Ŷ 5~ 1Raf&`[~yԒ~s&fг 򎑞OMi_l~HؠjEf<$.'K X#|Ilz&#SLt{Ă𱤶($ێPynIw::U\L;N(N j~9,`ag I C N{–7mO# Xv =eNQd0lPHwM szp& .oUb8_+rzyq6./;һ28kjng_ *dN*͍G&<(iOlMC:ed`8gµ4dYı][R  Ix|Ѱ0.807$iN=fRk\-Id;A,,R ٘lH1׶,*Z\HN=lCA=~L:> ؄I0s&`!|DR! 0zdqc5#'D.#}-kjCr& ~)$(p3IYv|Ek=gTi(httVRο &Cip+EP` $pJ6ZmFk*;xҔ7 0y+)2!}s ?[\xUXm]9k&~J4dmxlL2MF_ qLBHgN4yciO\EQ?}69WۥcȀ6?"X~"$ٸX=I  tCI|uk(lxj߂-%H\|iD,ZP5i.z)\M׻~0/P{U}wtd-)g}HwO1;.iW>gڭ"4(&,: ~=XTY},ZoAFY@mZuUq(|xn=\,+{U?&pjЮ]VZ+\.A-KhGGQ?ԏ2Ȳ.T| 0rs2Q&ZyEY T7`<(3DN|zlSK̲XfEeU0[aJRB̦n+D%]+'|txhu9; ^tWNЩTQ#Rl97RKzibMZ +IL9ȚjP'VJ ]9+#Dmd#Ud́BHliS Sz񒒙9㟗Ϭ#.3*̌ꙵ;Cet\Zn KP@F =A}Nݚp(!TqREZ{jt93>1켂isqOVAxI&4 ]A=Ud,S1x{;A/rg׋OqbͬsM34&9:(ٌxY`]:؂oϝwꉇo8V.fcPTm"ڋސv6 8e:3fOFEj]ؤ:|:?Z _ۿ~kקӖSޠTO_M*xEqw͸ȣ)&R(^G]D [H'#. ]ՃGɃkF%šGR&GWhGo]Kp]xW1<PK@rMG֕Bk *keystonemiddleware/tests/unit/test_opts.pyVMo8W %UbOYMSج Ţhj$sM*Iq)JrևD<ǛǡnQW;#`V;Y*cNh n,8*2p+q8[F7KxnwJ#OJ;- a!_9VJ 8VUwcB'Fs0svMX6Ѧ =OwqUI Z;`%ْҔl + i'T1seK&3bY Q)a2?|&/ m2.&Osli̦diH\Q|ϟGgO\7 TQ4ʁ M)殮2.NQ`@q`n0Cnt sZK {{uAc_:Y&wkĻI;k'$9pɈm^Y)9WF9O*)*uz*#2l-m/'[XVgT[Exp9/+&_izY3 LlCQ,9)ב*V0T˲R<Zk#"CžM3Rڶ %5=H}S"2R'Ju'ˠdLm'Ԟ>3o[m+.Q1t ~ZuI ~bI}˜,ޠ2Mg݊42K,CYJv͡ Їn:hytbh2-$3%jBmt 6H]HRcYuGJV=KqZU_X3 ݢM;&uцE{K: x|gSѴ]1KFZ*hq|V:)y>$bzis{,Nf*Nɸ=uIr\z&o|k޾jW7Zv8fGʵ`I</F1E_&j+uBExﭖjCItf_0h_,/=ܖTӾ[uZLףSzo<PK@rMG)^&keystonemiddleware/tests/unit/utils.pyXmoF_1쩴wαV#$" kr$oMrݥe~3\&)9Dygvfs !#5{LU ?T)\C<:{C"S* A" ldO!fd JX4DI{_h* :aX24IAީ;/>fgg.ف۳d@Wliƀ/DFHgV;-L0jcwBIcm+x&Opr]-|~߮Wl5,al<]M3Zot6RH>e S%ȁ/(g06[zD_N22X& k'#J[vK2ٛ꧕ V)hldsZ'*|~++wmꍊSG˚9eXPDӊN۫E5w^>܀A{yMS@&eIGjSnƪE12> q̱ܓJT(< 9:v2A i! Ȃz^@eQWKZ+*KmQ j)/}1=߃A :FWEyD[:u5Yl=Շ JVh1r'h1|f5Q1@%XͅME?r+߻ ދ)1wA0` Rb?0 (0EErK8H V%~[zvGXU룱1%ϳ=G2(3%9TXv%qasKَfTr ;Oa7:B),9V 5ෝj,O48Pg [e/ 6O0ܭw ?]ԵPQ[y2 rtߍ(@-t@XI5}{cJgf4Tg~:B1'r/ /OHy~) jnWӳ_Gx ,-D m%NgUF3" Dak jetyTtեQKcjGP=k GW\Fݽ?jn6Y2`O/n#x6?PK@rMG7ٖ W0keystonemiddleware/tests/unit/client_fixtures.py\msH_1|+Wq.ͦR46~=# W=O9gzmfZй\;ݽfKbM==K{e3m+tejr*qwO`5x 4-q\ GD5Jp:Z5 YV.E9'|C4{z2{M£>U @Fa ڽ-߾yc&-o;wo>J> 1㹱uC2Fx iX1 w{M~rLϴȵ ;PtS]y1m/lSn0 <0od0)Oxt!>]3(.mPAH<i 2l_ wI405uwُı`8hIRk 3rڎlw0y+pz k׳-Xǃ0T[dR8.g ۝ۊKͿ!џm% 3'.GhĵWc:9 y_bM R ?cե5E^(dbɉN c^q;g?KqAjk_~y(soOhċiM qJ0 O)zIr"D nO,I[yk Ģϲ|Sm: 9== HmC3OjC4vUdfoӥ߭f;dn0΅ KbY3E2x O}7Sʂj6M,OQ?v!3 L%?r> Σ9SC&K+ZdWƦfh+2o}Pٲ֘m pHW `!Nj.`m }24T;7+(-毨$c{fQ f ̍ B'y4( 1.5G0N&:aw94v\ nVϷcsMݕu=d mȹdh|o*6^;{:]-Fx]D@":BfߐEa<]i r^yanL4CDny}6?zx\ fx8A0x*lIyAdC~D->n` n! vL? Njo s1qCʫfTFᅄyl`|`f.)YGH?B/W`eN7哀2Zb3 @, nۻjr6eq| wΤ9c%,\TY_Lu:e,rig nI f{\.d/uΒfXB--}k~a,&^XY,ǶER(.d>*>#C=7 3' Iyp|2 $7<Q'zI%Bliňd)2d)4dRl!GCCSB8lf5ԉ: ot;L1]l45x=O#.3s'?(M.U㹎f8p+Xᰦ|=m)Sv(R_Ω|l߬| &k ?n?ȴmi3 U,I$9}S cQ[+BmzGe-M-PݫX~O,`[!^>+0_35m.cpQE~ suz=:*5FhA:!Rz@[ gR9*H/mj˕:7di~ ũ amB ;dlL \g:x9O^UX9j=W~+1R$=RE|| _Sxα-@8Lcg?KF8؋f# &\IF R8] (g@q'el^w%r3|)j]}W;FPdj6urHIg?U*E\%\z`:2u*E I#HDBA" oSf7P~| Aċd)ռ9$3ř.g6RH% 3aPR%:!q@Pd(TbArX),(#+h2k.ԼڗC#ŭzzRF(hzāÉTOW)>CZ_' ~9r\, PK@rMG^ ,9keystonemiddleware/tests/unit/test_s3_token_middleware.pyoHwUe#Q&MH = ۫5c2qgI*7cm !${󾿜gXsɧ'%#M+r*$K eKF) OM~aR8Q729PJ&b@+5`&YDL4uT#TRӹrډ-F9ObK%:C1!B: i Hy2m%"}C%*!WZI+*/fwD&;cvp>Zal`Hg'qpW{럝 ]1k*`YCMI$,C*exr%ӌNk&LθBk*`/$1qmAFR3"T,|$1A%9oJ$*PLie+iyHPWnĿLJ3?*(Ւ QZ&O 6bsEf< c,pԁK6y1FF`p{`9"`~3 [}28 Ҹ0^nb to6c:x}/˻CC繂_5:0TyNʩۚ>,Yn5SLv%3 2Q{,nNm ›chЂmb8U뵀"qxE5+I57*ڌ.Wjf\a6d*Ԟk} 'DSM^.>69v7B-Z.Qa[iiEjSwjMHܥ!b?!;N~RGD3umOWM5%1UzDK># =nf8 {'K]L'sDJgFm]] i3 g[H:`.8zmsz)!@R98\vi!fT|UB+\#rlYԝuЗbLMtL 2b+|ܖt?6zuE#aRt_)xyu ZwH_% I1]Xz*)pE9 qF .+( v1]tqEp8Lr%4K쪛hȧfV6jh~m Zd{H9v bvy5[3Vմ 7seA B\f0vf#u#IIj_o0.C^ehڲ\:^5fF/X>Q+FAY1Q1/#ˤ5ߣSdx'_mZ?:*dB3ڻ7w =?|[%f #Fm2)lV>ߚ30hyH}b/-yѢH RMulHlVw7W^H23ʁEl5@ugUcia')yIԇ)%ERL^0iJ}O׏'5ja=Qa?tYw5}lJ+gްhV_8RrIɤ2A[W^=P&qx6O < H<6SXtc> o׊R$;5kO¡N*< 90^` "eG*\ؙv?Q'+ZxqgЀ()ڑFO-׺ x$!=]vLٴt (JyIsHn|܃[O'PK@rMGqp6keystonemiddleware/tests/unit/auth_token/test_cache.pyWKo6W detO.rpk4q؛Ţ(Zl$QKRql%H 4 p9REYb4\Fi-t'WXj4. K2H&J!܁ i(E 2+#>T&@OTY$x-yG4Y>sbVh3;N*I{|9/q.KZ0Pb,AP$'f" șAs^T6kSJ3jRlݣ(_2FwQκd};#|0\itc0M\2r63Jւ9iaw5h4sd-\o.KJ9 qAJK0-w~dzQƯVxSTZݔP0]_+ ^6ͽܾCqp}x< ɥDkB7O4Of%іxt[x9 A AU}!uz!%z"aw2jZ7ό_g',;l8ׅ9AI#Bq8S[u*t=lc +3;ګ{ڠ<C~!ۉ䓠Fv` {r.㾌KqRXXtelj~ݶ.;|o\_oc9p3TeͽppKΖPtRt/Ī8tqWމ]5B&:7jj}SgRL]_?jE_PK@rMG{ 0keystonemiddleware/tests/unit/auth_token/base.pyUmo6_qH>X.4& $Ng$YQ@I'$*$(wԋ%[n7E$B5FP*0iCkv< 2\ h.ƿ^s 4Pj$BC,R|0 reV!NMuLp'Nq8Y1ncI\5R_=f7ySBQxA<0S' iHN #-c K$Q"([mxt@|.+.v<2_|Y/b=` w|=_.hWx/=@⊎B)HayĈ -66XCʓ'|CS:Pʄjj /Tdpcis:P*Lrpݔ+ԩC"OcfZíF3nYF`lj^Qʺ5[nZC^c&(E+xkKb3$36`V´Fv'L9v5NzY ^4q[ƠѼ4Uh.I@;Teݸ3UvD*LE5nG&k'.lPqLʳŧjM IS#~vĜt>snO}vWk+eB|YM;bBܠ_A/Hv"?IeӪ&<ӡN'"v)~DED\~;RΝO<1`7=㰋YE;FJhX#ٶث"". 3}aHTPnͨWʩmc:Hb04ROFax&dr+>l)D*|$k&ԁѵyMJ5*4VcxT+>EVC=}x677&ϳȃdtE_^1*WF^Wf?VskqG} > =NeymYܾ$Z:ZNz~TfZ=Iޫ'蘶aǝ X/PK@rMGTk{d5keystonemiddleware/tests/unit/auth_token/test_auth.pyWn6+ ˨+=)|&)bg{i$H-IlIv ,3{CJF,\ 5 ] YB^K@Bp paa d^daM *'øH j'M;`ƻA)f0m U:*K=2-_)c(2(>+(=QۀTR4fMx"0%(TZuz\L0_^rb}>1}CkϳB1p־,9µfwm;[̪>g 2Fvw]UUoFkH &L(Xo;dw<&ny Kw]$*E`~ȑ? *~ r TD:'Q%2 E ;羂e *OP]8Z*&9᩻ $FS Y8h[!~w]b=8`MFt+M0qeWHQUEQܖ'bwNݫWwJ(Y׀TAb Ʌ<#Cᤪ|=MofGln"ٴI2uxm%*8΋SЀсB(ޥ?y >\Jߥ1M500X'{_G:VCz{3 ]ޣ ]TGщ| ➃'(hn/0nf}h\ֳ͛tWw#^6'pook_PK@rMGg8<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyXKo6W ,"\,zJу7qQa69M$0f#Zߡ^#ͣK7o> GX,fŃQi. 4K' 9!  kc p3#+3 kqAHszkoL~>e[_<%Sp\JZ5(RpE{=ɡݒ)+A*`;fuTp@˭)BBI6fVm/@|1'>, &jWp^]`_` եH\ϕGL|2mj!c̷<}]v;*AہUƵ&Hy 3& Je@N lHO->+>24;Upj~!iլy8N2$1.)갱n%`fNU5X!EEHDxOt5[R械Dc6 *3dNXkң7PH mѝ{drMGgsRgD4ȭtອ7m#%n?TaQ)jQtpL;ci ,I.Rd:}Woݞ{֨FJ}Izlolp pQU7ú/K5zQ*uC~/Af2L٨ wPVf1Fsye9jyCsϿ0Sk`{V7AijQw˽g1wj/U JZ/t]j,!ӒSz\vqm&fi\QV.sn2FYln-UW+I0OYT.4-TΨ74t.9؞gZjgkݣO6)9,:4uR v)߬?qȕח4Jaqv@oNj flt|ka'ivA]n g7ׯ'½,9Ph,bHߎSB b\vR)8NfrDBzCXV.<5P}?Iw8hۏ?%OGs7PKArMG >=u@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyYYoF~Xy&C]ʁ\0 bEH.]Z Ғ#vDp3Mj.Dw\$e qI!1$!ڛHCkDu(jY(P$xL!4e R\T,R BIE wVK(oHd`c1nN(Y36QIh<˲܀9O zqlez@=p\N̞zqY8-!;:Wx(ןѤ`W@StJEez%\ryU%#C26:鐗/g9B2Eg۷bH#LV^G*C n/7Qr0Lp^TEx$Iq]VGW,(ceYGiWQGi*8130 ~Ԫ]q"\22{1TkWgpJZ? [xgBteۖu[LͽS@\6| X8Y쓅e$%nyc)٭V;hz9+Q=.>{}nKZ.ʺ;#y-DSX<9W֚EK?.`K%dB7:Gtn"2s6B*/\R|hM%K}nV8jyJ;-umD蝚GZ_vuZfo]iI^N)0+ l@~d#+ 5Ć&e@tɥh.6j?JRJ:e@2Wƴ mjYƣܞq_R܉@(㻭@FNVBh]T5q+ t]3ospU롾_%MQ4x>m+[rUhߒq*O's g15ZݤʍpJlզA_[C ^N:toS?hN>oa3NlpQ<3ҁ$l?4kC˽p$09 eC~{U]SHfhWOݟϜgBĶ`6I}3h#V63xWËWlc7\ueě;sɾ)X`| PK@rMG4keystonemiddleware/tests/unit/auth_token/__init__.pyPK@rMGg-m@keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyWKs6WSJ?&ji"g,L&ÁHPBL ZR~}wAOإfxh1fE|ud6-ϽL֐QXBD ۀʁrgFM.h 9J6Xa=OŻtsww3[L's7vo3=G[5|A #|s4U Hg<Q/*؊J=\:<^HaQRG)0 Un/ qRb(]Cu6FD8e]Ayw(SE '0.e9h_dSjÄC? F MwXare78^\zO'XmdLЉIԙ#oh!;mTD8Z*dTvp:Ui?ivPRsGhWXDGfCˏt ^8к"j@p-DC[ UV htSN.)/v^&.cGѸ=h#:{Qzt쑉Į_Ôheh7 q(MT uٚ9̘2a %En%EbZ@;>?[9dYPK@rMG#3w?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyWmoHί%:wyk^N@ iPzUFbXŬuߙ /;>;3!| sfơ2˕S$p\4Uj&"4Lρ/=`IB8@02LJG(0S;gfLxqtX,fv5=ca}wz]\kPW$=Z 3_- P Fi t01 x 4(1VR?1YLp@opۃޠ?zÛG{]75׿jԡ% E J+;0ĹԍIC0@9ؔ4xJb\r5J1b. 3;+Djh6PXjᅯ $&EfKH9{T&S+Ӱ}Re6ډ0)Vdk3m!@c^V̴EVODKQ*B%s:6z Fu=Tgjksaf 5b`y 񂅋"P/ Qhي`@`(6eU* 6fv.:V!Wf"@F1 n6w `5uO߰_*sy||"LT_cݯ  t.IZԐlkSpm 3xXm!831s6D(Mبj+Ct | uB%_ZʺD˶m o!{:iz)3"7|.$T;4֖[Fݹ_^n۝*~+E.&s-+؄n*dR(IyaiTRy6០y״Jw ۟-N!@qnP3I$[,Cf+x o}>. #)&3fއ"꬏@m?PD$GQpY9/x(9XpἉJKkoI9Sy{TƋGIr% ^WΤJmT>0{n#OXTvw0-О.ޝ< ](\F"OBKK q2+\7XEtT$!l͕ޛ,+K{i–Ѣl1衞sy 㢐ml1K2MP93=|1e4Y w{ywKsE pef\+'#eςڗdL>fvwLA\qw+4LB7PK@rMGDq ' ?o· IrZ`xL;ř3O(Nq2'AC"6:4SXpFt~|!L 2w:E#r nK::<ҕ| 6VJRmI*) Œ*/^ pN\ pR!U3~|5'2?d-} t DR( PfsJdT )3נ6nsKlkM`e K34hT} ûG ,ԡNRw|Cm߁#%/AсJ,;rS +AF "U0FH&6pwGY:e FȽQ7h.}`^yNY o:Z+讕C؅i2!7O2v(%x_<Ǩj RAJ-`ݮbT6``ȢK- &gpFbȏ>`{I&xN&m Fq"C-ǒc,8U82?~$=]XJ,M\Xe3j3eoX0 K*UȇѨ(y06X|)2qrWBΛ'!^xnb Jhr Z6Dݭ=!tǰ*dIE]ʟzÄ=imXIq\9ᯱ5V;c%tjtR620\z +8Xtv&i} cXIJxK%ՀG'9r~A\ w3 n;3 iEI 3i)a=F9Nr YLQ8iM5j͆+TaA$e*<1C:jjŸ^950A&ˈfsR v_L#L)Aq<3Nq`ܑ38 FbwO 3<`V)s{=h/2Td~b~ֻ, u0 9%;3ԙ'J*яR~HUegU6TNF6exrveB_߽+q!_vx>qh;e0#,cYڶJ;9ކCMu(GB;}Hvtu\1u*xP.(^ Qԍ BQDUBBfjTӀvЛFRoȳTٓsc-+ pO ԦQ(^=/x\wౢإU`<-6X_~Ax7%kETI@e&BLԤ'e_l׺$1A4ddxК̾MϷXݾwnc贙Jp(]IAK-i >s8yn5F*81jo4>ƊZJǶ: V#|9hN] ]؊"T^a WH SP-f8*3S:JbU;YaX,_"Bt+ cfkiS rKe ܒ#fscz\r{B"W!Ӄ%38x sYM*c0 I8o/b?W~zq! 68%>U-|0GP ezF78 ˟=LFS1* W~*#D.#^ݍ C}XuUMaQV^.E-F05K,4U"[A `a"4Sz2+W`2 0?kliy1=7(.`5*8׌#W*UAJi p^{U*n w'0Uf/wݵaSFs#1wQG!áDz<&Nf bQD2S|΁E%l;VI0F7e֒x aNjYQ#;M; +Ut ʻ֮:K)?/)Z`X $1U7aBo(vZ:[,&~z6 ){ SiUFbzUz,gJmrG5 X[ďAkg%dc'̜=8v&)&RH瓌SS 6spnE"׫;LR Z0EL+bSZZB&sK6ay?uԏ%%+kܿ3 + ^i*`s !IzD;:kՖL'S=3$ 0&wm;I:*;z9q\ܣ$o<.9x׎?(uo.a3\ٸ%>5»Ů¯<<* ޹ JF{6xXV^2.]h + 5QV0vF~8Q?s~U!\Lu>d/옠Ej~ 3Mp|<(:Q10Ye'`/XBU@ϩ. >Ȩ%/J/S% o ;d>Fh;.S ߰?]qc:zsͣ<:^dtMx4QWGF !OK 4pNwhJZJlYdb|튩~.NnORe["fbj3´8tςjX1JQ:upW7,pq%h0hD7X֠ uJ̾̅h#uueE,UV~cXi%;`POq*v3LeoA.?(34_V l@jVhI%^J rSN찇?:GA]LAfa9֓jZHUP eX7[xҠ D꩏~ @SHg_P $ccN2_ d«q<%;cѨ RYSяUyF&>~3+쿐Y}PH2 ,vϥ -SϧH3py3w2d;;yJt ^$s>q.K!z \>LBE[쉪$;zqLxTGBg^^Fl,)[`]=~Lc[lsΤZ vgEsl>јe Y*RFeɊ5D3~WwX`f=GߋWjAo 0ݰ|eLLʜ(q˩|l%R<>UNGc'3(SOcWވ0$2GN0ew}Cc8-l1wD9ȥbyGwҞ+M.S`QN@'q'$Zcq I83DAg 8mǔmeJt?ObOzv^2ǧW*X_*@Jĩƾ\iɛx!3 7=4i-i "D8G$0=lkMmi(E,u8;LͲjMʲF?+w*.+G@2S( ,oeRP4;`/RZ痒p5VAqNVŰibl,#kB<F[ l5g*4~X*sB/)E_"6T`W9loK(D߶ń9V4Wus ,K&\4!~eg|-3Daz]hiW,`/+>#L?iulbsxd, 9f* ?4D4xun3`%n͢j/E0< H0a2Hd-FdJMHlRb,YP2S0^S@,$e>?dumki_l(y^,հrD;%Ff zȆO_h>\M\ Piq:RfY6{?7jH]oDo#zE>E*,|Ӵ&4Ȯ6O$~9ř\.mnD/~ o)=)Kw^ذ,Xf  aR!z{VsTkMŌ]X2#aQlQ m\;X- wNb708k-i#%fH@ֹj9P/aM1[K);9-)2 hw r6[Q1cʽ2Pbρ4.__yZ.t3*w^|},R~C%sb[%JOrvt~q4+@.栻 S2DN7 nK~X 8-iQȺ8,lt3# +cDnu4kR<,֧Rsy{J#ި7ӟ'=泥C P1_-hng^]u,n[oߨrTSО˨KFǪsK2敳2^jf9Mqj{a-ZB;)%(*b/9g*E),LiEsEY4NLF4Ea~pT&yکtM kʟ xaspA9s㳒n$0MÛF@j9RMP_O&e)g_>Xyt ('@B_}":7c=A4"CihC8T<T)jh^}_#o]Oh *d,i0+Yw-/Dw58(G}_10ќۋ9-dz2syJ=׫E~c}ˣ#"T櫓e0'"∿_$ xIeqMb"bZ_bo? Pt]( v*ǨAyP|v 5D9-m/֡)*aT xNV Tם_Ӎp  )uط耣Ԛ:t-Ǧ,ay)g`5K[rRj{XO$R4o\wV^NST"ºj7g||~8:շժAt=5RA/6FR D@'wu[QEY6pހu`S`|G:Fųef ( Qޘ=c&X1ZXՂ7!e< o3H5NPɠy7{#D JϺEuO12nhNXqcJ(tDT*)mbu#@ ?`eO~znK@h6>"37\'<^Bv_߽yAwBy*{<`{?o7,7Ij fPXC/X7$~W/ "w^ 31)f|ϢovVxלtu{# %&-0Ggz= 5HÃIGs>$S5<$*"G%v,R%Oe6_~=;CJ<$bK@zEI)mB׭إrCIx3,4s"F9KtLW͡1>Maܜ&7Di;J9[V̅.3P8FS!Ȏniix"=VK`#e70XX}AM[T&*-;p;eM;9[@@IDJZwp{X۵zҘ,JMZs=ڟȦ:619VT,«|~LHף=- sC%0#y|0ROD4 A)ZRj7P+f65 ~,ޯfS-e lH:\=GBtSyQAf[t%&ҡWʔpѿT¹uaFQ/X j{)Ѻ,kkP]MbTxS:F%ueBXZb+vhv\l9潿ǿzn TBqUy_nCf_TTxv7Oz{Gz"+Ta!;~ @k9W9- OPZIG=h1 ?w]g=Ng~^ǃx:{,:ět ,o$x:x8p4"tq^usO3r²7"&d0$O{k~QTUkS VZJcB5b"ac'I¯R5wFQmYi3xNꥯ#ԫfn<)ѡIV{FS⍆e .Gݣ[(R0gu9Ҷ4 JO(Qy@YLVԄ\pp|E&5N :dC@ι6^Y΍-F= ~rxݟ$˒QdB`Q +1R}-SE8I9)( _B1&"_Km_+;*YW{ߍwӧTq@S CeHtO $;6@WCX9o;zZ |]/™Q44zBJ]sy4,r(fa9 1Æ?ArF0d'oZy}K6ޟ{ve3|بɻ`yZq-U-8P*8 ՅTP鱅?c,8ah$!yyy?('e]JWރl_J/rzXw14>rʈ B>ȉV߲uKO~ԞR0v,J[F9<¸wpNmD5l۟5zXU0F@Q\|Q>N}W<Xƽ+!NߺmF]rdH?/hFh(*CVx#E&yIT\~ ׀fNbzUPF +GT^3EGiYƉ[-P+2#]R\4`_h vŲ4!O^<{cg>'z;OFؙl ŹIƯYvKc(Fs;c 1 1%LmA2Ȍ(~_RӡEmЇxR ng{4K]Z8?3 ib ﴐm*&nLȌP<0w`Q0"K,$rl@Yߓs"A VR@1w`1ԣJV%a2#Ef4e;*Ń p"kJ+i?H=gޖbR.l# ?v.[Bw1g+|1dLyp"ohbZ`}mUᩁ-0n)_ ãf}ؙSK6aGxr餱gx%u(ʙ y p cc3FgY`|g ÛpHyɭKNI|ajBԉl/@`:YaDn Sɐ\=">] aS@]+Zr ~K:vYsk+KY~5SIg0kEO)0b.]mE?uX5>A/}mt"O fEq5h<֥]ƕuNs9떻jQBQ]B>~G@\aہ́ɧ$amNt (hw{X>ahV% g\-]݌WɒCBrʌh0KNȝe~,O~RX*yiz= GWUJ|ˎ(vΜVU=_l5~s]i.NN::<7_B&JJP1P*I˄/%P<<P}O,tJX[q"Y}gz&Raz7Hv+*GYk>*/ˍdX |LJFo>[Yձ^vTt}٣o5_ Y6rlNKz$J`3.usWɂL0HSʳXxCcM=3kz_Z.F\S JVJPvhh-M]B#O+Y.B4h`e,mVfx XQ}Ζ)&$$5Kr1h ~H[Qѵ<Dzi@m̓aQ !2cU>yJE>3UHY Տ6V`5X}KTh[کS+#$o3eKFٵR>[Z/pq’)$1^_/dF0n`.߅8VX90f&qb- YLb)\!a^v ̙`X]i_y1wwA!רw z!mkc%kSA D^[yqIٝǚlB^/ Y 1%eU+o ›= I$ >o-󪬬= g#,c{; qA3Y+-#aϓC85`cI&Oq~8XS|I)ͽEz @#i^pnK[loO,ēoog@3R1l` ?ãށn{nݛoqT;GfӳC vk'qeN:`:=q.Ͼeu,nN r1OBJ!xhH:JTN:IpMV৉UUFyoeyF#շ,UQqgEC3M{xb9TzWҥJBpsH%rni>BlkeX;2~ ?+?ɘhO>3WOǬKZOmH^BVѽI.5 e^=G:C>i-d\Gr2a9]ie"7,!8N@y' ]% ӝA㦶Pb1=f$9 9"@c倨8E oR+Qư$Y:Kް }``WB̅/m" P)uNc܂~JN@⊔DGmlJuՒi&40X\ ]clqg{^ўͼY?Wxظ8CHAyqܕ9NtӐ(M|_5^# -{9)dikU4^CKJΔ\(CAiƄ5|)́Fg2̿Ѭ  E#WUKdf;s NmCqGwD_Xp-ŔJ>ChehT)tQStɧft0$h>rGzNYG8ۓ+4]ϵ0[)u/,Rh\#K*or4RL%M55f4A/qx,!늷"ɢ/r0A´'>$Jv%)U3˾f2-FYhN)\2Q;*>Z9WV` |骶o\% ɥNmA$V$Q;Fe선m5kM5^3 ~| W .r<~P*7|{h[E$祍RQNN2Xbv'mZ(E)[}ZLTJ6>j+pWZ/H,$|qU_ *0vhԌ6 s##>֧Ϳ?9nUWQ*eq:#^@G^ }H鸅U;hۉ=Ie=|$m<UT=[S!?aRlH{0\sNqcʖJUBg  ^ÆK%{$'ޘc,),Y "LLc#$FX[IzTNAUD+,y6M̄O@q0+|65o{H1~0BfدZ~TidB歟 ֑LjѺ]jm] o7VwtG17ս%\-S9__9`hOP}66v/]V;G퀃euT`W zF& K)t[_& 1}m4d:y=Wob`2@4Ly\`ofAzoPK@rMG!&8keystonemiddleware/tests/unit/auth_token/test_request.pyZo8_AXH\%lq@ypok\.lg{EPD;ʤVE%i${43R(a>x hb~D1 vΑ-/RҋO? ^"Jb"h64 DTPoG4]'

g"+PCHFRG;hIdY C /M-ߓ;($ю21磀BI r(H$8$`}!Ox`(`(lr' a+SHb"; DPz0 !\hO≕ ȿqL0lPL]h$(} nʁR@G3 <|fw+\*YC¾֙5,L R OWq@iRx q1eWS"Nӫ%9Q `yj5(!&5gorTe2`I4w~Aϔ)F˝F=l%lY?:[%Os'ijݹl"{Y7zoKY"7R/vlkCpL  !gVP m2ۈ2U΂Æc4_%5T1HY7y+L?I ܞ֖ޕk,pfZFŠ0ZR[}&;tے-[A=Uj˾6kR꭪()}cley^L\fx~TZ{tWʸ#Z9:ʸ!5FN47[_=.Oĥ4OTJ=JU6깮3>JjEKk?1MhƣHˁZlhr.&s#LOqcN7Y%-۸nB?.]=VÁ*p1r3`.3VlÝ LUߚ/4e3M#0^$?zzݸCј锰w!f;)lkDS߰=`86s ӈ{k|z>}Xrf_Q,&V1-"֪ŅI[yG-$xZ:×Yu,k]@-1;Y!v9[,6:tbR vzʷ/?+{<=}W%tVK>uW R+WyIo"{W>tjsLmM4 7b+DXQXόȤ,U-x)I=åh AP6̿I"9opvz-nLI K7gι0Ng5$w]^xr:[Mm L AY/&;M$zA`L\}ՁW!"ĪUs=qrg|WhzUd&0q仄!u@+"BL`˂9˙pj"Iw5bn%s*'o)&1v ,j]ulus =ehIi矏I<42O6@e./Q- chߴea^[S[<TiYDV˽ZKj5wI ?;Cf{Mj6i:WrB KRIj#{?5ԗ>.@@ӎ'c $̊,c 4Tge2E͌Zz/ecfPN:pY/4B;E.ϲzK&PK@rMG]<keystonemiddleware/tests/unit/auth_token/test_revocations.pyUn8}W -} :nP, 6ԒTw8Y+/33gЗ0>@|L>EhfOD7+-ٺG]BΏU,)>X8 R*E8Hj0Rq\*'V}K஁ wL`nՆv1.VZ0o) %9/S74 91tR"z`GHܔn@Z2m\lgx}v?[.gu|%7:[-_&$ |*ρJO' +c5([`*2Ԯ;~D()(Z( ty,5t6wdժ}dR-Cli"CO-'N?>S#^KlQM>fӓi^usheu9 ҌSy45sXoH2Nh1Fx@Q-EPL C1us)&./&oT3:^79fz|sƧHq!rUa]{frGMsO TNcbѐ|/ ^aόHeF߻]FWP}$:xBM0 Ҩg%N(†g==yN{S֓D8H.ݴ)_3wXӳhg4|9 V 3/~O4%7TPCӍV\/NSE6Z{u> t"Lyue&piqNwT5#~f>U-/p֢#Z^ym^|*^CbE$ڛ%;|^$:`'PK@rMGDfAkeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyXYoF~ׯXH yr%V!Xr05ݥY^K:;)Z=893%X$OgF M|aB8"/FQ7SuD"d`K2#lD/cdՃ>&7o +#DA>3SP9Tr~r\.:<'7XDgz&4@]X: ީ/WJTբUM`BF#n0Mzhf h8!Wb4]2#Fa+8$82!FXY {W4O霑y`"wHD%fS<<*6r:80ؔL!ybky$R$z~W*0eB:hU JU^1F\jMh|5ڏ4,`Q1 B( R&mȒҖ3 lHн>$^a+mǁ?L?e85d;/wF29H7(l ? otUنzrs`k je7ocm2 4)ia85aWEZAcaт8-G!qʊ`zlTs SC0K)'̈n@\JV2)trn#2HJ[/ZUmGg1ݘ68Li'pA${O7iN L> 9sN7GL"CuQEbrz[[,aʪ^d櫣g&F`Q -7֚6t ǐ.fSIZ *m@0+S֢atmbQPsh 7n[,^ SW4r]Bi:UċX}) lŢ27a0^! |nEYv|RK6<.pĤPzO쎇6]JKnxTz3] O|B:Sy8kΆ@ ѥΚA iL>tAǞo#{Sh 6iw\B-3_/t=}mASqL]"9? hՅfnh")τ 0COROO[LR-q6M%ss6l8v˗˛A(fpu qv]|\wR8F=. _hЄJ R&L o]DOti)JLer8$̵hZBKq:اnQ}u: s5O8ATՂ.{=N ;+ 0eoM™A'lI,h&aH28ő+l\X`R?P (ŷxk^7:*#%@y29gSFcIwio]R=m+Rx>z+BbQJ'&G0S `7 ы3+Ҫc]^Y\&twQoQ41\ܫuE:M3E\Q{7V'rfuQFT AY27S kT\ˆ(p60z٣dlg|?}_ V;NTY7JvxipͭhS{+^Sa8Q:kmmGAEQI ~ {곓i;rŠLIna'+TAI%rxCR4=:v3X P5B GC(*ڃ>J(ck}9CW9i<_땛|ުj"K7i: Zy!I⥑ 5ЭL^_6BPLٽ~O jעFbuFX Vʎ|RQG欓9=W#(y*48<|E*hrٝ6a*, ׁ6ϊS*b\HE7tfʯH(hv. *uITOzr䘂<@3&PLjMbfFx{,d8JL)?=J[fX45+ߏDIj\+T{{џYnM#ymYS()V:¤6ӏՓ䮀!d|5rŽw(PպY(c#Tek$<( fA+f*XB T:gdfFF*ʼzfD>ΠR5y{9ވ!>rL^]dzqXI=,XfjWL/j*YmReNRu&VC[9G%rW @O44v5ړ)`5‰AKFhu*YԈY%\S$o|@<}ǪX*_8}ě:o: n?{ߞ4]g#wskɦ84]ksr[CLuD:<2"cdS9,_WhSP^P/nv+׋ڹ:yFn^4Yr[iuzh:`$P]SqV$.7O?ƥjż=' X#E/֜E?&h&,I9YzHδ62("ʁ:IOS.3 vOpըfCӮ YSbKğ2`AuO$8| e|Vj2?PۅWēT_? ʍ?'TlꏚEȩFN&!]5x:U"{7&F5RHI_iMћ_mҭ}3yO$HPK@rMGs }I&keystonemiddleware/auth_token/_base.pyeAo@'Vrqch6(T')ZÀGdw(`;RpY{olCv7;%>My57`o @j wzE}VewldV{:<~;r9cl;).Ze؎Bf`zV1;3y֓Mga.\#.5俶4{e,fIgRiyoJzH$+U|ɟŇs4xNngvz=YLn_zH İ\"~ю, ɜYW<uA׌Ŗ !9Л %$gtT@!I-Dz"T*"$)a@7%Bst/?wl)^/a+mDZDQL5Mź\gggW".sQ x]M4YgCmd2QfYgFj"9qpނ}yKhzP-*w)!쭳3 `;MŮreUnĂ,|(wh7Y<1s/=.{?XJ!rT\ؽɬbI.xUHޱb]vy!75FSI-YKQn>ibjU  X9Z1 NL#n;,MrV%oR`1hZ2#`>8mPbw/n/k6ikLh:,RA1̾2ȣǚpW Ż4-W+@2]ȬN Lo7,eY&^G'Q ɥXBc@erMHC\2Ii&`7b?%  H)zU_B"߰ >3c"ه8%ѨO |3rPMi#ĭ 5-RAjka[ME0à-mᵲk6};ApXP_``]5O^Gqe6kx-ƟnF1quq-60R\L 1Oa'_EgaNoP>upt<ųo8-N ePxHsMvpλx^a40l(b;b# z1!P-Í͝nRze''kqqԓC3k;HR(%RimڏS5$#`-z!,:_XHK9&u{W:vűvC38*bê'^ZL,$@v:~ع k_%X#2T# -=IAy0ʷϝvKv{&wa\-u1k!x sOգ&TCH:Bb )Ǝ0k`H~qR+^*T2$_PW&6h tӆ*jp&00ӗMjĖK7oc1ٰuk3m{~?> 2~^<"a@58\{jb*#+8{ۈ%_6T 'X, @4Ы#"{sN@yu)N!K:s *Ԋlc,4 yt̳)>lkGB(WGdx~MoIVZ;0~|QnٺV(OMpxdDkc-/¤䪢Nxi*%bn UWN{38ې.d< Q #MXmOHs-310l$I~]񚩩=־#oPKArMG/W)keystonemiddleware/auth_token/__init__.py}s6+v$4lvyUxs'ٜL̵Dꑔ=T/$[FnFz[f:zgWZWu2UeTߪdf GWÿmV6ʋ:T @dU4ϖ*Rgj]GY͊z%LEY}K@, i@گ᯹.JjB~nz}CqQ./]K=>KUUQ{06Jր,!*(Y D,_IJUuM7C+LnJ*_Dߝ\FǓ˓Utq^_/7яףH`y]"E 2JhWJ9( FZY6f0|I*ZaBZլ,UV;TiŽAﺸSilr}wY.w 1-wC^kGU9AnoL$iYTUWmrd*.b"p*U1 tf5#iwB.cH77Z& JHhU!nmRIΰY,#݌xA-ՂƮ DC Gh6rfF qfrISEÅdS@59[>[2!$ TG(OV0X~E@3XK5G>(NKYYnKսZG;jIC5$6TmZzTVN׊H82`rIT>+|2í_-ӹ6@SVu^+D V?XlXD~?{(뮛y2m6rR2gyl:^]{y 3^mr~P*oP?^Ǐ,1DRVV !gi0?fyJ~Tf- ] Xb$-i4h_jüapH ?J\9Y3K=4,2l[i.A<d{{Ȁ7 Q,SN`#-V( yb`]{77nnL @c>ùa,=wz ev ߎ_Qx(89R@Nʛ"gJ `{f;1"4v4"\)ŒsP >Ng؈&ᘋM\nr$Ʈ$NCb@ eGw7LM~-AuxA䓐MrcN;%ˇd[*yəh]<05\u(wbLi#K^/_|n9R9-LŻ9̪hoW*AB/"/5% E]dsZBDNg(*5EYb0<9;P^䩃ˋ:;D@:RgXBA  zd5u3VA>}%zǎ&q#[ժv]=|8k MtЅrFϝڬXNgIos<j66-Cٟ6B|m>BL%;lR|B4 >{_Qf"nn~XK1}' roj}JZ%h/QcYRAC@/ @evնiNOO^|O4?eŚQ_WB(|oظY<͖O`UY RD:+݀`mTfjDǨ#]Fށ\ 5j甆̳O7VßRFv{z "`~3;\2UIPC4`,hX|-%38 ,WDR1VXWt>;?97ZׯKZdo(-D(%j^"Ea,%B!$i}DLE,O|M.ΌYCf *Zk^rڳ22S=0DѸ$Ce02yEbxS9.gvx]~C7s7N YY>[nRS܌aN3#hLDП8 3mOmSoěGr?%N*x͖]n\qȓ_7b\ L$"IP0i I9`aJSp3 mgv9J#70uhDR>QHճ鲘)O:DsBOz"$9&CQMO˭}7yHqO&'p9O6KT5lv Dx=@GyKf""]h 77:{*%-!ySbaxԻzuOVZ/mS+) o+u_Vj5{EPxjbt`KØ;FMǪ]%p?fujNon*H,zxd K@UAD/41po ݈n':hP=_Z6΀ H0H+V_Bʭ\/[4˓jeoתVJ Ϙd6 eiU ʺ1^.fiɿѦwBMjYLXD ;` &Ka\-&nAMi ڴGnKZ.&mnw|Oi| Y_K>{R)P0I)H9-{MQ4y{9?,=/LV@97x2S,HK݊ ꡖdT#S% @dۙV-F+@Mʳŗd~ ӛ|Ʀ7*MY}a#,Z~dI4 Jґ5$kO^Y%9lq8.@emW06 GVΧT|y*y.nLދmK)~XSbImN =)舁1QBAE0+8?ib]d1Gp|k0z3AZ,׷]re25;_G߾x`H݁s6kdv\;9NHhv'a4Ihzx6,^ۗqMj%40E'RV`tl8Œ q1ȼ5 ~[Gz1Io[܈O:tD4MK] uFQTyMd@9GhM.E" ,@MUSk}Z9Nt+DEqaP7U%)U[񯁬aB01/U{z*Ed>II5qfI5Z ex 2h?[PwRl|cpqJ45m=X9.(D]bS-v(EYPCIe,[TNa |^RJVa(^~ue c.r13JGU> GSi'9Q vi&\\ʜf[˾iKi5 T=|LA/Iy{tUI|> 2vbE@o!n;+Jv2ĭ!k4t7pyCYgvT!f;1a^:Ulda>z%):'fhx;B jHi틆Gf"*QūƮ٪պގl"J20C}E}`L@ y"qr(Pe⩖5C+)9dsmFGj8oWK*3T ]t6:Kι"KZ_xVжu9^9< /`+<>__"xyK>g ʢNSJ:(mk{^;eX3"PƖj{PXE<692J X 0Δ02wceQtГ>'G1OU=$g: !gɜ8]a& $=)KL?TрЧ*|xQ_&E0ֳFמ$AuZorT]6]@OD=HBe@h+zϮxg2\@:Ts.sTwAE޾AB0ZkBǬ»w%*ݛ3;IXu OQeee2rxiRhLQt V@zq;NAXihi* AȺ4#l̳(T"Tx0r%"ײlTfwEawxJJԀys/Bh9T%5PD-Rr{&.Pʐ`ccT5yO`=}#5'r͎.6VYlZ4 ^Ƅᢉ5Ȏh®ۤ$nW5OUmyv &9BW?p tkh p` ݷ'<%--iG Mc; cĊhm0}VeU!lc7b[cr5A} &fB^&P8@XB4= CPV٢d 1:Q6 ׂ[cdUty;ET\6CkrRl [ApinUr(e1?M:7+0QꍢEYltacf'%gN~M^|p$B#m-\ QW4n|zـAG4㫓ޞ0}}ߟ]_]:s^7,˳a|д4o~</*we`Gr2gՠ  9.od)7jf v.t@a6aQ@:888O:Z$YNAYR1;PN7>2$fŠӀP>ÏsB8#F?ӿX\8-a3q4FI]bZ;|ѧ(*bl\D>7@oɴ$MF1Fљ _:Pl'6\4=ݍ{2?q !]Crw=E9j dA5jz74*?YY;! R <6bNBF($]X2v5ɠ! GhMW;6xۻ#dWA7yXWѯx)?eaS{{7z;!r>]eю28>d*eܐˢ.f NB͑+֢JF(1U@>Z'eb$'չ\a|MAs+?|ID48nkD$ S;{8Ě,UԶxZU]-2|eC I4ҠRy[I% | T9;U{.7Dz%p`R܏'|>oLD&"o6q}9E(dOM(+I(SE')6]X'!wz5i;tD@40<0"^2l8GЁd+h̗:[OMơ25(,5 pܐ\58,ORmpS':M}uZ` 8N\z =֭/ Ub5F66Bޤ>2F9N Ǯ,P(rH({4$eȴ33=BJ <`QTG-]޷twEPhw{Bbз 5IF\͹Qu-=Q aBi1z&2}ƫ'GK::л̸%~s΄ nS̡@Wp(F=m<.:K_=C`|=Og'sngߝ⠶'8<[~Fn0俘gPmz~& ؁1&0FKz;k*U@O=@Y_f`jt/;DkA6!oy*질OLRF Cj u sisѷV1*`-\!9aפ*Ёv F/]Fk=Γ ]IC{ǻr&8ԋz+E@Sf'N$-PEztrYZxP`ZcidLcO68" M b&yc p l&cj_BlA`F3 Bl5Yb1p'8q+Eyl 46H}c&c-["@IYE=Ne!ֶS3vkM M*RJ ibHWS4k.IlYIf qVՂo,ӳB u]Y> CJ(G{:ed}[?Qs!e b_k!&IqrMùrܽt @}g;c~w>4 |~G4q[iQPv,pvL`BsߙҚ"p GiZ^k;<Rl9eJGrW2/}^,:n/4`,]R3눵nٰɦGx}E@6B*WF}) :\F3d㓭qk>\b 1)5E8Ɇo)USҺ)C2Ksb% T26yj;D3x.ԕ?HH-Jp=NW /kY[7AZT|\#F;8΄7nj}t.jmpj*wuf낳l )ĕM~W6\??9==RM"yGժu8qϒa:7rty fDM3[2NJ ׺1f6"_0n7X421K%Q(djPPJtU0WX—{ Xk.ݡ3YW0ۚD_Rg,KŲ&K;Ďh(f&ԁUE~mcW*O2`#vV20#'vP5 YiƠO6_]:`KLG,G%7$'K.0\'=6Mf۶a<~?g C:b Ioeĵh~xusޓ'g^bk}f`j^#<7 SlDsp50T~h$X1wBG]sIYfzƂU1A}jUT^rp$YȟbЃԑ҆з3ō#m` ), l%A۔qR8}@{Cjpdx \8;L 7Q*>Uͨ;Iuʍn͡,!*l)FLmrQ(&-fvoCүrZǺV qwSI]BӍK>\cHih1UI®lgpbfk1vw B ;wAw L9v=&w$ԟ-.hlKj:5ܞIP?i BUh{i1RXERKyJVjvY2MqRyS(Bkyjcjqsl'^{b>_fҲ-M&3gjG;[{Sg^2;h^:+czw#롙XR;<ٸ8EH`=O 3A{jWi0 {L!L# ꜌ @p݉omvs:tN4`y-ZEN.[8'D>6e`{ 7e̓%JmIt6NN#??3KjˆNKPߒА;2舊z;LD`[{Q3Ry an-sB='0o`mܛ#k \aݿ ֚b1DhvHDa֝"#yuDWw&AU3C?fkN'Mr1nbg''W/'o..߹OLv6bq&5sAҫh|1:}wUۼN>3D{v6cȕHOʩ:Av)WI`:Y'hqiY16d 8;ɮAE$ЉE}}DL& ?C߻+V҂T?qJHlire !,ESpeƟ\hӿ|:4[mr1&e2([A@ɓf'y[k ^&P0BN8d $橼Ւk}&!s/$lT`͝ĉg>J[Of1S hc|TZkfY~WlrЙ;_s85v8QZaX*ݹI]Y7pnz4PKhSWV'0nB^eL4gmF'[tFFנbF N:`_l5Z{1@'  o˟5N%|E}#)F%$k"{%C֫>pqT8J]('['݂cծrd)yk: raP l.H/<*O&tPel!:H<࿌S OJ)>ވj6')>z,uh)as6[؜S-`Hjf!cSwGyb}3gd}GkwDYZxZ=/uvqQ.˫o_hʅ?EϢ.wW'gW󟣋7c4N =Ng٧`;bdy{иI_>;Pkz%^5+ NS: T|`e{=Uʘ6'M4]J]c݆ڝ>[tʧuԡc źe"LRd5ٌdxLͨtOFɉk23lhX=(UN-'Cf|)x=(:+bV1 HKMӥew~u^`d%G:1(ȵ2Y>(h+5lEP[%Pp_;Jk2xHFayq^C^=EKX韚2^2^-L)x>C/dUOhX8q4y>R`P7!3cn!'wب7Z|D4sܡB~l-P};|ɖ(,@5p.5M֮w"CDr 㡴~y/*WoQ?fYo4`{[L0_ŗ:5zW-/8S@ͭב"W`-8>'_Г IEQe6vg 4.~#t|`Za`Wjź -YZ9fApBQ~k"ڐPcuy Yj꽾BFwfmz)۱v4HS رѷ%@}0O ֣ pUp;9/NnoAFvyZ>ͪZq2 ~s`whI=#pbI+sW_`刺*xhf(Aߥm/ʎ&K1=JZ_ ^r.Ei ~;-22;A^`5v_g>_?y3i`ê8mGyZ _p#L_z% *rlXx䧅S{ O#Zl ?:DZCDmץyqc&ӕ Y!b{\/I$kݜrZX#7r)8HsԽYM,Bhl]қbԒ% ,l 2բ't4[aسM1*gQG=]QyJZqPK@rMGA -keystonemiddleware/auth_token/_signing_dir.pyVMs6Wlt^2N+e,O\J)ȚL{w!Qvʃ ox *C0т!\T2?Nuhx[Go2 Up xX8$P%>gXyP23J%uT~ViARxh R.XS ^Z啞&L"y~Z=Jo@.&0$[º&0v8'=2ZQ|,'y J3@aBL*t!S tB;W^+/=^RiP@c=f:%ոnȽ[{WSAPX3'\9o4UMτ7O5`vza㖀}0S״D  JI在)$ycWyJ<Xc9 9,ܚXqJ8T"?hNm4Lq+Xb ¶`]t:"ayv%:uMRa&U0V*\9I]uZU-&dh=+Kz GcNjUJa;7=DUh'KQ{cj3XݕfIC^0%ՙ0{ͨ܁/{hǝ|tq/W9v4!tE}j OF oI꿦5u…/N?&ZқD]h9w;\-O\L*P'=>å*ծ-+R=*Ҧ5LEǽ"xS^{3Eɕ&0׋"עjQڋP_Lomh*N){ة8RCŖ E|6Saf|lN oR-p-@%j(mO[5{]޳~v?ef{Z.߼}]߳7avw?gL@W8F|.4&%c4-Z $ BD2R˒/[柄VBgҐ5 ؋Y*3ioP*VZD0J6"Swh\g"q=#{kՓg&d a7B([cs%[G&8i¬2MX=lUƭLAⳅ< R4*̵i%1퐲؉= 9%i\BgaEV},EYO Tt~s5⤙r*ؖE*qf"aTi2|6 TxnSw|)l=rq cTT4g $y{Y{^pͳszY1Uf P+B*!a$Z-%-DKH*;4WK)ܭ8Dgh7i/1 XiK!0J'mA!8;DkcoT8ގv8te% ļ9ȨIsKc/gG#,Q|wVU&$ E{W:D?,'Z}խ]~TYQ/`gV ^s|2j&Yց%6D|u;Db\˷C*DVW9zȤ;Ё[;V7uVFaDT.U+qሌ26.ѝ YLVx2=Dc _g86=Mza̓ǭ #ly{QU?RxV~Sx=L\ݺU'>v.?a,"[Lj)7|;*-1% ~/2Nw_k;9yT,k NC}*}/ >׳5ofE~_7O?@$ЩH~c7r+j5ne=5eS3pu#zPONkK1lFJ ?5#o?ܑN{7.-CU% ʍ ACB!8u9!C6Oa9֫QqN>Cx*j;lp %͛y{s,* Myÿl. Qn4WzX-/{fWWzq\vB"/PZҒEt[Ve/ Zb4]yq_ mn\@߄7B'Iuߩq.{@.lQȞњ,Y{ ޫ# gc&a~X{ _Qo2v?CPK@rMG{ >-keystonemiddleware/auth_token/_revocations.pyWnF }WCdԫ}*F6{X0h{6Fqb]_"ix9$9 ,d,F 0ED H:* '2e0H&L5܂ RiHEGiMe$/ P[+dFkˁ |zww<JR-w|44[HMnO r-LHgV1ࣖVf GX-dGA(_"l ~ |oX}ڐϳr3X ޯjIo0[~?@\3~)9F4êT ɝ(l_=^(Qp5 !;Yx9TB,,Zb ֯xNR$?g*Fei Z͗3U2Ъgl%ʀ 3᧳煋p_.H1 ǞE?ዊ,j#;zLqxdV3&s1 e&mE KĒ{.I##i2J{R&QjB:;&D"#nrD?ItzIK痞RR$ %̵IlIESu=+ѶJܹvSF$3+ЬY>;ϐf* 9[$WvQ!7` +73nү[? vHh/ǵ8Yf:;Ŕ I+5ͅiip 3wE*3qQ3^}.[wjw^,NV^xա.fq|m*}@2EkQ^lQhK,'hgrVnTݫv0ѻ]zUyD^zR{j.<#bY\4cPK@rMG &Τ "*keystonemiddleware/auth_token/_identity.pyYo9H^xuSwNEQ*3f<3'i)ẏ=<<")"9p#<*C\~0ҕR(K9 ,]:Q[vCiHGBZc "/Ɓ`a/&oVD%1LLq|Ϟ{mHnR=]OϨ HDH<X y " l#9KEz$G)PZDW.Xg%̖gj-Gaz{{BY&dMpjv;oo`2 9G[6)?*)Ȏw`ҤV: {b-<b+4%5za$5Q^o--2=Pu42z 6%E&$`qP8M }).\B IGj:U45W6lHNI;-O}[I:q?r[F}oTWZUe7EvY1HK ɬS%w1trd5:+)Y깥q\Q6gggzRR;aj 2~wWZ*rBl m[m`Ğ=dwwjAY Y"Nq<M==z(,nj\?DV_<=ZaK1AS:F)a5S\q6/icܕQK*޾P9JDN?|K6@HuU [}|EV$CE"E=yNe⎇~ `"z\Ojx3˧߮l+x0z-\Hh,DŽtZ<A( hĀ^=AyMK>pM?~'T>'Jy@!bn1dEz$F,{v"JS4T-C&.י/ VqmLރl}D':Ҙg@7Sͮ lk. u Ϫa2왺4ިUGVej9ISۺ*7UWn;$9&R`[,ȱU9LqYf=SEs*(<ae^p b⍖9z-Jknޫ.|B}5-}} =9~Pоɖ˪muF9#.JQH*Y%5KB2kSd;J6l1jfE@]Malub-I+٠O)Lĺ'\ 1d.XZ\t(ot]0M5cw;~.z c.}j78f:#`ZmLwx>Q;FK;w:{"3,eGz2j Alߨ3y[ȎWV2)aX5-1-)njݒSf"ۖv*e~(0u6| WtPvh MxR023!_rGK=.vJLXP$ΌN@shPCh$ L̟n{>53!bؒ!2+;Hq=3o J)>_NP UI #_EpD"D"AdkbǕDu`U.4yS#d"zFJEA6 ʖ&bDb s J2d#mjq0$C%3lT,?Čȓ)Zjc M: uc7r^EfPF?ښ*EcYM3I>&Iи~dZchl7"ـjf0dLrqC2U)T Aϧ8FtK-NJPcU6pW<8R8i'@ԛ>ŨFr\EaUz]P# ^YMqS* Ϳ/Ӱ}|TnQ;kao(Ijr]>玚>G9l9`WCO!$0{UXZ`tEQګ"<2uHZ0}[>Na~}f:>+ǀ!j mj _U Šا*2j(t 3رfZ-QBa>~Kjfy^Gbʙyr Ɔe8F Zy|W=x'Aִ p@~uŞ(ouMѐdn5k|) 3uܝ{eU4=Ҕ4;Plv3Knq|NKvP;m)SM)亻%x/+Ds!M}-evִ nY,=xS"KiW;hJvzQU]k0j{zb#jՈn^Eqs_;+X"`HYg!;* %&'l.wB>^pw:2p<;7)XJHg$jK+me.ֽ?鴴h~lnj WO;aA4bLڝ}Xbgҵz+c*RI:Mۜtygˢ4M=Sh}NdYI+Ḵ1⋐M xZMF(<}Y5±Ćz,2w q58ڴhY!R i'VBhJŚ/L/:pBg~9˲=;h"/u\rF( ˒2%.tUle;;I%n);9*7JܻM _=!}C5:㧖M#x*Žȶ?(9>!֒R_DPK@rMGI *'keystonemiddleware/auth_token/_cache.pyZ[6~_AdPe{+f1z'nkt2 2n< DȢJRqsHJ,;kX\?LF.s 6x_Δ}HU?1.xoTvpqJeYme!xDe,YvU!y vKb<}r,ZY.Ka}:%ܤ~p6Qzp+~ 4&_Bô:0^B_3hBZZYn̨s-K.rUێzx؋-_Sb_هb~}`7,wwG6~Yܽ21Ҩ?()ю"Oؽ@KZAr Jdr-3WFzJ4M嬐;ihSTڂCJ+l!Wʖ-Xkc*5BK^?!>UV&XUB^mjՃhSENe1ei{xUJVx$'ZSO.UX!ٵ6AJHE.,Eb O.0)^x53bpw"šg:p-j0,8{(վ|UrIP? j/-fWk L]p9peº.3D?h)-2x7ڑQ~+,xUʮ 0aa~f#8GEe/!?(R:׺zFu$WoÊj?wFD"[sY[\ŝ͒;#:(׻j78{[hG@st*E&ܩgvo3#dr'`P[<6G( >e 5POu;1'n|F{Geʙk# =Rϱ :PO&gCf(b\sSeIe>ePyhxϝ(+3:ŪތGX]S𵘈G}u}'z*noWjޕ-wƦ%%6YZ{Gz2x? kwRwUi) 4 63 2^z"65L:<:GDf)mD 0+I_K m< nRuE- )+? w/Cjr8ӌ`iEhV;׻C+^v~P4h*4PBeA#)hW.pXV ps U5ሠlU͘BOX9M GMpv:~ TOzVȬ/# 7:z!3o Ӗ_u[~KK]4hkqc%p. 4T iN7ߴ]XET?3r0qfO e& qmxҝ(a8Q >O-o!ÝCzf_j:9(cV3L>ܰ.ݛl 4j="xMeHh( PUEڦ~ڬtqЍW5\ǡìD H: ʓ:;?8G3|ϓh. =eKʲӧu,j%ѵfn2_{ҵE]qUyzò;NBZg;,р(d |qDYN2xfE%ZO?D*XOZy\D Of&X Ʈ8 = Fd؈A8~3uդ6b($=5&?6BD{kד~Ev!3 BpiV^cp!gqDύD`61 HpY n0{〯sL#"E`!j(\*˝@ 0[Jc!dދf2^hA$'cVȀ*AXePp_aӴAr4-wH?vD_hgwtg%BsaUw@cNVj//:6zW D`*fqv,}VُV96Tm"[87hd^dD3~LFfBãGb 8-whx̍/|>c?;&`N ]Dp֕!c42{) {גB!&ާQf4e͇O^@e.Yg 2=UoT=3)DCZS~F~e L"FnF8ܞ%8 |:w}0( / 漎~.b|4C?kg%Z>i_; V[ɻhvrR$M|#{7]`ViΙMQE?BZ:,v؁yxm,ǣ qM_C[ k*ȵ-&m^Ԛ9o3^' ת.xKYSa33PK@rMG'ޟ !&keystonemiddleware/auth_token/_auth.pyYmo8_A(l^%M׃Λ&[Y'H݅CKFe'o/%;[,΋mB;ܞ9wI̲Hg%:"4B:5c%B ) o%W f4o 9|OW i<' |˰T$G?( =j9(, ]2KFbd搔50 AҎQA H,Kj-X)tIchV"\rFoN(KTD4x>D#bdn@Q3 ^ssgsg*Gs՚]^BQKd;%tf c qzS\:apWgX_gAxlXk7V"SpR(hx"y [Vu mܽb Mֿxz;%<)ou+wvUe|+Fׅ}dU.!"՛wMZ",'Xi41 H1N>C0I3(Y*,f7A+Lotuހp$e{JA,y ;X.5.dA“9  ~Qό$&#R5oAL[@ , F2 _>iT@? 1:(d.4~WssfInP=Bҥ: ~)ڊ@_ĶK_; b b4 :~جuAGإ`GW(֍z{YCכ}V ,[#a }C푦+rd Ð@mh##OcBWc'zT; 5;__ga/{q V^g8[/:9%nvl7~Y;* , IJaf@|<kP0/nClDGpS64諸?6<.4[ybuQT' ٘Qn=UԢòJ锩SQv;: Vw+zhB-"0])$ݢAdE'_tCyZ% y5+ Tҵs@C{m7*  ?g1?V@=Uk`#c47$sȩ±&\% )*Gb umX%@6sMAұv|'8<{glZɓp nJUCwa{\6?X9(ZZV7-VaaG>dK:Tֹwf}ysC zs}Vh)\ 2nm+NT;_8:@sMv7,j[BHU9<~ͺ5^}:~jLGPK@rMGr!=`p#keystonemiddleware/echo/__main__.py-10{ŕ2/pbsdf*7b#8bǔE =ȴNm=;鑍Wԗ8 nPeJ PK@rMG#keystonemiddleware/echo/__init__.pyPK@rMG+a"keystonemiddleware/echo/service.pymTێ6}W $^yE\16( --ln %ߺՋΙù2GFhoƵ՝ wN o;Hء?E7p0 TxhR 頔 _r=H j%oB.IJ)t) __yG7Kz4T^ScCax~Cg9w#-!]@N.VԤ{0"yRL"e)Vձ9|@l <^L4]^q<[N0|v?]N3Ƴ/a:ST_jK$@j4mK\2'dz݈5j5J: ʢd% VE^/zltb1Z̽:0Xo[|aBLi2{~7q[, rimgM3Thh`lCi| E+:?xbJѱ.Z 27NXJpk:"+N!f>&t~J[&N۔sIf>$NF9I.+#!>I/!JOzeY6 9t_.?edq 9HTřh;tE+Ĭ\UCQ-^gݒ #|D*ؔeCUvEn o]4ԥ\7XV,ŀ0 ! :ű'FkdVMOi3l'OQ<̹>Z< k[9:coC.*Fe[w|44Z9GįD܌vpC>J/PKbrMGlFa3keystonemiddleware-2.4.0.dist-info/entry_points.txt/KKL/()N,.KLII-O,JK,-Ɉ/NSU"hY\PPKbrMGKkG0keystonemiddleware-2.4.0.dist-info/metadata.jsonUmo0+!y}ۨ4D'uibZwlka>5>?wC*JnK06$Ku'V( ɸ5q\,$)*,6%#5צNj܀(.u+|dURI w3#J PcƓQ2kÚ{n PB~B kJWR5KB]^U*ox]\{&<&t`FzHOi=({g_Ou^R4yώm.AguYub,=W¬j֋ږօT`}XMr2 .OXg?~tCG7z-kg3 A"{ m PjIgobcN.n`͕Ӻ5;j߫ *AcdX32Bnxݮmӏ2Jcz_2Pye+@\+Ө-QEzDV# N֍잪]x#y)-3q2 .K4 kI4A5{o "#yeiQ4/Cٰ ufP:K>w%~w{ܺUJKryare®`߹{TH~7+)(dHF&(aXI&hU 0͍6[7,;M u< Yi0PW~CȨ21Vr6s("a,LVсՔ5<O_8}*Oo;*xb޾9^[ZTY )? x"KzģSB^gao`ʅk xk lQu2*މX /KĘWW-frGt"jS@MPa`x57asPETF<*2sZzl\j+Wz \ao!RxS(Kz [hEFo8.YY<]{/PÞF VKIAR.m]D_F$bH!ګZ6a}œz е%3Pu6iF|q3 ',uu)Zo]+mZTʜwe(1X?U-L]E\/z`U9AtXIpx4R(A@(B#Y?~<{5_<Ù Q DC7&C<|#CY _)lbёPA%yvѦ#e1_5Un7H(0?cCQ=Ư%֩d_qM,:s^@UĤ름>TŲ+c1 c=qHuUrUN_Z뫢Ǥ޺~*g"dp13`TCnf[,69_"o&Ң{MPՙ7 yq\%H~@} MeNmFPg];onMO=(h, ,Tb.@{Z&o7<})wھ3uus: $J}܉pL"a<^LjqLL Ӗy4ʙCeE2ĵfm.{lm-Dwe\>Lb1w.Ʌ!ۛnk﷝*SmWįe~feazn!c%YmÙaCcA Kd)_#Z.(Sa!!#;0 X Ds4h7>u 8Qan~Amv {c&Oavo[A{ )|ty$YNpet[dusBbk'F컜Xn8wv&X8t0(t1/W2 ^@4~u٘,\bWqUswJq+鬦4|^KVoD>eade[=mDn`xdSoA7.LA4g)J 6mWe !1>7;⌓뎖U5l9teb+`[< [Z#. ۹Yl]w?ԦonmȰ=|=Y©."]|k1 R\YYࡕK)Ll{dLn.eSMT/fn)>,Izknv\=&;o*݊#UQF|y;WF-Us!+^ٮsHݶ.+Re۱K#9$$[2_$⳵ 0cvz .;KN`ao2 xv6SG4ޝS-ϼS0ڿG^z- Fλpkeystonemiddleware/i18n.pyPK@rMGNKz! keystonemiddleware/ec2_token.pyPK@rMGۏ/@ keystonemiddleware/audit.pyPK@rMG@uHd|keystonemiddleware/opts.pyPK@rMG/[<)keystonemiddleware/s3_token.pyPK@rMG$>.keystonemiddleware/tests/__init__.pyPK@rMG).keystonemiddleware/tests/unit/__init__.pyPK@rMGab +j6.keystonemiddleware/tests/unit/test_audit_middleware.pyPK@rMG֕Bk *<keystonemiddleware/tests/unit/test_opts.pyPK@rMG)^& Akeystonemiddleware/tests/unit/utils.pyPK@rMG7ٖ W0Hkeystonemiddleware/tests/unit/client_fixtures.pyPK@rMG^ ,9Ukeystonemiddleware/tests/unit/test_s3_token_middleware.pyPK@rMGqp6_keystonemiddleware/tests/unit/auth_token/test_cache.pyPK@rMG{ 0dkeystonemiddleware/tests/unit/auth_token/base.pyPK@rMGTk{d58ikeystonemiddleware/tests/unit/auth_token/test_auth.pyPK@rMGg8<nkeystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPKArMG >=u@%skeystonemiddleware/tests/unit/auth_token/test_base_middleware.pyPK@rMG4ykeystonemiddleware/tests/unit/auth_token/__init__.pyPK@rMGg-m@Lzkeystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPK@rMG#3w?Dkeystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPK@rMGDq-6keystonemiddleware/auth_token/_revocations.pyPK@rMG &Τ "*;keystonemiddleware/auth_token/_identity.pyPK@rMG|"-Ekeystonemiddleware/auth_token/_user_plugin.pyPK@rMGI *'Lkeystonemiddleware/auth_token/_cache.pyPK@rMG'ޟ !&Ykeystonemiddleware/auth_token/_auth.pyPK@rMGr!=`p#dkeystonemiddleware/echo/__main__.pyPK@rMG#Sekeystonemiddleware/echo/__init__.pyPK@rMG+a"ekeystonemiddleware/echo/service.pyPKbrMG=#ga2oikeystonemiddleware-2.4.0.dist-info/DESCRIPTION.rstPKbrMGlFa3kkeystonemiddleware-2.4.0.dist-info/entry_points.txtPKbrMGKkG0Alkeystonemiddleware-2.4.0.dist-info/metadata.jsonPKbrMGz-/.+okeystonemiddleware-2.4.0.dist-info/pbr.jsonPKbrMG1i0$pkeystonemiddleware-2.4.0.dist-info/top_level.txtPKcrMG3o_n(pkeystonemiddleware-2.4.0.dist-info/WHEELPKbrMG~x +,qkeystonemiddleware-2.4.0.dist-info/METADATAPKcrMGɈK)tkeystonemiddleware-2.4.0.dist-info/RECORDPK333}