Files
Client-Billing-software/app/routes/__pycache__/main.cpython-314.pyc

133 lines
31 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
+
S<1A>i0~<00><00><00>^RIHtHtHtHtHtHtHt^RIH t H
t
H t H t ^RI HtHtHt^RIHtHt^RIt^RIHt^RIt^RIHt^RIt^RIHt^R IHt^R
IHt^R IH t ^R I!H"t"H#t#H$t$]!R ]%4t&]&PORRR.R7R4t(]&POR4] R44t)]&POR4] R44t*Rt+]&PORR.R7] R44t,Rt-]&PORR.R7] R44t.]&POR4] R44t/]&POR4] R 44t0]&POR!4] R"44t1]&POR#4] R$44t2]&POR%4] R&44t3R't4]&POR(R.R7] R)44t5]&POR*R.R7] R+44t6R0R,lt7^R-IHt^R IHt]&POR.RR.R7] R/44t8R#)1<>)<07> Blueprint<6E>render_template<74>request<73>redirect<63>url_for<6F>flash<73>jsonify)<04>
login_user<EFBFBD> logout_user<65>login_required<65> current_user)<03>func<6E>cast<73>Float)<02>Task<73>
WorkDetailN)<01>generate_password_hash)<01>LDAPUser)<01> current_app)<01>datetime)<01>db)<01>User)<03>Server<65>
Connection<EFBFBD>ALL<4C>mainz/login<69>GET<45>POST)<01>methodsc<00>r<00>\P'd\\R44#\P
R8Xd<>\P PRR4P4p\P PRR4pV'd V'g\RR4\R4#RV R 2p\R
R \R 7p\W2VR 7pVP4'd=\W /R7p\!V4\RV R2R4\\R44#\RR4\R4# \"dgpTR8XdJTR8XdC\RT/R7p\!T4\RT R2R4\\R44uRp?#\RR4Rp?LwRp?ii;i)zmain.dashboardr<00>username<6D><00>passwordz#Username and password are required.<2E>dangerz
login.htmlzuid=z,ou=users,dc=lcepl,dc=org<72> localhosti<74>)<02>port<72>get_info)<02>userr#)<03>dnr!<00>dataz Welcome, z! (LDAP)<29>successzInvalid LDAP credentials<6C>adminNz! (Local Login)z'LDAP unavailable and local login failed)r <00>is_authenticatedrrr<00>method<6F>form<72>get<65>striprrrrr<00>bindrr
<00> Exception)r!r#<00> ldap_user_dn<64>server<65>connr(<00>es <20>PC:\Users\Admin\Downloads\Software (3)\Software\client-billing\app\routes\main.py<70>loginr97sr<00><00><14>$<24>$<24>$<24><17><07> 0<>1<>2<>2<><0E>~<7E>~<7E><16><1F><1A><<3C><<3C>#<23>#<23>J<EFBFBD><02>3<>9<>9<>;<3B><08><1A><<3C><<3C>#<23>#<23>J<EFBFBD><02>3<><08><17>x<EFBFBD> <11>7<><18> B<>"<22><<3C>0<> 0<><1D>h<EFBFBD>Z<EFBFBD>'@<40>A<> <0C> K<01><1B>K<EFBFBD>c<EFBFBD>C<EFBFBD>@<40>F<EFBFBD><1D>f<EFBFBD>(<28>K<>D<EFBFBD><13>y<EFBFBD>y<EFBFBD>{<7B>{<7B><1F><<3C><12>L<><04><1A>4<EFBFBD> <20><15> <09>(<28><1A>8<EFBFBD>4<>i<EFBFBD>@<40><1F><07>(8<> 9<>:<3A>:<3A><15>0<>(<28>;<3B> <1B><<3C> (<28>(<28><><19> K<01><17>7<EFBFBD>"<22>x<EFBFBD>7<EFBFBD>':<3A><1F>4<EFBFBD>(<28><12>D<><04><1A>4<EFBFBD> <20><15> <09>(<28><1A>?<3F>;<3B>Y<EFBFBD>G<><1F><07>(8<> 9<>:<3A>:<3A><15>?<3F><18>J<>J<><4A> K<01>s,<00><A0E<00>- E<00> F6<03>A
F1<03>F6<03> F1<03>1F6z/logoutc<00>><00>\4\\R44#)z
main.login)r rr<00><00>r8<00>logoutr=`s<00><00><10>M<EFBFBD> <13>G<EFBFBD>L<EFBFBD>)<29> *<2A>*r<z /upload_excelc<00>N<00>\\PRR4\R4#)z Page LoadzUpload Excel page accessedz upload.html)<04> log_activityr r!rr;r<r8<00> upload_excelr@is"<00><00><11><1C>&<26>&<26> <0B>5Q<35>R<> <1A>=<3D> )<29>)r<c<00>x<00>VeVR8XdR#\\V4^4# \\3dR#i;i)Nr")<04>round<6E>float<61> TypeError<6F>
ValueError)<01>values&r8<00> to_2_decimalrG<00>s=<00><00><14> <10>=<3D>E<EFBFBD>R<EFBFBD>K<EFBFBD><17><14>U<EFBFBD>5<EFBFBD>\<5C>1<EFBFBD>%<25>%<25><> <15>z<EFBFBD> "<22><14><13><14>s<00> $<00>$<00>9<03>9z/uploadc<00><> <00>R\P9dR#\PR,pVPR8XdR#V'Ed<>\PP \ PR,VP4pVPV4\\PRRVP 24\P!V^ R\R7pR VPR+,R
VPR,,R VPR-,R VPR.,R VPR/,RVPR0,RVPR1,RVPR2,RVPR3,RVPR4,RVPR5,/ pVP!4UUu/uF&wrET\P"!V4'dRMTbK( ppp\%R6/VBp\&P(P+V4\P!V^
R7pVP-\.4P1\P2!V4R4p.R7OpVP4^,\7V48XdW<>nMVRVP4^,VnRp Rp
VP;4EF<>wr<>V R,'d\V R,4MRp V R,'d\V R,4MRpV'dTp T p
RpMT p\=R6/RVP?R4bR$VR,bR%VR,bRVbRV bRV R,bR\AV R,4bR\AV R,4bR\AV R,4bR\AV R,4bR\AV R,4bR\AV R,4bR\AV R,4bR\AV R,4bR \AV R ,4bR!\AV R!,4bR"\AV R",4bR&VbR'V'gT
MRbR#V R#,bp\&P(P+V4EK<> \&P(PC4\\PR(R)VP 24\E\GR*44#R#uuppi)8<>filez No file partr"zNo selected file<6C> UPLOAD_FOLDERz File UploadzUploaded file: N)<03>nrows<77>header<65>dtype<70> name_of_work<72>cover_agreement_no<6E>name_of_contractor<6F>name_of_tpi_agency<63>name_of_division<6F>name_of_village<67>block<63> scheme_id<69>date_of_billing<6E>measurement_book<6F>district)<01>skiprows<77> serial_number<65> task_name<6D>unit<69>qty<74>rate<74>
boq_amount<EFBFBD>previous_billed_qty<74>previous_billing_amount<6E>in_this_ra_bill_qty<74>in_this_ra_billing_amount<6E>cumulative_billed_qty<74>cumulative_billed_amount<6E> variation_qty<74>variation_amount<6E>remark<72>
block_name<EFBFBD> village_name<6D> parent_id<69>parent_task_namezDatabase Insertz%Inserted work details and tasks from zmain.display_tasks)r<00>)rmrm)<02>rm)<02>rm)<02>rm)<02>rm)<02>rm)<02>rm)<02>rm)<02> rm)<02>
rmr;)rZr[r\r]r^r_r`rarbrcrdrerfrgrh)$r<00>files<65>filename<6D>os<6F>path<74>joinr<00>config<69>saver?r r!<00>pd<70>
read_excel<EFBFBD>str<74>iloc<6F>items<6D>isnarr<00>session<6F>add<64>astype<70>object<63>where<72>notna<6E>shape<70>len<65>columns<6E>iterrowsrr0rG<00>commitrr)rI<00>filepath<74>work_details_data<74>work_details_dict<63>k<>v<> work_detailr*<00>expected_columns<6E>current_main_task_serial<61>current_main_task_name<6D>_<>rowr[rZrk<00>tasks r8<00>uploadr<64><00>sa<00><00><0E>W<EFBFBD>]<5D>]<5D>"<22><1D> <12>=<3D>=<3D><16> <20>D<EFBFBD> <0B>}<7D>}<7D><02><1A>!<21> <0B>t<EFBFBD><15>7<EFBFBD>7<EFBFBD><<3C><<3C> <0B> 2<> 2<>?<3F> C<>T<EFBFBD>]<5D>]<5D>S<><08> <0C> <09> <09>(<28><1B><14>\<5C>*<2A>*<2A>M<EFBFBD>_<EFBFBD>T<EFBFBD>]<5D>]<5D>O<EFBFBD>;\<5C>]<5D><1F>M<EFBFBD>M<EFBFBD>(<28>"<22>T<EFBFBD>QT<51>U<><19> <1A>-<2D>2<>2<>4<EFBFBD>8<> <20>"3<>"8<>"8<><14>"><3E> <20>"3<>"8<>"8<><14>"><3E> <20>"3<>"8<>"8<><14>"><3E> <1E> 1<> 6<> 6<>t<EFBFBD> <<3C> <1D>0<>5<>5<>d<EFBFBD>;<3B> <13>&<26>+<2B>+<2B>D<EFBFBD>1<> <17>*<2A>/<2F>/<2F><04>5<> <1D>0<>5<>5<>d<EFBFBD>;<3B> <1E> 1<> 6<> 6<>t<EFBFBD> <<3C> <16>)<29>.<2E>.<2E>u<EFBFBD>5<> 
<EFBFBD><19>IZ<01>H_<48>H_<48>Ha<48>b<>Ha<48><04><01>Q<EFBFBD><12><17><17><11><1A><1A><14><11>:<3A>Ha<48><19>b<> <20>5<>#4<>5<> <0B>
<EFBFBD>
<EFBFBD>
<EFBFBD><0E><0E>{<7B>#<23><12>}<7D>}<7D>X<EFBFBD><02>3<><04><14>{<7B>{<7B>6<EFBFBD>"<22>(<28>(<28><12><18><18>$<24><1E><14>><3E><04>
<EFBFBD><18> <10>:<3A>:<3A>a<EFBFBD>=<3D>C<EFBFBD> 0<>1<> 1<>+<2B>L<EFBFBD>+<2B>N<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>]<5D>;<3B>D<EFBFBD>L<EFBFBD>#'<27> <20>!%<25><1E><1A>m<EFBFBD>m<EFBFBD>o<EFBFBD>F<EFBFBD>A<EFBFBD>14<31>[<5B>1A<31>1A<31><03>C<EFBFBD> <0B>,<2C>-<2D>r<EFBFBD>I<EFBFBD>9<<3C>_<EFBFBD>9M<39>9M<39>C<EFBFBD><03>O<EFBFBD> 4<>5<>SW<53>M<EFBFBD><1C>+8<>(<28>)2<>&<26> <20> <09>4<> <09><17><0E>*<2A>.<2E>.<2E>z<EFBFBD>:<3A><0E>,<2C>W<EFBFBD>5<><0E>/<2F>/@<40>A<><0E>,<2C> <0E>
$<24> <0E> <19><16>[<5B> <0E>!<21><13>U<EFBFBD><1A>,<2C><0E>"<22>#<23>f<EFBFBD>+<2B>.<2E><0E>(<28><03>L<EFBFBD>(9<>:<3A><0E>%1<><13>5J<35>1K<31>$L<><0E>)5<>S<EFBFBD>9R<39>5S<35>(T<><0E>%1<><13>5J<35>1K<31>$L<><0E>+7<>s<EFBFBD>;V<>7W<37>*X<><0E>'3<>3<EFBFBD>7N<37>3O<33>&P<><0E>*6<>c<EFBFBD>:T<>6U<36>)V<><0E> +<2B>3<EFBFBD><EFBFBD>+?<3F>@<40>!<0E>"".<2E>c<EFBFBD>2D<32>.E<>!F<>#<0E>$$<24>%<0E>&@M<01>!7<>RV<52><56>'<0E>(<1B>8<EFBFBD>}<7D>)<0E>D<EFBFBD>, <0F>J<EFBFBD>J<EFBFBD>N<EFBFBD>N<EFBFBD>4<EFBFBD> <20>E&<26>H <0B>
<EFBFBD>
<EFBFBD><19><19><1B><14>\<5C>*<2A>*<2A>,=<3D>Af<41>gk<67>gt<67>gt<67>fu<66>?v<>w<><17><07> 4<>5<>6<>6<>w <0C><>.cs<00>,Sc<00><><00>\VP;'g^4p\VP;'g^4p\VP;'g^4p\VP;'g^4p\ W1,^4Vn\ WA,^4Vn\ W4,^4Vn\ VPV,^4Vn VPV8<>d$\ VPV,
^4Vn
M^Vn
\ VPV,^4Vn R#)rN) rCr^r]r`rbrBrarcrdrerfrg)r<>r^r]<00>prev_qty<74>ra_qtys& r8<00> recalc_taskr<6B>es<><00><00> <10><14><19><19><1E><1E>a<EFBFBD> <20>D<EFBFBD>
<0F><04><08><08> <0A> <0A>A<EFBFBD>
<1E>C<EFBFBD><14>T<EFBFBD>-<2D>-<2D>2<>2<><11>3<>H<EFBFBD> <12>4<EFBFBD>+<2B>+<2B>0<>0<>q<EFBFBD> 1<>F<EFBFBD>$)<29><18><1F>!<21>#<<3C>D<EFBFBD> <20>&+<2B>6<EFBFBD>=<3D>!<21>%<<3C>D<EFBFBD>"<22>"'<27>x<EFBFBD>'8<>!<21>!<<3C>D<EFBFBD><1E>%*<2A>$<24>*D<>*D<>t<EFBFBD>*K<>Q<EFBFBD>$O<>D<EFBFBD>!<21> <0C>!<21>!<21>C<EFBFBD>'<27>"<22>4<EFBFBD>#=<3D>#=<3D><03>#C<>Q<EFBFBD>G<><04><1A><1E><04><1A>"<22>$<24>"4<>"4<>t<EFBFBD>";<3B>Q<EFBFBD>?<3F>D<EFBFBD>r<z /update_tasksc <00><><00>\P!4p^p.ROpVP4EFwr4RV9dKVPR^4wrVVP 4'gK;\ V4p\ PP\4PVR7P4pV'gK<>WR9dK<>\W<>R4p \V 4\V48wgK<>\W<>V4\V4V^, p\!\"P$RRVP& RV RV 24EK V^8<>dN\ PP)4\!\"P$RV R 24\+R
R V R 2/4#\+R
R /4# \,dAp
\!\"P$RR\T
4 24\+RR/4R3uRp
?
#Rp
?
ii;i)rr<>)<01>idNz Task UpdatezTask ID z - z changed to zDatabase Commitz task field(s) updated<65>messagezcount: z field(s) updated.zNo fields were updated.<2E>ErrorzUpdate tasks error: <20>errorz'An error occurred while updating tasks.i<>)rarcrdrerfrg)r<00>get_jsonr<6E><00>rsplit<69>isdigit<69>intrr<><00>queryr<00> filter_by<62>first<73>getattrr<72><00>setattrr<72>r?r r!r<>r<>r r3) <0B>updates<65> update_count<6E>formula_fields<64>key<65> new_value<75>
field_name<EFBFBD> task_id_str<74>task_idr<64><00> current_valuer7s r8<00> update_tasksr<73><00>s<><00><00>;R<01><19>"<22>"<22>$<24><07><18> <0C>
<EFBFBD><0E>&<26>m<EFBFBD>m<EFBFBD>o<EFBFBD>N<EFBFBD>C<EFBFBD><12>#<23>~<7E><18>&)<29>j<EFBFBD>j<EFBFBD><13>a<EFBFBD>&8<> #<23>J<EFBFBD><1E>&<26>&<26>(<28>(<28><18><19>+<2B>&<26>G<EFBFBD><15>:<3A>:<3A>#<23>#<23>D<EFBFBD>)<29>3<>3<>w<EFBFBD>3<>?<3F>E<>E<>G<>D<EFBFBD><13>t<EFBFBD><1E>/<2F><1C> '<27><04>$<24> ?<3F> <0A><16>}<7D>%<25><13>Y<EFBFBD><1E>7<><1B>D<EFBFBD>i<EFBFBD>8<> <20><04>%<25> <20>A<EFBFBD>%<25>L<EFBFBD> <20>$<24>-<2D>-<2D>%<25>"<22>4<EFBFBD>7<EFBFBD>7<EFBFBD>)<29>3<EFBFBD>z<EFBFBD>l<EFBFBD>,<2C>y<EFBFBD>k<EFBFBD>R<><16>5.<2E>@ <18>!<21> <1B> <0E>J<EFBFBD>J<EFBFBD> <1D> <1D> <1F> <18><1C>%<25>%<25>!<21><1F>.<2E> 6<>7<> <0E>
<1B>I<EFBFBD><17><1C><0E>>P<>'Q<>R<>S<> S<><1A>I<EFBFBD>'@<40>A<>B<> B<><42> <14>R<01><14>\<5C>*<2A>*<2A>G<EFBFBD>7K<37>C<EFBFBD>PQ<50>F<EFBFBD>8<EFBFBD>5T<35>U<><16><07>!J<>K<>L<>c<EFBFBD>Q<>Q<><51>R<01>s1<00>B7F!<00>>*F!<00>-B&F!<00> F!<00>! G,<03>,5G'<03>!G,<03>'G,z/tasksc<00><><00>\PP\PP 44P 4pV'g\ \PRR4R#\PPVPVPVPR7P\PP 44P4p.pRpVEF&p/RVPbRVP bRVP"bRVP$bRVP&bR VP(bR
VP*bR VP,bR VP.bR VP0bRVP2bRVP4bRVP6bRVP8bRVP:bRVPbpVP<'d.VR&VP?V4TpEKV'gEKVR,P?V4EK) \ \PRRVP RVP 24\ARWR7#)z
Tasks ViewzNo work details available)rXrjriNr<4E>r[r\r]r^r_r`rarbrcrdrerfrgrhrX<00>subtaskszDisplayed tasks for z, ztasks_display.html)<02> work_details<6C> grouped_tasks)zNo work details available.i<>)!rr<><00>order_by<62> uploaded_at<61>descr<63>r?r r!rr<>rXrSrT<00>allr<6C>r[r\r]r^r_r`rarbrcrdrerfrgrhrZ<00>appendr)r<><00>tasksr<73><00>current_main_taskr<6B><00> task_datas r8<00> display_tasksr<73><00>s_<00><00><1E>#<23>#<23>,<2C>,<2C>Z<EFBFBD>-C<>-C<>-H<>-H<>-J<>K<>Q<>Q<>S<>L<EFBFBD> <17><14>\<5C>*<2A>*<2A>L<EFBFBD>:U<>V<>0<>0<> <10>J<EFBFBD>J<EFBFBD> <20> <20><1D>&<26>&<26>!<21>1<>1<><1F>%<25>%<25> !<21> <06><0F>h<EFBFBD>t<EFBFBD><1F><1F>$<24>$<24>&<26>'<27><03><03><05> 
<EFBFBD> <17>M<EFBFBD><1C><15><15><04>
<EFBFBD> <10>$<24>'<27>'<27>
<EFBFBD> <17><14><1E><1E>
<EFBFBD> <13>D<EFBFBD>I<EFBFBD>I<EFBFBD>
<EFBFBD> <12>4<EFBFBD>8<EFBFBD>8<EFBFBD> 
<EFBFBD>
<13>D<EFBFBD>I<EFBFBD>I<EFBFBD> 
<EFBFBD> <19>$<24>/<2F>/<2F> 
<EFBFBD> "<22>4<EFBFBD>#;<3B>#;<3B>
<EFBFBD> &<26>t<EFBFBD>'C<>'C<>
<EFBFBD> "<22>4<EFBFBD>#;<3B>#;<3B>
<EFBFBD> (<28><14>)G<>)G<>
<EFBFBD> $<24>T<EFBFBD>%?<3F>%?<3F>
<EFBFBD> '<27><04>(E<>(E<>
<EFBFBD> <1C>T<EFBFBD>/<2F>/<2F>
<EFBFBD> <1F><04> 5<> 5<>
<EFBFBD> <15>d<EFBFBD>k<EFBFBD>k<EFBFBD>
<EFBFBD> <17><04> <0A> <0A>!
<EFBFBD> <09>& <10> <1D> <1D> <1D>$&<26>I<EFBFBD>j<EFBFBD> !<21> <19> <20> <20><19> +<2B> )<29> <1D> <1E> <1E> <1D>j<EFBFBD> )<29> 0<> 0<><19> ;<3B>3<16>6<11><1C>&<26>&<26> <0C>8L<38>\<5C>Mi<4D>Mi<4D>Lj<4C>jl<6A>my<6D>m<6D>m<6D>mA<02>7B<02>C<02> <1A>/<2F>l<EFBFBD> h<>hr<<00>/c<00>r<00>\PPRR4p\\P
\ 4p\\P\ 4p\PP\PPR4\PPR4\P!\\P \ 44PR4\P!\\P"\ 44PR4\P!\\P$\ 44PR4\P!\\P&\ 44PR4\P!\\P&\ 4\\P
\ 4,4PR4\P!V4PR 4\P!W,4PR
44 pV'd6R V9d/VP)\PP+V44pVP-\P\P4pVP/4p.pVF<>pTP1RVPRVPRVP2;'g^R R RVP4;'g^RVP6;'g^RVP&;'g^RVP8;'g^R VP;'g^R
\;VP<;'g^^4/
4K<> \PP\P4P?4P/4pR .VUu.uF q<>^,NK up,p \ARWYVR7#uupi)zblock[]Nrirj<00>total_boq_amount<6E>prev_billed_amount<6E>total_variation_amountrdrerb<00>to_be_claimed_amount<6E>Allr^<00>-z
index.html)<03>villages<65>blocks<6B>selected_block)!r<00>args<67>getlistrrr^rrbrr<>r<>ri<00>labelrjr<00>sumr_rargrd<00>filter<65>in_<6E>group_byr<79>r<>r<>r<>r<>rerBr<><00>distinctr)
r<EFBFBD><00>rate_col<6F>qty_colr<6C>r<><00> village_data<74>villager<65>rT<00>
block_lists
r8<00> dashboardr<64><00>s<><00><00><1D>\<5C>\<5C>)<29>)<29>)<29>T<EFBFBD>:<3A>N<EFBFBD><13>D<EFBFBD>I<EFBFBD>I<EFBFBD>u<EFBFBD>%<25>H<EFBFBD><12>4<EFBFBD>+<2B>+<2B>U<EFBFBD>3<>G<EFBFBD> <0E>J<EFBFBD>J<EFBFBD> <1C> <1C> <0C><0F><0F><1D><1D>l<EFBFBD>+<2B> <0C><19><19><1F><1F><0E>/<2F> <0C><08><08><14>d<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>-<2D>.<2E>4<>4<>5G<35>H<> <0C><08><08><14>d<EFBFBD>2<>2<>E<EFBFBD>:<3A>;<3B>A<>A<>BV<42>W<> <0C><08><08><14>d<EFBFBD>+<2B>+<2B>U<EFBFBD>3<>4<>:<3A>:<3A>;S<>T<> <0C><08><08><14>d<EFBFBD>0<>0<>%<25>8<>9<>?<3F>?<3F>@W<>X<> <0C><08><08><14>d<EFBFBD>0<>0<>%<25>8<>4<EFBFBD><04> <09> <09>5<EFBFBD>;Q<>Q<>R<>X<>X<>Ys<59>t<> <0C><08><08><17><19><1F><1F> 5<>6<> <0C><08><08><18>#<23>$<24>*<2A>*<2A>+A<>B<>
<06>E<EFBFBD><16>%<25>~<7E>5<><15> <0C> <0C>T<EFBFBD>_<EFBFBD>_<EFBFBD>0<>0<><1E>@<40>A<><05> <11>N<EFBFBD>N<EFBFBD>4<EFBFBD>?<3F>?<3F>D<EFBFBD>,=<3D>,=<3D> ><3E>E<EFBFBD><14>y<EFBFBD>y<EFBFBD>{<7B>H<EFBFBD><15>L<EFBFBD><1B><07><14><1B><1B> <18>'<27>,<2C>,<2C> <1A>G<EFBFBD>0<>0<> <1E><07> 8<> 8<> =<3D> =<3D>A<EFBFBD> <12>C<EFBFBD> <20>'<27>"<<3C>"<<3C>"A<>"A<><01> $<24>g<EFBFBD>&D<>&D<>&I<>&I<><01> #<23>W<EFBFBD>%B<>%B<>%G<>%G<>a<EFBFBD> &<26><07>(H<>(H<>(M<>(M<>A<EFBFBD> !<21>7<EFBFBD>#><3E>#><3E>#C<>#C<>!<21> "<22>E<EFBFBD>'<27>*F<>*F<>*K<>*K<>!<21>Q<EFBFBD>$O<> 
<EFBFBD> <0B><1C><10>Z<EFBFBD>Z<EFBFBD> <1D> <1D>d<EFBFBD>o<EFBFBD>o<EFBFBD> .<2E> 7<> 7<> 9<> =<3D> =<3D> ?<3F>F<EFBFBD><17><17>&<26>9<>&<26><15>!<21>H<EFBFBD>H<EFBFBD>&<26>9<>9<>J<EFBFBD> <1B><<3C>,<2C>bp<62> q<>q<><71>:s<00> P4z/get_blocks_by_districtc<00><><00>\PPR4pV'g\R./4#\P
P \P4P\PV8H4P4P4p\RVUu.uF q"^,NK up/4#uupi)rXr<>) rr<>r0r rr<>r<>rrir<>rXr<>r<>)rXr<><00>bs r8<00>get_blocks_by_districtr<74>9s<><00><00><17>|<7C>|<7C><1F><1F>
<EFBFBD>+<2B>H<EFBFBD> <13><16><08>"<22>~<7E>&<26>&<26> <0F>Z<EFBFBD>Z<EFBFBD> <1D> <1D>d<EFBFBD>o<EFBFBD>o<EFBFBD> .<2E> <0F><16><04> <0A> <0A><18>)<29> *<2A> <11><18><1A>C<EFBFBD>C<EFBFBD>E<EFBFBD> <0B> <13>H<EFBFBD>V<EFBFBD>4<>V<EFBFBD><01><11>t<EFBFBD>t<EFBFBD>V<EFBFBD>4<>5<> 6<>6<><36>4s<00>(C
z/generate_report_pagec <00><00>\PPR4p\PPR4p\PP \ P4P4P4Uu.uF q"^,NK ppV'd<>\PP \ P4P\ PV8H4P4P4Uu.uF qD^,NK ppM.pV'Ed\PP \ P4P\ PPR4\ PV8H4P4P4pVUu.uFzpV^,P4P!RR4P!RR4P!RR4P!RR4P!RR4P!R R4NK| ppM.p\#\$P&R
R V R V 24\)R VVVVVR7#uupiuupiuupi)rXrTN<>,r"<00>(<28>)<29>.<2E>&<26>
z Report PagezReport page accessed district=<3D>, block=ztask_report.html)<05> districtsr<73><00>
main_tasks<EFBFBD>selected_districtr<74>)rr<>r0rr<>r<>rrXr<>r<>rir<>r[rZ<00>isnotr1<00>replacer?r r!r)r<>r<><00>dr<64>r<>r<>r<>r<>s r8<00>generate_report_pager<65>Gs<00><00> <20> <0C> <0C>(<28>(<28><1A>4<><15><1C>\<5C>\<5C>%<25>%<25>g<EFBFBD>.<2E>N<EFBFBD> "<22>z<EFBFBD>z<EFBFBD>/<2F>/<2F><04> <0A> <0A>><3E>G<>G<>I<>M<>M<>O<>P<>O<>!<21>1<EFBFBD><14><14>O<>I<EFBFBD>P<><19> "<22>
<EFBFBD>
<EFBFBD> 0<> 0<><14><1F><1F> A<><19>6<EFBFBD>$<24>-<2D>-<2D>+<<3C><<3C>=<3D><1B>8<EFBFBD>:<3A>c<EFBFBD>c<EFBFBD>e<EFBFBD>!$<24>%<25>!$<24>1<EFBFBD>A<EFBFBD>$<24>$<24>!$<24><06>%<25><06><14><06><16>~<7E><17>Z<EFBFBD>Z<EFBFBD>%<25>%<25>d<EFBFBD>n<EFBFBD>n<EFBFBD>5<><<3C><<3C> <10> <1E> <1E> $<24> $<24>T<EFBFBD> *<2A> <10>O<EFBFBD>O<EFBFBD>~<7E> -<2D>
<EFBFBD> <13>(<28>*<2A>S<EFBFBD>S<EFBFBD>U<EFBFBD> <13>#<23> 
<EFBFBD>#<23><04> <11><11>G<EFBFBD>M<EFBFBD>M<EFBFBD>O<EFBFBD> <14>W<EFBFBD>S<EFBFBD>"<22> <1D> <14>W<EFBFBD>S<EFBFBD>"<22> <1D> <14>W<EFBFBD>S<EFBFBD>"<22> <1D> <14>W<EFBFBD>S<EFBFBD>"<22> <1D> <14>W<EFBFBD>S<EFBFBD>"<22> <1D> <14>W<EFBFBD>T<EFBFBD>2<EFBFBD> <1E>  <1F>#<23> <13> 
<EFBFBD>
<EFBFBD><18>
<EFBFBD><10><14><1D><1D><15>
(<28>):<3A>(;<3B>8<EFBFBD>N<EFBFBD>CS<43>T<><06> <1B><1A><1B><15><1D>+<2B>%<25>  <06><06><>IQ<01><>%<25><> 
s<00>
I1<04>I6<04>:BI;z/get_tasks_by_blockc<00><><00>\PPR4pV'g\R./4#\P
P \P4P\PV8H4P4P4pVUu.uFzpV^,P4PRR4PRR4PRR4PRR4PRR4PRR4NK| pp\\ P"R R
V 24\RV/4#uupi) rTr<>r<>r"r<>r<>r<>r<>r<>z Fetch TaskszFetched tasks for block )rr<>r0r rr<>r<>rr[r<>rir<>r<>r1r<>r?r r!)rTr<>r<><00> task_lists r8<00>get_tasks_by_blockr<6B>zs<00><00> <14>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD> <10><16><07><12>}<7D>%<25>%<25> <0E>J<EFBFBD>J<EFBFBD> <1C> <1C>T<EFBFBD>^<5E>^<5E> ,<2C><1D>v<EFBFBD>d<EFBFBD>o<EFBFBD>o<EFBFBD><15>6<>7<><1F>x<EFBFBD>z<EFBFBD><1A>s<EFBFBD>u<EFBFBD>
<EFBFBD>16<31> 7<> 16<31><04> <16>a<EFBFBD><17><1D><1D><1F><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>#<23>r<EFBFBD>"<22><19>'<27>$<24><02>#<23> $<24> 16<31> <0E>7<><11><1C>&<26>&<26> <0A>9Q<39>RW<52>QX<51>7Y<37>Z<> <12>G<EFBFBD>Y<EFBFBD>'<27> (<28>(<28><>7s<00>"BEc<00>j<00>\PP\P4P \P V8H4P4P\P4P4pVUu.uFq"^,'gKV^,NK up#uupi)r)
rr<>r<>rrSr<>rTr<>r<>r<>)rir<>r<>s& r8<00>get_villages_for_blockr<6B><00>sz<00><00>
<EFBFBD>
<EFBFBD>
<EFBFBD><18><18><1A>3<>3<>4<> <0F><16>
<EFBFBD> <20> <20>J<EFBFBD>.<2E> /<2F> <11><18><1A> <11><18>*<2A>,<2C>,<2C> -<2D> <0C><13><15>  <0A>#<23> +<2B>(<28>Q<EFBFBD><01>d<EFBFBD>d<EFBFBD>D<EFBFBD>A<EFBFBD>a<EFBFBD>D<EFBFBD>D<EFBFBD>(<28> +<2B>+<2B><> +s <00> B0<04> B0z/get_villages_by_blockc<00><><00>\PPR4p\V4p\ \
P RRV 24\RV/4#)rTzFetch VillageszFetched villages for block r<>)rr<>r0r<>r?r r!r )rTr<>s r8<00>get_villages_by_blockr<6B><00>sO<00><00> <14>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD>%<25>e<EFBFBD>,<2C>H<EFBFBD><10><1C>&<26>&<26>(8<><W<>X]<5D>W^<5E>:_<>`<60> <12>J<EFBFBD><08>)<29> *<2A>*r<z /filter_tasksc<00><00>\PPR4p\PPR4p\PPR4p\PP \ P4P4Uu.uF q3^,NK ppV'dr\PP \ P4P\ PV8H4P4Uu.uF qU^,NK ppM.pV'd<>V'd<>\PP \ P4P\ PV8H\ PV8H4P4Uu.uF qw^,NK ppM.p.p V'EdV'EdV'Ed \PP \4P\ \P\ P8H4P\ PV8H\ PV8H\ PV8H4p
V
P\P P#44P%4p Rp V EFp RV P&RV P(RV P*RV P,RV P.R V P0R
V P2R V P4R V P6R V P8RV P:RV P<RV P>RV P@RV PB/pV PD'd.VR&V PGV4Tp K<>V 'gK<>V R,PGV4EK \I\JPLRRV RV RV 24\ORV VVVVVVR7#uupiuupiuupi)rXrTr<>Nr<4E>r[r\r]r^r_r`rarbrcrdrerfrgrhr<>z Filter TaskszFiltered tasks for district=r<>z
, village=zfilter_tasks.html)r<>r<>r<>r<>r<>r<><00>selected_village)(rr<>r0rr<>r<>rrXr<>rTr<>rSrr{rjr<>r<>r<>r<>r<>r[r\r]r^r_r`rarbrcrdrerfrgrhrZr<>r?r r!r)rXrTr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>s r8<00> filter_tasksr<73><00>sY<00><00><17>|<7C>|<7C><1F><1F>
<EFBFBD>+<2B>H<EFBFBD> <13>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD> %<25>E<EFBFBD><15>l<EFBFBD>l<EFBFBD><1E><1E>y<EFBFBD>)<29>G<EFBFBD> "<22>z<EFBFBD>z<EFBFBD>/<2F>/<2F>
<EFBFBD>0C<EFBFBD>0C<EFBFBD>D<>M<>M<>O<>P<>O<>!<21>1<EFBFBD><14><14>O<>I<EFBFBD>P<><10> "<22>
<EFBFBD>
<EFBFBD> 0<> 0<><1A>1A<31>1A<31> B<><17><16>
<EFBFBD>+<2B>+<2B>x<EFBFBD>7<>8<><18><18><1A>!D<01>E<01>!D<01>1<EFBFBD>A<EFBFBD>$<24>$<24>!D<01><06>E<01><06><14><06><10>E<EFBFBD>"$<24>*<2A>*<2A>"2<>"2<>:<3A>3M<33>3M<33>"N<><1B>V<EFBFBD>J<EFBFBD>/<2F>/<2F>8<EFBFBD>;<3B>&<26>,<2C>,<2C><05>5<>7<><1D>X<EFBFBD>Z<EFBFBD># <20>!<21># <20>Q<EFBFBD>a<EFBFBD>D<EFBFBD>D<EFBFBD># <20><08>!<21><08>
<16><08><16>M<EFBFBD><10>x<EFBFBD>E<EFBFBD>E<EFBFBD>g<EFBFBD>g<EFBFBD><13><1A><1A>!<21>!<21>$<24>'<27><19>T<EFBFBD>*<2A>d<EFBFBD>&7<>&7<>:<3A>;U<>;U<>&U<>V<><1B>V<EFBFBD>J<EFBFBD>/<2F>/<2F>8<EFBFBD>;<3B>&<26>,<2C>,<2C><05>5<>&<26>6<>6<>'<27>A<>C<01> <0E> <16><0E><0E>t<EFBFBD>/<2F>/<2F>4<>4<>6<>7<>;<3B>;<3B>=<3D><05> <20><19><19>D<EFBFBD><14>d<EFBFBD>g<EFBFBD>g<EFBFBD><1B>T<EFBFBD>^<5E>^<5E><16><04> <09> <09><15>t<EFBFBD>x<EFBFBD>x<EFBFBD><16><04> <09> <09><1C>d<EFBFBD>o<EFBFBD>o<EFBFBD>%<25>t<EFBFBD>'?<3F>'?<3F>)<29>4<EFBFBD>+G<>+G<>%<25>t<EFBFBD>'?<3F>'?<3F>+<2B>T<EFBFBD>-K<>-K<>'<27><14>)C<>)C<>*<2A>D<EFBFBD>,I<>,I<><1F><14>!3<>!3<>"<22>D<EFBFBD>$9<>$9<><18>$<24>+<2B>+<2B><0E>I<EFBFBD>&<14>!<21>!<21>!<21>(*<2A> <09>*<2A>%<25><1D>$<24>$<24>Y<EFBFBD>/<2F>$-<2D>!<21>"<22>"<22>!<21>*<2A>-<2D>4<>4<>Y<EFBFBD>?<3F>3<1A>6 <15>\<5C>*<2A>*<2A>N<EFBFBD>4<>X<EFBFBD>J<EFBFBD>h<EFBFBD>u<EFBFBD>g<EFBFBD>Z<EFBFBD>X_<58>W`<60>a<> c<01> <1B><1B>#<23><1B><15><19>"<22><1C> <20> <06> <06><>}Q<01><>E<01><>!s<00>O8<04>O=<04>(Pc <00><><00>\PP\PR4p\
P !4PR4p\VR4;_uu_4pVPRV RV RV RV R2 4RRR4R# +'giR#;i \dp\R T 24Rp?R#Rp?ii;i)
<EFBFBD> activity.log<6F>%Y-%m-%d %H:%M:%S<>az Timestamp: z | User: z | Action: z | Details: r<>NzLogging failed: ) ryrzr{r<00> root_pathr<00>now<6F>strftime<6D>open<65>writer3<00>print)r(<00>action<6F>details<6C>log_file<6C> timestamp<6D>fr7s&&& r8r?r?<00>s<><00><00>&<26><15>7<EFBFBD>7<EFBFBD><<3C><<3C> <0B> 5<> 5<>~<7E>F<><08><1C>L<EFBFBD>L<EFBFBD>N<EFBFBD>+<2B>+<2B>,?<3F>@<40> <09> <11>(<28>C<EFBFBD> <20> <20>A<EFBFBD> <0A>G<EFBFBD>G<EFBFBD>k<EFBFBD>)<29><1B>I<EFBFBD>d<EFBFBD>V<EFBFBD>;<3B>v<EFBFBD>h<EFBFBD>l<EFBFBD>[b<>Zc<5A>ce<63>f<> g<>!<21> <20> <20> <20><> <14>&<26> <0A> <20><11><03>$<24>%<25>%<25><>&<26>s6<00>A&B%<00>(B<05>B%<00> B" <09>B%<00>"B%<00>% C <03>0C<03>C )rz /activity_logc<00>*<00>.p\PP\PR4p\PP V4'Ed\ VR4;_uu_4pVF<>pVP4PR4p\V4^8XgK4VPRV^,PRR4P4RV^,PRR4P4RV^,PR R4P4R
V^,PR R4P4/4K<> R R R 4\PPR 4p\PPR4p\PPR4pTpV'g V'd<>V'd\P !VR4p M\P"p V'd\P !VR4p
M\P$p
VU u.uFHp V \P !V R,R4u;8:dV
P^^;^;R78:gKBMKFV NKJ pp V'd=VU u.uF0q<>R,P+4VP+48XgK.V NK2 pp \-RVVVVR7# +'giEL<>;iuup i \&dp \)RT 4R p ? L<>R p ? ii;iuup i)r<><00>rz | rz
Timestamp:r"r(zUser:rzAction:rzDetails:N<>
start_date<EFBFBD>end_dater!z%Y-%m-%dr<64>)<03>hour<75>minute<74>secondzDate filter error:zactivity_log.html)<04>logsr r r!)ryrzr{rr<><00>existsrr1<00>splitr<74>r<>r<>rr<>r0r<00>strptime<6D>min<69>maxr3r<00>lowerr) rrr<00>line<6E>partsr r r!<00> filtered_logs<67>start_dt<64>end_dt<64>logr7s r8<00> activity_logrs<><00><00> <0E>D<EFBFBD><11>w<EFBFBD>w<EFBFBD>|<7C>|<7C>K<EFBFBD>1<>1<>><3E>B<>H<EFBFBD> <09>w<EFBFBD>w<EFBFBD>~<7E>~<7E>h<EFBFBD><1F><1F> <11>(<28>C<EFBFBD> <20> <20>A<EFBFBD><19><04><1C>
<EFBFBD>
<EFBFBD> <0C>*<2A>*<2A>5<EFBFBD>1<><05><16>u<EFBFBD>:<3A><11>?<3F><18>K<EFBFBD>K<EFBFBD>#<23>U<EFBFBD>1<EFBFBD>X<EFBFBD>%5<>%5<>l<EFBFBD>B<EFBFBD>%G<>%M<>%M<>%O<><1E><05>a<EFBFBD><08> 0<> 0<><17>"<22> =<3D> C<> C<> E<> <20>%<25><01>(<28>"2<>"2<>9<EFBFBD>b<EFBFBD>"A<>"G<>"G<>"I<>!<21>5<EFBFBD><11>8<EFBFBD>#3<>#3<>J<EFBFBD><02>#C<>#I<>#I<>#K<> !<16><17> <1A>!<21><19><1C><1C>!<21>!<21>,<2C>/<2F>J<EFBFBD><16>|<7C>|<7C><1F><1F>
<EFBFBD>+<2B>H<EFBFBD><16>|<7C>|<7C><1F><1F>
<EFBFBD>+<2B>H<EFBFBD><18>M<EFBFBD><12>X<EFBFBD> +<2B><19>#<23>,<2C>,<2C>Z<EFBFBD><1A>D<><08>#<23><<3C><<3C><08><17>!<21>*<2A>*<2A>8<EFBFBD>Z<EFBFBD>@<40><06>!<21><1C><1C><06> -<2D><0E>,<2C><03><1B>x<EFBFBD>0<>0<><13>[<5B>1A<31>CV<43>W<>I<02>[a<>[i<>[i<>oq<6F>z|<7C>FH<02>[i<>\I<02>I<02><14>I<02><14>}<7D> <1A><0E><10>(5<>a<> <0A><13>V<EFBFBD><1B>9J<39>9J<39>9L<39>PX<50>P^<5E>P^<5E>P`<60>9`<60><13><13> <0A> <0A>a<> <1A><1B> <1A><1D><19><19>  <06><06>W!<21> <20> <20><>@<0E><><19> +<2B> <11>&<26><01> *<2A> *<2A><> +<2B><>
bsa<00>+2K<05>"B1K<05> K,<00>/K,<00>,K,<00>/?K'<04>3K'<04>7K'<04>=K,<00> +L<04>;L<04> K$ <09>'K,<00>, L <03>7 L<03>L )r")9<>flaskrrrrrrr <00> flask_loginr
r r r <00>
sqlalchemyrrr<00>
app.modelsrr<00>pandasr~<00>werkzeug.securityrry<00>appr<00>numpy<70>nprrrr<00>ldap3rrr<00>__name__r<00>router9r=r@rGr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r?rr;r<r8<00><module>r*s|<00><01>W<>W<>W<>M<>M<>(<28>(<28>&<26><13>4<> <09><18><12><1D><1D><12><1B>)<29>)<29><10><16><18>"<22><04>L<06><1A><1A>H<EFBFBD>u<EFBFBD>f<EFBFBD>o<EFBFBD><1A>.<2E>&)<29>/<2F>&)<29>P<06><1A><1A>I<EFBFBD><16><0F>+<2B><10><17>+<2B><06><1A><1A>O<EFBFBD><1C><0F>*<2A><10><1D>*<2A>P<14><06><1A><1A>I<EFBFBD><06>x<EFBFBD><1A>(<28><0F>b7<><10>)<29>b7<>P@<01>8<06><1A><1A>O<EFBFBD>f<EFBFBD>X<EFBFBD><1A>.<2E><0F><R<01><10>/<2F><R<01>~<06><1A><1A>H<EFBFBD><15><0F>,i<01><10><16>,i<01>^<06><1A><1A>C<EFBFBD><1F><0F>+r<01><10><11>+r<01>F<06><1A><1A> %<25>&<26><0F>
7<><10>'<27>
7<><06><1A><1A> #<23>$<24><0F>0<06><10>%<25>0<06>b<06><1A><1A> !<21>"<22><0F>)<29><10>#<23>)<29>,,<2C><06><1A><1A> $<24>u<EFBFBD>g<EFBFBD><1A>6<><0F>+<2B><10>7<>+<2B> <06><1A><1A>O<EFBFBD>e<EFBFBD>W<EFBFBD><1A>-<2D><0F>M<06><10>.<2E>M<06>d&<26><1A><1D><05><1A><1A>O<EFBFBD>e<EFBFBD>V<EFBFBD>_<EFBFBD><1A>5<><0F>6<06><10>6<>6r<