PKױBk \websockets/__init__.py]K I#EP J.~؊n-ӆg8AQ3c*D@NGuŷ/ߝU K Lv.$p(JhZXl,5gn+U NF1_(4ưG>#̘pt;ui%ZO:n0Gx|KҮD ~~GGzl)iFjMx͋P61 F$]1!ɞb7v/͉- llfo& ҵuK^Sh`Ő?J0, GF乷/V3*^q4\fB`2=NI m%ei&R(*cKXe O-O4RGLRpȉ9'nqJw\W5uRAtJ5u)C/(zGd,29LXhݖv*Шq shY2k5^>YUcBn$7@i$.։4cja1gkw_ǝF$n |g&8p$>HJS!ѹ,`Ѵdrjta CjV]-II@hLu6 D/屔wA0&ɳ`Ńen/iNcgm/j=w{mr 3PK C^>websockets/exceptions.pyN0 }   qBmڄ8 TF⸃-?cC|ԵK\Qȭ밺Y۪ӟͪz.'37^.<n Ub-8h&|0+1L!f1 0#M#XU"~AR#>-u-9-EX/ZQ%.lRFuyObhM z7ka[RJ!Y/9cGi [PKFD`*bwebsockets/framing.pyXms7~bkyj)P2e$ah>Ng9\IGJ7 SJg< %H"9FGb+!19:+.^L^Dd dkQH؃"gp^<@YB%0и5&#V?xpT Xf˳Z ||8xq|zǯ^\ i={Y:˪ % oLi>KBG͕`z?vA1. /aPgsn? S~w<Oap`T=h`WNamdwQVJ]) *Ys/E{S <6,0̔qrRIfݟLJC\jYl!!?`S[iE. |EHe#X%-8 a.p"/ PX[B(Kp B;F]ًSȘK?P#LL:"RSb5LHPшv3? B)ϠfHCFb|8Qm WFJpLil"O鎉caNh EIu%t>Y8Ig1\92 2AlIGimλQ9Bobu&Zf6gY7 Kzo['܊98Np=`uGy+,n{yD"Gx '%x{Ծo<%%?\MM9ڴpL[Q*C{XAΉS,oZoxxl@}:`ܫfDWQ?‘joW Tk5jzf=D"Xb!I.~dDX'գHPА.9RKmqk}/uUK&WPkƁs:p?`4m ?VDseIVWWucgm7uu[>K]G]΢74ipP]~ 8 =HcV6;8Z[GhK^S7F7~8&j--0fm6NOLވ,LC_aҶ3Ku:wot1W +2wS׆НBcj^#릃W{&#w/"+7VF 2w!+r袱ì}']{irZaU7.Ÿ>N_^XE]1_`. _ S:ZwE__(i wJ~3e=[(uօi5+f^)k.=4nDEA(E\v/PK]MCVI|qwebsockets/handshake.pyWoF ~_Ad1[7;k]q6IaKhYݝywe;-a{X^jݑ<#=;; 3V WZ&htE#2GH15< !_pugeA&U NR:#!Ҙ! \ L2 0dfF\:jsm~ |5G 1SQa]\bq>70bQhÞ)Jj¯ml!R؞Yfǝ5",Eڜ.7;n!O3ٿ)rr:AMk/5'sȮ;'YhzC8k~ {xϒ Co.T]?GH]?a_/OvŽS2`zs HW8kqan=%vVgFZ෻CIB#߶I1MF# PKPDt$z-4websockets/protocol.py[ms۸_s#0v.xΝsLvm_L(HBM<v] INE@nZ̏l&EzϔR(lJM1=$4cq(X3ƬOPiG>G_8f$1mKGcB%K% a=zzNO(P(@H_IhRNPLȋYg"}/pTW@Y5i}N[4[/0[*͍cơΘGG7XsAG5,ҚP"J0vuy@J__' R.gHKKHG7 ]t+L!hXFgtҀW+@If$K0(069)6nΩ5%xnwi"Gh?vmV;sz7S=7b3_r!Z \Ot3L#i|C[PfMD] ;Ӷi' )$D8\cf*<!2]Iy{iMVļXta`6`Bf=fM &깈iR(Ld N(dUF-_rC7H,Aݟy]rz%p\sԁ?09xagUxřv ۙ{ٲ2*bl&׵14cʱQӻM3Vj u?fߦK,Bp7F`nq-َZuDPÐhTGd%-ڛ,@iZHPM=la+tU-X $]݊C )t*:ɜy Pm5)4֑ICk#*] e.`>a~+W)z7e$ҩ=cmWrH7 9 }ۆf [.ǴRy!f |w|OEIP#Yi*B-n5aEj,R1tbqAhb4 ƿfPoD߾w{''$yWbOz IC{-N/yѶsD)4*Z{4fd /1x'Fn/s<$ ˊbÖ\U7#Ɔ{j{kHt c܍:.g-;Ƀiۀ{q>Q2@sk)N](Yӭ>U&ޢA93~=<:N;׭ssMdlAg7 ֘a.쁚7H_m⤺yZ1뚭tNFyFmKNxRM׳9%cHlD"64Ue {tx-rwE^E< B}_=ZFQtcn 7̡Gwbw/::c J̎6wj{ݏxk`?x X.뺧@+vhͤsݮFOj.mX22G0 qUh$?@ÉKdbWI10[XOsDs/W^i:7lu\ -r5tsC} hիsÝm?~0sd'/Ws-;/ؔ+csuS_n g$5.n@ܜK cQ: Ӷ@QPlr K{Raݴr|-GǺezaShzuY*J5-x lz[#=SSdX F^$xC={0. vZ81 EŞśY4ߢg9nϫu(||lnz.ނ^*ֵKس6mnPeIpG>';Z<_hShB|371ue /lJnm?H=p'&K݋&5oA提oyeWK7BuqھW8аngnzCV. 6W(m ]1PKHPDLu|websockets/server.pyWK6WAR ݫXlf;ȡ)$4ˤK.wQM-q{d2Ik`ӭll6`tA=ZXv4Lws+ʜ$yᒪ}_Uô` ?J>#IP*zZub5KdGH.9Xtg*LK ' ^~bx.Gߺ2)"CV-yW$;=w&~\)ByE覷Z;Y1VYXo#ڹKmZ5u3ݔPV?VNb&"[К`;3wl3 F6HGhQ$d%OF-;р y3X7lӬ عVBbUyŰЙn[5X/D`Oh7D(K?NICԨU"P:riQ/BX OS| {YSu`q\/+slEwC|) 0b|1-t(~b.\.nhC::B+ ݹ5:HqmMY.Ol 85bf"=NBvLk섞 M 70ϓPKPD[-   websockets/test_client_server.pyWK6WzEQ,@mIGiR!)+;|He޶S]rf~ Җ[ .ZUWlGxPiebWQѝSS}nYؓUHJ8 tY>( 4V0XmHA! T:99ڜ)ThDOh_PZ\= h;խ,[i(7,dA$Pa8b=fegno@\I @V28Ǖ >NtǴ̦͋a4(wuI[nLH=n9}ݼ!77@C#(6g6)hKKEWd5S1썟dX)188zMRSUzzE1Ȉd0[,Y$*ZxXl)Pq[9@M񹔞b}4dy2ń9CG\#y:bkP[pCT Ze~vW#0% ,w;)VG mZ-igRS+e[&[_Mlmt5%̕uOݴJ~N52w՘E{i4VKf)r_gZB_ϒ3H"p78̕|W?^< 7gBnATEyS[|{3 Nt9.>?Y/eO|?~PKFD}0Pwebsockets/test_framing.pyWmo6_A,u!'u臵MC$)aZ:yDeQ#;v(z %xw'- .a|*gJTyT%:B1Kb ~ \gBpaSA,_TAQ)ɧrW*? H$d)>%oyW1p*1 0koP;q%xK1O8 }YK-T}c\M@8q D UԳ=fS'0a͵34VكcV"w*Vyˢ/ x/)- u;jZ 2C ?`?_:S`l16SIY٪(Wy)f`]@ ApRh^Ku#X _+y{wh`vz`z<`N"&`6[&“Lv|K*lE+s7hms'Q, IO3"^- VD{cc|vclc 5"kqgp2[oo LVUt{̇fBt!y 1÷t>[x}t8j9M6 YN^iQ. ?^|KYYaQg8`qaL{Q3WLg0i8=7sCaժ+ Q~Ϯ<E )^l +ph񟻆ɷb{"h⇟/o.tv5X`+smO:m#=Aw!d{ >&?$? ysO3[;z.$X9Ka{g&A9*>{[W%4{ɍ>3C\*4Xus%xV~DΎmY-ьmFsW+&fbi-E;! BḬY=N_n8PGF4= ?5zk^-TgB[<}<4Ew`4PKױBx8Ѭwebsockets/test_handshake.py[O@+6@QAD(pKTi@זn0wZ Ħ/9s,(p L7GUXs Hu!f& JlK=Gȧd9F(`Pj>05 U-̠t(ڄ)Z2pJEZ=q7-tq^֨ fr{Kjɨ觵ɠ^/°3{$\ƚ "H5$ʯv8`حTV 8%~" >>w# = LaUpai%ɀr!v0,0]T)SN\#ҨY A±b&[k<3{9=88y83lpKLC)^TL3X m̒d7n@݄p:6O|9@ JTA"Ca  !=, $d< :& sb)uY*!X #tqEXGF!rŜVrv3}C` '6);>styYRif\^bj1B"> [%6KҙE.dNz*6/i7uGGHf<;>F18ʠ5E!kD8~VGT2jݬ_kVZ:RY:L1^#[f;79c(ʙiD[8%yvNOϼ5Ư#+g/M ntC/QȄY}yі$t^x?"ݥ{=:Gco<>C)DS.sc%=tWhBe XqdėheDz-((zcHHb I4eSxA`%/s " ]'τ)_3`b<*lspΛp fy^֝w =?0R) fdB)kf➼Wa$ OS'!~W^`ZF gdMt4[Lz{5R-743 dN=w Gi N[5(X/Qc(JdJ\փY~rGԒN$X%bRr|VU}*ެ%̸CKj^[hMKey$ 橱pS,o(%3ˆSУT@!1 U]@Cnش>~ tRˮIw !J t%āp7f bp;_#4̈́"3?fF ||X`h-Lr4&F/¬CǴl4|8hJX& /gֱ6En :g!<)#Jm%H]P?"TI=Lv  ynĝ+lnG͸,^K{6TӯNW7{j?c5}Ch6V[sFM\X^OW7?~;P?L.3V>kiy?_Q^4+7% !+ZmMBW4&>z`K#lRpPd܉c1h &;mvQ%\gciC݋la*FǧÆ1Gu;N`aMw#PEBr"Y_!kjnޙۙm~k@|օiKt \^32[bIeY@2*NUxn99)vw>52`]qʈ(޵j#?YSQ[il\ o4iUY]êkZpH: ^![S%?MSv(\x7Q$*,!P¸k*NJFP=6X(ħQ1}ra=64bY(gs|^ȗ`ywa܃0 z4~|nx&X7FťWpT3s"q):!3l;s6;YNMXr6܊aVe қ T"2ЅTɥ#k%krẈEɂu?b¬1>VDiwtZֱɅA(њ;i 1(I:SMBG솔nk},1A,S` Nm!K D8-bA8%EzG"wT(.i:N_` [y'+wͰ]CsGihռ%kݎ[2!|7^g@PlsNwEȷ٨OXXY\|+S5`*&RllO'5ތ=&W5.[;Y%\#J F'r;an{uA+Ma߽IyDM#n~9Nnq[[4oywH]mZ }d3+6 c6['yAxC k*"aY捘8 5XNC#[QukQ!9JkjH)?E|IVl'.c/cop mhRW\&!:d}'H;6.m7fGƑ[whGt`,{=qr #EigZG- I(ll%BN]Q 'ԥ/.Jc%VZ[x*Z[Ko!&`3؀>QRR+1և~PKױB/D1websockets/uri.py}S]0|X'"P !R_@:B8ۡٵB!RdǞݝf3)(zAmtx8ի!xKgLֵu  Wuv%!޿ b5^hZanх,\[1͐9+KiLYpJͿ2 P[cR?XlB> ? *c'$UF'S38>GңS|>J5huժ<<ϱXZ8K͋i8$#҃eޠi!`If9N uUHρ(ρ'IW*A{2JHA V+U'M UmޫN-|x'_3z ߺoѤ1⎤nW0)`7Fs:dL,#($/zvD5@'.<:[,VK)2XՋy8Q_RJG5ur{CiSdynu۫n}XLao7Xj &)V^N?KFaJ"F;ИMbuSK r ԁz#6#aL0(wkpayG)ʲM!PrEe q4SKUSa\@)튭Q+/ϏžN'H~YF7n,Jw{/PT- =T"uF)Qx{8h?]u@bK5WS)iZ+F,emѦx事elz>~n|q˞(J@0VgJ6;hGyD=i[ fkY:C=r#-ASy8"h>BSR4὆胏2`+{ *5|{ ChqTyagfs3I!*iAx#0xeWђL.@ZD8Į#xk_OD:Y$Kz;ଶZHZ0OHQnWϲQ)NJēEHB'/SN(Gr^j.|!1àJ)& 1t&C|x)x<^}:EӟE ,3,O FΘNaǖ!ח}їn$PKqDd;websockets-2.0.dist-info/RECORD}ɎH}K'̰hA˥VV]ܱSwuG}ua{hK=qqV_IyQ?@ J&9dk U Ҙ?|dTzStJ^a6!@iDM{x;ܴق&2J\w,' !JX%W1I?^!ՉD^#o6.fTilqWO'^@cx>(^;nNchAG78i$>}޹։;bG(8\X9 ;ɒtrԛմu_ui\UQTe#LW^8PgŖD0ާv}p"cbT6WXI)ѼAHoZuﺸ ܰ3l҂GoQhc)7>$Bb ϦI |3l2xNˣp[13ݖ!9ne7Q &aFtjڙ!K܌`8w.D~yrsa7pY9HVKE@6S_E6y34wMnr}))dDg%cZku*  x|D gղAh=w)Np8M ]5RtM { H75mxxqo'SM;cLor<s2鴍5ׯblkME%6f+J.Uyߙft%-ʪrONns N ::b#So~:M aI(=Zi"HQ",|[["|sƨ jb>t=gޱᦜdw9a藝$?U&U9nz8KI=fxq(:gpOPKױBk \websockets/__init__.pyPKPDpÆN websockets/client.pyPK C^>Swebsockets/exceptions.pyPKFD`*bwebsockets/framing.pyPK]MCVI|qwebsockets/handshake.pyPKVCO websockets/http.pyPKPDt$z-4websockets/protocol.pyPKHPDLu| (websockets/server.pyPKPD[-   -websockets/test_client_server.pyPKFD}0P1websockets/test_framing.pyPKױBx8Ѭ6websockets/test_handshake.pyPKFDʓU1( f8websockets/test_http.pyPKIDq Gf;websockets/test_protocol.pyPKױB)fEwebsockets/test_uri.pyPKױB/D1Fwebsockets/uri.pyPKqDHih#Iwebsockets/version.pyPKqD#m(hIwebsockets-2.0.dist-info/DESCRIPTION.rstPKqDnm$Lwebsockets-2.0.dist-info/pydist.jsonPKqD} &:Nwebsockets-2.0.dist-info/top_level.txtPKqD_M{]]Nwebsockets-2.0.dist-info/WHEELPKqD!$Owebsockets-2.0.dist-info/METADATAPKqDd;Rwebsockets-2.0.dist-info/RECORDPK2(W