PKFuManalysis_engine/__init__.pyPK~M,nVanalysis_engine/algo.py}sF+xJHvyNne;/Q39;HK? #qvJ ?l/.,ߴeޖ|VY{QdzeqyV|]gˢ:˫lip+lP,oy.8=ͫ|yӔʹ˪Co:Y4e^p&PH]l T^eeueb`̛QvSo|禜mԴ>mje~s5bmYWMXחjŻx߮-r]&[b <CboryszA}6mD:niW^պA79o6Jb+Ӫv_/*feUPs_Kj՗+VM~Q׊?Y̊^d'բ^c[ۢieݰN/zUTWrsɐ@6V-J Ot=@daQs#\2sqvRQ5dbxka8E~Z\v*?68w0H c SX/ TESLRKk-;ɫX+ l~ЗXNY3[g|*TXiv}/a)bL|%j]\M=9' ` rf#-R g#C kdn:}zu;oىy՚=<¦=*b \dEՠ†+k6. &]bB`O&Ѡ")`z-wv:-KȁS5BПM9 No~}__~3OU@X-KX̛=ZEIDC.XŸR4BRq?N !%qy+#b(C.r6ˍX;]N2\ltaAwj$ɵ+J)PUnJ@RKluKU]JÌ"P$̂OO5{^YYc0Ͱq־_. ҶpxT"H:Q%0t\TZ OER >wX^mf-ѥn*S)xds[cdΠ6X/Xԯ(P_mVX$|Q]BYkE\Js8ۜ?Bm Ve}~#{×Gӧ2!|(!u,[b/{]gГ!Ă3F"XgkweIѫ.U=R%j̡H̨?+!㕟Po}8-اe/acx$LuOYQUJ[j޹V״B-G U:I1%O-8V/0C*4 ehЅWglY6In h"5YC ˲ε߱2F?+% .4E U S%'|Kn/-*xp4zS,f5U:\4~Bج^ۿ̛X{HZ|s:9n¯JR^ȴ6Q |blbGB^R6x!Rz8U 1^hyE NtU'GN<~xcׇTr*_G{bO#hڡ '?y2~yש(N2Kpl*%@ {< Ca%\"LEBYMq>^g?ð? ׍/kh%*L{EBaO2\a'ٓ_ߨȇa={?{OӉວОNW=v7NwD5OuA۰;+DaE6ēaEoX1MV8'#AB"(,5yo)M>f'C@kcQT4Fߠzhw,lU#wz@ZtZVe;r% 63c]9ڇ"K !lI_[]qaE\N^7η+5C _Qe|7-"5|n=L/{H)+LRv@}k縷jN60^`P2 Ԝ^ȰNd``lV=blƾ7 H'H ׮6Jx+5H; L7H[*xk Hs L7Hsu# &#KGNYm{u8=:|}/O|g^9 W/O#+?PC~ q'c2.(i U*fЌK@RWb矿ͮ+f+*m HQxm}`f)bMJ t.tV6]6PcXBcbS~G]FNzaD|4 z(%x,v,tIn?y.ͻ*zB&tAk만qamY*|0f,] ]Bz|zb5C~p\jyn[s`AԴ*ڸ%Qqsor=jM?HTRc0\9 5̙Y#a{D*V泺^0k.ć>"*d+{zr:0R=etqDx%OG2;C[ƶ|'ܾzeAC:sW∁k/6v0v͚Tȧl]Xx[l(,м 2fVXz YfF9+(Czj9'\)jY*٠^`Tn+co91YrĘ"yё$L+ˢ0#ØÌJ\< ¦a5 .L>ެg8z. 'g6l(dp!DmÃz,o*28)AƭK%8p[0F"˜mm襃>?_Xyʻ2Fi^_QsiAhCeDz^5v#ZyVX5XG.1cx?ښ-XX.UsG=D=sX]Z,8*^q\2v4CC:a7V\HUMb 3f;pIՒFgDg5Nd"5m*!Y?tt}604#6GKMo7Kլyf5M"zNKu`H0; neqZN@XD6NH%D0r4+%,"fDsWT 9L@ߺ bQWaMO M2gTgUjY^iW{Px;ЏF(K]+mz(kU',đ$Ix82>#9>R|:V*.2ŃP`+HdRd'4>[Ʌ}UΡ=B+$E$nFO.jǹT39KUټdgrdװ3s ܭ42q@gbӣI50y#+-ZvMV$Va( -1CJ,9cp㡚Iq<OaXI8U!V@-1Vj'](5sZ0p{3ߋ Ag/@*QZRŢ1@V^;/%{[ rW\/-M) 1UCsoDJ66w*9uTYG޲7qGvhgzBOtY{aB#|Nw@/Mtu'=FC~D\k?"RgZn0"L+,LdfNE$%أmgǸ:~5}vOCuuMh | iF:OmOx( ky|3q`_Ȍ_i |nS\an _q%~25V^Av Pi+bXLjŎ=U_I07Bd蠶Z 6o p`h5gD3ã)%2y'S\Ħ"p}4otCj7-ޯZc)UI^ Q(ĎtndfI˯  ZmٴQ솋:Hs:,;^аڋ0{b8KIcY+V6L41,Quz`̞qFO@FWi &3G~6_z2c,-M#i栫Vipit8 TMVӠMĪ@߅e<2Mq?0%@quً?OzҙUh*^6XǑ>%@lEVp+$` RkW [c39 3?<:<_Fh7L_.@p^ |@g0& .R 7;aKie%vB o>fӏ>=>rӋ;ixڧO>=yD:ܢ|*TC6h_ZՎr7b$Vݠ GF}5k3 sq)kju` Y+b+~gq6Oau?f| FĜA딣a`DN2Byr-7d8/c9X®}Q6z K FP_\g??6g^}MnpnSx΀c&*S`v쮮ej!˯P2ܕJظ+„>zt@+"N~QA~-䗏T$ jjj/w_`38㠓B(v;b6Վ襘qfALDjIjH-M-.p!ڥ Վb]"~8%\jgsjgCU V<ͰU W,rLK!jg] T;MijO&AșjW$jHW Y`/A|vQzwvdzreC}?Bc-?)i\ǓׇO3q~$AIB171'}RT;ڬiQAhu եQ:] R%ѥQW.\*sƣʜAλCU+&Vj\J#kqSmb\KI7EQz$ho 5SҰnSjn@4!X-dex:fT>q=0yPR$9+Jb ]c\ʸ&'q*M['z\7$-NZ\Rña֍;Eac͢xu#u-Rp[Z % EaZ ~5,V&3%qfPrPP Z/ 56 )B;3vKk+݌5l0if HbzɘHa%[# \{D6u2heht2Ax*_N5N#Ϭ[Q(~ͨv?07]uX/Lk >0+9Q!.X42 xtvV,jwF\tzg"QUXhSzbΩ@zB7n nt淁౅P N*.^e_@t|,B'p#aWyfL19u2p }Qo`hu:' x>_3>hBn伂z3j${S|!0[ !0VF;]+Aݭ։q;N rGs_x?6Y]ӪVZ^֘JO7{{{*P~Usre!$th K`!j^_khyS9%ʔbl(h\0]$R#؜ f$`%LX,Y|] ȫ-bM0__IUSr"N !φQB#Rߒ)JNIɻ']WeqMQKe*!4S^ԴܽxS}:J¿0dg #nxaj$g;L`]X}`M5dbp}-R☟?{6>:K/*@7!2LԖe71?׹L46€ mh{UMъxa/j%? CKW.gqQ"SrMhݍҳIwMBL&9hbSL`+f_O'"FQLe Gl>$CHv.ekNwk(E Yde6=4$+Q{H1Fo=c؆zÎOQ%oˍ"6L?B=Fxl_쫺0xgQ^րa~o6! fC%UX,iĶ=z1R4nk"}E&sy8.u8kH^Y+Y}]R hlhZ5:Yn\]VqSC })o"f< {BǬms v;clDn߆ w\DJsֳ<Hf= UԆ].s('fB٩*bK&q3)Ğ-syu:6J mc5-b_vK + G$V峋`Ep0kV]AEhK] KelQ;_~}6L'e$M(vSݐ]PfȻr/壷WjnWwjs5~uB#4HxI+mPMZ<MT;|’c5qo;߹dP‹)_;X {G/&4ōt٬$4n+)pc Gq$n2k*zx\;연0)#c}}__b^c`FKi&,69"!q菋lmvRr+B +B + +b6VN]r0`X1>``mN`xJ O9孼9zypd-:06ɣbĻzF]Ntёmtx#5Wd0&^JaVർM @5Ԩmp/ >'yH1ewE"͵PnnnnqOW+¤ƾ &C[5T'v j.KX+Tg0[EW+C};tvn5O>A'UTɜ76l]ĥKqxNW!=I]2B )y{L߫8JmRsXFht9+vm9ɝҏZ܁ω0ֶ)=w #+Szk[^b-q\zyK3RE \vJT,~0ǐқԃU|zE[^- &R1vg-*AǞ.rmE}Wj]<.kj C\U*V@سt]r*]1c|PرGKn?x0vB'VɈr2|ݔƒUm*Li c:}艐0=ٺV͗%] CӣN^<~FhO6QLF/K=T%ëz4 <4=%k.H:wDGMuZ5ƝNd(AȐ+>stK4yh C14tCr)\_QvF1?dRbQjl#š+N`YPst铟=Rlז)NOϫ1M@)i$oҤY(]>L`n(UE2UuLv tAeZmq~k>]B-}IJ/_xn_Uur9 VxplpWfI0]i_F.It-?:E_hK@tV<&vw:h NTC:Ď' ޺8\&đХ+Sg(',ǃ=i9˜;!zy҈g0M£Xu/E')AP){ej hn^)/ҡ1xW &!I >ِPB=qgOi|4dk^: ?<b+*2>Ċ$cj]XJC/yffg#-0˞c,4nqm5đ@.2 UBn_&4,03Oa^(*|kf@l2;DeW).2|ReAGl^I^,j&Csba"3.+FFa*7Sjn:_7 .cߝ1qMCaQgu&b粬nѲkOOw zYQyRFn )"d2 bɰ!5Ư)ȁ50t*70)-ܑ;⧜'|ወl :|jxtϻ(ƞtn<&e]=M{R*yEf%Ai^}ݩ'1K߃e >7H׋L5xܷ`\-؛o.W^^nZJ4 uyƘsn\<&UVC] -bր&>6D!( Q>$&Ξ1 kcAa߃&}|z $j1bSPrMJ2prCvx8VO:G@2Ir z\o'ɟ3?$da^[\,vlEw<Ub&c%G H>I:abF/bEN8q_ET(_"ĘJ>C֝"}˅Kju{} hʎg"a K,֤e=Ω.c# v!9@pfw-A/ ӗTT;uIFd>Y K9iF8.@J $[P.05G%3%frS2NZun}{svc6ٙ1Cgw)X,]bDc9r3 ~۩#̖3ЯM# Ar7mTiڂLTvQM\yI4aGX Q%wg]DI$(7mQ-]moǩv`Lfw"2;-^P~sP%OR0YҍM@{My1i1)vi^}| AU~7'aOY#|TbP)51"#It74_lۣd;s@X]W8VJ\PlGPގv' {뿾U ] OwW.]^9|>i'~U5;nvUk!.X `y 8/,'ܰa#[zbsJ֕gc`4 8U&8LRM+Ut?Q_;pl| A{bsu={b=/%&]t֞M[.yʖw䚴TyW2o_eܮ̦MZBCNQn?o?w7ڧvQy!&VG|/D^sS;U v\t!ђUi+a(}a^7~F\4m_xTSeT2|gy5t-7sU+gX\]&TIFJ5U!r#kvr1a}"mfb()Le饜[[b3A 2jڪ^nTE.s'uބQYtv Q2 #Cb~Q1*̝FfT Os'Q1]FpwQ1‡ˏEŨ]TnbyTCDX0*Wb4I|NbUT5Q.*{|1Q3/%ҥz@Ays}t}}ˠ0wٹr=,VpKLM  r訓KijDk`+q.wbPs?A 88^D _n#F7si::K 7zKgU7%X4.Ʒ|! rM! "d}y|V!嵿6rN5> awle+==r]>|9,sl.:~ b_9Q`QmW9 loЗ8txĬX7PxnFy,Fye@7in9N"Y}tU?ő(F>aY85+,y_x `@hRKLꔐoy-N&Z >HLVE50h֬$ &4PoqYV.LRl{b7(/-P;dY_3Q:{6O_Vdz 6]%߱N!D 3H4Df~9~hr$r3-]֞W(5 \2jDD}X;uȓ."+xPdʨ2!uUMRG۽Wr_g>0͚T&iAaU43%ei\zlAYQd##YTrFԬeB#+]TW庮{[)M,v;DP7woؑ "G握֠b'oOv˔o\9| =V76B@|dcHoD2V.ʪl.…:pL<Xy`mVs ɪ@ ~ ݈bmA  Ej]ctR5;|3XbyVA-wdZs\ѐQf}^7j `_Bk.@s*&*kD (a3PSNU2`"m!ãRg(rSJ]٧>0iRHu Yo8SpV÷@-%t1QXkFo`@@`M@k2{01AK@)8*ЉuN5:z:]H!7%:/Ħ nXB{F[=oqθo?Aۻkt +~w*n`Z2kl߈zNeω$ehJ\ra(R0CSvV(456""PԲpw;OcO0R `mqDEh׫;aQ͠m;_LZV*4Z{K0qq7Mt(;rͤcGR2dOB@8Mwϟ={w>~V}ߑDb,^QpPrv\lb88uM%L(KB19::go% CϬTh{#g_GQ~FknV( .-w`q3}zJ]d_h{USh͈~CMR*De7l|"Cޜ_dMEѢך"":'8Uv^ױ`hɅODjy^Ql )%l 2 7?2;zY 8UÎ)| ʼhaynD Q݋Fpģ#(GS3uæ Ceі=|1DF""|$W]Fs~ȹ2F\&߮Dtd cA8C2io"qɟ'߉E9>3 6z ̩Ŏ=^1ɾoTnFh?'O%kӾQW&`n`Y|Lmepl uh0 ^;`"@lX\z:#B`cý=䁏aʇ& D"o'S$> Z@Ӌ`R@6- 4gk %JIJ/YuדMþ /3z@a _ @ Tu@{pzxzX(;Grgagde\ȫO;^NJWeT}~)\zVۮF(y:mf+$Ɋ+Q`vhfٍ̪骋]sYxtm j E|FQp ~^{xX >wvx㿩;'O({3_" 8{MvwO@J%ഡr[m|  ~ʎ4L]];trq$CCĿGñȞ3̗v=z939w͑ʝ#ivH=:|\:I^Nc"OG4vN{N [%>\{'$w1YzmuZ7~{N؏%E;]{an9;wN9D ]Zȁ)Br4L,[;nV"!:r}K={M Ԇ~J1o sܮRI0\WT37*WɑnL?RrFТ?0XJ栦"*Yn{Q aIB&aIc&aGo`P_/ @QU; ,~pvG'Ð3 ɗ)!(Ua\\{}WP+ޥi,Q˼+ﲊv/sF`JjBЇ-*Ї_YRiU׋@/c K*ZE%\p;J*v^wוTf/.=+BoثKOW{qI+փ^|}ح݇CG6+#s'YZhDdD$:{LEM Dk[1mk{RB(9+/igy+lZ^nO~0Hd%-`QA+|J `Y_jo_$P}A V=ؾD.C7= *{6FXw%FPƫ$]wSꉽ-nQ//ے`h:>)׭s]9.TV_ YLl[(hض.1 4T8sul%LlC(t,$+eHȹk=BRXq)n\{VT$u$5;eǎꤱ!.ռxx7c9,ddOێq艜==Mt6\$`Y)pГ$35gqz&28w=|VE.=HAjEg :jV\/߽ ݬH/@_Ҝ;fv!vϝ$ {t!F˥#>dm}}uO8Ko^,|G@150|\EZv e<ᜆ@&1BwngU:Ya\4R% ^רUcf"A3anF{/#)Ti;*M)ֺ?bEMԴj*T) !MI/2m o|07:~yr fϻT=ʳz}lA+ Hըf.lBȩ!I՘5۝r2',s޶0's*mU$~f`mb]o;ٌ_x>9X(!U kZ攨{~mݏ$T3Ar?-7-ex% 8K踎~#Wx]R~LGJ)kv_IFv,Wj~!$O`P*Y4_,9Uب~ꈖ>9-\nm9v'^g} r:R#T/YĪ\ a >x'Mѫ?Pd?3~l|tHyW!ʤ@i#Xv_}3~F$ 8c'gAQ93iJSVCŰ$T 2n%htrUY}UQq$aVEEVE[ *mNlU\ĬoۛIo=R@_jA۾h2%d[F<{^ӟHQsIIBJԇ/$*qthzmX5;;u@}95I$= F %L'67LHDxĐ{n7?9 e Q9(A'==IX㶆!'9ful"d"G(iDC UH2w^Sٵu3>hTR.ۄtJtaFugra4_!_ְ`>Z3؊`€]E tqc=f !ӘzO=0](睔m\TUIUQeFͪaU L,T/<7duI2z'м@]js=@+I"]\O/g ,{HOhv옊IPzd!K=3h. sƄZMvը~q3o5 a(gvQMPA &ZsQ_OUVؐP=f^|C%.|IԚajN Sj7{#ڣ.HD[ues> JD|*JY1$JQr JdR ]Kh[RG:Ñ 9㴆Dg/ĈkϿ&;JuV0vӲ/_>RC[Kq% (B_o:k>lPoQk :T(PrkpWDhtG`7ZHu[JS;\~pkdz +U|IQ <#}#<7em{pd3mtȂ ;P!Vd+ Dj/X7y*NhpCd qyR QX*{`٫i;+O-MS6m)xɄd@l6 ےTlGaa=i~F(oCa=ׅqӸ"uGo7=/T7'%0k`F+Cd]R^맗+[װd:11XN"|SNF4!PH1( ҵ;5xհ-[*vsK$Z}Dr,]]ItJWȺ\ɣDK̝-8$/Ҝ10ّp]גZc:-O7xTNr}qoE[n[#4X ɯ7kN?nwk3,lE1VQSzZ'{qCtJKP"<Á1Łv9Rbab_k}.B=a LF(bT\T4urNk̳=>'o_2}ua ɭn$|b$|BG{k^_o~D]` s{{tӍF0}a˖|*3QO\\vM93:$mx|]T Q\ !7 -&p|v pش MhDQ&_L|専E'I0&IsDǣEع<^׫JrܳVIM7>74ͦ-1*Ң:<*HP'Y[7B@/< .ESׇ@|F (?IuSTVs4=f$<#$|Nͺi.{dI>i*7W]3f\=93kء &֬~}p 4P4f-l9@OYl= gymC? h#us (͕U[Zbt"*o 2v@DAH(4"HP  yX B Xl /#M`CFrxؖXt ?t>)qnL.ū U.FD:Fef>KEЬg?bu`{ J}, _䪐*KypN0wpg 'GiF$=Wb^(Ɵďź (6w~Ĵ%XVGvP-kKU5?dݫ;MF e5C`FG]o@~Cѱ&~&Q e2eO,ߤ;siRZ:N9M~g|ڝZ{n^X}hլjlX,bM.RAkkž磲؊3,(yt9w7z%LHvIE=+=McCL1d]ʼ-#P9 cS;r.ADpH G Ot1G" 9-#п$@c<Ͷ }Q;s @uYLlU3E.@ :v (+ERϏ:Jt%SL^2%fk4MQkU . &(]?jVVSsS):ߟϞgl1r Ū:SN/?@Mun'AӾ(;rGa~TQIzErYmU̧dI8$~̺Tf]W? ?wؑնYn.ɬ8v{ihGȄ_@mf[JX$56'eE_ }TsF-y~R<*@pC[OYYW'Nx7JMvqBDwb^SnOoۿ@VkR13Y#%ِVJ"O6jn6mRmj!Qs`NanY Q6h0#>%, fL" -^"'AѮvK+~ @x52QѨB5")"gs6$ v&taP"^HlQ#W9[vP}pyAro-H%* I:$nD'c"JHJJ!$O=TJ[rR4C]%q۾Òv^Ue"ᅃZtKD#0_=jX: Aú1I\OBBi? )YnKEцxcpج@Of1mjh jĦ:{Ylg 'sXY&]4$H'q,2*)MU~QLX* TG\ik&ʛJf^75IB]houjy[ Sf!ѷJal(6x8$VUfg/^u0狐B]m+\.Ռؒ(!HGNZ.?[ =L(K_^t|xx$t! f$K~?,pa?|:&D-[%UJ/0r~TEgTEtb[:0&I-[LU[vg*b"dEMG,m}ۈս nhr*pj \e@i*DfEf/߬cU\|H^ZWTK5l:i-id"Ӳ5oi.z;.SZ# g93ެjMgUui~mZ\].Ժ'vl5b+B:m5 ZQ̋^Ω FsNvm[,հ &8xz7hŬ甯 rv`%;˶)UBOv/HL©+"^E]2W  K-dTZ;![ViEmxl`g l~?Iu Q»{<n,6`>g7{ev{A?Ud q.A*=b.В@UL * %! Ep=Y͔wPU".Y II}#˚CLQƸ"s|#+JCwC觼8.ꄲŁFR>PU_^RF+qʙ:6 hH?KiQЯK 7%JR ;Ι~Peo$|"7){ː>4"W1gX1+/ёpo_K/I__Oq6O!TaVN( rkiui#RPK}M띘-i%analysis_engine/build_algo_request.pyX[o6~ Yb"$]иCȴDjdJ#d^s(^%iW ؄ x>HMQ愒TQq*vdU " &Z+QvpA+HNSŖgiL_MK% ?OAU-PֻᷠǤTSp֚IfnLh[\bbMt< r"-LaR\n~8; h#YzvQP)z#`<7 C .%YUm!%ĭ#6*XwĪX쯥%IYQt%;M!U%va؟J !d)srJQlutF KW0E%+C pa~Zt&lЯ ń zjUg(UMuOԆL;!?^Bs1 4i\L|7!%8D B=)+ȁelֵ2D߃­IMݚTNo_"I;$Ǥxjee!das"OP*X6 g I I-Ud}fb`Kη58:?w55嘴#4uIF}&I27r!E )@پEGzdg;W"BWb)H!LpA]DZ:ȼXH56MBj Ag`>:RfT,Se;ZBɒQY2 *L3;6PMcHC7Y5͑xHmu<(/U@=fA Uq(Q0Xʖ;,o%2gK7Z%x$i]jkrsp?D5;%n&U*9X,o'VZYr4)#;F~S+Cx]e# X<J*Peᆋ(-"'5K`~ݍLp>V((å`[Fc8#2L)%x<v]|uy{$unlxf%ì%D1T4j4]=ͱ`yS:}*w@im7?47z-Au΍ՎOL" y_bg^i@m 49Gja*\J#erէ$}׋ytvagB3L'4p3`1z9a#ВJ3ih&U>Cg bbh"&8Ň7"ilg =8[ M } HCMBS1`Lrsͷ}0lD@ LL"<a\ ih7$$BDtb#*w_~ö=zєS8^-~̸`Ƕtb z~E-t9ZsdpgLbz\#Bg}a/f0rq8i_XbGdN}_H3g`㫇Fh$&[G "\s=ЗW5QS.gٯ"}sqv:up)K`0X߷AW'=c?)> sGSb>e/T? dq?WK'Ro fW{]mDL-,O0^ /A-@J2;~ǩ;9+ӗ^~DY}K8i?a-{g<X(9g_XFܘKO84~HٲYw~ZVހ3'Ah>"~[emv`['}s_| ^D˄D׿& 3Wzc/p2* PӃH}tx}LW{>H PKI|MqS9g"analysis_engine/build_buy_order.pyXo6~_AdEK7%NS}(%fCIE&;HJNDwQ9;;S~mkrAdQGTȌXyD"ذj*uؾ$$㭤UfS^҆Ju0GC0!t/.F"%aOFQA±9V2B'YH/{J\?WS9_7*&,YӰsDA%j(~G?QJI:[U쉠Mo mjv駈52gkQ?gOKA  8$0]L,̑衐xD2"<*X.u"V%MQUK:"HASe6YRL&џ|s<#P]ۣ{ZZ K=Õ.S*IG(WBJ"3ce0G7"f&ҼhTTZ%RJ{E D6$<2U4tfahhxBԥ0AQ3@YvZ,VK|{dW/緷Y6 ؼLQ}05 11p3Vέfq 9p"Ε ĚG7_s OC?GiMBD<}bd&U&OvN߀Zɤ+ ]v; @;tP[FՀ 09ҳ,MW#?ݜt{JxUHsS**zdѹ!r+(a6w12rʨݹH82e^v򽮡jYtכ-d ߙX,JCk>Jb( jBLZ@hNSۉNː ),cGhih2ݶߙg#T \@N|};ǫK+z"4i+ۗxyz@xwYÕ04= X { fE~\o-3COPgu_kndw3MŶ^&^ M/ЛM @CϕuWiow}hm ]#Eziqo+ty^xOsRKn9|r+ fsWwnCR8f KAt$G8Q"gN$*ז5/W_/ۇHBՃl_$9jd>1Xտ?:th7L%S( ^ ݇Oח}_RckT |v{x:[㩳RpPD-ۗP@` e19@+Єv_cCPm"T- >AǶ’Z@}ÎE n)d cvFKBDmZ^|א٭scz^s']t!n\JE}ȪɌظ3Y(+_%AaF:TIɃuj fܠMF$PAoT9q{|3qhrq_A hW4EOa#:N(jmAx&~Md 2ؾE "z%(D^A>C%Qp!HʆYM*~ݸ 7_Vu cW811ƨ1Anh5AM@ߺ]'s;` #&bmܮ;x'[,L (>|{*e=,3H8mG `𢀜x@p@(ϯd_P|^EWĴ^5̚ v,A2AJM}M3sm[{caM%|DWsiOגۻύrvChP,|$q\@טڍ1]-{X`o{ G$Q,J̊/+zeU{1utkOnvƺSN}9ƾq<+Ӊ`457\,z9U>D٬(VySA >ʁ2Wv 2I{#-n-{4G8m{D@㴮?*oywǒ2^+*V4j?{uhF¦jnFbksYsw;n**s\5!0WqpB+  g8gֆMaF w2!-fE팮r߬tY^^їzs{7_V1qO !Ku5rG٨=[ªh#ڈ_ 3&^! CJD !T]J} %~8xs-Oj*`Xlږ'aā=72Q(gaav p[uod-y#K-twBG>^YsGN I|{chann)xˢfU-m /*Lˮ_Cvu;QI}#1bKF`XP{:pw72ϑh#3/HzzxI;;հSw9cz5m\p&KJ@rA"kRA.I(u!'A\)pH_E*2=Σ$P>Wq"N7SwDwz,z~'15t~Ye%PKFuMFg1analysis_engine/build_entry_put_spread_details.pyVQk0~C~H iVc(ZdIH2#;I&*IwN3Lϔ+QjTPKu%)rDgaIGPFF(MIL1a""?f0%tՌX*?+  ڂr)5Vwk~ヘq֫;oW_z7xu?ƻKl=*~7μ' {e0 êt7΁\roZcfr:K A*b&Ib(` ! /vΥu ɭ\4;1FƊ0ى;8_-dvKx^sbc_3]ͮǝWVÑpx'ݸ>Bo|G.KhR5-=&o"s2~V UsL؂oEEr% % _9x8-3Wr#wbAY"jUWhyoXEӢOQ~PKFuMXj1analysis_engine/build_exit_call_spread_details.pyUQo ~W$ҚJZY5i˂-w`+zEQy2BUXȅZ,p P'4a[+?dDcBRŶ*g gx%w-=dgMy~pyb/71ޏkzX\]޲ooݯo>1 ^ϜBU}o\uP# e@Зe%x,,!8}tF楠9!$6 Ԕ l/)D2u][y઒*75{ڈc0I3WN' x1?16M$}+ʰ|gp"=9٩/Uٸ-w#t=v7v".f'.`tzsI=i%=-vuC+^g&.nud}DpI|ݟBpvKN$KnxѰ7'>)8? nUI[୨ܒ> ]CyygXqB#F,NBXH;@ UD>lV3`1&,MgsO x&O ?O5hRBOR‹p*Ԏ&kɯjFڇY-0#LP_I=nca_*}~7m҅NV ~֌:wѯPKFuMn~{o.analysis_engine/build_option_spread_details.pyY_o6ק ]e{C \gP ,юDDRmͶ>t,O(T&8Eed|ER,RI|#3I_e$[TfFwCXgz6ktv"ws; 2] ·bJJܲsK hdh\?,ˬ Ɏk6/ HyuިW-?U)jSfx}\HWkpDIK#ĢOOXd%g-1M4G&;<' 򠕰όDQj".㵓0N%#"v)Sǟ3Ͱ$q[Bf-׈߈|fʒ89+$Y!BSOdD3"xqLRGSt2kAJ,ݬqpïB*2:-L]yA1(A$/EW?"\Ċl+VUS.Ufߤ Z4z]NnmrK2P7p m7@O~neúهQ*E } 7t*Xzo(phȡ$0Ѐ,{94 4k^7 zo|4 &ͪ?Raw5U+`t v;H5Rxv-[YWˀ='cFLRCfOp`:}pu`SYu4^'}l%*ooNk?zP.Z \!ׯcu&m}w^C'4C~%:]X7ѫ¶ط=^:VlKm`̵-MfǸ2'Ȏ(ogg3ܗ; q~-k_e89% # 82δ.`fu^m?jrTsM&s0H}sO2ѿT+6$%K*h"?3!x̴C0RW'g[h ?P[Z>k;}(0Cu<Ӽ:^5#nh:gחF'Xtשo3\sLFޜ0]y|HoZ<PKFuM3G(analysis_engine/build_publish_request.pyXKo6WN$[ !n$7h)ˢ⺋u"qr8/l%ahI,Ob0JDdl8bMb y#R\Ug|< %88Ճ%[JhGٶLtͦyD#m4勆rW*+NDUF𶒑]UG )!b6_$"`e-PgAp'dCX@ }[T8+a"4z9wشe%ed#soȾ\q* ^Ai6feigWg#Pm',9 My*+Y8Go:0)衺^b;NEhϗMUzd@$d1b0b$4Y0slZ?9M6e.Kź͇)'mrc:I7};n?ZCӒ,(\A"{T+) o\deN-`H4+v/A+2P '͊JchuHeY? 5dys\AE ]/O lx.\y|EgU,/s@+X`[(xK]xf" \i컢ux19%w mv|kJ@#W[RīRw㋋c =G3u/P^ ޥx%3PSĉ>\ zdf<7n>~= gmCH"b[8v .t`չ#i%kX꺖-ТGb5"],XzB4n,m5jVDzi$TctxD:bm`_ćjXz:' Z sV>= *Ezc@u o0`un3BLC[MvjAٞo ݬgh-Pv#ϱn {Sk%fl8qNA@X1bUb(1u@-Uˠ-A_5|TNp(NjUJj5r҉,`fk}(_1GYdq8o*b*?PKFuMwq*Ganalysis_engine/build_result.pyUQj0){޷PS)D&-DݵF2,B=E;t`0ā-[ ͪSՓ83:<`~}?*:+ ۽ l8j]}HTBfAgHLU8zYH{3u:CASڋ.gXDg1\ZdȌa+m[i47㐾؈!$W[z ~-Rn'&R%Oۃ?eHmu(YPKL|M.M|~#analysis_engine/build_sell_order.pyWo6_AdH7*%NS4v}%VCIȊ;~$a@}w...*О JTYA2(H.@() HMث,%,TSl_mU:Ie?$Umau0HKe0۵%+.FiM*aIt>6&T?S SM@4#ur^U% *("r gUYf+^GjH TvHUKƲh#Q?+_(V잰AgE@*($.sCD ƭ#u"$䣢8Oīՙ7D%a1ǧcZQH0[!h!y] ձԨT{|ўq̋Z#ʜjuucNTyĒ('MMy*,uD6s$.QCr ?xZث?v{\>f,o6-nrn؎Ƥ fb`EUxl6OΆ3\B{tgnr9_G11ط' a-YqKIO@FRWT،zH˺G*g^~ n3oi:լOGB#.|v`kpYIB2u ^J*Jt/$"(F^GmEm +NxFYlu}GXu|{i8g&5W`{ǵ"Dd 7NwސUfiekHɷq$&8d*t,#T+^дHܳ9'((RUNkoZb(B@؄ּ=B; 9t1`Tt( cRJz1|[৿++Zʌ'^<>=nNJ\Q'6Aֺ ]=;3ug7 ]ͮ ' ,7yVք6Y0 mS{M$/+ HPފ bpe]Be:6 qt '&AZx#Þz1g8S/{I -mQ6unÑwd7[oa'G@Õ<5)1M-{x1EaNǩ|+ w=qFNqs_zwu'̝VliN%K$@؀VJ{ >&FN`E*.b~8!M~+Jau뾦V۽vBH]@­ ŔNm|CA1b#q{Cb?Andfov7mlO urX[PO# Oӷԛ4(iIZQGB_G_PK}MM6I,analysis_engine/build_trade_history_entry.py]oFݿB<8} nzdȦ,[c{.H#9 DrHpFy͖M{^^eEժiyd][(`%nz5]&Ȋ䋎7un]tXYֲg^X}<@H@\QO%X3}] 5mv@YT;EŢE"&]OjVu6/2xWb2.JjӺذ<_y~6LJf,,WFvw:OOƼ&o^jVZТjB:fBQ-,:Bj h|rt PTy$icWj%4[VE߄ @ ]S@FΔ!$+ Dn!h<=0#L͂ Ѵޱ ` N*"ᭀčf=SWyj|oL[g4H\z:(SDJ}$O,,xK5e=NƵaـF Q^^S]QsGPCQbxP.mWTjyaݺBkۃ]\t=cyi`E_lS xh%-q l )/A ٴN_ #2iΐԅ1Oq='15^|' qp?>0+)r2UwRTBQj»0m4Nl~( 63#uz9џd0`\^YMD|.E_ɻ*<"egd?վo$_o߿Atn4ʛoiX]/OCq\6ݜKHᶖf^*$:'ΛC@[` i]$-F5 NZ~ӖE|42%N`҃Ó{%08?Qys'{{ ;׳X:B]U-KC߭q)eh)1ēgaкti읤~TL{7({BPȫ;>C$֟LĠ|o $dE4xbpuo`h! /E/"zT/:+X/GLv;D  . :4~TeƳQOa N9Qv` Qv^(Vp/Dt!P3V )6PEoO4Mm<<]x}L ;jLZ4%$LvtE&RU[DB] ޺| zCnſtCHv{AB |$ಛ)W}) M $ 2[\PK={MQ Manalysis_engine/charts.py\{o8ߟ(Ivg!m "8ElH%.oDR$NrX%>yrF6a!X&2] \1!I(81[LIZ&y5%yF!"HG?]S"6Lrh4?Y!''ޜ|x-K.tR’pMhf$ɸ &4""KrGq6&L/cߐEQ{X /f(yitCI=B+HxӵUSQz&nhIv7ئŻw}7LPLjKWY#Q[S)-Gʡo]1ě>Fm=Wgi5cCLHMx;Ja|(JjvPW4ka&2&"2o&6T~EZru[u}5P/3S_:m-%`]; H jbkZ&h1A؝"⺉KKcP"(mԯ1V%49, YkX}MbqGJ ωclY26-`oAs5} γKZ`KP9h2˄^k[^^{ÐɵFKCoq߰ Jޢ֕d\¶\MIt2Y8$.%z)[|f`aC$cļ`[Ȗ_e^a HvFހ( I,˫t\Udfrg }ISꇟ~^W~!Ub?ߝ6ZaUB\=?W!9HK9[@db;pR,cIKZNui:ET9(2C\4?Kϣթcxg8km`Ы#,.t:77\{li[ve+ҜE8aZVac0!+'b4slNθ3 }Vݯo:YEx5{]١,Z__Ko0{a`B%ZUS%'xgCK}]^]n-W\S*xaZyGݗRbƑeQ.6x!ց8FqO.%Ϣۖm* UG?@ѡh- JC6@:iEە:f LԎ<%X;ЙFUSm9KHR T6҈_8G\_8x[_܎m&=#" }k5|O.u+!WKw<>G[i-Z q$4kU̒Tpf`XS!D/u]UUn%fH5KK)0ս̊J5?[00ԠTaYFنZ2VOt\]rM,(F 1pVĹR2mz Y#P \koh#悼_sri:8y_Vy);[`0 fx(jn)7 q=I4:kZَbÄ˄2Uʧ pphҲL$$[dӶ˖9/E)ݱHYԶ(:)Q[cjÖKX#D̷ K(Uw$a: b2e6i\/z]f0ԭnQyyvx"6 BIk\ॳ{C ӊT}8' 2Y+x*1|kϤR'H6}g/޿wB\Ms<؅!eF7q۸JʃN׹ 4ޓ=/޽8 `n)MG}2*rX< GL }XmMi\s߀Q9Ҧmjd3VYF*Uo#m*Gq߬] U c|ɨ=U`*V:{l^ϵ[Kί/gKٲzIJrI-VI(sI?,_ծj5>ާw7L{7lMnNSWv?#DOasz_CUUm`ZP{em*E*e1֝[D%!rAȑDnRco܄^3N5{ؼ"mTr)qio {#Rf)%:^5߲ {<.m2j'Wx2,j0Up0ک96$GwtK94gϛAk2鎤 $[`a"β]֖2&AcecaQ˛0r;ݱt`.㙿\ivu<4`uFvV]]![ܮgElT05 Q9lMȖŶ ?2l&]ASzMu;)@T@vܛBVk7Z{޷t =V> C``ÅPogA~ya2ok%҄"ޗd^I8ıy-`.MuƁMhrXO4ȶξyX{L╗6,H_n^:K /ZvΞ1S̔ ff_ حV& B6Wp0N Riiu{G?Fd9e۟N FQ6Tr4aDnbo7Oi&%}wvbaB1=:;-P:;3Ad397"p:c,.LߦAziB B>7ۇ3L;2na "(V%8st1JvHnn{ "QxBQF.s8Cw(Nxc]e #|2^OscQa?!P'_[b}aM/(V/(b(awº .͊ 1MKnȬ{i? &n+d(pbcc4qP)c= QSݵF48:QiPOU*h3V4qt.t:&v":q f NotjJfN?Qɧ*P ̙9msbrG\jmaq3?)s&O\D&OXB&N@CtS?=քJPB=E? a08#j!"K6Gd{P8백,{ 1)S'HU zAV3V ]U{&6!r؁OgF~,焥7x:/қ<fʯF"%t EDf2ܱGfF64ѱn ⒃e-,C9߸-=z |K>DMud=5[Q * #~15λC5(wwM$|rq ;{ύ<J'fw[95w]淶KեjGz .~iOi_+=߹,g<^p".: nf ;8S+=\{8M+`vڭ,Fe¢7췯,7*o]ҍn[Uxd˼[- kו{\+eVeyWgܫZQͽxR+{Z9[xLKZ!6GOfzʑZDrǩ4vV8K5GiA*8G+NQ!K`]za7 _|Trov;2XSB_6O XJp;e3'<$񏈤]4gn=pss99Ⳕ1qlNxJW|}qyq Xg~L>\aطSp" >?.lhm'bM9 ks Y}tst|yq*9YQW8s?=+/7 ^FMP;Z/(p|v׬gG6ϖqJy_^Fcfy^z7]q |5@ [uy׽zwwn[S<ۣH_;{λ:$9Ji]\fRZKZ5E_Y]G ;8Z^t}xV]6^ks~٦XVLT,Ǻ/Lɔu;ݔo {d/LYpk#0V:`IDH^*ZQ(XdtB̎J7#ŇZd"Lr{dEU^`5t$l4}m`럞)0eh*v8׹aGGHA7ak!udzkSגl[dFeWEdFco]mD_["MQ("s[6,4u^;K+;Io -G}Pm 6B1%жg)9*Yba t9K f)1̬T,*Y5UruвqUruqErepmEPre@v%_%[kX#)n~(6jYǓ82lҀƒFڮq纵,G' eLd Wdij)t=c $Xρy(,> tۮճbҦpH2~(`f$O}qJ40_k?M\NDN^ 6iB7o3q&/`<'x }N\~,I:/op PWVǜEh2uFn`)e7<4ݘt<$ oF(`AL`- #{E!Ś G\@0 ;`1rН2 ڙ0@UMЖ^Z2aG ;(e"^sQ|؍ QlP|]^2TpFDf/3V0X [0eH#"PgTJq66*% ?1)*),ƊKВl)$)\̄݊uiYͺ.l DUQ%줈O7 -*wWWC."]HTGssv2-&2 S3]kB$ 'яÅ瑚γ]A)YjRp[Q9bV| CMQt%G\.ayS;&:>Qϣƞ;*lW1Jk#>RTf,{HmDeZ쥢`\[9,MVN,f,)i?s7W}&&KK{cG<ƷbG $zs)$~iMٻHy[%>奋 5X|( "Ԫ>I1dp#0n̋N74`R]kIQ ,ħMx(~|V>˔sA޳?-ߴ>nEM*KoaXzI~Ia {Eѧ\ <%l D0U|w:Qiu(˲78c}|Xkފ◗"Х 9!ZZx;*_x{ iR_#vvF ($h}&)D4I(x6'6+V~élӟsb_tJO;)1Z|IOBx)bL{Iks§rw ZɯBkFoC){0X.␕G =%fR\OU|Ĕ &_ib}GܩITLĊH5.A _O='Z:5na&8QǚI$'e?o֐ [f;Ւřd2hYX- ;ptR8RB _Y%zUWC]T6=wVc5wRW *v5.JmvAUtFKEkƸ:zr!,R$!WJcˢ9EcsP>=PS XVo@?\PocEȍiIiR Ig>y3PRE}h&֎S }PKFuM8L"%analysis_engine/convert_df_to_json.pyRn0 +,vh*>~a(SB%s+!Ne]wOV uj@1Mt%- VNh.9= aWgށT=v O F'GG6PIBc YF2LOm˳N[OS1TAoF˄q:"AYVjX2oY;%'.K-FXp؇:گ%Nq8-AvzgI0ՅCS)/b^yU~/XOvd03C|ѵ?PKFuMfR E&analysis_engine/dataset_scrub_utils.pyko8~"PInk|5ur{wEȊE9ʒ RI7|H"%Ҏvo3Ǝ8C΋+ a/QS`>ďQ87E9pi E~w1&}?5z]J0ł1Zae1@IJx<= O8G4E4$!ρ_bF|xt`s.` V?Opt>q"DŽJDp p@ԙ4`&R‡a.xEB`)/Fs|8~ Лc}xa:3'??\ʉS}f:ZLE-?O>;^OƓ5>MODA >^^IS WF8isN:+8}N4Zo ɂdE"l"+hVq)W]Ł7O4~ƹo.VF L(0Qa5{:..EV-&ě˦`7#2Y)K05'wk,~'sk,f[#gzkol)]sz3oj9n+>MP=^Gnq .L " <}x^q(w[a#p|TYmFWO5PhR+W[xD8 S` nNa8'V}FmB5Ԉ}Wj2/0 Eqo,P>2~ fH"fR UUulRO.VTK;h0WTmFcjS 7[m/;6/&9>kRUrI{vW[.x_طm’( ;"66VE+M ҏ..NG=FcliHT!ħF.^ftv$A8w+ y:єC'i=q"`r9Yϔ p.;fZ|hk*P(A]呯,GmA$KHv$*`͖c6'I-$>1xk?(=2*43)&Y>a[d2n#&(x:B'a㓴[%lcu we"/5{~֞d9v, OCnu1BRG. l/_ƾX7kX`Xݒ-osb \8Fy( gkjuDFqɾᶕKXe`*beKޭl ]ċ(pkk$]HwJ-Bm,&C4.Ѻ"]VCرt=^Uw|$W坰KZHk O[ٖڻmz-f/@ۚ7z[Po[o nd =a0Po,w!Ѳ}n%i gDeʭZ "[(wAeN}!,HGg&} 7=DɃ}$T0үIENhF8{ %,;Im?%6jTfҁ1+HY Y eŏX>ޣL"()(p ki*=EZꮡ,ȩޤ|*8 TG=TZjc:vD A D(3.OQTֵXصc~QbUX  *]Ԕ; a@.Jk`LBLN!o,)3{59[] N60ѪLx.FKg}B)1,47k|9IsFbN+|-,࿎X׵Ki}XiނزGSL,MK G]TZ W "^arV;`qUlZhl@eT!tpc0/`ikVv=֌Í>`;:)pQ1βCOtK[ڂ9q¶EzELװU$JB xO_ۺc}Q.iӱ;O K[2O?C7 v$PR6ݝn^b@(Mvv7ҿ͟67ml(oT_r yGrsrr4ulpSWM6(73<.0^^4Xl0^A{ P|IWai/PXP75I 7{ǟ_O?ˮo^5/#ĽZgx{^S7Ƶ6"?qFшDi+i"<(d޽!10hs{3bT~m=nR|=~ʗ'ɵlsK|Ɵ[@Y}-r{_ O4%^ 5_ {0CPzS&ϮOADBBBBKNPK~M&#analysis_engine/dict_to_csv.pyUn0+ u P4i{ V1Dʊ;KQ8iآЫ*uQx+l eTӁjay*Ew^[PN(qu3Y!6Mk;/v0-K6µǺ7/X"]Rlm;ʰM]$XY"VJ~I#JTd?j}ժtܦݦ27湒`6Zާ7c#}1 G q#n4U3^XQy{G^֞~o >kqPuOBQk3[,i`d?:y@2A+6+,\g5N ze-N7F4p~')kr5 ]>&2}C4ƼHG,I2$_W8ĺj[ual ΄#˂{|SKFMRz+!$Y隂SIip;*ʚPsa!xwۍpDa=yΖb2(ṔuEp-Ue^~y߇T6/oB3ۧ)WC0x4Uo0*.Nvňm X4˴kiyj$FLqU% {R%^;;H1hPKFuM^Hb >analysis_engine/extract.py[moF_~rRwPp"4 ,!PxHK7o7ZR| vgfggfgYGӸm&+ rMU )Vs\e,mVQFQ!$JWѪ.7QMӌdd9듲e/O;“k`]ӛ7|ҷWf0%_O&cDI^23URcMYfI#X.+nGyy;U@­bZYFIu_iZ2>9"S:"EVd'˂A挶;uF_6eJ'8F@*bƽ 抗9M'7uiZSK*f졬ZWYM)vѣLe i8I>`#c4!s5#=dlAqΌB0˺Em{`mD6Pf%uiH˟8 #]f'IiJɪILXS&wdqX13fLE 6m]'x^:q9uQ2Yn⼦qUdlK QREYCf]#r"Eِ/hM{WIP{\SPUv[5}VņHX(8`,G#:[`TH'|sT QR<) &hNnxL? /c=1 6 D`|9;7hHp|pxoSf[my*&g ,x'Tiz *cs&q6t -z[i|5o8X&pbIp_;0ۍ}-5 8 p-%uKA/BՂa*nR)Ikn\ifo4vΤNlbm:[A%bY.n,vȘ؛x<_tҥ>ۡ1Â=:0]owGO:n AˇkqO^-OXƒ5M}#!M\蛦 E!V}[t晴MY|"h3!vL,Ӛ,Fа#=a@EaYsUVE2G@ 5. tGv.9,47p~;Mi;'T/cdG;>BiP%^z=53nEF5ֳ(Qk-l,g{gys;nd@7Ľ;΋xzcUSbN)\#?.ÆIms?lϘ&V۝mМG>a |oTwBd:'@zNɇ>K(_5P5( |DJ\}yx$J ™/J[|/LqkSaKwxC %$cܦaȺwHgyb`l:tO=Oؽ2(ĺ>w|j+3_&J,oÚϠ|C+aVVZŔ=Vyz+XܮerNMn[r1d{-\J촶?ڪl"~%S,mA4WbC-ЅEXZ=,~.Ks%vZ?:h:PS XDeha|[kAMާ &;} #ZCq>n\PzpltPgzFXݛgJ^P/Ne_3>-s^uӎ=dfGcV2t%5e5zWi'ؿ6T7z,"Kgq;̤it?ϜR=i!X*0COsNr|:\Tܱi"Dajq-FV4VuaZі*Z_iъ40(z ۇ4U<1]p (8BCSR]&#kE8W b+h&q*Y1ø]CbEQV?PKFuM)ޑ_ analysis_engine/extract_utils.pyXn8}Wb qțjmQ.Z] )J-_V@o8M$!~HH҄ @U+"3%̬1Ae0ނ5,20b*G&$A[ϋ \Y%>@5z\(E+/9VjC,8q?BE%V/#Q~ {ZYڠ2_eD]@>_gkE<7׍ Y i$tz 7>ݍ)(!.'ۑSz 0nnޱ:Ǔ#zK}pɛ >F]Cޠxt䨨jX\HA-pAQJۂ wSU.2pC9ӄT]ʯ:FXh_X1 R{KT @W(tJ<\u{A-PHv5vˍTB+trՂIjP7rxAjt `e+J WAo2%lQ U͒,U~@^w+e=p#t'*V "wk9һ=IB"hY&xX2k~uBVW'?0Ty}#\u{- B&pռnece@VA8W+A3̮=uEj <[ ׶i}5lpmʦ9֔. OUuiۤVmlcF0\6}6TӘ-SIrXn+YZihH d "5fÃ|q49͆mqӍZCΉo:Mf^o0]o TT7Ջr43fVct{Q=Ҿk*F[WEdkzk{UX'S7GCw5e o͊kO}{q۸t Zg;tCoD:>in!rR/LwU~wZ=sVi%^6N jƛmv݋;-نq8މX(ثlh_ipͦԯMTBDI K72GUª _:LoL$L}X} ڶ_4&H{ts2 iWZ}n>e ~Glau{-xXwSgM3,SkB<7REm:Kj+R;eٕ6j;ui.ЧJ!uK[*erWAtÇ&#U_f;"27(Y#VqE~Ab%w ?%a Fk<ha3SݜxZp _PKFuMZ8ICanalysis_engine/fetch.py[ms۸_>Hrri4UgX&˙7CQ$lH/vL{wS>Dv%,n669pqprUV )kuYq:#Zf=}b-m>F*K6JA ~`bтx$@uwIU6+ /c jymL$4)JpSVyu7" xA]Z-Tc6iy=9&M9)+){2IY1֘Y F0)ٴUyzD eU[ IsGB(J,(I rɓ.{)cfEVd@k]F|G]Y%^r:惣I 9e<&+Ftπ33m&S8ĉ{w@@^(~Ж{zi?՜f 17ek!R*5ۦjZ֎zA ))vo֭b@C`QzKFk47~uc\5ɶ'RjȽЅ b 6O=dͅ=֐ L liǮYfeG p#5efqW?+ˀLf>yq=&WU\K=m@Z$՚o@,`p8{: {o2 03Y (CB|"`Xp cxͅnB)Z+nVifp??4h.<8;}muV`op- o绱ܪ9cbo;~9b|}ꤓ{.UOxvD^x'xcgc>C-;#nf*n ASXԀ.d z1w]o֎jj*^U 몢PSnBD̮2إ̧*n!ncl W=Ϫʇ7!oU=u2p1z*j=^)r@w`o So`(d'{ĊGnDa)ڥQsZf^_mYVܔv~ ^R!g|{ nNQ.Wu~ {'Y#f2}d#"^QhiNhku`Ga+s[EQ'N#`:pظPCYkD#0F}f0stf1@SORQ%x /iS(P )GUUPKX ( 83zk$bZ Hpktta0Ne.n8ʔͥx :xҾ|Gj>Nn|fOҚx*^{QY _NRSү{KD~c1aSץ\UtˆU@".=*? 듌Z]ޥ1D.h8ԡ 6 {q RЪz2dNyb`5(ACrbuK^,ky%1ߩx}fH3b^񵘜m4gY)8˺IYl-'u)H"NAՁ RvwTO׉OQ\R8Io` _#q8Bwm;lX;lޝI;3 "eVmgw}sCd,P gB֑,5ɖ'ۋgc nVX۰T '9k9ְz CMxm0|&T*/*s)f;r6#,O6YR =q4G֕h*7aCN|Vl|]YO'y)5|OOU`kWF`@[ ;۪?Nܒ9~ uhq:gg}V]-؞cm ]LovCBbg;[8m?vf*l3%g; B3Sa{ݝlᡃ!w14zMX3l-֝ ww/gc' ;f= &=w?Zl4dw0⇾<. K56@~{.ɰ{߃~l/xG]-պ*L`ߤa/POwmK;CR`VۆC_k7F-%kDs&L\U_HAҐga7Yd!K%W?]˫_n˻SHSS1I#s(/|$ kl!G=DwWIW\('{XQ .mQ B j̳Ҭfl@P%)TB1(EZtKpgYE5z3lFX]8dBz3X3D&dD*Kjd;n4#*&Ű "E9D1 [ ULPE>/2vb3u #Y(`X#/d!Y!RK5EM'WQ‚4/uodi-}gjV3,*YNك|(\0 ux%<)T扭ޅ= D? Q9!A$kg,o8X\ãx}^~x}Kg>+Ǽ&8ُ.`QcjМZNшkv$X[l>w!Vp2h? 3jQ΅dejQXc4ڧMkmn$qA7woRǍNevRG{}qxmķqPI =efG3^eanqu:._FitH'$.;?X )Z't ^-YR4oiLj,8\.:?AP6ػԫg*w: lg6;VBNqla  :5}JpO78Wpr?npR om50cqrQc/ų mH%*=s)ua3v!簣1wֻ9i. e${WPKFuM3 jHanalysis_engine/get_pricing.pyXmo8_aqpmܭ:$hʦwkuU78my_f<~x~R`܆{>WϦ+cL 7on 㲉zEtY=J3I|z4 SrDq:C'դ1rtƗHtvfDfMi0[a0nMpCR8QV,$r Ӄh$z\gn`Q c>*pQbkYAB09BvDB3/(;8a H/w?0]'p3j_/e6 wX)1Z?9v-Z:dAbin)Gs^k&D& \Κ:V7x]]t;ϠW,/e+=ٚ,</:L&q>w e+fk6eKN: o!K&\f#Bs۫~E̸2SuxVIҲb^{3킑_Y쟡a"/y:z0*2U$38xǡ̻2ȀEpnGQ;I΢k@DxCf뀃2WTvS`89wd9ԜCm]w~w:{LX2 [B03i}Lǫe45ۻ Wnj궢RgW۾jl>^䌄C;=nT.Tn3R jyyeBK_<9w4Gw4vlbr*~\<4u2UzٷBrY=27wdaٟ!խ)쮷l⫷ f}{X7FO&ۆȭ(/7QUa<;8Cjno Z9"Fg⢫̭ l$-߽Կ WANuz@z^+HCPMGcS'ha9Եjkj᭭W0l.gA|&one"c}֟T7YcXIgčE@90ބ+Q\|L=uO] PKFuM!&C #analysis_engine/get_task_results.pyWM6W`kt4uA Ρ((5M$we+k=!yo4w̒55{ZXEOlSoL -;FV-Ϗ-kv &>g%7HCy73dzx]]1-2oj.ʬPBi7+2Q I'gNI,2d\JV9,hiY=Q쾝ׯTo>d"k0$TR"`,/gZq-03 @÷ZbmIj aWP%QM߇յ}S;_yRߛtDo2q/.M{~`w<hMhBW<{qhGq!0hzǁ sQP萕R.bp&qso})Vw3g,p~rgKhAӞ+fr,ya ʂJkE)LSo.Bڠ~6-pcX}8>5nѥ/d[tKg~}4.M yvgPߠERxYYpL:ķ'(7m/Vs,n3JPKFuM2.analysis_engine/load_algo_dataset_from_file.py}TM0WCZZ!债쇄Zi^pױ#-[w|n.g͛<#%7fPșc; { `2lzF+N&,>74أ~-82_+ M7]_Ҵ`5@DV \eA wbg9IW1V!q_9^*Ub&1d(!OtsL1yRc@tLa!#E@HHNs9Q&8 iIL++lV-ݬ맟n]nVMn˓ԋf]%dN3-47asA/M'"g%7 )_szyZ9ٚ1+3PKFuM®5 /analysis_engine/load_algo_dataset_from_redis.pyUKo8WpӃ 08mjA@"mHuފX]$q7<;;>ɬ%B=s'#;krbP.eQ R?*kt.'*ͤ;?"<7r[/<`E&!?$Ookv#$^9g4٩L_ZM X?@Lm- r4%In"J8 u&n,NR@<):s"hΆӹ)9<;:ԐCe݅ʃl/=C,A w(*soYP za<muxlj톭W>/o? ^nզ6w1+}kv-U&Xj2cO)X~7湤ዱiEBXY=ؽ~Vfq!tn|,㓂;dÜ(+X$`eX8ĝB+jvvv0KoxzN ƥ]O!{?oA'd \EhȖ^:u56U\\ D  Rƌ\'fFBd0-K6Gi25쓌WCFIòs 'Iyp?$ Q;e nZ L/3O$ x*쏮YU. + t06Z 8oJ ፄ +h;ϭ+݊ ˎ jJ@C:\)?r`0,i?[a):=X̔vIẘv v0E}~`ccQwmKߓh SZkl|6e2~g0-9CW{o(k(Dޢ t7SƭWi|J|C?2urH_ 7u@ 8H?JqKgp(pŽ{#PK5}Mc}M,analysis_engine/load_algo_dataset_from_s3.pyWK8Wf&a<٤*^b-@YrI2߷[i}Zusuu|d`l&Bь-ɨYC6Z̃fYҖe=JLZӵ`&(<*bv@2.j2оݢB0NwGVׇSijuP%Ɇ 6%/RK N)FvM@xK$)(#jT2eP2rvdRTfg3CgTRq4$LilfI) ϝj^`,xjPRo 3thJZI0+;]OP)x\,~Z</^ˇ?n(+SHH@K.4G7csIs' $IA6.i;*m=:3gML3czk2}e/ uvڰTE˚mξSRw$x&~ó9H0}L 7v3}tg؆АXfijp;RJ+ !i~dD:A =4Ms:@562htXvo]ӽV 8BP j5KMժvX Պ 99ģdrQ[. t2hMcaKcum򾾹Kx9 j[l-3w2F"'BϹ`VMNwnzm%O҈j'{ݳ&T2n~VުnʮA ʩ@N!T]N쏻<'DxџչXnB,T[‘=%OwK5#{ݔ:@GE4͛~vꖆ n0jݟs-9uK޽߿;!EzV LvrAg҈h*M-0X2 kntإܨYe__FSQ >H~He_bTF`-&BqiR UpɌ Q;+4O~2'SXUNY]ŻG+B >U"@dY<ԉ)6|{$[FJƍnX ̅B,9(DY >a8 y=x gqdNt & ;&Ah1Vcp K5L܃p)Y\kQBB jY;O!9옄)^wݒiBl*,z*rSrf֓PNISPt{΂}1XҔ8/Ƣ7Y8@m hshW-\3Uwa\_zT<sa_ _PKFuMϠanalysis_engine/load_dataset.pyY[o6~ׯ Al5-iW [8{^dJm5h]w9nMbQ<Νyw+hBhF($TS4YK#딳+DH"Y*[%R*&dZ.bys&\ܾ},?VdB%d49|d!"۱L)8SsQ[q$ ђƌp٤ن9T>! :}6ժƠd|T"3Nɽ :z <$+r9G$G6zr{1*WYTEf14hsfbghFI*df:)0Eeg^/$ʷ)a2BNS f`bj޼& ȔVy>\ܽ[ܾ W1ˇ#17 T煨jyLA|qZ'a,8g6=~I00{aB$;!󼄭1gaIKOӾ"cWTiu}ڳ`Xzb)Up=P W- )\5, *z=iTب`X˜ة~IbX%Q=U(d; ʶBv F=YӯLt5jD8~0b !;'&ޅ9FiP; v`aE?9iPϱr-,_xюӪ-՘Iia8.TtMvXrܦc9OH9,G3jg3Wa6KեQffJKɮuccfW/XFȀٱxhTOzl{I3K1|' ո'< L//B։GPMǵ]{ ($2C }KKB#ZEoP(#KIjâ2cbr NW9Iq+{Tn(85{L3MݗoLl->#@Qj͎/Eԇ 4;UgAڽj"BW4.ͯ;!#XDzit$kuq5h*_G#cߙ,4jS ZadR y1ڥ%eoxʁ;Uԗ4sNwZ˗.Iuu;!t?ժ24T*/)C8uׯdzǪΨqBwF#;C|B|e44.R6ጆ((_H;(w8D^J5C[ 3x]𩼌S5Nmf 5]kȳ ^!FZ1VK9XI_PKmzMuX1analysis_engine/load_history_dataset_from_file.pyTMo0 Wv:!öbeŦcmdHrt%ǺnXGыłݡBc,(#jwPv]pP?IktÓRl咱1טgq.[ABN!%Oݗ,bT7gtã[ d.8JnK؛*nje"R)uJ Y&T^u/V+'VB wqD WT*:t!ŰM6"QXﺽM9r;>{/cP QT Ë1V6RWilMx:M^NV wʝQW&(HzzdC=ovG.Խu 9h[J(8"q_6`^EsKEcTL%T?$۱4$J1 G?ž ԞЁMHjRSGeZy krD@3ۑGMSIlGLmĨQ^nkex>=^|%v偽Kl偭-؇xg^ RSAR6k&04\F3a>ױ5 uА {aåN\;gY=wV/Kgul3rdYC03ZzB^bA^F)6u<@aR ߑ9򔄋j¡.S9<,'Ix.tYNqlKDP_Z0tLN&YG" O>nw,(8 =yX@gIJ¨W E#hr4@ʧcl=$JtJ *u'\ot,6h7)t=duj\uO}v`vu*R* cH!9pM 7Jn9or3,@FSD- z4Ƭ9N0&&Y!ك9"48"[T,b p-q];:wi5R˭2&q64 D+33QCyq:3̣ڣڣڣ*MdS 13uՏXczԱ{U}4@bLYsrfb (;|{~>L2fbR$PIY!䴌<>ZFbGߏyhTj0Pyk^rJ>9CC1]}j>򪑺9l $;"$)O"!c lL`Z-5=gP#%R}ʮ#Ocy_.#jUh¤jD/)m*bh)xxiK/*2*45${ 7~ x#}F|vlg^159'P}GvnֿPK8}M;< 0''analysis_engine/plot_trading_history.pyZmo8_AXHK|mWtn,7iuE(%7CR|M 8!/^L~yM(Y,n*fņDͫv )`5i F*-Ru l9y6&ٮUXXnզe[ʁ)ӂDŠMVDY^6uw-MrHudyTL4}͛|3x2 B}Q3Gm~s^eeŪ;' Ih2lMV3lՌ?uVļk\{QxtX iTcmڼŦo[5cƠ )}N ͭn~o8#aE,N,mڲl6˚WqCa ',Y?QCJ%ط'Xs^Ll_K.FdhyQ ȳ`7~Gsᆰ f\|S5T,(B&O:3/֌,"g|LfyMpb@~[塢U)ݫO&9UYf4p7|N//O߾%]^~]_x,ơNf2J}sϽEoxT2[ \=LHOFmaQqnGEli^r&·h:T:0D߸&ߞ%9e)p 2Tzn6#e[oh#O#XBxM<ۅ?Ni)E['hwYic{Gj8BpwOA2K!G*(sڒ ט|ևqpy8l e-yZ9a(]p|l?f?A_k|5l\g(۾ D]@xvz֍揿cdb8Afkc9l/9yv!F"):hdT3]X~ݘec' yTlh}+{f}cz O0;L9J[)%sXpMxj FS(k| Cr&'&>^"uI&9$9\).&Y*qMiY" An 1I? N+ u7*<(Nrw 7dGrH?G#*,ݟI% GsQKXw;ϭQrͨs;9FO_B~Ȋ}GA%,DvJHV#H;H+ ȁ hS)ɘ`4O=9A '9g.V?{Pm/6U{öƔV*^ yw>x n$]Ru)tK өx'px v:uNщ[xLeY5Am\uJ 'CNl mh\ף1B!([( kXmlxҌ0flvh7?ze^tjнSskg@폒=-jVbݠ6{JYiH` (G a#JS {giW7B#j$VyM?3Q$aK@ _=pd\j4E:R#ڲ5!U,K"[)mjǕmHԷMf%SoU꜅Ci#4 w -Oz2Ɗߦ?yۈk,ry˛/TCsnxO J(r=\ރ…]7܁^~qwЃNgEPK%}M7tj (analysis_engine/prepare_dict_for_algo.pyVMo6WA661RR!@R`IZxPDZ.*DμyA^]]j%dg?z.w^xC&L퍕pSgN @ yl3:W57Ls^ Zw}}O~{z|ԩZٯG{V*NwF hvG( .jX0+(C.t A޹)'uwU2SosŞ0Z,ak`Ǡ&[`@-Rk~#oDJGj ƻ& e y5F @ۇ"ʁ?~yA_^;ЀB4*OBAAu2]>c20 %(`ou0Qr̳mHo#? ϴtiQ 1c)Չ6\׃DG4lmܽ n7%Mf6}0k_3ˎO@* ]vߔ@x\g{Y)vv0Qth{vwN${} NkwafP#<[cV',$+B ET兜 m+u幀hS H\ӥ86t>{gN c(ӆW|u.by.#'d* ] ^Pù+!uer`V |c=n݆E]Ȳ:"Ȅ _Oj`cO?k23Q:_'XJ^_S qAT'ɿ v:|aQO+f.q0^Ωڼn^8/қ>pWjKzxV駊:vmW: QL0S []Edlt鑱sw#"E>,Ì(k!ˣ Y ᒇή%ޗaEm.\PK|M1lz*analysis_engine/prepare_history_dataset.pyWKo8Wكm  eamn`[ȴE\S@RE!"BHy|onnLtLFi"<J'?sc>of*x)mɿF]]|館!ՑF%gMKV4PVj BJw:@Uo0Ed3]E ;KI[*WU(j֐NjVUpY vګ$SaHgr0VEo?ʴjSA.YubgdztJ_!~wPK8{MYz  )analysis_engine/prepare_report_dataset.pyWK6WۃltHKa@"!("7Ðf& ;ChyAu1߼采,ep!qv8|Ou/sz@J^hNJ>j/kibC,94zj/ ǬV6σT=e "]i~mm('c[hmp.*?Zx̳sGL렏nwOs boZ!V0 Ng{(l"mXG{\ϘD_hnAǫ砣Ѣo(Eg`>X$tя-z/Ж9o 6*!#wt];k.U'<2+{+C,p27e)ĞQ:O! 77N=@c(oet:Dd!kL:aeHzd4`E(AyF Y'"$HU[( at\4`bI%9ן61[;//`]Mk~Wō}L<-Kټ4bpgmXl'Yzᴪף2"!:a r|nir֓\=n(8O%BaaW@C_Q5/h%`X"J-{KvKF\hg˴|>\2C7ӆ,{$ɦ֬i؇{p5w~czH`hT+\㺫EE4QN:Lb}q!/-FtKkИER۠lG c GTqҝd 7AVr"<=iwY[7ηEKſ; t? Vmf=\2W@DQC $(!0 ބ\)Ubf?no{5SoX2#jpt C:cwԝ6kIrͷ&4_x~}:"tNCG_GkdǼ<PKFuM &analysis_engine/publish.pyn8_</vlzlvtePȔD;Ȓ RLs)%b`\H={l+.b4qɫر_.f˦Z&b/ nx8h6 ٌJ&[3UDa c>}Sͦ5Z)j, rbJ`0@ x[L]e ȳ1/𢥈 q$EUەYM "1v+Ii@P|xZVTS^^f2&NASbha̞gٞ0рyKU?HA&}Y eEDkqϸFe^[*#knL \Dj5klr?XTt~1?|>1sc@/޽Q`w`j RVyS\]*jO"MQRe!H ~Y81 -^Q?QfزJox tc/e!1F }7zJ &9h程LzQۓ8r=!L %q`"nkF$ #"FjʂdtaKVIЃLMGYlq)4 =:N.u@k<\( o6M2HN b8stiUf $$`&(Ubq|zY}Vd%ZHF@(yZwH' )/`:@g*^=؀QV\av*D)Э1"m1almWf_"_-0D!eJWX$5:8镑b|h S #s`9o Kjͤ#a9d2Gu8A ֑ f͹5vPL=PO8]ʙ{NZo$ўjWYr)% }PW+ 4Gz8ʎI58 z N _/?MzE&JZe[6@n &O!LR |sC:? ,+g 'oNjzFQLZ5NѡCBwIŏ/jԌL`kR g>ռLJ\~i[|+ 7ѥn~[܎&)}0НD;N|m;Aa0ۣ~~5_iU?ǃIMz8nYtpFp))z,pGM&~:.`W{xr=\>O5k sYژ>Ćw~%tDvC}˦NDߍ׽4MJ24J!{3dt>m 5 8A+86!CN\CW.]bus]szD ]/My~.c: S9}|-^B͖[AaV h-=TyS(| !C!=LEKW?j}*Vu':Gɽ*KOITYaӈnTtLPЏåF+Z: MP=܃Zp/>wȦ2C?9ޔ! P A@7󩌎M͡\Ss}swOI s]8Ũ(ϰzr¸,PMes1;~{oFoS^'0uBiHniʹ|ӯ(@=UnS/tsgFd\w/a{l7W2x/R]>}+&u <kng!ʋG6J*tf;!8p>;tNw^c|Izk4K V#u1ǚ$ΧzP-mCgF&ydUAdC^&B/0qV]KtOYwG}SHFӟ7[ȼ[cxPK~M9 8"analysis_engine/restore_dataset.py]o8ݿ}Pܫt&=m8= dYcmd٢fH")J<Ė937Iٳg+xYQ$o*-Ic3ɺ*daHEӌ^/5D VWYq "d$G8gsUqH&Eە)9o(Ɍ,lqq]prIf-ÙD;yKd[d KGYA2N#󹏆m|\DHh*H.j嬏zWm:fp`ԫEtv~~5Ƿ.ΕmƑ7v|ۋחEZ稅:ꋟ?\D1hZ ˂J{<|L_"vnP,O/d$="0#$kp$&p@Voq^W5} 58g CͯѰ_-UŐ>bxaFqdH$gشH5_#2hr:1"TLKWޟw1cez]V CZSU#ʚj,Uu\ M*pXEo%r z=AVyuGY7=V%kP%U1fal_#5- t wL>2JFN9%U̓ͱbxkE;js(~8@b r WSZhpryAJxD[.V걄]eNAW3U&̲BY=+TqL. 0&tBY Tvn,G"5τhQB%m͡[k43ĆN,def\Z0h3lT` }u9>98 XXU7Vt)UxOCg*>KST0A1AZY\fef<[Je) *aE,V H2 <~B^B<8:m=ne ,΅`.#+y9KdnyNL8>uUv`~S;:zXcnVrܔϱ%_PE\?yKWjtK0;ҫ~2dU2< O^m2)֙Grk&|f]sHm%wXVmT KXL#Ժ B uH[eG[S{BJr8 Gol#ٻ}jۿy#O''n rC|jg:!,`S)Yg̀:ɪ*džK[[\KUnrg#I8U}`{ؽW]^F-gQ{lFcgf*.6S b(bN=A޻?d̶_˪M*2X2k$HJVB`6`JhZpqW,M4b BK֥# 6۞HBmq$/HQHh##N.Q0On dQBGnekx;[fb 3w^"\nm̦Mw X# M`/ۅFGˏΐ_;(͖_hS8:橀go>ɇB7~Gjs d>Ќ#!GSObw帽ϟ8+֥ncE;ï.W _c+ؔ^Xc/˨i7Ncz 8#NQάQ QZUeh-*9ø{cD UApK"SNNA$%s[ D `aۉdžEGM ExL7sKy6D_6vi='j*WvNʺ׵qT<2Kܨk/Ъv UcI-/?_͎]GDpvUy+2R6kѹ`]ש޿6&@x] {n3&U17#_1,0 }%!W47 cVdMl]a1.U JڟȤf CB@/xH1@=b&f/AN>);yu2B(H?;x"0 ]oj Eջ4 YipӃ,!5 R}"N < ombs^RG]V"_כ`CO |]e̘D_<"q++G []#e>x,~e$eΣF6S-]uEW_ a؟+1նE?Ykh: i~׃ߢ}5ojDOݐ<$TntmR)J.ű ;5Է q9h;q:ƀ.4.0NЄ߼wpa^…{!DŽ c%G>8EpPQw1eyh]8l;.(3f}9}ޑRݻxQ'9!CIOd\9gZd}͟Khu?PK8}Mo&qanalysis_engine/run_algo.py=ksH+xI9YNS{U92$˥hJlP;کgSuMn4 9<<d U|z~~9<ʺ|CʯNBOa_34[|rTK2rzm ^~wrK|rÛö>bIt.~iz>\V,xu$|SDEMwCY{;*(/oo6Z@5on~<o/~^psq$dU,EQt]FM[!^Ue@g*h]K JE[=2+yagC̼\."[ܶN"uVǬ1=\`A%a*k& k%*ģyYM%Khd.YiT+kZv2b_PM.EU.cl܈eܕe7 RMRHڼmsj6{'U&j6jg8H~T]r&@x8h I2/,,ɒM /ڂ'_?j,)RlȋPAF l{77!ƎT\3m.҄Zehqpρ]Mv85-lT7k\cbI[TwywWW+Rю͠  OVlU]CMy -J`\5~$׽!u[fE۰^Gm Y>ZCZԮb:ٔ:\)geY k`GeI/Cas 1%uD:uI KgURe*GUta blr>{ټbMb0CP0I^>9HFѬ*m{AU4Ofm WsEv )s%Ujg0buT91OHNZʧAw|F~s d _ M2B QVU|l!?w38/K [iA4s=@恱mDgrPB.Ze+b!`TNse!@!8Xh\Rr^UΈ}}c Z66GoXzj}3Ob ",E35tvpTJt="eE 0z20XpZRh\xy4,40A*ů6Z̏ׯ~z#=-ZʁpQ]"8gАˠ+-Nh ?V΅t͎F9;E'DMDpa⼨K*+DjZL$B",mD5xqs}X(Жx텵I@8Inn`!!TH'M`2>뾹gm`b YF#UuN7Ӻ1Isf7EM9}ؘ<+'3vȅT]RA{/\U:zwx3U:Cً`{G(:a0DH@k*'c-}1n Jg:U*@D:y6N>ɍW!#PcDɬ*w+h\/qha]!zJDYuV]t|ed! d_6$^NQ/3mCWkR1QsGM3ʕF`>:sM '΢z] Z-:\9.ʋ1OCvJ%Q^ܬBִ[g.׳3>G10)YtZ T ~5tG|44u*zك:v=3k5vAϾwS6|LiϨe&%Ik6xKrnʲta?Nx9/CW2{'G9%6\3 2TvgDޟqID<3ssJv wk ühREN*< ЧM<%#QIJGa~bըIVQPH"yqk[R5PL?!'Dbs߲z\ 8K0k.52#=iUcd'F#d^v?o02 s& $%}ޱVP^G)F'C vvw fqrH'D7 Y7DIbuEAhrgCŠ0"#Ҿ0U|"B ĎQk[u4Yb`"+`Yʄ4RpUR\B*)=*9e՚xClPXԕ=ZF)o#R<@ ! t [_5ЩYw?n)tjD.-Fg[;7#-_vQ bEgAR%EW@wi1<nj!RThŕUTU];َ Se/ЫHġ^=쩙e]Nw( |2I7. >uǡqV;qְb#^.h,-vm_ѱ-Ta }fŢ 12@_P񬖏Cq a#rUa j๔@H S'z5V ."ڴ a+ڊXbIzn"~?kЕ_̲+ H ݹ,FB6LP|єN {xLJ(e:_wF%Z'8+4sN5 ߂{5=9 ߂)0ʅW.bm$J v+&hCS֎fI:3Y$F[P>7R!f:榇{pr鹂9)ղe`vpLqvٝ@UgX ɯj0,slaH2Y_sy\~9 /6W*yUZ>~]cyz=ZP3Fi=E` <, J#2U"eqdžŲݻi{4)xz.ߵ "8[!(M@.ĥDTvd\~G?RWWGG&&zKbz*^}glp;7J_]",;nVoh,UNơ?n;tƀo ņu^<FwHz`ڀI}rCFý{OQXn:Dxz.'w35=` -v aNþ }U?3!t07=j6Fۃ!z5%#@Qqg^o}gb/޼I٠,Hj|@@?9Y-ŁY)_b<`>3VJr=l(Yեo~,퍣AK dx79%x<9MPP"`rӀ0JΦ~[̹;o+PlKtPQ2ñ]2n>"XBD H MJohHyW-K=hz ,P J|U! %DCZj N%lHߢ©]QE[, OA9/ oŐNOš0A<twWd[UKVq'uRfamlsMC7Of߰< ڄ4r_aWhOӱg] DRh $) E|\ɾxC/e'>=9=[|3):td^4{ 3w~^ooˤMAs1wj^ j98O/AF&D m;w}>ߪDb*@*xUIU9d \qu+Hڑ؏fqkzvp<۸g2Yr?(W7owO[bیNG\ԇ*y0 +bX%<#e& ˓Vf°06OohҚw켨>$R@;AĉĿ%8y:@pϣڽ}x T~?@%se+>ym'?a 5us?чv-RGܶE}by7q+0n儿&.!:7"K&V+Lߟyoz)$V-Y63My9іˑ[أ>ڀBoo;vz$|ITT'VP=)xmiA TBuVvz :Շ6CKm_s _Ԓ }a7n6hG8"Fg_e ?%k-}t siU4*ԿPKG}MF "analysis_engine/run_custom_algo.py=ksF+p>Jַ)uŶ\\[9o HB\Y+UEY]Om]k,sv0_>7(3yGA3pU?/)۾d} B'QX5`晪cu?KvrwE^`a`c]ݖ}u eR֗6 .qA+]Q’(*cdZPtUCPқB)aE>u2"H-ŵS "n@+쇷GWNDQi r&;iYϏ^{u6;=:yy=WZB.LjQg F}w#it^晷 bYFCʲy*m[/ri$WjRt&d'* -}5뛒-|t2;y `0 }ݢe#Cy٫wϏf|gm۳oN9u3O(&U_>2ώ^0{vf{uHmNDmZT)o¿8+p\ ܒl}`Eꞟɷ0N' pzZѱ^yŠA TJ7-a 6I&K2t"ݪYMګ/'(&Ǐ5ris/ka|*&]j#v:@q _~btޏ0}o.u+H+K,IRN%HTToKYƎ6}/j*Y`#e h=>,,krlF7:H:%_=?~{_=ׯ| eO4k6-990"5/I4RH&h 8.0weD4iod/%;']ZވpOի|9IK{ݲXT֤r؃#Pu/`.\s__i&( -bnnIls\mm +Pb'˫= \dkȈNqлyccr) δ:uDѳ쒛WYz Rhq~.6\.4PH[yBu1`ɩT.`\hP!:{^ 8s-KnA@GJԆhYi@.K[am/=2gְ*2_4H&M/,Ҳ&(QyxEvTa4ojT;VFt1ӿm Ûz)M.Z<Ex2 Ϡ*WcE>8q: t),-utvAStrLo7"@X=gr;ccBe7h2K."T{$p237m ^v\rL~Ps%/@&u,r%ߵ9JiW[l( 5ԍ_߷+ h</q9~`{5h|#XLhuߖ{d6#O_rUW10f}+^Lu+J3dە^`DrӴ)ðSw|aOK {XR|phffNW_^Yo0=z@$3/ͬ,3>`QN 8EqZX,bL'PΙl._5%B#О'g<>{kqf,DJ]]`"1OwJ5f3LJ%/A\+Py6,i$'PSݬ_;=Jfhގ${ad{9KzdXM%\6c V"Ѯ_mZΆ@RVBM)UZC(Hvs\fy!̶$z>B/W?VK`]Cn ~ByC|BNTIvnwl{&m@B x튫 z DJ-dd@qY?Vʼn;Rds鲆?JX*+p[YRȓ>G]/4^tC0^>4#j>8:ym`]wWyC5'^jPC#DȮcrEpQYɵNa !z32NT-(_.$-.pK":7Q`ؑZ]u35FM f]-]Cd{dplhHg_۫NDh[h@@l۩#&mwSxxD<#"R]F@a/=*I(@"#/s yD:=}:ތMv/d?v#O$,UvY,; [tW4K`P&֚yHe)mV zx"X*ӛ~$O!QrOy%eH=#|? AJugC] _̌#&)2c"SU;_YJI$%eF̎"I"R+];fy(/+`tsNwS0ݾH 2;._ WmO -Ԉ9xc̍Epv$V/hXqH-l c:VZZak(^\FK Ρqhyw &_P؈`ѦI`ntJ҂RuE¤i苾[j'0T)cH7Ͼ=ׇًgc>˦{փp,/t7Koۃن7BYqOQ]ԎW4qbgj ) Hi>zGʂĜʺ*ud#1-E>z  c+* !WSM|H,Sǟ>#WneJB# x~pG طe-EsW1Xw^EvuU' ط>}Tp^CuPuv2yr@,ӉߏؒHG.[xӫ~ jny(Zf~ D7txi$JQbJɝBkQr؃H=ffz‰a0-`/ + :cm|lȒ-m*/`Ԁ)37hUU0I0FX%N@ZY| h*I:!ʳV{SNE;ε͕kZh*0kFnHZz:Z@-:Zo}mJCZm}vC29|Uh+Մ:n3$j_HEԟ\뿡&xRíAm@rHJ@Z;!`-BgA n#7V)t ֵuЇVD_#:gh'snYk7'^1n-uDg/YCYӵ >_sg_?s`t}&5byVH s&k"5`M/# "Z2:{O!7|O/ yPӲ? 6gn <ɸtc29Y ̱*5c:_ | ql]_Sb.y& 1UG^x;fݜo.S->;^%:Q ~f|a] g>[̿ob1аoLd/h_kߏ!2- [!g^ٛɻ7 j5Sv}/^, TX+x|ȠƟRTAq;Kqu|lu vmWK=؟Ȱ[F8 wx^ifKQ+s^^ѝVΧ?s\Ȃ-rVsHj|7䊾\-ZȢ./kqjF0Ko+]?Oߜ{9Ф /ZAa[LNҚt#uAj ]jOj 3vp_ dWI|D%ulS_D7?$^7CHap`B)(9$ȆLc6Ka'D j|<~ڀHX$!ݯb,,c*S8#_Ұ$ż5"#vVp6i[`lO3'ΠHI˂? cshczm\^{$XʃsO0򃸪3f;eGfڤ_I+,.:(%MźIe7G##c?4޶1ύ9G'_1 Cc˕C͠f:Y}VIN'9<%{rj;3&{jvc㓐`I (35['N"m<NqV! N[2kwt{tmTĴ%G2.~PEuz<Y%7պT]&+fJ;3M&^r#8h@`ig4I98YvU_I;цen;npw̏F |=F?EȇrAe k6|<0vcj"Fc__}  uVeEץr\oExsiB6a4mo93 ި̝@ms"^4(k)jZ{ۇ<)qkmS{:>= AҎETם>NvxdƎR99+B$tU'[gY6~6:pgْɃ w۬3Bxb Op2y?F#i7BǵFH s\gQ?| !QYv ھo#dm!!"֮1}*cĥc#2F*1[Iv "<H0qXDx!x0UYc ~V3~1ڹ>b>1˘HC~RӃ޺{?w7dزٵ<섇Omx .fEY%~+8FCo7[;bK+쒽kPKFuM겢],analysis_engine/s3_read_contents_from_key.py}Sn0+FH .^C#PUqmD ,F.؞7oތ$a uoTg {

