PKjJIL$& keystonemiddleware/exceptions.py}Ao0 %Rgر;y N[شC4I?I L|8פ=5tC@Ȭdx!h|M` fNfQ9 <{&9ڞ #4",()uP!Kr!ػjTMqݪ?WS*Y=ɮZW#I.<:%ièJ>8/>dKi̲ E5*%^ݏN^6+wE^azSbSJ|cQ/A╌w"@rE#@k@R-ײ:󛜖u`kzk 1J${%hH>W:7wI<Ƶ-wֵPKjJIkeystonemiddleware/__init__.pyPKjJIgpq #keystonemiddleware/s3_token.pyZkoF_1pڎ[lU]6Ki6H a,)Z{J1s>}2ĩYr=9蕸XF5E6NP|ʴScNYUy6WҊ\-req+f δut&fB9SN.H{, wot.ŗޗx-ؙ^ɹt.u Xq [5]xG*2 Si_Tnx앯)Vs8QXڊNPw#pBg\,R-3nǔDœIM:XXU* a͜[,D2ɧ_iNg/1ʒ~/t#`h$f*\32NgӶf2'S$p mUAp%3^Om7xwiZA/..AwoEwc[( Ǩ;%&5}JU Lg.HOreBN2L!X|-Y-seJZx: {ZS0ȌYkIIЙ%0QLU[r:9Zc1SE>sdVIŒ̽K=qb^X@ NMZ9Jox|!~Kc~V+p.2`n,lGp"sE~>dt܉L0AuTbMNgP~&CtHm_ޗJﭾ+)Y'G' j}\^w?ja 1a(b9sgx"_]`z1SojPPtb,grqh:]c5!cI dpIS, TLXfjJ A2sS2*t"ޱ#/.qLSaT=kDd(դʇ }ll<KDoдޖ"^u8ǪE{?a/"08[O8Yl[mK[@ğg-/ mL67ΌL*zZ+ c؊%22;\-LpT!ys~T%mz TL["5)\d/jNO;8; ruN766 0rNyH<qR;V\ ߯a 7"v0\)^)pk!L 3Rrj\zHu.@:ד0#bߚ}uTzOް ի-vA<lUA x( WnGvP#E'"]=xqht;阃B ~JK*W<8'ɭ".pCZNԝ;*h[bQW_6)-z=[_w=2lr;{o_~__Ů_s6/){ܾ> ޝST-4ӻ$Y{GWD&帉P u’xCf oU3^*Me"LId?6 EeoA1Ek|%/QBU,bDƃ[40g\[!qS䲳dvBj)TUZ?+Cw2lb{qn0H2CHk'(Bo9Sk7H 7jX" ǕJ?r'!e;߾,K͠BH=R9&Uv^?F4: ܋kLӺfW٭΁@٣Z߬q;$l|³ f!+9oDg/dyE)c%h10ko97ayap! =@rUɭ HTh@@4I/sd5)h+hF/Da$6V[>sE%Pݾ[=$׷\TI|Q{81kIa0NȮ/{ɘzܷw;#$Z,>znh6־ o| H0ä=[egYCG"*G[Y"m-a<zvڼ?=/gh67^O_ULň\eV6bvV㡜L)G΀Lt Lس9)g*q"~P BXgg+KTkSwX!qͿ0I#:A :?^XӐ{A~/ UQ3myc+jS*Dh|TkCр%bpP ᪩_p&s[ACVSjyMX1?YhPL_.PjjP)S!ǡ X%zG$1 xA?Njo8H7,/cS]:h^^G!kT_g;b=HN|ac~Hg]R異d8h6ϭ3Ğf~ Nkf]CsxZm&U"E쾐 HC,rv> =NJ\i=!X9r`Pbvfq!) IR3xĕ$w9rSL vG'Ά'.5l$v4%M|jq|FJ'wosP^=5v&cZ`wI Y.,E{ܿ6y,.N5(8n5+-# M9=4Qp/7}2B U}|_v%Ju֦W;FC%F{M}K=`?Tf%\Ak if9W0WB[$ۼ<.UpEO> 05 ۤ״2_a'gR+M5^v=N^"m4Lh2ѩ9B?) :i/R3*֟b/ z{(/.)kU=d!BPOpHB`ł>"<+󶂷PKjJIMQGkeystonemiddleware/fixture.pyWo6_qp"v{a^>6c]N(Z:\dR8^}Gꋴ&-~}< OP(L)%SKo!0 hYŽ' R!Apk!c. bHTg7Ӌ܉ )yAr2(a+23c{Mt1x_pfJH()WR{j#]0,`t1%a}Nfp1]Nޮa2Mg#@Ǽ0h"mj X ci8Ou{11UXmoBHXQ%Jjd>Uy; Zщ7SޯJ历lM|Bd҉7׋pD5:Y~^#4mMlo6r|m/&)cϊJb&kd~hcL%/u y4omW  Pd'9z)O41,F>lͲ]zHZڝUrt}Mrg*rd 9/UBRlMȹ}# +X;o#mk-:Ħ|~ (9I1m/HиPi`3+Ľpb"8;m4ԥh =mF٣R'B~uB;GƆ<*sPKjJI/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|QR7PKjJI\ keystonemiddleware/ec2_token.pyYko8_qQ8vlYONIdChYԊtO璔DV(ټ/^So Xjv q+=^(auݿ\ULjV"bsrbk&2U(mB/'$dXLt$eMWG"m 6R߿#cm(E?b|v ϧ,(s f=kE%|_-E)9QA'Gl*æ}+X{4f6i4>O<]L^^>_^6;xc@Pd ?ؘsҀb.b+[g 2lX Eiᒊ$ v6ZvX-@%=\oNW*ie2RTʏ\,@j bRrl.(J_̠5URqY,Lx42+$) ųVV$x*sʐ]l-2ם`]AŚO:2q.'? `؇T-o]%Oa=ao53ra) */Le (L8Ҙ䤽Zh15;b& d !~`[y?l^q#Y,ۈ 9R~?` dqe<6ꐨӑj')SRaM"ȱ[{-`ƌJٟ4ݴZ1oiGsXr/ ;;!c D:5V <.bb :ۉA9#i CБ_R)uz֌}lR8|HǦS?=vO2ד!=;5rb ݰЭ N=Qدi>,3_~o`mJ㞚鴻 B*JU$8 :3^"@ EDPZP%"R6H~7gs;,_`4o #$VjD Mܨ$s9EE6`F$)+J,M:Ҿ}VU4۠.FfqL&M 0rjCO]$֚ȁo7Ac.˳C᭒uW3Txh}]ejFvq99D) M`)ux4.d#4 )t3bw\ɄKI%+R%˽HSqXÄPƽ5ˆet_:.! , ?͚EnE&j6NeB!$&etLo&){$.3.uT?XߌSƟp:!n0w5I-nbL{5$j0#N (ѻf2+yϤ1ϣ)>,)h#ʫWjb$ix3c\-Iv3 0e Mr{R~1GpK쾫=DL a29@Po 𺵊=*R&[똡n^wVȺ,+֫D"qq&Ka?\n}6'HdMb Kp9>z7ƌxɪ)R*{݃/I0G> ֱa|Fk;ߟ!6{gtJq@9se;}!&w:@zR![Z<`'^=goK'x9 _>^STOhXõWq7l=Cg:TPKurNGEwhcFmr}$Gȸzٜ~icϳn{8)ǻO gF0vĵ`ީt7U#v)NWZxk%5&q$k%/y^/vdaj>$dqIqV<ެR 9R!!izAT -RNք"yXrmz+ѨVoRy.&31$!H:76 Q9H'VeCCrq=B*i68 W=Ѩ>KoPKjJItz  &keystonemiddleware/auth_token/_auth.pyYmsHί"R+>`MeA`B_"|ufz駇WG,YL4f#F}'b2"%)₶}2}/d6;rq30o&tEFxO aODAI~dq@ =j9(g, ]鲠KFbd 搌519 ARèՂT$%hR#{ΕH-%`}Y𘥊gvs~DPp֑J<4di *P#.-y' P r9> Z2t L]G&a5 , y3XቁJXnwD1# =OA' ڹQF9@3,$]ju;͂:Tdږ' Q^|QΤoo/ i aAG'+ACP\0; n.Oa7m%fSGowp咥 Y >AtƶG8S "{'UZ:_W_..i9na)k i3~McN5Hn礖aǂpx1>ƿ~Ũ B}o(.f f=u`` نJ%yօӬPp"ZytC4S#%ۮW#(D-U48; `X*z'n$d_:]5!p? &)v׈fgkuuw qqy=9 4=gH٬r:KM>T7?oHuI}(P$i]O?H9rw3rڗ,3HiK#?OO@-SrO𗻛^PKjJIUcw ")keystonemiddleware/auth_token/_request.pyZ[o~Wlt`r(!6pp֑ew1ߤgn9Ʉ&ŀWdSFsrMxFbSN׏Fcϖ My({Y#Twa=j_xBjІB^R_&=Yʔ"t] PL3;"$+`M \l'J,J\䋍Y`/ጌggp69c8'hFnfr5o&-N>U0aϹDYCK#,`), /y ze ]1[&3PLBo*N >Lj!R,XR)&9M_q_6{c t: [h*"ھbi*V]ٻ蠋.E5ƃ]Bl_kE8<·7Fi( xivŐO,3#E$~hesO jo>&!q &-` CJHe#{2ഃNS+hYK k9 .*2o-: k VUae{I) s4@G2 $6*թX,x?Xk%V!yb:k睽_a0BWNMyd%&$T,ҔP+? r\0p($_\#Gܖ7K݌t U+1ݠP^#L"ЃJa(Ab~D< TlF%M Jx GOYzS'y]RAUإ$!+ 3ªUO޴l)<8)O?c*,q\ƓOYgPv۹/We']3,ˠ@送Kӏ*VQ[x 00uRw.>gb.]#f>iF-G`q6Ʃ6V\끵 hAߙvc/,b)v_1fkU,]V@C JT>">, I]خz/>13Vxa0]? -Cuo~- @-ei*g!@nd?jCo( e}4Ң/Vb_NG(:7~'z\=:R?] wVk?]-j1#PaVR@IU"é>ΈK\c4~~sKq%Tn3)[4Ƃߜ\4HÉA.%şC`k9lN3o Hi EtKg`h/g%|aN?o6)cFٖQ?=D;?`В#"{M@GۊB 35Avڼv2*tÉj=: Cq**Ouswu?:_LK_ eMΩBUhc$3G͒$q̔ c ZC 呪'"֫o} spR]o%}Va[N}_lW]qQ&uJ)֮;FzۿV|S \뙴Pi6Ժڸ4I41 Gxw ^U{Jz8}ʶ:M>^aѱXL c=G W $h=EkC\.9189*&^9~/আ0 ds^.S3kQ濃0^%}=29Zf1&]vpHVξŌٱGҨ47U5=Y;W\qLr7޷waٖKx^jӶ֣-mZ\]6CRr[c+Nxf35UJܔ~zW=8dyu1X#8o&oj G;?.J|ey O7uMTy[PKjJI t#*keystonemiddleware/auth_token/_identity.pyYoaH:Pa \Uc`ޥd*ɕ;C!+@% gfOɍpyGGN&1sO2"T" }C$]:죄l;%aI8 vy/XrшIPeAD0;Ey:v;ʌ4sT7|9464wϕ"3',\jlG"IFrX*Bp3"*ZxBi)]VBr2Y򄼛,g>ޭdW.l5÷d2}6?"lbs,QPRGɒQLudR1wZpp 'he!1PMyLw8@`$5Y'WZFy{D?BMp~Eb!a+S<9@Q!Bdly/4- %iFPDx-ss::zaFo_?{y_ #L z=F!S;kGs΃pà|$Uyـ$>]QUY#f~ RFє`6厌!4SPc&Jo+a&J{UB>E0:XXr%cUMxqlE`\f5!Ur).|StV| S q q4 tx8%!ma~dFH=db.c#ꕋʣK|1jx),˹n_ ׅU3dgn\9b܆=%YĥaQ 6'''8&vP؊dd,^j.j[B#WwIhlU4-{$ rw7{oF:.AB[Sl - 5q +aS$=5ج3UAS5Vc<ŅqLlm^c @ڱkh .L yB]"| pQ)li|VD}E"E=yJNe⎇^ H`.-/5wl.>L淫+ yFñێ E1b3Đ3yd' =[w|=qNh9_AC?P|M63Fb헙 H 8 d[% D4U۠F!eo2R2i$=Gx!<qCd[z8@WޠHnV 4Az:*QˑFBHo櫮vl}rMb)ŶXCIS2)FtYwLVly \H-g-YsHZLޫ|B} .Q'E)vdL"J |![4qfW tBTa|(`YbYS'Bj)Ge+S3g-*`dB dK4{-]OkqH~)S?$A%1p-dkHp)b/ ,Pa.< ̣g^ꑌ庬Y{PnFttПGi̓]K|`wM;cb K"oY榦"CP)KYdgEnvLesjMi3ejZEsdAIW)[cbm6;;m4d&V12 ==Eg頗\QEr-5e~9 =3T!8 )ZL;Tbv}`?*)N' dQE(XW1xlJV!KBȬwíWE|1!h+$&/%Pf7'EFm YP2.i0ɛ cu  m*e-Zuk]1cJfV:I U ~Yb6\6 ܊e=hgl]:5"x6Ͻ B&үϛ-5azUZLF3;Ӥm|`)'f:Q?.?rwꀔRGc ;c;׀3fO.reX< 8ւfjga=ء뢪Q6`uWx|Rѓvv<~pxg_PKjJIҰ-%)keystonemiddleware/auth_token/__init__.py=s6ӑSؤx3:NkblٽnDHf#:~ vW3m,xxxx_x<ͮʗwMϟ.7nU-bp48^sU*WUE͝N7'GU<*~g®Ftemk :Z+sizbaH * YBon ! CqY-\qӳg/xWT]Gm^Lg(:tH҇tY)x֔C7yDuhJ,*mV9g`|&zzuuzq3=.ˋӛ|{^5azr) >n*ĿBtTZ)E(5fV,RE^UL(ڨj׸5 Ub;x0>MAf) P;Eo,[)4ݔ,`r`j"?SfS)ZU7utޫ>]0bKES\A6<2Q{7/jLM@ e^}$p!F*%*"nouHb'fH9/bG}VSC]_Hz[hAC}?"\IYX)`m t"۔9[ V9+ 5@i-iڧZh0o4RWmd̪A8V+POD-~`9La0B0$iF]@?4v%0uF_}ˇ⁰l1|NT̮s07MoNo]O" e Hgeȫ@Wô %8[z;MYb͹U 3lU qb~cS1bCP-(iO`%H`@T>) 8$-]=Vd%g֣,DwX bU ES `Pwv ~w ٭f\鼼|s:Yu<ڸji9(1T(R*qt+"Yi SjpoUfT>|0<1=( /A݄H>'F<ԱԷ K#(#iD:-HDTDȕmz{ߛ2hjMWFz"8k&:B)#vkV3-Yp2p,@.qzic2Di#' TJG~ +r,@;J/@C.S֑Нo_}7O{){&wZ%Oym_)n1W,S-CJ@uvm7@'OT[5D?|jR"缡P֮wb:2;6 W ܔU>{tؕ> Ӷ%ygZ5Fm4{w";kQؘ&EhVluwwvzs; {*Ѩ^bPp,~+nYBp]R}\B3D xyhT1q |1C .j` eCڢY$xI-sB]LKM=;?~UViTB4pѓ=$5 }:/LX כ#Zzyo/N/Kdnrv"qҟ!?-Mn̆(BQoN;TkT;'GpqftdҦKZ(|Y A7Ğ1-2wmI>Zp S#Qd@47ښrnqp$‡DNف{A68u5L.0KX"Њ$xP<~c4|KP{d fZbfUdԹDgF ВLE18-b GPv'[x Y' oVۥx&1wW -ǷV[@HUfFY{:2mIEaB3 qr ±E^Gr$Qm.$R1(7}cԳ٪9O8DqBO:P2`[WIh_?{(q_܉ ?> 1dC,D m ](Et?Mno9WiRJ-S313NZ͢\?f K!LmV'Aτ]dc)oZ~w_@gAaӕ[1j;m@>ՄҘ7ú)FookH,z<|b cp@U7A>/51p7kɀ[ cke ;_q(ARA9c>arhi=sSoqkĄ#G$ K7Ъ{O PI˞nnX関;s*$BujՇ|Y!+Kv[P ^:|Pr#QR -lsOi,>1׽?Hy'u/=i$tW,ҍ[nl;L7VxF Y$`G~y2%r {+6%ڜorDȈ8+woy sg1(%!6?`;)"CFc@p +˒Mǜ^Hlc –* *N貗` 6Y:`ÝB^)2چҨhP",J˜sRݴOFc+ZIZdP;<]UUU-Awo~b@ /o%FjQdw$6jDKU(vbv]MV;#RN_F3;13 Sd &SXSs+ꩱE|'#`ƵRǴ-@t]AP5,KF n-}>fv-%E@cZ pIO0fjFTWDɷJ7/GL&ۗo_DJ&(_^_OM_9~շWT5SUYE$[𢪵d!uD$FWrr(kgnxo1wݑ. @ԛ h1/\SM\N|qp9Υ#CilALsv]KUiz-T\mU6\+ LsJ5ZO?gNJͩfMZ t-ikX+t66)h24]DWomHl6O.!ʄjg@)ZS:W.Ύ%ٰ[A29|͵Y!;FHeMeI2j1‚% T9A/$;Viĭ681M>s8Ь#ye؍YѮc E(dOM(Z3~2 ؚ 0 G4CfQa:"L42CD?-:ZX<)õjLpM8u$.L7x2llG5ziE|8=pik[_b:!:џ6D2V9JŦn5Q(zH8z6l 23YM҆0 NЕt2Ul rqɷ~MN:eeP\t׸;J[tȁCmF=84sw9!Z X{{tkrw֥hLYt9mA&CGɶjy/9j}}0G~qB4۶"hbrbL3gL_=y;; ek6 ]C~Y+M/ص{'*Y?ӎA r:>0h @;yQ=Q\m|4 ?$񙴢|E]3٤+d9y>GwYhx%0FY"qOaH=ExOyuk0vn^JZZT ID~:֧*TMQϛ`(Z)~CM2˲خ1A'm &ź(?rek#]9qu8ngzK$i/!κ^sD/:W+U1W> QR0N] O4uEmlc'V,5ӐXlç|btcaeUE6Ql#; n>ťqw8T0-21Esכ;Lle8rV]hk gJH^%`0E  =NO2L08ph^(GRuƤaC.!ٳweJf#KmiNy DZW܅=L=N\5A5;Ou11Ԩu=r5-uty[Ǝv ,{. J4G*|ua@a" JVoZӡLo#g"p#ؓZi]f ^I`%{]CZnkZMG >eQR]&Cַ T~>2>Qcp+cK]a;tlC @p0b3M+n,;ZlSkӥGwQclSaUI: B?cئ 8}lHp{䡒wӋ9¬Taoozu8uӶa9).hQ^&`3:3J'-sݤM +T6] Eaq!!)qjOd&09dBf "?@FNCܣ(p(^EE  VsWGwͺˣ="wx$he$SiSpPCaOKLBsHz-D"őǣN cGC'fHة8F68A,}U "JX #VhOks۰b`5JxR pfWӿ9ejs[*7(Tr`<=0Y9r|2z?Aݕ: %-ռ)nk~.FZ9,@TDY|][Hy|;` L S@t䑍 mg;XH0k|=C=Ky`uob*ɜ,1M߻Ȩ2H4ESEÖ6u43nƪjRuˁcrQ"g9rc@Tsr9Dy)Ll䋟b+U<-q4EN.TXJPoP'XQQ^2:C:Amm^ՈMތ`uTݤ͖Omf (!k{Z"S9ԁv@k`<; p{/ZЎo0x?Mi3Q8ͻo$'aZ\,(4VzWe$Ym74nt!<5W]De=18_F{G ,6vp]ҍRZ2}8tްb/-,B8\upkH1bF#f#YOX^T$ŷˢrXF]@Ha1{k- ƄzcM._.@k8-\w%+]`,po6pApn80gKq2@m1gOrOh^o{k)se TG w?ٛ{MCON/^ L Vge$sO'yvP/w_{q{v{~dܨ%Df`Ï<)CΔayܲA|;9 pht£SVx8-yoOBV¶mGza={n3W7~@`|h'mnO}LҶ_N! @`LFT&^ fi$ sHJr"G"|?.aD}c:l\&λuͩM8W՝jT=p{oP!:8ԕfrh7a=x[Ip,G7=6~pv&Y4rW5)\*=h)"iW67Y袗N˪tJ>ArfQfTqY>bGHk|o*H#'\s[1!tъA>T%&6 #48PW] `^С%.2<2'UuiA֊ LA.u{*ߴfߣ m̈́wBͿCN4H֩ӖHPаq-9-t𱋚@5 a󏝊NǦXwe݄'{`4aa<}QqXR>ў/>;f{{i:75N~NoK;TkR  _-pF ~ThuoG+ aa~eRc;:[ǽف<K|rKƬ{ dt=Ro7M~qke* 4!~k^AeuYpiMq؊./^M"c vMIpc-vX(팭9ίf2wt:?iv[)BNC\mU)At;H+ /-r_|nt*!>}?jZ؉ǥt*]P }J8 c1*oYg1rQ'"&nJ41t {=t_Y3b6J?Lzaw,tb]m'V_`%:a刺*KlOI3tܭo"S-wEocI:p97.)NWrb!9d<r.=yVrmE@S;}sh)O EW /ivf~/:s)L%S. qH; Ws۠t_c nj&*cnoK`4$vP}M[OnA Yh4PKjJI -'keystonemiddleware/auth_token/_cache.pyowR\ܮ J+4mP$'R=,H>$w^L(#rV\n ~'S(Ԋ}1n8N&c]-?NҖUFiJL,ez+$W`{i7IK˥H*ǸCl]xN&\(Nj~};әU!a%<022 gd|] xf5/j=eF잗R.+ےV 7b'lq{yy7oo~Xo._[okvusnqs ^w믧LxܕH?)Q"Oح@I#YvJfZW|-Z?R;l'ʭ4M嬐[iT2B]ZPrV6lhU-ӦЩ2Ѫ0F6Xn_0Cc[@5${Q#H9 ފmflW~E .$?1e9x3rb) :cc?U%X3¢r]m TR(h8WzB: בEW%5g"FgQ"xEV\ 0[0)+8,)j?ASKa'<9e7w+\O.xG (pw+L A7 8 K [(; E2i`aug 符+%3I @V06A2cR(F"ChWMFT28(3f yV (&f3qg]=lB;Ja'fxZ;fȔ`c|'2ꥷ3r (˖\g1nJ]7l~ dMVB0RMӱj F恫I*ԃ,BWHΙ csȲF*AX"@ʕ; L9#GX*`9HQlHl˰;U<%J3e^guZm`%0![ArzasձU@8fW0_a}`RBp %k 0GLΣ}`ᾳ3 CE#C8$ ^ Ag` @]~{J؛p$݆r&5TRׄlC"sTn( $lAq(IoAR&I,g}TSON&6 |dwIȗ ,u>uJc,fFYN"5+w {AQl &uG+w+5>| ]VEF"%W ]굕TU;(}`|,JO{2$T76e.T, _ p=\^% vŘ }jBP@M4`vT֠;{=Uwu%ϱTAL{o6neA{]W6oVs-:2*Kn bk cFLdBr$W3fEn+c1e͊o!Hj xwtuj#{ Z1aAmXJp,]O: jH.Nn~svm\^;*UOaW?=; MÓ^G]7Yo( &}闦j1wCRh HAN=hkyc9l yFJ+ 㥯mq÷#6mhE@|P c)CCgOH7Y揦V'זyOC41ࡄ0ɓsWVƃT jʡr WrO8HD"CBv>uY N2!OC6{6lW._$UFfj +,&h=0E uOTӎ֏HZRkPgnhYHאP29|1ܶM!Di\OImm+@ 5TrhE3k mevlZ#?^$8_C>+=9O]/VqB-+4t,]+O1PݰdX~Y'Z'(hojTqGО޻_B.*3b΢}RrE|.i@|/$}YSR;4Bub R?f:yl+uCҵ3)4 !o3w:asW8Rj'nyyh=mPK?dc)FG- "aJγn oEV"L5W2(AM J{EB/݌p_*c1FW:sSQ`Oz})/Yh IghQD9 A;$mmghv-`Fb󓹳ׂ]8IWZr:ď֗qOլ6x;Vq΢/;P?3&[:l.x[GKmԡ/%][>XR k&W}/@| 0Tt8j ,L̶<3^g/,\U/ `Ņ[qzou|ԍ_FWE8ǁXBb#PV1^-QͰb}ݙuL^ z /Lf4P^ Qx53I-ʥ<*ܬV8 K \`Vy?e) l2峷Ce)"j}eR&yBλ]RN6ܳ6cqF?bf"ا oX#z'l#e})aP<$ޑWxyhnQl~#2fgmƑծ{6k3{uaM}`B`{;K\n\Cl~Ԉ+b9c&qW$z:Zݰ+(F읝?PKjJIs }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|{z iOs:AP f,Bnr Cs]t3֬D^ʼn*tKb8e~四K8~~\\݉r\\b~uq}9 5I~Ɏ*;E&* d3W)F٩<:"Sy-yBH:х,wPj)5 ;d0X&` *Y{IzS}7^OtŊL;#JAaUZ=UdY^VJSuJEZ&+H1 /V*6{b"R0V([WМ5\KA$*%*xCᭊ3AM73dx S8Ynv:R 29 C.Ӑ~.-oJM2icӒ  Щ.@~xP/5bfZq!v2.!*@lqD^q&eDrӥ2 @ל Y2Rgg˳g;g]`1T)=zL aˌ܃lڹ©M|had(@Dpnf4-|Ung?|d&^9q ?(S.Y<;)qL"F%]oUCuBfs D&Pz,w8Ŗ>q"q=E\"ST9pu/-U($^N-7݊iZRS9]P+TP,*緋4կF B?ߙR9EuuУB;C$ۑp \Oa!Ґd:M)f7l!`nJ7<1hc'ΥaHLJ$Qr:dv2t"0tYo6>XI} d">kA9"- v)ȤЉ2egN-L2̢U#$9*-HW\PŪq&](kj Ns.>kq֢㐆oYR;?R#w>59AfEx0+ HcswHGK_7=QT`Ba%tUtS` Խ5%|IT¼\Кemv4=fy5xVәJ:Ѣ9y ?q cB)4]I+s(JU 3ry˰RL\LDb|R f4}P>1#rw¥K\mYxTСF'hz)Q>^ 9L~ sRC},.|1a.jNb#Y^ԤH?;҂8oh"U'Z 0i:]CuLYƇ>t7=,r+LXsoNCTH*뽊zIul%zjy|?nb vбц6#gPM x 2 !ƇZp P՚F*VB 9;ht 8˞bn~A߮/q7`ªe^s#:uv9F]qNf9J?B a26랙ٴbȘ]MQCϛ!Z Ck$quWcHTAwY0J0횚H+k.myv t7 Y#}]0%@ 3Q ^nchv nIFnJiC([*Ueq`xO$KG_uku]K|in Um>U:FQ`U;U'%)07w*m" m-ͿCvk"554cRylf5(S oc!%6_ صsD{J{< !Oc,UwF8{⬭wx|;򵗐O0:T5TҢ{OGu~jEWb| +j[M1Jb٤d;aX>Z~¸ܜlU#0u}Fy_cwqV v>v=Q݈"t8Xxɰ+U#,7ML)h`03MYTF?pL> PKjJI$H 0keystonemiddleware/auth_token/_memcache_crypt.pyXmoI>edH8yL[ƹ(,40NsTu e63]]]TS~z{z?oJc+'>+XZap(>HFoU.BJFW:_*7gh_:h KifEaTh#f:QBDjeNE-WiZ㕄PݫȦVBZB~YSNH㳰vuyr^CɶY>?I9<F1_D#rGsx:9DE 9lFsmu:Z Zbmlª4.7LAo,7;mxֻ~x3{}P@ ǨUNg94hQX-f3ɬTg:g鼐s%ٳS8$V*_jC400D/t0nAppp|: K8ATm%]ͪ9,FO{-f @a*2(h" `$4bKB1t [E1dj"Y(A(N( _ Z' YKmvE"@$cYdةRYeLaud#Oi DPXcpzXwQ.XU `7 3YWQce)_ERF{Vm0%fyĻ$H#58,2OjclDQM6-7LR>`*n7ktq zEUΐp.+1A78yuԧ[}hza0|>xz$s);<֓f[9+aFJ'MxnA%y7L9_d$bv!ҜbP) l#a+ds@ro`H 6(pŀ)tU* ̢+8 VV_k&*('Y@Me2ށ |SxYbMkV5H9o&߫: ׹\hta^|xi}@K9]s'+Q*<3ƚՄe'v|͑BM 5 ss@2 F\y\ėc0سpJU2EB=i m "-Si`4ߋ1MbJێi`"rscE쭘jkj?O陼MMT&` Bu&v7KtjSjK7i cAYj ʟAQ`ѻJRP Y%\sP $h5-_?qs?/Fn8&Qԓ=Ep@ ׮Dgdπ#3al^8#70\yH×޶g~g͕^cE?k=&,I9_Bt3rI_@wğ쯠>\v/20(0 rF7x^\>=~.ZsCwaa:l",%sCTOSy-G4%\p[ߘ ,K$8z )lߺB -2~y(njbz-!jRhvln2>vjieQ[{IJ,rSNj6Kd0`Ob5O/$q\/VÒ>|~],O)Vsq+HY[UdrVFW+a3rrԩ4MCŐTZa$ <*m!L~OnGWe7(cV?1O>]$6NHIT+";]iѭ-Y ͬ_U<'BJzFu10mw.vAblR8֓:]ڟEF⇵fi'=)ELc_.1y5kmgyyn{L*;^7*XSpl&,c{07O\ijN9|f[-'kc9*,U9iOZGX=:^BcP"JY!s ׋B+Mk$ ЏNHE]v@;WVTx6g7)!:BkKi(5`Vbڀ3H',KJ!3qzlmQ]K(8hz^NGFwOnt=-Fwɘ#@sm?#)LfXnsYʜR!g4BZΦ%xTr!pMJjҳ|jYR.jNV (^ (*dBSt'TЊgM4,AeӛZ͈  mDY, 93&J"wڬ#vypXBI%]E2Ř0%HiF N ^͑l[iY*|R:"rxzs[~lC hאpɞ!4*;Y*+D\1̸`Zzym%pZ9TnF >\*法^Q-uE_>9O >kYXcynG+jMs5aiIQ.ܺ$ezKW ] gf;&h~ ;QY`=e@쥫'mjGeڤCEgphC3뾳l+&L&o,oyٖAQ VjGCY>VPר'c3/ᦊshoy$׭?ۈA xcu([(J mphlk9lP`IK VbKgr&:hCeCߛY<-EkN[`?١}F79vsO,$=f~Ʈrre?_⹑h]){CZO"G0q##k*bf%e#)PZ9; OY@ l[T,[P *-@&2L|DiYTde*y feDB#2%%:ƍe>+cfrmXIVꓛ18{К) .`( +K%0g bxrt WTbU /{6?b?]wo@7{v]ݾ=nwvy Ljϥ"$=v^EkA!]H&2\K'rJ2ɚ,47(FGGG+%x|y"`<m`eQrkVE~,"S!@:JWM;_X)jS²Ud2SOzUT)mYzG`ȔmtN>(>HSP\mrDPa OS'nrSH1Y%Y(QEƴfPf~c%zrWPxK7Wh+N.wa3LE0n֌ؘ(RojFy(Jlٳ $]wۡcZ@vkE&ryׂkp/TQN#CK) H|.si@4G>kUxnS{|)L=rq sxi<Ibr+gӋ̪U@"in:$tDdh ˁ%vTޭjFӏ`.֓!@`=b-T'Ң +Md $/t&ց% 0D|T:Db`+C*T׌9K=dҨy` j||J}Lf@QsQE4@ os[zYA| ؄iqDl|uxNwAmp<"߱DŽNc׳'MO%gاsqkm@C'5[^V&~q;+Lrɇ*;D![#+pcT2@∏;t O0!w#ˢ &a!S=A<Ĥ-`/o  h4DMCwA};9/赝<*qWg*J ?宛u'*ښL^lfE5~W7O?@$ЩH~cUw'WбemSSV*SLx7P[[:Rg=Fu_3̌͆ajġ3Z3c70x24cz70m/N@jC `+aRҼ'_08{Ra9om݇!!*mf+B-be/L|B _WZ+Y.s F$uo&~ 4Bx@[4m,mZ tS@섟//_|UBlRuࡃ J {8nϕtm2I"BF%Ain?^8p:=p&MFhʹcw@b7U|"j+ZTC&:ۇ+?PgKq!6+_p`/'جleU!pӦGLG!Z@SY9"`/H9VuEKZDўN Ȅ~Ҍ=5^t`.MdċaԮC,m7nSh KЕX ܍R4r Gc%Ǿ<Z֔i{!2\*#im}I@@ UnG=tmU쏞o p (Q^QX <]W ӑT@b ~||񣲿`>v}n&8j֓E'xG@tA"6"%!8ۣ=ze~bOwPKjJIn2ľ],keystonemiddleware/auth_token/_exceptions.pyn0 ~ "@ ;vK=hۢGEIrܼ}))R"?#9IrXA*IY#ZGZ;\$ͮQЉc4=ق"DHݙf2dz)vo8/@h770 icme{tuJ"c̓j9'˳ IcV -"k^',"T伥]?lC_&𾄂YR@VWRdddM2K la2$,[ u TTӋ#:‡> GQmu/xt^+쨪Z  c}hZ@gd+xLDKU_P]]OwNM~6aŃ#OU7PKjJIz\ -keystonemiddleware/auth_token/_user_plugin.pyUQo6~ׯ88b1CM +"v IfBI%V^ >~ >Z]E7"~guh=0&7-b6Z!R!s!7u9NmHӃ$BjBк<3 r%"M.U.?n_q8s:mn " TbƂ,Ҟ7Lxg3 RHܴ~@.}@z Wjݚ緷:Y>,:].h/WVdH`4#e)sZQ!T @^J kBRI{Fo,P{LXq76(*L*#fS>Y,㫈kh "y0Rɴ]$j wYJn5aف 8#P`O|c b$WxGYzZViz&ɚ #5WqX9ٚB9*CS=' BB}00}sNNhQiBٰ@<ȮZi6SP^SSu, bc6T#jeQ(n 1,@ϔ Pyz)vᄩVI 744)Angԡ*gt68ڧ셯s-ut\iVe-ķI~#ESҎ#u+t8ȻĄqV,IíNxկeэD繜YaO /PKjJI+i . keystonemiddleware/audit/_api.pyo6wU8d0pvA p%z{>(ɉnH"g䒅4iD$;J&Y?=2"(YrH g$I)r (XN6,~ i&KHIHɞ;IF#q'k00?Ms  ʟ;!/Hno_jfr6uKp,aVILp`d]HCa6`ORN-0&Rdxϙ`vDt#%bl]cJ@X !g%-ȯl9"g\'ד7sdqM̛-LȻbD(_2 בFYR\idd`*lB+m@y␌q7s`/"11|L\1 D)N[Y 6<ݑ4S?1]&zoyŹ ڔ,/i`wrR>{hl0MPI,c BrɁ~z($a&{A9f+döY@5)xu9SA!|֛sOHcQSTlwC4a\{߿(d f1fWq'Y:\]IPd#m404(r; 6sy${H>|>@ߤk7Wis5Tpiɣ0Zs m0-92(' v4ES3QџEֈX"X⣦XYW~;'E {rIo,Ч;~lbr~iEtETT\]JϮJ'SrrەaXuvv&FZa:x >!5GrH O!$Zt*NES9ﳄ ߷soF$ogx>`D~\6oI  ]W-1b6D΍EGZƒzM+K `~{c2F`s%6a?c!79h.z)‚; "hWƌ ãS*)]R^'TтAO.דե'={/ m#ӅEyzN^l\&2ܰGR߉>{\fNwr3mŧ Q®֙ v-\R?;ĭMWN5LG%W蕰R)k"S<R)e#9F/yK _rLF&,5m}?engժ0G-߸z2'>UƏ j; 5CT0A#6fA[AG|2wOXB°@ 'D"9[ocö5Xrd^-~69{dˠB:sAs15xGL"8,bHމGp)z/(ĴuƀWBaGQTR,dXA& *:Ռ_P"#(+e̦+;(Nvb _WqEҏȢc\SLqty-.Ksiķ䢚O @G0W ;xY@9V!=ri+qqHJ"9yu~[;~̚mM@,'Nb?r|Lt|tM)gdNcSreB`M~pݰv4kmA/?hMv `co~= ^AEg2Ŧxn 2I**kKS>`LPI/AV,J 51K%jQ[SlG;-8n+|ěFе%t{p:7T'`I K6N|0kvgnLk$5ߨ^mm24`e0Ȯk `]܂GfmnVٰꇮil<‰Z]_Z-P_R}`M}5g _Îkel`q$kNGU1$#Aǡidatf +Se9R=e'[s`I,vԪgYVq]'W~GaEYfg*^C$x,mi'c+kDy2jʡzc+2]eݣ+j"'WgF+RĴ%Mr[$F̎I MO:[cH|_}9PVGYZE>'lcHka[ مk^nʱv5Q9 yEDd[:CPVAwh"89Z&J PmkH'"NC,5z:-yȰCRNgFg }7,SGY$!둬Gxo}낵t»ө<Ҩ6˰q/}YP]7P݄r/ 5N͖cQ7z ,)ޞjn*5j+AJmxE_!S?e>y>rIJieQ/_[{0[2]Q&+-޹slF1L wͼOқxi7LNCTW1qu;lmOQ)e;5SLA_{oTt`OW^i! 1i$7]w+w~1i%ᙩ='sXX-&!(w+3X{}Θ̓ sޚU6^C^Mr2]7hS[ ;Qr3?PKjJI|X6 $keystonemiddleware/audit/__init__.pyYms۸_#*i:nթNV4-Wdd\(G,R^Ibw}v .٭LDEʪ<%3O _RKw[_m+$ʰJ e&xIDaYE&ynDW'2$6&"~OWW.VHxrZ<ZR^^/NWP2;J7QFjmvJmJLWr0Mo]l`?ŀ}.=.!h>/xv3]Ngx{F/EICII^i,) ȵL`WFzesX!ʭt,[iwH:2* Jf9lLRI]V[q9v# m4ČNi&ț{'UAJ" >ڨ\lW)6XBd2 畑Q(:4iQ'AQg hHv*y]Q*Lm60.֥23'*_ כ/Y\wCtݐ+gi_ qj\ AnQ^ת*Rh+RxϜ8CXR4Rs1/R8sOito'Aķِ݃.="Y:ڳ{A~Oba -L9+LKK B$b[">o,a ؤER*u؃Bve_gV;YuYDҌU> mj\ij 1vׂY*Գ{z}jQZxt]8YY{dn{(ڇE~Fyj1EY^E\ǩLL:ZK~UIn|#evv" r'g{}Dԧ-߰(.u$hQݫ~>d޾s忱?}{}t 2Ҫr<ċxXt8Dv̷eMo瓮 24rc=Ds'vLR]nWLUdOHPJ;i1E;.+͎igӜ0$md$?wVDl֛QtǒvN;:`퍾v׭ -mYwfHkEħpd/kDwybTa7od*o'i}Q,#I1]d5S`kjoV1ǤxNMn;ػ*=]֖G78 ; 4)ۚWT+P&(X/{`o1 Hzʳѐuv ƙD0u~ >[1n0zPKjJIq %keystonemiddleware/audit/_notifier.pyUo6 ~_A(zӐ!YÂC^q8 lӮJrS}I⮘lI$?~$E.D`LPEX hAQxa\V"6,4tD^|i Uޯro6 PKjJI=w$keystonemiddleware/_common/config.pyXm6_:$˗j+nTԖ/Zp 6XTwf$ުp=gs~9n8g9GWP}|b0Cѷ*N ʲpD2!YvRd2(솖 A0=y, ҳvw{{<M^ߖnia6<&0.O,ۃCy7ȔfZs >ja\Q+{4BŲh LM|:ߦ?.gÜ=~`og曆 ޳ݘq,_'Ƒ s4U;R!X%Ul\KsOӀ{+N; 6D,e:TsnhՎ)S4Wr%OWb?x&[~2VIEQrkmB\/4 hL(=.<(9&=v@,S\3Eȵ`MI)VbD2+VZ,dQxoD8ɽ1^!/'[`[ )kQd͋Lhc لh@2TnR\&>@ΐO!3 ^r)Ρh 'V5TPT. PޜoWLS ; ΄$oI*MZHVq/`i<(bP;I@"`zl11w`_Ff8boC@!a|u@"fb@0HB )lƆ1s ħTyOhJWx|A#GGg~+zwÏ7up1C|ڸQr dzd8u,NEBP @xqC hRe`sP#)p'k˅ÓKȹJ yQP0\ZwBɡl J<3o](a$cD!~{TMq3\`"PXHxArRen U,@"v<Z %ZǍ7Ou heUJ0 J@rA 2%j:.˵@j-H4KP.8K@O@z]F^?VpȁYu.z ~z')[*m3 _>+ MZ#,t*^ﶚ̫J4_!)|]п7_ԢMtf\m:is,dR`NN$j.N[(l1tetY!RfWp`_'j(b筠! k'L#]sOd"p&l Hpz-^7%r=53,!%uT>.w_IᮟoؒTY#)]/N}j6mj Wμ8Me@kX_#@!ZM41 :!im8{vڽhUފt}rHe]>2^s D7엮:nx'0vr&NdD̰ F.źqhIj$|}eVIyխJl;0:?znyDHδM &zxZ]1Sd)G Ml1xcn6{Wڸu /T#AⵅeRJSR k(D`ѿPKjJI&keystonemiddleware/_common/__init__.pyPKjJI$keystonemiddleware/tests/__init__.pyPKjJI0z'_da0keystonemiddleware/tests/unit/client_fixtures.py\sHb9 zD\uƉ6g7JFV ' ;TI'H@L%kfZg]3g| GFMJp:m=K4OZ lY 2bfc X7>lT~[I:&0kwAx#ݾkb0 ČƙG` :9Ï \*gs{| GŴeV, :I:O:9Eur~SoF7S?Su0A1 /թ:¯+~Do"+|]xT~Ҧz$&&j-,7_öl.-AZonԚ>g= > ŝ@ ׏-:l_%vbyݓ'?p$i Qs*> YD3Wg'?&N {NBoG|w0`2Tp8<'7}4jG zsFN3?C k$``,4eqoxwڬsv.³p@$CL-p"_~[/Oh(iJ0 GiӂD%@/8kfcXR{ ݇ X" ȘaA4fU%4"A /+f 4s y"X(I]}<W rSF]!Ձ)|r.Y0<[B[#09F3NGBׅ"Ns>Fg 4V$l}@GNaZC'82B!k" <>hb~p]}88Q8*lI}AdAz$,6nM ʲn%*vMNwhEKou^Iq~CGsǃo t5XӽE$ ~oOl"VgAjC#dʆ{6 Iꧠm ~3nMU{8y+k3Xm[5QI.&])ȰZstE@Jr r$xb'q+0uZ;kJdіÅ" tXbJ93#`S5uĈ[X^a~E;Qq9\SkeM d^)".Y=d8bCG!AB҉ԓxYX$^D]o (Ku[( K DdY%ZFGjK 6=E:i+= &9GEX%@$K)rtElIJC.jYۆNABw [ E#w;.J] z$ʺE%XFMQRD&$`n d),]_MlD1ƒ$,QF{FXт-Y$t$F%CRd] L̞zW0LIQںb*FWV&OlZaP?ni%=ANE /HEΔƊ ""I[+fd+c`ȃ`̊ŲAA>Im"VzD`1(*ِhxJEK#5[Vu[HcyJjHaG-+p.#]j|$ֈɧo ~mpq }[~Vl٫y]jZBWt} Gik03Z;3°w*ltJ|.=]Sac*Awqu2nmUZIm+d d.<^9>z*vaC쓞W=6pnF??-3JqC;PVa a\`nP`].ewvT%W߮-T0*mR(4cE0Y]po1Nߩjv{g]2p{ `ϖڳe{ g { gI{ \gϖ2p-2p=ۡbK]/f򹖝;c=1s\ .=tZh8L Dӱoٻw@m&.A-%#O4;rIosl;i ƈH2(sg'd G\O$} -< 12zɲIJe2B&f+.EH1CJ1Cb3 >Rx̓Q|X.5||ϤMv𔽊40O]45ѝx/;b/Jn$j43є~1?\L4D0O > Sڔ喝V/5~ߴ~ 6F w T:v*$ WDԱJȨ}*}J?oUDg*W&0}胐sIA`Ͱfj%w3ld盌YEr̆9w9ꭴ^8l,4ڢD- #%pm'h.6γU!W 9g_+voTg,.m6 $nXrehUØ)y}""E}>Y'ɧxSCtC&x7A{trhCXG:wCjE£~Za&;.a2§@j_&j/3,?csL9&kb]m]Sq6~8D5l} s`ί' kc* {;[vEe6{B3۹źq{ M4ߍZ!HQ&8}JA?|`FԼ?=YjWé仍7&; G/8tܢ ~{=㣛<>]EwPKjJI)keystonemiddleware/tests/unit/__init__.pyPKjJIgǢ .keystonemiddleware/tests/unit/test_fixtures.pyVoH~%lSTU9&]jWsmu: x]DUl q[0|͏8k4@!`ÜW[|J pT?A1He0H@*21 $jga- S0uk }1kim~qz^2iNx6:!ŕύ!4z<'A1%_fU)xrQ]sĒc-lZ9q}N<`2*1ݽ |@\I( .e5RdrE*bK. @X;ԒҁJ%ܖ$)8Pi h Z@LEX5>$DdXVAT=0fX ),]FV}C Ch89g*6$4@}'`o߻p*S0hor`ӆeF@PՊ?ǖxґч$_\C8AZee48.hZW۔s]EPȦ[[X4'Ikh6M :-/]uv#ѻ,}iێΰ7;αˤ t똹=kF->$ByG#i~>}nfi^ .`:è~Zq:kt9o+Pߣ]罦ь*!n?z;zysbe,7$TGQޜ2T6Jw*S5𫈬|ےXFZIITso.v :@ y پ?YL[;L//& k6jzp`O5+3~eTPKjJI4n*keystonemiddleware/tests/unit/test_opts.pyXQo6~8$Oi=eȃbwE1 -dHY-PlD5ܫby#xT[*e,W2\( &@è&^2Pû p]~*!g;$ R.%aʛ+ K2.I#|A1n!lCQ!a69@c@גkZr B1[M4L#ɬr[.1-HZnҞxG>+y2yiA>O'aOp4{?]Lf&/t~ H"3RhǟHrGLB4"c%eڠ(Pܸh9> i,* Ƞ &jEcR^3KQfP׸3VIyt YiWUkHhjE|虰SKĂ#h0`Ea9 \%UFLD1!iH BT §Qa5 Fd+$jblU6n|~defWhp iU.‘#-_K&aZO+Gfav<̩n4E <%$9zC=\F'/q`<heUDԼ=]T-KP] m>kQ$gDgqeg^蝪}DTu,*Q*Jm@jqg8eWpF5f^*U\θ+zQ;1T|Tc|t6*y~.c?PgKH gD9 .ظfPRwA:!K|qI;*%YOe)֥q<>Ec%GZ26 %<W[r`CLD3v+fވJ] (tѼ8צX&⠨5ŽB uvn!:5Mb*qOzhhosVF23LyJMN}}]i^~תZ_+B.B}LEmNzG9ĥmǜWÇ: +tPªZN{+.73/KщKGyzW񿻃Żm{2~4<ʋ ajhPKjJICB2keystonemiddleware/tests/unit/test_entry_points.pymTMo1PUPu@EQ2`koTw|y3xpR43Lh0(eʟm ye \ h@cjtVPuc *\ByȕFKe E4)JѲn-"qS윤2\I2}~IQKV+!kºEOo@wG3FO˜A%sf p1)RfosZI\%SWtdԎ=U@c0xڀ4v!ϸn0ţ)L`8_dzx2wg<MJ3I,LɁ֎@n7|Uʺ̢ }EgX EzV"Iaϕ>Q #Y!wBOd6\{ e"xQE(Ւ8~+5ڮ 442ַV,ӏ"a^I0rsFv$L2=|=$2E!-/hN#^/ΟxwK.nχ:ѡExS-A)ZzG?0Mu&?=w "I U_ކd޴iBNMdZ):7ad|[Rkx'PfyFߧ)<}hڧBCkŸnDPKjJIF#9keystonemiddleware/tests/unit/test_s3_token_middleware.pyYmo8_A(($&]"97qFv7vW (YTI*R%n^=?z<3ΌwȑȖ.4}GFKǚDiD5ikC^񐥊E2I#S?T@N]!Sr?ɜ.AR*4\'eb%!# /2"jA+B>JG6 υAX,|juKG46I[-XPHM"lR̉P&4*'dB2wC"V%o̯u.yPܕr"Ÿ1deiI`S1mYKTZlΣ(aGZ\tQK?O^-cj^Fi<'K<jx?d? nEq5Ki"CqP L( d,O8wd,,afbN2)4G\_XHt2" iXC0W4:2V,|{]{.!`QX8;5ަEVv'o+}'_(c5jx&gXŴ oP#륻?;}OT GWK&Ckgay[C޷0qbqr!: U]MCXmThzv:Dm"(U\0 CUZ<՞2gw-l`xr !ЗסjWR*,ܼMSeꭽ zwF!w3`>B2BӦ{8-yʮ5N?Kx Oc( HSɧ8H[9o bŦq% ޥvݭLBBf2sx]򠵡:vXb\uMN c & >ahHY;<4@Ne1V8RO)OM$1̘!73EӁUa0TZI PM-uTxX>4AJ")ˋX`ӲX15!aܙ,_kcyR1kw:zo 7h4!`R(VVݯkCn\~nV*[@' i c(C熓QxmW)sI\8w_dk%l:mO蕉܅Y@o)X*KA},K>\P  h"9LyTBojZmys`tb7媳me 6ߪ]T^㦂@R5tq 3VsyPڴ@ysI/1]Df*3٦x8ڝE8|oUHb5HƯ_8o&xv}kT%'(8Lg殇9|fP -Dp/FȽoR;.RݻPsAS' [p9VaI2(*SרK*HIy_o,a nU]{,WVc<V52Sͨ_mT^s_PKjJIh6,0&keystonemiddleware/tests/unit/utils.pyXo"_ IZ)-R^&P괷Ef7x}{fdÇr wpAsC(,$QJCɿT\$: Q+9sIHly{ Y OH(ii2rh+<(uI ՝ {n>Z7!@elv2[NlI̔"}ϸ7GBS,7"$;L ɮO Ғo2] ^a'%фtGK2]vr/?++hVɒv>OW Vh Đ"81o"zC$JS7vjFX-be/8!Y3r`lK'[\##u|9\&z=O+Hj7s KL{jHiqwĥ҄]gRfJԵds2rtE0T$릡X<دX?2W;;yGl(qs j k;e./kYDP()- 7}@=9ij =EaYuy:hc] e7tYL0:S`@{gplDtΡ|dze-1nؼV^#z]i@5{рDxKe**S)>e6KoYhC =iC)\st%PU&&:T#_c0R^ԕ?pb&ƥ7Tr-RJ]<%}%r1,q} jXKbVfI8S ǽx{CJm$ʃV2'~ݣ8T,8+d~JrQB'Z e#7Seo8W;0g~Մ1'25?LOM@MoçUALb5^J-)VgkDA8]OE{X@dT,آ ^,$kyQu$&}TfRI<>2||MZE=b:=sf%| `nS4k.Cr`أ 4@ઍ^]oJo??gDDp+Oœ`.Xm1zMyGC!$(pp\ePRV>T_D/<TbTNdxic(*^J+8Q&Nc(Lm8 @)FAG7:\:ngg-?c[ߨI+6/xbRՕ^ܺPKfR=$>㰑B`|zvaf2j:TMdF1$THz=̹ʔ,pX97IS%RJ)ߜtF}(H5PׯF[aE`o9]';uʬ%^$۱WV u`0* hyiX-ײN*%d{y 3!E1W>cm`l[HKx&Ot-!F%Ld5``gYVU_ 恀$?CB [6"mHT嶪Ƨ2۾c!O5*lIV {Qک./λ'q7N ipzA<Ѯ]cU]3@\5뉥肄KRGjXw eyo8*IR>v)wz' (I=*jzuxO, CN:sxq[*]{=q'G>9;^:.r댺i~\K&;Huj0lr ː~1mPɎzڎE zy)^Fg6PJ؉w*&x8춅׿TDzw^ruR$. YW[9eΟW Tޛh˅ dNU|EcgjۣDJ4۞c$"|qH z}v?ۂ8[\7۪͂8LWSdeSY!tOz t)IBC@j!N+PKjJINM ?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyVmS8_s.5 B0S a(Ql%hp$WIﻲo Kbi}v\1rEy@%g t_*z!^V"9YY LYH.}i`|1BFOas)ñ!E1фKKӢ)mutrpX,lm 9;ScupyHIL" HddBI{Zig]PbD(`JK6ux<E,;ڃu;p?wwuFps;vov|w]X:D4,0UfJF>KnTil|$g1QW*99S ds6)XmYVH --k*^JiAHMlgO!3t6y\.V,MVv̙^cŚʲ,?$X f`Pn–ұqj'Q;'VA:OQGV4b$Vy$H^IƢ`uJx0i)Cd hb"58jSC ɍ+$Ov~$lcnZOnQ{6;EwEaE_~tV5rۛus;)h\֖^Zkcob2J?{q/ _-*ݠhkR:wUs3{W;;T%BybLۇ3ق6_Q "ֹ{G>a/Y<tke k^J&T՛wFA} MKsJXhnoVwB~/U;W#,PKjJIs!Akeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyX[s8~Wh:M҆nfH'v;Gٕd}ϑo14is>'90Ob3IӈNO%T<QEY1Yu뀈PX1Ly{H.$\DbȊ&qrH#>խX4\pZXrv$|?_FJL)"ٷK8 [03+JBg䚋YpWT2@Ғƺ<8-8y{:`j X_N//OAD..ɻ`<·t| Ϻ`IGdhVf4L R),3FfI! 0 I\SiPns՚pAZP0$]K! Ȃ~.J{:g"Snb[5SZFh‘~.8 CJCX) ddI)87dg=h_߻q0$_f I~uz5h%jM } _)&?1ޱZ>Ba)młiEv=#=@왽 # iӞAZ P;ߦqd:s%A}0p4蒙 gCˋOVq@F[d&t A.,`%DQRS2L(bj#iaYCkVJ) Flj4Vznf/27R%>·{"T~9ۡ}<ɔQL1:j I]bq?/{ი J\Q3V/teU=}Wj>)SKh 5d/rt}d뾔ܪ>vTd^r RtTrN XbjInD6XT7=ފΜQ)tx} Qxmb ɧe7p׀5JSءZ.*fdT3O,5K,`F< Kv,apH$ L, ŵ7"Ap+,/,ha&J6gaH̋vaK"[" ZQۨĔ@m~bTjNWC@ad:|9x(G+2NGFg8AQ1%ԡNtsq 1WQ*اkNqcJMYh8Bz ."TO>%zyq:yF ? (@/y[\H 4%7fq+< PN:`4cp C$ m^s)%3?޴;=4QLP/Z4;7k+βw@sɦdy3}{iKW"ch*w*nXTM31eY); vm`! l,ja]A1xzvdwZsnaVP7Iˮ;^Rܴ o.E7YNmL_X-ӾzWWߤy+esS5c.OOb!ղ71dm$?eT+.(ImJ.^%7hgEߊŭ\,uƼR,6 Z( $V -VgwCJwArDESSYp6՘OCVz5h%gqmو sYx^@AkPlNoPKjJIJuQ6&8keystonemiddleware/tests/unit/auth_token/test_request.pyZ[o8~ Z di <5&k3"(Zne#Qv}IErھ!}n߹KtK}b$B⁠RoŔ3=G}"%x1.PPAc!A';(C>BOЁe&UOZ+)Mwy]CX^Q]+.6gn'b +;8F'zBx|!> !m(kq-EDWD+N ^,^d1D'%8Gd@9Mo&l D'dz3Dbf.$q$DFZO&6|O"4ٌ^B 45r{=0#ȡ Ze  +=x2$VMH"(`CZ~R2+1\zF1w~L5|W@M=P(BuS*FR:rW/}?ڊt<=iЀ&M)wj&xz,'3rǩ:^nXF 1Y\sі0jL `?L$~+q?87 @'wl{XB}giZ%ħ9k4 5cw./l^Mj^+fRMTs28$ &Gdpp巣 ¬ o!3Qv5.;MK(X9o*kGR㲂$Y_7]%MS71ۓlmmɾ|cfh$, ̚jQӛRmKzoEn|5U?@\ e):ڃz0 ?ȾclefQxj!~4Zq#Z9:ʸ"537Tmjmx48}!%5i J{R?NZj0lg+ͻን* K[?1!4D#rz6NH2|VOtm1 ηY%>ߑ@-;n}q݄_=w@_UmS0˙Ԝe\?"X~qr)G5S+_/ HӸE-;ɱ6pjLO;r 0Ύ5a{qvcGm)yǗr(fd0BjՍÖv툣fy,URGZkb1YhhTSak ӉI)D )ߥ(]XYV/dC\]s[^1w }ӅXԦ1kYy`SUcEٚc%3!*Դ|x)Iå@XePT%Dxm8}[GI65oJl'Rw^?2m{ڻa>ДxItl=ףutɴƉ-eo.^Ltt[cLᰬX&7%lL\~W!"ĩU |qzYsqo rp)k6Y#,q{ RX 3A, ,gp©E$ :lMM"+ޥ@*֖*.aK*/CBbSAy)`%ݟ>&wC*t]Uhٶu5,eYzM#˭ ZxUXwt·jXV |**(Њ]N㈼MBA=Mi2XܳWC`[w6m:WrB 5eJy5Mԗ)iLbta([$ dp pXe<T}:Tof}٨(0ۀeN +ۏo|@A䳉,K?#Üm/PKjJI@#ir@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyYYoF~Xy$C]ʁ\0 bEH.]Z \Ғ|nӃ.wٹI܅PGЃ^\/OK.Bv ^[/?HHV "L.D"|BȂY*&kAX1"C0efz͔eT=?{ǃ.j| }p:^B.>[6 /bx8)&jb@Kqj*Ch/!__zC>G~!Yo09<GNHo:V(QG%#x A[ZU(0B2O +C< ޔG|pŔ^#ҭCQB"Vc X' ,ka%%jTI\/[R)!|Yʳ,Z͡Ej[ .OVS&q\cK'LC+2AW۷b@#L)^ P#ĐCfDggK =TEIWw:c7 2_?b>F͛V]C)]F DWYZF]VC1VkuHj&֯ǣV`r!/*فxm˄nrR/+wv^ec8ξ᪻>W(o~̬&2`'PKjJI4keystonemiddleware/tests/unit/auth_token/__init__.pyPKjJI]~P0keystonemiddleware/tests/unit/auth_token/base.pyuUQo8~WڇsNҥmm/95V20+S۔F7HE=3f<\ãH4B]O请j#T wWj'T ?xP* A2!-ʂ(!QE%/F]{Lk*\ɿu6nk2f6k-S:wf1ncKƀƗZh5>Pc)yJ5*GŠ26\#X-ڞuGIH/^|7M_ۿ[2zOp^/V0_}}HZ1ViǟH # 6v22&" U5rtB]i^ Rrք.)yts83fk"eZTQL;$YK[ 8_vFh 9E?)7A +(es s%[i *f)&^ǃBDWc0.j׹ }%hQaIL? n\ET1m\S";,(Ύ}uThdhuNdG)ʓrwWQpEXO)\6 uhǹh# EAm/5EAƺE$J;=;x.+<PKjJIoиVD֗Fkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py}ks۶ t((-=iqmIb=KIZ"Ufߟ@ x|ɥLS[bX>qML/Rggk{9^pKE ~D'8 6vS;s'i;X@sg崰cqn3oR2a"HI0c{?b BgG̹ F8qN4Lf~Ov҄"M77;>Ͷoltݧ0csX81sİ/`B#ӜN;4f]ᄯ iIIz $2հ%Vy?pzOޠ;yy|z~Nz݁sw{'#녳wtv a1& ٸ bt&P```]tO3XrAL`zcg̃!HEu=8ucX̙{MP%b/.O|l[.q6$x.a&q4w.MF!Ŷ#pHO* -f?uB-F@0ρhZaAGK#Jf8g_D1 $ ҐvD0\M*x %2D0"9Hc 5FCΘ`^]e'o";yC?aXIy)UÉU4!j2 R ʕ=3$ Q׷݃n;?}}uy-|x}yrvAL NONs=ImkMOG Ҡ6JYxhMWisf<t+ Nu&G3w&wO%g8p20@XqJO( ;\%xywNыW]AW]\vq E_t"i?ԃ[0YXނVܝ[OvO=ǍGu`uop]ı9 j7An]l'1at)vŸcx6ﳝF;?w==>;lpјMe~\Й- 73DI'fsQފVQ_I" ~ .*`gA 0J| s{^6f0s^pd) `4gE4Oh'lȗIJXvTnFhJNTLO4im8S Sx^6]{_ʈ0[JFR9(h6K# 8 ;Sܓ9.hFMg{&djӠVLL£(?-78q0&ӕ J`wCJ3\9,P!k;}Yx|#򵲄`!ULy[_fx)@l}G5f<MP*x69slI+CԳ%,-HvZ8b8tқK  e_q¼ H&97JfSo']θ9X /hJǏOr&esO()((bAwzt> /W Fc)_-AV?B3㧤J ė18:SSHV* t tG`ĉygu2 &7 Fla(f*+Ge۹BRdybev9%=窍TZzEY!g݇?0a-*~8 `] t5u.uXg̗3 J[Xy19G%W+؇O؏oȏL Xή4nLX +@ 6DH䇦6`_#amXvo;;٦ϔ2$aGG;@YB[e0ǵeԱA-7BtD Z~?ߒ *^kk-D%`'+UmjWUg(k>v"Lܺm^V8~j׃YzY8Ҵl)*{q +IA0V6DկX](WɇTCc8 )bۢ(B6kS0PJD԰V6hALBrS3s]"̙VLvխ7IZuŖ`r%*4jnfh_W9i;AڽHw’Wy~|gƕdu8<$g3" Uː߱rYN") VK-."CM>(J 敏>HiD.f|^Y! q긐|YQ+fɑ1A_Ct"9@ʏf.tEm4%'qӦeK TJPf7ª4jͺ{<+8U0[`tw- ~MZ3vf{"ds aZڟF2t_Bz[T_e9yr`[˅|ϲ"IoeB J~c:@)TCCO[˦33/kzcLy邽~4N?p&x]@IJ`D(teS\l￿RЩeI9ʘf_ZN9aa66:d$)%F*3bqUh-MBrM'@[,9@#ou]t|YLQ\UvZQB3at'~;pB (SlL7& HJܹHI{ #B)?b`#yT3`\P+?"`dR%G+ó@$^8cpg4M/b2ȼM O1 ILሎAݸ]LO;h?*G? ~TM~hZa* WQ>XGx I.χs\2UF],Y"}8ljT}ӈv'G @R,?US`D34K k4jְbt9TtbWʑ cg}W|^;lWN7C K.`>:4[o HTV"XBM(1ߓ5d5!v@ gᘣqA@k*269CN}nۑ}JQظ1 ÜG ؠ@ӵ6 ̴%oZAaha*ۜʘmxcǧ3c[]ƹaq?7;3vO¿ fye'Iv ^P']׳(,]:}Fy3Nx?m)n, y9FT_ނ+%oª sr :@l'tÐ-Mpv_uN$ۦa9sd@gb2)6sou"n +6#-ۣ?1!Jc*Am۱VGeNkCwBLE<4V`/Utf]>cqT?ܬ\ކ>fU _*1F2\+KZ͸?Og,=y{.~29 ~;%r܋ֵO:kdO:kdi %w7qkRimU?`Iq+Tx>]i2WcFTċKm0 w:ׂP".Q-Rt4tCY\&So ?8Z.(CKg%|Vr@bŽ0(ƞf@-p"i3yqbn9:h GE*JX{.V1OGW" V;߯f-*zd;E Xip b MTN{)M2 ^vSa-Vϩ_%OSǵ "L2L`̟¦Ȩf=G GIuM[ۥa.5p^կHmf\jfomm" W]!S!ty 2<'B0?8֐]KT( mM Igju@jn:,x8P-~KO)H ȃDq)d M3+ZW&w8vKCp0n<=ƱrTF~aR>U:g=h^kFX<6$amc?s>FN:5I21}$|!,g)gqGGC4P< \G*-Ra&LjT b؟m7$B2Y(18jhs#YGxvӽJU~SIFԮQ!щ.ueyEcd9S^"8$zۭyq=s^k<4lĉ.R 1\Y*#]qgt0|bQPoj栢WWZH';SAٯsJj^c8iWΎQ:BlP-(D^L`<~rS|ppbiL5=y kV@u','c"dyz]' ,zIAYѳ@[B -S%ewB/ gs+6s/[;r2Xi#Q㉉143 }ϿaQvᏹk6 2|;=F`;FOCWpeQ`cd{)H3(eJA0)s0Ic2 Fe34&5$b =fT/ hxoqbVte6fk]tݑlY|Jm~erla<"i'\ nq%EZ'K񉄜H"C֪o_ذ 7EqQ=,Ё< bŴG_ո CO a3~@o]QUC.L@WGbڼ8ϷrS9*/Hf4lwwQbp⥹_TZ!tV$V:S?_w7,ʆr# u8`䗊)߈a[Q, luٯ{4?ǿcSfQ1<쨳^`]6tl)¹S"l'6T|Jw鑢Kx|@d&^f2eJ#{%q8_jq]眙3=UL@yV˚o|Fmv{rŬ a =ny$-b3 FA9XJ|EzS;2Z+f ;dFi~r$c+?N : 4^۹»Qշֺ5]GVvrD._3 [E09MBEO R ,˙>r{XfϬљ A2JPEhns9<ֺj$OKIESS*{ȳ0.;: pܯ3_F 'YQ5nMݻ)x0*-9nM8JY x xAҘ"P`sfB:3l`_>a< w;*/SΤQ|`j/Z výu8O m|CѬs]GczIix|O}XUSꗕyTm5l࣠$ :}yÅ{Aei\h/kg$ j$c :w^46I|Ve)=˵9C%l[EJJxbeoi6n-&ͻCG7 B#~ %ٖOlvl4ˬl4 .L|VZθCm"7z&=e|))Jə9>hӈUS<~K@TQZ ZݣG0}w.)iOV٥IUcU.?)T%DIS2X65'XluaWa)8NB 9 dr"tθH!v^#$+$aK\rď&?J83,1%LwvS&7›3?AM#0sgE݂ I+Và|RMOS&e )Z_>xfex V~#__Mqg⒫|kHq_}Dߤ l9Gg$>ih"ᗊ*^  xkD- 3rJ.h4~vF_^^ ?nFfQAL}_1g8#9CrZ1u?R_]  |/LU ȋONB>Š|1" UqbAsx`[  fL"@;'0cRyYz*M<Ŕ1ڗ<(&E ފUyb{~D+fma b[ "a@uL_Fy>m0d]eB9L6$ .:Ӽ=UI$EHoJ,ĢBu}-M\l9M@n(%,Pt.b ,u$w n$&SaT楀`"Y'J68jJmx9l{|^"@195QS@zZcXab\VyxC[ЪBZGaEoJM蒒~YE ΊNV"/69_fɌ#jgSܿ1e>_qjSb"zvؕI~f| ^#0 õT^MYb n C"#XyT=S0&ݸK_}7thHoNSMy'JbqA"ҢͻT}ZV/VhؑUuRP<*“u,z>m0p(_\LhezSbW CbmxYUϮ&.-~/Ivn{IOgZar46,@?|; )9-ie%&ZΖ&kM["PUs (TYM7XЍF+ :gi?7aXߙB0?2^㭂و8=>tg("Jqj˸Yx!={4V!҄oww[#]Tѻe؇@P5y 彅 6JHW?%oEY\5E xJmk9$Q!rNZ>Ք-Y=y!(mKJàhZ /(H1O \0\ ڍW0̗͡!d\ӗa<Ҩ9XgtWޝpּׁr_2gvszyOm;@xhl͵; ۩q#6f;0osAˎ"ѳg%05wyo#|څ`bʘ>G ;a@ ҊSsf)N\!I%{pl; f _8f2;0ʔnv=]B~)e{)wLfytq ͙|JW;^IaEF"^JӤ` Ty[|ו}=q),|0ȌoH?s凉k\t> 6D^LPR^QPt=Xu,n;F]r8 F+vLt.0[T /4L;Z:^^ɲdgưzUO!Hؙbt ŹJ&nyvǢKc,c&K2; 'DMe6} s%`#a,v/t_)hQ?a"ZTb94Iclӽnj .4,UpZٵv(x `Va.l!^+V6K*_G`{oSخͭ4A5?fn*hGɭ<6o|UA=j?q?[^fK,'G2dz盛3PfH1zgՏ(yxVYNb_>og3R;$ 0&T&M\@s",WPkKA?kV"GzR=b& w-YKp?;|O3vڲf P€plZ mm?Cǖ}`cWW Ńߥ4 Ӛue'N-^k#gޗ2pjTܵE< a +3e®}ӄa3!+H;,jb P2/Q,Wp"7vDpq. Z Cv_X"P)$bpc#>Cp.)%V,*!bTr65w?\n4')#osU -Cݎyݣw#޻\ag-_PMvvMY sb@#`Iɞ^ Ckp\c5ora׼#pnC2Q]Boqk cV&%DusGN/JIH^iƂQ;g\Z-FllÙ5*k:Z~U^M,fAڂiTV+S&P[ڎ늱j $LȾ*&RDKDf?%Oq]EL*n̓(Lt@mB:aTMzy8 UN.\SN_(PÙ^MWkj+$=og1Y*3MIX| gLjٵ2|NtE@PLA.-*[#s:߳otؼT.f\nh!!Jhrʊ@a~|(|e~E #whJFZ:[U=j*'߼)E>B×h~+ i,pG3P= ݇Qy*K_=oxl̼'fo7*KVN;Tt}]ko/~ ;4x!DaL"\gx 0x-R:YH\0y[p ۝hA9:5'|~ ̵ ^u?uicz;mGlNk츳{Dʘ~;=bJgz~M U YaW^S"pX@v쌴U=wO}O'Vp,!&3"ܛ;.f=+Z+-=P+[j"p. M1dN pmij f{3>UW[ Oַյ.KJ8pvoOXL5F-1(pǬ3YլE1Vtv-mv!5^6 P[CMc3XQv?yeKDڶJ۩eC!ifT++g|>{~Xk[6Κlwvej{'!F.e:JbnN'`h^<h}gFY2}&GФe='F)4R Bʁ: , 2= T:A20Ρ *Իgh^seS}}]{v)UګDu7~+ gԹViX|9 9cnzcб&"]S}0oTJl1%a'^-MU%Zɼ+oЮL8f"Ċ` vΖQMzbV걽r{ruAY.-W铘sZTAǟ%+ z~;V_m ;|p߹wlZp-8RQ"1cr.+%TH?p 7mSխ-z<7QǗ}"?V?lsfG.F1v N !6;Ox9=8:>v T+Ͽ兿ugER$ҳS-)fjYin]iHe-8&D*|PzĘ!Zbqʄw ;BS৹{(Sc^mM2auB٨W'G2| #t^0b<]VK¢nT ̅1Yp**TV[(cEƅ&Fy5q3?Ť⛄(^\tC*sKKXxK=c()P:8\L4{Yj7.)H?FȰ"{:y ^RE3;ۈ1ur+Npd+2g R`f l12 6IG1H^P^M)lT! ACR袚f1+azF)N!Bl?mgGŞ7tsӷ k}1D=ot%ZrAٴhUr+E5[דɌSMopdx/%/?:$ Kx1UXi{ 00Tr@WNz%[^AỹlEi8I" 1rGOW mLF净<ŷ$ f? [[&/da|"%495O":^-轞D ڼdxgLGbF9fEO~R)㪬jw}ӺRSZS/gF `RL?ݻr+-K,6Rgce@DGaX juqT#|D7Umq݄t9AmN,d1m;72 EⶊܖhMf~XT7ϤZlY$Ǒ:3I9N`0vS`Q&W dLYXsŞd(oS278tJ ?>=/24iI0CoӠE*HP UZ)-MŌc3J+-!lEIZ+܆ӈT+LR6c$Yʒ ^abw;{$ʳ"䚡![zS D15Ω/YIj=H8M~´R( '- C VbGF| 6إ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@;>?[9dYPKjJIc]8&<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyXMo6W ,"\,zJу7qQc69M$0f#ZߡLYNn:ؒ9f> B,z$?Qi.Cg_`+ XwB(4װ>&3DfUNSyo>kx4X^+cpلdJf~\Gb\܊ _ h[`9J=THcFZ \ SH()FtjѢ]ҋ 8E0(DMnu7MqM'lJOh>N iEc,"ɭUj,dEHOh]bY%RJr GFS2LHEGJe@N ó-\ni{%sE+ lة _''9kFFG]6s]C#6I"7kd6VJCiEyu[weOv5UC]V._Z)v\{Pi^\|"<.^_v@_PKjJIiͩ#<keystonemiddleware/tests/unit/auth_token/test_revocations.pyWmo8ίZ\]@_NnJjUU$xI픢U rۓ.B!g333OBk /JQu yBcHPY s_5Ÿ4>F!'IWX2v4Ph$#\Ìcn ea-T[i0.-F9L6˜]VsGRͻi)W/tU5(ȘiV B3Rp1A˙Y1NµQ|Zj)r_`cN#N?B:vn77xp5^ƃ!~1^-1‰I#O&d13Stb^9\>2-\L 7ر-jhQ $̠ZY/ zT<٨e2^Z3%3XZ)0I6bYL\J~RfO顶tW3IzV͠6:*7YZ8eDv tt4wZ- hM4E;hLg!7KL&)%)@uk2&˻t9#{t>nJmRFe=Z""$)2QAIy2C¾F'( 7kWQ6#/t <15L; hWXvPyhř;vA䁥lFI:h,< yȣ6փ,LL >t&ƛpXq>vl~(^Qۇ-Wh/| Bhsʓ:͝}UD2E9le벊 p wjLJ3CEh6ը(7s*%u;cOWHPkܭ^L789|l,U jg{WZ|erX u@I4x2{:#'H!WDapiamTൡz׀[]U!kk4[?>ݿI};#]x2->@_Ac+?Sy~Ľltac*`Ϸ33G=f`1$(gߊf۳ԙ[.^챷JL#:l0Q,bhA>רOؔ6YHK&dM̏&IPKjJIͶbU6keystonemiddleware/tests/unit/auth_token/test_cache.pyWKoHWFb%;'V9B4h"hnOw;߷ƄeWC`zwGp)CL Fjsn&BZ*WX^j4!+Re!7H*pbfA$HCZK&VȔ4 }-:GXIɊ8a,(cn3KR`8ܦR QA2 LBdZY 91Aҩy)ah(JF m@i؈~ DSnV22lգ^NbP 駡^e`78 FHڑ1跾J} & =O~ ș8~eJ+s1;ٗ~ h]=?@6TWk7#zxLxCAI6$*ʉ_!cfZ>AA{O<Ejj7M) F4lpZTm6s}[LDLKvµzmGci`E\|\ .Oĸ =p bmG׹3j;R>`UWR:d_~{lgjݓ֭3gɟի&[3Ϊ0!uPP0s3n LV&x>'?hZz}OQa/DL|;|*,ˌ/9.] 6Vn@5TUms+w^ӟ8 )*^[` W˗ttޗfcmy`{u9r{ۨYjV9K3Y,y.wBePKjJI;?l7keystonemiddleware/tests/unit/auth_token/test_config.pyWnF}W d.>Ѓ8T "FĊR[S\f,,Eٲ-(;g.;:$$@ f0IO?:*a~? v* Q Ʉ 1 jR$>Vu72!KSzr L6&8?nh]N/fĘes.5u _f,4H#ŀZD#ThB#Y df\V 6] D>,\O?,l9Z=\g|Foo`2NgGT3~)G \X 3ͰJ*e)2>+r!DuBہFf͌ˍ4;Ylȡ\FP ,VPF_f03ՂFaW.3* dWfuIȫd3iDFz["4^ evOËFɵ,%{~,(vKH;n-K6dӿR鏤~{©٣ⴁRO O.7L]ۑ'=`H4jro/P}|C4\4:<=-0IiPX%wW̗V 2%,⣇X(nKo#f)k93yq[QvhǕ v vRa382Pm6*qmkp'wj5g|yQVT쀇T)MG w{3ׂ8PP%ˬdPN3w`k64SEvd<ڢwغV$fͳ]{α +C(rme6v5ĵUjtʓSc2@5TlXmxΝzK8rPAm>"v:77gBgX= g\u"tՏULUkAEG27p$g]Dz  wMo57PKjJIM]e5keystonemiddleware/tests/unit/auth_token/test_auth.pyWMo6W QWn{ئ8XS.$0f#ZZ;CJ%#NOY$g% B,jd_Qi.|~\TC?UW4Ph\CSD")g"BXsrTA^l}Nix4螕1p^ ZR7|+e|DZWW`9%gJ3ek R!i^+nX@ĬBsm.L :=ZtӀb.s/x>tiAdzt2GyNӇ`<Mg@ŠMl$8b-6:D #%[",OT9k˦bHy 3MxM(T.n=/Q2|F dYx7 Ў[iAix,,['̉UuiayDmt%wU։av8Ep`' |AQ mQ{cs Mm_j]"5c[:(4 =Ϫ:+4|i2Jj3Uj+id$ӲσǙ8れ`][u·t5[&,÷3Qn^Bڏ'u+,u,<%*o;%qE~ag-[Avn!Va Î!-'!&S{=_QfcjD5܉A.4wQJl*2 T r@V-R&dTձ` ;Uq:s_nZ]Yy] ~ [DZ-t-5bˌ]Zz쵇퐍k;îL=큦kvX=hJKxXmiTuUj7xN?uzW7"%rVa75wChwŗp:[L7X>2K6,:wE=>q9ozß?ͬπ-Pzֳysכ|s-cOJ{S|[SPKjJI:^@keystonemiddleware/tests/unit/audit/test_audit_oslo_messaging.pyQo6)Ƀd&.f,uiQ@K'D$~GZ,/I.k zCxBcHPY KW=Ӆ4^/ ꩣkX AHF25/.x4 89g p ON+rI$y$)L[Y[%<1%eA%((Q\jj@ ncB#R(dTF ,xhsF&dU ԻLyqHL!mNHy6}]Ϊ=;AbQLs,@"ZDLGem1Oԏqs$S^>)Y x$F-F446{aL|sh uٽ6LfNX=ww0M165T~t-$0~/7g[X+).*Z}-A2Dd ljaA]Vd,jlpq##$1b$¶(S;QK /fdLUX6Ycy$C mx^5bmA\w?=܍C)o:!#_(t7/oڐ+ Meɚ($q;'3~Rk,Rr W9YwE} a2YVh{zQ](TNH%i^%oR|٣ MȾ񟤉Zghf[pФ{*v5jjN֔+m%'վT-ߥ7I;̻܍>S^vqiL#^\_~}\wPKjJI/keystonemiddleware/tests/unit/audit/__init__.pyPKjJID(ݡ +keystonemiddleware/tests/unit/audit/base.pyVmo6_qP>.\yt^fAD\$R%8F,;o]E"F9 )W4GT^Sr⫖  @(ص[Q@FpPM01K)Pdy)l^nj#.\U&@4a-qwh:?7KJ04|2Oȸ,yJILYW[ 9 idBI$EF2x2%b!)-٪{j᡻ /0Y[LgKm]z7'0MO'd6x+2b ϥ$#\XPiC!ibxRB"xȩ̘2TH/eLmhѡ\˲b)2*A(xCAHׅĴ($ )xAe JMM%YΆʍhXӺ[45XRDL?/-8k} O[₌洚r '`۶uh$ HXƒHEDazDV&()"˺Ή^e#dH9ڼ4JrĬa.&.<ݘzP8w,s* S(ꙓ_11D2*uǖ¯_L1zpGڱJň_/i\ͣ 3[!.SBJ*RDgNgWSiUQmWb'b'sMApbgq6&F?/q<B%Ӣ8.i\kX/eh>[dŨ?gXIy}kDi."g;e5 P\阳& sa}_Z'_;ΉՀv=۸P5^ofZ2VڥWj-T%'e{C"}UԬ/T>lwlr 9Èaj\ǺUeϬ> qf'_$'<5ݠvoJiR(XX͎ E셯G7>8a/b柠e8ίF(U~4x3zǍIr)PKjJI& @5keystonemiddleware/tests/unit/audit/test_audit_api.pyks:;B,5 ~&eB6vҌGtc$_Ka2{$?0emnyH/9uE!sI䘠[[G:qQM1.Q( Gs/eߣ9Mk21 }P >2~ hԟI6N-x0yQOQ;o6KXG@+:!C" < ITR6"rX\*d@\V .ju {VѧV}\v%:ZV ޢF3jU]r`*=B]4J!rQG- |LP<:K0- eJ@`ؐ0Qܠ%O@% !3!9#QZMХr]'K!2*-1`AJaPNC4|zGDY5[×nSRI9KhDDZ[Vф1w( j h6 ߴ*pw?vK?ddIhwU1`rֺu ZZa?Zs7r$ډd%o֭fYfFG:>a]1ʩ+m0`pv%LA ۥL\Fy N1!½Af^3?\;&HR)GAš  B ›! RH||y3LU+^9}ebGLݭ)J@9I뭘# FO܉XxZc 'qy $ 3JC=o R*‚8!av2YSZ\M7L6{prf H-=lH YcA*H d W%J$pƐYoyfQ x@nʕD bTs<_DDe>l)!Zh;5g $=f+RXeϽ-aEmhš'mAtQ^\T15*jM8C z+lXKNy b. Hq qb83z>%^CXxZ;/~"*: kA. y|:t0wٓA,hGH/:&_>pҶv=_T푊>C(fcOѩs70HNнRd02}I1!ac*<ڻ.;ŵ9nE=:v SƝFb-úrf+U|OyrctGx:| x^ R{ XT0VXx([d.M7 IVٳr8NiBa[ק: L˕@!BVh6@,tDp:Sތ>2_M,Q$}|c$!7aQ@!RJj7SZ~]┻Q"ƒ- qN pp/5\ uwކV>F Gc_f{`6/h6Fqygc4ͫ{# =nW[JsБyn8iZKa ?xٙ|gA$`ۙ~ 6x%o}jo1 Y `n'`ڍJook{^CVοكf}FUznhj}XWJz{'ijYfKNEܱҸQs$[F"ٶ8R4L-ޡΧvQ&$(T] 0U4 nZBIJb[m~x_KYez]Gw*<_zZu.s/wGr.D5yX\NHx)hAV Q B{y%ѷ|$VPKjJI9<keystonemiddleware/tests/unit/audit/test_logging_notifier.pyTN0}W\I̅=2!@٪te!MjvhNRb[T5q|ϹT$( P5¨ ݺ~6BIŽ pn7 [UCɷ^P$ a n, *Bp ]5m:w-BapiVV'zfQ˔·E[i8?s# 44>BxE$_s4g `Tf\#X-}N>,hyFx S7J ] ߄4}B|Cd-ȾȖfߧ"ԚQMgk7x| R)ĊTbƂX[$7\J/zT~/,RR:oX -a0Y@ϓEQl~y l/`.[fWFrR8bɠ-/JLWk,3namvh55 Z:Kd-A4A bcݑTDPP+K@cooop|ƢeLC(e7Go㺆-7kY SD"D77[OOP) z°ѫTԮ1(HNZk;a%OaG]4U԰wkW3 s΋71NH7g4\;tB"Rs9;{!{a}p8x <.~͎*C( hmʭsIf>$NAg ox09􎖩In_J*=v. ir)=A*OЧe[7/Q!Z(AwO,: %f ’׉\|xG 6H-},8ey8TU+[$Vk>Ee^9q90PKjJIj#keystonemiddleware/echo/__main__.py-1@D=$4pz cX17?SLt›[u͜G.2 >Bpۺ=ǧsX7nO_l. Vc1%fA*b)*z/PKjJI#keystonemiddleware/echo/__init__.pyPK)kJI=#ga3keystonemiddleware-4.10.0.dist-info/DESCRIPTION.rstTK0WP  Cb^kOٓ$mwVHX7^g\;6k=a`{+''/ջXJi 59]ʳ̷N%)φl{x=qi qݞk b5{@6M#ХaL l^Įi2.)}N2^`)!# Zr} &_t];K5,#|A}vqV$&@y[=JXV,ŀ0 ! :ű'FkdVMOi3l'OQ<̹>Z< k[9:coC.*Fe[w|44Z9GįD܌vpC>J/PK(kJIK{R4keystonemiddleware-4.10.0.dist-info/entry_points.txtM 1 }N1'BwdJhS S s{@]$)NVդЕctJ7xpȘYuL+KOL>n#=ɭckPK)kJI;ٌ1keystonemiddleware-4.10.0.dist-info/metadata.jsonUao0+Y> b 4D'P:,팖;;B޽;{>Ǣ\$SwhUrd]ՠfxS@eEM&A TTIKK] **u;'#R Pcf袮`QshsZ(Ea}BKkBR5+B]]^Uhx^VGpO{p' +E6 &2<1TX#Ֆ>uX1m C ..7x7TFEC"SD87+I)~nfz F!AycZpҹzr|\Fe3rT2J i% Zh[jZZ;} 'lN&4(Bҁ8em,w3'&;A0=y$X;z2sFnQm;+p#i է6JXxPw|~͐%}%>"d~4@3, 塙+z3bxjs/ϳ=u ᯶y&`iΖ .wG]B}W=( pLUHt6v=0 Rs0lSU_Ö_(fXt^k7 ]\ayJ#5'غ%#\oxa>?O q%{4Ź&4+bT~cgwm=y f];RiPf!%R`8ۡ+NWZFtᎴ$kmT'MӀW$rNzN#0iZiz}웏7PK(kJI4a/.,keystonemiddleware-4.10.0.dist-info/pbr.jsonVJ,/K-*SRPJ002IKSQP,/JIM,NJPK(kJI1i1keystonemiddleware-4.10.0.dist-info/top_level.txtN,.KLII-O,JPK)kJIߖ{bq)keystonemiddleware-4.10.0.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363K4 /, (-JLR()*M ILR(4KM̫#DPK)kJI2 ,keystonemiddleware-4.10.0.dist-info/METADATAVr6}Wlb{$ȲekO'i5QdO4} bE&e_/lNԙr ggw‹h2:~"npј))SuY&: ,ċW~~7vsy륢2kk/.fB:w+qkw|sƍMHJ&??u*<9mO.SZ($CJY3r]%JR1@:hSڤ&Y[nBAc)M[uJ&C5+B\KY258@JNS$wM FJw$VdY TRdM{@ÿ}=%N%^Ow,[*Ѷ/'e3>PI@3(wRS(Q8Jꟊ?[Uj^T~8L61XEo%/m**b^Z 8uWoK_ͫ'VJwwԇjSUO\|,fHH+u|3`EKKOmxfz09,j:*K[*Luz *a@OMo5^. JcJZ$: nd;.7aJ;؊AfdJ4ao aUU%jqĞ tsf]v`H0@h5f4!%/9͈n.fzBEvhߘ 2KrcrWV{iBvamOq@I~ s ]vD Ds$i],&h)%$07 ^X]oiʹ3:M>f5W0&(3!MQ=f;D҇~:Hk=wUXRS!/~m'&ݳHމ}B$CaYrpٱvkrf1W.^JgDόoVJ|ā}sUf7e]_k9 ߊS_+?CާY*;rGYY(馏 {Q9 }jQ SC#Z1 2IJÐzN1BJ3&ׅ|3a~ T,cU[,~d26a;$3tv'G'}r׼/:U$<6Dۇ87zøg=;ê$*Jv2Bc6ۮ+H ]`O0\/ )$LMK/ģk WRfwYtȺἲ $:lygF1b,8'?u!C 98P(VŹ5_w{?b>v`La)Qfǘ}N}^l-C'OӘGzS 3Z%Y% Ι/#7)/oazV?ͼh?}cy@Ԥ{7( ֌fA 5= a?U7w]v3Øy/`Fo mʭtE0Otj;{8'R)4\B_{Φ̍=9:ݏg[^O6C<0sJǒy(Ns}1ߩo$od60ܻvgӸL8𦫗'"-Jz'ВtL5b |)q2B2?n'ҬXE|gMd[_^-"$dR.'@iu ݏL,j]NKsη4+s}/7$# @N7xkm-Y=;p߶O5^v M=^؜HۙňʃgzR%Rȕ8 qɫ oOhwZ~{:/d@ꑗ^w"GM]G[xdkִylD{]@ؓw ͨuHcgc/̟ns[8̺O6בqPG[?bUjom=\AzUaŭxK%]ZnjdN6@O'GWRJ_ڳսl,ӗ<2WnڳE^ub cX_/L6,-ZI&ras8Z X#{֯?,Q16FO: W 1ZpK{J/G }/З0F0`qx<?fMTː[KS =?^5޾VG2U81VqS]sNWYLM~ߗ (} 1Ken2k -#N=9p+3kq9#w\q j {r;vP_li մ:C\m>Uɇi[;Es6޼E^tBKQ]6 ˑ߱ eܢZ;T:tPK.]͔]s.ţ#_Ncze4Gsd&sɹQ #Gi8?cWAu>ƶPKjJIL$& keystonemiddleware/exceptions.pyPKjJIkeystonemiddleware/__init__.pyPKjJIgpq # keystonemiddleware/s3_token.pyPKjJIMQGkeystonemiddleware/fixture.pyPKjJI/Ckeystonemiddleware/i18n.pyPKjJI\ keystonemiddleware/ec2_token.pyPKjJI&M!keystonemiddleware/opts.pyPKjJItz  &#keystonemiddleware/auth_token/_auth.pyPKjJIUcw ").keystonemiddleware/auth_token/_request.pyPKjJI t#*w9keystonemiddleware/auth_token/_identity.pyPKjJIҰ-%)tCkeystonemiddleware/auth_token/__init__.pyPKjJI -'dikeystonemiddleware/auth_token/_cache.pyPKjJIs }I&wkeystonemiddleware/auth_token/_base.pyPKjJIjj*&Lykeystonemiddleware/auth_token/_opts.pyPKjJI$H 0:keystonemiddleware/auth_token/_memcache_crypt.pyPKjJI9w-Nkeystonemiddleware/auth_token/_revocations.pyPKjJI aJ) -pkeystonemiddleware/auth_token/_signing_dir.pyPKjJIn ./keystonemiddleware/auth_token/_memcache_pool.pyPKjJIn2ľ],nkeystonemiddleware/auth_token/_exceptions.pyPKjJIz\ -vkeystonemiddleware/auth_token/_user_plugin.pyPKjJI+i . keystonemiddleware/audit/_api.pyPKjJI|X6 $keystonemiddleware/audit/__init__.pyPKjJIq %@keystonemiddleware/audit/_notifier.pyPKjJI=w$$keystonemiddleware/_common/config.pyPKjJI&keystonemiddleware/_common/__init__.pyPKjJI$_keystonemiddleware/tests/__init__.pyPKjJI0z'_da0keystonemiddleware/tests/unit/client_fixtures.pyPKjJI)Pkeystonemiddleware/tests/unit/__init__.pyPKjJIgǢ .keystonemiddleware/tests/unit/test_fixtures.pyPKjJI4n*keystonemiddleware/tests/unit/test_opts.pyPKjJICB2keystonemiddleware/tests/unit/test_entry_points.pyPKjJIF#9keystonemiddleware/tests/unit/test_s3_token_middleware.pyPKjJIh6,0&keystonemiddleware/tests/unit/utils.pyPKjJIlD:keystonemiddleware/tests/unit/test_ec2_token_middleware.pyPKjJINM ?Ukeystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPKjJIs!Akeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyPKjJIJuQ6&8keystonemiddleware/tests/unit/auth_token/test_request.pyPKjJI@#ir@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyPKjJI4keystonemiddleware/tests/unit/auth_token/__init__.pyPKjJI]~P03 keystonemiddleware/tests/unit/auth_token/base.pyPKjJIoиVD֗F)$keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPKjJIg-m@hkeystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPKjJIc]8&<nkeystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPKjJIiͩ#<tkeystonemiddleware/tests/unit/auth_token/test_revocations.pyPKjJIͶbU6ykeystonemiddleware/tests/unit/auth_token/test_cache.pyPKjJI;?l7~keystonemiddleware/tests/unit/auth_token/test_config.pyPKjJIM]e5׃keystonemiddleware/tests/unit/auth_token/test_auth.pyPKjJI:^@ˆkeystonemiddleware/tests/unit/audit/test_audit_oslo_messaging.pyPKjJI/keystonemiddleware/tests/unit/audit/__init__.pyPKjJID(ݡ +kkeystonemiddleware/tests/unit/audit/base.pyPKjJI+DAc"<Ukeystonemiddleware/tests/unit/audit/test_audit_middleware.pyPKjJI& @5keystonemiddleware/tests/unit/audit/test_audit_api.pyPKjJI9<keystonemiddleware/tests/unit/audit/test_logging_notifier.pyPKjJI}Q"Gkeystonemiddleware/echo/service.pyPKjJIj#'keystonemiddleware/echo/__main__.pyPKjJI#keystonemiddleware/echo/__init__.pyPK)kJI=#ga3-keystonemiddleware-4.10.0.dist-info/DESCRIPTION.rstPK(kJIK{R4ikeystonemiddleware-4.10.0.dist-info/entry_points.txtPK)kJI;ٌ16keystonemiddleware-4.10.0.dist-info/metadata.jsonPK(kJI4a/.,keystonemiddleware-4.10.0.dist-info/pbr.jsonPK(kJI1i1keystonemiddleware-4.10.0.dist-info/top_level.txtPK)kJIߖ{bq)keystonemiddleware-4.10.0.dist-info/WHEELPK)kJI2 ,keystonemiddleware-4.10.0.dist-info/METADATAPK)kJI@W *keystonemiddleware-4.10.0.dist-info/RECORDPK@@