From b2b86509ecaf6f42dbb58391a78753822f660bd1 Mon Sep 17 00:00:00 2001 From: huai zhu <138862916+riceshowerX@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:07:05 +0800 Subject: [PATCH 1/2] 1.3.0 --- app/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 139 bytes .../errors/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 151 bytes .../__pycache__/http_errors.cpython-312.pyc | Bin 0 -> 1492 bytes .../schemas/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 152 bytes .../__pycache__/request_schema.cpython-312.pyc | Bin 0 -> 2671 bytes .../__pycache__/response_schema.cpython-312.pyc | Bin 0 -> 3537 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 153 bytes .../mock_data_service.cpython-312.pyc | Bin 0 -> 2979 bytes .../utils/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 150 bytes .../utils/__pycache__/crypto.cpython-312.pyc | Bin 0 -> 1766 bytes .../__pycache__/request_helper.cpython-312.pyc | Bin 0 -> 5094 bytes run.py | 8 +------- ui/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 138 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 149 bytes .../__pycache__/progress_bar.cpython-312.pyc | Bin 0 -> 1163 bytes .../__pycache__/request_form.cpython-312.pyc | Bin 0 -> 1545 bytes ui/main_ui.py | 14 ++++++++++---- 17 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 app/__pycache__/__init__.cpython-312.pyc create mode 100644 app/core/errors/__pycache__/__init__.cpython-312.pyc create mode 100644 app/core/errors/__pycache__/http_errors.cpython-312.pyc create mode 100644 app/core/schemas/__pycache__/__init__.cpython-312.pyc create mode 100644 app/core/schemas/__pycache__/request_schema.cpython-312.pyc create mode 100644 app/core/schemas/__pycache__/response_schema.cpython-312.pyc create mode 100644 app/core/services/__pycache__/__init__.cpython-312.pyc create mode 100644 app/core/services/__pycache__/mock_data_service.cpython-312.pyc create mode 100644 app/core/utils/__pycache__/__init__.cpython-312.pyc create mode 100644 app/core/utils/__pycache__/crypto.cpython-312.pyc create mode 100644 app/core/utils/__pycache__/request_helper.cpython-312.pyc create mode 100644 ui/__pycache__/__init__.cpython-312.pyc create mode 100644 ui/components/__pycache__/__init__.cpython-312.pyc create mode 100644 ui/components/__pycache__/progress_bar.cpython-312.pyc create mode 100644 ui/components/__pycache__/request_form.cpython-312.pyc diff --git a/app/__pycache__/__init__.cpython-312.pyc b/app/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00c6197206376fbd651c2415c83d748bb4eb9f9c GIT binary patch literal 139 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVX}MU%q-U07lqSUl zmuIGxI0ks?I_Kx*r6!leBo-9J#K&jmWtPOp>lIY~;;_lhPbtkwwJTx;YGnlCVi4ma MGb1Bo5i^hl0GXH{5dZ)H literal 0 HcmV?d00001 diff --git a/app/core/errors/__pycache__/__init__.cpython-312.pyc b/app/core/errors/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e203679100935498c67998363621de3d007fcd2f GIT binary patch literal 151 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVnYmcSq-U07lqSUl zmuIGxI0ks?I_Kx*r6!leBo-9JBlIY~;;_lhPbtkw YwJTx;8p8<0#URE7%Q6rR~%+iCtv8-kLkizUMFpz>^JZK`MvqZ zzx4KI5YSIwyj^@lMd&Z7bje7B9Rk92L=eF~D&ZV1DLDm8UGdeDmeXQc_4SgGGh$iu z&77&A7ZA~x5iw|L18PgkrHM%ulA;F1G+k7l09#Qb>18dKS=8*z-!jNnMDL5|&!0VY z$)#oPg@G{7(Tf!taT|+$FU`C%eU3)uFo-DV`h@@@rd^rXB`pzlED)|EigK8soI-F; zB?{GuN_A+eK~rNYIk!7K8~vs2?I!yuq8&lk$&yc;r_r}D=~`8m$ZPDh?7FN&1oc!9?q zr@DW4!ila;wv7gXEupQEBiFRe)bQ5O=r!%*o*givY1@?fL7_w)M`RqQ6q1TB<$aEG zu~P68kLfrhbiu580T*h-8S8`eTZr|;!FnZ2b(sl5Gz@GR{iYpiX^KAf`N0gnO&&J^!QkoQ z{9%t;!#B}q#zs;ZBQ9?%rW)q)tC7k^(vKbHa@Lq?cwX+{5h5Dc2Ocqk>fx{SZj~9d zSA`fvBj&^2uhj)?rz&!V%@5X_-!DA~(dL)ScUL~Frjy5#wFI`R8Ef1+CDDoZ(l5F=~+)q8% zc~mFZ5pYPLMOk1i6=QrC9sN^&hJQzWZB55xE9o|Zqt(}oGwV;c5FB;AUi$gX#);Q{ MJ^p%I8sggj15_nT3-$Y$LjHqt>AvC$dCKE^LaHs5W2)UC-R3MVo)w zyGt!bF;v3=D5Ql{6tRh~ZKl zmfqXYXA$<{7VO8Zzu_Gyuj*4<0O`u`UEqoR!0R4|RRHhBZCTD?cR6;{1}JMEu=fLX zR6BMp0hg@dgE!EUJw&M>u+@&eO|SUZNB>_rxub;X{a{-`fIS=`sIiBSAMZMe|O_A?`>7@ZvNrc_MP`P?tQdXxe4RV z*X}vZFKfkuZ2S1(*hsv-M$?fKsut2koGn~(tOlpqUb(rw_;U*vFMyaF{>H~lx=sK#?A`G`qguT(TPi0eag5vG4``;M(pDw)Fm^{h)d1ndR~2A@fASyfA4dWV8FH=Ecjk_A93U%4dO&`B&y%dHq$> zb8r`Ypoh{xgb6DRhGB3E>CNC@b|womgEqr0)%BWRZ#> zBFQUygtUPZpxb9r%w8_dnj(+0d7eB09XSF*V~dAEBn%z(*U_pBg<0gLZPTD>;>0A&kjiTF~Nu>j9Kys6O1jwYL4t@ zf;~fog_W=yiF})h2#61mwJq!5gxx`wV0PL8p#C+q!}}!9&OQ{}Ulne5e=4oDpP4;V z8K{Y8)&m_2V~aWSgM ze>J)4f2<~!*Q3vW%A1Lwm>Kc_A%i>3Lzm$O_%9GTG04vjRbE`c)$c7zi|O0XEDIkz zyI5Ea^_d6yR`-2>we<&(Rnj2O)=HYsC)SQ!m>sMC+{6J#7B1NHqDUp3*c{3VJq8 z*dHb0VZsWl6^UN literal 0 HcmV?d00001 diff --git a/app/core/schemas/__pycache__/response_schema.cpython-312.pyc b/app/core/schemas/__pycache__/response_schema.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..da3000568dc1cb74776e4cd0313256a5e5e98632 GIT binary patch literal 3537 zcmZ`*ZBQG>8Qzn0`W6Bq8Ho?)iW%FgL8VST4b)AV+6H?PXkzR*kx8zHZUK?IlX`bb z3`0G*LsFc6;j|NI+G(NfOw8cM%}gdUj+trutIYI|G-5_@O{eM9g8Em$q<`|O@7_uB zL6n`j_xAREc5nCD=Y4no?(?}36wmKo9*(&X`VaXi7rIp0eF-Xah(|mnAd!kwq9tw- zt#PYpi`yvDZV_maj?;SGD%j(8XtN0p(HVD&uDDBd$K9eQ?xBzc^&+00M!X$6m#xP5 zaqqY_>bOrnqBhNTI+;*4=XcU-G9__>MqiYmqS>BKDr%I{oIIyuH7VkLz`DN8DY!4i zV}SJ}vA}DtS2!UFkd&-B&Z=tqqAVngzZlkD`q&+$$dWLMQ#^`WF2d5{Rtv&5-ojgX z+by~>IU3usgSVfAjwQe2mUG!+j1zZa7kFJJuiNBxV-NVf@c6JR0$qkJ4=wcbnEH8n zpXskP*bn}iir>%I@_v)Q7S|ag0;;Zp3h?!O(1Z$@P@xj4p08PkwUfdhm`2M+6~%+F zx_aJT@imxyAwE2f;sXT^8lzIW%kTX%M+Ihhj~Mdj3t!X{vYyGz)u zH$K>$y0*1&&5Tp=6}1f5{NwL8-}+(k_1B8;-Z5iFF~?(BDZ`3?c>ms?7dNlnHe;~B zr4`JVF`IKA+@E{@la-mRci#MD<@z3^1d~ciBNeFr*R8jww^rVQ$!#vIz>3Tr5-CZ= zlFF*%>B?G+sX`~F?_A#*X6wDX#ozo$?-a}Ufn0-~%8Ku=LR-|Ld3dZO{j5fY=ENn=`l~_B6im3u1iz9NxTK_c&CDfAVW-c*29{)y-J@XU&?LoEFE=72 zd)1P>LEsR~@EdgNc-k2NgXEltH-^6|B(^OOI>e5}z!Y3p<3_@=PXpj2j56*aZ!H=qQ`51U0(*sut%N2{xC(Y|`rADGC zWa1Xm~avk)M!^G&b zH~5rWph1h6R9zuPPw^A&Rap5#Gy{Vvtzdu_e_$4``CI1|FgiKCt1bD!rL6aoPLBKt zz!DV+!G{ALU1&ds3J492!Fzv!Rx5WUJIe&qwiw1I(R)23iySRt!o3}zi_isj*?ooKAWW65_I;7T_b zV6EwqLesHa)3Nnnc<$VdbL$OFbCWkF%dc?rZ+*Y?tv54;=8jx*$BxfY>)u8Vms@93 zbC&hKM|5OeIB_2Q-*344?)DIJK+TOeS zQ)U#dLsw$u^Oz~#zVqMr7K<~#D&GB2KaI;C_{% z^rQrqi4HZZqRN_`$0YO(DOQxJ`P7uk39JH6iB~l12v(yOnH(PS5iq4}YG~9yET=@4 zQ&l-Rlu@xV(ON~T`!JnkkgH&((2g6`)~|<|LbyE_ZvUvY{pRzxUtD@|<G^!o1gC0J=}quEGuy$W?9Y6vSNzQ2&C?1+3#gIq2zI} zET2lStV~2`P-;y|s^(`|PLhBwauZg-uLt>;2}tLYM1@T5=rY-NJ@7SpSV(cIK{|;P zBMA^4%Lj=eIZ!5Xt$7jxrzj#;M^n5;>*COyWevzNfGi-gxoH{*oC~rHt(Rt!eiEQul zYn?Al_0C+FJv5t{A6RHxP!^-}FXbBAvw`-UuOn}JVI$Ny|7f=T)at-m=vjbX%-f#b zICyBGH{11G_PZl%2S=yQ&Wz3~*TuYTbffjiOSrccCEdb9M3R0|Zsl zxo(Fv8gvj6qCU+IaR4_!S>FYn>W5oFIFi2(Msudec}`N337O<}V~6$K@Q_cP)GksZ zhmKD4XU>y`OdglXg`H#@=Oh0^@X`nQ EKPt$!;{X5v literal 0 HcmV?d00001 diff --git a/app/core/services/__pycache__/__init__.cpython-312.pyc b/app/core/services/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ac6b912edf50e94c857f23f9c8cd7aa457bd5dac GIT binary patch literal 153 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVS-4omq-U07lqSUl zmuIGxI0ks?I_Kx*r6!leBo-9JB!LHbmBG|0gw{znjf28qp%AjXmn~hI#QR>> zrNmK2!B*6@pk^SG3_sXXm4M)vZAd@+C8Z3@TR#YP(|wDrFsxrZ=e^f7&1x0V8*=VF z_s_Za{C?-2`@Z*hTm;JM?aQ&>MM8c;WvvKyW90-i@*2M(HF)D;4Q?E0133O+b?gZV1dW=(C(5}zc`#gsC%~bSq zPehOOsq9KTsz&XjnkT_F5C4^8=0S2aN5bX+iX0ihv6?bt>y%{4G!25Ab;^ZsI-*}P zoQYIK2`jJ{I4#$&mJsck1UE`L2ZKMu&+y-KVEbQ7hCcN)nklZ&K z#vATSyH}u_L@7$UIG{EGxC@OuaT2{U3hq}!WiL?Z8rR3kJ5+}VvdREjswp`-V_O4Q z*Eok5!rz(|fRSq_M~OyxTTheN)X@@?JS59QWgZK zyx6p3Ldhp46NT>iro&}IJ^rb{;(=$rXt~`ob@cPS6T(LgPk88kf+RfmVKY4+Xh74 z5BfJC;DNz#CHRNiYQuTM@NQha3&aTd(Yx)&wef2|cn{2Z4;0$xy@yKDA=Ut6063(; zs7*L@5Q1sK^eG38Ji$D>nO9c`^Xip#3eC|^Azj?!*V4#!n&UQKnWHDcGK^Ic5~y~W zv1`oOK0dg*9bJ_1jPekqV;P8$JBOP(OZ&Tu z-Noaj6TPLj)AP+|O71fY`wor?n9wJ*IjMC$xtrMkE7a-#jruenWQV}LVRxsTOzCnA zGpiqP#7k*NXVmOEy6iB5u@TWs8ra$r(b^g9XvDg*h^Top=juBaoA;F3juzXCJBo=? zYxjI}Ps!c0HK5gRU?q&Ng841N`0oMTH2ib)m46Vz46{Ewg5n^0X?}(Z+4a3`)dL(=%d38l{DhVm(}OS@0Da^Pz{F-R~RmYl1X6O z9S*;pi6pEM=0Q*JDK#&b!D~8W0;MDDlePz>{sD155qz{| K86Gift3Lr%Cxlf1 literal 0 HcmV?d00001 diff --git a/app/core/utils/__pycache__/__init__.cpython-312.pyc b/app/core/utils/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9051094eb8305bf480414ad20fb0b4c3697b09dd GIT binary patch literal 150 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVnYviTq-U07lqSUl zmuIGxI0ks?I_Kx*r6!leBo-9JBu*uC&Da}c> XD`Ewj!U)90AjU^#Mn=XWW*`dyXFVgX literal 0 HcmV?d00001 diff --git a/app/core/utils/__pycache__/crypto.cpython-312.pyc b/app/core/utils/__pycache__/crypto.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d9739dddde7618e11d258a7afeeadc646d0e712 GIT binary patch literal 1766 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 MjfJ?&6~c`F4XFQCtN;K2 literal 0 HcmV?d00001 diff --git a/run.py b/run.py index 822a14a..51108ba 100644 --- a/run.py +++ b/run.py @@ -11,19 +11,13 @@ logging.basicConfig(level=logging.INFO) -# 定义全局变量 is_running -is_running = True - def signal_handler(sig, frame): logging.info("Stopping SwiftAPI-Connect...") - global is_running - is_running = False # 设置全局变量为 False,通知所有进程停止 exit(0) def run_process(target, name): """运行进程并监控其状态,如果进程退出则尝试重启""" - global is_running - while is_running: # 检查全局变量 + while True: try: process = Process(target=target) process.start() diff --git a/ui/__pycache__/__init__.cpython-312.pyc b/ui/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f5dc35e98ba4d3ada6f07e34dc3007755ffbb7d8 GIT binary patch literal 138 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVX}Va&q-U07lqSUl zmuIGxI0ks?I_Kx*r6!lelxD`n$7kkcmc+;F6;%G>u*uC&Da}c>D`ExeWCY@35aS~= LBO_xGGmr%UbCVve literal 0 HcmV?d00001 diff --git a/ui/components/__pycache__/__init__.cpython-312.pyc b/ui/components/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9abebc71c4133724ef38d410de16ab6805319991 GIT binary patch literal 149 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVnYdWRq-U07lqSUl zmuIGxI0ks?I_Kx*r6!lelxD^x=jRsW=cVSA6vxEJXXa&=#K-FuRQ}?y$<0qG%}KQ@ WVg(w)2*kx8#z$sGM#ds$APWFM7$aH$ literal 0 HcmV?d00001 diff --git a/ui/components/__pycache__/progress_bar.cpython-312.pyc b/ui/components/__pycache__/progress_bar.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a77c6e664f8eef01b6387a733bb6bb484dd93dc3 GIT binary patch literal 1163 zcmZ8gUrbY182`>a_mltVi7CC8Qfzzcxwol} z#US964aB8RI#3f9G^jDr#6*U&24DBWG84C}4=(h!B5lrP3o|18(UR=krMCCg`1g578)((Ev><@*toV_c0|F zlY^Q+5%vd_Xk3ZOF-`Tyi4r2Rs-El$kUjC#n!P0wh;~VVR$`}#Y;>ut`13%R97L2@ zV8;#8wNgX1-vXlLXdmspR?C(*?HTDV8oE3v0%}M+z zKL9}~tcjLmuX*j(uEHh3iW&q7pQU-PapU+0L7-KR9N7jMyFC-zfqc=2*VWD1`~(u0 z#*=VkT_q=I);@d=r*MTQQ4-GJ6Ocp)U}WEYoJ3w*;yO)J$o^5Bo-5@hjk()}8&m&3 z9m&tlpU)W=MwhcsjH#RX*(b%hTyf^7rTzhj!$aXCA+_0* z*e)b%C#@%I_T*>#^Rsu2$(yAIgOyzLfKu)%)fn>`V|cWX8O_gMFHQ_qD)8)V+Wloy zlXs7qkFY07)KgNr{MZ<~R`D^WAC?~7YW8#xc1NL!Um1Qs>b2>ds_Ay?a9#ZROi+$% zVI`&uG9e1ls{(2&77Q!8phjdl?&Wpo`f_!r70YIgRMYG_l2vvJ>x@(}MXlPSBtLd& zI&PwRa}L?8mEdhZtU96IJ%0G-!`aiB*8cBaJ6vUs7wi6Q+?F|aslDs~vEhY%%U|{_ z*`DY29j~i5T~U8L`j4|V?`jx}4o9=c{&sm@*gcDOPkA#`Z+yFIgPP56fD`LpIbCDz z!|jWWyJmbd`xYDaK6f^~a@M{p3)Hw)t^;xFntF)VG0@m%Llad#H%#rN(n1YttXK0Jo4?Jx p68a;fij;`Rt;9{O>;tJxC}V`s61ZQ2>m^kG=iR>w^=PXZ_a42OKC1u# literal 0 HcmV?d00001 diff --git a/ui/components/__pycache__/request_form.cpython-312.pyc b/ui/components/__pycache__/request_form.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aba881515efcfe4edf46f5ccefaaf9ba987f2432 GIT binary patch literal 1545 zcmbVLO=ufO7@gVGYJVgp&L;AonpQ!riD(n*G;NdMh6;<)G>wVswveD!DAL+pN4rw@ zro5PJ%Uph#-a*&T5dodq--U+VhN~sD32g>ZCemcuWn-#L z+;Pu0Gm9>bb~uL1QH_ExW&tQtEy|3OwLPb4CqIrVExL=e;oeb?-K}i~Ms^L1L8V=n zP=wsDWtRcb%o)@SD3fG=*IVZmI(+)y#{TCNt?fRc_Kn{Ws=mjbqB_KG5P7h^f^5i)%3ZGm5@Wtx} z(rE02cMa(H_=0~;eE0W_s_xsyC|v!1Lcy(E#dpQ>C2~n6DXEE6R+qIfX|a+hC%#E$ zbis0|nvk=|i$Y-)6LfsoP0e5MF#;Ax>?!9*A;cw5Iu8^p_>V+q~wgeWVxvhc${ zSAJVrxc7MOUYNEBRkIi&pG(SVL9x8DE?p3mged29&7zc~JStZ~Wm2z2GkTo@~2w&@hswIZ9 zigY+vu()ACYxY-p33UR$F7*`Z`xvPEc8`6q%z7pQ*8HX1jYmtb*7x|=0qNthpfoAfI}VgGvj;1^mDt={mDehHbKkLAcg?#L zSxPPqnkQpenJB;u?wfNyWGJG*cBZu)kzFPZyJ)cR_N&9gD{lR-1~srmkANT7=^ zQMSN32io@5Uk;VrCG|(oN*h1LO>)yC)A34Y^*}XpH&peT@0>ORAOG2QW_>?)u*qWg zYdyfrkDb{J;39DKTbs-_^tYsJsrW_CM3|_T{5{muf0SNiIfNJY_Cx`_c>GO-?;oZ5 z-}Br*P9yvPP*K+NfU>cdini1E#;cklB&Cd~DITO|pVS=KKoBSa^xIw Z3h}d1@snC3A%u@W`-aO8dF2(f@*n?sfw=$x literal 0 HcmV?d00001 diff --git a/ui/main_ui.py b/ui/main_ui.py index 78397ca..719575c 100644 --- a/ui/main_ui.py +++ b/ui/main_ui.py @@ -14,6 +14,8 @@ from cryptography.fernet import Fernet from apscheduler.schedulers.asyncio import AsyncIOScheduler from apscheduler.jobstores.memory import MemoryJobStore +import signal +import os from ui.components.request_form import get_params from ui.components.progress_bar import show_progress_bar @@ -307,11 +309,15 @@ def run_ui(): st.error(f"请求参数错误: {e}") except Exception as e: st.error(f"请求失败: {str(e)}") - # 添加关闭项目按钮 + # 添加关闭项目按钮 if st.button("关闭项目"): - # 这里需要设置一个全局变量,用于通知其他进程退出 - global is_running - is_running = False + try: + # 获取 run.py 的进程 ID + run_py_pid = os.getppid() + # 向 run.py 进程发送 SIGINT 信号 + os.kill(run_py_pid, signal.SIGINT) + except Exception as e: + st.error(f"关闭项目失败: {str(e)}") if __name__ == "__main__": run_ui() \ No newline at end of file From fb987066c95168fc10d5ec037afd2453d1fa30bd Mon Sep 17 00:00:00 2001 From: huai zhu <138862916+riceshowerX@users.noreply.github.com> Date: Fri, 14 Jun 2024 14:09:12 +0800 Subject: [PATCH 2/2] 1.3.0 --- app/__pycache__/__init__.cpython-312.pyc | Bin 139 -> 0 bytes .../errors/__pycache__/__init__.cpython-312.pyc | Bin 151 -> 0 bytes .../__pycache__/http_errors.cpython-312.pyc | Bin 1492 -> 0 bytes .../schemas/__pycache__/__init__.cpython-312.pyc | Bin 152 -> 0 bytes .../__pycache__/request_schema.cpython-312.pyc | Bin 2671 -> 0 bytes .../__pycache__/response_schema.cpython-312.pyc | Bin 3537 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 153 -> 0 bytes .../mock_data_service.cpython-312.pyc | Bin 2979 -> 0 bytes .../utils/__pycache__/__init__.cpython-312.pyc | Bin 150 -> 0 bytes .../utils/__pycache__/crypto.cpython-312.pyc | Bin 1766 -> 0 bytes .../__pycache__/request_helper.cpython-312.pyc | Bin 5094 -> 0 bytes ui/__pycache__/__init__.cpython-312.pyc | Bin 138 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 149 -> 0 bytes .../__pycache__/progress_bar.cpython-312.pyc | Bin 1163 -> 0 bytes .../__pycache__/request_form.cpython-312.pyc | Bin 1545 -> 0 bytes 15 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/__pycache__/__init__.cpython-312.pyc delete mode 100644 app/core/errors/__pycache__/__init__.cpython-312.pyc delete mode 100644 app/core/errors/__pycache__/http_errors.cpython-312.pyc delete mode 100644 app/core/schemas/__pycache__/__init__.cpython-312.pyc delete mode 100644 app/core/schemas/__pycache__/request_schema.cpython-312.pyc delete mode 100644 app/core/schemas/__pycache__/response_schema.cpython-312.pyc delete mode 100644 app/core/services/__pycache__/__init__.cpython-312.pyc delete mode 100644 app/core/services/__pycache__/mock_data_service.cpython-312.pyc delete mode 100644 app/core/utils/__pycache__/__init__.cpython-312.pyc delete mode 100644 app/core/utils/__pycache__/crypto.cpython-312.pyc delete mode 100644 app/core/utils/__pycache__/request_helper.cpython-312.pyc delete mode 100644 ui/__pycache__/__init__.cpython-312.pyc delete mode 100644 ui/components/__pycache__/__init__.cpython-312.pyc delete mode 100644 ui/components/__pycache__/progress_bar.cpython-312.pyc delete mode 100644 ui/components/__pycache__/request_form.cpython-312.pyc diff --git a/app/__pycache__/__init__.cpython-312.pyc b/app/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 00c6197206376fbd651c2415c83d748bb4eb9f9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVX}MU%q-U07lqSUl zmuIGxI0ks?I_Kx*r6!leBo-9J#K&jmWtPOp>lIY~;;_lhPbtkwwJTx;YGnlCVi4ma MGb1Bo5i^hl0GXH{5dZ)H diff --git a/app/core/errors/__pycache__/__init__.cpython-312.pyc b/app/core/errors/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index e203679100935498c67998363621de3d007fcd2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVnYmcSq-U07lqSUl zmuIGxI0ks?I_Kx*r6!leBo-9JBlIY~;;_lhPbtkw YwJTx;8p8<0#URE7%Q6rR~%+iCtv8-kLkizUMFpz>^JZK`MvqZ zzx4KI5YSIwyj^@lMd&Z7bje7B9Rk92L=eF~D&ZV1DLDm8UGdeDmeXQc_4SgGGh$iu z&77&A7ZA~x5iw|L18PgkrHM%ulA;F1G+k7l09#Qb>18dKS=8*z-!jNnMDL5|&!0VY z$)#oPg@G{7(Tf!taT|+$FU`C%eU3)uFo-DV`h@@@rd^rXB`pzlED)|EigK8soI-F; zB?{GuN_A+eK~rNYIk!7K8~vs2?I!yuq8&lk$&yc;r_r}D=~`8m$ZPDh?7FN&1oc!9?q zr@DW4!ila;wv7gXEupQEBiFRe)bQ5O=r!%*o*givY1@?fL7_w)M`RqQ6q1TB<$aEG zu~P68kLfrhbiu580T*h-8S8`eTZr|;!FnZ2b(sl5Gz@GR{iYpiX^KAf`N0gnO&&J^!QkoQ z{9%t;!#B}q#zs;ZBQ9?%rW)q)tC7k^(vKbHa@Lq?cwX+{5h5Dc2Ocqk>fx{SZj~9d zSA`fvBj&^2uhj)?rz&!V%@5X_-!DA~(dL)ScUL~Frjy5#wFI`R8Ef1+CDDoZ(l5F=~+)q8% zc~mFZ5pYPLMOk1i6=QrC9sN^&hJQzWZB55xE9o|Zqt(}oGwV;c5FB;AUi$gX#);Q{ MJ^p%I8sggj15_nT3-$Y$LjHqt>AvC$dCKE^LaHs5W2)UC-R3MVo)w zyGt!bF;v3=D5Ql{6tRh~ZKl zmfqXYXA$<{7VO8Zzu_Gyuj*4<0O`u`UEqoR!0R4|RRHhBZCTD?cR6;{1}JMEu=fLX zR6BMp0hg@dgE!EUJw&M>u+@&eO|SUZNB>_rxub;X{a{-`fIS=`sIiBSAMZMe|O_A?`>7@ZvNrc_MP`P?tQdXxe4RV z*X}vZFKfkuZ2S1(*hsv-M$?fKsut2koGn~(tOlpqUb(rw_;U*vFMyaF{>H~lx=sK#?A`G`qguT(TPi0eag5vG4``;M(pDw)Fm^{h)d1ndR~2A@fASyfA4dWV8FH=Ecjk_A93U%4dO&`B&y%dHq$> zb8r`Ypoh{xgb6DRhGB3E>CNC@b|womgEqr0)%BWRZ#> zBFQUygtUPZpxb9r%w8_dnj(+0d7eB09XSF*V~dAEBn%z(*U_pBg<0gLZPTD>;>0A&kjiTF~Nu>j9Kys6O1jwYL4t@ zf;~fog_W=yiF})h2#61mwJq!5gxx`wV0PL8p#C+q!}}!9&OQ{}Ulne5e=4oDpP4;V z8K{Y8)&m_2V~aWSgM ze>J)4f2<~!*Q3vW%A1Lwm>Kc_A%i>3Lzm$O_%9GTG04vjRbE`c)$c7zi|O0XEDIkz zyI5Ea^_d6yR`-2>we<&(Rnj2O)=HYsC)SQ!m>sMC+{6J#7B1NHqDUp3*c{3VJq8 z*dHb0VZsWl6^UN diff --git a/app/core/schemas/__pycache__/response_schema.cpython-312.pyc b/app/core/schemas/__pycache__/response_schema.cpython-312.pyc deleted file mode 100644 index da3000568dc1cb74776e4cd0313256a5e5e98632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3537 zcmZ`*ZBQG>8Qzn0`W6Bq8Ho?)iW%FgL8VST4b)AV+6H?PXkzR*kx8zHZUK?IlX`bb z3`0G*LsFc6;j|NI+G(NfOw8cM%}gdUj+trutIYI|G-5_@O{eM9g8Em$q<`|O@7_uB zL6n`j_xAREc5nCD=Y4no?(?}36wmKo9*(&X`VaXi7rIp0eF-Xah(|mnAd!kwq9tw- zt#PYpi`yvDZV_maj?;SGD%j(8XtN0p(HVD&uDDBd$K9eQ?xBzc^&+00M!X$6m#xP5 zaqqY_>bOrnqBhNTI+;*4=XcU-G9__>MqiYmqS>BKDr%I{oIIyuH7VkLz`DN8DY!4i zV}SJ}vA}DtS2!UFkd&-B&Z=tqqAVngzZlkD`q&+$$dWLMQ#^`WF2d5{Rtv&5-ojgX z+by~>IU3usgSVfAjwQe2mUG!+j1zZa7kFJJuiNBxV-NVf@c6JR0$qkJ4=wcbnEH8n zpXskP*bn}iir>%I@_v)Q7S|ag0;;Zp3h?!O(1Z$@P@xj4p08PkwUfdhm`2M+6~%+F zx_aJT@imxyAwE2f;sXT^8lzIW%kTX%M+Ihhj~Mdj3t!X{vYyGz)u zH$K>$y0*1&&5Tp=6}1f5{NwL8-}+(k_1B8;-Z5iFF~?(BDZ`3?c>ms?7dNlnHe;~B zr4`JVF`IKA+@E{@la-mRci#MD<@z3^1d~ciBNeFr*R8jww^rVQ$!#vIz>3Tr5-CZ= zlFF*%>B?G+sX`~F?_A#*X6wDX#ozo$?-a}Ufn0-~%8Ku=LR-|Ld3dZO{j5fY=ENn=`l~_B6im3u1iz9NxTK_c&CDfAVW-c*29{)y-J@XU&?LoEFE=72 zd)1P>LEsR~@EdgNc-k2NgXEltH-^6|B(^OOI>e5}z!Y3p<3_@=PXpj2j56*aZ!H=qQ`51U0(*sut%N2{xC(Y|`rADGC zWa1Xm~avk)M!^G&b zH~5rWph1h6R9zuPPw^A&Rap5#Gy{Vvtzdu_e_$4``CI1|FgiKCt1bD!rL6aoPLBKt zz!DV+!G{ALU1&ds3J492!Fzv!Rx5WUJIe&qwiw1I(R)23iySRt!o3}zi_isj*?ooKAWW65_I;7T_b zV6EwqLesHa)3Nnnc<$VdbL$OFbCWkF%dc?rZ+*Y?tv54;=8jx*$BxfY>)u8Vms@93 zbC&hKM|5OeIB_2Q-*344?)DIJK+TOeS zQ)U#dLsw$u^Oz~#zVqMr7K<~#D&GB2KaI;C_{% z^rQrqi4HZZqRN_`$0YO(DOQxJ`P7uk39JH6iB~l12v(yOnH(PS5iq4}YG~9yET=@4 zQ&l-Rlu@xV(ON~T`!JnkkgH&((2g6`)~|<|LbyE_ZvUvY{pRzxUtD@|<G^!o1gC0J=}quEGuy$W?9Y6vSNzQ2&C?1+3#gIq2zI} zET2lStV~2`P-;y|s^(`|PLhBwauZg-uLt>;2}tLYM1@T5=rY-NJ@7SpSV(cIK{|;P zBMA^4%Lj=eIZ!5Xt$7jxrzj#;M^n5;>*COyWevzNfGi-gxoH{*oC~rHt(Rt!eiEQul zYn?Al_0C+FJv5t{A6RHxP!^-}FXbBAvw`-UuOn}JVI$Ny|7f=T)at-m=vjbX%-f#b zICyBGH{11G_PZl%2S=yQ&Wz3~*TuYTbffjiOSrccCEdb9M3R0|Zsl zxo(Fv8gvj6qCU+IaR4_!S>FYn>W5oFIFi2(Msudec}`N337O<}V~6$K@Q_cP)GksZ zhmKD4XU>y`OdglXg`H#@=Oh0^@X`nQ EKPt$!;{X5v diff --git a/app/core/services/__pycache__/__init__.cpython-312.pyc b/app/core/services/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index ac6b912edf50e94c857f23f9c8cd7aa457bd5dac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVS-4omq-U07lqSUl zmuIGxI0ks?I_Kx*r6!leBo-9JB!LHbmBG|0gw{znjf28qp%AjXmn~hI#QR>> zrNmK2!B*6@pk^SG3_sXXm4M)vZAd@+C8Z3@TR#YP(|wDrFsxrZ=e^f7&1x0V8*=VF z_s_Za{C?-2`@Z*hTm;JM?aQ&>MM8c;WvvKyW90-i@*2M(HF)D;4Q?E0133O+b?gZV1dW=(C(5}zc`#gsC%~bSq zPehOOsq9KTsz&XjnkT_F5C4^8=0S2aN5bX+iX0ihv6?bt>y%{4G!25Ab;^ZsI-*}P zoQYIK2`jJ{I4#$&mJsck1UE`L2ZKMu&+y-KVEbQ7hCcN)nklZ&K z#vATSyH}u_L@7$UIG{EGxC@OuaT2{U3hq}!WiL?Z8rR3kJ5+}VvdREjswp`-V_O4Q z*Eok5!rz(|fRSq_M~OyxTTheN)X@@?JS59QWgZK zyx6p3Ldhp46NT>iro&}IJ^rb{;(=$rXt~`ob@cPS6T(LgPk88kf+RfmVKY4+Xh74 z5BfJC;DNz#CHRNiYQuTM@NQha3&aTd(Yx)&wef2|cn{2Z4;0$xy@yKDA=Ut6063(; zs7*L@5Q1sK^eG38Ji$D>nO9c`^Xip#3eC|^Azj?!*V4#!n&UQKnWHDcGK^Ic5~y~W zv1`oOK0dg*9bJ_1jPekqV;P8$JBOP(OZ&Tu z-Noaj6TPLj)AP+|O71fY`wor?n9wJ*IjMC$xtrMkE7a-#jruenWQV}LVRxsTOzCnA zGpiqP#7k*NXVmOEy6iB5u@TWs8ra$r(b^g9XvDg*h^Top=juBaoA;F3juzXCJBo=? zYxjI}Ps!c0HK5gRU?q&Ng841N`0oMTH2ib)m46Vz46{Ewg5n^0X?}(Z+4a3`)dL(=%d38l{DhVm(}OS@0Da^Pz{F-R~RmYl1X6O z9S*;pi6pEM=0Q*JDK#&b!D~8W0;MDDlePz>{sD155qz{| K86Gift3Lr%Cxlf1 diff --git a/app/core/utils/__pycache__/__init__.cpython-312.pyc b/app/core/utils/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 9051094eb8305bf480414ad20fb0b4c3697b09dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVnYviTq-U07lqSUl zmuIGxI0ks?I_Kx*r6!leBo-9JBu*uC&Da}c> XD`Ewj!U)90AjU^#Mn=XWW*`dyXFVgX diff --git a/app/core/utils/__pycache__/crypto.cpython-312.pyc b/app/core/utils/__pycache__/crypto.cpython-312.pyc deleted file mode 100644 index 7d9739dddde7618e11d258a7afeeadc646d0e712..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1766 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 MjfJ?&6~c`F4XFQCtN;K2 diff --git a/ui/__pycache__/__init__.cpython-312.pyc b/ui/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index f5dc35e98ba4d3ada6f07e34dc3007755ffbb7d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVX}Va&q-U07lqSUl zmuIGxI0ks?I_Kx*r6!lelxD`n$7kkcmc+;F6;%G>u*uC&Da}c>D`ExeWCY@35aS~= LBO_xGGmr%UbCVve diff --git a/ui/components/__pycache__/__init__.cpython-312.pyc b/ui/components/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index 9abebc71c4133724ef38d410de16ab6805319991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmX@j%ge<81j;#yX(0MBh(HIQS%4zb87dhx8U0o=6fpsLpFwJVnYdWRq-U07lqSUl zmuIGxI0ks?I_Kx*r6!lelxD^x=jRsW=cVSA6vxEJXXa&=#K-FuRQ}?y$<0qG%}KQ@ WVg(w)2*kx8#z$sGM#ds$APWFM7$aH$ diff --git a/ui/components/__pycache__/progress_bar.cpython-312.pyc b/ui/components/__pycache__/progress_bar.cpython-312.pyc deleted file mode 100644 index a77c6e664f8eef01b6387a733bb6bb484dd93dc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1163 zcmZ8gUrbY182`>a_mltVi7CC8Qfzzcxwol} z#US964aB8RI#3f9G^jDr#6*U&24DBWG84C}4=(h!B5lrP3o|18(UR=krMCCg`1g578)((Ev><@*toV_c0|F zlY^Q+5%vd_Xk3ZOF-`Tyi4r2Rs-El$kUjC#n!P0wh;~VVR$`}#Y;>ut`13%R97L2@ zV8;#8wNgX1-vXlLXdmspR?C(*?HTDV8oE3v0%}M+z zKL9}~tcjLmuX*j(uEHh3iW&q7pQU-PapU+0L7-KR9N7jMyFC-zfqc=2*VWD1`~(u0 z#*=VkT_q=I);@d=r*MTQQ4-GJ6Ocp)U}WEYoJ3w*;yO)J$o^5Bo-5@hjk()}8&m&3 z9m&tlpU)W=MwhcsjH#RX*(b%hTyf^7rTzhj!$aXCA+_0* z*e)b%C#@%I_T*>#^Rsu2$(yAIgOyzLfKu)%)fn>`V|cWX8O_gMFHQ_qD)8)V+Wloy zlXs7qkFY07)KgNr{MZ<~R`D^WAC?~7YW8#xc1NL!Um1Qs>b2>ds_Ay?a9#ZROi+$% zVI`&uG9e1ls{(2&77Q!8phjdl?&Wpo`f_!r70YIgRMYG_l2vvJ>x@(}MXlPSBtLd& zI&PwRa}L?8mEdhZtU96IJ%0G-!`aiB*8cBaJ6vUs7wi6Q+?F|aslDs~vEhY%%U|{_ z*`DY29j~i5T~U8L`j4|V?`jx}4o9=c{&sm@*gcDOPkA#`Z+yFIgPP56fD`LpIbCDz z!|jWWyJmbd`xYDaK6f^~a@M{p3)Hw)t^;xFntF)VG0@m%Llad#H%#rN(n1YttXK0Jo4?Jx p68a;fij;`Rt;9{O>;tJxC}V`s61ZQ2>m^kG=iR>w^=PXZ_a42OKC1u# diff --git a/ui/components/__pycache__/request_form.cpython-312.pyc b/ui/components/__pycache__/request_form.cpython-312.pyc deleted file mode 100644 index aba881515efcfe4edf46f5ccefaaf9ba987f2432..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1545 zcmbVLO=ufO7@gVGYJVgp&L;AonpQ!riD(n*G;NdMh6;<)G>wVswveD!DAL+pN4rw@ zro5PJ%Uph#-a*&T5dodq--U+VhN~sD32g>ZCemcuWn-#L z+;Pu0Gm9>bb~uL1QH_ExW&tQtEy|3OwLPb4CqIrVExL=e;oeb?-K}i~Ms^L1L8V=n zP=wsDWtRcb%o)@SD3fG=*IVZmI(+)y#{TCNt?fRc_Kn{Ws=mjbqB_KG5P7h^f^5i)%3ZGm5@Wtx} z(rE02cMa(H_=0~;eE0W_s_xsyC|v!1Lcy(E#dpQ>C2~n6DXEE6R+qIfX|a+hC%#E$ zbis0|nvk=|i$Y-)6LfsoP0e5MF#;Ax>?!9*A;cw5Iu8^p_>V+q~wgeWVxvhc${ zSAJVrxc7MOUYNEBRkIi&pG(SVL9x8DE?p3mged29&7zc~JStZ~Wm2z2GkTo@~2w&@hswIZ9 zigY+vu()ACYxY-p33UR$F7*`Z`xvPEc8`6q%z7pQ*8HX1jYmtb*7x|=0qNthpfoAfI}VgGvj;1^mDt={mDehHbKkLAcg?#L zSxPPqnkQpenJB;u?wfNyWGJG*cBZu)kzFPZyJ)cR_N&9gD{lR-1~srmkANT7=^ zQMSN32io@5Uk;VrCG|(oN*h1LO>)yC)A34Y^*}XpH&peT@0>ORAOG2QW_>?)u*qWg zYdyfrkDb{J;39DKTbs-_^tYsJsrW_CM3|_T{5{muf0SNiIfNJY_Cx`_c>GO-?;oZ5 z-}Br*P9yvPP*K+NfU>cdini1E#;cklB&Cd~DITO|pVS=KKoBSa^xIw Z3h}d1@snC3A%u@W`-aO8dF2(f@*n?sfw=$x