From 92a8c0eed9d48edbb35b9b2c0912d3e4ad40e2a8 Mon Sep 17 00:00:00 2001 From: niuniu <3307645003@qq.com> Date: Sun, 2 Jun 2024 23:00:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 + .idea/firstpyproject.iml | 10 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 7 + .idea/modules.xml | 8 + back_image.png | Bin 0 -> 18131 bytes block.jpg | Bin 0 -> 3978 bytes get_contend.py | 61 ++++++ login.py | 196 ++++++++++++++++++ slider_image.png | Bin 0 -> 5530 bytes template.jpg | Bin 0 -> 32139 bytes 11 files changed, 296 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/firstpyproject.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 back_image.png create mode 100644 block.jpg create mode 100644 get_contend.py create mode 100644 login.py create mode 100644 slider_image.png create mode 100644 template.jpg diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/firstpyproject.iml b/.idea/firstpyproject.iml new file mode 100644 index 0000000..2c80e12 --- /dev/null +++ b/.idea/firstpyproject.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..db7e132 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..a2496ba --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/back_image.png b/back_image.png new file mode 100644 index 0000000000000000000000000000000000000000..005f1f06155c0069e510d81f3f42e55de9121820 GIT binary patch literal 18131 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 F|JffFSfc;{ literal 0 HcmV?d00001 diff --git a/block.jpg b/block.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ecb75d1ac71346f4f12042a2910104d3ed7b6e9 GIT binary patch literal 3978 zcmd51PF;Pq!hnO55QsYoNikNZ;BdJW0h#1Nt zlT31oQW>X0&Xr?koMvOp{&w$oecwON_s4f#&p+?I*Iw7&*IMiT-RoZWX~AFM5kS)6 zu>D~`KmY&)kOzPV0Bc~Az;F89Z~9F_g1>uVAt6B_lrReQ?^i@j6eS`ifR(T~0TNL205iU!#eoow}kXT##eHgDe{C$FHf zM|1B!EdxU%V-r&|Ya83cc1P?TTwHN(_>=A)L?2&2|8oI>;TIwG(10}%cM=Tl0(0wiMFY2ax|+VFSp zsf<=6of1EJyiK=>_3qK`Bq{f=U*d5m>;Zfd*cbvfY++8$V|=&r(7b~%&{_lo2}3Xt zrwDcqU1?W_2#`Mvq&maEme(*KWCR2GbsL!&Hk17c26pB16{Gp0K`>w!xxN=11xIQ8 zLv}nPE>CiRpR%}e90uOPKqH11l?nyTL#j0!Nhv0Zol4YmfzEF!j%HMEa{vY@)C;y#`_C$AHRr8yJqV4&dubE1BF zctvv%oWd1EU*gH$%^TmS zV@}Lk;Fl_3fF&NqS<{|GcD!c?@6NYV{HFEP4XsLgFmk{ZV7m@8AY|Pb2IRr1lm%wy z*0}8#=X4qNawaMx3S62ZIozq19XMF$_$t^e3jfhk=do zKOK|?%MRMt{20hdytPw-egXP;h3YO7JcZYl4EdJQQ*{>SE}-@#@J4e0l_yrBbsq+r z7~qCL$+{Q)BWB<|->I<~bX49@si7<9)u$qg^9I{4_b_L%FA@EgIIM-N3_$zFnElw5 z1JJ8=GqR#{c~vhDWH%DnL#YuZ4xIkRh|7go(zXws`HZGrI31i)T-=`(BQStw%E7=$ zCV`Fn^ySs)b($Ri(3QsAeXKfkp>}me@uWi8J$l()nTrd9j^SZBxSpoomCja)_+LKB z-q=j@rx7A?Y}BY6&u4wxBjvF#Ou>+}xgz>0$Z- z@{zi^J&GyIP9yV5e`PoyzI!OTC*dW9h1MHpKP$zz9tda}bi7cJCn@&|5V2fdYHipG zsT=cT!IjUDD!K^~URIHRCa3=} zI7j#)I*Yr?XJ{{`t}MVnMmdMTYK4I#x-+el^n7H?*@Oi`M9BKKUznw0R{dNaQ;<0_ zl?rL}#ajxJqAu}dm@9#7@u{egn=v;1V9T8OkrcNoPp6-#_nr%CvH8^p+n*13IP z2T!{jwd6!T2Hz=SCELt5b@>o$OZVROwGACqQ2vz@hwm4cVm-yGDDU5=rYe$+wR-bx ztJI7RWq`1Yx-JU?s9dl?(_#mQcA^^*tB_Dx)7a8I%QGC)=;Di=oaQ)GcN7iy43Tne z(nNp7-1X3ocF%H`)=os*C;P>Tsqtec|864;Ogu(5hQubeWbw_}yPmF)-h){uCxr7D z*V8=YU8Plc`q|#!I2{6t%mm&1IA(CMo!iZ#SUrfOT>#coy8TZL(bL4 zIOj^XJ3%UFX(byQM#V2$lUqD4h)8 zKMa{6PV_LwqLbcSc-3-OpvOdj!BfL;%l%(k+8+y%6TT`@6UG;xok!{GA0ediHDhc! z#?4HnX@ZmmK}WYJFkB@2)LUr--0?&ThEY_UuU;XZZm)h{K|3FEVVATp<#_=iBUphc zFre<`YC-y+ZrUfU1fEc@noEW0huW)aCHUbmHso!5vGB3gWkJoR;Uo{=(r4i|HfA#V zr|m5wEzizViIUa8<^do1vkttMA?0<49tL>HetuS`_t1THyIIhEx9a1Ow}wvZJ+$%s zU~h69Wv@P-LAb?aUsUGFxL9Yri8AI%FOCe~I!}-2AURj{)$28Qn>p^e{baxZ?-BgK zgmmfTcSh|(2&yeF*Q9buCqcVO7rGQQT6^X;?vX``NvZ6Ocge)@0=;@pF;`PXA#b*T zD~LT(H=&msei{Z6mjWnyUm_<-Ts(h^B%;kb5D5o)KLZ=~*B>DFw!9~>f8~dl@>Hr{ z-&M_U>)P*es?-h}>n0@aNc!uim(rrW#ce`cm5`ege&tn@8Hzeqx|!RkutB2{pSr&% zMT=y=|6#pbCSvfh6jj|v@-W$uGoOMu$Q?`cwd2w;`VjSrr$?K?3Xo}?=P#WPbcMYT9ShDom7)ihr|BhmYH4Y5xg%QSlW6t8mH;P zlnrdxZ<6XSJ3Uq5H6RnASlzdOC0CUll5}BSfsFBDb}m2I;e73QXI1i^1xM0r%LRF% zv_UHaTd#f2J?@^OzABPdvRwM?It+*){@idH^rKzZ<5_S-5@Q58rUu!#^D$N&^Ttbf zv*)LpLuBkjG&+*!3j4txc?qt#ZetzGAj8rXy{t*N57yk_J-9*PXJOW?LcB1xmz9xf z4k^yk*Gs@JG{oTx+^BQIY&Z0(?VUMY7(lY~IC?{G2){sI$Gk~T%)$u~O)w5?`G-G0 zQ)M6RIyJz1yF1MMFM?5w2LZ}9RZHvnu~6aPFiS4-oyP@ZJ@eDFs!_AiJu{-+#FXWH z1)5Hp>FyUXe-IbqsPanWvTZHToZ_QIfc~~OFmR!dYyD4TtXj9&Zxd;GEoaRGyEA}+ zkJl()l+A9jmL^XT4)XAv2x{}9%$YDJr$aLzC;HAvgoycpF7czZ{2m_C|FOM(bJ7Iu*6upXO)NCYimDg|qUf*Cq_$&-$x?f=puY~aR zVW3OtJE&H_3F;eF7I)Wi93ugc{2q?Ta%qR%N;Z39B~_H;89QjEI|e34-k{WLO+{UA z9_tMn(8TCWgQel0#$WAj+Nj?){}ZVd!+l&+YZ_qy6t>|Xd|?U$N!LLx+l9!9r_dmN z>a>sYxSKbpnR4cVgYr70<;PjRDFL4Qy}%CYCbqgoFGL(c&fnA4x(v!c+Fco)ZOfCG z3m$bnqVLqz>cRgt^Z!lb|8tf3dro{!Trq$~M`>4w&6ig2KnVs0AIq qq@oT< o; o += 3) + s += a[e.charCodeAt(o) >> 2], + s += a[((3 & e.charCodeAt(o)) << 4) + (e.charCodeAt(o + 1) >> 4)], + s += a[((15 & e.charCodeAt(o + 1)) << 2) + (e.charCodeAt(o + 2) >> 6)], + s += a[63 & e.charCodeAt(o + 2)]; + return i % 3 && (o = i - i % 3, + s += a[e.charCodeAt(o) >> 2], + i % 3 == 2 ? (s += a[((3 & e.charCodeAt(o)) << 4) + (e.charCodeAt(o + 1) >> 4)], + s += a[(15 & e.charCodeAt(o + 1)) << 2], + s += t) : (s += a[(3 & e.charCodeAt(o)) << 4], + s += t + t)), + s + }; + return o(e) + } + """ + encipher = js2py.eval_js(js_code) + + chapter_id = get_id(1) + + dataLimit = encipher(chapter_id) + + print(dataLimit) + + res = requests.get(f'{BASE_URL}getPartContentByCodeTable/988681/{chapter_num},headers=HEADERS)') + + text = res.text + + text = json.loads(text) + + text = text['data']['content'] + + html = etree.HTML(text) + + texts = html.xpath(f'//p[not(constains(@data-limit,"{dataLimit}"))]/text()') + + for txt in texts: + print(txt) \ No newline at end of file diff --git a/login.py b/login.py new file mode 100644 index 0000000..f834578 --- /dev/null +++ b/login.py @@ -0,0 +1,196 @@ +import random + +from selenium import webdriver +from selenium.webdriver import ActionChains +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC +import time +import cv2 +import pytesseract +import requests +import os +import numpy as np +from io import BytesIO +from PIL import Image +from selenium.webdriver import ChromeOptions +driver = webdriver.Chrome() + +# 打开登录页面 +driver.get('https://www.tadu.com/v3/loginpage?logintype=taduphone') +# 等待账号输入框可见 + +# 去除浏览器识别 +option = ChromeOptions() +#隐藏浏览器 +option.add_argument('--headlless') +option.add_argument('--disable-gpu') + + +def get_tracks(distance): + distance += 20 + v = 0 + t = 0.2 + forward_tracks = [] + current = 0 + mid = distance * 3 / 5 + while current < distance: + if current < mid: + a = 2 + else: + a = -3 + s = v * t + 0.5 * a * (t ** 2) + v = v + a * t + current += s + forward_tracks.append(round(s)) + + back_tracks = [-3, -3, -2, -2, -2, -2, -2, -1, -1, -1] + return {'forward_tracks': forward_tracks, 'back_tracks': back_tracks} + + +def crack_slider(tracks): + wait = WebDriverWait(driver, 5) + + slider = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, 'tc-drag-thumb'))) + ActionChains(driver).click_and_hold(slider).perform() # 模拟按住鼠标左键 + + for track in tracks['forward_tracks']: + ActionChains(driver).move_by_offset(xoffset=track, yoffset=0).perform() + + time.sleep(0.5) + for back_tracks in tracks['back_tracks']: + ActionChains(driver).move_by_offset(xoffset=back_tracks, yoffset=0).perform() + print("1212313") + ActionChains(driver).move_by_offset(xoffset=-4, yoffset=0).perform() + ActionChains(driver).move_by_offset(xoffset=4, yoffset=0).perform() + time.sleep(0.5) + + ActionChains(driver).release().perform() # 释放左键 + return 0 + + +# 下载图片到本地 +def get_image(img_url,imgname): + # 以流的形式下载文件 + image=requests.get(img_url,stream=True) + imgName = ''.join(["./", imgname]) + with open(imgName, 'wb') as f: + for chunk in image.iter_content(chunk_size=1024): # 循环写入 chunk_size:每次下载的数据大小 + if chunk: + f.write(chunk) + f.flush() + f.close() + +def get_image_offset(background_image_url, slider_image_url): + back_image = 'back_image.png' # 背景图像命名 + + slider_image = 'slider_image.png' # 滑块图像命名 + + get_image(background_image_url, back_image) + + get_image(slider_image_url, slider_image) + + # 获取图片并灰度化 + block = cv2.imread(slider_image, 0) + + template = cv2.imread(back_image, 0) + + w, h = block.shape[::-1] + # print(w, h) + # 二值化后图片名称 + block_name = 'block.jpg' + template_name = 'template.jpg' + # 保存二值化后的图片 + cv2.imwrite(block_name, block) + + cv2.imwrite(template_name, template) + + block = cv2.imread(block_name) + + block = cv2.cvtColor(block, cv2.COLOR_RGB2GRAY) + + block = abs(255 - block) + + cv2.imwrite(block_name, block) + + block = cv2.imread(block_name) + + template = cv2.imread(template_name) + + # 获取偏移量 + # 模板匹配,查找block在template中的位置,返回result是一个矩阵,是每个点的匹配结果 + result = cv2.matchTemplate(block, template, cv2.TM_CCOEFF_NORMED) + + x, y = np.unravel_index(result.argmax(), result.shape) + + print(x, y) + # 由于获取到的验证码图片像素与实际的像素有差(实际:280*158 原图:680*390),故对获取到的坐标进行处理 + offset = y * (295 / 680) + + # 画矩形圈出匹配的区域 + # 参数解释:1.原图 2.矩阵的左上点坐标 3.矩阵的右下点坐标 4.画线对应的rgb颜色 5.线的宽度 + cv2.rectangle(template, (y, x), (y + w, x + h), (7, 249, 151), 2) + + show(template) + + return offset +# 显示图片 +def show(name): + + cv2.imshow('Show', name) + + cv2.waitKey(0) + + cv2.destroyAllWindows() + +# 实现规避检测 +option.add_experimental_option('excludeSwitches', ['enable-automation']) +option.add_experimental_option("detach", True) +# 采取去除特征识别,即以下两行代码。 +script = 'Object.defineProperty(navigator, "webdriver", {get: () => false,});' +driver.execute_script(script) + +js = 'return window.navigator.webdriver' +print(driver.execute_script(js)) # 可以直接在终端输出webdriver检测结果 + + +option.add_experimental_option('excludeSwitches', ['enable-automation']) +option.add_experimental_option("detach", True) + +account_switch=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'phoneAccountSwitch'))) +account_switch.click() + +username_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'accountInput'))) +password_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'accountPass'))) + +username_input.send_keys('td188310339') # 用户名 +password_input.send_keys('Aa123456') # 密码 + +submit = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'accountLogin_bt'))) +submit.click() + +frame=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'tcaptcha_iframe'))) +driver.switch_to.frame(frame) +time.sleep(10) + +img=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'slideBg'))) +image_url = img.get_attribute('src') # 图片的URL + +img2=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'slideBlock'))) +image2_url = img2.get_attribute('src') # 图片的URL + +x=get_image_offset(image_url,image2_url) +print(x) + +drag_button =WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'tcaptcha_drag_thumb'))) + +ActionChains(driver).click_and_hold(drag_button).perform() +time.sleep(0.5) +# 遍历轨迹进行滑动 +time.sleep(0.01) +crack_slider(get_tracks(x)) + +time.sleep(2) +cookies = driver.get_cookies() +cookies=''.join([f'{cookie["name"]}={cookie["value"]};' for cookie in cookies]) +print(cookies) diff --git a/slider_image.png b/slider_image.png new file mode 100644 index 0000000000000000000000000000000000000000..68e096a3805d85fb442d69f492304ab2ac372f3f GIT binary patch literal 5530 zcmc&&`9Bkm|DPFV!kkH?<)&1UGit6(NJQ?EyH+WAhm2e~Iv8^0R*4+BC345mm}8rn z%{FFcV~BM3?ekZBUys-8^?bY@&)4g>=i~8uyk6-SFW8Dh6d?crK->;#?eY)P{uf}u ze_1T>lHWg&i?H#CKvbXb4vv=lS9(r9zT*QF?@GhLq#sgf0DvIiqJyiA?Hz}IBj9OMa|{+?kv7LzCeoItX#^YvKSf!XUi`<- zt#575(upJngSbfNf7zz9SMfB$9Ajm6kutMD!_SlF=u6vQzY-TIBsz<h z4R#-6c%HLFUZQtUdyDX0;oUDuOXN=!{Kzu7YkD|sq%P-kXJ|(edaw?^O6#4)=8iQ^ z(WmEl%LFdHdvWqLt|R$VEp2V(Gn-mR8m^q_U*fH?ws;d10+#f-1m73c_cD37=@W7M zc2_xLll^&Nrh|%aUFiNm?;l#iHqCz+m>p{%kM}QpZp9C@kVoHB2mM;|?)6sHlRL;u zl&^Pl>UM7UhI1kf?G z2Fo7;g2Y_}gl}DiJV=vKmO7|%K~HnPhMDDgk2A;41snP3N4VXN_iH7m0svCK?W`?a zqvmEX_rR=@! zKXH89Lykc@mkP&Rt4`+DIIuo`mkIn4DDp7fT4eX~>(M7zm8ptXuYk@4b@bF)ExYV; zD;o>9T$4g)H#d0pVrqF(O+`hOv8VG49sohAS@cy@4f@yAIu$*wu5Ix!z2V>{B#Pn8 zxZx`%h%AT85#%*3=fX3-($<2oeX0|bjUlsYo4R_bs6E8#inZCYnCX^U1$6tQ&bQuUl}0w_ez0`C1$Py6Zq=_I z#nBaBC~%r*3r^JcN;>=LyhWinqxbr@HW^DJnS3hh$j2*gElWiN&7?0XD!pLcL@7*MOK5>9J&gDHNH612-HbV zma}(=P`7i4-}Bv;-Dv)i1a-k2ArQJU5B*{HO0be|?nzaF{EJIU7zXM=He(P6h@CHwqOQi9(?ojvprmxL-!bv25a7$0e?F{*3hN6MTR6 znBV!fMzwPMF8=A!qet@c^2*BckJRMPz@^?G!PyA5w0Dm#iHaJPKHd;koHWS9{DQ^1 zwsv%2LD52($8Vki$dO;YS8;nki^2_|>4Fy_ocEmqpF$1?3TS7DAZ~s~ABz;VTi+=1P$zrQ%eXrMMsq(Y1d#(20$an(W0F4>UXOv_Sn2~|+=D=x2R zDfMAFT--nXU^>DtQ{t|TzhLwP+PeUHJmS|?_;Ha`Bb#)1SJ>}6yT=gWv`1i`4OBr2 z*tDzi@`Eg}M0)}vdKfeD`0|0nZbhcm*UV!s?<3<8dUbH{sBA$Pt^3ZGVBi)aMZYWz zrrqxp{Q?;w6c%RZx_r73d}Wf@?szzCRLXX}LI zxE)@g{wJurNx2Fq7h!6yHn3}!eFD%8W2BW;&_50Md#A*n`e->der#ymO zpbD<>XkqDlbzpIZw|CC9*YML~9U(!w$8PuZa0=?=YJ{+?j1N1*v;zH*hBWw`V%;Z? zv}zSYzU5>6$o0hDtU*f59B{a2EU&wi9o%}w<1lE#L-JYs3F zK+S)OK=UFW2n$Q>vzC+;7jGK{9eA42@PYQl*VQ+c-%lHU035x3ySxD&0AF#n@xL_$ zJ${u5NPCID7Zm;d*+Bz?q`*m&yWltN_ib_MZx>3dcYX{H|JeD^<&ia6RF5t8a&7{F zhZmIH--&0Ad|~^eqk9YupTL_+OY_G%qC}qO5{NzMulv6C$Rw?zCSHHtFo=cM*gL(e z<<32<=IqQDOCsdyx&TYGwn(NeygQdmyd`>``U6M%7&BAtRJ?lM|7-Dq;FdE9hs>M_ zGXF6K9%X1cO+1A9OVn4uD-+`fHEv5~cHH*8sKdK|VS_Aq$Y7keWYVGua284H?=FN_ zXt|j$T9o?KeNI3F{LczAGcm>m1=;1Zvzs^PG6qJ_i5Z15iJ^lu_vo*mO_EQFsbj{* z##UA)jZS&{gYqK4%h&;Dxh-b+I@A&-T4P7Yeo49k2oN@Y{+jyp?Fqu{e{DNE7AN;> zA1W$LP%|=$jCxOY^vf;$ery>l^^0q7)!p5Vw9&Hlce#K6-+tjhP6SVszR_O44k*oR ze73xgC4MTGT_L1(LTf5EHdfwJ^N`VzeucE}#%agJ1w;K+}MG4oBylJ|(Ww9D9-yQ_MXCruo}t@&bs zb3R!y08}Ij!ps!3+@GxI5)f-Hb4k~1JizXZ+mPT@x2hBs`w|>+xLINCU}$3Upvi-s zVR3#SM)o`SBztl)`C)-G29Z1m9FjPu`dsz2f)dQ9RTwXONj1eVM$z8Z(TZtuL^)w; zwB<#mgxGjuOQJzxzujrC%PZp9@17JJ3NmM$Y^~@(C-)(FuO%**>!k6Y>M3Ed#9h3m zW5SJ9ts5r_A<|BzoWUp!FAw7*)+Zw+Lc+W}Jpq=NWp$qengo${q6UYzDr$}Itw@Vp ze_W|};+64}k?i-8?bNKQy`#?T-;Xl}%O@Z8ve`C9*w{U08>nVBK3}Z~(s$S`R|`Bx z6YKAiIRpVlZhAl)j`xCWtxwfngqmNPx6pePm8d?9@$Ap7Lj_j;Jp)cj@xb76#c!*3 zzvm-@CuU|-YqfpM3TAI2)4yH)x$;MbAUCvCo__0F|J*B4ujo(1ww_vE(~u|FxA8aq zo-`&}59K;0h{GYg^GqO0D-$9GexjHLx?}TLT%{3tG-br;qUF*Nt#dUAJDPF$hZXww zCO*bkG%ipL7$Paj?oamyi%sqYub|%rq~kR)d~?I^KR0sX`x->mpk{pOfq{W)%F`Kc z6WO(vFgog0Kkrv9W8OSTdMINI${ESOihX$pgZ_<^&s?Vg(}E13)$RfyQ&EE`Aw(;{ ze{5(yW}|xGUjE+wOx*&<5=OZ==vc+*uVYSnnSph}+c~8VjxrGG2xgt+7n&7`+MT6!c)l)0%CPi&AFQBw*3j8||Jg)lh zlomQdRHaLYY^Rlrdt`f7xVDnz_wU&jr|BGb*U6QDYSCpvt&?C=Q&XF5h^XpQmq0R5XS_V%>9b*v97K2)1gaQ zfZ!L*Hyg+iC*_eJ@UdsIOf+uTdfLtS}lGxsp2 zMQ&H`%~J$0A-lx<)TvXZZ#}%Ps!j=?LTq>(RhqQOV8@n({f*l56T&n%Yn3t%dk8@l zHB&}_STY3VP)xHFRo7kr5o-SgeG6fATRa2LOEMM;yRjBy4{t;P)K3^=+&23oOe_vu zsU=veinPkutxAHW&P{`3MsEIF7;F6F+Sjw*iHBl!*GrluCE5i>?)+>NOpZ=YN+V#U z+Hb|HUKxiCSYWKf^onq9zdNAT?S=qEI4?d+1g5IG?pP8v!|_nmMyhzfh>lxx4 z>*}aJrkfo*sOmd20|T)ikM%hvf$frw^Wt~%Ti*kwXK4n%gFm1=KvJfnBH-b)^W%v3 zR>sICkXqZADD=fAK_uk`qEGdKlr@(R{C^<|u3+`oC2NY2d)RPAwpK#%;Sr4zEf!6AYYIg3!RQR-?u85cpd!`a2 zla-a8zqNK=+@Sk{+13Dgx}4ySpMDQg0dY?SUXCMbjgOCQnr=bMZqVQathU_FU*V(+ zBAU1?F@^feD08FQ+yvPdKfD{dK#2#GFAKBG-E&!@uVm9@KOJ!@HM@T6R-3HC8h+nd zW!IX`>{m@wH$Fw%ScBHCgkJX%3w9d)qvYzd6=@PHN)pczWP_|*1C$Krd1 z^B_c?{qWqr)N|WtMNxHBOBl_pFizjx_xbtKhPpa6ZB=wV8XI>`F~nl{jRx=jPmtob zLBqdq*Az*irFJqwb*~g1oov6aF(OXPb`mRxpL^?`lIHEtl`H`z=*0On<{NZU-`x)C zFPj9lR+i+X#dW?lDtU5y^g{M*UYv8xya`62s6M!=s&z#jJv$fP#oudvb@-8%c2Dx5 z{DQBAwZ)9nfff}lp_M1UtF?P`Spf-8q35! zsYInuojrX%jedY^#3*yzfBdh;uda_2Ah0LAObCSiC>jFyP6*^1M$TXP*PzUFd>^y! zZDPc*05h5YFu1t^X-AVij8E_`1tq?ZiU6_@*H+F#@TlNjzyylyU1wt zua7|s$ukr+%HGW%u=bG27mFGUK8d&a&8$7(7N1mCWRyXiI_<$_)wk|$m(o5&-@E&} jd%W}7!S?_8G0H>77flDkL^ZSi_dT_6iF_1T~{~ literal 0 HcmV?d00001 diff --git a/template.jpg b/template.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc921e97ae30cd1b93d2e73b193b68bb197fdbfd GIT binary patch literal 32139 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%0Dr~HUsrN*G(uSsd!b~zQ163T7a;T*bUm}HX=e9 zgLL&+)nlqiz%@(brH?RDy+I?bs5Kw>&!%nz-Wjq+KXhlCbd?l+{a(4O$&rYG9s2$3 zmJ+u6JL2RB?@QvYk(zIqSq@zqyZ^F2zXLH)A zFGN91^wA5J1*Gk|i%Th(83M7e!}(xL8yJHXb{aIwAh*1|4)E%T!QmQX>t5KKAet0q<*4y^U&+9S{!C9@y)0hu zBkGld(OI#52T`44L|7(vVKqN<@RxMpf{TRVDg2jz5h-p)vfLHFBis0;roOk=URVWN z+2M0Qh=?GpnWG`l__-&WugVs`8uf@T?A$6#@$a)_ivk5ioIlh(2JXmpN>=F>{S9WH zJo8YO4J_6z^ii(X*qYUxK#x% z`r2KZkc$@qz?qOuoOFAxx!5=3rwJ!#zL5|;ota&4)6lWaO{ORhiJjS@554^QC&Pk!kd zA9~hr4V{?26EZscc6DUJndO(J?7oqGpB5|Qo_(EDlX(u;q(Ie+CgCAs8t!Lkz*r$| zmt)z@$d{6OIDO!`D_IbUSexgfk7r-2+(wwQy;C^t8Wt1tI63sj+7nS7@M0D%zUcr5 zkPdkfgF8oL5SIaGB#|o@?#T2ru-2|~59n}PgP?^9-OBnVXYA&^89ru}yiB7&C`!-v%$8KC>!vK;+y(m9fXxAG^5R^f_& z0>w;GmnToY**ltK*ZD}W8Oy=_Lq>wq>q}4HT8Y@vnKb*8U;r8T`PDfnl*Xyjp2!Qb zYbG0l)}J7x3-T3uVqUNbs_-m=lUOTcwf9yc_;lW0#M}pk@D1;{vt}-`^A{-Eul!V* zVao!^soQsOPttIMBXQEy8I@&c%sSs8L@9PC|LM<%yzee()S2hP5g0E_Hy3%H#k|3X z3dHh+et5N00IMI9%1YxAou&^o@nbAlX>@Z5=24rPygi-8$gOrK3Py;Jw}vifz5Bb zOLXk+(vM(;_Gv!IY{9LO!A5ewM^tH7;QF{TH#@ySwPBd2&httM+KXw^*kh91%eb(q zG>HydHNpFY%P6_l=NXf6Q5%K|+u_;%+ieXIv&$NV(l`Thq;KTmm~u zltSZ_T1Y;t1?*PBB9^6=HDoxxB1MY^Z|Al(@os=!9*@Q(;X ziHqk3s_vx!OLW0xznvodTeW+AyknM( zbtHUK*nR`Le?LI?bwWA&$}AK(aPL#u*l+2Yd@xk{5koOFg2g_`9;D?%Lt>#gZ;u79 zhV>q~A_tOiiFh_+QjW*;kamC0@6v1IFSCgZ2_P+EL!2kYwac;ntT|dT4=O4+ra6;_ zZqK7-DPUom0Yy9Yoad5AG)z+_RrDggRA&nnfWyE*;F5(qBJPjyaS}U%eEa)yid+db z=)!!Gs*zDb?)l_&!gvlFSPXuU+7}Mx4d~2gKqCy0$VErLVo!94=gFq9GcK2%fnt3t z_{%%jeC0KUkY*@IsFDY&d)y3)+h}kB)Bb$K(uG}u(>J^wGh;CCeld3??%zpMA!~;5 z8{-5&7?xu8KEpVJIGqeb5&VZ|E&kn-PNA!M(*qNq=BtrW&BQv?vu!WTwsqEpguSC9 zF4q`)-#v(wpuhn2j?OZcI1VN_J>xsF{Y#kp@S)?}p|){C|4WZsD2n~Mj_T6P07aAi zT(5$VXkWSGQ+?Ek)6GC2s!m68A3()G@-FH?HJl9r6-FT~-MXj^vi}>HwkQZazD>Nh z=j(c)l>E$T6FAzRHnG`K6(^+vnSUSFe`}E6z0@Vg~VOzv>S%#wqA(Ig1 z;X;n43)FO+50b9c+P6fTi_!Cg3Jr8Ts>HlByO)UQN(QfVgjSP@7p~BYpDpcN4#y3A z=}1s46rG31Q0YIUy=$QdA;&*28*Qk3t|DNKe~wxkhQsEBM*t0TQX{Yxyc{^@fQJjO zKzkdiWlYF_pn_1ai<})N3fIfM%gL+ znRG-ewLVDW>C zPpj=Tvk3Lh3%(`YVj}73xf95Ped-BwBo|GvA;=M##xz!Avk>q=lJ>-Zipgt&(e48O zgyQD`P1QS~*k`5cd{P{1SQNVjghleYu+X!ET)kS(UU&CYvTl8qKbCph)k8I$^kdH| zxB@QVsZa^LBmgK2&VaG~>k^_$(Gd_kl1!Y=Aw@pOcgaDE ztVMq9VMPEJVp%BIZV!EFJvpMiwBcGe*0 zlA#{Mkc{nD?>7fhDa@6j4q+Hj4(U&N?bn9cpqd3#7`fUvy+M0j@ocv}tXVphQN^?kDF56_ z>ej1l+-`s?W^~<9jY4V0yk+P%0ecCMbXU6BYjSEcv5SJJr$0ZDOZvDVoIK@dwC@qG zcYG6HxBoIPLY`|0yAKURJ%7H?47|V z;~xp1ZH8VV37fJNzBtg%`saXd$|r86ZOKcK0xw*OykD;=6W4`5yIns{i|qcjB&X42 ze<&VviN`74e_{#qDE4%GtR{98b=Lnw$>{dugW>|$lD)^>>pPznPC2H^RPCdGel==+ zRSfExY`rQcN^n4Gxd+cU`cD;lZQ3UCB-OiI8}u8PJ~`))C_9ws~lOy>NJu#5k8LHMDVm{UF)8xHdW7e^9TfAt$xV7I++q z6<;yDH2ZYhOLo6`HUDbYaU(8&-C5@uo3*Dm#lk`0TNv|T%#L;m)vpw~w$y9rkK7kF z=gj1S3Sro?0fst zJ%2&Lx$8Qx@gsf2l$`q6ugHkGo71Y7WS@RA>7%l6SGp#{ecX|DrPxpacI6vQg>BdA zZ<+tMIeCsay>0&uYP|KYtEK1ke!+}Kl^764{j&O=gyy7IbLyd$7;xZ9%{7tJE8MXc zCHKEH7PV|r7i7r?UQd**-k?>bja=T?lrh-O5&bUsUbeVGe9c*waw{$>O{#poL(u+H z*h9>rzDYB5m-@#&*lNp3JpSSmaY8S(1*gTf#|aWf8q55n+>}Qeb?vqIEZ6e7Fr$gO z$9pyEx*T__Ang9~5X!coG<7@dMNN4i3r}=@rZGI`2kScT_$3t@jf6AvJbhf3p$lyd z2{zP5Qjb2BSR!fn4^~0S#|Z88=k~gT=N>sr=53tHtEcW}8=h1yn!D5-5+qi1Q47-A zJ5r`sJjBDPEyS{6GF$=Bmy@YdeMdN4lHuwP(!MAukqovj8U?@U>?`i_@% literal 0 HcmV?d00001