+
+4. check service
+
+
+
+5. access cloud pod
+
+
+
+6. check logs
+
+
\ No newline at end of file
diff --git a/edgemesh_HTTP_communication_demo/cloud/demo_cloud.yaml b/edgemesh_HTTP_communication_demo/cloud/demo_cloud.yaml
new file mode 100644
index 00000000..3ca65029
--- /dev/null
+++ b/edgemesh_HTTP_communication_demo/cloud/demo_cloud.yaml
@@ -0,0 +1,45 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: demo-cloud
+ labels:
+ app: demo-cloud
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: demo-cloud
+ template:
+ metadata:
+ labels:
+ app: demo-cloud
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: node-role.kubernetes.io/edge
+ operator: DoesNotExist
+ - key: node-role.kubernetes.io/agent
+ operator: DoesNotExist
+ containers:
+ - name: demo-cloud
+ image: cloud_demo:v1
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 8001
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: demo-cloud
+spec:
+ type: NodePort
+ ports:
+ - port: 8001
+ nodePort: 8001
+ targetPort: 8001
+ protocol: TCP
+ selector:
+ app: demo-cloud
\ No newline at end of file
diff --git a/edgemesh_HTTP_communication_demo/cloud/dockerfile b/edgemesh_HTTP_communication_demo/cloud/dockerfile
new file mode 100644
index 00000000..9f49ac05
--- /dev/null
+++ b/edgemesh_HTTP_communication_demo/cloud/dockerfile
@@ -0,0 +1,5 @@
+FROM python:3.8
+WORKDIR /cloud_test
+ADD . .
+RUN pip3 install -r requirements.txt
+CMD ["python3", "main.py"]
diff --git a/edgemesh_HTTP_communication_demo/cloud/main.py b/edgemesh_HTTP_communication_demo/cloud/main.py
new file mode 100644
index 00000000..98a792e8
--- /dev/null
+++ b/edgemesh_HTTP_communication_demo/cloud/main.py
@@ -0,0 +1,44 @@
+import tornado.ioloop
+import tornado.httpserver
+import tornado.web
+import tornado.options
+from tornado.options import define, options
+import requests
+import logging
+import json
+logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+log = logging.getLogger(__name__)
+define("port", type=int, default=8001, help="run on the given port")
+# 创建请求处理器
+# 当处理请求时会进行实例化并调用HTTP请求对应的方法
+
+
+class IndexHandler(tornado.web.RequestHandler):
+ def get(self):
+ url = "http://demo-edge:8000/"
+ res = requests.get(url=url)
+ res = json.loads(res.text)
+ number = res.get('number')
+ logging.info(number)
+ self.write({'number':number})
+ self.finish()
+
+# 创建路由表
+urls = [(r"/", IndexHandler)
+ ]
+
+# 定义服务器
+def main():
+ # 解析命令行参数
+ tornado.options.parse_command_line()
+ # 创建应用实例
+ app = tornado.web.Application(urls)
+ # 监听端口
+ app.listen(options.port)
+ # 创建IOLoop实例并启动
+ tornado.ioloop.IOLoop.current().start()
+
+# 应用运行入口,解析命令行参数
+if __name__ == "__main__":
+ # 启动服务器
+ main()
diff --git a/edgemesh_HTTP_communication_demo/cloud/requirements.txt b/edgemesh_HTTP_communication_demo/cloud/requirements.txt
new file mode 100644
index 00000000..729fdbda
--- /dev/null
+++ b/edgemesh_HTTP_communication_demo/cloud/requirements.txt
@@ -0,0 +1,2 @@
+requests==2.25.1
+tornado==6.2
diff --git a/edgemesh_HTTP_communication_demo/edge/demo_edge.yaml b/edgemesh_HTTP_communication_demo/edge/demo_edge.yaml
new file mode 100644
index 00000000..5d8dd8a9
--- /dev/null
+++ b/edgemesh_HTTP_communication_demo/edge/demo_edge.yaml
@@ -0,0 +1,44 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: demo-edge
+ labels:
+ app: demo-edge
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: demo-edge
+ template:
+ metadata:
+ labels:
+ app: demo-edge
+ spec:
+ affinity:
+ nodeAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: node-role.kubernetes.io/edge
+ operator: Exists
+ - key: node-role.kubernetes.io/agent
+ operator: Exists
+ containers:
+ - name: demo-edge
+ image: demo:v1
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 8000
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: demo-edge
+spec:
+ selector:
+ app: demo-edge
+ ports:
+ - name: http-0
+ port: 8000
+ protocol: TCP
+ targetPort: 8000
diff --git a/edgemesh_HTTP_communication_demo/edge/dockerfile b/edgemesh_HTTP_communication_demo/edge/dockerfile
new file mode 100644
index 00000000..538d863e
--- /dev/null
+++ b/edgemesh_HTTP_communication_demo/edge/dockerfile
@@ -0,0 +1,5 @@
+FROM python:3.8
+WORKDIR /edge_test
+ADD . .
+RUN pip3 install -r requirements.txt
+CMD ["python3", "main.py"]
diff --git a/edgemesh_HTTP_communication_demo/edge/main.py b/edgemesh_HTTP_communication_demo/edge/main.py
new file mode 100644
index 00000000..fd5ec374
--- /dev/null
+++ b/edgemesh_HTTP_communication_demo/edge/main.py
@@ -0,0 +1,41 @@
+import tornado.ioloop
+import tornado.httpserver
+import tornado.web
+import tornado.options
+from tornado.options import define, options
+import random
+import logging
+logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+log = logging.getLogger(__name__)
+define("port", type=int, default=8000, help="run on the given port")
+# 创建请求处理器
+# 当处理请求时会进行实例化并调用HTTP请求对应的方法
+
+
+class IndexHandler(tornado.web.RequestHandler):
+ def get(self):
+ number = random.randint(1, 100)
+ logging.info('number is ' + str(number))
+ data = {'code':200, 'number':number}
+ self.write(data)
+ self.finish()
+
+# 创建路由表
+urls = [(r"/", IndexHandler)
+ ]
+
+# 定义服务器
+def main():
+ # 解析命令行参数
+ tornado.options.parse_command_line()
+ # 创建应用实例
+ app = tornado.web.Application(urls)
+ # 监听端口
+ app.listen(options.port)
+ # 创建IOLoop实例并启动
+ tornado.ioloop.IOLoop.current().start()
+
+# 应用运行入口,解析命令行参数
+if __name__ == "__main__":
+ # 启动服务器
+ main()
diff --git a/edgemesh_HTTP_communication_demo/edge/requirements.txt b/edgemesh_HTTP_communication_demo/edge/requirements.txt
new file mode 100644
index 00000000..e9eefea6
--- /dev/null
+++ b/edgemesh_HTTP_communication_demo/edge/requirements.txt
@@ -0,0 +1 @@
+tornado==6.2
diff --git a/edgemesh_HTTP_communication_demo/images/access.png b/edgemesh_HTTP_communication_demo/images/access.png
new file mode 100644
index 0000000000000000000000000000000000000000..8fb8b29ba4cfd22d4b261a3093aaf6709bcb0494
GIT binary patch
literal 16952
zcmd_RXH-*NyEdADfYKEakQN^mP>`z9Nf3ocks=6)bm<*JCsYflR7C`&ivrSn4+tm;
zy@PatP(uh1AV45F3m)Hh?|shsbG|davG*9?50XsQTC?2uocFq~YhLq>wx${r{Y82Z
z2*h;%@4Gr65KS!b8*`c#_@w;|z5#rJJ#^IWfQou}R)E4OTV)Mp5U4bU;n0ExD4%ir
z+t339I_G)(2cEX!_XUBJyYJsse(Ymko8)Sd8mMjwdOreeWf^J5Xk#eBN4VMHUJD< zu!e#C#;C3L>q!m3w`XE?z2dmmtCACbRz4i@9~jJ{t?sQyACRtGKJ;7@Yq~Tou%S5` zYSfoo9Ycqzvf`2Eb&k-GhRqRIfoikmU7z k@&C%SZhj;?n*%A;G|^HBwY^d#Jb7QJ&d zNwOnsDRIQeHp{-=yZcH)`e3KcH8=b!12O49RP~ZuGH9Rth|8>BMYUi(p??GX>0=KS zrnO&UUaASZ7y}-Wy~HD6z18t@Ep_ZhkNYR^nw?2xXbO8ajSkpC^?QO&h4Gmd*8Onk zp@qS0>3|Z9S?sx?G1ww!XO=nQh{1N&w362AQcsO}o>%ro63xh%5^RKt${?x4BKB%! zR9K3$`~4tIAEdzUqc-vbSJ$3hYxh&=^#cF}C=`Jz0@}r;>qkpM`OrOn6NS4w_rB$u z2AL*1AAS9u9wJX|Wr+^$wlNtgE iPJ{C$_7Q|_G9%iUKzZ^qA zz+8})@ZB3ov1DPmss;nGb}E_~5&OxaT#WIeQ5ku)q08)VdG6iG8`s(UY?zcS+Q)+p z!DWKWCQfVRSqDfja~@{dcbr=gVc71ApDL1@YkXsb!iq;;Yq=8dv)n!6@5^p%*@=6* zR1_7So0j+Cgc!{rmSo#Zm5g_f*q0 6F>=Bhg=jp?eIF|WnL z$v4{LNL+hHbp(#^g_!PNj3X5RU_ihC^t2Ju#iTOxLz~@@o)(>i9bj3w3|oiFce%fk zS2G>4WNWGxLTy*bJd_-VS|mOZhbfWt#n+wl6n$shWk~}M&b#;wm_BAf(j(TR(>=Qk zS~lAFvi2P3o6BbR%H;yy^1*XnHM=_BmY1PNF!Po9L)F$ @ zSuTXs9uK0+^lL46%VNw7L$(0ITweIfJ(V)dtB=-W(V+d$P=Tu2072D819g77H1XKf z00U%E`>z+Kez&gNf6_GKGi|L-h3U(jk~}~L!u!kw_%3sS>gZ$V<6I72rqS2a(*&e_ zUZ8y(OpPg60aNZI+R3~s`^X^rebZB|mLq}9D?NzCk(d1Hc5Tyhh6?wGzSieL^BQGP zg9Tm(sF3`3v8`T{o;5cH6Gq;5V%zLL2W{UZl_yVdOqN`!hHloOcm1qKc<_!v7bt;p zjF|vvh!+OoxY^gkSehf2Ed `0@BJr<8#EVg@x)w?3m{oTa@tT)50M5+(>w#mRQ(8KDY%r*4l5SZVF` z{=&~(W+T^B-{R`zPL{p6Zmz?8_#McT0Z`W)OhGKfLPx%(t<%SU-pS2y5JvFjg e&oexTSOB4tyu)F?*GnV?Nu|gtdKQ>bnT&Cyfs`t_Vk#?>L`k z5Z)eU8O%R2pX6`6qo^SEDTg!NHKsqy%kxo;k0VihrpahGNUhNFt~aHWT{9?O15ebU zAwD%a2MPANze+}oDgJVl+?jmemGAyO%RZG}WeUT3;c_o6l=Eua^`1vTAqBfl61{9p zNo6;n5D@2GAhJI7{j6Ei(va(JTS~3nlv26Iy5bs=!Yrt<0=xO4Qt4{LX*wP2wZJ3? z1-eebkLtK!ELHj^SG<{HYR~-rPKU1g=w!|6pPP+6b=A?<21(1=sL>)N##vj>0JHaa zwzc^JOKMO^Sq)WRWB;tnYOm~%mzE+{Ql~_DAj0nEJcr--+M91uVb<^AGNV3L3~{!l z H`^af#9;C zUG4d8k=@Q9kM#9#3fJgNX9U??vD4r56FHbJyW>J0Hb`EgJKU%-PejNC#QY9C?9E6p z5HKkCEiU+&J{ +19{jmlU#&ophYDRO#wbA<6^xL-RtWCDFG8ks@;TWXmFZA(A+hwV%1&Whfc~N zPUI(<9V0IYEp^ZjnoqL7%Qm;OL&A}$;l`34Zlx*pu_syp(JSX7u<*NVnlfE_HieG) zfaOW#M{r5j&IQQj0h16$&%bX)r$G4tl2+6J^me*twU*<>IS7A};fHwcsJo|g`Sh!U z{7kdE!-t1$tX5PH=MmTrSyz7zn~!rapYl=xf?4{gg-+Sv_flJfuV+6_ XOFn6yMN98?{K#XD zF6MtvUA%T5`o+oVu4;OE> -wlE7R>-pg@eu6X-8Gg{Ur0q2^Bd`ebj98g8Nw3 zQVcmmfUY}JdZ?7}!+S?*ssm)01mNnCFYdxZc-^G}1KXXN )pHw*-FV){?UrWWd5Zs2?RJ-`=m!&M;K{Xan%N=sr&Npz(HlA#9fa(_L(7 ybCS zdY4W2fACY@Om3!=>jT#2C~@)^$T Sf|aI7=|_3Sxz1(O1p$-K)hCDEdlO+f55Su4eD* zDQ*we59YGqqf3pmB1U@7c*E%4j_0GM>GHV5@U6X_Mo2k|mjE)4@MMJqL-^ku5#I&; z7KsqqXZp-0SzqD>9{0Z4v(7cKM7+anHgoiiZo#tnP)EscF6nM9?zeQJf1`Lkakh^R zT~}ITwc Rw12_KE5(@V z1I vpu{U4w*_LFmD~GKDhSc3YChQC)G+3I(G=nU)R4=CV2}UwBMi zn8V;+NsYN{+0P 7q#2F7?@_SXV_lWZdZLc$4;`miIh_ zc;tH(CRz~b<&qqEwC-wopYpiZPXTdVuNdV0xtS?ek*r8f@psog?#^)1f+h6uYrq^< z>{PFVA8r)BBt~JLA^uDN}P?5*VYh6bxmY`>DdDL z>*eCYIVtH^P1avZKpV7aCM j!J@wn>Fws)Tci=A=Q6 zTyqkfn{^~;YbC Vsj^3rE1Qx_!IsK5{lG@7%O5s*3UX1%Klaqg4Bdx_WaSIStvon( zGu7l?hy03UD4HmguCN(N3Bk*!`)RF{TZ3=-DDLG3r+*Hs)J`>B+gj+z#q*GNlP8k; zX`Kv2>uk^D+#_k@S@HuvJ`sKDdLUCaQyu3#ahql$Vza`R^tKW^+(1Q4d~1mR=H(ZO zZxtW$BJZQzjSuLjJ#0pfN~Yz(6FC|oJTIGf``B+cWwPIj1&E`S;EqLUbYz(R#zFO# zk<|Cy(YXG^PNq6Km7J*Zj0X32-o|K6WNgFhoEepL<8HQRp6@!vmeLDw3 zX6fBlhGwEegF@tSL=v7&)IsD-f1OXu(NUXI3T4Z9xr%I`ccWk$&j4mNl(-n%UH zYh*~NvI-TreoZHVnag_3ay*E)B&K=0lv_jn1_Nl}A_gSu*Tl;F%C=%fxAQChn$jMc zJ{C!Od6#4s-o7aLjp(i!@nUALQBA8HTFym}NZ-%O4Ilw-S# RDSI%C{d#XsQmoSF&M@hV!GzhgQbR;F(%R{}$*OYKS)|^WC>Z5_Qag`0G z6BLrt52~PvDk)Jm5P@lmvON&xK5W5@#+|M_>P=#fr+ehKMbO-pom16xQ@($5q{S Ha!&*#Ptg#dzq(7{@WF*@yAPS zx^k0DS5=INq`M2BOQbCW-$V<`Rd^SuUxT|!p${F?e0aO!>UPI)(N(w#D{gVDKa!Uy zMCL>TA!YJttoYub(xxl S=LUdfL~ZOwYkpZH~h+-fwMgt8TS#Lu lbO_Hf@|=VI!1 zrB={p|L;sc!L<1LMj75(lCGKeN3nFhrKCZ6)5+9Mn_(mJJ?9L}&5X~z`0H$vF$)Fr z S+`C;ZF?x>|Tty?p(XGlE9=fP`;pT9rdWc9Lj1gTx}@K8>FZQ3T* z%QNP^R}>+~Xw({YOZtiElckKwtVyXlgZ0DR^o~>lMNerzUT~o(JbjmXAqKjiJz0(z zs(olbUTOK)m{+2c0mluF>dGUEPav%$e?3-l%!XxmiM8qt56Z>Ixxc|XP+Uw;dROB2 zo=cJ!&&83t9w^1P>!6SHvo>mx>^5XrSCGZT0@2O9BtlPvel%b70wg;xb{0~9F)YZk z=!t8H^5CQShv`F;EnY8~E)y_zrmqXUE~Z4450Or-slGxMVYbEuSG86*e>(9)kLt<; zR_KRIbvEYG9?h)#tKa@b`*h^h_$0X@qC!?o&-Rj9;FS)WwHL~^uEmsbrI9-}$Ws%^ zX?#VkkHQ!0QfCI0AFm;PA2PESsYe7VU`KatH+tWlLW9E4uwB?lF`Kg&r4fP^YcSLH ze7#0V8uS>ad;^Uc_x!GrzF*ioeL;)!ul%N(fKnh9jPxtMZEUM8Zn7{EZ;%$B2(vK~ zoj+I^i$ 3}Ab5e8K-O0x<1Z|vl?L{dechUn-cP?3YZBh>cdv8Bf5;2# z)SBq*pC9nH6#6{y;zOU{Xz=4N$X_1yO7rA47p&1vkrgkY^~vb|62BtUDNcU%uV+2w z*uI~W!73j3Q%>p5{;y3nvwCB>AjzGAEtuv6V8V*7ztZyePFm--#feIeMU_AK73+3e zjy95FXwpPG!4&qHgBa=WIcikWlUY-ev)Y <5IK(eM}>K#fg zm}tJTj7juTmZ;T?Ja~3ibji$^N3b>HEV~#sxaziG_p_)|2zgpP)A=qJyV~k&Na)nU z Uf%vmZs;kN(uj5 +)S17C5WM`5 zp^3j_v@%7p%Oj(l8P}WaK55Il1k(N-3S>*|nJaIPgi%*KxOjzf)~{}Fd-ED8w38x5 zfxi1ebuq^)*E{C@)M7+UQ6{-!Z#=PX-GS_BIhN`ZGvE^ZLlWEO8vY~HvL9}vNK3lJ z^>lop-rn`XSUPp4HllRY8%auhhzqWtR=gLzZ}AN~w7b~TN#+x*u5JyKx=GahzH849 zK|J4(p7QNTciFz)7ghYDVk7;_)fTg1--u2O4Z2wlN%0fzaTsFy+z^+Awc`9xEjl^f ze&c#vT?vg~$B$xc-9vw5Udq1VcG(+-cLxvMxt3ma7zNL*6mfA(gwC5?DX6>ki*&sb zzwJFv8q`x;X9&=qDT`-RAG zkA|Bu_OR+rmNTbmzV2vqO(BPdx`|I~Z)S(=_?tK0uvhp;6(!y84jSHgN9Vg3JLf-J zc)!EBM*PvZf$ekhS&`IFCJZrHaJiBh78OjUrwv{RVSP)ZCrl@HzTwkMgM*ORg>ySf z4PH1U%5tykXyKe3<;hN7&2IObF+)mV81Z<%zM`@+J5QBE(TTc|^=OIm&20WiHGL{% zfa%73ud#tk$lB&o&WP- PvrkV)nzRkQ>_) ?!&V%kJ3=O!ko*egruql?VX9gZ&bksMpQ)%;(???=4!74mA?%a%i4 zhhf;ai-x3U>lJ}%-s#nZX=+f1WFJ6^pLUt|o5k+++KrNk%!}zHGX+{A^{iQ2U?{RE zGOg2@8Z(5d#OrS1ooSOujgSxSg^q)!_f6Al)m9$lMYGqN*iB{mPEL$98rSj7TOXDM zrB($~e0lu{w8nI}pP14j&w--qRkT;kN`cS3{A@KTyt-&`hXaj-{vFsP)nn#;ghhOr zMfy-xX>EdJBgP;TbHP=^qUN;PG|HAj)nGsyNqZSKeU2+s3_!dO`Vk=wCWn0B5h#LM zTX9!x0|fg1<{zOX=Qt>78ueWh2JkkZw}6P}n12Zqg+;eL;GWCjp|%sdnBefF?LIZg zJo)TD3c^ ;4e-zZ-=#y)zK<5t&~G;kP%VP=%Jjfx z`GryIHGozHWZrk8WdyOqLKFgwcNhSntX+`pvu7=1iQg_(rULiF*uRA#c_H;3J1_pz zQ-_+r`c45?#Z!#IWwQLhujLCY{m1oRhdBMNUj+IMnmRE7=z7S%bfkbm{=b!KQ&Cn6 ztrKuk)lw_FUzg!=1-DP+tQl0NV+kgEvdt1e52gQDjq@dFe~3Z7tODaV`@w^}TMLnP znfb^~DDnfIL#zBF^Zi~$i_Td({O!BGeJzRm2WWqjeeA^C%k(D{kv4eZ0)#(3{?%7m z*@Y&7V=v}j{L^MtB^~^PP0Mijx1)Lh+71NjyY=sGl`DGtskqEEUgF?6mg&aEoD4q~ zM1`q<$TZ&IPT=?Gp#yr20I~?+i-r|qn?(l*kzvIDsI!^#_?pS( W@iI+7P1t-&$HAZO6}`lY Z4QL0+GHL{0W0CK0`HEwS-Ld5i5$6T=-TD9JX>LgR``WKp4JEr$z2mvzayOa$ z$JRH1Swy$>;C!~LbBKZxk!33?UERvTMJX-#pqPyi5PXms$=wMMw>^KBPDvmb&dQe@ zy7^}8l|vZ%4ahI~xly?C>DU+3W7gp-1`7mUx|S&sU~xR`0r|lX0MSmNdU@rw ;ES10^A5EU?l-2}`c%~~j*4|S4Og)PK8deHD#kk3sckU;^jTgvi^p&Yvz+-( zxS#l)C75^+oU<|P+@*r1hSmOL9!J^b6|4l+yb!D>uoou7sD>spD*x?*Oen5)+iU3s zTs^^EwpD`&IvZ|=6FtrBFG8v0@dnh$Ae tuUyI{g )QQnyomymACL5c%M2xRBy7~8;gYeTD`Z%fV!=}z1P<7 z#%n@^Hv-EwAGBZPWE|8b(G(&UETjwN*bm@9jvoid<*2ieQL9BAmD}9H@Ll!xJK5tZ zgt8Hb_SHf5l~nBMSZdS2!-AFG{D)7b+qS=E7a*7a>DFy+@YbfG;ghHDUyZS?@3UWc zS<(LcHlxElU-La`jQEerHY0DQuNF-?K`}z7Gy}t6bBgT9^~v6mS7`_c$D$BH+N2 z^$N<8r}|8o*G3AbAV8;kUSW>qH++AfYI4D&WnLS%qGx~00266B-Pg_-t0>hu&`|l8 ztqI}!>*K|5?#rYZ5^%?cW9Y^91*_c}$Dm3YWN2Ypo#H8Uv!p(Yxj{(EDsPIhfE1|8 zUupu&cfS7x;hf5ouFf3F(AmGReKPb(X2^@ZfUkHXs4!9q$pZ}m0(#$ZHO2vEJ9naU zQk$xhxRh*Y;!tUILRerw?rB<-hW&^ECgs+8$ {!f`| zb4PU%cKRP(mvQ>@j?zF|+h;A0gSe-oI2A@*q3AdDHvPpEkgP0l(!`ak+Tu(sMOo>{ z+R-#L^TuImoJl7YDCCZ3NPv#$?Wbj1IL}ZK2jB3;UYpOOskCU6sd1dXhh7g<;akqI z)oQJt{q)l~g4#Shh?6t|XuA^@BKhKK^%+za4Gs0c3zyyZe{mVw+jL6-Iqr<<{Zm6r z#Z_N|?DeD7ELF5RlG1N|@!DzNIg )JCL={7 z)(iEsiG!xRfj;*>b+gNoUOv_05y0mGDu1Ks?+v#vcTP7JHu b#7 zq6LD_N294QS%k7Q3FELS$0s)?911&iR9Oo;q)ipmKCKfq8zs_Dd#6fLV=N_ukym%V z`cApKIqO{VE?b8~%d4436FYSCI5v!IqwF2ho#d(t1(v2CDTZKIcKA&`_yZg1QT9QB z{#XrUP7}+B_4L7HQQ(sR-s> M@-!P zH9~?rj+JYRh=?)e4L0F{hFX!qH!I5MI {%Xg*(z7PZ{-SI-#5t3h1VjDIbqJP zb1ILzMDwaW<~&Yik_QZ;B*)(+V7agcU>60eyFo0trzO3MbN1_?+BmOV;>?GG&S-yw z2_pF?)y^3p0J=EYhCKA;5xxL13UxcrCwz1|7PrGaIKFd7^eXJX2De0WA$pI7c?f3@ z|GbQ4%JJ!%#Ium%&IZTBNyebpW7Z)B9YtntJBxbnEvlZ5@La#F5rvxk5HA>MpJ(gj zsMo_j#>WnEbrGm=8L{@-jO6k7P^{>t)6;XKy<@o2?r^a?$}=Q|k|em`kz-@MIgnRi zQcPz_lfN0R3kGCjXOfWFtrD+y9NF7uj6Wtlt_`8civ3j4mZ8Q(k7UjS3z%r`EGq>U zUhU2&ND^QpjmP;)b=3`+l9Dikx^l=`* BV!xg+7s@VpJaXwz8+zt>oUIN1pOKvCV z$=ZrIhNXz2%$%=;A+;4#7@(};QjwLzR;q>7h6$DG5t0ap2ic9Bkuw40PnTgm2VG`z zg859v>n;W8fk{Kz{b9@InwIOiH!j2ULu<;TseuW~Z$pcIHEMwj?vRkp=PO!*2Dm-y zdBXA#NL*pWs`BHc3zVl$hpxBUP1T>sxSh?Xov^l(%mK-#TOR|%^$m>x0LV`wj=W9T zF{4v_U#{{{y&q)A5-$ ugd}|N9+==&+-~{OC&}2dt2sFe3UR7lgx9 ztsZ2UuhE|L)yv-bCT5QD(s2q0JxLle7$1eK(S0fOO7c l72E713IILct|BGeQT2GVX507;PKa$V^DR|CRU<2ZULTnqm!8D}hIbpO z^=B$5^nhx!yv{SmR$4|(-!^kLBLd^I`zQUheobw4>u&4UFsIwbNGHq6Bx`%8n^t41 zvi_K_Uc?uhjTJ&zZvB{fHPHuIwSU<%ynO$Y$_np+tXXWLjCFQDW9emJXN=V%SIqK^ z?)~bVCV8KS$hUneN{x>v8Xe(73-|?|1lRtGdU-Ip!Vi`+RI>%c`|JKA%@ula79xzo zOv-DFHRvV8*K+Mo25vUAi}j%QJH3K`g~sRbFb#fMeKYaCl0o;;Yhxh#>rWfSMYxVB z8oel~(=+>MXvt%|6H+&(?)8mwli4hS7G3YKWL3Emk2GvR6&BmQ-e10FU$I(tlQ$Ak z!1vN8z(wz(L2u`?S&7&f^nU&g`^H j<>^i!?;1fcERvfp^fR?>;HpdPUL8*pqb^n9mTl zlRUD+oCf_sBRkFb!?3^ZQ|{!l+HX@1=!2cGipQ@%Nw_%UGCj)XZdBLyZ*^3DF*JMU z!7_XZyLId4bE1- $RXTx1A2O-HaE xWIs7P7b3~%6QWRkLE(3Ctw4mC z5A@gZgTK!Fsq-zP#qqssPN&eK9GEuT1l(wUp9Xb|SStP?IuIDn$9skCFTf+7k^g|L z5FA6S7J9Aay~vHL-9TzTr4(Z_9Xr8agtm-60fVZ4z#wD?rX*1>?sln+AMziNE$UA# z%Ji{5xIeqmh!zP~#L43I4FBgcfan5FfYH<+=wuFX?7CvP?y*al50=waNlpJiLz;h~ zM|l|Yo%z1!U3@+X6SrfE(ZFcR-1jAj$AgjigVx0VR*d!GO^>HxztZH^p%~0 8PJn~Yln4#40rgvHSns? z(PM50^3P-fj?vPBtoEJ B>`ylV!f(>aIpRlE~q{H_juEi=hu&J(mj7xMagl7&
>u8FFCCTkk@4YSY#U?Nj&1bJ4DW7* zi6~=wVFouyXDMc=0%hII7&MWV@RkPs4L0VkdFo#vy+iy97%unPjpnK!;V2{vw!CWG z!>G!0$-^fzLKr4mVtjoA4C;nL6PH+tEP4`%AdV$TiXtxfO#gZy7<6=Uwi^gBo2(ab zIi$?6)l}{drswr0J?xQB23t&9ME!tc77IGyv!EYCvci6%WxeUw&ugZc%@MRYz-7Ur znnhwCWSYRBgXohrZ=Gus!b4lE+BeZC=w98)&J@d=E_+EB=2D(w76#&i(R#TIEs0YC zY|>{MJWO|E*#V(un=Bis#Ou%G=s1P839$%oEV3^G)z&WnM-uA7&B)?xMLXx808PM( z#J8DxB*rXC9iP7QFw_>16N76~g*czAR$v%-mF=z!1FeWVO!8K{)KM78lUm-s6!(`E z-XpgVFPys+ft9K>i7ugqaj%A#NME>sVZzc$l2Ya==8LI>GHNSiWNDgPlCPqiwkFcx zARG#U1^ Fve1EGx!G*QK!8O2)&vhcMW?}(w$%AK8Z;!|p=D7Rey KsYLT-rU$@)KL zrGSX`e=k|lqGJ@cUh~Mpf5;ZIIq*7|6#1F_6I^xvy}D}k^Y@#JR~082{$H2oF=HmK z@E;2cSeXD<2)sjp6YfBs{l8EO19o2o1q49mYVcIH3HL%ekhapOtY7_~NJh;K31>0~ z)K11rKfH~xV9 g8%>k literal 0 HcmV?d00001 diff --git a/edgemesh_HTTP_communication_demo/images/check_log.png b/edgemesh_HTTP_communication_demo/images/check_log.png new file mode 100644 index 0000000000000000000000000000000000000000..c2d51544daede6cdff257098dd953b0013973017 GIT binary patch literal 22297 zcmc$`c|6o#-2bgqDn*izWk?}JQe>MUTS+0yqzq+GmaJoJlT`LC30cM(8IiqgQ(=q| zW6c)IzKvlpnK8@#QQz-%UH5%m*ZsJEf8Bo=Gl$P-&gcC(=Y8I<_xpK1Q6{$xjvhXB zn2n9?==E#5x7pbC83FHK9XtTMMoBa-1Hbn8+%~w%R@N=N2z=P*tbJ3PjjbYqlm1{o z@cGc=YgRsNY{z|ffA&l`fdbgrEX%IzYMTex5VJIE&(y_xOtJ+YKh+`$pEE!#2~I zdai1PJo;J|vyz=WF?#p6na)SC@cX(Bdf6L-L5^n*Jrz61)c^jD_1l)UWs5vzAFGHJ z*nLT3weU;+eY^WPs)aL|#U!zq8%Wk~BrBXnMX}D!#wk8BpFS*O_3u&Tj?}L+V|AWL z*vrVt(4F_MSaNjQaygRP#&6)1dL{d3kWJbT5dsNpGoX@W=#kp6h2cdtF${tau;^ X9Dog zP@&-`7F0n8Oell)TXO05B$D+gx7%Bt wN8I|OL3^{Xx*CN~G2V>cmMO$vb z&MRQ(WKg9Dc=>sUYvY5u91)WaqIVq=K2=r6iiB@+PsgUpMUzI}wBK=n>B=`3cPKn8 zyK8KrT$GRcv}Y`(RxROuH59=IU1$&OgED-u*%C5Ye0PUr&iH&k*;7B#JGfN@^fRF) z0&}5P@`=AWH3=0;TLf|D;;-7Apx&aD*iK2B%ud0TLoGfL^ouayQ_;_5jByZJ*%giD zat{sor+X}U_4OAT<_PHHI%d(v$QZI!of_e1Y;W{o)j~mhAOD`0`N3y>W&=wus=|CM z2mCH2_>Ib{k`eJUo#GWG$aYBIScNm+;JwA~`}ZL%ti*T9hh_bK*FdouK+k>yw|CD; zj|mq&tBIM!19EQ+Nuq2cJz~ZprpAp0=}j=IoG)!TKle&8`58T*6x~wAtlzmh?ZIeR zX%!-y%)-8m(@@>co-7{H6e 8a-MV3f*CF23Pu!xkiqFu|0VXoEERwco-HFWk4S=xdf8>NgEh! =xYZ(AQrv83uXN5(AU65NhoBVg{Eif&!A zEhwoA-@Kn6s;$FXcz+7q?YS^D>8~v+ k~q1j5XKbXZnbhWtIp*`mFrTv$WED2 zQ63sMvI)}a(Hq6KitTXl$m4kBPBcTd7 sGT)=emoVDxD0SbdPs=C|*46fGF13Txzk7#8#qX79 zD86x?L6uCDK~hAwek$~NH>ndXFg+*n%T+IlO9}Np*`uGGjYz}&`^U9Ft-d2yZCf|f zQnig=^9{$!)6XE9ogr(m`bc=(9=t{B<6ae2&zV2BGNM!7=#E2mF z;;x8J<$FA@Rl?{ANB;$E)l3!2z&)kW?kYoQM;)|JjloGfE6|gQYrirmFczmG9%3=U zSGr`I#T}-Mejj`~!P72Xnp;s}M=E|&M4xg26t}Y28s4YAac|d(D !lpcuKsiU$4Im0 zz!(Wkf7!^~?Q4^ {q3;j-0d@dyp5mZV;M zd;$d A^ZJ z!SJ#_vT*j+bfdWC^!dENl1AA(y~g*>@Q+=7!(H M}f 6@L#UToJndRT%rd0SEJ3iMsU$UAs=iptW?~ISdzV~!dMTzglxI_+-Y$Juw0A3k zCPGaEzmZZW@+~CFZ{~$p7C5rtTQ@}0)4G2YtC4? 9EOMywl+kaFSf!U! z&v&*Xj30jZ>tQ0sfMHo+SAWvp{eI2%?9oFmdtS=<&gzxH_g!?g4?aK@laCynipzBC zh*4gM6Nr(YrFQE_T(q+Bd)YomanT7AF)%^R^d2R15^!tQHSW(G@;!4NVRE_wJG$SO zfykEkX{!mhIj0t id)KuhFJwui; zqi3ZUjmZi%5dCAea!OfugkfhycR)|%;!^wSHmvZGv5IJc&O;4ZO39rST5_d9>-t0u zW*ODMu&Pnu9qWYqUf|Z(9G1FwnIoC-TOv<12iyn!-VbBtsJw+%uxC-Q8cPWeW0l^E zm^Pz9O@ U}2Aj z3mq95M`-#nvE-?@MY5=k_!aE~BlII=?b3UkmtrI @x&Z33G1^8A4zk68SMDT;)QdcQ!CiPI_Wi0_3D=Il=c=B0sW9?>klPb*kp1$ zs~I55(~y=M_3MfK0s0&S3pszrh~p5m*#7lU3Td=okA~K%qT6=K=Frd@;v(qfMI+}F zgHmS^lQyo*hn{a;$KpffwR*l}#v9|>A^Ej&0#usZQqiE-WwNI4JaQD=r>8cviKah{ zRh(n2J@3G1AF$G_Iw)fdv5oh8v>v}e&UqB!YvFF6Bng{sTbg_HY!fG%Js3KYPs*v& ze&UH^cMp^q%YB5Iv7F}6TqwtRc4}>b7D-Q=tJECF <9j_%<$zn_$R$Gq>sWN#y@$ieDtr1&M~b~oSqHZ`J}eeH zSSE6fv{a4WuDMD6)E!TJ?0}*B4%oVFs&5@0gl)C_)~~fdZ0lwCxli#G6>KyG?tC;H zoHs;IAqGgX>7^VpjHj2#Q(@I(7$t_1`ES!ky~K#YxX@HShAU|)SUQV(>>GTxZIcHI z*o5Lct*vG`UsnccSQ*7Ep~~p1^iOyrjQpg*hJ~Z2{&ejU@0MffJvAtumwUsY*r=|l ziaqo!5{r6D)qSM@y}xE&uFop2j%Qdu-8CLHYvCe_p1B^8nVnAU7qI` zN5HbXQpSK1`6{Op=hzBc-cfc!VE*X>3Hj*!{dXhoDqm5A35hO6`S+Z3$3Z9V$J2ZC z)CP<-(C012&Y;{OwCC67aLhsGZR@Fq?hM<(kQ1m$_7Th3Fq&R%CkMJ2)f+c&2=)-G z%1&y;?%!% `tuP@y$_q}d>i(mFnWK{8S=Ib-Pl;9q_ zmeXJ1TxTo oC^!Y 4>Vc2r f2Br`tMkGge|3 z2fkn> m{^GOitVC;c8Jx 3`qm~9ZMz3W12050U2jeL+(#fLtOEP1$N z8;u7{V}g8Tz~YN=ttdf-nt|BBB5mx8OE)^O%;-wMpIoRkAPS~fMR62%@@wRy=B-NM z^iM4%jF-f1=QHIbD;r0(X*9dy)9l6x5!jkxEk4HgyV(M*%I>84IOTLgGoG0gY=EKh z-Ro6-!_pnfhPklUSCr#Hz^XZ`ziy;%x058%v}BOdu?X9hoYX6FwrMW8$DnS-*)L9d zD<5&Y>e5g=6Q`;pY +`>r3QTW9H9x9D! NV-?PZz}Fsk7xsD?8xaLBBY8|JB3Tv}X!N|0-$$`{T_Q z{!!O}q`v;=g#Y|e@_#x==^4ug#j1J6swluCRRHx^gc<$noC0(gD {;WKwMp$f*-@np z#x0~D;w3W2o|{>^^6P?02mArMd{g>Tj#nMBp5i;(u>LS!+<*O70|WYDSa`bdG=7 K#|AN%t=mFtB%ACsFYg)*d9m@r1D@}B z-`+lbt|32wNapn7&79p3uSJ8X0X&JbNa}1V5=ZK(VciNUHm*ONGWnngQ?Jnh>8Xfd zchMM@0AZ?l;>hYbys(8?)vr!h@XcQ#3)VG7vXgPfRWE2i$LZHJq%AL%UE+?C2DN*L z2H~7QYu1b3%mbgyUzvCZ!M{;mDqop~>s72bjkVODm_89{_B}%Scl6fR-HgWN7EWH} ziovU;z7sR;z7wG?>+zmzXHY7VFh>2cpFdAdHoHo+OG@D3i=)UoP2pq1Vx|}_i3Jgn zf_ml(`4Veov_(>BRL5#j+gYxEwm9K5e1}7gqGix5gmQ{Y_-Wu)bhNq<&(WrO%)sl2 zIrvVmVDI)-c%z1eTBZmIb!cm-gf$sP(!@q0<`8szy{;S9>lmUf5E!1=v^R^8j(5r@ zMn6{a#4QRBTqkh&oP;}c#0Wtb79w23)ssmd>{(fqnYezucF8h<%Xq_hNYq_! y6MAPcAD6`p1N1C4Yx`1r@IHvli-$K-xYu*qr8ut6TI_b`-R5CfiKS22J8C4q z v&rHzz92CQPsY6v%Swr|SX7y&^Gbpv znqDLxr0wafs?|?0?Bsv)`HLd+gsA4G)oWf^^0pCG$u3 D;QO4 z%^wX{=5y;AW_x^R@QYT)`;j@_*iGny7$?;IZTB#;P&3`dHU*M5O%N>KOxWxiZLsGS zdfa#JhUka%_H0*P1 {gzmvre49v-ZrUV8*4(!SD4o;}3&NI7q(sp$Q5;klD=Hu4T zX}%Q2j9rw#T<7L+r=kMpt-Mb8UB{3ejAMs_*9hw%BEf$(wq3qNV(FW|?trC9kRAoe z|6O)-N&*XEJW;54 gn^~#JsE036?CS*Q+^`<)IKmCwLnM%lb`!0my=#5 z$zz|*q#WoK4Sq*`HEdZgztj=4A!xs6%wQvG>B^}DXF=)>T?o`a`}rq6hIOL}M`$$v zrQq_VLI(UjKXCD}?;gU^zA5v#)#7v{J<5hRh23wp;wAMwv-b(b7%EVNc_xpqi-f>- zNR?7LU>dM^mET#Pm#JW?)B7FUMd>%xgv`j>@tWIG&FhoT>o?~3FlHQESoY^1J0U$a z&h4QUyeOp}c&l4u>1oV-Z7!tNK#`9->FIWdI|(0SO|sC%#C`mVdP1z;lVt(ML8ASz zXS}dVvz6Qhypwtv`ztaWuS4%XOOphZ(D}R>e7jconVJb5$!46>Z%*W*Ucq03%9#}& z!g3)Lzx#=sbfNKP<2-%8Tr{#BXB5OSJf7CfOc+GTm0J-srYrm?w0Lez{h!GVthTMs zHJTqB_tI&Zd)j7`QJCL#NO+N8!r>h#>*HUA{LVxZJA74QVMx*SODtca>0R*W+m`%$ z(apq*CF agTM)bI=ZS1?uqV1T6XtFA4oG$Rie^l#UNwA4g2W0yy zu`F0DOG3tK4pOL>S0=+cgu~(^Qivlcy8;8XnL23+ScOrFWQkgUr2C7d_;2Jghnez7 zdH;PrN)MsKk}UI$Mz{R3OevdBHoIOMl~u@@9I#!cO#S>In!fZtQkla-v~&UV1smr5 zc&_Lj;9{&DjrEmF-M)8k`?U7c`)i!%FezOdg2TgkAfXaE4z|v_ILt0fR$_q#sWhBN zO?foWY+J?m6as=Y*M6|J|G?<&SshWI=pe4B6mCmj{lxv7bB!K!B)1dMV$AL?rAS~g z=|Am1XGNZRF5_L$i+c6GcuobcwX&n06T0-P3eR6!h%45#^G~mMx@kcS9{uCmgZ;Sx zH&gLs } z@h1_4Kzr^fUo#%cuA-D<=leg;@ip*CR0YJS)swG=o@w@(XwYhKX<7L!#cB G281Rz z^%%XkHqGnHq5)?Kqkc0D2J^YuR0u(?y>>3_^xR&EZ8V{G+YuKROsqu8^!)ChZNA1^ zVGP`qJe0l0^4>jmwEnajD5d=pRSC}vxyxHAx|o=dZ&diGz;;7sLq8TelE5<9aNX}H zMq!AUuh)Hbv4)!pPoat Cllrw_&WCtMLv+%} _!F|b8!Obs3QkbGR*x;{ zo3YQfNTo@Be_uUZ)W@@>?@LYX?B(udHB48qPv7)=GG)|^_v>I)vfI(ugtth?w%&1t z5H^Ui6v!VJXjOkfFiEB1^H&j-y^XyILbknwgt7LIxopZuBp3~)yK&Fxhpx!26$&&J zx*c)!Qsscp=6AP2(Vr$?^vyFIbL2wP2diAU5ep@o&Lc|9+^#;@Y)rf+4B__bTV%d} zu!2) }h zn350NQTL9;SEi*r3fnL5ywt!I4Z;Tto1^@c=34{I!5q|)%t)qirwQzqxi2l~#por8 zIu-2ASK33RUFaNk$jo+Ykric?@nSdD#>z2zq4wW=dgdUQ=Rh9+Ph{>R0tDi7T|M^# z bGW zpMyUguuc1W?%jqn!4Ci>@XwbeuK}n1=e@nr*MEv?bNwwKvw6>FAq-m0x5?+M!PU-G z1>_==ST|`XxZ%}1nVnB!aO}h(Ab-w<5@5EUEhYnBuJonwz{am~4D;?Bocb#Q#Qc7a zZZHM`Rj_`|qmc5mv5EwTzz5`MpfYy37r8?rlC- V?#p _@w?7 *J!6^((+gOhj%Y-JU%$J }=m1++N_G{D1uln0mfSw2pDWQ^!l=bzOUy{)^cNs?6Gw}bs$gvDl zWDoz!P1$rVIH|pUXTD*&D~ A)^=hzDO-$lG@n!LJK^Ed8K!q(MRQj#@Wj}ZmkUKO* zYJ0FFN~ %n>iTWSz$W&-6 zvZ#qqCV9sp0=RR1n0jQh`a~>M)QENc*5&Q%5 u?DxsBQsn zjZ;IdubJ&$M$$;GVFuZ?40(JoQvxzWt!kJcmJW#wM4 W{m=+5rX(9dx zMquw#l2${F1AV|-(hAEft@l!)!;`;Ow@I~iSJ!LR=0&{bL*1NN*3>DPAm9pih0$J7 zJ2hV3heqa#BA3$55$Q=xp88)J4LH~zUF0w6ut4)^m1VSC#XiHo4XAeUCnkY#F_jBa zSu}mW_rvTJ33nPdtvcdAUJR|LXml|fa$v&&x)!hF!j%s`A-MRwPFB$Ngb%wNGcb%1 zQXY90s(ibIo!a}w*j~$fz)D1H|5n>Y4OwQcOx5UwNIiu;G%u5WFj$IlnEJzp_RxX1 zSqDt15hIq;%}h(X-QH&5a41ttVnWD=Jf){{<{RsS97)jA5G|vjJ614KJy~Qb)0B!i zjnzqk*v}-Rdp{<4Ar6ehO~@eiFY9}QXLK-hBUbw+51dM|pd@@$V#>yk-up5UebHpr z_KU@iV%s5N?BW~FJGRidr>2eP;yww%j{TO6&28i_1W)NTCpf6beR@iH9(CY87w*b~ zV>l!I(L3;yok`5Y2h4@7Q@+VS|7T&vVZ1A>F7VhBR&r|XxN&cfEXuAw_M`g}5pNjq zF!$<1A5xUPFIc|8&2G-!1?R>#&u@!=PmH3<6vZKaT;qk}=glZ }L z?D9l!Y)DUZlVx@ceh9Mo8i<8Q%n{C?0wHe^nYB~uIhY=#^27`WMWTdbT;tLBH^!Ff zce4#Jph6Go?|pTs*wFcFq>#k{SLdgv7Wv)kasB!z!qWMVODJvF%gGv+e9*<-W*KB_ z5(ElNZJwK(Mo;DZQ@)jH;@Wk1|3i`OiTy8%EZYH6AOE?##Eqkd>SE2qUXtouC`(y0 ze#I{nZfnj3k%2Ymg%&=v=kGV5Ni6h9o?dz~45 SzR?mRSDFD0V;+jN zV8-H9T3u3Zja@zvwjJ9%kwWTOl+9HWw0+fS?)YpeT!wY{!ybk+_YzMHwK#;YGNKkr z<=cEuuU2a>&KCA`Mx-z#>=@8?WZSJEZGQ`d`h}ss3G{FKrxd^6ge23(>nOU^xCR>I z5;Kz|K`h%ENQ?gdyhHBV^s`*Hi0*wg7Z2X)DG(B9OtD!}Jw0)i{J-nFaciGDrxQrS z;mERKX;Zk3##+P4G*>h4)LrkByfT!Q=GAs@-{$?_y&rEIwdvhE29XdU-=M(CQjME= zGfcS(B#NN8?jIbLN#OX!O?V-)uE|+&q}*3Nz^)#*aSv+4Z!oBl(>QFi#ozq1^6YXa zus*hWDNaSN?{(!=LkHs+*Q}LP){H)-L-M;$V~M7W?bpG@WGHS6YCUVr6OuR`PQ&Tw zH}9vv3~7>>d@zHg>glp{Gi39!W0%xlj_LX2Ol`;v%&iphN$XgR+RQ?Kdg9G}{GZeB zwvAcYJYdD%LB=-8PGRhdn#3AP8bwxr7?&XZe-o+#lAFjN!YP#{g^-Bi<@jA2&T{ff zo_d-r*5%0(yCtwsfn(p%yp%&r*N`vN67AP+OUievXV$P>gD#HmdToj9IUtxf?2J)# zOy4Y&orAR%uj0nnd95m>$d`7?9sI1X%VW*E(aJ{)$`_ m1SP+Tanz~Q?PC0-o<9NG5$PH$oE!2D-x$2b zyx>#E_%k)tiTm+dDexD-NFrNJu-_)&nN;bCYYA!r-#?m;)8xVUK-Y-~Kz9nP C9I$XS)Xt|ki|MP7w^4L1pU)A|mNgTC4ANh}RgUjXcoIJQ`uag4$BpZ5KB 8!@llTX#>-!Gvmyju{hfRu#}CtGDDmajRt?P~D(Z_hAKPc9fna7Cc& z=+N!IaU@@KOnz6gox@2_i=gYa>-(uVi;TUC#eL+o ^o!gNalEa|`bT?tEw?vC^|f0Rk{_G_kP ^;($f6f>UzZY)`QL-ZyNxuXgud~b(L1tDa!~aj^0UdsHeE_cI`d&M+NiJqBULl zx3FEN10bTVap7{w_TuQqr5)SnQ;y&3o`44Avs20_Q~A;g=5sDpdC!|iPh2xdIq8m- zrzLDQBE(m(6NIkCaYimS5ckh?ps42cP-4P#(`cGwJ(gN2y+mr7P#jvi1R^rMe@o z*_ml_Pdq*f2#*9Jyqf#O_W|NLr(6&;+%a!D*&bkH1%v`HJKMQ+i!Db!ZuB*fIkn-! z?_-dKCRxi%B>%CH>d8)*iA>@Hwe^$Q6c;eT+8yc8maVkTil#ipUr4o}ihQW5^mByN z_D!rZ(|tFSx}_#lpyEQaknGDym(`x%f&&sT1HV)KjsXwy#P&<_KfRnRRd?q_@Xe=* zQZLIwj|Lw=kuRG(aLm)p+pSex7%o& MC>=;+BlbSCLzld zTxrK0b5QL}>Q>cHU8)lE%YhCHYER943I!5nYJKd+r}F99y%&3JE1JAkWNbt2T2A^M z-a2 sLJMNxNj*Y%VjwN%O71_mT8hoZEy_-Dz zdgmsiFf=6-zY(m@eAt@ydVHkF)P{j`HUf3^R&9fL82rSiy;p(`t9Ivu^hE6|j!-3R zSMhMcIR3$wDhJ2T;`fg)sa#FL#LPuB*21FXU#}5XZcD~1Xk~l1R`*R=r*+~X`Rt@y zjTVjuUVv9h;tRU3!X$YpNK>Ti`sO57Cp_W538wRgjn^%=He!tc4CjgP!-^)28^*Qm zX|i_!86RdO-!2vz*7>6G)H4`EPUA>)8sW3Z;-upskd5hmc0uBM)fkYh_ysz7%HiF- zi=tHxN809yaNG0b%56tWLW$-~F1iopNZ5{0z5!2BPy ZGSuKS`y*Jd(`(#B9B~y7IZA)&PS8b+>b{|wx9a$>+*@o1nT8$!>maks zOT2b2&7cHF;5}BP9NEeJFht{;(J8+h9)(T$%}_Tjz>rgOhDh_DoJ+aQrm%`Q34O=Q zZ;OlY5#s^jDO9@0js$u~aX5 1d!t~W z1h3};kPj2^Ir2z~V>rK#1pRu?YhruDiO$D=dCuyC^EAI;<3gb04?+8~FMkg)`=vMZ zPkLZ=7prX)tiSM%c_93syg=Hc-5h}@kWpY>FaM|QN6i1n%Ar@lgRiXCFQBw<+n&+_ zKJl*B+GijAo2sY*QoX^uNdSoQAq<0Z?;OkOCu_Z3q4~ NE%`E4)46t#ivU!6)C% z0N>Nd(aA4K3hbe-w}V)&>_Sgu02ez{Zp*Tn31u;ULy%1BJS%ZbmCZ8a*k(TZB`el< zXIUaQ4d6 y;v-opwDIM0wBDK$5Mu85+=;@jxu!C@Me%tH z(fj;FUCCzYPKAzD3X!&D Hh%tqZNmhrax zX}NfIn843Y8BlgD$`n&dyQy4;9TPN%ru;F`F45F`wY-aytdU&SWj4?|K76g2Hl{F| zBMcC?cZlT)2Z=9axG`+}aNI(JUBu0abd0R;U;EtW_V@cAJ2vBm%e{vf (1nK?LobS-ks&Ap7yBK4|On=)MP!?LkviSB$Z5X z^@YdL_8(>B*V$}e!H7pA$Mz%K(wd%I)gX&7`)KwW$DC7c_P)3k+ yj)aD12xT9FfNj_HroQv-lGCZQ#7T;11U1gz9rtj#gZXIN=t`& zMX`-oHu7L0m-mO`p1sb4nYsL~Bm7q#(HcMklJv!qUsBEx=i+t0_qOVJn_%q4Kr;!| zliDHW%3siAxu-Ka*7s8+^E^7pa!qp2{y?`!`|$eG3fTHrxkqOApiDdmCx)BdkTr)E z#G2fWIPll5l?K`eX@?wHGW!|yiWf~GZSv0qu!Vp|%IGQEE1%yU4(e%l{_(jiUL0VT zqDl?iqc5uaPFs;j2>G>!Hj25-I7XJra29jFyLDKzE*Sd`JM7VT2)NN@_bpgU!3V3Y z+-G?a!MvTih)Bc;#EZUqp;Ah8%{%>;hIEq>#t-06T!Won+0N>zQ66bHfnu?M{a|5q zGpar#`g}EeVtcb;^E8rt4K1HBFt?yiJsM(a8QRTU!2?K-62tG6LOql8#A6eGa`T;h zO}cSM`^Uo2E~rdGb20Lnuk+63+J*2mu2atW$^gJi0O|ojkExK3-l@-DzvbP$>!)L! z-FJp#^u&jSbM6K dZMMXPwV)^L# z>&H~`$C-Niv<)m@Q|rS_l~&hAJ#*s}_ 7g(B6 zx&5*cu%;^Z1dj0OJ&an$$YSORZylO#zZ6MpD`BNT!YlK=t97>eMGMjLZRd4a(wgna z{j@@f_KZ0YUATWx0l|#A=KR;qd?W&>n8sVPY~Rgwm{54*12*?-XE XbY?s;9R+Ky4g`%1*f1P(c&{$%kwg> zIjoHFR4pGSQN50)mo^%5Ebg+)c{Za$DoIld=Tm1&G!l*T%c;$M#s=mgw?gs*z)Qc~ z%nEJIBO*Llh7g3QW$ct^(PUDD4C%1tCb|i|k=sYkl@e{WtEW|{|I5;uoFYUw$((Fp z7Oe1iHIlGWCR`;Ny*0MvV127CbxQlD2h!2jT(~P@Ccn nNNwGx(RNJ zFzg?_yu^R!{Uk6PeLfMto>3?hJRg8)IkqvCHwM%z4JcyaZa_39_Wk|QBQesI>rbrD zXTK!GC<=+BbSb- 2o6JU)G057l+ieRBCfOby>$fC#=cpEw8&+ z#&9~pk$pCexA*!=KFTX`3;Iw@y$aGmhV3Lh_Yf7H)fr+n;9g6>W+YM>2l|rwm8t^R zVa2U6B3lxvcvI!dyBMH0IX}gjj0`_g8R#T#E*kTo?4HnzNO|sh|7*}eWo7pQbYn4B zg-C$`Wv!IbDH_7zev)l6kz>@syjEu@wBtRNJFv%=XL8@6L1Y1jlh(cT%Dt*laJxXJ zVJ{O;bJ|@D?A5?xnq#M_c dIgKlX(gLnpcPNx9)|r4+_+tov@zsL5 zdKb%#60dtT#8{RDncK(SNb2a+=)t=nKb|Jp$r@W)1LE;3?%@~TN?7ou^A?&(razwg z&TQfU{8f+^Nut%nHzy=c{PkLE hdW9E*JZGXOx1 zCv6Uyf_)j77&p~ZK{FCis)3q!;EeRdGa3p!pvUU1N7G1m6@W Elsh%Rd^+RYN^ms!Si?CFYzT?ZL87M<#*luSL+J z{?Mp1RYZU-o?G~r(dEM&`kxuyY-Zn!i_3x?kE~6MS4bW#Y`9iC2)%wX$yhB_P6Wsn zVS8P`1N7J2`^b>iO&){)@XK+0*?d8Nd36==ulRt4_(}AXGhYp2V5o#YXzF7jvHEhV z<}`9M|3=`t=~<{L6@k6h{D_s#R0FEYyF=nsyTm1kdFbo-Oi|TnmE85#`rL}EljfCE ztGle*H-@$MgRiHrgT*-IB!itFyu)i*Hzp14-8cAkFool!()pjk_**9{J|27|{^~EH z>vlVj?qV;2)P4mT5g%zhlq^c+u?wmS=3h*T`vWdJpxsi>zuX^O(nTv{pc(tsR-CMS z+dl%l4^(0d@VDhP+Q|v!!;x80&a@W*%Vd8E8@|~dS~7DQ*t#TuPH9}ilY636c 7XWnmw9x+Z z-iiEj%4`Ky@9vBo>rz%ONJ`~5Te`1vO69>HRCi9=^E=yk3SgOJQbERiiTgkVkt|*- z&hHntnN@)-#O&L0w2Bmxb+EHJQ@b7{kx`=Y`FmP H;E z9h(;a%@g=(CB5ydA*&2$FEw2*(;uax%`g>ZR9Czle_#P&yalrbt3`A44W_<~WAHhW zvXS>45=NC|s*ZCTrYZ#JLkLxONZURUNsIy2XycEvqGw_}mIUH#JMxVY8lbHquHi5+ z-F!BtJ5WZAnJP@woi9b|f3tf(b* c*P`9!iGALE zpVa2d<86W1lHfr7sw>3tWv@vGM(OUA5w^#P`NX`JDsxA?G{Th4Qc4x!p9>S`e#-!h z7BB_V2;a!hufJfoIm=pI=$lch9t^hi&Wtkro+kT?c)|0^*7szUwv^1jq8F78>@p=p za`DouPtZMY#wn7%Elde*BewZit$!=%X$dcOW$|2ivVzgJa|GRcb-@$&S6OeQ@0R8N zTcQ0=!=eAf>inOBq86Wb?Cvj}PgSsG(kaBTNtVd$uCS#k$jBnLcXcG4@q3abo{()= zi)I1sL$+jkYTC=9G8B^e>D6TJU*I<6zXP|_ts&bRRC&6}`@Rfuh0e)w+i}V&E*YK* zfk?FOV ~D++*ra{v=zAN(E+SO(k*71mIx^#@9E!UF#=y0QJHBSkrrI*aF*-v`bz&}fG1@#d zB8$01KEu*#7v;(k7R?K$cWX=FNl$M1=BCacjL4D>f+PLLg6bNr*dbFGS?sdxgT@Cz zvFvR%kz}uxxjWj*J5T;ChHn=zrFYB)oGV1M)YBk&KV;|b{k{1(AWeGHt)}<3n&(%0 zHP5 DZ{Kqd({@LXmZ26XTrf9VK(KKHF(%WUW6z)K` ziOo4#P>vcccl2lXKgDQ-eWQ2c60NFbH;rw;5kbGf-IFm4Ahrvl{-l+1kDvy!t1L&2 zG-v&$wsW_VPrc%%?unMF&bWX?f|oh >gMJXgIfSNHB9<4tAk8KQh5}IAv z4=84Z%RUr#uvc?ox1M#>rx`394FF$(f5J1-D;?$$k$m+`;dMjS D zu|0v2i*izyGxjJ#q+|9s>DQ+f^?~A_#boR7-QD^@$$E*ced!WS^n&O8X*Zj@zsk1$ zOs%=9p5_a^2jo1JrzKO5ibhz79GRNC^7@^?VtEg6RLji>*%eG*wox?z`1h{Q$3kfa zG$$gk1&>{E@zq)GE2R&Nw #>c8a$cLyD=ws3zE z5cz#S2dW}=V*AD|jNKDF3QcZ3Kz&l)VPN_2^it@>Se}|scn&*uK` f=WdY`4dspVfA3n;w}d63s7CsZ$!)m5w<^jZJBN4$M{ zbW-S-w{J8=@Y|&mQ)s53*GAKS=UW$iT!clA_!G5lIPA0te3U0{Q_1zJ!zS^Uz)&vL zKCfDgZe0_aTz>=y{&iZ*y^M~DUP6VrTa0k^=~?#yq$?nYh%@JIdgl!1cNvZ)@h>5P z6wIVv?YBSJrvYtBpshVnvK$zzx4g~>?bP9IwP&3(*Nd?Hsn=T%+h4T#xZd=}c+C;s zyo=MvD%#%#__RpN2+YThK_`JLa;;rna>?n7{DHi3!&fW=E9MU>=bMWDuf%Fo$J|eC z(a8!9R;voL!2}M@{0U#mnaID9D7(W6Y|zH_-|9<(3N~-NYq0^cXmL@3!_X9>*pAO+ z4$3!9Wfa)ilVi#?!_jdSYBLj9ewyaq%E#Q-rU(=(6Okt*T8~!z7kbrRq4Q-~^+EfX ze`=PQ>r%57+$dd0gA&%cvj!F$IC`8&mr4X@bql0dA|qiIwU7; Sh}Oe#j>k$cJ7myPl8*t$$9fe3h+ z!5^!mo&$BifHX9~n|_G`c+*s6 |=&=bjJ-=mP;REf`2fu;UNFZgQg{T0EEvh73wp6}A&Up*)Oj=*#=d)U~;Q)i< zu%}6t PNj;X=MsPG#+K@v5v`FG?sp=`*S0mzO4aq%iW*H zaQc^%xlMo?&8z<3!D5R`L)e7yXXF~MXKtN9)fs@P;wm=v$19pYCQU4s%a@alOQn|M zd{=%wE}&6g-F(^JEe)~)V9!5gCm(U1S;8j2a xqxRfGh$ zGfR#v+&+{T$AE2FKt=T#Pf*VGzk+x}O8oVA#PPCBYV2aZVrd#7&`B3*&~X1d!B~8Z zo0dJF3@uIgJN%M>;m3oh;&l5qrJtbkeNZ2RM%5*FwH$OiXh4Ho)d0|*uT~n*@(2;= z>srD@-fcqfuONWXynxr15XDQ!*g9>Mj_Qck%P_1cM#x?#axZ{r?yg$fr!YMPoC&y7 zBWYwf@4SVew)#3iX}0-5MI%+Hma_rz7?Z$LN~mb*1lw!VN^h6>m5(vbFbo*Hf^qFq zJBm*k)Z52*J_&bJmfr>K) %ar6H)&;x7I z75$j{!$9!XNr!FQ5`kS) =+0z1yGT&AR|mzq zM$wM U5-`vA|d)|WStQ7*C6=aX)Y3qoTCJ5(jYM>rw$1cj! z#FxTcnGbH_yp0{4nWR#9PYUUFP3~QGJB`?$Q=d+89$Wsn_xqmFz0miEwmE=Jd1E^! zw$2z1IK@*1T!Cu5gP}Ez0=pXFAJv%+w1+;zoY2+hq}B3+j@yN?bKZChZ;|@>{VU}& z &+{30cE~UGMb-#GLgj)JUA|k zim93);^6N_kL^5ZdE?;7sVoM~y?haSYQ|6UGy^KGUVay2XH5vcl|3qu{{9A>LP`gi zBeT1MPykhe(>S^pQjzQDgWegwZIPvMen`<++>iag8aelPru+AgE8#BELCd*`a5v>l z$zg<0%b_rGm>gO{_wCfkSfxT{CijxMqex`h%AuUHx^FRuHs%mhl$lcubKJ1~K2!Ji z_x(M--#>o;?XNu^pX>2{zpv|cUC-C0y$I(LUH8=$84cvqrNJS>(7|-zb2q^yN*S!c zUp~u1ylP@Ua^uCWEQTEqaLbUxN*+zt{Am$`{SH&>rjHPvE>&IwyyxstL4Q?>)6xH9 z5ff!9zxXMwj3g|#(vJ%dKgoI4g#?2ZfiVp1M34pj)vk~8_#F~G_k94r82T3HDE(Je z8f^^4cqFX*?gwu;_2*c$GBrpwZM`7wt5GXy=XYROX_rz-3`|M#4LuSuHMPv)ASNcJ zTuNV;4(TKSbRTDl4&rA4<$7ESd_g|CT31s+yS*yXADTQm-7|k2MY+@t+Tb$1!{!2` zGACr*8T0QB+|Sa~+bD&V#Ef{d=1W7NE_tcOHJ(;-z%w5A05Az&9PaTcOEq;e8X~=9 zIAm=++oXDC>tCP{n{?x2(Su#%OZ^Tvmuy9!7VTd3d~al78}d)>QiC@IMrS5K4=|-Q zQ%>&DxHbHkkaP7-g+Iy_Orp)*NqJ;qV|5)Ogv9*PW@Vl{Wp%7Rb~ypHtQRvZXRH-u zwwPc-s{8p}px=-K5DteNr}zhJaoe#miT?Ppq`~_zptgow+yBfc65nLEyX*QU)7CcZ zLS{$CaKAkVvPv%3)=;j^w*Hi_;XeV4#I+o?7CIY0|3_&Z$o+)WG#@VA&>Y|aCALjE z;K!KRY6qs5v@)~~Q?G%Cm9_Q@#UgE$(#@0H&wX}n(ORg;I-^R>luc3+zgtL~6gya= zcki3`y0k}b&l0Dj3Op;v9&z}Z07^0E*1TQlqH3X2&{JVHOmALsf!Cvcn0Zzfw6Kf` zUInzn7Vp&PyVZO(?#U6U)CnaWqUa3R{%Hge!W-jCxJWEI%0y||K$oso*XhHimozz! z&;*YRzDpN1-*=_JgI?(jeY-65eUkrnKhT8*Xw7v^A8!YE^BM?ClfDFhEjIu$cM|WF z 4-9uUwGIM$O*nq4BlfFZb YD+r4uogo{6=56BI9i!M%fR7>v6rXl*96Jd^ z1_Cl4@r7b^V($5CLrPOjf0SoK+ZRF2NhlCPKOltmtB%NwV7>PZ*Lei)({IVYVkDRq z)>W9^+8ZzWw)Z8Y{Rgtdr##Jq<9loWT>V~H_G$DOQ(kL}^rl9!QifuxlCSmSu$`mV z$`t+ucA|}bDaA;}Iwb+-nW+}L)zY iq0MrjvHmz zs96<~QEc-V{>c*OCV94@hvF0dV*oD;x5nh@&>owDtH{TfI+hC8h^wgEfNlMtvKJzd zPn8nA(5qvRbqIVT;6;g> L-mv++N?q6mn?2e)CDdZH@C3CGo9xR0FWmu!lp1%6idu-BrnKeB@Wz`PAe6ul z`NT&4%&bd}YQn7E1Z-hs4){R_DQiyBvQ3gc-OQ7J(N6erctf=(s6?3|Uia{W^&y*} zK*=SK5c9`UKABCR2piqs^sSRhV(_vxGtqA+6V~L})<9GG)>L~#PDbNJSTR^ 8mF zjha*>=VRbEGRGjm+dWyw<6pg<)I+}yY3q!eZbhZB0vko4-5cY{!>?vlU(o%Q8)bw! z@z5SSP{^M<%yVUv@!!eSt@-MFwPvZstQ0I-x=?hK{{cXiA^#l!P5J{9E5x}%-RI2C z%{y3)x1s=O7(M~7fy^9&FXb@X6l} 5m z$gI}}K#$0PkvEu~+B Q*n?L`<@6s_bj!$c6ZEY6 zMDEEiG(o%$1_Lba=jnXnf`*jGpdyK*SM`SZhA6}Ob!_^E3vx`Nr=}LcPJpqzBUGw* z8<+c@E^PQ~*He6_WYxJC (E7kNt$EmRFU2zCn%QuuU;?n; z=WD^Nq6b0xbA|sV5^dvyLtO|$;|tR`M-ulsx3obc(Vnt)8*o3W8f0w0$?&EglwuwV zHrG+DsQ o;}Pd(%*5n*@Rr6Fvv_|c^V z6*)j8Q8! mia>o znuvbkuHLX{RS_hrbw2{1tAanT-V(1=zXd__>4DlNqbsY+UWQ>lfR=(U$k~l-!+2VJ zg!(1a%7x1xeoT;6l|{ap|2;(1fV_qA`s{TL9-M!JnOIqqwd2B^Cl9ya=6@4C@=_Z( zCWL# 8lPgvCTzrmu$4vj0`or+nwOEh #iT6W&xHCnY=j>X+MMYxmfXeFC?)+|zT#YLusA}K>jW_30U(n)pfH3I$ zfRU>MIwdsein;w@J0IRYcKp2|O$uX2r0y{}=%}Tl|NWgZ=l1X{w&AMhaL`R%0qWx- z=VZ#O$?ey)bdS#8ejElskHNUT9l*vKAfNWp3T(|q#!2IE74PgtO1Xb?G|=p~e;XOS zXVJmjiBdtSowj6wM_RH~rk{`GrT*YX@yUJgNfdJ*`&KKq=|#tJ-@{CXTM@fKUEoMp zR^}5H>ffKG*usV)^weAg?Zu3@moO?bX5<1LJz>!DuQa# ^ z`uN7_F_2}UPYpR?U>K!^Sfn6xuD*OQ7QogU+F8U6yfzC+qp0(o{Yf1O@Un}8)2~-A zQc%w@X;p>18s&VA?inKMs(sQ2LEU=vhm|v6BM~vm;plxNu4qo)BU6<>Ox}Syk-5fn z+x8g_yvWv+TV{GCaL+mev>sq31*~h3*rmU+^%-o?tI2TWtn<)(z~tnocjr3}BE-eZ z4+GBwWniCV;f8oW8X%HY#5K9^il_eq7D`As|2s39Z7O0$jov%(jMi^$hxo8 GmbuL#S_6P_ zFD6mL<_Y70TZJ!s-3@m(%d5GV1)d9y)V=vdkik9?<#wSPSz%)BxP$AFbO8u-QfkzA z9RvE32;P&hFb`TSy4dEoP8jp)SngLiH-}uV@AyK7_yItv1>NIeR`$LL+%%p4aV%is zui!0)H7eIt#nZRPn>g0;z2k 1tY_X?ccJWV0!jeJsevZ zb?k6PtD7 2>t~GLtfYRnM2z28c)9aL?T_c*u00cXC15mFNW w7){y5CLL7yiYk72@hC#_DuIU}feCuC(J(2>Dc(pX#n*9+_NjUreR Z);%%@$x@Ek0qbnVoa~+LNXG+i{10CFeH;J) literal 0 HcmV?d00001 diff --git a/edgemesh_HTTP_communication_demo/images/check_pod.png b/edgemesh_HTTP_communication_demo/images/check_pod.png new file mode 100644 index 0000000000000000000000000000000000000000..ed1fac417894812d8dcb6d4235291c6dd292f430 GIT binary patch literal 25786 zcmc$_XIRtS*6?XZML|WHl&A %2VA-D-yb}{eXY{k)aU-U+wVU3+OE=W@dfUOeNeqSdb@U2#Pc#A z?&p3!^yG%M->zLJ{CEEC9(M%a92?C;mb8*fn%wd7Po6xPtAG zeSHT74%x4o0 Ys|2QKysF=)p$ezgC@UDN13rORu*5P3`y&9MTfY_x zkfF~Q ;L^aYbjKJKoQTt(7lKoH(8Yhf{m( 0I=cE1PMM+8+R@o==4|Xa(_)iqa%?({BDY5^7QrccH)0bUB7~ z86R_-wbW?$i!VGcd0@fvSp4lj!|MGRmiCRHThk&&xi|RlDFZ9iWS0MXz(e!TUmbPU zl_J9MbfAefI1pt`8RX3NBGpGRDo>4nOyS51pT*Ex%sq^E`izpHUnENyd#%5h=RA06 z;xNs@^89#0IC^#2LN5ajgIP kErz zTtCJ_amvEtsmei kqTiZor|(KVHHF{?Eg5VJ0xxJ3YcwM^>Z45|Uy!=vM( z{`|`inMrrX*!iDOWYBi_=KSEC0%CfrF8MADnz%OjktymA3VDN99ujsrYsb;|T6@4g z^^dKz_i#mj`0k3=dO1CB>9b0+d&8TfS30EHKE~==W@uDVMhLIIkV{pM2N gn$P z_z0@3IHiE_nf%wAqZyh>t=@x+mLda1w|x^dk_{~F-GC8K%{E@%k*PjT|B_gEhxsMF z1%|JLoQrO >&E`$ znIvE6^Se&U$WI^D^W0~iaouCYz uR1IUV-pku !`>tM5?i9PF=;I&8{0rtB1gZ9X<&5&qamW75?kzn&a;$_|g1N;r zQ!a$G%d;Ob!lG}Ngcw15%_Z6kdP(r?g#tCS?p!D;$bM H`o64pV3^63 zHptu4x#Hn#j~@|b>fzEzjoG1#1J%QZo(_lj{AF$2JCF2Tuxqf)aB*MX{S$)sS9EJG zT})M^8F3znRY?dY$K_*mZg?v+pI@|Dwi^{M^*1O_XUw}V#QECXLk3Q1Zq|Dc)NeLb zR%705CMh1@PH4ze7_EA<+8@a?hDDF!-*%%*mymF~f<~ZO$QQHoSJ3SHcH%_(5fiUZ ztL@|}quNHh4`G|1-!;oN%5A2s8@VQd25xe0XDwS#YBIk49VKH_W{+$+$UHw%`Hc86 zWpU^Se)GGbg+cg9yDJ}xAB#=g`)Esweq7ZMw%#r|Ud*ZlBlWPf-Ee&gx4qa(2@K81 zOFgtFj2*Rg-v8Aq_9K>;L0e4nGzu{K`EGGU^ta{r+LOe$b80D5d+}9@Z_7MNLQQ&C zCcrvr3xCXWadFcmYx!%ptk{y{53*?9kK1D=Q_xf|SiLO!k#gBqrfTa;Jlb7PH96#} z1mSzpow2P;{|@jm!TYi|9Nxr=PEWd)^t^d8(3>ngavG1o$c1I{IR(v}QpXQzzvc5t zXjqO6H4&vvL%=t{E~wII2DlJ(nq!^L*LMaMR90i=`3~L$ZF_1}1qpqyq^!==+7!eD z4)POYJ&G59NArF2zxeTTekRc!A?F#1CYoEcQVS mh7UK z?IL38q&bQDV9=BY+*a_ 6vgdUcEZ#I**uziM^P0d*PAE11?E`;WO4F_ZJcYXKFM$0}~~O+hNuD zk25@yS1PYpJ~ysj_%g^IX7BM-g j zi{V*_XPI?ecipy3C{AuzO`gdW@IH%cn2d1O?D;ee&0+OjxKgesHknYiz~HI*9C)Dh z5T-{S+pfDl7nalg$E74nScBG3Otm2j^ZoUeWN$;4YebC~%84`PE-G(I1(E-(SC#m$ zt$eQMOe_2)$~#0g3KPH(X XLtf6cK$11neZBd`jQ%Y#kp%K?pe}-BMP2vEm6-p;Y zw|=yLMDvxaeJ@6SpG3St6JM`pOr>wj36nv(@nT<&O`X|1{!G*CLDcJXc2;8BT}m0| zqk#9zZE)~9#L>^L>A*M`5m&mfwIlP<<*WSaC~#f8JucP+AP^XJ#xB0}*3)T#9l#}C z5>(sw$eV`_aGWTPVaHMMo6_Zq_Wfi;!$-0IA^PUsCGJ)gRCjFA@ha(&8Nt7i6vKVC zGo#>^&&&$A^;f=Ci$4@DehN{{sLGk!=VLo4_D?z@;>6bc6qZhC^!mE+WcK*T eRkyJ46*TRHi*o9;vU2I^#w?9!xr(( zT?jz<$Nk|%fPZR&*?rStqU_AG;o|O`usMY-hyR!jm!=8--zy0}>Hm)(3Gus*H^Mg8 z`;9>%GvVC&r*yRqfKcdcZHotB?YN2k=zT-2%G(V>VrG&nqA%`pixNWPi8f;U91)3) zOIEgT*t#1^+!~f3wiXy8v&XRr&N^kLbIsYMGn^mLBp=_y=WIw!13r&`6zyT2QN?)_ zwn&O#w7%!m&RZfLx(^60RjxrtVf?mI*zOaco=0mIFxOG{XN2{#ppC^rlFuf$*1^t) z$+kfU jPfn3663pIe;L>2P z$)%_G)t*wWMp9rn4D_X+nF=xLk7>ycV%cmmU {b%5nMxKH1Qq*YGg(;R_EB}*Et701qx)qH! zE5H1b#HvZ_UlHys-cy#+$nDeiuqEn>2 oKq?iUJ$y3@{=evPEuCtx2vNKo-Pi#3+6B+qQ`Je8*BzDLl2CarP`dk)VbX z$Wd5q{ETo-*G>EO$j2n_fZ1M+g64r !yZ0g)x?YLZu5%gc{+-But%g zDwOoqmNjn*U@phanSh8#WTcbkpb^U*?}U1`kmteBYecybLBLQ0)Yqii==YE52i&@` ziXBgw2ecZOL=!i4RvNFzb(dAO8rL=^iozrnLrYsdI5=JW#4S{uN~-RCYmIDT%*fps z%Z-bVmB|;d<6+7K&3g^IohC;Z4>Ba%aoVvNXMAiw;i&2KG^ZbF0j0^ kh;N&7LDTj$<$W6XC7%5wEI^LynOf`pTBlKD77_pWIjoC6~{}%-6kcM0tOYNlUkiu;zeW*OfO? z7bmG9#xU m<{r?Cp`;PE)rakdj0y;WprKj`CYf_3 zmlBhwKi;u1Kl0m@U)O!uV9h-8(@It>v6LePp0=!QtlT{Y^kbC5dDe5qFc|2L3g$6U zC|2;fejecEsLc_D;yt{dpPL**H@kTxg%yT{$Ldmdp)(&Oi#idc^2n83A7Q^H0jiCe zOJ;BV><*akGY(OEp|f4)@=8Xq0q5OP!Zq~sIF1yMk;*U%pwpYG8*AI&B9xLL&?uxA zOsa~eeV=I?Hq18X_^Zp+v{0>0wr2{W@@Y7bUjo xKCPa@1&eL?nJZ7Guz zB2*m`9 ^BEZ^zwgIyHguXQF7qaLKBH@y8(*`Hfjy zKLkLF#$yF%M?mkm+kMo|IA8{v2*U8>LQfh0l;!wycX;C7!FIXw=i!D=-#7~<)rm`B z_$bEe(q*cdxa#!6Q4yzAQCx$z;hrf4fvbyX9t4#6Lp2);+ZT|~8N6#zOL94Rwd${` zTl{`Mb##lJrGNsw^IITQ6ru=gmWo`n8HGj1F#S51TBgiGcuixXHB9nCXz4c(4jN(T zV^txYO~l{c9vm0v L0D?OTP+00;2ou$ _>(@PZX%`A!$i2({@wISo z@VF78DNsS|jHXjeUErnAS)O>D{y3PfI5n3-){Yxa%-?Pa|MiLa!0_S%PPpQzwmgcc z`oD=^p5Is-0e|8g`ptT>V065_MCZ3G+3zSfe`LMezDNW9?$RCfjGY6jK1LX<%y8=- z8&7fVx!QR`NaB>|qmV`+Z0e6KvEyZGv%Pf|Y+ps<=|7WlT?y@}fQZ*gCT1VEwpWjX zU&MH&jSIG1^+NAzC?=W#&mRn7bM#?Uq#nyZl#w-;{eTPUPerui}2|xKrHW2@X zRQePq8sdJW;HPtAJn0_ptV~Krr2jPqz`}F*n#tdLT^`*Wt2lL@GDe1fKx!2(u6w-5 z_r8@WG4f46^Qqeji!*>Y=9xm|2Ey5pb049olOa{b_2Q+8ko38je=T+ARn5@S-Jx6# zmHcZ-*2wym$h|S?NxDKIt0F|SI`y&v-^mPj(y4ywxzyRKEpinfHwP|+`jzqyhT%Ur zC1I^~N1b9s{XQ|1 b~|p3DqhgE zs66K6jBx(AV`DC>6VFq^<1l!nM7DgWnJ(AbF*;JKYN2r-`>_nu!}lcM#T-WvL@t|n zb+9RBB;(=3n)MYOr 85CTg;;OB zUB9!^t>0R^n;LF@nl9!_P6ELX#1qxbVS^v%Q*AXy$Gza_hCZwi=#QI|`eM8ze%VlE z(>%@6fRW;y-HA-i3Ang-pP=F5$qT2@h$o--Wt|BQxH>qrIR0 LepGUiyCK{X5^aBO%|dPlV<5ZwH7Ct=u<>LyQDy-7?4=a6<6TX%;NXC zG3m|Cvz0vPXIAc}AFnh8EHK)psH)~L?-1;sI<%zRcIwU^l6FSW79vXFuSd*=A@t%= z$nk|Rv}ATa67~o{_$jM-P7J?r)@3kKbmB6q^i&!eXR%rOCqVaZrMKzFzSEX1rVNw) zmVzWVfaJapNr!Ic^SVlYhK4~Os`>o%PDCrButr+_ 8_h9h1>pd;l1?g zHYB)ZCp{Ssf_>Q1eDB4XgwZuOD;V)2_ja__CvN);_HV8|q<1@~khz4P<=P3aYG!8u?_`t|@;%k|ewL^tmm zP}^WOZTxK1gcOChTL|<6SvgEIbe&x3ot(Q-6UX0zWZpr_DJ7y}Hs7w`sKZ}*DouTa zMvs`-uXK^U3CCk5@6;WPDXvh8OI0a7Gk10)sg0S;P2}r0;2N{ !04EO0zF+*k$7 z1_zas8xjZ+={zgLKSu?bVOn&(pW)Tl|1G((Ol!+^kG&xl!`K3DoKB?gherQd(`1?( z+3y?-$HRyU?Qs+dGPYh0=cX#LBJZT~8b)kdu_~#qC%p$54`Q-OgBm(&+2E8}r%Grf zaIRj3H2r{{5pXqN%}8fWsTwOBSu>+`29^@>uLP7F|9eZ@aHWgAulgu Z8aad=+Zd?+4*C4ZGsFi+o_@eie@OnH)#aa3)RynRYSNwB*Y?o=KaU7uRBoYI z06;Lw3sY_JE{!U)LEPiF@B)5-F1)LCb8RA3b=LPMl>T0&{Ov!uDsD252MA)V_bV4p zE4A*NY$>6GKP__UaY?i5#i@<@z%~3cKh9P#1Ktosp0wdR%;1*rsZtEF@rGbiyv|wi z6Iy(+ng?bdbeDO$HIy#?Dd)Wsqa_I!znvtdT@ImBW|nk VL zC9)B(1peoCe)Dd}sG+kse}u1}e~wm^Nlqzdwl~3eCe=nO^Wm!DvTWcBh)x{NZRC~& zsmSBAUW~1IsF6o-sLw@-88UR8BpJ7?JdY0?o+R?wv0@sxfbrqA3C%W){T#EE>z2}p zvceT}yKvOh@Q#gLQ<~XH!}&6IjV|WSNY>UoNg9Ku@5=6ybRuYZG`VHQ`ctjM_9<*R z(eu|Q ce|T&+*(3oSiB=5^#*`<#`BI<>RyGeLk3Y|H-?Ub z=9v4P3yVj7f|6-E9zDP08M`5ts?cjRyes39*O0}OzuNbB^$5Y#I;I7eQ@vF_z3q2F z19};QbsQ^!hok29+Of8Pl22R^O(EMg4XX qLJ3K=-?S)OI zfl97!|GwWIG!duoXCT9A4tm{Z{oEzpfl>%6=RRXikREn4#VW4s^TU=|laeb}R!5P! z97A&H(F&t=<%zViN!eyYDc>JgB*h(&9@4Z)weDd_t~b;Oc;Qo5X+AT^;VpLb{H#~< z1wT`}hZdL((dHC}Z_SBwSxzW-!a4F2xl2SPJC@e` g!1RK_t0T>!$5v(SuPpZt ztRw=qY$#UItjDJF+*Kn=m-2dfNG2Vn 8+7XkN%+mN@z^k_ZC(sT zA}*WXqZbmJZp79W7z<5=Zy13?>SphU_&jx!Hw&l|mmtoPPe1j)9O_;1fea2$cc+>= zeSgv da2hMGCl4PX1yj@R)$q!K}e) zi_^;14i&)uS!w6aQ-jqKu-~GTWaQ)?hj<-a8nwdZ;jnd&cQ1n24j80{a~XD8aiv08 z#brFscN&@vu?xN@c6L~|;yOqy-G}cRYqHj~*u8s?I)2>h?skQa_fIc9-PTm|5Ch$* z_qOLVd?#AntwiS4@CT=#H{~0jp#jua?QH$$-q}p@0A$qz?lAYaocL@^GT*3u?udRI zhM)TJpdt*JSF&Ch?@D12WL?qB-L2N_>%8+LXfNf|Medebd)S494Wl90({(Ld@N-72 zyqdNOm072x{IUz@m7TD~aoaZ_A28lL!(r_1t>?_;t;{yWcyZ%ByLTJJ(uo-qYI69; z`4%bSYZ1TctK%^`S`ejtM3VA6ajO0P>M7G-aG$0$7p_hZ-g|k-x7?C)&DT8Zo}+Bg zp(l-`IrtqH{>Zm84tEgA@FRR^QpkF+KT`B_`mS@j3}@qW5K=Wy7MjR#g4K>V#b} %I2boS z{8#bnw*ZU`e&R62R84eEb#ePJ9rJ$3ohr9!w~RbEvu>PZE`d3T{hYkHSY_ftxZf)F zTeH(E5~&S|s;pv3)6uI!r*#L|R;5 P@MVp6K*Ue6Bq;F}YR16ogSN$!|&vA)CeP zfw;NeEdc-HJndy`tP!m+NPTmEMte(!qnQd=oXTvcfaf};*THm?rXDZ<)~D}MwUvvX zitX(do{LULu?h$WRrhcAbs+bYqXljqiMZLUbFxJ<{p`6ts;E~H4AdvNIY|?H-g9pc zaN*_oZI#3iutO)fHt2|vs8i~zK3`M(?spZ}y>uIC#7ko@;S9C!!sD5VND!GW7^3#f z{?QLZh&dmSSXK(3?IW6c=FHoa%EiAMl|}IWUQS*~O*8A9t6P(w)|iEm$EV9C6*sdS zlPnh}|B4_LhO6d)Hmsj^+-2OSq&hs(9gal~X*5`B@}9 ?nXRAHdQ(-FR>@TSN)@k9ot2iDrvBIz+`6N? zpYej&@K`rtn{Q%n|1s(wN1@ H`LRVPBiy=9|hofyaecx`#Bq;i-HA%p7eyL+0{M7gR; z7>W|Bmx}97EoC>-_e`ICikI{)dSfff;?mt676I2HP4>^-&$@Ru zZrQ3&PqU@+M|V_pONQR2b$@lM XJGS^v|h^k{?q}DFPLXb5Dkm@)AY?eHAVD>jPNQaHmzIcIp`(Q9p`a-eoOF%_77x ziMMX$>lf9>^(ue1u@l+h%?FcXD!EeSSKob=+x@Dvc(LWaqr%{!J7(ag9(S})9LN%+ zj~3YUgc#mbs2S0(G%Z-#|EyBsUu&)^xWrq$@=Q5R5g*YOxt0hLaW}`o@P*Np6-xN# zc}+Dr9{ib p;WAqQsPQ&*lFmgH-N=gK|OX{v;(D0!F8BSsBW6SlBb*y@XG&WFMQ|$BJ48aLe z^@gIdrji`@D-dU^$q4o$er> jUa9+ItJ``+u5O}miw;=K?X zM&O@)D#_A{(Zbgl usvTm#^p=wJmR9 z0~_J~+8Nt#;L@~9v}r3XEeM8DPd^LukMFJOOcUkiU<2Gkx|Ty{1vI7m?mxff`lt#L zxm(38J*dmJ>?>fn_l|bQyB4raqWblrdmZoA+VhtqqiY_Y)pd_onQge(o!Ay5X0DSk z@&3c~{ ~f-Ct(R5aVXg zrDlt@8%tp=k7*3$+ICkQ7;(d`rY#Y6``a-EZov<5o!TJDeEDf2`*NGrd*i25&`ZQb zfSX@ZSx!j1Qr8vY9?yZHZ|)v`;U*KS62{$c7#8HLNU 9Ywff%4uTO4 zq`Yeaw;WDb@3&9-rBw d*=-$s6K{?k&3df#%nrup1 z?aI3{5%$! 9*UyZYV<`cv`n7oklsGDw`bf}|JE9~ot<1Htt zO^iPPphpv1=_;ufH4GW;+N{!J8bEr=h8otHQM&oMv+pT+XYDoKUcq1u3GKuoY%6l| zAZz4F y(NmY}0LR~X7)|absnDZqnxzHe4?&uE)~3ECr&aSz;9h^oVQqOms> 6?nk&8P8t9=iu^k<%JbxWT&SRJL08fGX5bivh+SJ5o>YmB6DC@x`c7r8E-U8i( zbm@fq8ZmQ#O6^}ZG z7^AonvWcJh+E}4E0$fza&+vAfFv5iT$7a9do;p0UrYWmbcBUys)uJda#i6Ac9l}nf zkJ$^aYfI*kljp|Dai_R9-rE#K`;h(!Z?=VR{1NuAQ7d@=Fg0&Y^K58ObL~>k zj8E_1NBx9qQAq-G8$nwt0C0XU6~tpX8~q51aNF+*W(J4R&tU`DJjR^$jS1zYot`&8 z*gV~yjAg?(tNjRC88f$`TjUAz@4;@zV_7WkY<54WiA_f`Z`P5#yW5ocT-l2xY$yZE zW^j+(+2h{->7Co58Ga8!$2&P3_7-~s$zs&ALjCSGT}k_8u)^7@uXFm}{+5>+hNWh# z@$Dwix1L^X&Lx1v*!OYRoWFJP_dL3 -54Lpd1*oRu{;ZGm$Kw#^v>bWZ6#*A$-MN-+w0YPS4^ zLygZ`KnOYi`%8a*GcyChOr2O;qt?9z&ix$yMws{*md>F=*elAfxFY-jC_|dyJ6+mH z-B700_y2Tpr1?=H>{XI6nfRWpA9JfaGt8R@$oZ{&InAVvwLl`8T%_*wI^?5aC#S=1 zNCzJ1_CnIL)7j6+ldb*SmW6Cx1e kyAZyr1b{> -Z4eNGd%SKCHmS7@m-I44YG&-fgsk;|k+ zG>-emGVx8?SJpu^Zr>M3PTZ_@YtGVz9PB{w`zF$C)t}DM?h9(lZv@X?d6pLcs3e)4 zcxT9X%zCyM+-7VEqGWA>1Z)_uY1uBioXr0LnS$@aFZ$VRIm}+m90R158*8PtRHj9^ z 9b}fumKVE0^;`lHhb(1Rb$QqOZ_j)mh20#O zMSG=y#rU~vN1NLsUZ= wywT8kiNO|g-hDzyx&CWOtx#?4pJI`H)f*(f-`wVx zGOaIx1Mwk!Na23?l|)~m>vA>^P6x~=?`Pzq_bSe(vX^^$*=u>B=^GgynX$Dx^Y-Rr z*58ypewUv<-%Va>hZxDG_$t`m;xwK`v{dZ=o!oRhq-d)_hzqOE0Os{0rWEK`hZCo; zD(?Pspm_D{z)_fglMz45A{j`EnR)V&zSv9dAH=$_5i%H-Zw;O4mq)Ys7r^m3!%wG7 zr?(-MVn8u z)?f#o}L(k++@W2p_G|_6=W7rZoxgz$MSAYW> JSwrc`smC >kbw7?qr)AOMK%cht3zi)LepIt6uMXp>#^29K89H+Lv>t z4y^=q$DYU_S;a|Ulv0{g*zaF&>)B`G@2(1Vg1IFdGvj>Q#U;f0eanr`_P{>jHThvY z(k?iy8c;(cJ lTc*V#P2nW{puk2PFWEb?@w8+>=sA6G<*6IyK6t<_xJ`lYw8 zaWT@W#XW?XkNUNci+)`~tj!o^Vw*@I?qISD-6R_=PEUs~;KN3ab `Cdt#<^GL7>!SEN3}uT;HRat`LQ3JJFNf>y&iG`1 zZ2H8UNS ~zkpIHe;Zec_6asUtdOkiqL(wEm~~D*j73PeK&9_YG37 zvWwuT&{m<5-R({g=?O9@Ajy1h)`)n>d2FsS9#0(RYJPqQTY&w(c%8(N=!vx-eyKZV z @Y<-v~&@;$PYIigkl(L5_G9J zm21JmOP9Qy>1o0!UwaZIU!EWT@SeT-%8OEV@771#SF#B80rinjt*^4xP)(O+AIR!L z=RoNq6XrTCw&qRIkF_;{?klkyBtqco3$Il`r`kA9^JIHUBL!wnowNVGUd-)p2Wc3w zu4(>05<4@US^Dc)4i-$MOZ^X^^&Jad1390AnQ?29mv@{e@2H^Dq~d}@o#`m*%n1gH zDGPDaz&O@-7-grL*T?Rj>!i*^^SgRQw}y${c^(wI`(&7@OV0iSdcwxKYTsTKg0(Ik zpVWEL4SShM{9!|x?^W~p>(+DAH=)TdoKt&PyE4qP-=)D4z69qf_}iJE$Iv=?G=EJ! zKhasw%CD5B=%`lQLFpZUMMf3^apCg}$V#5}c!s;$LBoj-qRPjsq1~P<_`sF5bzzbZ zD3@V%zyzDNfn7}fIno>OS%0%YM~>8ZvX*;BO%dk^&ZowSd!Iu5_EWILPLt1{%`zYR zbakTV0MmL9dJgFnU|`8 wxl*v8Er*O6hkS z0WPVz2&GywQX*<@fd~Yi$scx0`|ka4rLQvesGMO|IH8wYOY^p#CL12H)D+R&DGE1d zd2{rG4+kp%4P^~8l}SWlE}0kNCW!k^eG>>1KX_}ug#zhS(a5~1gkG8I!adP7!NS20 z<}Sg%c2}w`&W)%|78R~L730qu-E0fEHyByU;x?S)AOHNywi;h4TaJ!e9JqW<=UK6O z>oXza&tb$P9z*Y^J}e A