PK 2[ websocket-python-1.0.3/UTKiPK 2[ websocket-python-1.0.3/.github/UTKiPK 2[) websocket-python-1.0.3/.github/workflows/UTKiPK 2[OB14 websocket-python-1.0.3/.github/workflows/publish.ymlUTKiuN0 BKv=TbD KNWl0`oܢm^RMriiy!DI[ yմt*ڍGu@dZ3J$MYeBO8.K8=} Ϟ8MKiq%%?c$moۥLqj;%wPL PK 2[؟w! websocket-python-1.0.3/.gitignoreUTKiEPj0 + )P2k 2z#8+Dn\퓓OOz9uYa]Pat쿠xfȊ() &o.| '$vضYz%Vڬf O% vLJZ1ٱkHU Z$K޸s~l70 ){I`ҬP^rMu Aюw p{ w q0tf#sɆ88pc;;:> Is{sy7'9ޝ#653&㳟 a`ݼCOtx;QΥǏI\`41Ǔ͊mC{? BZ?v5;Y;VNzPg"]3O1Q%VKZYf";^c}FZ K^n,įJ,\ 2י,`R?X Q@7*)j"+NWX̥&l)MIKCŵ:T-P>CRK*yDUxsb|5TU[-VV*6E.R*͹,xČRȢ]f%Ez?*2ڼA7 p-k:R"atNDqЩË ZB&x\5)# PK 2[0Dq, websocket-python-1.0.3/README.mdUTKikSH~ńlmB dy-6MlY z4/߯gDUpU4wkvط )JLDHS'"@# ҚÔcz!h (AD L[gMKY$/G?^` URX;l*4T3Da2]q50LXyoaF#0ੁ_bOh%*bg[nq` ," @k6Lvr҆E*+1Kcӄl7vx7%N 7E;0psWf1sl;Rѓ7pOhrpiZdoMz^P~xSL1M&{֪fŸyۺQxF LQP z7撰,ͩ]bY>$ m0㘠4x$/PJTQlTdBL|TTb*Ÿ_fM]^2'eN࣢Tt!dsPs[3 LE^*W|Y%Nl! 9~iQԮs=m=+l1ZAʎ"X&Ͳgd+C*BuVr|RtV:lEYYS $S\&0O]Q ؝ Jqg>˄, @ʱ|H~k pHcHhaa8[𹊾x9j.~LUXV`&iP :RqE5!-J£>k;]ǿ!D/[׃n&Jݤ*O&+N[+Y)j󜧆hN?=*~Z__K7ck_%!Vzmn[KF"ZE;o͍<챸aqާI`OEF6̭v,2͍7X=^!7:"'u,1p2v?0j41XFPlJync g:ؗjnOiTeJ"PEoorԊ"'8+#')k87s$0ZTf"D>5 %LZ7P+1rcP:rtA+LjXv,樅iynZCSUUR2("F:um'GUm%$T0k0LNHc,B!uR_D3yp;x.#ȠxBN:\]$/ y#_OO~Ϻ~h05P`4 PK 2[ websocket-python-1.0.3/examples/UTKiPK 2[k71 websocket-python-1.0.3/examples/crypto_example.pyUTKirH?O1-`!:;vr5(Nv8gHɦT.F===HӴyH>0ꙉ`$.|c Aȝ2' ןedLoYR9cܼ%تMi< opL91sY23!|̓$l^0Y$IM$X2`ArDl2_7.W8/'-I=ܺ9jP.z1!̚(/'ןw03ɊQҼC^1I_q:+3~5_3 idC /μ?wl)Bp4,(1|&@ʅ& 3r  M \  !T!P#'VNxP+i$3a5O qoWbAۆPaLYyuCDtAC}6Lqj^S?6PQ/Pͩcрy|>j)&VΟ: u%Lc WKj1 - 6V& Eܧʹx%c=P~NDaZÿ|r^M[%J G")SkcdS.{WLۊɅ=UˬEh^FKک]4嘆 %\wfVV2Ol>?S;OJeXz_7#Wgv *O+?KƷ˭]y9]mݹU6&jIjYV=Yui-ExȞ*MɅw,O:*zu̯ZaޑG㸫muYg앞f!\[lhKm3Tua"J@v^<{uH2ٻvWM 6y c5^\2ax^KRYMl~aC6m "XFB;#δ0]=r]qc[ 8c_1޿)&XvbH~ e@%[e,bqQxY|@"i-Ipq}y6`MΚ|g)'e:u>JL;dޒq"}Bҡd1a(nױZ`,'o0kr t ,_'ۛ l'($جA}&БF =@o=9=\٤5B(?BqXt@|x|S8]x{r!$f/vgІj][CO X֗е[ K$,CSӘoD|-@1% OO<5 WF-\!νD6ϳ{]4JV\bA:͏C( `uyD9CgMJs_mI }o5`3rj*JO*2wz8xB"f4 5T(vi"ѐ66M9:BıB ڵġrۅH[:/.v8prm,v#KQ,Ls9Wִ*ɍWʲB ?#Vsm =sUjΘKZh '5r"eP's!x=*SNԀK$(+:wgΟC "*璝D^Ȗ{u2ril7M0_JS:7o*&';O\{/Lee! mӱK*$9s%%fLKP ܈l: 3`˕kF, s!ַh9V%05ώ:"2ef吹T*>yoW_ɋ$7R&T{1Bz8ڭ$N2J>%'|,\ɩ)7s8/׃X -n5쌱E)0 t%㍿Tۜ2B C*3nWw2/ǡ&\VjoL;8(qnU/bo.;m'9]ئ=Nч%JI+dr2d̙PMdN_ BXRRaka6MX%1jX!M7u`saWªFo8p1qDf4zZA^3 -blTKrom߶*o/R-BZoL_Fқ=QNk6\eCPU)q=fGz|lWk&?ąw7wTOS1oc`薥&zqڅx.ȱ0w3IeT48A1jcxA]\ _&7 websocket-python-1.0.3/examples/flask_crypto_example.pyUTKiZmsH_1K6+E;1NR1T*E &he߯{$^|4~q1&-׌L6THgKwtr">~FQ;DJ2l"[\ S9[ ;DHߘp0? ! / yV"[rbpkV, "RCԠvA#ي$ )n#&lxRcC!U\.s@=Ul^3F"=a0$Cs>-xF&"r# ~QI3Fph5\}_ͳw߼Lg&itttR7}3Χo>_wWӋOohY4lzL1d`]cc?ħr`Aup%ΊʈQ:mdo!F gc8"P,[e7 K_a¸@zvwJqq_OǎN,CE"ȑH⸁=ro0Y:0K4[ʊs05Nt7F?OrɁ$ $ΊBHM}y!-^,̊M|εIk|~D$B6hY^PRMbTZKI];l&Ϻ^Q}{Gu[yU˕Uv Q7r/0d!mvo6(;jNQv=RT5^O&S{u z*^J"p^]2)s2?zƵ].j8 ܁kWbݬ0AQr0$CTͣS `VGʢQvxZɼttX]8"FJ`n/\' Ҵ`j[>H/,.-,cK?%'Au-c#Q!ڮ¯* j"},n&jrrP,= D,}Ԫ! %.v'r.yؗxZ_;^"7D@ZB EeH[}, #WwvǤCi0;Y2h6=sj⯕JU*WZ[%_U=wNK2٬8[Ft_o^޸<#r/LpnhC<[pw1F$ rZV.n ,50WQˊƸGx0oOԃ^-ZVlӺ7Ms9w~iTu`*fAՑ"2&.fxe>;5ƓTmUJzb|lhWt,ݐW9,MId̓_Dsj* "IRG>zd|>WMs`:JK#^)W*KT&e@t_6ԏTA e=B-:Aj/kFOUͪ^Ae̪ߧy"zx"]'MXzʬC+t 0tƅaG2>$cyBR LJŰ?^Cd1.̰CKa0{",Sy.h 5#OD$JC 谗dWDvd7\la@e\L'ʈ{@' ]7uHoƑVr`>(wY^{glm$c.ۚ,cB-s(?⬃1f@+\4M몝6k"ħ,<=D-FVPiBp| +|Y_H :Kp;-y|QP!u+Ȇ͘m ,VuaXjc|U!ο^C P!yHe?$v̢MaP t4nԬv-ͯz&K? ~'1FROS\ 9VwХ(.yp`ʎ[m\2`$[ rqs__|0dv j'P P%*ժ+h]=E+ Q?Ei\'wj'W=14jZcl8tPCpc-0KW֑%8ȣ'>_ |r Iȓ@* h)7Dwx,9J7EG'ap|с`8ܑ 8%[^VLa>w |MCytޠ>C{+ +O,=d_٩8f5eʰe!ukaݜcR$D)AgOtJ9mGfo ػ3U3kΰ/5Om.#y)~UTZ`=qvQ[ )Yκ-$ ^&s-8̓pKPrr-sGJ>HURQ6U"HFO󵣰t&V^ܓ׋JfAZ)Ac Yעry<Mvb_EFä4$DI ozq@Jb:뎉.-WI^ٖ#٨)Sz_'c +VbӠ 1O^FAd(;l&RT*5mttXV::)M5VIzVUzSii:DdSL,Ƣl,Md‘6 s뢁c^;pt~"㮖HL07E\ 5!T*sxXUC½\Y٨zo=Am1$Y~h{?A'ނފ^U2-hϦۚ/[?~򰔦D[9% *-SF z9a]WW{`t:N}VH1ha VU^ZaRj;;.>V+㮨g#|Fn7x~8(KQɆge#mfHJʧwQN.ǰnkiD-Nk;4n5l9[.r݀5mi𦡪!KA[HqlWs^} TT]fv,jazdkB(7CqT[RaCzt{ȃ}2гn@B,9xe҇PGP- 19 DT_ëM;JU2g FHzEAOՇgra {ް= Ɵup,yRFFq]`!1DߕNÀ(ivhAե+T$PT%HҶ"_ zi<. UE IÀFh}q&*KCUT hb9i*e%9ڲU&+Z6H7G_o0gXU3!u*{oN~fU_k]R^K"_,Rݕ6]E ۖG}2,wUd?,3Fm1Z02>VWm.!G.j-Ї[~WrZٟ~A8 &\XDX`)me1K*V>'gY]NQ *QTlP^Dr$MB+'>[EUnRSl[PM[-A='|7JE3J mI΀HFBJ&i}>@f %? iȤEe'e]c-DMgFȄJP.SG˅1tIM*dq7[=9>mc?*2 贳i;H?*H= modT>2-Ml~ T0,qM&R:,& $̔OZmO8A.C#?FCJTBLLW[6 ֖?PK 2[P&. )6 websocket-python-1.0.3/examples/flask_stock_example.pyUTKiZsH_blVp؋Mpx^(!@ШF6_ xoUI3o_Tմ|ooET0 %O\;É6}z! qP\ފ% ԕY#Ψ g)Do|f[Emlٚ9gZ \V xq\kNo qEӬ0$Cը>֊f M{A,pŚ[cNM>AS=N PLin駻NW>M;_wӛ{yi:Oo?owWw4skڛսO&iVhP rFc"o7F k> 5b@>xX 1 Rt1;( JtC䠥ڪ~ͽP N`~{nT J[xݰ} 6|ojAKFhx|%+/(jqc-wλ]4ɋt.I%\tggnld`zK-7턆ve3>y) G䬍P{,M沓RGaX6Hy 1Ѝ2A ~p:Wmeg].^t}GB}ixyS(8: [R6\NgR R;y\9ܸAٟבܭru*4>qYt<ǰra$ 83RPU3f_. lQˠ%|rJw/_%"KN #0ghfв 4 >H +Nfhӓ:nO$OD>G==dH$)btVг=BN7[Ga2gzE@nӱ<+: YSlՔh!9\P1)y֩녅TՓ7X~=W1D/ǰVz|COמE%$uEs*<ҚGgQLnG̪uH[f)\Rf!N^o%S!wA2<ĻD:$ GxPrCPWSIUNl冕. F:J}qh Ӑɷo$}ݶǧzަ0>98ZJiàgf?z#ҥi7r~lf8G 3/.KX=$uaSє13ճqa4LOC^#SeaJ U)Պ17i,=MeŹoZaȣzy*Pj4Y3$r6gL=iYilLX!lO QΡ = lmKQ8V e`>ҌI ZhNoL6p֋@ܒnMW!]i *Y>6Tm [qMOҴ9b9\NNf-TrRaYڿ049[ p74oă,Xoe4*Z ꫙\wka5Fa3٦i vLLWC*B }kXPiO/\FƂ?a{-$z1k$QPK 2[͟4 S30 websocket-python-1.0.3/examples/forex_example.pyUTKi[{sHO1Ԯ-G`ʱq]{ʥ@tyݯ{f=FQTARwO730d4Sq{28`ZAcFx0: s KkGlw!ޘx0t?($ 29?Ԯ,$Q iw `jhQq P%L;p%ğQ+qA|\OOh A~QX"QyBSnI;LB^ /t*BoCٻ+` [ݡ_ 2”@z[-.?!;8Nk!*Ӏuie {_ݦ||qJx2Mp=|nSR,Ӈ+~EɌ&2Ob꺐(?q9%6'OKQ>%~< HdƠxf .Û3:@ 1b (J46dfDhbOꢵV{{eyզmHgzHО22M;vtV+?GAt+hr\"{/lPׄ(iʔݧ6 Fl &iЌ"Av$l3߶/[-w+оc?W0P\O*L bFzG"_El;B(q]Cy{z&-jV:m E ɗוo>LSK^moohlL9XWiU6+{ڥ2'χ4)M8rRΘKg/_}S·dCe.dAdDVl6H{um^Uc_#V {oB=oP%Um[9nt"m7**祈,I9'm\hX Q/m@& ̋g܁;Pr2ДaŝBP!a1j1`hЩ=$ܪ4)*Oi֟zƶodXRGځmN4BX|epz]U-O{kiv0ؔBQ:wςWTɖt~I' u;֯BkL"0ELlx|&ޛVK_%K?(m+Rl3%L/%rY- {.Ks'ͳ(0, #/j:i r>i~4 ߫n§kU)Ë {2s})j0ZuR٭̪ׯ_ κoi0_we,UijXafi!rlc\;Βm*t  kB UF)a ]0-[mfTņ'6~m% .3ToNЊ׿^@N)):w{ih$ (FJm&g~8OY)mķkwc8_Ǻ2ۭ<ɋvmGp#CM0=/c~belg"Vj>NBB^6!15XF-rȭrXP<.vn1<`.e:#-h.s!LxFAOӣmo6ĢXO[XInS%6yUFSx c BSҥd0g1 4qt ))<,@aĠ吼_tdTѾnv'?cK\dq:?zEj+bYK,qƭ͹,_+h"(Yա% 7EynjɌmP/tA9q|r `2K,G8"P9e_Z"AbGMSL/9PZꁙe'&Mc-1kecFEPwHX:OB gATwؿg`V&%S){ROe>q]d1R Nx&=b NUg&o?fQ0(}6-a݂Y9VD$SOi_UjN-3aqQ*;$rI|$3 - y\c^n+C^ &<6 p^1~4CfV:<_Dn"~RdKFBgtH*x_AL&UOb-w_ =x ƒ$J66@Z) I91,RZe^.fݡ;'>d Ȟp@ X(.ө)Tmni=`iӭJXbfm,TjsNz9UXlP)iM Uh@&qHTgGG\=0ӣ .xJ\ |LqwjySk!!WkJ.#ar'ݲƪ6er(^5jrq#w%Vl52Ώe}*Įu^Tr"-Xo3ָ{t7$`?ʠO`9Wo0Ho6i'i6s =<2W!#-{հwְbGv֢}j5ɿsmU0vp7\[^}rW' ntAH`vr :Bw0bVU2jc[G$%\1rFɽ#VHztE z}3ۮ .6d-l?ZYlS5:j@y~%$w,(SB*?1h~T)X"zL $#x|.svYy 5920 3áiEO7jrT^n!xQo 0`ZkDW+ysJqJrD4 ~=$iDxŊB#v2APK 2[A~A;80 websocket-python-1.0.3/examples/stock_example.pyUTKisF>Vi+qEaqlb׾^0@t0ޮjIfdb}.G#<=q`zO"h&;$N"j-\F1+`& {>u310~O<)jws IvM/Z,̃Mg e~9ijP/xԝ͓.?̋Ùڭ84 WnosS#;Ln!L2禠ʄ>&34d`&I,P Uf 9"]'-αu8ɴ8ܻvrP&z1֡Rm =U6nUAAm!m7\ڣ?-u4YY!#j+WU6uFW0.^|gMehԣD^X8D <0ƁAKD&iF!7".-6ﱉ,+1lS>QGrufz*g;KBW`Sj/U&vt qA[ ֮fZ>p&'֩"(f+14H9'2)E,d$MC>9i%4u;]9M%SiPiϑ/EfF</VB1.>ѐZ+deXaY5Kk^xa2eZT!z5"lWFBPbujĄZ1;<~8\B4`+<$&rwQ;;^9gi}VXSdEgJkO ,嵆-Wa޹ϝecN)Ua[-yVM>B%Ă_*(rbw"D O>Ĝ^r#+E٢$ָBl'wRm\n7nPߚ4,?`^ͅ-spXj[my)3 v*̽mei4ۋmt-jM-W,Emv5i %wzvkv(lqaHi՚8|喈)GD^m'FKvU{:Zm|lyMLJ$2vju^HoOK,#+t9"m〙hn²l뗖2RJh῭+247 lg$|?,g^3ݏ5cҭ:} Sϊ㾒*)[η@k*ep>Ntn^36Tnpk$L@,ݺhM2HpX 6Y$׮Lhɇv(NhPZf}r ^hvBI7w ^XOJ~h̘Vj<'ƘMpLG _睾 l&ȼ_D#a2PQX)LV:{!NӃ6:Y TW=̤doNBa?NDX YdQTmLhLBXe<,%״JB"  -Бz*5ȼb57dinMt\UQxpeS: >> \ٳ%ϛehCc0bqm^jkp(zyzokj)xTay|T4T_K.PȎiфPj~-+Kr+aXԈG4YF>QL/:'f$Hm]e~QQ]1s dQ%C4* f~$! Z"dTD) dʽ܊la K]6i?.뢟r}8>kCcbΙ?I"Oipk` tlXӡ̇ч w.UiVʐsnnLIY60y=rX&9:S]w%(-SS~B{J8Va)D]* 7tDKD>`4* Xo.+i|}h{jbJz1݃x'P%+f)K6IfR*=Xi-sL\{9&>KS7*VFoN'D@PO42ك0cZ?Кεɦ3~ \_L,q:pƱ54%*Z-oS%Tc~ݓ52[O, d,/?Ɉ(  VJ%)`RF;= nX=|+7fQ@x]h"]囈d댅$)-I%e@VU:zjBh(H" zٓS/RͯzMk kRZjIoֱXK/gR2 n= <[+:ZfP%0=7A Dv\(17#QSן!@ vY" GU91u4( Eɘ<&gKޓxAxeqvGgArN<_ -&LX^/ g1gh-Fc2k>'TYLk¼ eZĿͤiV&G.c1)fkqt 2 ^k@B!0epQM9! ٚE0vX2"2sPɉc\J&gI.p41*gQa+܉&ɜO%BGpdHnp n`@0/3Y=q)i~r;:'X83=3ELJ*fyXwq/0WחC)h<8!s 0*MpLN_8QxӇ*l_08mNk-[_M9Z1P Rw&BP Sx' bԾ.7P%da|cB#)q'JTg>8xմ4)FrP4n[Hu2\.45 sj ;f@؁=Й oXtX#oHlU )TaRFLhiZ Ԓf-/¦w ˫WWgߝ9]GGPjIӟ/q74;\*^ *e&( ֈZ#TY ETKg^hII2s}C b.t'o4!%{CKQt!xfWb&;2Y!X `*0ewOEg.*ՌUZ3k4BAiX'0ZQ҈/K68"2avk>ؚ+ ~Gmj1g٠AQ:A##YZ efCiˎ0}^>sMw2\[CbQRIwՌx TM8im18MX yuɰvCX5ġ2T4++Tv@{p8ܨY'FVNtwBqhH{{3 " u u1*}@9'z qUt2ө+Pq=U܆-o}O޵n;SX#*/zbP8/RL۹SCwQmuXJq-(Jɿ xl䚔C}~\3o {;> PK 2[Z9V% websocket-python-1.0.3/pyproject.tomlUTKiUMo8W(,N6mFӦH .C`5SJRNb)QVړ}1g77B=XՊsb5Z4$#nd"[T8 u%V كB+lEB ܈u'`2u|)61ġR䆙CPiF9`m1?(Úъ`}YқE`E[כۇYU$D zo>,'`nF(~nc FԵ6S; ~Rɨ?"|[Qo{F;~Q7PR?rBm ǵPQM`\2kE)`0 u]U-s~c4䲯j^-(MS9x.Ǝn#h\ЛPЕ9l.Ío>gum *gjӰMH]2<]ͮN<<>;GZ /80,8GCɬi${ղg\U6_ ֌>42z?34k*Ef.quG%V+$$#u?k\m;[oи05g+idFm[ {:k,tCqV`?Yg"ɻ]!id/6}W (H%ۢt2! t|̞وtx8?냇-bFBtIH~hoI&X{m{j wPK 2[ websocket-python-1.0.3/UTKiPK 2[ >websocket-python-1.0.3/.github/UTKiPK 2[) websocket-python-1.0.3/.github/workflows/UTKiPK 2[OB14 websocket-python-1.0.3/.github/workflows/publish.ymlUTKiPK 2[؟w! ?websocket-python-1.0.3/.gitignoreUTKiPK 2[ ]v- websocket-python-1.0.3/LICENSEUTKiPK 2[0Dq, Xwebsocket-python-1.0.3/README.mdUTKiPK 2[ websocket-python-1.0.3/examples/UTKiPK 2[k71 websocket-python-1.0.3/examples/crypto_example.pyUTKiPK 2[~l>\ _&7 f$websocket-python-1.0.3/examples/flask_crypto_example.pyUTKiPK 2[q/ &6  0websocket-python-1.0.3/examples/flask_forex_example.pyUTKiPK 2[P&. )6 ;websocket-python-1.0.3/examples/flask_stock_example.pyUTKiPK 2[͟4 S30 Gwebsocket-python-1.0.3/examples/forex_example.pyUTKiPK 2[A~A;80 LUwebsocket-python-1.0.3/examples/stock_example.pyUTKiPK 2[.G m/( cwebsocket-python-1.0.3/fcs-client-lib.jsUTKiPK 2[Z9V% zowebsocket-python-1.0.3/pyproject.tomlUTKiPKGs(deb79b48ecb6a2c495cd78d4d4dd6907709de4a3