From 5fbe3c62ff6717fae8e5c9176321755a1261ad70 Mon Sep 17 00:00:00 2001 From: rushabh-mehta Date: Wed, 17 Oct 2018 18:12:40 +0000 Subject: [PATCH 1/4] Done --- __pycache__/__init__.cpython-36.pyc | Bin 159 -> 157 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 170 -> 177 bytes .../__pycache__/build.cpython-36.pyc | Bin 655 -> 657 bytes q01_outlier_removal/build.py | 13 ++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 185 -> 183 bytes .../test_q01_outlier_removal.cpython-36.pyc | Bin 1835 -> 1837 bytes 6 files changed, 12 insertions(+), 1 deletion(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index 2e5da7da778c48a9c58d7d055bbdb642fcb66418..2573e70c53bafc2cab61d4f63b86c108c8a8706f 100644 GIT binary patch delta 55 zcmbQwIG2&bn3tDJHTQV*L=JOhFa3=C+*JLd(&CK7qzv8M)Qplu{qX#v?BasNTjn3tDpxuj9lL=JORAN|nc)S_bj#H5VO;*8Yn;?ks|#N5QZ%)~tXywvje Mw9K5;;)zMt0Qi&>ga7~l diff --git a/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc b/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc index 2f9a42a105b2b26ec10c60ac4d11fa03f7624d22..e75757667222b0d52d74bd93afdcf08951f5827f 100644 GIT binary patch delta 55 zcmZ3*xRH^=n3tDJHTQV*L=JQ1IQ@+L+*JLd(&CK7qzv8M)Qplu{qX#v?BasN8q6iB`z^2T$!$tJefNme?@R!fV- zYw#qzgIlU=cmOKKfns4I&-nAqXOBPUbT*rQ{q+5M#|ZgB4lKa=YaHzhbdpF~6Hdp- zcmT8tCEHUTK~%*ukl~*3NJcXLO!x#Q5bY^N&U=zh?vPKeK0cA66Irc=%8dnC7G0@T z-m9Vpp+L@ycIzhZeERb39Yspvoww-kxWL#h&<(irV^R^xWblRVDB|z{GsMvW4hGWE z%C918pzH8Y{lM1Y8^0IU4uPNVF~19k5W9}A`0=?hby*12U8+Jiu)G=V=UGY}-SCGO zTKrqUr@sC3M)#^q1D9-iuiNBWVUZtVzGMKzzW6upzXRfqJXT>5>VS^*>*^_u(Z&&USDH% z1x1%_o}J{n@9GjPrW?H#b++isTF%X_JN_>-^+J0`=!5Z_Q#(VHCN4HYNzpoHq>Hdw vb8BPFxWs~xIliGyJPf7PX5@_RAGo8j`embKU&AZ^lZ_`OG@(;^6ejU+3eU0u literal 655 zcmZ`%F>ll`6t?3ecRlsEGM>c5b_@-O6#-SdR6-RJOj#l~&m2yDwre|8i^6pL1ZH;r z50h7>F8u*aJcofR5_aCFJb&+dFYh_e=kwVQ`K`Xo2>D5N7Q^?~X#NQT5TJ_GRM0Mi zY)fkJXNo@C@iX-E9iIg{&>W9aM-{;~i z^?I~1y$&vQy2|79vPZ2{A{N$39byj7*jPvn;u`tAae8Tvk>Yb6Y5SeHIf{S1uRdbI ziYswlod|ysjIG`}(}^~C9Qs=NAlt@?wG-Z_!P`G%b@}vJWBQ<^a7b^=6<5`HFBKfx zo4ELg*-JNYfI#TMxcBL!ak~Yct;$$hu7UfQS%_07I5c>zF3H>^K?)l`cn2QfS)9Ju T80eLFiN783CBihD(f#~4xYMeW diff --git a/q01_outlier_removal/build.py b/q01_outlier_removal/build.py index ec278ba..5ad3637 100644 --- a/q01_outlier_removal/build.py +++ b/q01_outlier_removal/build.py @@ -1,8 +1,19 @@ +# %load q01_outlier_removal/build.py # Default imports import pandas as pd - +import numpy as np loan_data = pd.read_csv('data/loan_prediction_uncleaned.csv') loan_data = loan_data.drop('Loan_ID', 1) # Write your Solution here: +def outlier_removal(loan_data): + q1 = loan_data['ApplicantIncome'].quantile(q=0.95) + q2 = loan_data['CoapplicantIncome'].quantile(q=0.95) + q3 = loan_data['LoanAmount'].quantile(q=0.95) + loan_numeric_filtered = loan_data[np.invert((loan_data['ApplicantIncome']>q1) | (loan_data['CoapplicantIncome']>q2) | (loan_data['LoanAmount']>q3))] + return loan_numeric_filtered +outlier_removal(loan_data) + + + diff --git a/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc b/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc index 5a057ffb73694628cef3ed87e03ee3a17f7410bc..02f6fbe6f19d11ba4b6cccdb5448049dde563d5d 100644 GIT binary patch delta 55 zcmdnVxSf&1n3tE!Jok9?L=JQ16#b0++*JLd(&CK7qzv8M)Qplu{qX#v?BasN;M1& diff --git a/q01_outlier_removal/tests/__pycache__/test_q01_outlier_removal.cpython-36.pyc b/q01_outlier_removal/tests/__pycache__/test_q01_outlier_removal.cpython-36.pyc index 4c0b6c7431c6a14108ba9d55dd44059612f144a5..67dbd9c33ecd3e2e3b30cbfc7e73fc2b1db413f9 100644 GIT binary patch delta 71 zcmZ3@x0a97n3tE!Jok9?$%&k+IQY_2OVUbnayD*vVN@>B&&bbB)h{Y7&PYtk(9KQF bC`r^0&o9a@E=WvH)lbe(N!_f##LWr-ceWU^ delta 69 zcmZ3>x0;XBn3tE!Sjs4B??ld3EL`cSB^!6UFshd6hZd(673(J^Wn>m-q-GbFCKV;- ZCgx=(=IQ69mdB@M=A;&HR$}621pp0E7h3=T From 94ec1e16629b7dbe397fcb29076a9094ed0129ef Mon Sep 17 00:00:00 2001 From: rushabh-mehta Date: Wed, 17 Oct 2018 18:57:51 +0000 Subject: [PATCH 2/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 179 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1284 bytes q02_data_cleaning_all/build.py | 14 ++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 185 bytes .../test_q02_data_cleaning.cpython-36.pyc | Bin 0 -> 3407 bytes 5 files changed, 14 insertions(+) create mode 100644 q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all/__pycache__/build.cpython-36.pyc create mode 100644 q02_data_cleaning_all/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all/tests/__pycache__/test_q02_data_cleaning.cpython-36.pyc diff --git a/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b97014814957398dd70a6d4a5bdceaa0d0290154 GIT binary patch literal 179 zcmXr!<>gY%Js!;f1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuLS*!{M=OiqSE4w z#H0+}+|-PcME&smqU_>=#N<@{`TK_=2MRtkmQZ z{Xzqy_>{zw#Q5Z#)Wp2Zy!80QoE-i5_{_Y_lK6PNg34PQHo5sJr8%i~Ae)PUm;nHv C{V|LH literal 0 HcmV?d00001 diff --git a/q02_data_cleaning_all/__pycache__/build.cpython-36.pyc b/q02_data_cleaning_all/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b3b5b6ca188474fe7213a6da4059a1d106e23871 GIT binary patch literal 1284 zcmaJ>O^@S55Ow=I87C7~3oI9q5Fq8S$pY8WEQl2n5}L~(F*2Z5$K9LQ+y2;Ydo>w3 zr>wXQzkw^ige&L1a+<%uiPyG3vmCHh)z#(d@~e7fe?FT{Kl%ChA0GRT^QUv~3SfT$ z(Z4`(hZE_f<4RH@oWd1dPReOI9iI8}q)gI;I3g@& zJUEhcF6PB44|#NSVJBj4eLUuq*G{?+3%kcja_KCmcfjOan3&S%xfGNxiCMIYA-4e}(Fu0$@JN@C%wz3{DddB{*V44IE07j5L+*z zPkOX(Si>XfqdtBfqDixh^kgXIvSn?jl|_%9L^-PMxcF|g8_6sTA|1H=S?m;dg z`XQ7p7($NVek>I)aW9k&TzV!16S86^L7zK8v%0HVZGybw;u`tM^>2=vBlNGI*1NhC zYt`u;+w2~fVh2jTuhk3P0LnV6xd21kT(@}!;s~-zhi+zoSP5c2w$DaI%86w!x$q0&u7=U-r8u#`Qz!GWqawS zlX05z8(|W~DqfdVqnTov7@w=UF>b?6cqvpaw3%rkfsgWb-(c%jjR~u++z6$nNN4;K zGiCzTG;(jktgbTFD%)W*d4_VnR;(1uiJ1)3X%QQ8Wyn4at|-#j1qV!YMTbE*Aq>pA ziT3|EV8Agnc~qx1`RtA27jWqZP!37RoGi!#$Q=3+Q6Iy*e9L%x5A?M*e#6?G2?1DC z+(bNA6(E|hK_{42ZzJ3UfY$8QBiQM?`UO5CRjo=;DCyV^FgF(YC5YU!wk~D9S^W>c ztCvqcrT_VER|C5WzbMDVN-$3Gp{n<>RdzB51m2 znpxNNWa^(MQSu)2OI6CQz@s894q{gAA0iF&U!Mz@=m}EKMxM>wlgSc}F{4t=Ww_Oo21Y8L^pEyb82UT8XX1_UxkHik+nDRf)#PphoQp z@#?HTXi$e%Cpxq%tX}llsDH7%rq}WoyhU%xTV@M`YZGm-GPpj`yj8Y1^K|36Mr*YG zPNQ{ZObqWPC9kx0V;}aXZMBJVeqcgA2?T@oLYB)oV%+B}$@YSHUxz`^-=u*I{4i!g z8l`>cX!V)w<#8PFz8JD_d>03F<19%1A!jrSWt63Uo)%LW?Sx{_vtQur&8PbWjE1=U z;f1R_hFiP>JnX+Dx$I^vB&6#j%=BAl+lR$<$Zofc& zd_>!r;^$Sc)z*0(6mOtF+ND7M)U8vTI4~!!!GIC~0RRs!1mJM)k^dMr7!8I0E;JzO zApWF2Fb3wJLW#668fRin-x|N1Iu9Z3%F&Ryy^On@$(*Mp2{#h%n_-aBK)4wA-|-+} zZ|=LJEQh#c2V>zJyX&HDtHm-7H^pWuWRQkTS+9L`Ug<-s%rN6jReEScRgcUm6PIq2 zlHVM<^;6K58}xCOUz+~_TowpGBQ2tn@fR1uc+$>Q1Im}dC1rz?Jcv@h0#E!pid7Uh zP}~IZAMEa(&koJvd6|Xx<^O?)hOQ<(^7^ve-1E5Iog=n!d160J3#gC9ceSX^u@HnxnrB0P z8)kA$BODVk$C8HQe Date: Sun, 21 Oct 2018 07:42:46 +0000 Subject: [PATCH 3/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 181 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1001 bytes q02_data_cleaning_all_2/build.py | 12 ++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 187 bytes .../q02_test_data_cleaning_2.cpython-36.pyc | Bin 0 -> 4762 bytes 5 files changed, 12 insertions(+) create mode 100644 q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc diff --git a/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84f24a5776050df5c2465d17f9a8510f5268cdd1 GIT binary patch literal 181 zcmYL?I}XAy5JVk`0wLuX6cn&1v{Gmu%5YmZsAZO@9LZoqhtfH00MQ1U5m){FHQoBC2S>Z{n+xI# D1otu@ literal 0 HcmV?d00001 diff --git a/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc b/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0e6a5e52db68b78b5e935c3b1d210aeece2000be GIT binary patch literal 1001 zcma)4O>Yx15Vbd(>?Tc`q;TqyTMkW1xuS}yEfo?}h#sg6lI5*p&;42sU7dSCqiqs-Nc;%VVoAtAwpC9#loo`!T-t2~id?mL=3+pF1jm02|q>3R`5iD$kTj^K)@a(Ca&9y(7pa%6JNyP{2Ab zgw`oYeq6Bb0hGR(Tf?{6#-XedQHwg#LRP{88=QbT=Z9ITip9@0_g?Cv1Z@|5PlMpE zDlL?5q9(kuP`ppgsOf@Iy0s}-E~_j{!MGqVU1%<}b)m%NqtHdC+-i~Lu7w2{>!QUk z01E^@6ForI?|d>VGMMPf%*5GjD}x!D@Ve0NOeqqWB!vX@WSSbACTP`EgE8KhQWtYb z?Brs5hu^W53#ItZ%Bhe~?x7`I2n2?rm27g{*R~WP9X^#~B+I*rnUo?bcEE>HBJ3FO~9Jtv`SIy(CG0 zOR0|z`W?9VUm%D?WKXhWXcbRssg^2BL?xQ1wK7%)bctjboZVGZ7< z_3lNyXWI)L-)=KX+_6!M`8g>&x(Ht9XyLsZXdMa=U7+e#e3~ zWnstOWz?~MWP6TZ$4L)AINdvNaSsHIH^)+lOqAD>rQ+s5tC0-Rq0NviF`(6vc4)Jt zK#I^B2{l%ZERrSoohQp=1=<2xC2Pm)6g!EO(5@#SVhwAjq_B;Mc@Y~ zX25k9F1`aIltQ^D|02JVno6j?l8L-2^{QwvaemSt_Go3RFguPbkyJzO?o1%MG96%S9}p8Ct z0kFyngSaBG1r*48B9=fC=O!*=0LV9CNJ4`QG*nMa!|?tQ3us0d%VHKxP{0bo9z&(6 zHnnDk$f1tbnX)~l*8TR70x)tj?6j%5A25^AFk*hfhv{W6BdsU zczGg$$rNq8&rTk20T#`X0!dzw6}kK6iOKvg*1JY4TZ3hZEG(2cuFp2$7dwUGGzv5# zb_T>T41RPH1`+r}z(`YgYhDTw>>cH>bCg4&Lm+i27y6^PeKRHp@a4C{$QFmGf)3MnoJY)L5abHX5JK}H$BJC+zjj&_=DV%wkSx07i@c1`ohHU|g$d8Dr&J)B^E2@4DctdJt4q$1ZIl1XSh6(hsAbd;Q z7;*T9nH|H-rD@@Pupn^Mn<-vy&KlScVdiCpAuE`(-V!UhAuGoj%+x@0xSs0m6fZLe znH0`sVlZ(hL8hq?Efroewf=ADL|8L+uZ@KlsMVnmn;Ko9;=B$wGK>R*5X0UBU1Z{$ zkFk{UG)swZ#99iI_Z`3*I??S}jb#jJc3OUgXU7YhixzbMFhaB-{}4cXA)n~A@=p$@oMWM$$}vXUTW0M*((Ia1X=@@8UygXO=- zx<0;|2;)PVWx#6%V&iLwT>O>-PqXmC0Ny$X`H7G_vD>iNNbvB;F5*;*iC-rvoL$0x otmxQP6jc<+ Date: Sun, 21 Oct 2018 07:55:36 +0000 Subject: [PATCH 4/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 181 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1334 bytes q03_logistic_regression/build.py | 15 +++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 187 bytes .../test_q03_logistic_regression.cpython-36.pyc | Bin 0 -> 2301 bytes 5 files changed, 15 insertions(+) create mode 100644 q03_logistic_regression/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_logistic_regression/__pycache__/build.cpython-36.pyc create mode 100644 q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_logistic_regression/tests/__pycache__/test_q03_logistic_regression.cpython-36.pyc diff --git a/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc b/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..500af873629c554ed22d4663f9df5214f5040a7e GIT binary patch literal 181 zcmXr!<>gY%Js!;f1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuO$79{M=OiqSE4w z#H0+}+|-PcME&smqU_>=#N<@{`TK_=2MRtkmQZ n{Xzrdcr5bz@$s2?nI-Y@dIgoYIBatBQ%ZAE?Lc-H12F>t8}c%{ literal 0 HcmV?d00001 diff --git a/q03_logistic_regression/__pycache__/build.cpython-36.pyc b/q03_logistic_regression/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2e7c90a915b3c40dd3966abfcce4bb115a60c647 GIT binary patch literal 1334 zcmbtU%Wl&^6rHghJ1>*Ac@$W(%Yvk|+X_(?7L`gDbU`&#vZkJC;&lAz*r^C|SLRdL zu;n}Wg4wd_f*)YT9TSJP>H-N{bA58|+&lL**>TgLFxc^vQs`yvuvM&j*EdYE>+2vG!*~Hu>gXEu4gp z(a^ntxY5xNt4GHfjTn{e*r$R^U^WipNswlN|Bg>2PtzcdfL-(B=zOk!cp=SX@DaF9 zJkLbHr6+k9Ur_;+%Vh-v&t5;$`;Tr$_zNYme*!xj&h?gFam7lxWLzTR?E%YE(|EOb)-6bNg@KDM%h8+ z$01ki`!T&oHFe5+VLXqrp)C!_PPykn=4Fyb>3J+esZ&=baLQR0PU^}G9p#+pZ9$}L z06c{ai;4gM1hLbyyTlRk1iCd*_M)u*S0wx3r3vIug3-A%oxSx$Lw|2Y-^y9O6AlN8bsO|&WE}WbWKp<@6-mTZhZQR6i z6Ewre%1-ovrpibd>8BSkS~40z1>kI7k7qO~%SC#XP6QF`@j?h%lvN|0N)>V#T|X@g zr}iL?15HQ3l2hjC+tes8n?6`sOvZ`ACkij*8tjtmT5M>cyHS?BoQPXOcSzNDp`3HUU+O7L UpMt1ElUA?M1YCy}4y=0nHw(6c=l}o! literal 0 HcmV?d00001 diff --git a/q03_logistic_regression/build.py b/q03_logistic_regression/build.py index cdbd506..3da52f7 100644 --- a/q03_logistic_regression/build.py +++ b/q03_logistic_regression/build.py @@ -1,3 +1,4 @@ +# %load q03_logistic_regression/build.py # Default Imports import pandas as pd from sklearn.preprocessing import StandardScaler @@ -15,4 +16,18 @@ # Write your solution code here: +def logistic_regression(X_train,X_test,y_train,y_test): + scaler = StandardScaler() + X_train['ApplicantIncome'] = scaler.fit_transform(X_train[['ApplicantIncome']]) + X_train['CoapplicantIncome'] = scaler.fit_transform(X_train[['CoapplicantIncome']]) + X_train['LoanAmount'] = scaler.fit_transform(X_train[['LoanAmount']]) + X_test['ApplicantIncome'] = scaler.fit_transform(X_test[['ApplicantIncome']]) + X_test['CoapplicantIncome'] = scaler.fit_transform(X_test[['CoapplicantIncome']]) + X_test['LoanAmount'] = scaler.fit_transform(X_test[['LoanAmount']]) + log_reg = LogisticRegression() + log_reg.fit(X_train,y_train) + y_pred = log_reg.predict(X_test) + return confusion_matrix(y_test,y_pred) +logistic_regression(X_train,X_test,y_train,y_test) + diff --git a/q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc b/q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..622dfd4e9c4e690565aeab9aeee9bd7bc51757eb GIT binary patch literal 187 zcmXr!<>gY%Js!;f1dl-k3@`#24nSPY0whuxf*CX!{Z=v*frJsnuMGW+{M=OiqSE4w z#H0+}+|-PcME&smqU_>=#N<@{`TK_=2MRtkmQZ t{Xzrdcr5bzC8@%kpzBWg3p?#SDRJyHLDx+JADCb>WFs@ldRZ z^{M;HompGgR{F^ci??|DoyFV2ojP=blOL?0a{+N!hXE8JdO;^3-h#GRPbJ;&uHTShxfm~AmBQ}jb1&t)-z~&8-yrR0PquTzq6>r z9qvN!@*1y0U*iq#L0{)f5OA|t$3PF>-(-ZV;DgRRXuHt#4hUlzG9|x~b8BcD=bUh| zVNGE%SZMD1*j}@y4rUUTaSs)`yKq5FzSw&UAsfMch(1q5YP7$_xBVCKnMgqkT!rhY z28d#rX)To5JI$Fa94XSkE?h0-ap59%zgema)BZm1pJa*Xt6ZP3qm!=^aRPAul&N3z zh()3wWn2Kd?_~nO&W5m;{^_G9;Vt8R1K{XVhIdTqjmE_$PP^^@a2DZx*rmqsEyp91 zukQf8_hCm1c|nI|UOoq9J}*^P@C43s;2d5!Fl+L320s_aESJUyy5>UrJoD4c_z5%7 zi9aZlu{a}et`nnL;483I2RgNa0`pLbd!Q9x-WkfJQ@sw;Do6-G^7Nx2x$-kZ1Sy6U zsYK*6P=KMpRbvkwPK=AJo#Ui^I61h60*;?=#v|b$XUbQ?KC<^|T4r)cWBI~~1PqkrbBnmr9idy+MZCw6dxVTP0D(G&Y7Tk$i zwWqMGJm>)9(-^Hqn#3lP=O2yVO^*vW&X~0}!*OU&p~5dR>NSi`9?xK00FGxsDr8i} zrTH;n67ol(^TJ8k+dJUc`Vbr?bvMC_#xiA*$+!O%hSJkv&?vkxOj#nruxN&1lJQ)k z-U>r3LDh)D)2voeY@ong%<;d>DINmV1c8dig60vg25-Hz2A|UUhyf*ZVUM`Nvru?> z8XJsQVK8(T?u#)qSt8@3-Yv!Hs(AHIAMI4UxVoZ3CS~s^k0n=lm`MNt literal 0 HcmV?d00001