/o7ћ 0*[;vc1,~b;xӂ kg2l%]7M)w#Oɟ"< K.avSƊyP sk3A̗ {2zj:_?ca&e'>~&aJ`x?PK~MR$ analysis_engine/send_to_slack.pyY[o~ YWYG~Hl[==6%meR{gv)+ @pfy AT IŊ%`xiTrˮ g "i 87p4)\* K[JyFSc|c@˫_?0[Q2^hP4}1yh(ZfwZ[ Ц3<*2nqL4rN*BrvPzuu}ssoK2Bla&WSsZYQfRU~#j#^"fОMj 4'lŗ^)5 +\!WA>/'Rw2c(4 CÀi4J+ъdyˬ =v-qުG~{P3^n_aT {Rnȱr~ j` _v;r:L-w2n^N@a 86js+\ு#7S~pzXx@g7GWr")36HY4mwWe򢹋,ݠT ZzBF3LS?-9Vqn, t;C'#Su-8Vm"LK^$2IR*ۓ$n탨R/Bf}!A r'Z(R A0q#" Jo/~6!EG=gk=*{ ;D"}vPYG˵U5kېpI,/bD RDyMgf8۸d :tCh5HXvἃs^wڃaJSqUt[eJoy}Rl+u$mnEnO5[R D>lA[*=2JޤR7Rx}k^T&lwZ򕦺RqӬWa?JlO dL'y`Pq$0ZCtl6Жy0 o]Q3F{[n BbuZ GC\+ciyͷv ˬڗjйG׋amiV&j.=:D->B/WoH> k* Dgh0pid-P!gN.N7[p$ |&|@P>73M07~< y3\pn2C/ [׌Yla1b0/.7t-obO9s9>htCF7&sN4o|<lK~\L]{\3M`i% }'T{Ѡ{`Y+I|z~<'dT3v6@,ūP3}&3-*0h;CLe=G0͕g+#QimqX{ϧKYx3$>3RSV¥=qѽ[ ʱ̝9=¦N!fD(weʘ։P8B9F/]`]Yޅ6~PK~Mk3 &analysis_engine/show_dataset.pyMs۸_hy-Ywۮfӝ6;{H=  1EpPvg{ AIPbxxߟP޼y3Xl (F\M!vd" Rp`Q(g@`0"b拻ӯwǻ和R//k<'vhxP[PA&+r%Y+G2jAs$[%QyhhƦB3?\M$ЌȘg:2Ne4>ЖoXL*I*|ww?ee9]yŀ3J 2'T2IY)8o܃% m,OyVQ F:۪YyR"#ڮTmc%bt[yT6l-jj3kTXCQ3?1M*V9E, m̖T1'ozd1,lsx`02DpOȴeJN&ǫT2M㗄m{ϋ͡IOYq`$DT^F4(א[9D8#)v\ 4-i29XʅU"H `4yq8%.Ȏ`s ע&fzl L0uDJP)$:N.a%kDif?nR.Nuj"yCj0Ҕɸ#:cd+/MVkH6$GPj{t@ѡ`Nj@=Ղ>݄@yk-UtC'qaDE72vx9ؾ ]\WKµ06m%6,rEMLl@&ّZy9t"^Ѱ}̺%gP0@ Wgsƒ!vLg,E$6ysNO[ Sz 0L?Z*uk<5i.@‰4D^a։ Nگ Qi :vi.#Rq;),\NaMG6I!Ua3 WJ{6D jYªdebۦZ8Пv7C$~3_NtO )')N9 25] t 2ge#`cQXܣ9KE[$=zJ5V}O8m:Z~S|{45T@^]u9bkWd>-i{ŐMF0Yu% YL '#DT}5C'p_.jȳrcq=5?AjX4S'TKPV>~{Syã{:4I2r:i2^+ΎY\m_΋ܓ7 `\輽00 uΏX̑" PDVl[!} 2\~FzN).1-ogD6H?jTX{:R<;8k8r;^ɖ x5qV8y,L +}0 7w_PKFuMn؆qanalysis_engine/start_worker.pyTn0}WxdU 2VA E՞,'1KbG*ZgDT{׾$O^ ҋ(w%JhAR!`'XmQ [ S#-!YDBW60Ot-0k u_`E`nF1~xDpP2σY4hns(Or.edrv )MBc0} ]x5;kwl5w H\ZHg5+UeLul7PS~ݹh3 &IYd.apuy!2ፃi&u2_ WDæZ}PD3z{k!K,`V[zإRlQgEyj}&xR)X3T;fNRyBMB*hd6`cx*{DH:`'e0JR&ղOe7뽔|h74мm޺& PK~M?analysis_engine/talib.pymRM0WHYzGʡT)ꡪG0h&i;hFv; =M6DczS1h}i0R}"'-`ި>] q i[;%&?$d)kw+{it\<G$ϗ6 G}m>p369J ǻhftjQ?H /^XUWU{?~|ps1Q%ˁdg]3L*/JE!AJ>)+/DA'0$:Nhʵdzh% Sf`a%dҷNY](m莵? 6R qG6~%yM5 cL u"Pej-DyI0mQ{!SE4[ʢ{*<9ɳJt ۳9҄D {ۜ7idqd˄+]t&“2gȖ .tZ \+xc$||A+T Qrٝ0$4)2V :FT<"I8It[VT!|l9q-ë$fR^B5euAK)]+;EǸ¡G&F٦݋٢d3:LN?LkAD1AMazST+7QM[D[ ?$BzbA+lvnnj#U<&%k̏dej/ }e PKFuMP,I analysis_engine/write_to_file.py]PAn0 Dvhly@^_4nZ˰elg&Hu]G{xX%Z B*Ge٫HD UC>i?b S]׋*Z!s!s7nOsmMFEYY xNJѓ8e&]6`"N)lgX6qOmmUPKFuM"analysis_engine/finviz/__init__.pyPKFuM~"{ analysis_engine/finviz/consts.pyk0W涷R[&s1BH.iIӂK{i{_<K;RLdrYYB$ф̆k4~|vg8hFx1 h6ʟ5h"w,IF֥906Ex3(M^!fNɠ9iɚZ6Yn| ADHU]Uae6 ̋JQMg0f` Wž86)` A솴TK7J^+h:`_$g@Yu69 YjM}" 5:xcq*֨Z595TV\ ~u؇Ux]xmA~PKFuM۞#analysis_engine/finviz/fetch_api.pyXmo6_e@ea ڰ 6Ktł@-BI9qݑz$;ΊMbw=88ʢR3=_9\yޘ|ͤ&g\%c9x4GL`O/[DKcA*9,gxKJQKy+ /,_\,BtY t>l1\%fI?l]+.9U:sXZu|ysѫӳ׈]^Jv4SO/7/>w|W"ю Eq8Oȅ&4a`63^ɦ8wvNB2)A`v?VL$Bg[0/~Wz4+4&L้@Uzf32yRM|h s$=`C6Wŋ{dq@sN鯰OiI)2gU6`͛ŖP%_8ښ`o^YMɈj1;SUOj^U4‘o㔳 {Pqa /&!918I=p@[Map̓aqҸkтzX Q?ŜCDNИg\H曒'Z+P^539R31d']W=ߏ1;ܬ<*X6-CZ`B[;fC/`:ao7aώҌóiiF~C+&1h[0MCű7܁B![fw~꫼ G}/ؕ8C(J\o(@d  妮%\biޓ17NJlOP݄@7EmEݶ~=20x_2 '^+- I .+(z?MMo*#A@LJ-bm#G8[tLIf_Ѣڧ޵nتW::ز{vY{<؞_7cz (rM+m +j6@%]2R1R57j^l%% 7!c X NFW`Mb#y d>qF$ }Z>kx5;UlZ=I~(_̶W%lTÛa0r)(.6x^r,Mx>%N)3UAM4OӠ2v<*X,Hn GA(M{8U)gpkPŇKG88MUv`:ؿ[ }.Έݮrj?IE!-ͼ9DkW)8n!Zf``d3 8В إ@xp ykx*{:f 2#|*ot)ʩ1<__gGbz'lly|ڀ4ӌYNPKFuMAx'~,,analysis_engine/iex/extract_df_from_redis.pyQo8)!ET!ԥ{@owuZkӖ;w$R 5=SŅ|H=p7ch O"GylE%-0aQh(h6`s"eM5 (gኄaN< kY]Es3APK5 |(V̏EC2p~y~poqnqg,d%e_cg04kCޑOTf6DԤNfɯ}}|zp`38Ж,D 2$c"Вl*A@uY:T?;Ay46iɴ?48V#ks?:h8zhn8>8As˻_9_ PdBr vߕ&*.s]uqݖeY>Yducݤyg'ِx:u`:/<#]`aR* X?ףZra 3.QV:"*t6*:Km kOt !y?8yUl y !h0pN$!8]E=|ql:(CbF9JHb"ORܾ W㜀MIn" 9nSo+p6CS4Qt'P#,0'"a^LZҺu9T  3 y Sq"ua,4y 8tUr|8xz*dČ)Aq# "ŝ.r n;}`]G1+He1ی.9L*E@>݇YGxo2B=akBzMm ܭ[zC@~Fzs+mMh-{)֠N^}DH7 /4=VIEl ͻAk׏^x}7VtoxhZRۺsB{6Db|,xmzuJ=M=$TJo٢JԿ9ZQZsؾsww筈w(T̋/םֹN&|'oXd&r"'( B&oKXs)'WEzGPc-eDD(5jB&;,R#1+B·a"PgTg6™"sSP`BHbtSł+JjtGa|~Z^k)O(ˇ+)+u0W`~%kkX+i?|_=σ@Tz>gd#$$Eu"; &4ꕃ}Nfd4#5߳VJIt\u_[XDx!*-FT11OhqVEMlT}q`4Djgw$vNeL!hC[tf U3WgΌ7 sQeP* Rm9YAdS2 MqX~XNrcX%\/Jvc3#t._o^\/Χ/G#=+ QWe~I)"}8(R褎{OcT!ZRcăq1esV,2K:Ϋ /pCPQ&oُ,iE@9N1EebMxeiVQ̻k%QFs1Ϳڅ¿ޅt~\w!vR$^]HP2,+ 5zSqnRo Ogo?cy7,a<߼r8_lM,|j s ǫ|~1;;?r]]ˁl}8`8 OO4#h'A>|8* o סE5*YDQU=<,•5qdr/X3 Q UJ &ItYurΜ/_L ;闯8ɊUXj^Ѥ]E`-NyFfuEEeo*i_LtF(J!EW2ER(8Z+m Fih(rIk5(f\A6$Jjq&N׮!HUj cn6$ђ9O$3L MU'6mi10l.G#1u==.lyb&oNtxfmiICAB1 ̴lL&U /x-?UYbx. e;+Lvda;~9hٞ#T.sa=Z!3[# &!p`=o6SUUA=ŨY?q2beTlzMw K ISB^:tI{ŷ ȳ"[l꣊~N&n};V/PZsb{xuv;o&&nO.ʚϝj]D*jT[݊Sx2.2.UB fEO}bqUF${>X{-6Kv \-3'=qCv\z#v`01^w\Q⠧y:ϮQKwHECK?A.~Ol @$4ETiAH G$q2Dmu#b E+31uEzTE1 8q6GG 2$O,Tkt7&7<ܲլ`[cH1C%U>{ W%;VVݽXAL~s\T$_n[mqllZ=B;yمtH*.{4}y"6 oߚUdr%" ͷŖ Sc6=-`ŁKʾd|(kCuUr֜umF^:*@ކV8ָ@ aYdeQ un/AKgWNuoPKFuM?C)analysis_engine/iex/get_default_fields.pyU]o0}W\e4Th,6UՄf-gL>5s΍2͂[4@$-7J i2H`h%PbH0R L(*&0bЖ=xߤiR$qv06lf2j<:tq~wӡiγv:0ɾdI'ӑWqyx+~0QE\VF6eI{8-vK~#uiTA`#,=٫#HˢCQ̃ c b?0Cqg;E>IOEDWoF/~ݠW^^v/X.w;;{ LƗ0"zEQaL^E\bߪg3ڨi-֮K!%VVdʺu1dmHI5;=1Y5IDL2}*Dd: h;_ -G:0O4*OdSuvVU +yiZ%f4S݀~,mNO r1e9nb&[!UcW&*ZOAbz45I&\Q1PiX-yil ڝa톊"e6D *%*XG+uj[Rn8Sޑ߸TaaXtZq"ҹřK{';q{2KX%Pl hp!tvuu[rh8CWK\|]Hrk'*Z,1E#v B܊mkBnq1ٜ%89 48MH6}gǬ?X9IuzawlKg_fT5K,\ sg|G>6ᶞm8X =3UtSW35k%^/v‚-ZO˿oqm8q9qYA$~d|7`C޴w6~0B9h8(5H<Y<=ċKE}V bt+pܖ6<ٷ;E&(qȇi"޶3aTv0ok܌P¬HJV ށ#MB%(ya3wk{ z`/kߕW|U(\߭;>`b'3 {ͨeit!L$h "ݥOZHLtש_ah?4Ү1 `5HFpyJ{[W51+2f[qϠ=.t!۰%HaY 3s)'ֽE٨ֆY,JM:Gln=2{Gӂ>W鷻EhZRoPKFuM&analysis_engine/indicators/__init__.pyPK{M}0Ɨ r6,analysis_engine/indicators/base_indicator.py[Yo8~  9IIzށLK͉,jI)io#}xH( aw P(#o޼")$g9U,-c?bI6D<^jP RV -hQ\%X:I)EʔrfhץkU~ʦ-Ktv姢P&,1uc`2VIJCxMj0 hFɀZuI^*It{A XTᇒVZduΦע`a Ŧ4Wl4ivNAӨ}6<϶xǟ|hh}r܊3Hb@[0f3fJdhe-xL*^N& kC0 Z7όy`9Kڍts&#s#[ъ09#4E@OC\ڛw4m6SȠ H9(oQzk4/?ϝa3l;C/֊ @bK*Jʁ[ʴB&(0=iџzTȉ1bG*;F7U=C}'e뀉[ Ap@*y3h4s .*JU- k S(u"&P@M^LD1״5 MDgX )5g)yM[oL2%S rzu"6#Ej&fr$ cZ)I-Ę<ޖ1&=8j>/Pb$>p}s{q\_}|{EŗZ"-$J,ZiYyPx-ۂ}4Mݚh;+WSw t:5uuI hjյ+ּR +S'Wh˫7]`n-S`^~3c!$h HnW=/-j6Spp^ބn͗>B) HS,+]mE^Ne0id:u+=Gݯatl]b'#R,)8 y%.a@ ՁݞZbNivƦu>aƛF8ocdd7BFQɪZA3$h 2/CF2~9!&wHIaʃXCgV._`:y2T+搈!#jKˈOg;(sk6/ zUa].MTvA0ZX,;fi\ ]4Z,Oki)\]i7GD_qI = 2!w ż$zx㾈?ᗭ &?7G]W!G VvDǎ* c㣫aM?{{ӷszvus} hb5GoQ={+ORO6IRyM`w*jB`b6,gbf +Irt7kIOwat hG~ALwU uyYv ~['DHض" aHms&&=DM~sJHխ,w^0l:vm b-;Zln+`0@?[*Xtwsə xc+lf~!_w!1-$Zf@<&ᯗ+gDq ")1zܻ:.ʠT3Ki6=)8v['t3b1>?jsϟ$ǫ(r/U=Ws~F(;.;yj٢%`a?nsn͙PE8.% .tw!5t:XP+hU#ɱ;ط(Cݱ!Z0H"sd X2 ݻOg* wxOP K2g W]lWꉱ&y19;"*2&_9Ӂָ1בeſvKX9Z a{пCn` 9-طTc6Ɠf+=sHŽG߮h)wOB4lEU0fJtu8 4apo["Q۝8qm2%NYO$71yQWF&l7Ot 9^@>4r9g b2'4lT}Mg5lz˸Ɋ6L}I.ħȚn<'ZcgEs~-NoMPf~85ef ?HCsO(`jGsdfKm,َbQ J6 3Tgw[XfwSɲ@rI漦Vyd2%3?VUUɻwk_/!1*zE]RT(eֹ'gC Z[Na# zQnA960kOnI ;-/U"r\B6P*~@)5(an&,BGKc8%vWqdr ::_(L9NqNի;>|EܔxPB11"gfl޻1:Lޟ]$WZ=TV;7YG/b̛ٴŚPK#zM tr2analysis_engine/indicators/build_indicator_node.pyWQo6~ ٘ccyxibC4-DHeY:HmZ<{!"H2qY@T='9Squ%Y+T, vL$"bTH%?L Ÿ4ck(/7i4T= =i`Rf$txBGm?iH=TӿF/NvOC<l=%aFT0#\QYځngRD(sQ!Q~(LECJ{&ضGHOJ+I2 bt%ĴIHs9*5. rnh>9o[$10Vkj׳ oa=n;`QT#. !Ұ-ݭv8{Rp5go`N:FW`6uLzI Upkҟ H*P@WvM|oE:-ob9zk۰Epq=벭h T lwoQ\:fhx?$E<9{vY^Ckm=vNvC1:y֙-8IÂS~SQ1Viebg,3\vS}Y0 ƱmY:vȸ K:jl5rP):Z *fHsAb0Wav ?JǕC7&~z~SL~}* v^:@`~ӟG݀;vmT퇎)`RB?O\i tc*n#At-rFHX!5PQ"5IZ@7ٰGA&mWN"K)K|`֬D8&d('ᜐSqJ%h3PE}>(]oy$8Ѱ;}lWtW@u+a \t+o bM{Pv]٥Tnʽ߿h0t<,[Eo圽5=:v/ ȉ;xcx-uoEb%OI]S/g:NHŷQ?B* &b7^Avg`P8"Q,) }8VG3C16\ax@/|/9@J6r/pbAw݈\bC,9hY䢂xdz\)Q^%+({MьRD|["?MI⇾'e ǵl3)•lBW &%{Ea|(jxhjm(\T@XAaChc|XQ *t#v<7Bպ~]ǑqX ?p dO-"yŦ 642ӛ਌.t4&>g2efIpgA ^EWW׹\ OMg^twYS/bTřdAܘVΧ)>nYd$דqŢAW3曕h=KYw{n[Ȥm5d1dI>ʿ|TpNww[Tm By㖫|9Ew-PіMQ˿sGI%_z}vz&(jƬ/.4PKo{MZʹ 01analysis_engine/indicators/indicator_processor.pyZ۸|zŨ \prEۅLKͬ,_3CJ"E 8!H>3yS|[2㵪ʄ֪LnKǃXJ7jV+YrI-U</sEQhZn'5?|0x!`mީ"_Jsfg!?_E)U͆'rodZo^⨥NEg5Dj3TbEvir4P*w m*O*o ϶X4,};עn)[k6mO'[LvjZX)d\^ѝE.z9"q6ײN)sMVB,Wgk=*2Q("㏢Z+-BǧzY5[t@VI7u>Ѭ,V=q֊|ޝz`*x+Jp%rES#E-=yW85=guBlx$8wxV0N(l*'dMµZng[XӬWlV*{i8P==V8-4 Os~) 1Nq{9SRaGTL=^ŁW|Z0Q"m=KtMYAm(ۈT4 Ela^8DHCWK4jo^נl M)wtQ d{ئ!nIٚgP,LpG23L !4b5R,`PA8+k3]!V#tCzQzIPe)ųLAl8Bu!x#dao!#!b O?B 3c&[@@a) G߃0ڌ U*gT͖p'ۺp56$k%rX<0=YJ1M).4Zv23!3E80B4&H9vؘj;! 2aT V/|xÛs(=2@Mzl{𩸄TC&it>%_S+V]~dg| .Aa() E`t@ |FJ3^]JfsH㪮fD1R` & ?KS*I{*gP͝shl`6F.m'A-?Sew<`x(|+v{?; B.2EԠv&2?TY2ҥT ~&>0`l"q/,zy p@| )[8L,\vNשs 2Ntt4 =?B XK+k"wʶ NEa :l1pft*0 D0AZcM9Q Nn#UZ@: o> vfT)L\ apvW?vC= j=jyx)`ᎍжσz8v+l1CUPvQ̙$"ooi/| c ˿_M{GlgC&AzNX&Ac<;ͥ2f<G H?Ї.zYq Y(Vh}^`yϓm^ I|q=yyfo@Uhn 륲v"ыn+?ФXcn~O,(l0|[oP6j>>QU&{[]9d֦s$A@E{\;[jlMZ4:,N~z} UD:yQ 3qosNr/߅{i`2 Sj#zGxOt~38]/NW1vq-YZ+{\yMslѸ+Ɖ/F">ƅivK9 rxZHwry)Ї/$2^;oP"(rQBl)R;utҵC6&^3nK~e.M35 .f~ת‹gD"nlg% SB$&|߁lA15U(}O7_|yߧ_F?Q=R*}JїȡOw\󺮦VאkI]IXOt "X\nvo}мLp?_O?=θ1QKz ў5wBoW<3bmD![XH>(qpUp-LEKRW\dVgEw=bRAʰ%-!R225HJAS<9Î7X8evͦ-Jhﯢ]1[Gܭ8+ л rK 6Q@/}vd5;]-ӭ\[lXA4IﳷCjo-W&Bթ)g%lZ'4R3hL5 O2\C9{Pv͇N厴}/jjv{s @ʄ2_$jޕhKHݗ_bA 7|"IuwZ "9܇y(sV R,(Xy cKtNzk!g @ÏԱx~CdQm=-ޕSF-=^}EP ~*!o)\T۝q!Vh؆,@I6ܽ4)-ܦb9ٔW]PN^uh0iʍ[ Ms4|j5`^Y!0WC#`i8j` g={8z|O0YLCnXW~ll FN`|{j +"^ ^5Ր܊HօMjSaﹽ"Q{0NN&)ŀ@Km0<>pG|2 {{lw}Q\WġS uvr¬QESW{9oc1c.DmȐW\ݻ_ #u.̾$z5lj'~"y)9b惋kn2>{NGsw$ጵ?/UG8UJ\P uN+# -^&oj62Gj[yś?ֽ+11({$+ijmQ˨NWYiNר֟y;/֓7_5C4`z?_-,̽5}XVޣύܟP^sotG<<"mқ$iW{koa{K}sa.TJG l5#N":ayt떜n}514Vmd7jG9iKZiS\ߞv֚kwm֒k 0ڠ3{UrfO[ QVj󔋠nP3{ۤc|e')W+fЇ*wNPKFuM h#,analysis_engine/mocks/example_algo_minute.pyk6~ v`tSiK .W2-6cZTEjNޙ!zC?H`{}Ap}wJ+օ[邙l+e8atdf 9Vr# meUl ,QFdz 7V︕ WPJ+E\;[BB;4bԍ0X,xHl-3!pB"8/,l'FQ<=8 GMF8hV⨜ X$9;%{)-,JN Š)ٲ<P ~$:K:3lU]2qU$x|e B B/sy@$8`8RΚoo1K=@ zv.D_6ľL ^dpZ9WY_O.V|uu,8;̲N*A T cDiQ_fdY"YYѪusm\Sl9&zUc thz.d Xϝmg̟3E c6$9M;6~ d!B |}=`(8HLn iPaCRt :8آLlY664>8VP t"j˔jxQn71wjŸ;RZ&ǽt *Ŗh|&v=x} zQdB)fY/o MDn}l7& INeb[%̠jQ)̮Jdid_M8TROP bJn& ڝ%JWHCetiƒ^=1meLb G\BDhe$Y &CEFaU"r -5r{m"=`'ﮟǯ)~'j~6J*f.aw  (,M='"H p+L%LAT<ȗ;P2us{aE^k!BaЛTJ5;:㐥TMLUf[<N<,ᑨ>C5PF_D;u|;v'UWC|+2=:RnbXfVFyglO5]a3(A"|M1|n:jq!V@;]MVgFE> .:r"ʍI/.2/@im :ؙy[*qD/j{񢭸9qÜ瘉RKJ md2$wFLh-$D Y>@t:mVdӨ#GANݳ(C#eO!`AC2.:y?sԇm<” n55R(v ,NH +ː YVwvgi/=sт+ >R(r&aAIL.L1Zǹ>?`)hʆ1&CRYW@_5 Hֱ{tpP+ eXF0j(Bx`mxuŢ%Gla_ Uf@1K<[cڪm-=:hM?{6 %8rH : \נmxB,.w(Xr}4]B4{0 o|Si+`?L9;O>\#&0Tq -|8+= +T-4BPyyJs> 'U_OC+OַR"__&\;7B2|cw]^ξh \FީQwf,V[V".ހ&t]m5bTX "}Y]ܯZ=ڀi 찧#_P: \kf,'VCU pJn5_χQgGE$] iMH (q8*8Sg`!sz_r u_bC @k-ntNMZoN/bmJ[bOvzp؋nT?i5{ L**i ѸsTW#q_uDmɑEz?@B W7]8 Mui +xVO~yYCU } j:VO Κ@~xgF#@Ϸjl)qo&ᣗGoއG9a{PA= | ӡ!vL9eK6X'ߐ{~$;84qkm#0]nF [_'^wV;z>*6#l'Rka!:RݱRYPӚa˩2ap{f#Rr(T5CowS]}[_T;ezW=(4AkFbzUtCr6- ЄLe-vo},\uaVF]/ 1 kzl A/IZ&:^=AP/ATN%{xPp X/F[,(ӴMB ue0N7˼-G{(ro~іA OPP)9kvD %hErvT㴍^ srP^*m!;m< XMy}uk2؂J]N3OPKd|Mvc 4analysis_engine/mocks/example_indicator_williamsr.pyXmo6_AtdK.I iS$ي(dJm.T\oIZvvBXԽ^x\}y)94=S)+ #ESj"fKMPim m͈\ !5 ,2,#xJ9 yD0}vex!F;̈Q4eD͆FQju󫻫M|jʠNdeA\οI΋0QC⊭af#Uev 3 ,93Li4rLܪMx~=@h 6t,r 5A-![ooU7;Kk"q\GIxnn8T%Si@߳Wdʴ~[gEGk>} z%L'a0Q"Fj!0qaWAN"/ _@>m[)"wE#a W+,:҇WΦ2r&u9}bJВܛ*Lw¶5#˅snuUFɪ I&%o%Zr/)āߤP~'+"jf(N(|8,_D) \S?D/E1|QAX*71_ꏓVPٽj 50t-)^גN$ x hWm%T!k!NŰ $(,"swB) _sA&LS7uJ:OVY d)pH)7^+unaH, s-#$P9S]xN(ɺׂ^owP׼S0ImvJCB\wD13,q&؊6ĺJtx²?y}XY;|TDE@;Y;_yVFWo?쩱fSxN i LVEN{,aލW! " W@E.%4Y@^5ٕ'kp',kB`Cݶ-x )yfDc'1MpJ;~3{gN}?^,A'~nY:n#VL4tCl*on&[ྵpk.V`T PoZ]җCZs !~ 5q!ӏ~NQϿ•g|hUى^E#eّWԍ ɳ34҈)d40ڗUmV\kr F#w׼wn7nF\=6(!-lB2+Mi׵Nuus3 1h/V wSNM0e'Ņ'0>!5Ci0'GN8N>tĄf}s=aNo#ŠjTvÙyo쎸z8?떡q``@4_G @O7l B[u4AG wlIlUo/ |FT&4}v(Zi{{3""NZc7j;1 Jc$NVphS+?cyZ8('\o8!;Yzy$![&J{j2z0u8%r|Y{ )#O} PKq|M@o9analysis_engine/mocks/example_indicator_williamsr_open.pyYo6>(ly< 蒴OMd)PFRq wGRPuW^ןi^ F.+mdN~Bpk򁩔ܓ")5R&4d6fDnȥCURV?*<#=XRm(2"vˋ-f}F~d~m|z򠎁]˂l`yT `I,㍵k@DQuHJZ"4cDRN^TF,M*Ryf}/4KM⠹Y%X."4&xq xn9 DjbJ%J#e{9Ep(;A 5 jRqr ̹ ,a=ېqgv~4yoiOV{^N;h=[C D QCGRဉAlb]ɱ^ Vx'Tlc HH΋0Q5?Plp\8BNH-+ 1#0mn0;:ԫr fU -_ \wӧtQ+OL9weC5͕֚̌UЯ;UXt Y@uVP`,L/ahxTGY/5) "" PHR*&&P2n8T08KS Ep[ơB*"Ea̢i>&P Ye#BcN*.2uW-{fJВ<*Lwܶ3=?!KCPH㭒UqL.:BI4cKSā_P~ggZ5\psWy^?(*@!*Klj.C!T K͔-@䞥r[،R{X 8WCe o`/kNtv =)&cdE*P8Â+h, 0|á 0N 6+BfoH5}!-8`yP?!~с @ߢoAw?NR?6N~8ifI*gV>.A. j%tqt#rEXW C6#W{DoSQ{7T+ cUǻMV6(~1( eٓjoP/|Lǝ7a+Š6= 6n'([<).Lxϩ> mqFNNsANbBY_/fOoŠtTCyob_?\?O0P / ڭ Z[CVG>A])R,|vh{іݍ7\TOJ&4}v^k{""7tnv59]fH&71:nU Z n?-SdX+q <ȈOGct/SSԣ3Ʃ4|/s%aY0X cvdPKzCyMIi>q*analysis_engine/mocks/mock_algo_trading.pyT1 +D d:h{aPJq؃eoʞI&٦aƒdIl69G} ^l}LHѸ=IXs@>PU@v!F0NFEH9OC h1Åi;"PlU1uwW)KBV$cl~.^N2\!4n\\%_pi9`QRT!'=0.< xQgƨ=dsWDFzQݵY E\f'='tqV<y2xG XުCr=UUxkzg2Jqm~y݁{ l=ҥo {}*L1?}vPwl6h "nK/b`+!N$i?'#krdH*c0)QbSϯ߿Va~"SWOZ\sNѫ/hdx o7ޞf]j0_96+JOb(sY&EPKFuM;V&analysis_engine/mocks/mock_boto3_s3.pyYn6)APRa4-i djH9M{gH"%v%gșG*g{/X2)+ 7pѿ} "~)j_TX0v@!-ʜfM4k|Z(e8㕐\u{{^_z%l(@V3j-UVDr%OKڰ**)(nJ셲?L: cVe< q`x8Ӛ-&Z&xYY;a=P`ɄW6!~͞i"v&Gx~%q*!c"p(w`b^|pΦBD59~u=DQo=v0)wcܙ7x:4y3Nv_jDi#wjtǐR`nM(gtAVB `QM1uYX"`խnu{H-H."9,;= BǀKj?5A 0wl\U92^%k+*Ie5' V98k<O+yl ql'Z>&/LZ=zץy~ݬkN|j1yzf mJ(4-_[`bX%i9[=&NImɪPD~!F~"ʱLPlhSQ[Xl6Z,10x'IMDe[L[ ma]{b f%y™- .4?}Cqh+0=z(iG<ɥ[3w&KDit@i +Njun/\q o+VCMh\= lTڡ@s\S"xAـcX BwwO㴎<5va3L\86ٛa.1>oR!G fVuimgv1b(9x i4]6]4.Rac|sP c]R=ө/=BpQ%Lp(QѶ2Q*rs&.H;[;,PKFuMFuw%analysis_engine/mocks/mock_pinance.pyTM0W!@a,HpYmc.z' m{hDa)S\bCp ;]@XCF.,ׅmȮ0ғ JLX.i!>JLm)ӄrEDBr4aa !A{aέP` ,iy`yK\%b!H3kxI ;w#;k4cѼ$>[? t̷b[XmΆbv:\PWV*-9H8dr@brzNlq.<"I0,2:}X׸rl}c+zG<|,]]Qt@tNkZI R PK(b]lۥ,}3ҮA7}zóq_~QxE"j쁕h#5Ҍ3é%>H*bkڭU0eD8PP \]ulM+w)T-?g]7N+uw)xoU$bX7kRIf|_J8N)fݛ]A_\,{$Z1U88((/~evp2}z?a$8cߙ/PK=zMrQl#analysis_engine/mocks/mock_talib.pyRMO0WʁVJ=P,+ Iؑ?~Ǔ6*!8Kf|y޼h~.,Ϣgຍ E:QNЪ,xchb$EJDEUŽ5o"/&J >2Mf`5nFR*;VtJSQ`2u8Hm$b-|}DX!ϋsx*pdɽk|cBȖ IڡDՏw6ĬsazEg$ar {68 |ZqH lw]*XJjı IiW2c MCKĝ}vvW=qU [zkZoIJI8ݒ(,BN N6,'!.>ʤ3\;sk,ee)Mdyz Ʈ-J K/*\%1t "Q UiT3]r0faΩ 4Lxn㔎,rsI9;?>{;>" k ,/[DC˲ 2㣄mGie- ࣫D0P}Ěg4_ (JRi 1sfAmQd|||r펥st'/{F\.6"̋zH@\*{{|UEyU{pH&5&ac 9{/ Բ4N!C tbj&!M!^~s#y@Rϡw ٽP%eC5V)˦˔0G<([SdFD~ hҫCr1GvՃ/x 1pP.(^1KCrT}SʯU辕h&0GME2But,$w??B4~꫔dFOm'^e<8wYkcq-4 KFoyeV>#MB"DdX$&AF1y|qsc}G9*Iш1Y \1X{4CÈ)VGjԽI:Ln/?˛KD ǎ˓qޥ2 Y19ĕGѴ%dD m@ӄ)Hz"*SCwu?Ld}Ʃx|\aw;џ#_4 I - 8_`(.TPhj粸Q-YAJN#1(Hkֵ8jǭy^hABZbNpB9#8Лjr32Oq=<z;d: I14]{l 8#w$"jPkw)P{Tk*(Ur5&=U:iE77[q Ъ-"H6t-lgXR=,1 p K=,_ +$S퀦 d umܭ`ѓ.V`5;KS;Ni_;mwTR$jf 8CX%gbh`EiZl=^XH[|w5ZmRen`q!Ek`^ugRe= <*61A-H]]3ij".9ИF!7BXci{_{>NzV%b/Xy fDMﷶnZnOV.]mDtb^8C9DDw {a)88E^6UmOAdщn$f&AY[jebF󳷳UQ@p>2f[pKh_>,ه`G#X\W˅)j^O/Wc\ͱWB {)4rZQ#2Mzg>;{w5}1ΩtaaPyeZ*ރZȱ%e}cRεd קԒV rWX7HAkY\T3 )z3R64|$.30#$u+2DcJG0P|0lPu 92M9F=i;4H\)Wِ2';n,&[1Xq&[1F](nL޺R m:ۡƑ5-q=K;c*ti|mӡyy`Eo&th囐fK4IU n/ |*ub4z>_e+.rd353Ⱥ Î>mϮk51|rOɆt-y/̤Xr&ЭOr8J}m8pc*{NAIwo5ՙ"1׃&[.nW;U'>+* 0MDE_B*1,A_m%@ >kL J42/`E9 Ep5Z5d[œa O  W|@cZu1vFq<ɔyƩ`JM`9~ QСvX+@lS;ZYa]{wuLOr؄vV:x%(XW7l jm~x ~_8,ߊjD`ݎ qޚzU'.18[*=6$X,<W|ygCc/4G",{q"|d{[bpbQGiC⼧\N=.ŧ"&zTb(T 㞨KC^?K191zښPSw~O_$ ojIϙFXoC/7TA#c"[n4~mJ&uLa <`&@OuA=*8'㊺u3>k1ڛs1qyXpI""C%ݑ9'2a4"3[-hpGH=vj*/O mb&*٬wm~#=u܋P8 &۔޿PK}Mh.7analysis_engine/scripts/plot_history_from_local_file.pyWmo6_%d~4&hE0IɜiR#$^#KHlxs$}Yeق3&Q+%(DV)rQ)\HDD4Ml\XOO(j$ԒE<3r. ]IC \[f, yKbWYU|w9BD7] 'J \e;Ty)4Zՠ&ۄEULbc {ɺtz͒ 6W8aJv8tU,:ЌvssbܦGpӍj*L*^;_{[|+:NOLOZ `c]µ̊`mmT4wg='X eh\wyMcuTvr(LD&ǻP,Zpx^D.Aؔqpĸ=?E[ɴߞn г|:")4n`/5+/ ZymҜmMÊ^vw4%t<]qس0PKFuMiehy%3analysis_engine/scripts/publish_from_s3_to_redis.pyZo~_>8>>4&o/\Xu!Pmk#KH5HrZEXfq43wֳ$+f^١,ݻwA$yFږ#!\ =WJ5I3ʿAHEה \#ER%NQUg۬أ30EINjPspŠ@a,E %댒<8D- :V ͎U tJ.&>+c1崒]]cz2 D+D[9RO=L@^xELr?5U @dyo˼T kop˙c\UZ_ 2X?B;$έ_YWr폌>࿭|^?O!B70b|y\jt{?-&D}zܭCZoEW|'Oh9_/7'~PbR־oo*A"IN ޣ/$Mt>-ϵ0|` lCL"RhퟂgΣ [d"| _”7N%Sg_ZR-ғ7R2PdmZ/#rLzt~s<y 8AvY>^'H&$mZx ~n0LÿύB Rlkb0KiM/5f:Ǐb4n4GbPڭfebHR·~pZRnʟ޺5:m A߷e4rvPqWK.Αwh)8SlW帎ס{'箨g-uȈp1]I+<q7lzЎ"U:, a+e:hN ^wd;qh!UcjGQtUHv=b2m "NO!i{m_Y76>d̰Nz@G 0A$ZW7W:Z*%nyO!;"]AiW3{f~b2`i+:YV긥Ϡ2$NVI Fr\(m4EPdvhm/q2U ٛȳNLs>Eq}vF66uD4jo CvjWLSm{׮4V; pc+BmY(4c`NKrR08/P82:L 9"5.$\MshhXUPG[8>^ރgθ嚲ߌ#u㎕PP0E)YB'y~ &CA('[X?Iqi f ϱ.H'C,]9HZmxpNͲ7\V/g7/~.y4ܞ5Jk#p(w:v(}<8+x.z޻PKFuMq0q';analysis_engine/scripts/publish_ticker_aggregate_from_s3.pyZo~_>8>Р*ؾ`q`;hAY,"սIԢ(7oFpXy%%~ȳ xMp?l~>,VH|7}RyZf'c~#~0/fa#^n߬n֏f fX)^V=7%8+ Oi ^<[~|_̇Iyzf߭iY!ncxsH`^1tQ|sa QJ ޢa8$^tH>þîxyO@R!͟1ȃ?yGF<MD. Tl|-3pAnJp!9pziz9z®&8P")x(F_yOGg4yJRs(J5-q(\?vw]T_CÓ#!d۴jmIC Em4)jhFn͘yt FL3lvu#־uD/ nhMa{ `*iFLHzt~k=WKӍ0 d'|^ul[Ӫ(H:?- GFΉnےvsm4mkiwbE]=Q*\(lzlҶC-!Ӗ։#t[Qs44O;si%=l#*Ng_d[wh1˾J=EqV!S-Z'Q!K#k\#ꞢlϦ= Ԩ1хiMQ:$'kX+ ~xXk1)MB_.'دSJ>5>hh;4LnE=86tai+YX6gBXTa(5rDGY:4Ũ;;%)uuB~?{7d9TӔ  WTJ],]FJ]ɿ%}Q3k(x`G0B1>$xorPK}Mzi{n8analysis_engine/scripts/run_backtest_and_plot_history.py=s۶S9ܱ$'7n4y}i2 CĘ"ҎM7@J"c_;k2D.bwDiRr2K nHVyvppxxxpJuש2-ϨqCKIOg0E2zL#KdZQ (9e,/]BF4s( BQ*k0ڌ1"ɚҌ-JE\ػ O9R4ۊm>1i}4In6SU ޕVj;DTժcpd"DW}ւ

hn? kUGZuհawӐ@C'؎ڈ0UiF-h1h {,WzF pTqqn0B UHH?"4Iy 'Z) 5 O-巚GV;A*5_'j q%j,e`l(W,V5|  Lf|//͊hY 8 JcꤑUR 0cde֪! QkGM0L#`(a@@mچGFH鵄U#?ru=US=9bě 2 T+'g yHͪfj.{JMne}{6XACOٻl@23n8OC!kOIܞuI܇$!Ò"k@:#<0l0`~v+okXjQA q_~Q<}KGn(Q)&)cH J4~eW= oٖH!RI.b\)ДG$t^cR6cHk2G&(i3&*?rA&`\^ݍe~ LSy*r7 H@sCX=$EWc !u),L%,1y?譠qyFx7(Pxdh4_|JŁi$0FXxAr:!'^=l$+ ?1%Uō p -*<#kR!YL˥ e b}_9gϤe%nAt&s#0@:o!^!nqX.|TKUZ#H턥g2>ӣ"UYjImUϨ>r-x0GPcdjC`h*дJ -:l"N#gm.P>sc9 P0Q OPn4qntš>Ԑ"*S%!fܰaZY-+SsΓOe;tw&;1#0aYY)LD-*5  C3;1dypQڏH~a䞃HsY`'D˯>#J H,Ie$ښ'jB;fla&:xj*y b&>NN\`gOnSnPq$ מc_ÁR~ I,*ͼ ٰm)Z}z[$#g)c3wkrK>+֊t}_^-Bz> gg]6A\Wن8?{uy=7gt!XNnq(ʺ%MXP:O#[36aгqlg=˷K[&m#$ߐv5ٞmzk_= lIk''So{MUCV>8~iyܥ,L2ׯ^/\>2sZT8h-wfgPCԤΣKg!~@K!*Je^ˌxC6lL?'I˥xT>2D$(ovS^ 0]?[2}Z9eFM؇5vV\(1fO#p,acm 8dJL,l| l# l?UJ ā_$̇6z-(=DdB]F3.p˥~Rq0mտ5*Ycu tzEoSJ`vj#=*%ŢMc\D[څmT*銯*mcV0dpnvlV'ȞڲލZ;l?륢gdyM2Ҷ sD.7ʹ_Ljʿ{?y]uGu-Zyw|-s*#Y%gGc- C4{jZyl t2 x6lh޺rթeM ~7tp_d#ԺP)w9bc+8);ӈNÝH)g wDeM@zޞr@ԥAcsB <̶''B> b$Z2mt/{5E-J: {o n-{A^C%>܋J;ކw[n>4vd ;I-\J_>c{"GTw96d>V?]l!VXE,rh#M}Q*wG-ݓ*߭:i5%.~O˄fe^}\*$LOfjܲ)!Itn 8w݉C\*x`)蕬y) j3 ~bn*_**6UD%.h3p{?|yD>r4;lJ4oC CYWXS{&Dݑb@V/q9#^W™f Xxa s^@]mcSn6/89&%:O*nnٰ%$72);5- Z:z$R †E`Wˠx<@ :5&.P5Iv';c{,,_DayE3Wrltfc;sLi(|}ܼRTV5 Xn]){ F-,^tbx3JΓrF4 ^Rnč:Ldt yaLsZo.ͽ_,v+|̄!7_aȍw$ CiOPK}Mj !analysis_engine/scripts/sa.py=ks8+x̦5:Od.ۙl6ES"%qLZxH<ތT\Mwx\@q1YĈ(#c /XNX3?A@7C:Whw"auB=Q:& ..njWZ"@x &dtIt m`( ((| `C &#1h<>^zl *v'dK˟HDlb:fR/4.2R @(q^Aa@ tU hҰǂ&Ii Z8&Hd$m\wPHo*_P&`YݤrъkApL J ⶜r(y!ìV&JA"3 EM5eG{ol. ;h놆5L`Ow-4 xBSv~H#W\F@ yIΡ՘魓azhv)$e tOXڴLV@}iV* ǏoA-cRh<HwILA HbLEp2=aF Z*؆ڗye͋w0YB6 -RNfJʈ&ܱTll|"߱ʠ Jp (™N&|Evz4h]* 6wMi5i}~Q]HfWmU|u\\ͮwrvrN- SRCp:{qup5<;yu٩@xa@T(,u8ҿGyxAid`Ɣ(3j'o@bh,zk> 7\Nu{t` :4@o56O2P*KZKnnyYyj9*cyd 0V> 7 !77z9K51 {0JdnT模.eֆêI c3n[74X̬FUnǰ0IULC¬WIBf1_*l&lYqP(K [miԢ ~S W, kB V1-ux_*"4?/pՒIsʖc}rՅNqQ䅚0 O?Dd4e#,Qǡ&ծdiȅ^MndܢW(c;6sQ[2K7Dݲ{Rz}h@̓{rPM3201!Il mtH@pXGfc'5?~/Sﴌ;@Xare,Ca3Zb&Mk4KiaŐyaP_DY&hG6MbّUltNh8cNc3V-`suf_69ji 2 W0 S fnnzonHT$ndVN1 :q IݰV$ːrjx.Yf9,L睂i6E͚aee!w>Dr?>N<9={2穳nDAȄ},X.5)9b3"Xұ2]ԿgjE/$o$tVFI/?͘Q+^%UV^Zi[履Ymf 6+@ {FuFEy#|Z)4qEg&g}`ٟ|lH}f>cf1,)_eM8#ȍj.mcH=K`?L&6%M,jy=οD.wnlee` XsT p|۳8MCvQ-1-bܔݼ\ɜhITBHe8*6Q ^2X@E $ب? (a1aRiKunmlꞏd*_:|bu,C2{ܶǬCI`Ӕ,varג%W6?`FV~d}ׇ&;do !PU@_u.{< pt/CVHzӽ4"0sGb! `d7Կ"fczӯqhY5bu Y[acHbl"݆4P 7lYpq98Ɓ@a*xLb%1s pôܦI5~䑩FcpwH0~"XF >Pdfݧ> .߷“_*{1 ԃGzXޡ!ph.dh(A:'#bX=65ahƶa5"W\fYջ =dɲ/*q\'M,IRӵgt&VyK/!&O|[5KFبš=+氯~>=ͣTj+UVLAoPf?LLh_&ς痯OUEA=w5ݔ1!|F[v  Ń,,IqՋ(bŽ;^]۵4 jk3}%TTG OC<"ЃCĺC´@r{gt :v"b'ա ΰObQ \~)>#r<IeK~qz(-+E^dfhwVRyBu%;Iye)laI9Nµ̆b6"It ItRe6%`[nZh*g& 9fRz޳ o9p"Al9(= N#?F|U)jl6` [!9O?3v̱;GB2eO?O-n}v&$FMlw*vnm*z^4 PQȍ . hlE+t2,e _$Y9\bFb*S|l8m:8RF!@=.F4 Da9gblG9v梥eUbY$c0&~3 .K7^2dƋd8xLC M}Г,zY`XK}0>=zϸ>wRF'І{|e" JT0j;j>ƅP\HNZ"zn$oACM5N/|}\;=規 `<F,"ۅxz؛_mf<]96}پ߾LoC{W9unHjm H)l7n?޺ 1Ek'ױĎ);uCy C9j΂΃SN|ܤ5_𱂇jН AI2^!\M^-6y 9V'Ϻ:?`u2wN:eeeKX/ӵqxwaR`U^V.zu,pFk]3n^pR#:!Α^?~V=}K:A~Fyǵ#bHV=*UUjUzUUSN>=UnPN*١pgW~IC3D1)K?Z?Z%/UK%ٛm{*ѐmmԣ>]իr u|jӧA)k;~JTډr߉ҋ>LO5|H֕>/1DeUsu&#wF MvxM }h0}; .9m'&i0G};̷Z<4/Cwƛ ]8hqsxf4;"/.0uo'YfZ%Og w@~@p7IɃVTg}6W]o.@u%o'%brѮhB\v!6ϹEo5p~,oȸ17,K|e7*wqL"h7cki~=_.% a҆CS魯$sy!L " cbU]4{% k~\19|~{h3!ѐH?h ѹt"!'@HWӕHY;hTAz|}C㮛3\.x>xXsa*A#-] Q"Ҡ&;bx ]1)uxXM;Dc[֝i-<*3Q~圍 ku( #<4h=RP\~B YT4NMVd 1@E0YexC* ^fIxq+8KG za:vX(;?}CjQGޘ>?+.8Fޯ%I\09%9gUzѥ׀}`)7N-yV@n0gwIw0Ŏ_Ǿ-62:]'H0a*&d`B!U;͚;HfV/nnm&2}V#SVsQYӶލ;.lswX5~Nc!i9%g#!ZNm؍ !ouo@q B<$WN7Go"ChY uWsb}6oM̄}N<@l`/Q׍-ϻp;W^[4!b,ހmQYp )T{ Y=ne&lN?H&#~x{2;-Cz:LiGG&ݞR|?=X"kuَ9zݜrǾo*oXCk&Y%}1(C<=88#>(0ɂTBPKFuM&analysis_engine/work_tasks/__init__.pyPKFuM +analysis_engine/work_tasks/celery_config.pyTQk0~4vm}ji!la #[,ys:d'd[Nnp>rtE#HJ 7'v\eWuu BQ`(J)HOiVtwږIE "T!I !9 OD !r$76 U2P2FS:ٵ.[ݎ<sD?wΨAX*9ú1P^,$SDʁxI=fOiYUW@{k!n œqS,|s^/ؾր4P8Vih_:^ah>m p+MG<}O>N&g!Cx!l4<1tA1|4zחj|睍 4N/P[G] VyҖ@CRoPKFuM3analysis_engine/work_tasks/celery_service_config.pyTQk0~4qm}ji!la [,ywtI)NJɶ >}t% 0oѩ%0Dɗ~_]8|_gPXdY7;!oj mVg.o>OB$A`h`n w`xgN3g-- n/.pJ#(=JK J4 ɯW.dM+}e( T^Xgy:&-[l߹f ,Mג_8 TOS'/PjtW@#/@x0Ua DS#0Zco`MMp{xri '?Gk hOdn]8K Κlе .#Ѿ#e'Fó1QzրG$: hv1|vv+Oo m 4oPX[;G"] V:eu|KI 07PKFuM= )analysis_engine/work_tasks/custom_task.pyVo6~_ATN_x@)dZ:YiR 8^G,nvm ئ'X @3k'rE!7Pp tjMVBɴ`\ 6#SgX-%%9L 7)ZJSM  f U! cY#5yȵ4gK ! ~(.x]ݾ! |o2)4BcZl]W4/k.4SBitkՄRdZu+\)c[ A't~)i~tJHu$4:C1qh5l =F{%H'RW]Dq18q2y)I%lu*Tlp\6J4U}9rdA<o?=DqY{wQ.FCi'ɐ_a.gpsU'򹲠+yq'㾈i L6e8t[T, FZ]ܛ*,WRoJ+Jf g;P,>ؓMi7b_ I@CJҶ[kGKV8S.* ]1n\ۊ_9dkF'QO.)cǿ蘑B':@:}m pHKKt;nƣi |}uZM'jп0{;ZʟӜI!"YQمAƺ !b^Ƴ}epN׌PvV²69T[8F_G52;R黩15_f:]^X"h^g6:m11p8WvRMk ! L{EWݰ-&T-`Xո [az;c9@ٛg-:'){%z;EC՜T3c~6l\իt\:҃b<=JWL mQ/H9~<OY\6tIl$TnNC SjPKFuMߨ4NI2analysis_engine/work_tasks/get_new_pricing_data.pyks۸~'-SR.s$]&Дٌ)GvԌ{w"@C˙)`_X, ^x1x'Rxȃ16Qr͂"V{z0XF{ےbsyqCo%Az$h0BfE&p$Ks2y[BG2: ^=SplD"bzkbmܻ!Er& NOҼfRD; =O(! ^ZPs]Fq+l&w~:.sp3-@Sؔ9voF4V/Ip0"σOGvGD:OI<ܑ98wAq U?hsG0'CK.x Y#{Qgd2v%F.'!L!1> `*/IOL8AOᶄe mp}~2ԁy4WE `K!))(e@K@ %9,(\osB4ayQDwiھ+w -I%/]7莠84xcHBKX@1رDIssˆ)AIRH!*n=nj1mt% AX* nIԫIH}T]-y n‡ǘ4w')2P4sLޒ u>ΎO;n&(z[߀BxOZ| $9=ݑst} @[11,MJc]lkGcl4l[t4bF'\#m`@wVYi`੣ cf*3$n}GK ^[ʶOb<_-? /`sA{f{^W ׃OZM85!F4 Z%!8jʌm0pIDk sJZ܀n1[D`/~YD107͘Y ´}d?NoZQf>ݠ0bM9= v,P0<=/}@?\>Ţ/|tuvQz ?{/W?9^Liy'r~tvp~Wls@\W9F|v?^9?[0ZS,!rŢ9pٛ>=%ZEI@>PY">Xow?9?"ƧwO,du?8?pa2_,r\R4H >TpoU'}[0~~7=`0} [GI8dGkt-唄%VFHY%ȩX7:47V,׃H''Vxi"#@|a-ˌe bJDndTN'I@SicCr:HJp4Y;~E\mLkl۩5G@bߥaV+3{ >/ +$6%$jYj#})p}pz\=͠g Gfm]&e&3O fqѳDbNMuMIC{(C UJPxE)v8f+j42 mj>'~,C$8jQv0{;K4{陶Cm>X8u^z?yPHYG2`Ekm$W#p1 vPnfu+/niݳj┳1gM9t+`=4Ƃb6{4V9 aX9>ۙwdtƨOU},vpm~UY [,+tۢ=hbeF5讶F$-[njuiZ*CQf| ڬü\W:7,`S]a>[Xdފ)Yvs?&9N'M*@Du:|@ily[~aɻ-|$R=P$7ޤH1I|ed͖ %0D-3 롷a6$mDP^An*j>vǣcDds >8J]0໬ܐ*6.9C7fH/ [Y${bxoFa!~3v;6R!# fr8@s,yg P"/ |SZn̐4 .Ou-s||SHu5w#qJύto:MC>dI%voӊT|mqBSv0d'ER¿b1CfѱkR6 4AL R@=ArzҘƃcq̯#Ht x6yUn=s,63NcU|)|}ky~rr>_4{{ܳx/ُE臆mC'ֿ7x DVk/|wUsSדGJo \!8]nיȴ$G)-I~?>`[NR~]Y>g) dlq{!v2`zA/@g EPT2q;}%cy-pLb%%y]`~[;dSU~L帱NUq|)!& ;B ,ćgMWDt*yCd]"ʛ5[hqeҫ٤YPo[d]C8= y Ӈ&"GX_Ƙ#qn#Dl7&Ӡt(IHӯhظ),7\yn ̨d]LDŽ*ٞiī.ݨmiz 4 k`ߞc WCvP}ƳS5a-4 s"8wTW8.!olIvQ|§-u'FU#&PU-5rɬ߳a5C-ᘟm5fxyTd w. c7p3&ؑJʚYx$ըìPKFuM h48analysis_engine/work_tasks/handle_pricing_update_task.pyko~q!5_Eh84~.bH}[3|H֗h$ 9|Mq|_gIVܒ*%Wqsm|Eaw00Ұ2'}lN/m cIY,)k,KiUγ-4&-4h? ש$-gOdH}Yu)cܨqiק Z e@Dz,a/-J|;oK]~RD :,\I"cU\,یݵyRno˫:Ni,*Oԧb:/׋m0Z/.uw}wOQK!+_ +K"N(K5 xyna\?GE6= x0 ܺ xU*@dN&Oz͜y,eMm=` NxT"_ 萬w9Z.'inqoE OZp-g [qth'; sNe:bڡ7bq . }#wd :<ڪ*kFSr^9gAJ7ďpSiCMXu͞-$"Lk!4 z%kqThb04ry\6B@eŦ<6/)yz?A5 06fv6Ȟj HMO,联.͊GCC>s!v.A#:2> aF*V1'̙"W+\-5Hv{#*/:F#z3 o vBt?{w%70xtq޺IA`Ʀ7{ ,%M<ט&C'&uZ6uRD4H]-4Rn̸eY L~hYRdz6[tU: R8!:FGitut]ttΆ!w(DwJ{zÿէgwV_Gf[1 f3e'bS9z }EiDODK"`(2Ӣ^AW>=epu6H 1iaW>\to2QU]/PC:W~; 96x u?"΍"qd~GA$6q m6"ߦ4{A}FЙذ vm @K/./n+"|h̭ 6(,sg5\Y,/URtu,1 c[,%Lc귄sMK ]co۠K^M HJRx_>ϑdxLƎկz]XUۄ__kZQ/ڣ!7z¡"AZ{ȍ16O>لMύ]V+6#u3-+YG3휣Q3ڸgg+x2MjXѷv[\=&Y$+--! 2-r eaO xe쨔#I?.҅J]7^yN_{ܿEfA)^WE>gȑm1\ճOyOxxKwz|,2 K~m_ 5QVԁgҨfQx?)<Is)1#?Ȫx'.?!oD99vyinjiQWӑy0`@8s_ h`nA?;QW Nk:;rmiD$Քu`[KP lC3 z u[DSn884 x u\U- ˖? F7U oyP}Jvȸ^Wiӳ~xoxW^WLt<}@|ύ%81ٌ;"eWŔ8&&Z:$07w K:qh]\ OHpFVб 3QJT"Y W5oo왤~2i9a8r"9x_'yws.qֈB=ܭ8ʭ&IǐĵydӣYJuukTmaGhY˖qRSǻanfT/%>E5٠<$zN'P4RbSס=yQ ͍߃-GjIqE[&[zǞK^w7^۟m[4[j=PKFuM%iQ5analysis_engine/work_tasks/prepare_pricing_dataset.py\[o6~ׯi4uAhsn5T͈cHq5^Ļ$_.*<$ϝ)ҏ= >}W*IVYq&mҐ U)+ e&E_5Y3 O/&jHiIєEf6+HfE[Ij.uc^IxAa]~Ӱi ۶ڶ%ΊyA j ɶ-7I<n*,)ճ0/U+I6$,u]n[h\bb  Z6< p#%rU,Tau dSe!0ğ[UkܐLQ 5Ǥ8 2M,t4lǜ3Q~wѶU3 ΁r*7{yyZ=`}aWF[ro= ᫫?8,BxXyxM NHBYgiW EBq Pj ye[ LcOԕm^<e8V ! PH9I+R$)MLj6Sy ܐZi)mڂ3mh}JB4tDi:cN[)Sy+1h * $E^@Dߦ4UU֘eVI U` &2<\|cxx1nW/N|zU#ȫA wjbj5dmbfQ}mȤHy9GŬc Erc(G]V@]YjĨvg£-c>{4o~J?HV@I}5PlR]zY^O!)o~ʩM!:7D?V7G_JW''cH߼=߿C8>Cvz-(Q2TO_F68Y:^ޢǣo7cy:<<jQ]/Nn;k0RTFoG8|9vwGd2><8=_O5!y&CM.PA9\@^ F_?p;whAl0)DI?``uˬH% ̻-- !2$H:t!ZBNf 8Ol_9鷡syjFHp~]n P? uA#^:Y c3-4I6R ݑG.fO!&k'KyV#^ Y>+厂iqf obHVvϯo) ٶV$u?afEfIN5<) *"eS3dأUDF ^R6UmTX7hP}@ժV8gnP4Ywу\ |gqlYW9at/;:sωsݬhw;Du ./ZXF?ZWF=Po&kqN5]ƤHE1e{!0;BQӻi&iqlJZk [j7d׽HT&0ԊBl W]?i ьP#thaPS-zˌΩps9d:eAa[ʜV!ߠI:LG+ Hn.G.{g3AknuSQw4R#`79HwkCu!ۀ*`ݏm*ʏ;ik,q&~O?y?9&n e#^7S@nHuj˸`ΗEel9(:G}cvn1k.ҩAR x)Nӻ|ڋ|$NmY<w3.L%|8mD&s %H.ɧpA.)βN2=vl"|o=s 퀻tNk~װlf+eQ? 5FDw+>h(21Zط;,3Rbrו5&<U 3pz܃1uVDgno@9qn-љ=3S-rǽ_vD0 t|-L#\XI0#A͗Ef{7v}9*4Ip_5Ճ먊[fRv8%X 6V7vxkhq"fcXƽ. 6`L0xuBFl?7]#@Ytwshy~buQEmMҼ@[4u# }q`abA~ADwg$lW<ȐmZ99`sB;VϘDz=F<,]xH}z}`sX`_P7-_[6 sg| ݱ{xi7-`iGH=CU W.zIsdg.Ku/_~ M+"{Dž vDp>7)=/iJ?W洓X;(!Er yҶ`_dTۤUM;OȽv/f=\Jzf)=.oW{av_%!Bz{-û:=,A|JsuUsg0ךk _p_{ުass1ա<$+fowv+`)ÞC ӵn%`DEҳtVc0H-:{@IKww΁kQg3zh;v\u[D#D)ҌL+6-Yitl݅=+Q k\&ܷtAd7 Mz;W;ї(Th@d ҧ, ʍLqO}}'Sj:9+㧞֍\z~ӎ?IUn{C:`m_MF҄usߺE_]qi٦*|+7ݕ#7$ˏ>" nZuIN5qCaqЫtRź)Tp-4QݎݗP?vef┴ٹVd:ц(v|)7fzy)4yfyĥ3 IyfڊZ%!Z Kmj^ gtzײ^^q8\)ɓpUvJLaPߨ-R>TLInCDH]6J{>Kx萁ԭ(q4U=g03Ej ̙O}ߤ v*tesקn+'Խ ӧ#`Iu*n|N.=u'%CJ7ߺ K,K+HnROuO=O8.+̢|7]0KOo&Z m^c@vGс!8(#\-|g CC=3{Ǚ̀bp/ј+tnǠLMCgl~k؛Gw4}/ٴcYEF*ܕ7 & %Y^ߧ3ˊ2MA϶9W4(VlUg4C(tQ&BCXdA(aň<̘E*!g7h4B"+ ERLUQe_aRm"rrezf rvyqzydpq>-CQ8 ^29a<[-/ZpMO˱;0RTzQ3_]8Ye $8x3g[x8*}"~f 8!WMl,BU&b܋t )M%Pيodچ'uJ$6 . r OFdՆ䐋",]Ca_ay`w~PH|bnH JGYOIp0$ ~~? ffr̀.5gګF/SNWW;:q${gR!cYV˾.V^ϵޫ^kh_`KI+P| _5)K_'TzyXCj`q[RY7&ʹ-ɪ0B4 '[:^2ey%/4Ѻj r%IF5]/}!; '4+G'ƛxcQ'=o8,Q6>ǥp\{%Pl 3EREyF';}L {54H ޴GE0 WG左a\k <@ rH\n!'HFהZ\2-󠫆MɎ!=BJf1<z xCҺ%Ītx3h+IFD,IH`t!m$"AHq`xܾ) j C)݌dqC %+pe1*,:֜Egew:aY,>JiY.a/k:$BqiK`;@34ߗ1Z`fM~&TY -d7T}mrs){i*b$-)e~.RV{5xD$a,-Ð~`R]+*ktLZЬ.M2,Lɴ+Ⱈ~*MaG9JV4c,kuⷰ."E."9`F H>ĐQ;Epm~q})srǺ8^a-KsVD{j} (*56}NW͌cdr}Ɇ—7f0`"(Dt`vZa$K*w OLPHC jp:u8a6yti#xҠ=d]5uC' ]]箊HJ ю1@Mh {?jTR7f.VV63M,ϰ5@43C9G1,-j>φ1YY ;gn'Źk; m{CY Ўh}M@y+fB_A`%$?ҙśt⍁؀sJ!\쎓"a;BSaN[3%oIxĮcO4 [壺̯UԈ(=zC/VԊxT+ݣ`N Gp9|QX2ⴖl}%M-ڑ/, c'|ڊ-o:fUV qx<#nZhS QQ΋rs` VSV!;X37 d#}g, ,_Jmdü,ig-oM'v "(-}>/OB;biA rvKY൰37%aDzusOj[Xw{Pm9ߣ6!Cd&IUiw[BRhVކ+C&Ey"GgNRo"@" b?yB-q >_Q{KM#V,&ix8bOM3!7AW (@=ˆl2|IfeLv1G$V$h`k&`gh8k(SWf*5Ձj]ъݠ&XcPKFuMzF5 94analysis_engine/work_tasks/publish_pricing_update.py[[o8~ׯ:ƞA0brEE%({/)f+<<0 $n]x֐$s~ ʛ۰ji)gL#jx iƂ=%,<ψSv }T=gWd/Ljv>vx(Jpz&C9"PbImYt>f/wPӤ_i;'$& E&q"$7+яUf-^n6lfTYfmŖ93 O,a h|0?:KOց[g٦>)~?#Cd8Z5"!Juѹdo nQmGYrL$Sn,%([nS/zI.SR듬7)5uch)NԆ0ߣİdw/HF$cHӍ,Ӕz-L e02"KP]^)7nP̈J&'RgRvU]b1w:~b!D7ɍHg' MX$=)cܿUG >9-=[#0`C;Ãi;ispvh&j{ x3i:UVQ$a:=GʉfL"hrzA{HQK<5؄  va"vE: 9y`ϒO=Q‚s]v~>B$Cl@ƼhM싐R`>9WOyucoP$lМ4‚X4~*2 T?}L&G!#ȟߟ\ZDڀ7^=ۜ_9AD~I1WW&iRM7g@1uo@ f% .EXPmQFQ$x _2F6 k^F>3`GeR%QN}GI\<p6IXZmnfS݆Uga$~ )& H8D M׬@.m`تOK1wOX$knj}4Gu!ˬ|,d]m x65a`0ˣ4!1St}%M/_,dك>Lo<%K&(g&DOo>O"yGg߁[llDq{+C< &G"ŭ7]w^>fOP7\6 ʉt͆M- Ւ}b-߱CWZ,(^eʚZdy(njqopЩӘvq]*,ee,FNY͐g0Qk`镱 iXr'1(ה]@-_fТ^q0of1I#{)̦w (e6EG.)Lk&`!r!Q9:j`ZB@3(|_Hhkni{Y9l5QH`ilPK~M 9V>analysis_engine/work_tasks/publish_ticker_aggregate_from_s3.pyks۸~'JHrΙNOS]Id,Q$,3H \A$HBNt'>>{l|[Sv3b5IC7s4X]ԥϟɝ1Ȯ,Wbb3Z"K XnJ4 Z[E"w495rU%t6Vxf wSn*q t,i,Kw׎x̺St!U#р:$ZIx:YA; 198CwA;pOR:e.Ǽ*WӍK3:27#}0 ƧܺgXl>`{f'Fx]gCuųI*Uk40- [X<„8ѠP)`0lf-d``AZ {`E:a^Jܰ{ƩcyK^ m[#VʁLc3Ma0n 2 McD$qSximnh(NiO!ُbyt99<w265# ks]|!4R g f 0W^EhmqqDo$vm> "cd Iz7a:X#Ma2P^D3fּ6l_fC|E4Kݔ, 7c*`zp]01g-1u#.a%õfl??``/vX d~`O`7+q_(UFW.(peĘE5tlIi YkM~˸9 'aR{3 nV_xkMyaVĮ\bT5.\R͢R-*C uSu&+{bc½ qL&J=cT7xE&2 y/N`6"4@^b kNKt$;z%=Jw& AV:u++ɲ TvѤ֍7w.*g֊I=z"a[;sH[.h+_zQcЊ'U4ijH}'I9^!M{cn9;rJXZɻr}f}d+Hv\jOrx[WjS&Q hr[~pl~|R {NVɻAq?JӃzJ8R.q>qqNnF+W:06E z=V]528i Y㧨bmGZyZ_fҋ|=G;:TH/U$m$L؟/~.#y+q{W(@T tT`KDŽ^"==Z_%k%oI3a2EJPHjr⊻_C;Byxa@"7(9-%+nǶFg"Dw mv^D`3[ѪKnw)gwj.gZ}ۼ־agjݩ,"[ A|$Lir+A[->~y+ތ1njqǡFa>~S]=*}0H'Z\רE(e^yi2ѱf}2AP]./s?g|]qdU%FEsy _ §A!/o"y)+0/!R8`ð>x(e.I~ m23훶 0=,V{В6KTLQa$iG<{qKZ {aM~U^~uv J m 7.KK= Ԁf3D5v;V_/$C`^&Z*&cc鳄>z@r쀋? ݻ-Q+u!h`nް|BťbʔLڶӵksŁkgQ‹?ښ؃ޛ?,!򅧐o),!Uz?w;{z@,JgR C(/PK`}MI YO7analysis_engine/work_tasks/run_distributed_algorithm.py\m6_۴ 4M EDՕ%Wv[HD&w!ڬ% g3Ç쳳*rQJ<.2'<匈mɮH >dK>Q#i|)8DT8tTdg04s'l"yD ,(##"f3N(֜lb|>zCY9YV\s9f@&-"G;#54$.*K@*c\ و4kpȵEFhoSbQ ~UR߼/q̏Çr9h1j?g{5Qg P[FRYPVMgf'gSI lBʙX}wξ1̷?xIz(C\,PA}wa[T}Qba!.M(U<4c˅}䒞S26wp۲+1be)v'dK49f80JwIs4gt=QtXe2eR/#4Tpd!HLY.B*͒d2! &LԾ̕|W0 1cic 52泡CV嗘YD e cT4z ɪ]$H.VNrc(?Q4F?[3$gm"͓yYG:G8[Y6ϟQISmHR%gQ}0KNlPWC=M|"ZiIw%"-r .N참Yk \ʔzk.FUe09f8 1ŸxL,cUhX.` kK3q.¼)}`ɚlSeĄ SބI7A)yY MMь-Ǘ4#7,_dW79LŎ WDGu(W00. ? ,OHL }Ws/8\5)hV **,W/5w`'/$GTC#V,{5~zsvbąb.2oSTyҒR2@La:t[T Q""5R)-o'(yܓ6%b Z,oG{*a9@$),Y8JЯEd+dSk .Wn<|zu#8 E误G7 oX6VoX 6F=bkB="PxKTyE5,¦ \ٛguȼ):&ɥFG1Q.]G%SO@cKҜTLƋֺMY=[*c vpdm 肅Ӻ[h\^gwG,r\8 o`:< x[WpvM>_:DړR8O{44R6@e}Ԕf֖@G)hp1(P5Ыsd#Erd3/DW"-(_˓Q\vFwݹ Z;\XMɐō=஫)ڃN(d\ Í\'N b{z7_uyh5Bnm -+sbWe&*|d*Jcw 3A |'~}|4zӶ~UF]'aDݤzJϙ!p>"ֈvt0LBÅ+zlQI9n4w615`CkB$UBvV&5Ʊ"<=}:^:g;v:q3L:zCmݧL.$VfEBU$ RӰ6*RkUf°U׻C`>T݅9W&66K(YW+d=!&ޤ;E,ɐAڨ L{Y0L;4Lf6hz@L;D,@bZ}jyE3fWApO'~u|vu%nWE鞟۫OKe-W=yH/lk|1 Daɇ;V9`L/a7}8dq<ᥡ//]1e63< wĻ֜w,WE4TϑZ#O VtW~;(z;,xԳF}APD-xjcؐ1tӧF]߆&s=N.z1hT [z0yV'êa*P0j*=)QO"m$QbueU0uz|By Pm'ZY61!Ż10I6?NMV'"LÞ0Zf'厼/kܤ?Eep냷 QwAǝLXḊh)D|dKv dy\,nn]#6ANWtT-S΀j0`0h7yO:0+(4Д7/_*3}dۆ 9ˊ cwd<:mJDX.=OQf֫c^]J]+L~Kx}mѐ%fP#(ѱzsS\B4o>y͛nLc{)oS^B6<{WM>ÆwJ=P|il8z6{ĆC( LM{ zmPL(A>pvM=w'NԾnCa߇Z4EQU ֋Ѽ {Ϻ̊aDlcx &JLSh|#q?qQ6!I\xh+fV e*ݽ+{PXXsWE7߭yӚ(d(. _PD!0U<3Z;z k\8BL[q֔9"WϠާG53 dNa!8 bxI -=߬ $L8Śa޽b/ Y"ewSbę; W*Pв>}Z^;EϱT+ccQ䂝:TzB@l ;C5,`Z(:fMIW/vG5 k!7@]S@؊ڥ*C]x8J0!u0fBQܛǰ:!sx0΋˸3*Ł5.k ub0yp;\pegj8l ѫcR9%k$UJ Iҋ G* )?8TpxE߰yѩ/-S8΀] j#5&@Oyƨvt_֢L#KD̮BU!)$K{^&\5R" Dr [.'!]xj,r<i[M )%k׎`ےkc ~Ҷ{;F# ]'^D{88ݔJjw Gפa™ '7Έ1BOyq4[RZw6ìfަ4~ 8*Xx<^gAw\θ8`x:S@Qn4u % ԕjlo:Vʈ~tKS򷵀3 !zSMG-%??=shuBPeijŞ ( 8pB!mDLbIh2oo閰@iNiti@kN޼[S𱔑Ꭴ m W1fȐgl39u,#~cbo`/ ՞bnKq:pMw ].ɃzIboն'4}RŢ]YI>QN]](:ocy&]ϫmU*Cu 4! T6'tN2]ԣ=<>-#Ɐ7;\X [pZہ; 78y}DS_'6+Cc@tq4BlmX/QV-d'? ^*5)l]_PKFuM!analysis_engine/yahoo/__init__.pyPKFuMc-Oanalysis_engine/yahoo/consts.pyM0+DzpBHz4khvm,gMmHiGC)[Ap=ѫdkeR&"B& ׷t Wvs&J8#{r&s`fVQ'<$Yŕb%3cZo09\!CT'*3W%ΈuZgw(-?@{oo,\,iwz;?hw?v_uM]"lrʭ*\f-C'hp_!޹^ݻ5XBReo|) $&cG[ATrm}GHm%#.>D(!77ӏǠ} pIA9B+F4 ,T5؉}f)Cfd; kTpdIIL#f*N? aȝ, $ buȢ;Nks=  C40@JG/rZE0KktfkƊc![~CT AޢK#;Oc)}kYb_2B(sdyb*zL,kU8Q<(R(rK+t^h]yĉ\', dQk3Tf {t8 e=pf4w;aK80Ų'ff.}wZZh<[h`5egF$8ȄX{/jOU 9 6 Z95@܊#  ?w.L6kH邅%bjDpgܙƯZUO+N14?Ȁh᠈ҁBmQClGf, Y_晘&+\LuU΁(MsƇV'8| *1Y**\?Ul A\ 3 W>V-צ\3 $^y ^l0b.[c.m ^Ł Wz^KF@[Zc-LX8'Gf[9kY;%tk r9Db~6ZlVR}`KЮ~/Х~N#8j78M-^e_VjӆiăHQ(Kj@]E1jD|i_@usH1*D\>)ݳV:?Ѐ׵QAb> ,efMYvakXW@JNd⎉I!@$e73 83GAp0-m^uwj#@T8hW-/&(f=zq_sTHP7kG,>sc/lie:%0t&Fb02J":p7FFZc!Fɛ2t(YGo(EIDЁwǏ/FŴ_(XSh@sgij(SX0ww@hjN갦"kadlQ u +u YzS CO(Pzzy~~y7o·W'yy^L }n@ovI3fMgEM|59s3y%0af5I()J!r TbP\q,i1 4Ɯ2mGkUcKj_0٢j'YtG2o3i(8oW-]d_$EW2ԍ>`\v䱆i|,hq,etq[N~-Y7%jlS[Fd_/"'}: `:VFL8{+^ևf0 WU&eЛs_S3 Ӥ  @ ВZԩ-54Lț*ٕHPC$|-K<q%gH@YD7u1Z|FL 'E$oF1 j]1hQ)}!8R^ -ޱs16Bi!p'*ˋF/5,*W}Aȕh sWۓWk_юH@!w͈",[PSʡ"q&@T$6/}e5qLsGg3MT:$)$5ȚY'5?Jf c[y: h4s4FJU3Jj"6z ͛h`vUeS<͐pԽ*)-iYVAEދ惏wX#GъS+HkiO#8,A s%27s[ `Ks9M[b# |p[=62 !|kMʢn#$~E? LwZS[ "s"600 /ڜDM w"ćgÆ%;|IxgwL$ JhXO4#k)Lۈ ϓA6 >cf, /ъ%k>:&PnÆwQM6kRq= H2h2\+ (@h1nUʸM~HKV>e)J qy_xu2]5ź}D?x2w|;fvF:_'C7>=s@ ԉ0J''uI3:5wΥ64>(>uƻc[F dGKyl J29\n=QW ~:An8i:@WhQMf.d]P&?qX=&}O:͜g4zFLԴsP'6ᐛ>c?5ʍ}]kF ܰX(.mW֐rIP]M672z}4##jVy!<{0f=j~2zm[@~v{nտ؉+gѱ܊bٻ=Ǝ؃ۀǘuα4\lsЌ!YW )Tdp-*^ t7qaq}}"Yg<5)/-ˊI91Xɩ!~K WtAΉlU$PEJ<˨%k | ʉ #n&ėU0 dxAXQ1Fʤэ⶿ 33K^v( Ȏtv7D'R9p, ܟR;O')T9Gi@<\Jd mӐ-UAvuD]+ꎳe7Xs'@m:(bjBx Bt(]s^;/˼ +|޿S MG) = xr h?n\~yw ;UlI$k9dHe;P>R`ĄcXL,'QL(^xRϋoti袀VxF>^aMFm3K)Rxb`źa{xis@ sph4!MOtx~#>aQ}1JԦr;z7:gRnۧCPK~MH 9Estock_analysis_engine-1.3.43.data/scripts/fetch_new_stock_datasets.py[mo_u>H lw]qBUԱԈc^4%d% )lCKĝ}vvW=CPܲ;88h%)'YtK9-8ٰû+"shIXIB:4ŒMv,N6Y]Z^N9T{uJb DN#ӘfĻOaœS}M?Ti<4)Yrhw}:, Uw|E. @`3X_0#ĵ3-e'"=$ezG ێ,O[hGW&Haf5Kh P=#Ә+*Yb&p͂ۢŋm\ܖ+nBJ1M/_P7w=PS.zYϟCGBr*$&,Ц@N xzP&YXN*/.^Wg篃߆P@VyQiK"tO/(?Ӵr. äX$~,u!gOYZ)aH =!64@L͐d!)Y~77hT :x uW^R1d_c/ml ?ɼL z5Hf@΀Q)*Z8$slP=';1u4 G7-Zu[?&`sԄA_(/PG(N7R@r'*Z#.jJC_L$6l˼=*ZLkAF FMX75zL|}-+0lo-l}H'"% 0D2ϟt=QA@MʎF$eVx2ƎJ6݋`FLo4,j[wy>#Љ;{a ݱ.-uP~8ryٲ/DW=>)F'!>>P6=gm9-OViG TȘm!.LΆ}9y~KY }4{:Epu<\H0yrLFrq}5_::f{[j~/Y7J@/ 9(ڤw:볳Ww3a@MGt,OodC릗lkYeliZk#_x>{ .O*jACN uW/zZị[h>/XR7&\{zM x}X@N-h 7}eIȉuv%O%Kej:K٩K;-k3oAG" ^<c9HRǸ".C4t%E_Wѐ#hڔccHXqĕr X.xrB-kCj3iԥk9+a_"G#cH18,bkH6{g V4afl"K7V nD$8_О/`>˷ RG!Fe]ֱbR/G&0_3PPxeW{ݺryԪۙ:ےAuږVbd\v bwOJli/-k,sX5jjɸ{((漱$%'DW|d}]^eoHCߏr@LȇKMQX2v"pij$.2D11(󠿀R.Ch̒ lO: TwM&[(|?Wt3C6B S7\ jżzQUƶK$SbEN)FO4EaCXD5fFAasMh>fuze0=Y΂ۓ ;OtKPjnL~pPYKZݻ;5 7֣7jN`[9]c'q6tUz4lHT{uYi  X ۇ^hD+DY"qE\ +9ĢyOם3{\OEMLL+a\LjoJΉuc& tGzx<&ȤċOl9zM+{"aг۩>%Ҋ$vg`Dq/CA 4ԚhoSzPKFuMI(nY~Dstock_analysis_engine-1.3.43.data/scripts/logs-dataset-collection.shSVOOJ,J+IK-U*NMI,I,N-MIM.U v UJMWP)٩E 9 i *pJHrPKFuM?Ms9stock_analysis_engine-1.3.43.data/scripts/logs-jupyter.shSVOOJ,J+IK-U*N*-,I-U v UJMWP)٩E 9 i *p@x$PKFuMLs9stock_analysis_engine-1.3.43.data/scripts/logs-workers.shSVOOJ,J+IK-U*N-/N-*U v UJMWP)@ib4jnR<\PK~MY#Istock_analysis_engine-1.3.43.data/scripts/plot_history_from_local_file.pyWmo6_%d~4&hE0H\hR#$^#KHlxs$}Kk%(@V) Q%\HDD4MlRWXj$TN"CEkt 욡ɟ,3i#'s8PJ"&J0FQ ^1;x@$-,ny ^%<}TJ[LDtYmX hg#n0%,ɕ4×C uk!{ևOI*l]ax*}S TĵDQ(%ɪ&mQ陯$.z[i*x~X^!"eE@bǮyAX~Y2]:y^ X*DyAFA -#;mE 6lUX^yPz.h(iˋBI{5E5z{[?uT;B)&~q(ךjٕ9mf%P?\e ?5׌fDvu%qX3Y7y̕Y3X A?>3kRE!Dy]&{> k}t'{ t%J[R25J0bBtcv=ͼۅE=o zek-W&$I^a r]\I ٷqӆ6'B*PfS{2A[l0LG~P;TU):VN G^hF7Y? ef#>U}|cdi̓#'ap`è{mS+ ?rw Pm'Tih?s]-֪ġGWOQxC8M>"PK~Mȡfl%Estock_analysis_engine-1.3.43.data/scripts/publish_from_s3_to_redis.pyZo6~_>8.bm& 6][EȒ*RHsEI,gš_ ?fá~Q}7oࡎS)rNsPE$G%z/+L| Ӓ] T"RygIPY4ߡpChF+PKSp š@cfAETY|I€#Zgle)6ߵ.rZ*fx[.1/p%&8a mZ=Kw0SC| 1͊ݔQ^ۉeiNoDկpQ̘Q>WBkMxĩx>p"K-}?og+$\ j)<]DRbYOG~v8_u>;|X.}\Ez6[D~S ZV?yJpW@ʟW#'s6BZ pE^A$7nL(]}`\'4HD$h[4W_L򅤉GÖuqKAB!͟1h|?uv EjDр/|z݅Pƀg Gl'bv9D&ѹDm%SaN3MvS@=I(#֖PZQj4ji3br7`-W`,EOuE!닪UPҒEOdxQQYdÆ%lLqFlNٹ,nX힤H:V} N)%ILe  SQdBel"Du+"t4[F$L?څgOk.nh5(@4\W5=M3uIԢ49z#G5 J52bh/'H4(AzĹ RM:G2'W0n]eh[T611 3ljJޟۓ?7P&< )1,|HAT&IaJJ ^+}دf:Ǐb4n,CbPڭzrHa%Ck7VEwm8-%7VOK:E=ğVW·V5U~DDU-ao$_a(->İO}yKꌏ0h6&L+"jB'l(;Ӑ'&4w}J6zɪs4-q\?8E*]jiӴϠjM1:} )WP0 lwr$,ո }d֡Hj846lXo:xC#jobND#]X!FXiTA쎈Gg3~h=bjX7pɐq[\%ض)x1bXU4c+Lk o\e Gq pZlG\]-iLJ8GqVC]-S:Z_=vXq}(q/z]ӕwæ([RvAG īl2-&$jPA(J GLuW #BF~+kS< C^ۧ./~&~1 =vؤh4x/zO޻PK~M`d'Mstock_analysis_engine-1.3.43.data/scripts/publish_ticker_aggregate_from_s3.pyZo~_>8>Р*ؾm8!Y,"P/oߌ0oTC7o౎;G$h}EH(*v(B,> E$)EEyh̟`HI1(h+ y%ϊ(͜z$bUős(L=#^spcߟtocYT/<^hJ1iN_s1:-LXڂ 17+sqSg. އrC} XQC&|Gr+qyEc|Eʵvi6^kIU[W*Iq ~n0K jh%T)A+Ű!Ed[6' TTUF;]\'Q\$~+GD(!xئ1rXEL +j~ZpADa_IJZ¼DsxO-CJY*?@ʁP.HPZ@y}aC/0.36$P2"bViu:%G^m5V:A(J -DLm&t ]N6#s :jzW >(h;UM'؞fͬ:]vڊ+F6uBkP*qUq' C߬,I&FT>s)FPeES'^H-IqUٻi6;;dUWt Enwq" h *y>ӺE^7/8hȷ p:/^TnY(fhMs/p8EQ8ρ9^p|H^@"@$[k+3iB\](ZZO#`fΣO gY/@uxmo!2/4溲ߍ#uS+T5ν0zUUv<&n6?уJG,;iTC:XYB I9!}fW:w9's_O_{Qת|F=}s˦) \Y@9RZbP<8c|㑺Y?{PKi2zM/ĽaEstock_analysis_engine-1.3.43.data/scripts/run-algo-history-to-file.shTn0 +X.K]3C]mHH hvaP#Yid(k9BjNH%*%M)R[L(fx~Hʓ?\Rww+ȇ\\"2Rϟn7uz.%4%:vD3 V!o*e #B|IAy2r \{g7hY;BsM$)5WMvM2@OdT^̸,(bqr ̚R{nҴ  (j*QثAҀVWakb!,?@,K8ueLΙUyq ϓT]F{.R.; 1p ƥ.TS.XrgZQח/C57vuz4A8[g=; qXQB16 CR0 IoCpU|CEIӊAC ъ[䮜]/'2?Oi Mٿ/ܖG _{CC(J޸tƴusM`HE{8YzRi rdap#lo%'pPK2zMCCstock_analysis_engine-1.3.43.data/scripts/run-algo-history-to-s3.shU=o0+..U tj;]@D"0{%C ǻwQgq*u *@.".& -Ԛ$% 1óGZXOT7p%C_ P\"'GSg_wߓMr68ϞKcuK ΁:WV%Za OJ*$̥5BnΛs5㸐lT*̝9Z9S RET2i\ rhOx6+ vO=̲iIyd5(uΊa΂.WpqÖJ|'X6utCgJZoc6y%'c:co0;&1(јk}jt] zylu7y]w"؞mn˅vDE>!256twiZoT z"Vw:wl;r^пFLv:a"[-&)#rkv ߒjve7j1h~d[s̴lRu6;fӆ qض t]NoF#n !5b/q :o>KWPKFuMV&HADstock_analysis_engine-1.3.43.data/scripts/run-algo-report-to-file.shTn0 +X7.s]3C] mbK(5-hI7+@@|M*U!"Mb5֯8!]*M1gVmKZt)w\7pݹr%ÏWOBYA^Ÿ!'@@Y-C L}-3ZcvOf֖0Mt8V2PVy5eBk=4Muxi%ΩlCgf)}K>gJpb/0^IXI#DnBќ`Ͻ~GJޗzh)SJnK%2X|(,,cyck=x w:z&iL^${eyq88+`wTW&+9ȖlalZĽ并pVX KLw^~~xqRPKFuMÀ̉aBstock_analysis_engine-1.3.43.data/scripts/run-algo-report-to-s3.shT@ ^Z*vSCj 80 ̠U!i+J3o݅a{#\G3)Īʱ#vQdy9<=}@~lju,?rs~|6ߢ}tчWr ʓǛ;)!G9Yg dDF -e1wefuHLl,d9d RŅّ3'Τl\F4^d-!HYL\Td5?hp,U6/,,aTz}܀Vȭ/ m[uP/FaD9;?8譩u訩%F܀! || wm^ZP6D퉴&n9&.Nȹ~sBp2F)weܢҤup,7xFISƚOkR^F4H +[cKr-Ji  eNrn\q-]$DP tq?rn+*}=,ro*PK~MzF_nnJstock_analysis_engine-1.3.43.data/scripts/run_backtest_and_plot_history.py=s۶S%ܱd'7n4y}i2 CĘ"ҎM7@H"_;k2D.bwDieqpSReNeEز͊?L,OIR$_UV/W#=xB캦&b-H,jsp0Ӕy9Lb'[˪Iai :*f$4?vc&fˤdݖ$OrnUXƻiY/V L\LVԇ$jSkx<="! R/ze\BFۄ4s( BI*k0ƌ5"ɊL-JewAbr4ۊmos}ֿ>{U$ypOЪ?zi>2ځ!Zp| BtU7`&ozMgCZrEY`FY&u"-LS2[ w!--|[ni"If2Zu5[6R~ɴN`j `Ё^A$³Ob\/3fLzjaO5LݝѰ.44АNC۫!?אjwo{.;ܮ9D!tlSt,k4>Hl's%Y9uc N4Εs=NG"2#6TFk ?ٜ XnzG#{$N |&0$tN#hڇ߸D1Pߛ2oVm0l?|zW Q?nБ|0.. FX ij))28}:80At9sK4eFpUVs b'R&tDH < VMYĴ" ePߺaOIÌ/Y0hc(01N*:]f5MpS%FkxAvxV 4BOfB(m* u^5Oe d!oQy4LL}c?Zrwv}rv[`Q*Kq#^6<i% *.rjB[ocư4k0c_ -2Od2ǬM9zDi-Dݤ(__?{oN^>PVCl&~r 0"Kiœ~O&*kOIܞvuI$>{Ò"k@:#<0l0`~v+fo+Xj^C q_~^<}KLn(RZ(&)cH J4~fUS̖=琂 /oٖH.!RI)b\)МG$Ot`Ls2cȳk2KG &l]$eMT~ IreBt76-0MmY]7ߘ+ !mu a52_`h֘t|Y˂? jydǸ}! XK&%̧TFLchh /|R:0e8yȦl*Q0Q"XU܈М.S;2Ϭ&RȄ\ RƩ*eqLZfL^PTNwnj\x9 :KPp>B-D>Z6+7J圭.DqV7I5.NXjx&3=*rYW V]#VؒNG}d y#125͖04chZgV?=h#N#gm.l |f<DL*Y);!Z<b +?)6"n80gWFgg=8C|vc_Zl5fsڀy-[9x/تݗl l-Faq& φ밉g2/!WXEs A#Ɠfvεe]8 ङg W˯1Gkxh|i^NW wZ:~ސ44I)miɔOZN``m߳roۈs%k ϶*ҥ}cf*Y㫘X '2Bv՝mpw:1zѓQ~J$0U_0.³.u9< $i76?e~ZgUcc)WD: r֝C?L D5Nh4 |aSBq<\J,޺If_IA~+OYΞEQA/Tb}ʖdH^øL"<.[âYM֩7kN ݀[4?:SJK~hyJfEˑҝ<uk2Nxy: [7Z~~$Ś %*k]i=p_Ls\((baB<~?dGxS;cC%g_ /NtyھLD [TH?7>I,*ͼ ٲFYmThj-Nˑz5% kE>//_v\s![ 꿩Z]Jl]t 5eߜ^^3 :~ :7/K1scG`5+-X;_-X5eo*ЭA pGd&Ņ w8;03-toCF#|HDk:q(ʺ%MXP:OVC[36aгqlg=˷K[6m#&ߐma;Ԛlȶak[ڤ & ׉uSvX5~ ZRj&SW`N/^^n]8h-wfg) IGRC@ػ"_@n%ڲ] h2#6 OY=|tJG:!7I$͎cʋ٣aSj֭BܫCbYnr?aJl#0KXXB/P%Hîk0 5 hE !0*#LjVI\dhTeAth9Z&z_-@+<ܟ!MG cn&v[, .WkJ(ہ $1LRƣCH9[㈧\O#z;Qw"F//)I6E9 i=倨KJ+y ''B> b$˦^ d %0tv0PޞpNNPܒp 5^Ͻ=Dn͇&ܜQRd1ޝ?׾?  J8Ŋ[9wwN'fzOX)cA>?xxp8EPw[('u[uZXjxKN]V-x 4 ? cU4ȘޟպeSB̳̫@q!}+ RuVR+Y B S3hờglTLuU!>M`yIϽZO2D"~@?JfZ\I6:mȣG&.Mǟě|ƥyP^ )l4Q=_I1fhj=OT!/EQKUBS,*0zPBpSxEhmz gkg5n7lH=wr LJV}>JKGMk_m'jk6#˸ZNjJ(G\y(?V70quI8ޑc 6cef9@& *E=+Fg61Δw+@eUޠ֕`E'5bTo$= Ur#nA%U&L#c2S:>piPlc3=4|17qJ"?PK~MM!/stock_analysis_engine-1.3.43.data/scripts/sa.py=ks8+xdS{uNV2qbn6)8D INnAe{{5T,Fh4 e{ӧWe6a+;Vpyg:,}tož:.p"˓rq(,".Fޫ-=,.pV|) FEoj1C>-&΁ &Eq|vmew u&v#' 1eI8<8X@t<9'WTE SsR3Dll4Oq~Z`$)۸]ZPk!ʋ469s904BpIRWH p"XA {,@) VTPl2H<=c\5A)bg|2NVャD*s`6,,N|'s-E; Tt ^@7iVP A ;,JÑğ^yc0` DƶLZ*ev1 2eM*X*$ GΔ+$ n17M̐2iM` "0SP#.;{mӷ`h8P$96tchvw(!$))t3eL  ş(?K/̪qX؋r88[Pˋb@"R+mF0,SP}`R8RuA1 Adlr<>;}u:8&"K*!E)L\Iф@;M;VATAE83dN헓ӫ@¾Zb_Ah頟3T:`[G5P9nk_'GGW$8:{}\NNޫa #xWhN&ޝ]WӣӿON+ jb Fam=; J#f nL2Cnx¬, 4XM= /Vg pZDZW@ X^^ȐCNX#hImd J%b`KqZ2+C!77UB6L-G%q,LfVGSAU40mZ=xs#$f_/gQ1&aOFɜ̍5eSptX5!r&*2"3f!!,DrqU$+11P0`Y̨W?Jۨ*"GhbJV[Eh4Uškꃕy n*Ki1^WHpO +\d`RP\uSqY& |B%!|"4KcԱ}:'rE'yf+\QV(-E} 㥝WnٽBz}hk@̳{rPu3201!Il mtH@pXGfc&?~'So;@XarfE,}a3Zb&Mk4KiaŐyaP_DLЖl2IJ# P~5mg g,qĝ8gG7 4tm0hs4y.aK,$s >ܐѩLI c -ӛt Rj aGVI ![-}n5R \2!6sF3~Y̡ǝiEfaa!>Drh?{>iN<:9}:穳nDA},X.5)9b3"X12]`jEϓ o$tVI><͘Q/2EX y}{[X[M8-f 6+@{F5uEy#|e)4qE4jƧlw+Z)UU$rbq ٮ?uǼ1kt')#(R9/ͭ/<2Yq-ᐩSN%.rOeX, 61[ ?I|Č=ܵFYToa}#Nե8|ߚT澪RLDL3g*!q|Yll쏙$9|55"7U860F/9]N./M_zhEg2Md,yoW6`AC}<%dvU$r[pc;.uP" 5GJeɧ ,Tn+Ax7ʎ=ʀkL]wҤ3{m)Be&̬"xڂ`TzQ 5/:;0N}Ff2`*օzU3{Ŋu'*)bҡ*n$/߶9B$e!`F[у6Z{͛Iʰ<㺑N.Opv#k۫7[~lWr׉׽/bzh!낯Bj̹-ڷu8 1Kn\o~UĿUn0e2zbbDWխb붱dE3-Q%Y6C/ބXHCêgV~Vaw|irL7c)a-k{z = EmO3ywHͼn^$yٚ~Jt׋dxv5s|##ZQu#s_2ϛ$img(Yz#:Bґc Lf}f=*ՍYwb<(%lX8FE) B `,IUdvm8pѝ 1Ɠ̽'/'8^ԝX<v#m?b]x"nd#>"a7b&5:7+b-?FBqC1t߱FmB-y㺓;,$ W 2q6H|yqv~_ =+(7ɥ$ 8=!HEPWWgvp }}y w_2]e ߞHpu_8 O&Q7'&ee錒oޝL룫XK ?ɧ)Ǔ{6rrj-r{ћX6 ''@V?V~w)1ikOwkh 4t vF'O^]]Ah^=A0C5)gm)Bgn,FX8 F~ #HsOnYHwB+n-f[Y\V;x ?xP3o7d  eVVڜq-81) ikcQ3Ŝ0+6m4Xsi(~XhL(5Vwj! 6+ŭٺ m N [l^3#сE?:jz! zBMpcq\\N.q P ^!1Ӄ,_j̜\0.6iR<{bmy0G**O>١{0σ ?*xuWJ=^Lc?ՠƁwhc3>>웳 |aw2IÈ Vyצ2lM6F䪰V !zP#9L=YeQ0v>;I{2d*i" prb8ap~Jmj4(Pcl؂Z|| h"$xu~ZUśқcxWUga׀YP[<‚W})Vܻㅚ]C㪬ZV>3x_B9|e8J8|PV2& --/zʗ>Kek-;-K  ۊ+C,5m2Uѡ;m`6&/L44E]:wMmVmǸRɉX Z$[Ս:HwuqzC`,!TwÈEv;=:ff]c_}>qtf=h {qpwI\G떎4z6a;[oTΛ"ovC=C{ހM>SvrxAl8RcP508ï,x;X<8MJY{+xݺ@1t\t+SY(z_MU _{bƞQcu2}ku*FGw-S/]zUk\[} ӕZ}ӯ:mҵ2vqc[dA3N뚑?oOw;GBs >tqt*vhEQzhs/=TUj׎]M#U6NttWUWTWqO ;AtTQRF9fn2]ei& Mԥ[/j){T=@-eWKZ_eLJ7wTH>5ڨC}.VREDUORc;~JTDkDEj>$iJVAU֗2v*XUƹ:E;H&J_>V `h4>w`L[eˏgzB<39L?~վb^ɨesaHr:gk $+lW4ln3BQbܤ'ս tV68!D6?+Sx!?|4l 'Lc}h x(V>z|}Xì}㮛3\.x>_qa*ʰA#] Q"ҠF;bxt ]!W)uxXM:DcT[GwjiNCɿG(B@|rFM[(s#4h=RP\~B YT4NMVd 1#5CE0YT/"\'Λ-٭,1~؉68cqn ƪm GQ{C T(`8B{_KyU|z%Bf[pv  O<4OTv s$8dyI,}<#v]8u}Կ.ATxQv^3~E*U۩#NC **TWsK&zZť)$!藖CSprZ>\09%9gUzѹ׀}`)7N-yV@n0gwI̶0Ŏ_Ǿ-62j;]%H0~*&d`B!U;ɚ[HfF+nnm&2}V#SVsQYӶލ;.mswX5~Nc!i9W9g#!m؍ !oo@v B<$Wgg֠I3؎&5@v0;-W}-lEA}.jN9/v@/LXXx7I! 5}ݘ] se.EA"ˢ {- `" nօP ѝ_xc6/̄ߠc  c$6r{/s_&~!|Hq]O)ӨTjvMG d-.q#'\4\SlYm+o$󃘾"Eb{{{b%`& Ѐ{PKFuMA%S8stock_analysis_engine-1.3.43.data/scripts/ssh-jupyter.shSVOOJ,J+IK-U*N*-,I-U v UJMWP)٩E  % *p *PKFuMER8stock_analysis_engine-1.3.43.data/scripts/ssh-workers.shSVOOJ,J+IK-U*N-/N-*U v UJMWP)@iԊdjZyJ\pPKFuMU} 9stock_analysis_engine-1.3.43.data/scripts/update-stack.shVM6W2klWA{hK" 0hH I}ڲAba8q WZxLE<-cBܐm'D]d,~O$JLHʪUYN-Z}<zoL$Wt\W$ҼR-6I.UUk446V[$+FeйGBMmkdZ,I 2A/ uWftR))ޙb[U[P!nÚN=.dĄ UIٞ>B%WZpC5q@@|leԹ'0VGykzfٕōbAYxiOw'yB]Ku# 6ZUmxO#fdZyG`@R=Ht_(6jY+c?~N b0qu|F RȔφSoWvmmX{] Jׅ Z }{?;Tsh*Ff8'Į$!)HNiO' Ng6?Йй@uɻ^Bnj-$r?FSpþmh̹ޘQd ݑӚJ:?4bM*0{LI\'VRWUeA`; $ϱm(.8[B7&NbiYv=L|PɈ\[Dn=:Ϫ;Grst5OV&TEp xaHLQ$.?:[r(_|F,93opaѽrHQ̃wEqy{}~35e CVjK dݳ YxwPK~M9+qQ,.stock_analysis_engine-1.3.43.dist-info/LICENSEZ[۶~@5 -;n&Γ]7Jg"A 5I0Z\p]ӷz<%PY)NsOCYM'^_'ٍī/~tn/^mn_4{ ]ՕxsZ-oVkV|X_Շ7uAO]-w>7$ૹRʹ3̟h&N6h'm]%JUJƊѩBX[S%~]xQl`ft-U%6V% [3nw;aj9Sc=Q4nf)+@%X3VrέvrJXm!oL&'JWB$%hfgxr5t)*|hHOߎ]JӶb ⭱G?@$Fͼʼn }K^gK߅(%8R'Vp_7;X!;EӾdk&rAr%պkʖ(⛗ pU.HՁJ HL.Ō3qk_vv{Mu5,+h*z9 x3NrIaRҫ=ުZY ך, hMh*8Xwe3) EgVGgahCpJG~_hwpK2 BTu;pP~ִchs E4c-`bz@/蘐6Ƅ2?"_OۡVUZhP×1FZJ݅c`c &K)`)}(Ɉ  p7<ɬr^@=ȶa!@;9/'}`H/`{% nvy{IlF:t^GX=U sa.p52Ӫ{M(< ,ll"l°)B֗i()`v9)'_cya4{ߑx_5jzi)R.tVY Od D I'[ul-K*EV#QOB(S'A(5Ǐs l_4OPK(l3 ɰmhEnvx4'|*F'"xݓ"'*ʴ=F1k0˪3ͼ,aj 0. P-|,ȍNKBwœ(bWM:"7@)AZV"r75wTXBJ v?V>f+kF/2DAfmprtTiǖȏx4`YCq#T| &ηINs hbH )4>SBr̗:`BH[_i'V _ŭ'Csںl(8,\6(MӶK#HVV BU\z"^:{!/#DEj8"VN}cwN*>wS {n=yp4QؿPbA;]=B\ iXt2٪9k;m7LQ`X.+͟Gg9TgAU-T<&3pINKh%Voճ a {c=rgٕAL9,+ZO >)Y"(Ifb<2Aŗ5sgJ2%S/I 6}ԔAddIT'u>Iy=@ ]'MTũezٔgTe Y Vs0#Pлwa_fM[8"5P":LflȪ[w̤ս$ Gg~ UjlmDL;1 `D*虘80[5Q*Ұ +s UƑF:ag|흹2b1]hSY<<ҊӹJ$ΦyI۪IgD1&cةu|C͎ ^5@7:`RcK 88l]%;rmӚyEjf"Vׯ̀ ՗ vKR͍P_ad.1)X1D[(>C#S 7Ī|t{3]B΁)wv#jL_5lqn NǙ:CC6ժGo; tr)~4jVQ+bӁړlȦ7_ Δ_J;jҶ]1 7yc`HKa>]Rušq?ˉs/q?[r=?,u0ݏ7bu^ZX~_h~K'ф+U6&MDsRpM."{ `̻ݻz\]v?_߾\|Bnu^-8ûŭx-6x[p.9kzӁk.|/!n6/is#dwԱMfP4/ZOYo9r<_b@`UCN:ln |dЩm}겈d'? & 8o)yD[9)8 .k4m'Zt++[n!U⅜gn7-ߙco]1fot睙j>1xNM' -w&vo @i(R!zz;PܩWK@݅4~ E2_j`J Əf`dLp:5mHZk/1t=M03at Nm*UC+WgFҶD\G+tMe~r ]96E\/(Qe'ђlZۈr|}ssHhR@"yyyh,KvaNd襺P&c'b7;bjSq.,۷YƖ'/YV\o7ztjGx#lIK1 HWpK'S'&A&XO-7N"w&Y'E8bd (}3ڣCϽVwb'"9"ą?/t#o&t(X\A%aI0hKbӎh8ga';kC~k7ߺƭkeiIqNfF΂ _uȎpM4z2nS7 sxh$=I5տurQQL/a'|rSMҨRk kO j5[vi9vPKGp6 `3`03ϭNB8v6[:> |tj!k>J 2`O `)J %K,G|*UY<yS *gASF*,o}{c; pi !04?kbQ6gDA,5: Phٰ2hD%.?y}fSSwtF4m{cs%: }nаNeBM8\mjn~6W:ٌ2r @>s# _8uK  Xm$@BtrN=x# PB2["c Qh,&ܓsOH|9ƹ t`8SKAq#T4g0HpA ]\0Bz%X4OWFq \}=^᎑u+Pl?quG\5Y)`b3c PPs`,%VKw4,"}W1#f HAʇ* sLTy\] y(X =ZeFG`,t' `2AVJ=POPht!?1ɂ-vP "9e=5Y-W3YJQWԠLSV0"dZ+ hoypR8m'@Ȝ.}xWNű of7厷 qQ{O[|ΘB$5Jj9n+W_,CRLSL>(Q(yAw.̦KR;!CSP\3XpmX?08ַBK0t>ZJTM|Vag 0=$ B0viEeDjEX7eHn@J+=>{|uuxmc|W$L`yLՇ*׳g PƲ11P"FZcRuCV)cOu\d6Zp ;-5?@$Euk?0F5*J!F 4k$֪ Fu%+VhŅf,l^J-^ޜ-MM#vG+2i 8p>bG!)M!0O>S:B' ;Yhc{A0uIE 2J uKY͙>AqDkx0;U"z#4Jҏ֏S>wzjG$Sh t0F챞VxoF,a]ڬI4Hķ`^`*x$< ;'%mTs qEn@Lps1Gfj'gbWqS6"IL auPHG:E0B=Ezۡ*4:Mz7"V4"|TmoAP^%[|I`!k%OaIx"Elaė;-o$a1ׄb}ruK8P˨UV6)>˗aqؙZ $ |M'ThkfՃ'.ՔtF~L5x?w8ſ$X:;-5)38,2wj0ɱÉZI]' +{Obm\lv&5pa\ !"qME1ȆqbIN%pmO|ƩgH<{åtO37w~ 65f"TFhLRcX)~n ?h[dQufJek+-I!΋ekPtŽ|n%vnc%a{x`e.8#wi&ؠYfJ|uxhBYNg0;™6sA;O~ojkֹZbs%(/xGCJ>:,6J*"Fvf1g]lJټ@d2槳[ UH[Fl214OL lϿt_֠gg'mZ `%F NJ ꘺.TSs0cchS?4 `V㑨}2,gC@T%둓КW΂ efM6=b6\i!oR%i?>Lq=/sOD5/Y<ԅ$AhrPX,a@G7XUrF kM`'|8{ebDtGL\e?`/I%I 2ѧ|43kiϓK_>E_<QQPt丷v|QuTv]^s!@`0*v5z=oYk U3 W7R-9]F㍭ͭ[vImy.v{kZkm q%EG~<,v zseFM϶G~\LaGG LKGI~ ' tUY+/;úda25*1Lgddơ̈JtJNݢ+0#x[H-Xz\lh5hZ,&į? DGLb>@$~ ł*&66>H=RA5hlXٰ;<{G~>\u/yrD1JUpq8ҶR1RdUv:\<ӎOC"\5>$蛠wt*hgFkh(3٪5ظyHl9pgI6 ڦިM 8;"TbGfkJXͽs]O|Plo f^Ž? |UW,Տ}o/^}|?B9e$biI>ϒTSnReϼDweN.ΫVJ7p^¾zMf˪12v,l̤Sj/{>M8m\yۋB0E*K$XO9 S/vJvqlV5W$  Z*ݶ92ͼ9( +'9%}$ ԅUǍ7K(;$`ɖ_I5CT{q| zy,pC(3` \`F'& %@GǶiZv㞰ZܾyaNNXNp&tjHXnbB{9dQ1qudJȦ+J+C_z] lV,4w#Z]]E+i +!6>V#APrD#Ch4>G{:~;/a^?7|U C+6U8[iQD ?bQdjeE_>>Wל/2sqk,ypK>P5PbOV`s [['nQX.$FopF46-! 2E[W,B!zԑm>x)ξUν ߇6;չ(EI=Y@J%Tl/sp(e{w "FD:A:m2Q@keHGI9^o㲶P1nbٓҀo=&}^j63}PlFKYpNe4 mr/d8pv2y6D63]r{2CPJCS˧Y?v)޿f8lVQd0 OsKqL˙eF>q@+G,h{˿| o|b9oOfl: QsX TF]PPHP?34'u4,Y؎#.GEl@xE;+(+@5pI$zuHvhTbH'>v Ѣ|;g^#DH竪$%v6ob3K:h?F oLo[QJQVGta#YCeSig,-۴mmM(,M-$¨eí 3PI)5Fy#o DFx#/GOq16IZzI.;/7{(ޱ%Y+%fTGp31F Xߣ}^HLT!E&.'RCsɾ;ON!Ȫ9J#?=㎝+9g&>\LMDکܖBo;GgSYGKnҳ^89>={.{ њ!_GcJGtȧRI?-'xf:h5lm7z[:C4Nus)ş\42*~VFZ/J2 u=,C (a=*{HC~rWK&c)T8uBeUUsd4RYizq$_G6ysy2^v:%"qFI0/aGi[f%=j<,Ɣx1gt 4#o~\J&/{L0< \$e @>x)&4moCK?t ik`JODkWGg3LR<M%arfUy*8Z+6N.Mٱ@^uLMfi`?~TS3ޛʹ?@m ρ0Ӫ@eer`HNezO[qz2u ړSfoa#X[ՙH=Zc9*Xnn5 #:SُQQ: P.*,*,5 65odED0WJղ^aFkvIB Yr4YSAn3Wr*qֲWyd"f z{?]Y_[lm4SGCɎ b( S')qJ|\3b~x 𞛲i7#LCjJ7 =@ ]QaOCh3/Ql.hi;zjO'wޟ]`i&Ƀ7%t# KbD۟SNE(^Pݙ3ͣl޹o>Q\y-ޅH7{bXQlA>q0Fn]8﷯=3}Ա]ܡМN ڥy zU!D;*PHdou^8aϞN>>{֙*ٴFE᭴QM\R jզ`P ke |]-a.nF.)ނRQle=}oԈ&gOeCɶ⼐!KLd'vʭm.@`@zF 7#3!h>ThӀ^gSt#e` ,wzl`CĨLԫdz ˆ5þ[hVct{ri,L~K7 a+v](Y[p07?X$X|?Ў2r #qȬ99 ̈gj%=q lhmg}up}]VY_mՑme{s}cdUFd?lZƌwoRڈV};EO}Dl*,\NlS J7ً_(`N /U>'Xivi]$^@3VLZkZ h&Tbtw4։G?xO TzAeɵ!7uAɎg5̈́Ip|JDA#_Xݩz- saC>vwgOщx@k } P au_Ůu>@tQ{?oL%$29CD|#)6|I3C'*h;I8f^l$nNq=lSd1Z²Υ =l^| 4%gc?!6z4 +<峦6WK(N.; Pz8J5,\Ylm\1a0c J{g;ӥcbqCERnHӊjhgy67\dN! <..V.'5KT3$.:rV%xW0YcuP؃D-u@nUęNMY3ef3RAũ^koF$'8y2+. q +$eF-j\+36΀o.W-W;iI`Էc `@U7ʦ.IRyܠ,,,}^,NW*(*}Sr#o,ZKHXKKcr`j*ruP\NA<ֶ͵MvHJ+dN^6]InXR=R+(^SC#QZBdDL֧5jU?炝ؓ̄t)EH|FEԽ{ |ˉKg&7UnA6 \&ȑ8-J=`I:ts靎RF)בm>9͇ҁp$d~'_hN O0| dE={_{*+cl7ZE.JN3|VtnPr?ў9O"0Y-lݧeܸu٪N]%H1Ue"sM7 r]lQ/qc,{]z*ɯOycwl/Ff:o^Y/4wƻ i`i %Vn0B}rj@*44QuC1,͛&uԉN juN,XyAe"6,bAY"5˸/`Gt'aA%2M 30X|)s.&FJXbu>Vp (v ^uD)tEI$ږ[ҽꒄ,ewVD?3KNS$~N-2ڶlע#bq D¤A$yeWwݐ/c_$Q?`qVcTv`;QF8L~>sjAɢ;>Ci"gdjeE1DJ=.ߋR/ VAӷ5?W ~*ohͮz&62GI@#g)*y/-H){YnC*Af(i8$JuuF2?=I[$}4PhSQצG vj&|nc~?#G <֙jN{{iTvCCb:D}k1Spyz Ϝ#KXS]=<覔67MD'W~s^aε*ᇵxxm9+e:bO ݶ^/kGX*`:JSF_`7y5WlnntYܵP-[/m41^QV" =cws7/y,S6r Ԥ:[cnK_ NuPwnAӔS5hadG33{^f@I ~ʯo,.;zY} UVB*¶1G^CQik21`}NW'Ǹ MPsJkN<o9NR?q=!b~͠r_җ}QUe<Ԁݐ eha:;V ^f/2G3rc.UR Gq W.ɨȗCXl-m(}.$qJJU %rLx.${>ǹxo@LkPruL"VL8}p'tLl|08I ;ch [MCaLxZ3kT:MDŽ~ڔҟF ~!,2_c>?]+馨ƞ Tܰ Q5׾y [ҙRr競Lư5F@QO2H8װ 9kycO0IjTVHY_PT@- Yy0dAˈ}ؔAM%P)q2L2}yl))4=wn(v30/#0᜿+h[Rx-A{+o1 W~x9S !'PƮ nyPY} ҉dAb*HG="*UvwM;.:Vz ,D& h}68U+KI__p^2}k: T՟7Kcxם:_80]8]87z!B.#1h|h%`H2uVs`p|(#gx*+rSjySaT:b;07;ZP`B.u ٧=Gqޣ!@_k46hת!c~IFb~u0\sU vwq9-^oՋHzO^gB<E'ֽEҡ΃ ;߭Fv+2,EJ]^y<0F̔:nm=w}L29.(Vu_8Nt=r n) e J(^9LjRrd+W#14dn cEܐQѦ5 z]1KݥlP#4qN$G/Uko'<НڻڅaQc WnYS "aPЉ-ˁ"OCFe?ţ'x'~ZyJ.=U58#q%KXfbd5#`/ˑ1av\ܝӏl9pM2)LCJ8"xY6{B^fZ[y Hk;p}ISkp[^*UO=Bnf ! A Lr\gmQ iOJ 'ƨ6|.ݰgbPjSbW *ވ3 -fE(8eϥb-Mz2=`PYFjDGZgf浴ɡp5O}Zf>`24 1w!*dٵ:k_33 ZCTwJ`O!AtA}Jw1)T@;tHPIF:;|yU55C͈BdЁ c*2&ft˷իt ={p*tzy&5 FKs!:!z¡fbajbFC5e@IUF[Q \[s6Sw DGhnm ` 4iqjԍxmۄ@5@"z]C~F6ko)Xs]lNPԍ1rcCgq}KaI>rp` /[E4A$<>HDRZs%\M0QozHp]ai 1Ȫ#TϣixHN#" ^aRd]J?4JHx X[ZnO3,%[1 gaiQ,L@Tet{K2Ф8Q]뱚|t*m:s*hC*@AhtyԎ O<]O%4xK0 Eeo'Ps z=6(OhNU;t- ΀UX{yٲ Fz@XǗ4F2pvj@E7\47WO.qVUAg4!p|u{z*T,IOL4aMlxszViW_PK~M`_n,stock_analysis_engine-1.3.43.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫#DPK~M!v7stock_analysis_engine-1.3.43.dist-info/entry_points.txtuK 0 D>E. zRĵ5%uϢ+yEB F +fNln5#\5*+<41iN/M|[)6Qb.wxJϝq4PK~M74stock_analysis_engine-1.3.43.dist-info/top_level.txtKK̩,,OKKPK~M @y1-stock_analysis_engine-1.3.43.dist-info/RECORDzɖڲm|8h .DtږSpzxɊ1cFt+Xs*N'q,.qa _xsrK $6PK4u"i / [6u+IudՖwgׂ\k#e!ᯈMm{B-WزDMԚx=;;YNn`oHy|w'xrI Am`\KlqX\LDw5op G~ SA>Ai,l>J'U[Qc Lޠ:ۃ90NA $ۀ ' k_& 01-2.n DG\u%ocC4v]Md3mp~C ^vɛJ9u#la>*8%V dIDo09ڰgZqH#f4~l9G*o,a'Q`r Zc =* Dkw>b>f_<AW}]_O$A7QaAW!g10a K!n ~*P~⶿h Z*ʮ}JQ}gj O7W,f6|AS\H.d0X7;1luu?v8ߜeOI jAEk`apA-0 p{ *srXq{OYw:t|(!ql | g,8-6DχʶົΑOΤF%W\} 57lh~9 .&);l*AeY7QO̗ ?{d[!]! E7nT#78 V~Y1H@/YY5AY?޴x=5('#i QѢpx%S{b1ּI]+#^AѴVl~qvs3es,Cg*!(f[8U޴q.J8h AF;tHGZ (kE~ڍY(-'pM2g\1z H_k|jlL\>18vu;x!E˱77];*ox:D0-)wdɜ!@,Z*z#C} $1~5)C9]m@:2!.dKGc N6ru}r (ɩ}gU4ź$Wk¯RԆMI$9HwkCGGTu@{_CW7}$E W \B߶DG=ϋv67E־ >r2 A[ NrPd/5h| 򚱫ui6t>8[AWvQPQ5E2&{#NC=xz \EZA\O?0yGw;HZeӤk?ï7g1h3v:z`'b:qQlai-M+t`OqӃWX/5,yK$5aY_㲊ʢ^a98k2ŗ"*)rw¼Jv@_xO0UP;|;28-T w5-#0Ϣ=X- o` ?]~ņ#Aѱ{ b͎KܯH:ЫW/}_Ud=i#01ћ[r/oE ѳ. ϟE ^W17S3UKR;~iCCϖVo/»[: Blf l ZȻ%L Jozz(Xe] 50skmn.AQ/'qCԫwjrn_,;YPnV6Dz (I7gktN^U B"6:P'"aqnm?f%j(hu0_m-.Ig]-Cq\*J ܺn )~/S#4sMֆ}+sUv1d~F{XjL'Q\adL=]0ƹf_\us:T@@(;-W_ aCI# wb)RRq?5  %`kkpGE]yU>Qg_珇Cq8AH6J$qs:WKٞ:umzr[AV@kA7]}zirc2|YE;kk`oA_ 3w_UySwy/N۱LgO28 E\7f'xqҲG=ک#S,{v8: h&_{l> EA:Y*>^k'&OheUf5kEVY1\.;`%$5NJ|lj{E1YMbӠ~.,Rx|$.`O'}9a3Gop~jcjB~xP0{^(@] (TuGxu7,Tu,@z#*'NDZ㡪DC UrfDa0:WP .0&c-9T )z`|*OTCO(`qqpT!8!.q㢬=aDxl 7E|RGCs bbXWXTy`${b B :ݲ)ovVCժGp+4kt%\iT*Q t9`n($?vJ"u9rJ^%leQmHqɸqv]' KM6LnD?ǜOA^4>-1=@ כ7ǟ9>Q܎HpJh[:ʝr+[a6jmV7-ST|F~|q9ZD> ǕsUf,-!7=<;y5ӹ#6젽"bػsN:_ǦI+mpލ`|9 @F ei%Jd )A `@t&H uPiDa;IxV6f;cpx% GxIsBZ B>aa>*J{e*:ɧ"]D递l\|u;3dzXo^9S?|:'u6' 45^doUO+ʃU?< oćl140@/v̍eBUߴ'Dn<Zs+dF4#\9 [gizU|!y;f V9 }6),C'/)ěuW]S CsFP:Hw)ps$.qy+$W=1~(? Ʊ &%XLTuJA͐Lb'CiD/g#⠘%u ,>TR0ևב ߯}wIFd~p6e8+p/(t 77l@^ku D*3E/BC:'އ®A[ 6y2\Xl=$d=:T8ǸE zț'Umðz?>[<3`1(uR ZmtN }I]pG9ry@_tGR9"(}߭-njGd;yk!i}]Xn oH( x ݵK77:c!҄=?a)&}_ȿQ?RXګ 4ċK*sDC "pT6SЯ{|rՏK~Q9=>d2A2g.rS*f^VGrgCaD̐groC(쐦5 S&\z(Soᵼאjx#O3Bd@5۩H=a{ir9# h 'lP0ͮQ.]i`܃h3I9[&fwU7}Cfu<NmD3V  |^́1;=c"۲vK|9E˳#4< &SG?۱{F5UZ`vX?=j9V!߷]?CRa?IGD)s_X]7_>^MNZ3:8f E0!ΡD E]YcQWOaǶwG Ա>#C}co*c,"$ Xlex8;Yԙ^$A 䍌`ACi\HI q"D죁w RH?߫ ]#6_Xxunzt'S0$hSh7u0l.Ww`|analysis_engine/extract.pyPKFuM)ޑ_ janalysis_engine/extract_utils.pyPKFuMZ8ICYanalysis_engine/fetch.pyPKFuMp * analysis_engine/get_data_from_redis_key.pyPKFuM3 jHanalysis_engine/get_pricing.pyPKFuM!&C #analysis_engine/get_task_results.pyPKFuM2.analysis_engine/load_algo_dataset_from_file.pyPKFuM®5 /Ranalysis_engine/load_algo_dataset_from_redis.pyPK5}Mc}M,_!analysis_engine/load_algo_dataset_from_s3.pyPKFuMϠH'analysis_engine/load_dataset.pyPKmzMuX1.analysis_engine/load_history_dataset_from_file.pyPKZzM$w01analysis_engine/load_report_dataset_from_file.pyPKFuM_;&] 4analysis_engine/options_dates.pyPK8}M;< 0'';analysis_engine/plot_trading_history.pyPK%}M7tj (Fanalysis_engine/prepare_dict_for_algo.pyPK|M1lz*rJanalysis_engine/prepare_history_dataset.pyPK8{MYz  )Oanalysis_engine/prepare_report_dataset.pyPKFuM &Sanalysis_engine/publish.pyPK~M9 8"^analysis_engine/restore_dataset.pyPK8}Mo&qianalysis_engine/run_algo.pyPKG}MF ""analysis_engine/run_custom_algo.pyPKFuM겢],analysis_engine/s3_read_contents_from_key.pyPK~MR$ analysis_engine/send_to_slack.pyPKFuM(banalysis_engine/set_data_in_redis_key.pyPK~Mk3 &analysis_engine/show_dataset.pyPKFuMn؆qoanalysis_engine/start_worker.pyPK~M?analysis_engine/talib.pyPK+}M*| analysis_engine/utils.pyPKFuMP,I analysis_engine/write_to_file.pyPKFuM"analysis_engine/finviz/__init__.pyPKFuM~"{ analysis_engine/finviz/consts.pyPKFuM۞#analysis_engine/finviz/fetch_api.pyPKFuManalysis_engine/iex/__init__.pyPKFuMFѹ -analysis_engine/iex/collect_and_merge_data.pyPKFuM; analysis_engine/iex/consts.pyPKFuMAx'~,,analysis_engine/iex/extract_df_from_redis.pyPKFuMB@. analysis_engine/iex/fetch_api.pyPKFuM!analysis_engine/iex/fetch_data.pyPKFuMj$analysis_engine/iex/get_data.pyPKFuM?C)analysis_engine/iex/get_default_fields.pyPK~MbЏEanalysis_engine/iex/utils.pyPKFuM& analysis_engine/indicators/__init__.pyPK{M}0Ɨ r6,Sanalysis_engine/indicators/base_indicator.pyPK#zM tr2{analysis_engine/indicators/build_indicator_node.pyPKFuMB1=analysis_engine/indicators/get_category_as_int.pyPKo{MZʹ 01 analysis_engine/indicators/indicator_processor.pyPK{MO_V8analysis_engine/indicators/load_indicator_from_module.pyPKFuManalysis_engine/log/__init__.pyPKFuM!analysis_engine/mocks/__init__.pyPKFuMb~ " analysis_engine/mocks/base_test.pyPKFuM h#,+!analysis_engine/mocks/example_algo_minute.pyPKd|Mvc 4N,analysis_engine/mocks/example_indicator_williamsr.pyPKq|M@o94analysis_engine/mocks/example_indicator_williamsr_open.pyPKzCyMIi>q*W=analysis_engine/mocks/mock_algo_trading.pyPKFuM;V&?analysis_engine/mocks/mock_boto3_s3.pyPKFuMa;fr !Fanalysis_engine/mocks/mock_iex.pyPKFuMFuw%Hanalysis_engine/mocks/mock_pinance.pyPKFuM$SX #mKanalysis_engine/mocks/mock_redis.pyPK=zMrQl#Oanalysis_engine/mocks/mock_talib.pyPKFuM#!Qanalysis_engine/scripts/__init__.pyPKFuM^E8S :3dQanalysis_engine/scripts/fetch_new_stock_datasets.pyPK}Mh.7_analysis_engine/scripts/plot_history_from_local_file.pyPKFuM%9@x0danalysis_engine/scripts/print_last_close_date.pyPK~Mӟp5Qeanalysis_engine/scripts/print_next_expiration_date.pyPKFuMiehy%3fanalysis_engine/scripts/publish_from_s3_to_redis.pyPKFuMq0q';nanalysis_engine/scripts/publish_ticker_aggregate_from_s3.pyPK}Mzi{n8wanalysis_engine/scripts/run_backtest_and_plot_history.pyPK}Mj !analysis_engine/scripts/sa.pyPKFuM&analysis_engine/work_tasks/__init__.pyPKFuM +Vanalysis_engine/work_tasks/celery_config.pyPKFuM3analysis_engine/work_tasks/celery_service_config.pyPKFuM= )ٳanalysis_engine/work_tasks/custom_task.pyPKFuM՞ {,analysis_engine/work_tasks/get_celery_app.pyPKFuMߨ4NI2analysis_engine/work_tasks/get_new_pricing_data.pyPKFuM h48analysis_engine/work_tasks/handle_pricing_update_task.pyPKFuM%iQ5analysis_engine/work_tasks/prepare_pricing_dataset.pyPKFuM@UQ <6 analysis_engine/work_tasks/publish_from_s3_to_redis.pyPKFuMzF5 94canalysis_engine/work_tasks/publish_pricing_update.pyPK~M 9V>analysis_engine/work_tasks/publish_ticker_aggregate_from_s3.pyPK`}MI YO7analysis_engine/work_tasks/run_distributed_algorithm.pyPKFuMm$4sanalysis_engine/work_tasks/task_screener_analysis.pyPKFuM!%analysis_engine/yahoo/__init__.pyPKFuMc-O%analysis_engine/yahoo/consts.pyPKFuM`ֺhB.M(analysis_engine/yahoo/extract_df_from_redis.pyPKFuM& 7!$0analysis_engine/yahoo/get_data.pyPK~MH 9E:stock_analysis_engine-1.3.43.data/scripts/fetch_new_stock_datasets.pyPKFuMI(nY~DGstock_analysis_engine-1.3.43.data/scripts/logs-dataset-collection.shPKFuM?Ms9fHstock_analysis_engine-1.3.43.data/scripts/logs-jupyter.shPKFuMLs9 Istock_analysis_engine-1.3.43.data/scripts/logs-workers.shPK~MY#IIstock_analysis_engine-1.3.43.data/scripts/plot_history_from_local_file.pyPK~Mȡfl%E7Ostock_analysis_engine-1.3.43.data/scripts/publish_from_s3_to_redis.pyPK~M`d'M"Xstock_analysis_engine-1.3.43.data/scripts/publish_ticker_aggregate_from_s3.pyPKi2zM/ĽaE'astock_analysis_engine-1.3.43.data/scripts/run-algo-history-to-file.shPK2zMCCcstock_analysis_engine-1.3.43.data/scripts/run-algo-history-to-s3.shPKFuMV&HADfstock_analysis_engine-1.3.43.data/scripts/run-algo-report-to-file.shPKFuMÀ̉aBistock_analysis_engine-1.3.43.data/scripts/run-algo-report-to-s3.shPK~MzF_nnJJlstock_analysis_engine-1.3.43.data/scripts/run_backtest_and_plot_history.pyPK~MM!/stock_analysis_engine-1.3.43.data/scripts/sa.pyPKFuMA%S8sstock_analysis_engine-1.3.43.data/scripts/ssh-jupyter.shPKFuMER8stock_analysis_engine-1.3.43.data/scripts/ssh-workers.shPKFuMU} 9Ĥstock_analysis_engine-1.3.43.data/scripts/update-stack.shPK~M9+qQ,.ܨstock_analysis_engine-1.3.43.dist-info/LICENSEPK~Mcu6]/stock_analysis_engine-1.3.43.dist-info/METADATAPK~M`_n,stock_analysis_engine-1.3.43.dist-info/WHEELPK~M!v7nstock_analysis_engine-1.3.43.dist-info/entry_points.txtPK~M74Jstock_analysis_engine-1.3.43.dist-info/top_level.txtPK~M @y1-stock_analysis_engine-1.3.43.dist-info/RECORDPK@,