--- a/HTTPClient.library
+++ b/HTTPClient.library
@@ -1,4 +1,4 @@
-PK„|7Q*gï+&)6470a90f-b7cb-43ac-9ae5-94b2338b4573.meta&Ùÿ 	(¶³xúÕ_ØPK„|7Q¶•yÄ0•&•+6470a90f-b7cb-43ac-9ae5-94b2338b4573.object&•Ùj 	(•Œªÿþ<?xml version="1.0" encoding="utf-16"?>

+PK6E8Q*gï+&)6470a90f-b7cb-43ac-9ae5-94b2338b4573.meta&Ùÿ 	(¶³xúÕ_ØPK6E8Q¶•yÄ0•&•+6470a90f-b7cb-43ac-9ae5-94b2338b4573.objectû€ 	(•Œªÿþ<?xml version="1.0" encoding="utf-16"?>

 <Single xml:space="preserve" Type="{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}" Method="IArchivable">

   <Single Name="Name" Type="string">&lt;ProjectRoot&gt;</Single>

   <Dictionary Type="System.Collections.Hashtable" Name="SubKeys">

@@ -301,7 +301,7 @@
               <Value>

                 <Single Type="{bf4dffda-f055-446d-9d7a-5f126720896b}" Method="IArchivable">

                   <Array Name="Groups" Type="{daecd4be-1e2b-4335-a125-4a1ac83ea49f}">

-                    <Single Type="{daecd4be-1e2b-4335-a125-4a1ac83ea49f}" Method="IArchivable">

+                    <Single Type+дъ="{daecd4be-1e2b-4335-a125-4a1ac83ea49f}" Method="IArchivable">

                       <Single Name="Id" Type="System.Guid">0c79ffbc-7721-4c6d-abde-fab7c11b502e</Single>

                       <Single Name="Name" Type="string">Everyone</Single>

                       <Single Name="Description" Type="string"></Single>

@@ -354,12 +354,12 @@
     </Entry>

   </Dictionary>

   <Dictionary Type="System.Collections.Hashtable" Name="Values" />

-</Single>ÿÿPK„|7Q?¦ª0,')28ac1364-ebdc-49d9-8c8d-91b3df191afb.meta'Øÿ 	(¾ Ÿƒ]ÓPK„|7Q‚&¿+28ac1364-ebdc-49d9-8c8d-91b3df191afb.objectèÿ 	(PK„|7Q	綇50)b763d4ec-14ff-43e9-bbbd-c2d3a652e5e9.meta0Ïÿ 	(€€€‡7nûÓPK„|7Q‚&¿+b763d4ec-14ff-43e9-bbbd-c2d3a652e5e9.objectèÿ 	(PK„|7Ql˜ä5:5)373bf815-4ae6-45d6-9154-db2fb90f8702.meta5Êÿ 	(!“€€€€÷X¬ÅãÓPK„|7QÍêʜºµ+373bf815-4ae6-45d6-9154-db2fb90f8702.objectµJþ 	(¡
+</Single>PK6E8Q?¦ª0,')28ac1364-ebdc-49d9-8c8d-91b3df191afb.meta'Øÿ 	(¾ Ÿƒ]ÓPK6E8Q‚&¿+28ac1364-ebdc-49d9-8c8d-91b3df191afb.objectèÿ 	(PK6E8Q	綇50)b763d4ec-14ff-43e9-bbbd-c2d3a652e5e9.meta0Ïÿ 	(€€€‡7nûÓPK6E8Q‚&¿+b763d4ec-14ff-43e9-bbbd-c2d3a652e5e9.objectèÿ 	(PK6E8Ql˜ä5:5)373bf815-4ae6-45d6-9154-db2fb90f8702.meta5Êÿ 	(!“€€€€÷X¬ÅãÓPK6E8QÍêʜºµ+373bf815-4ae6-45d6-9154-db2fb90f8702.objectµJþ 	(¡
 ©ôÛÂ		¾•Ž¿Ý	ÀJÁ®ÂÀÃö
ļ
-ÇWȃɤú…ÊWËZ̍ÍëÎÈÏÌÐìѼ
ð—þ›¸ÿ¦ÒíÓ•ÔîW„gPK„|7QX×ÇÉ<7)0610289b-8851-4d53-9afc-657256c079f6.meta7Èÿ 	(#«¬€€€À­€°KâÓPK„|7Q€&Æ&ÈÃ+0610289b-8851-4d53-9afc-657256c079f6.objectÃ<ÿ 	(¯	‚®™¯°
-±
²³´µ¶·¸±PK„|7Q‰À‘72)e7b77198-76b5-4e20-bc6e-9f0b3d94c739.meta2Íÿ 	(ÀÁ€€€ñ0–ÚûÓPK„|7Q‚&¿+e7b77198-76b5-4e20-bc6e-9f0b3d94c739.objectèÿ 	(PK„|7Q*Íu-()735eabd6-b762-446a-9232-7e8b77b3ec05.meta(×ÿ 	(ÃĸùÕ_ØPK„|7Q$…îü+735eabd6-b762-446a-9232-7e8b77b3ec05.objectíþ 	(þ	áÏñ¦v~ÏâÒã‚êîÔäåñibÆHæ³'JAôº	gñxƒ¿gãFÙEYÚÚäñÓy«äèêñd'-ï©gEΎòªÙNDÇPK„|7QzŽfÒ<7)3ec260e8-feaa-438b-a153-87d5901bc41e.meta7Èÿ 	(#º»€€€À­€$í=âÓPK„|7Q=/䑤Ÿ+3ec260e8-feaa-438b-a153-87d5901bc41e.objectŸ`ÿ 	(‹	ݼ°¡
¬
±
	´


·¸¿PK„|7Q‡zŸ7/*)a63becff-d2d8-4c37-a0f8-a2ee7c533ed7.meta*Õÿ 	(ijk€وÎÝsàÓPK„|7Q”Û×¹|w+a63becff-d2d8-4c37-a0f8-a2ee7c533ed7.objectwˆÿ 	(c
	™pJWZWPK„|7Q+ûx72)1bfa06e5-4a2a-4369-a3d6-68ec39cdad4a.meta2Íÿ 	(úû€€€üweüÓPK„|7Q‚&¿+1bfa06e5-4a2a-4369-a3d6-68ec39cdad4a.objectèÿ 	(PK„|7QM£KD<7)b646309a-ad0e-4d73-9fe1-641cc72cd0de.meta7Èÿ 	(#üý€€€ú­€»{9*âæÓPK„|7Q¹R“—˜“+b646309a-ad0e-4d73-9fe1-641cc72cd0de.object“lÿ 	(	
-
ÆþÿÀ–Â¤‚¸ÎPK„|7Qyé•1,)0ce4a395-e620-4cbf-8bfa-0c5279f11931.meta,Óÿ 	(ÕÖk€ÆtMâÓPK„|7QàM<KLG+0ce4a395-e620-4cbf-8bfa-0c5279f11931.objectG¸û 	(3
F`Í
+ÇWȃɤú…ÊWËZ̍ÍëÎÈÏÌÐìѼ
ð—þ›¸ÿ¦ÒíÓ•ÔîW„gPK6E8QX×ÇÉ<7)0610289b-8851-4d53-9afc-657256c079f6.meta7Èÿ 	(#«¬€€€À­€°KâÓPK6E8Q€&Æ&ÈÃ+0610289b-8851-4d53-9afc-657256c079f6.objectÃ<ÿ 	(¯	‚®™¯°
+±
²³´µ¶·¸±PK6E8Q‰À‘72)e7b77198-76b5-4e20-bc6e-9f0b3d94c739.meta2Íÿ 	(ÀÁ€€€ñ0–ÚûÓPK6E8Q‚&¿+e7b77198-76b5-4e20-bc6e-9f0b3d94c739.objectèÿ 	(PK6E8Q*Íu-()735eabd6-b762-446a-9232-7e8b77b3ec05.meta(×ÿ 	(ÃĸùÕ_ØPK6E8Q$…îü+735eabd6-b762-446a-9232-7e8b77b3ec05.objectíþ 	(þ	áÏñ¦v~ÏâÒã‚êîÔäåñibÆHæ³'JAôº	gñxƒ¿gãFÙEYÚÚäñÓy«äèêñd'-ï©gEΎòªÙNDÇPK6E8QzŽfÒ<7)3ec260e8-feaa-438b-a153-87d5901bc41e.meta7Èÿ 	(#º»€€€À­€$í=âÓPK6E8Q=/䑤Ÿ+3ec260e8-feaa-438b-a153-87d5901bc41e.objectŸ`ÿ 	(‹	ݼ°¡
¬
±
	´


·¸¿PK6E8Q‡zŸ7/*)a63becff-d2d8-4c37-a0f8-a2ee7c533ed7.meta*Õÿ 	(ijk€وÎÝsàÓPK6E8Q”Û×¹|w+a63becff-d2d8-4c37-a0f8-a2ee7c533ed7.objectwˆÿ 	(c
	™pJWZWPK6E8Q+ûx72)1bfa06e5-4a2a-4369-a3d6-68ec39cdad4a.meta2Íÿ 	(úû€€€üweüÓPK6E8Q‚&¿+1bfa06e5-4a2a-4369-a3d6-68ec39cdad4a.objectèÿ 	(PK6E8QM£KD<7)b646309a-ad0e-4d73-9fe1-641cc72cd0de.meta7Èÿ 	(#üý€€€ú­€»{9*âæÓPK6E8Q¹R“—˜“+b646309a-ad0e-4d73-9fe1-641cc72cd0de.object“lÿ 	(	
+
ÆþÿÀ–Â¤‚¸ÎPK6E8Qyé•1,)0ce4a395-e620-4cbf-8bfa-0c5279f11931.meta,Óÿ 	(ÕÖk€ÆtMâÓPK6E8QàM<KLG+0ce4a395-e620-4cbf-8bfa-0c5279f11931.objectG¸û 	(3
F`Í
 ÍÖ	×ÑêîØ3Ö-Û
 .×/Ñ0«1«
 2ñ!òm„"õ÷_vaQä
@@ -367,11 +367,11 @@
 iØk
l„^’
RvS †wÖ	n§oÿpúq«r«
 sþ#ût¥$ÿ%ú&¾'¼(‚:€)„v„*ƒ+Ç
 Mv;ézó{v‰	‰		y™xŸúJâWаW
ZuãäÌW
-éî,ô	öWPK„|7Q²}3ñ/*)9e6f0414-1b1e-47d0-8ee6-4a7db6509a82.meta*Õÿ 	(yzk€Ëõ“ïåÓPK„|7QN]vC+9e6f0414-1b1e-47d0-8ee6-4a7db6509a82.objectíû 	(þ
O€‚’r“lvmj•=> ?~!Œ'’œœæ	“¨—ö˜ý™š†‹t˜Ž‘ÇŽƒ1D¥EŸF¡G£H¤‡¾ˆËŠ¬‰1IJ*K§L©MªN«OÌP¬Q1RS2T”ƒª
+éî,ô	öWPK6E8Q²}3ñ/*)9e6f0414-1b1e-47d0-8ee6-4a7db6509a82.meta*Õÿ 	(yzk€Ëõ“ïåÓPK6E8QN]vC+9e6f0414-1b1e-47d0-8ee6-4a7db6509a82.objectíû 	(þ
O€‚’r“lvmj•=> ?~!Œ'’œœæ	“¨—ö˜ý™š†‹t˜Ž‘ÇŽƒ1D¥EŸF¡G£H¤‡¾ˆËŠ¬‰1IJ*K§L©MªN«OÌP¬Q1RS2T”ƒª
 U®
 V÷WøXùYúZÎ[¬\1]^;_£`Ž
-ób‰|Œk…†¿–ˆc?deÏfŽhÇwFyx+•œ”¨z{iG	
™{JWZ›œWPK„|7QE±Å„/*)d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0.meta*Õÿ 	(|}k€ô•?RÓPK„|7QúÊÚô|w+d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0.objectwˆÿ 	(c
~		™JWZWPK„|7QÓë
-1,)f8a0ae55-89c9-47a8-921d-af9dd82bf821.meta,Óÿ 	(€k€Ð*c¬ÅãÓPK„|7QQŒŸš+f8a0ae55-89c9-47a8-921d-af9dd82bf821.objectšeü 	(†
3:‚<‡`Ã
+ób‰|Œk…†¿–ˆc?deÏfŽhÇwFyx+•œ”¨z{iG	
™{JWZ›œWPK6E8QE±Å„/*)d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0.meta*Õÿ 	(|}k€ô•?RÓPK6E8QúÊÚô|w+d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0.objectwˆÿ 	(c
~		™JWZWPK6E8QÓë
+1,)f8a0ae55-89c9-47a8-921d-af9dd82bf821.meta,Óÿ 	(€k€Ð*c¬ÅãÓPK6E8QQŒŸš+f8a0ae55-89c9-47a8-921d-af9dd82bf821.objectšeü 	(†
3:‚<‡`Ã
 dÎ
 aÄ
 eÑ
@@ -392,38 +392,38 @@
 T˜
U£
Vð
 Xü
 Rÿ
-WPK„|7QÏjç+&)11c0fc3a-9bcf-4dd8-ac38-efb93363e521.meta&Ùÿ 	(EHKaÀCÖ_ØPK„|7Q4-þ|+11c0fc3a-9bcf-4dd8-ac38-efb93363e521.object|ƒý 	(hJº¼½†€õ­”‹ö©A´‚VX<BYÝA[B\Y]A[B^Y_A[B`YaA[BbYcA[BdeA[Bfd]A[Bod™A[B›dœA[BdžA[BŸd A[B¡d¢A[B£d¤A[B¥d¦A[B§d¨A[B©daA[BªdÂA[BÅdcA[BÆdÈA[BÉdÊA[BËÐA[BÌË]A[BÍËcA[BÎËÏA[BÐËÑA[BÒÓA[BÔÒÂA[BÕÔÖA[B×Õ]A[BØÕaA[BÙÕcA[BÚÔÛA[BÜÚ]A[BÝÚaA[BÞÚcA[BßàA[BáfÝA[BâfãA[BäfåA[BæfçA[BèféA[BêfôA[BëfìA[BífÐA[BîfïA[BðdóA[BõYóA[Bö÷A[BøöàA[BùöeA[B—ù]A[B˜—ãA[B§—åA[B¨—çA[B«—ôA[B­—ìA[B®—ÐA[B¯—ïA[B°Y±A[B²Y³A[ˆ¹¿Àµ·ÁÄPK„|7Qs4Íñ<7)5224bca0-df60-44a9-9b93-c7de4e0bc365.meta7Èÿ 	(#â €À­€g¦bâÓPK„|7Q¿·ÒÈÃ+5224bca0-df60-44a9-9b93-c7de4e0bc365.objectÃ<ÿ 	(¯	®å°
-áÑ
Ú…¤»ð‘
·¸±PK„|7Qy=M72)3196b2de-4e98-412f-bc18-4f7341962a4d.meta2Íÿ 	(åæ€€€†.øŸsRÓPK„|7Q‚&¿+3196b2de-4e98-412f-bc18-4f7341962a4d.objectèÿ 	(PK„|7Q2;6)843242e4-284a-4e0b-8dfc-87ee2cb99857.meta6Éÿ 	("4É€€€å€ìÍÆ7SÓPK„|7Q”)KF+843242e4-284a-4e0b-8dfc-87ee2cb99857.objectF¹ý 	(2
+WPK6E8QÏjç+&)11c0fc3a-9bcf-4dd8-ac38-efb93363e521.meta&Ùÿ 	(EHKaÀCÖ_ØPK6E8Q4-þ|+11c0fc3a-9bcf-4dd8-ac38-efb93363e521.object|ƒý 	(hJº¼½†€õ­”‹ö©A´‚VX<BYÝA[B\Y]A[B^Y_A[B`YaA[BbYcA[BdeA[Bfd]A[Bod™A[B›dœA[BdžA[BŸd A[B¡d¢A[B£d¤A[B¥d¦A[B§d¨A[B©daA[BªdÂA[BÅdcA[BÆdÈA[BÉdÊA[BËÐA[BÌË]A[BÍËcA[BÎËÏA[BÐËÑA[BÒÓA[BÔÒÂA[BÕÔÖA[B×Õ]A[BØÕaA[BÙÕcA[BÚÔÛA[BÜÚ]A[BÝÚaA[BÞÚcA[BßàA[BáfÝA[BâfãA[BäfåA[BæfçA[BèféA[BêfôA[BëfìA[BífÐA[BîfïA[BðdóA[BõYóA[Bö÷A[BøöàA[BùöeA[B—ù]A[B˜—ãA[B§—åA[B¨—çA[B«—ôA[B­—ìA[B®—ÐA[B¯—ïA[B°Y±A[B²Y³A[ˆ¹¿Àµ·ÁÄPK6E8Qs4Íñ<7)5224bca0-df60-44a9-9b93-c7de4e0bc365.meta7Èÿ 	(#â €À­€g¦bâÓPK6E8Q¿·ÒÈÃ+5224bca0-df60-44a9-9b93-c7de4e0bc365.objectÃ<ÿ 	(¯	®å°
+áÑ
Ú…¤»ð‘
·¸±PK6E8Qy=M72)3196b2de-4e98-412f-bc18-4f7341962a4d.meta2Íÿ 	(åæ€€€†.øŸsRÓPK6E8Q‚&¿+3196b2de-4e98-412f-bc18-4f7341962a4d.objectèÿ 	(PK6E8Q2;6)843242e4-284a-4e0b-8dfc-87ee2cb99857.meta6Éÿ 	("4É€€€å€ìÍÆ7SÓPK6E8Q”)KF+843242e4-284a-4e0b-8dfc-87ee2cb99857.objectF¹ý 	(2
 Λ„ºv¼¬¶½ºÇ¼À½¾¤ ”!Á"Ó#Õ$Ö%×&Ø6Ù5¬	¨		2ç-È1J.û0‹	/¡	(W)é+­*´W
-ZŒþ
€‰Š‹W©	gPK„|7Q±vV/*)ef4ecb32-0ddc-483f-a6ec-1761efbe4da0.meta*Õÿ 	(BIk€Ï{‰ÓSÓPK„|7Qý³°z+ef4ecb32-0ddc-483f-a6ec-1761efbe4da0.objectz…ÿ 	(f
ÎËÆ	™lJWPK„|7Qõ€è1,)b5cb69c7-6821-4d1a-a709-42cde67d1eb2.meta,Óÿ 	(èék€wúÊ¨ÜÓPK„|7QÏ!Q‹†+b5cb69c7-6821-4d1a-a709-42cde67d1eb2.object†yÿ 	(r
îà
+ZŒþ
€‰Š‹W©	gPK6E8Q±vV/*)ef4ecb32-0ddc-483f-a6ec-1761efbe4da0.meta*Õÿ 	(BIk€Ï{‰ÓSÓPK6E8Qý³°z+ef4ecb32-0ddc-483f-a6ec-1761efbe4da0.objectz…ÿ 	(f
ÎËÆ	™lJWPK6E8Qõ€è1,)b5cb69c7-6821-4d1a-a709-42cde67d1eb2.meta,Óÿ 	(èék€wúÊ¨ÜÓPK6E8QÏ!Q‹†+b5cb69c7-6821-4d1a-a709-42cde67d1eb2.object†yÿ 	(r
îà
 •	™ëJ	W
-ZWPK„|7QcJ_61)09a67062-6648-489f-893f-6313c819c85e.meta1Îÿ 	("€€€åÀ£S]ªÓPK„|7Q‚&¿+09a67062-6648-489f-893f-6313c819c85e.objectèÿ 	(PK„|7Qç¬c;6)c4099788-f65f-485d-8712-5f8ccfad50ba.meta6Éÿ 	("“ƒ€€€€ñ‚ïâÓPK„|7Q*VXzu+c4099788-f65f-485d-8712-5f8ccfad50ba.objectuŠý 	(a
+ZWPK6E8QcJ_61)09a67062-6648-489f-893f-6313c819c85e.meta1Îÿ 	("€€€åÀ£S]ªÓPK6E8Q‚&¿+09a67062-6648-489f-893f-6313c819c85e.objectèÿ 	(PK6E8Qç¬c;6)c4099788-f65f-485d-8712-5f8ccfad50ba.meta6Éÿ 	("“ƒ€€€€ñ‚ïâÓPK6E8Q*VXzu+c4099788-f65f-485d-8712-5f8ccfad50ba.objectuŠý 	(a
 IH‘Š !¸"Ã#Å$¹%Í&Ñ'Û(ß)à*ç+.,±-ê.ï/ð0ºB™1ò2ô3.A–4õ5›<	Jäu>JÛ	E‹
 D
 Wƒ	ƒ
-W˜ž
¢Â¦¨¯±FïGðW¥gPK„|7Qlçˆ;6)a02937c5-652e-4b3d-b48d-731b7a6b9a31.meta6Éÿ 	("Ãò	€€€€
ý²âÓPK„|7Qo“V¶ÛÖ+a02937c5-652e-4b3d-b48d-731b7a6b9a31.objectÖ)ý 	(Â
+W˜ž
¢Â¦¨¯±FïGðW¥gPK6E8Qlçˆ;6)a02937c5-652e-4b3d-b48d-731b7a6b9a31.meta6Éÿ 	("Ãò	€€€€
ý²âÓPK6E8Qo“V¶ÛÖ+a02937c5-652e-4b3d-b48d-731b7a6b9a31.objectÖ)ý 	(Â
 %µ¶ Î!È_^‘"Š#$¸%Ã&É'’(Ë)Ì*Í+—,òJ™-ô.ÏI–/õ0Ñ1š2ÔKœ3†
 4Ö5L™6Ø7·8„9ï	ZÈ\A	`–
 ñ	DJSÜT‹
 N
 FWGƒHƒ
 WZž
¢Þ¯ß±õ	UïVðW
-gPK„|7Q”,s¤;6)bde0bc31-b813-47f1-8ac0-d59c6c6fa39b.meta6Éÿ 	("ë쀀€€Q®¿âÓPK„|7Q;G‹=æá+bde0bc31-b813-47f1-8ac0-d59c6c6fa39b.objectáÿ 	(Í
+gPK6E8Q”,s¤;6)bde0bc31-b813-47f1-8ac0-d59c6c6fa39b.meta6Éÿ 	("ë쀀€€Q®¿âÓPK6E8Q;G‹=æá+bde0bc31-b813-47f1-8ac0-d59c6c6fa39b.objectáÿ 	(Í
 û	î΄¢ðÈ		!™ôJö	ÊWZõWž
-gPK„|7Q",¿72)5cbf2273-92a3-408c-bb63-205c487a8a24.meta2Íÿ 	(ª«€€€ÖdÇ&`ªÓPK„|7Q‚&¿+5cbf2273-92a3-408c-bb63-205c487a8a24.objectèÿ 	(PK„|7Q_@e<7)e5bfdbe1-6c62-4716-8370-6fc9b969e08f.meta7Èÿ 	(#¬­€€€ª®€آǼâÓPK„|7Q` |ˆ+e5bfdbe1-6c62-4716-8370-6fc9b969e08f.objectˆwÿ 	(tI		
+gPK6E8Q",¿72)5cbf2273-92a3-408c-bb63-205c487a8a24.meta2Íÿ 	(ª«€€€ÖdÇ&`ªÓPK6E8Q‚&¿+5cbf2273-92a3-408c-bb63-205c487a8a24.objectèÿ 	(PK6E8Q_@e<7)e5bfdbe1-6c62-4716-8370-6fc9b969e08f.meta7Èÿ 	(#¬­€€€ª®€آǼâÓPK6E8Q` |ˆ+e5bfdbe1-6c62-4716-8370-6fc9b969e08f.objectˆwÿ 	(tI		
 ™ËŠ
 
 ’’
 	š
-Á
WPK„|7QRæÞ83)83ef5a37-9384-44cd-a098-9655efdedf04.meta3Ìÿ 	(Ö×€€€å¿WB¯`ªÓPK„|7Q‚&¿+83ef5a37-9384-44cd-a098-9655efdedf04.objectèÿ 	(PK„|7Qå­¿`<7)9e1aaea0-0352-440e-b42f-5c4bce94faca.meta7Èÿ 	(#ØÙ€€€Ö®€{³‘Á`ªÓPK„|7Qέð+9e1aaea0-0352-440e-b42f-5c4bce94faca.objectóý 	(øI	*D™ËÚÛÛÛÛÛÛÜÝÞ2ß34à%á
æçè&é?@êAëBìCí,-î.ï;ð<ñ=ò>ó:6ô7õ8ö9÷WPK„|7Qô‚û1<7)0c892cf6-5871-4e80-a5f9-d8d9a6dc5040.meta7Èÿ 	(#øù€€€Ö€k›âÓPK„|7Qž•1ï+0c892cf6-5871-4e80-a5f9-d8d9a6dc5040.objectíú 	(þ
-V ú!û—ü˜ý"þ™ÿ'€(w‚)„*…+†,‡-ˆ.‰/Š0‹2ŒzŽ{45‘6’7“|”}•9–:—;˜<™~×>œ?@žAŸB C¡D¢E£F¥„¦G§…¨H©†ªI«‡®J¯ˆ°K«L±M£NO²P³Q´‰¶Š·R¹º»S¿²ÂšÃªÄ¶Å›«1³ÆžÃ¬Ä·Å ©¡1´Ç¢Ã°Ä¸Å¤§¥1µÈ¦Ã¨ÉY1‚ÊjË	ÂÌÏJgЖÑ
ÒÓWZ“ÔqÕ±Ö”×kÙxÚlÛ¹ÜÝW¤gPK„|7QÙàÏð<7)62da71d9-c483-45e3-8485-957b25ad5bfd.meta7Èÿ 	(#Þ߀€€Ö€Á¤îÆâÓPK„|7Qúe„Ô¢+62da71d9-c483-45e3-8485-957b25ad5bfd.objectbú 	(‰
-dàû†ü‡â þ¶ã#å$æ&èˆé'¹(1)ê+ì,í-¹.1/î0ï½ðŒò›óœôõ·öŽ÷1ùôžõ¸ö‘ü’1“ýŸô õ¹þ”ÿ•1–€	¡ô¢õºþ—	˜1™‚	£ô¤õ»þšƒ	¥1¦„	©ô§õ11;…	<´†	?‡	ªˆ	@¹A1BŠ	CŒ	D	FŽ	I	J	L“«‘	N’	O“	P”¬”	­•	T–	U×X—	Z˜	[™	\š	]›	`•®œ	a–	b×e	fž	hŸ	i 	¢	j™°×k£	±¤	²¥	³¦	n¥	o1Ë	ʧ	ª	J«	‚­	ƒ®	ÓWZ{¯	µ°	Š±	|²	‹Ú¼³	´	W¡gPK„|7Qôñè<7)c9744904-7570-4bd2-9d5a-635478747a24.meta7Èÿ 	(#µ	¶	€€€Ö€òĒÁ`ªÓPK„|7QaØ
/—’+c9744904-7570-4bd2-9d5a-635478747a24.object’mü 	(~
+Á
WPK6E8QRæÞ83)83ef5a37-9384-44cd-a098-9655efdedf04.meta3Ìÿ 	(Ö×€€€å¿WB¯`ªÓPK6E8Q‚&¿+83ef5a37-9384-44cd-a098-9655efdedf04.objectèÿ 	(PK6E8Qå­¿`<7)9e1aaea0-0352-440e-b42f-5c4bce94faca.meta7Èÿ 	(#ØÙ€€€Ö®€{³‘Á`ªÓPK6E8Qέð+9e1aaea0-0352-440e-b42f-5c4bce94faca.objectóý 	(øI	*D™ËÚÛÛÛÛÛÛÜÝÞ2ß34à%á
æçè&é?@êAëBìCí,-î.ï;ð<ñ=ò>ó:6ô7õ8ö9÷WPK6E8Qô‚û1<7)0c892cf6-5871-4e80-a5f9-d8d9a6dc5040.meta7Èÿ 	(#øù€€€Ö€k›âÓPK6E8Qž•1ï+0c892cf6-5871-4e80-a5f9-d8d9a6dc5040.objectíú 	(þ
+V ú!û—ü˜ý"þ™ÿ'€(w‚)„*…+†,‡-ˆ.‰/Š0‹2ŒzŽ{45‘6’7“|”}•9–:—;˜<™~×>œ?@žAŸB C¡D¢E£F¥„¦G§…¨H©†ªI«‡®J¯ˆ°K«L±M£NO²P³Q´‰¶Š·R¹º»S¿²ÂšÃªÄ¶Å›«1³ÆžÃ¬Ä·Å ©¡1´Ç¢Ã°Ä¸Å¤§¥1µÈ¦Ã¨ÉY1‚ÊjË	ÂÌÏJgЖÑ
ÒÓWZ“ÔqÕ±Ö”×kÙxÚlÛ¹ÜÝW¤gPK6E8QÙàÏð<7)62da71d9-c483-45e3-8485-957b25ad5bfd.meta7Èÿ 	(#Þ߀€€Ö€Á¤îÆâÓPK6E8Qúe„Ô¢+62da71d9-c483-45e3-8485-957b25ad5bfd.objectbú 	(‰
+dàû†ü‡â þ¶ã#å$æ&èˆé'¹(1)ê+ì,í-¹.1/î0ï½ðŒò›óœôõ·öŽ÷1ùôžõ¸ö‘ü’1“ýŸô õ¹þ”ÿ•1–€	¡ô¢õºþ—	˜1™‚	£ô¤õ»þšƒ	¥1¦„	©ô§õ11;…	<´†	?‡	ªˆ	@¹A1BŠ	CŒ	D	FŽ	I	J	L“«‘	N’	O“	P”¬”	­•	T–	U×X—	Z˜	[™	\š	]›	`•®œ	a–	b×e	fž	hŸ	i 	¢	j™°×k£	±¤	²¥	³¦	n¥	o1Ë	ʧ	ª	J«	‚­	ƒ®	ÓWZ{¯	µ°	Š±	|²	‹Ú¼³	´	W¡gPK6E8Qôñè<7)c9744904-7570-4bd2-9d5a-635478747a24.meta7Èÿ 	(#µ	¶	€€€Ö€òĒÁ`ªÓPK6E8QaØ
/—’+c9744904-7570-4bd2-9d5a-635478747a24.object’mü 	(~
 ?š·	ç¸	й	»	Ѽ	Ô½	Õ¾	Ö¿	!×ÒÀ	×1Á	ؼ	Ú½	Û¾	Ü¿	"×ÝÂ	Þ1Ã	ß¼	á½	âÄ	ã¿	×Å	íÆ	îÇ		È	
-É	Ê	ïË	Ì	
Í	Ê	ðË	Î	Ï	Ê	ñË	Ð	Ñ	Ê	òË	”	Ò	Ó	ó”#Ô	äÕ	ô1ö×	÷Ú	ø¿	õ×è1é„êÎvÞ	ÎÈvß		)™à	J™á	â	W¯Z°ã	ä	W¿
gPK„|7Qæ#oÿ72)a55ea3a1-815e-496e-9e08-640e32996a94.meta2Íÿ 	(þ	€€€»ü¥cdªÓPK„|7Q‚&¿+a55ea3a1-815e-496e-9e08-640e32996a94.objectèÿ 	(PK„|7QöSË0<7)9473f21a-95d1-4701-864f-5fd3e64e9516.meta7Èÿ 	(#ÿ	€
-€€€þ	®€!Ñ%âÓPK„|7QÊ”§Sid+9473f21a-95d1-4701-864f-5fd3e64e9516.objectd›ÿ 	(PI	“Ëè	ì	µWPK„|7Q‰¬>FYT)8f035435-f1d3-4f21-b662-55938aacf89c.metaT«ÿ 	(@N&–€(M€),-/L€03€0K€,€€å€X—ødŸÜÓPK„|7Q¡õ8Sûö+8f035435-f1d3-4f21-b662-55938aacf89c.objectö	þ 	(â
+É	Ê	ïË	Ì	
Í	Ê	ðË	Î	Ï	Ê	ñË	Ð	Ñ	Ê	òË	”	Ò	Ó	ó”#Ô	äÕ	ô1ö×	÷Ú	ø¿	õ×è1é„êÎvÞ	ÎÈvß		)™à	J™á	â	W¯Z°ã	ä	W¿
gPK6E8Qæ#oÿ72)a55ea3a1-815e-496e-9e08-640e32996a94.meta2Íÿ 	(þ	€€€»ü¥cdªÓPK6E8Q‚&¿+a55ea3a1-815e-496e-9e08-640e32996a94.objectèÿ 	(PK6E8QöSË0<7)9473f21a-95d1-4701-864f-5fd3e64e9516.meta7Èÿ 	(#ÿ	€
+€€€þ	®€!Ñ%âÓPK6E8QÊ”§Sid+9473f21a-95d1-4701-864f-5fd3e64e9516.objectd›ÿ 	(PI	“Ëè	ì	µWPK6E8Q‰¬>FYT)8f035435-f1d3-4f21-b662-55938aacf89c.metaT«ÿ 	(@N&–€(M€),-/L€03€0K€,€€å€X—ødŸÜÓPK6E8Q¡õ8Sûö+8f035435-f1d3-4f21-b662-55938aacf89c.objectö	þ 	(â
 y5z6{v|}7~8€Ë:‚vƒ„<…=†‡@ˆA‰CŠÙ‹DŒm€	fqgrhsi™jškJlxm…nÃoWpZqˆr‰sˆtŠu‹vŒwŽxWÉ
-gPK„|7QýN:5)4a3aa39f-2014-4f7b-a5c1-44706967bc50.meta5Êÿ 	(!9n€€€ú­€g‰äWâÓPK„|7Q¥ž:T¯ª+4a3aa39f-2014-4f7b-a5c1-44706967bc50.objectªUÿ 	(–	
ÛwÿÈ

¾Ü
Ù
¸‚¸Ó
PK„|7Q@éÁP1,)61fa1e5b-d507-41d9-9969-a4f59d50e7ff.meta,Óÿ 	(ÁÂk€MØœðüÇÖPK„|7Q^§˜2fa+61fa1e5b-d507-41d9-9969-a4f59d50e7ff.objectažû 	(M
L¤
+gPK6E8QýN:5)4a3aa39f-2014-4f7b-a5c1-44706967bc50.meta5Êÿ 	(!9n€€€ú­€g‰äWâÓPK6E8Q¥ž:T¯ª+4a3aa39f-2014-4f7b-a5c1-44706967bc50.objectªUÿ 	(–	
ÛwÿÈ

¾Ü
Ù
¸‚¸Ó
PK6E8Q@éÁP1,)61fa1e5b-d507-41d9-9969-a4f59d50e7ff.meta,Óÿ 	(ÁÂk€MØœðüÇÖPK6E8Q^§˜2fa+61fa1e5b-d507-41d9-9969-a4f59d50e7ff.objectažû 	(M
L¤
 §
 Þ
 4š5Ù7Î6vÈ
@@ -442,30 +442,30 @@
 ¦
 jžø
 MÇ“Ä
T°
-
WPK„|7QIö­:5)0cd0b239-ce77-4e97-807f-9b4db6b5600e.meta5Êÿ 	(!#€€€À­€5N?¬ÅãÓPK„|7QÉ'€äŒ‡+0cd0b239-ce77-4e97-807f-9b4db6b5600e.object‡xÿ 	(s		®‡•°	¹½·¸¿PK„|7Qúª„Õ)Ð)Npoolcontext.pool.00000000-0000-0000-0000-000000000000.precompileinfo.auxiliaryÐ)/Ö 	(‰´ØNoneprvStartMethod
TimeStampOnly$a63becff-d2d8-4c37-a0f8-a2ee7c533ed7$373bf815-4ae6-45d6-9154-db2fb90f8702StringToURL$0ce4a395-e620-4cbf-8bfa-0c5279f11931prvCyclicAction	$9e6f0414-1b1e-47d0-8ee6-4a7db6509a82
-prvResetOutputs$d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0
CreateRequest
$f8a0ae55-89c9-47a8-921d-af9dd82bf821Close$ef4ecb32-0ddc-483f-a6ec-1761efbe4da0prvAbort$b5cb69c7-6821-4d1a-a709-42cde67d1eb2ParseResult$61fa1e5b-d507-41d9-9969-a4f59d50e7ff__HelpConvertDateFunction$1c137676-f66f-428c-af12-54699e1772b8$00000000-0000-0000-0000-000000000000__HelpConvertString$e3e2dee5-80c7-4e97-ab64-7b5e39ea535b__LEFT$1ac273b6-a01b-4295-88c5-ff4e218b6071__SkipWhiteSpace$882a2370-bae2-4085-93e5-0932a060bdfc
__HelpConvert$fdd0113a-d0f8-4f19-bc73-fa6acf9ecc59 __HelpConvertTime!$13c0f538-7207-41d3-8311-a322a7c20a0e"__HelpConvertTimeUnits#$183c332f-7773-4f5f-805c-178b91efab72$__HelpConvertFromTime%$020b085d-1351-401a-b6c0-1e0475de8a9f&__HelpConvertStringBase'$d6948954-0bf4-4d3f-ae69-e82fdade476c(__HelpConvertFromDate)$cee86ba7-461c-4d5d-b68e-c4f154c509d1*__HelpConvertTimeWithUnit+$50f01a4a-c350-4e6e-9dfa-0c242ec58ce8,any32__to__string-$52f276ac-71ea-475d-be1d-c34d7442869e.string__to__any32/$2aee5633-6b5b-4b6e-9cbc-79dd1000b70f0__HelpReal32Convert1$d623fa64-302c-47ab-9727-e08d1bbeb2b42new__real32__to__string3$a891eece-ca29-4db8-b9cf-c1a855c9feac4
__ExtractReal5$b4fbe026-742b-4541-9a4b-a710de7d376c6__ExtractRealRaw7$3d3aa07e-b7ec-4780-af79-d77e0e2cb50f8real32__to__string9$6e654c8d-212d-4593-9f3a-0add0687319c:string__to__real32;$3fdad988-bfc9-4de5-969f-faf6f3c2a2e7<VERSION=Type>$5181460b-9464-4c0f-82f2-1f9633a4c34e?__HelpConvertStringBase64@$f277d52d-3603-4349-91bd-ca6602f5cff8A__HelpLConvertB$26023af2-e263-44c0-b290-4197ca6caa6aC__HelpConvertLTimeUnitsD$92c01d00-33dc-47b6-842b-f7ab6ac40051E__HelpConvertLTimeWithUnitF$9b7fa8d4-59a0-43f0-a610-be7bd5350ad9Gany64__to__stringH$3cce6ca9-0c61-42bf-9945-73fd93e91f59Istring__to__any64J$5239465a-699e-451b-8b12-973a3fc2657fK__HelpRealConvertL$e6a8a736-c389-4a55-8363-2e30c26fed79Mreal64__to__stringN$2a265c59-789e-4c94-a95e-f5f70529f084Ostring__to__real64P$0ea1b145-4f18-4d61-a208-3c5f2005fc47Q__ExtractLRealR$0ffc8285-5cf0-4854-bfbf-cfca06799935S__ExtractLRealRawT$e543e1fd-2bb8-4ac1-a749-ebad37d711fcU__SkipWhiteSpaceWV$19a99e06-dfd5-4402-8f83-521389a0dc1cW__LEFTWX$7bf449d7-156f-4dc3-885e-a6da7640cd90Y__HelpConvertWZ$95f63b9b-1365-4b41-ad25-d7a78a50547e[__HelpConvertDateW\$f00a1aa9-5a5c-4c14-baa3-0f7ed88039c9]__HelpConvertTimeW^$a23e7f2f-7c7f-4ab8-b259-2bf314fda9c3___HelpConvertTimeWithUnitW`$da52bb11-b3ee-4e17-9ece-aaac0b30420ba__HelpConvertStringWb$ce02c656-4033-46a9-b5f1-becdedeb9055c__HelpConvertFromDateWd$ca024f07-11dc-4600-9f6f-069db29ac898e__HelpConvertFromTimeWf$0e53be5f-bda6-46ff-8a1f-7994ad076b55g__HelpConvertStringBaseWh$2e715801-9991-42f1-a152-4ae20bcff540i__HelpConvertTimeUnitsWj$095fd00c-3c36-4c3c-9f44-495013154180k__HelpLConvertWl$77fa4cbe-badc-4fcd-8f5d-c6cb079b41aam__HelpConvertLTimeWithUnitWn$9c3251e0-2217-408f-a01c-0734012a0930o__HelpConvertStringBase64Wp$3b4ae181-2d77-4a11-8709-d7385f2094baq__HelpConvertLTimeUnitsWr$7e0ea004-a391-4ef9-8aba-4797d6abef1cs__HelpReal32ConvertWt$b6997d1d-9d82-4124-bdc8-5c9ad8e80b65u__HelpRealConvertWv$9e79f897-d5d3-46c7-9038-97ad046758c0wwstring__to__real32x$d7d42225-63e5-489a-8ffc-da13c32e2888ynew__real32__to__wstringz$2e99850f-3fd7-43f6-915c-5908ab79d5d4{real32__to__wstring|$d0117dd7-073c-4a9f-b9ec-8d276f7ae3b7}any32__to__wstring~$103e7c1c-c83d-4719-a2c6-923bc1ee8bfcwstring__to__any32€$3493b04f-9f38-4061-af85-90cd238a240astring__to__wstring‚$9248ff97-fbbc-448e-ae9b-2fb2646b8bf7ƒwstring__to__string„$3951380b-30c9-4ec4-92e7-a4707aca12e8…any64__to__wstring†$fdeae835-342b-4f09-9e28-287167c2d05c‡wstring__to__any64ˆ$c63e18fa-6b1a-452f-9bcc-080e5f54a487‰real64__to__wstringŠ$86a06adf-8294-4d01-8a63-1ec0342be49b‹wstring__to__real64Œ$c8fb5eda-6b2b-4b6b-bcc1-566c08910a30
-HttpClientŽ
FunctionBlockURL$b646309a-ad0e-4d73-9fe1-641cc72cd0de‘
-URLDecoder’$843242e4-284a-4e0b-8dfc-87ee2cb99857“
BASE64_DECODE”$c4099788-f65f-485d-8712-5f8ccfad50ba•
BASE64_ENCODE–$a02937c5-652e-4b3d-b48d-731b7a6b9a31—CODE˜$bde0bc31-b813-47f1-8ac0-d59c6c6fa39b™ConvertUTF16toUTF8š$0c892cf6-5871-4e80-a5f9-d8d9a6dc5040›ConvertUTF8toUTF16œ$62da71d9-c483-45e3-8485-957b25ad5bfdIsLegalUTF8ž$c9744904-7570-4bd2-9d5a-635478747a24ŸConcat $8f035435-f1d3-4f21-b662-55938aacf89c¡
-HttpResult¢$4a3aa39f-2014-4f7b-a5c1-44706967bc50£STATE¤	VarGlobal¥$0610289b-8851-4d53-9afc-657256c079f6¦REQUEST_TYPE§$3ec260e8-feaa-438b-a153-87d5901bc41e¨ERROR©$5224bca0-df60-44a9-9b93-c7de4e0bc365ªGVL«$e5bfdbe1-6c62-4716-8370-6fc9b969e08f¬GVL_UTF8­$9e1aaea0-0352-440e-b42f-5c4bce94faca®Param¯$9473f21a-95d1-4701-864f-5fd3e64e9516°CONTENT_TYPE±$0cd0b239-ce77-4e97-807f-9b4db6b5600e²³$6708bd14-cddc-4e28-b69d-d3183b7c423e´Lengthµ
-VariableId¶SignatureId·ScopeId¸PositionToSave¹MessagesToSaveº&{bc2be951-49f6-4f0f-b731-e31e36606f1e}»Name¼$2dacf8ba-27b3-43f2-b9f0-d578dd179b1d½NameExp¾Operator¿&{bffb3c53-f105-4e85-aba2-e30df579d75f}ÀPreCompileFlagsÁ&{9b5d4c11-b2d9-46c2-bf90-350eefa47fc5}Â
-ObjectGuid√System.GuidńParentObjectGuidŇ	TimeStamp∆$b19c1570-9d63-448c-b1a8-77c564f4bf41«PreCompiledPOUFlags»&{ffb74c62-0dab-4b81-a769-562edfcba448}…Breakpointlist $11f4bd64-2998-4795-a306-94dda94e3331ň
KindOfContextŐ&{1d8fe3d0-8423-48cf-8a9b-eaa134990850}Õ
SubSignatureső&{2dacf8ba-27b3-43f2-b9f0-d578dd179b1d}ŌSignaturesArray–GlobalSignaturesArray—CompiledPOUsArray“&{b19c1570-9d63-448c-b1a8-77c564f4bf41}”LibraryPath‘	Namespace’ApplicationGuid÷
-TargetGuid×UnicodeIdentifiers³=“µ¶·ø
-¹º»¼½¾€¿À€Á€ÃÄ€ÃÅ
-ƻ€öǀÈÅ
-ÉÊË€Ì́ÎρÎЁÎсÒÓÅ
-ÔÕ€ÃÖ€Ã×ÿÿÿÿÿÿÿÿÿÿÿÿEFºúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿf”ºúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	nâºúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ
-nâºúÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿ
Tô»úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿfB¼úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿfB¼úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿO‹¾úÕ_ØFÿÿÿÿÿÿÿÿÿÿÿÿzG¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿƒn¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿƒn¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿƒn¨úÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿƒn¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ !ƒn¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ"#
-jªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ$%
-jªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ&'
-jªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ()‘ªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ&*+‘ªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ,-¸ªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ./¸ªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ 01)ߪúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ„239«úÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿ7459«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ¤67>-«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ89>-«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ :;GT«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ
-<=>P{«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ?@ƒ>¬úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ ABŽe¬úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿCDŽe¬úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿEFŽe¬úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿGH˜Œ¬úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ IJ˜Œ¬úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿKLÁ(­úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ MNËO­úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ OPËO­úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ7QRÕv­úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ¤STÕv­úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿUVбúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿWXбúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿYZбúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ[\ØF±úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ]^0²úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ_`9¦²úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿab9¦²úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿcd9¦²úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿefCͲúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿghCͲúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿijCͲúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ klVô²úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿmnVô²úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿopVô²úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿqrY³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ stY³úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿuvY³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ wxiB³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ yziB³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ{|qi³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ}~~³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ€~³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ‚‹·³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿƒ„‹·³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ…†‹·³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ‡ˆ’Þ³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ ‰Š’Þ³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ ‹Œ«S´úÕ_Ø
-ÿÿÿÿÿÿÿÿÿÿÿÿ¿ŽÚµúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ=KmºúÕ_Ø
-ÿÿÿÿÿÿÿÿÿÿÿÿ-	‘’μúÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿ“Ž”pi¼úÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿ•Ž–„¼úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	—˜׶¼úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	™šoS½úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	›œz½úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	ž+¾úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿj	Ÿ =d¾úÕ_Ø
-ÿÿÿÿÿÿÿÿÿÿÿÿ¡=¢=d¾úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ£¤¥¶úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ¦¤§EFºúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ¨¤©Tô»úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿª¤«׶¼úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬¤­”½úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ®¤¯7=¾úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ°¤±\²¾úÕ_ØKÿÿÿÿƒn¨úÕ_Øÿÿÿÿƒn¨úÕ_Øÿÿÿÿƒn¨úÕ_Øÿÿÿÿƒn¨úÕ_Øÿÿÿÿƒn¨úÕ_Ø !ÿÿÿÿ
-jªúÕ_Ø"#ÿÿÿÿ
-jªúÕ_Ø$%ÿÿÿÿ
-jªúÕ_Ø&'ÿÿÿÿ‘ªúÕ_Ø()ÿÿÿÿ‘ªúÕ_Ø*+ÿÿÿÿ¸ªúÕ_Ø,-ÿÿÿÿ¸ªúÕ_Ø./ÿÿÿÿ)ߪúÕ_Ø01ÿÿÿÿ)ߪúÕ_Ø23ÿÿÿÿ9«úÕ_Ø45ÿÿÿÿ>-«úÕ_Ø67ÿÿÿÿ>-«úÕ_Ø89ÿÿÿÿ>-«úÕ_Ø:;ÿÿÿÿGT«úÕ_Ø?@ÿÿÿÿŽe¬úÕ_ØABÿÿÿÿŽe¬úÕ_ØCDÿÿÿÿŽe¬úÕ_ØEFÿÿÿÿ˜Œ¬úÕ_ØGHÿÿÿÿ˜Œ¬úÕ_ØIJÿÿÿÿ˜Œ¬úÕ_ØKLÿÿÿÿËO­úÕ_ØMNÿÿÿÿËO­úÕ_ØOPÿÿÿÿÕv­úÕ_ØQRÿÿÿÿÕv­úÕ_ØSTÿÿÿÿÕv­úÕ_ØUVÿÿÿÿбúÕ_ØWXÿÿÿÿбúÕ_ØYZÿÿÿÿØF±úÕ_Ø[\ÿÿÿÿ0²úÕ_Ø]^ÿÿÿÿ0²úÕ_Ø_`ÿÿÿÿ9¦²úÕ_Øabÿÿÿÿ9¦²úÕ_ØcdÿÿÿÿCͲúÕ_ØefÿÿÿÿCͲúÕ_ØghÿÿÿÿCͲúÕ_ØijÿÿÿÿVô²úÕ_ØklÿÿÿÿVô²úÕ_ØmnÿÿÿÿVô²úÕ_ØopÿÿÿÿY³úÕ_ØqrÿÿÿÿY³úÕ_ØstÿÿÿÿY³úÕ_ØuvÿÿÿÿiB³úÕ_ØwxÿÿÿÿiB³úÕ_Øyzÿÿÿÿqi³úÕ_Ø{|ÿÿÿÿqi³úÕ_Ø}~ÿÿÿÿ~³úÕ_Ø€ÿÿÿÿ‹·³úÕ_؁‚ÿÿÿÿ‹·³úÕ_؃„ÿÿÿÿ‹·³úÕ_Ø…†ÿÿÿÿ‹·³úÕ_؇ˆÿÿÿÿ’Þ³úÕ_؉Šÿÿÿÿ«S´úÕ_Ø‹Œÿÿÿÿ«S´úÕ_؍ÿÿÿÿÚµúÕ_ØÿÿÿÿEFºúÕ_Øÿÿÿÿf”ºúÕ_Ø	ÿÿÿÿnâºúÕ_Ø
-ÿÿÿÿu	»úÕ_Ø
ÿÿÿÿTô»úÕ_Ø‘’ÿÿÿÿfB¼úÕ_ØÿÿÿÿfB¼úÕ_ØÿÿÿÿfB¼úÕ_Ø“”ÿÿÿÿpi¼úÕ_Ø•–ÿÿÿÿ׶¼úÕ_Ø—˜ÿÿÿÿ׶¼úÕ_Ø™šÿÿÿÿoS½úÕ_Ø›œÿÿÿÿ¡½úÕ_؝žÿÿÿÿ7=¾úÕ_ØŸ ÿÿÿÿ=d¾úÕ_Øÿÿÿÿ\²¾úÕ_ز§_ñûÕ_ØPK„|7QYk`mh.__shared_data_storage_schema_table__.auxiliaryh—÷R€	€
+
WPK6E8QIö­:5)0cd0b239-ce77-4e97-807f-9b4db6b5600e.meta5Êÿ 	(!#€€€À­€5N?¬ÅãÓPK6E8QÉ'€äŒ‡+0cd0b239-ce77-4e97-807f-9b4db6b5600e.object‡xÿ 	(s		®‡•°	¹½·¸¿PK6E8Q¡ÿï?-()0f1c31b0-aa04-4eea-8e92-d68f6cfa22ce.meta(×ÿ 	(>ü‡©9†e`ØPK6E8Q²‰Lôï+0f1c31b0-aa04-4eea-8e92-d68f6cfa22ce.objectïû 	(ÛS‘Ñ	This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to <https://unlicense.org>–PK6E8Q“!U.))d943a327-697f-4720-8a72-e00dc004724d.meta)Öÿ 	( ¥­Ì`†e`ØPK6E8Q„3Յ+d943a327-697f-4720-8a72-e00dc004724d.objectçÿ 	(TüPK6E8QÚ,ð‡‚.__shared_data_storage_schema_table__.auxiliary‚}÷T€	€
 …
€
 ñ€ò…ó€	€
 …
€
@@ -514,21 +514,322 @@
 ‘’“”I®ÿÒÔ…JK†›L€M€N€O€Õ€P€Q€R€STUKãäBLåæBçBM(êBìN€	€
 †
€
 Oh†‡ˆ‰ŠPĀ’€QĪž’šR•–Œ—˜€õ
-‘’“”PK„|7QÓ«»āb] missingtypeinformation.auxiliary]¢ō’’’’<Core, Version=3.5.15.0, Culture=neutral, PublicKeyToken=null“System.Collections.Generic.List`1[[_3S.CoDeSys.Core.Objects.MissingTypeInformation2, Core, Version=3.5.15.0, Culture=neutral, PublicKeyToken=null]]_items_size_version2_3S.CoDeSys.Core.Objects.MissingTypeInformation2[]	0_3S.CoDeSys.Core.Objects.MissingTypeInformation2ü’’’0_3S.CoDeSys.Core.Objects.MissingTypeInformation2MissingTypeGuid
+‘’“”S‡°¹»€¿ÁT­ÄPK6E8QRð½°³°.__shared_data_storage_string_table__.auxiliary³°LO«$6470a90f-b7cb-43ac-9ae5-94b2338b4573$00000000-0000-0000-0000-000000000000Project Settings$8753fe6f-4a22-4320-8103-e553c4fc8e04
+OptionDataSystem.Byte$81297157-7ec9-45ce-845e-84cab2b88adeGuidSystem.Guid	
+ParentGuid
+Name
+Properties&{2c41fa04-1834-41c1-816e-303c7aa2c05b}
TypeGuidEmbeddedTypeGuids	Timestamp$28ac1364-ebdc-49d9-8c8d-91b3df191afb$735eabd6-b762-446a-9232-7e8b77b3ec05$738bea1e-99bb-4f04-90bb-a7a567e74e3a$21af5390-2942-461a-bf89-951aaf6999f1$b763d4ec-14ff-43e9-bbbd-c2d3a652e5e9Function Blocks$829a18f2-c514-4f6e-9634-1df173429203$373bf815-4ae6-45d6-9154-db2fb90f8702$0cd0b239-ce77-4e97-807f-9b4db6b5600e$6f9dac99-8de1-4efc-8465-68ac443b7d08$a9ed5b7e-75c5-4651-af16-d2c27e98cb94$3b83b776-fb25-43b8-99f2-3c507c9143fcNone$09a67062-6648-489f-893f-6313c819c85e	 STATE.IDLE: // Idle!STATE.START: // stopped"BASE64#CONTENT_TYPE$?	wsContentLength := DINT_TO_WSTRING(Stu.StrLenW(pwsPostValue));%p	wsHTTP_HEADER		: WSTRING(100) 	:= "Connection: close$000D$000AContent-Type: application/x-www-form-urlencoded";&$8f035435-f1d3-4f21-b662-55938aacf89c'	// Parse url ($66e0aa87-603e-4e95-b7ac-da3c4a099b35)Modify*STATE.INIT:	// init client+STATE.ERROR:,$af73022b-ab92-4594-ad24-4128efae971b-View.	END_IF;/$462f08bc-92f1-4ed9-b5a2-1fb0e5ff51a10$0c79ffbc-7721-4c6d-abde-fab7c11b502e1	END_IF2 STATE.REQUEST:		// send message	3Everyone4$843242e4-284a-4e0b-8dfc-87ee2cb998575&IF pstFrom = NULL OR pstTo = NULL THEN6	RETURN;		// return FALSE7iLenFrom := StrLenW(pstFrom);8iLenTo := StrLenW(pstTo);9$4a3aa39f-2014-4f7b-a5c1-44706967bc50:9	RETURN;		// return FALSE => result buffer not big enough;9STATE.RESPONSE:	// idle mode - wait for incomming message<pwdFrom := pstFrom;=pwdTo := pstTo;>$0f1c31b0-aa04-4eea-8e92-d68f6cfa22ce?		xDone := TRUE;@*// Concatenate the string pstFrom to pstToAFOR i := 0 TO iLenFrom - 1 DOB$ef4ecb32-0ddc-483f-a6ec-1761efbe4da0C	pwdTo[iLenTo+i] := pwdFrom[i];D// Set the string terminationE$11c0fc3a-9bcf-4dd8-ac38-efb93363e521F		END_IF		GEND_CASEHProject InformationICloseJ	VAR_INPUTK$085afe48-c5d8-4ea5-ab0d-b35701fa6009LGetCompanyGUIDMGetTitleGUIDNGetVersionGUIDOGetTextPropertyGUIDPGetNumberPropertyGUIDQGetBooleanPropertyGUIDRGetVersionPropertyGUIDSGetLibVersionGUIDTGetLibVersionNumberGUIDUIsLibReleasedGUIDVLibraryCategoriesWEND_VARX&{aecb3560-8a8a-40ab-9e88-42f4b333af8b}Y$e98088bb-59f5-4096-8784-4443932920dfZVAR[1.0.0.0\$d2c47c8c-760e-440c-9147-4468a3c03edb]CAA^$9bad807f-0127-4ea6-86e7-4f68c24e0225_Common`$8677b78e-b730-40de-8a62-fdbce8da6680aSafetyb$3dd4868c-6477-4606-b687-f340a9dbdd2cc
+SoftMotiond$66558e58-9485-48b4-9433-2bf60b045756eInternf$b8b4ee4e-1f42-45af-8ccf-c7f09c488826gStandardh$24568a24-c491-472c-a21f-ee5d33859fabi$a63becff-d2d8-4c37-a0f8-a2ee7c533ed7jprvStartk$f8a58466-d7f6-439f-bbb8-d4600e41d099lMETHOD ClosempwdTo[iLenTo+i] := 0;n
+HttpResulto$385db9bf-1635-44ea-9c03-f7e409018454pMETHOD prvStart : BOOLq]/// This function concatenates pstFrom to pstTo if the iBufferSize from pstTo is big enough. rQ/// It will return FALSE and does no concatenation if one of the strings is NULL s)/// or the buffer size is not big enough.tF	iError := StringToURL(wsUrl := STRING_TO_WSTRING(sUrl), url := _url);uFUNCTION_BLOCK BASE64_DECODEvEND_IFwTYPE HttpResult :x5	pstFrom : CharBufferPtr;	// simply a pointer to bytey$9e6f0414-1b1e-47d0-8ee6-4a7db6509a82zprvCyclicAction{METHOD prvCyclicAction : BOOL|$d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0}prvResetOutputs~SUPER^.prvResetOutputs();METHOD prvResetOutputs : BOOL€$f8a0ae55-89c9-47a8-921d-af9dd82bf821
CreateRequest‚'IF eRequestType = REQUEST_TYPE.GET THENƒ
BASE64_DECODE„ELSE…4	pstTo : CharBufferPtr;		// simply a pointer to byte†// POST or GET‡{attribute 'strict'}ˆ0	{attribute 'ieccodeconversion_character_array'}‰	pwdFrom : POINTER TO WORD;Š	pwdTo : POINTER TO WORD;	‹	iLenFrom : DINT;Œ	iLenTo : DINT;// HTTP HeaderŽ
+	i : DINT;		Close();// Host‘+				iPosition := DINT_TO_INT(diTemp1) + 2, ’xdiTemp2 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsDoubleLF), uiSearchStart := DINT_TO_UINT(diTemp1 + 1));“3				iLength := DINT_TO_INT(diTemp2 - diTemp1) - 2, ”pxIsChunked := Stu.StrFindW(pst1 := ADR(httpResult.wsHeader), pst2 := ADR(gc_wsChunked), uiSearchStart := 0) > 0;•TYPE CONTENT_TYPE :–Concat—// Post content˜!	IF iError <> ERROR.NO_ERROR THEN™CANbusšFUNCTION Concat : BOOL›$4b460928-c15e-4b69-919b-8e6fbab12643œ
Compatibility$7fc58ff6-d63b-4aac-a20f-7abbc9fd72f8ž
+DataServerŸ$0204e5d6-0060-4153-acd0-429a397324d0 IoDriverBase¡$a560fc75-2952-4be9-b2f7-e04b029744ab¢	IoDrivers£$7f3353de-c77d-4c8c-9bc0-5b221ce0a7fe¤NetVars¥$e129985a-d24f-4869-8755-5a2b089f16c4¦Profiler§$75a5fc32-fdd8-4338-9a21-cd620e3c7569¨RecipeManagement©$59ff46a0-e373-49c8-b11c-91d772d9f754ª$fff3a71e-3da2-468a-b82b-6c8fa8607f26«$0610289b-8851-4d53-9afc-657256c079f6¬STATE­$2db5746d-d284-4425-9f7f-2663a34b0ebc®{attribute 'qualified_only'}¯TYPE STATE :°(±	START := 0,²	INIT,³		REQUEST,´
+	RESPONSE,Á	ERROR,Â	IDLEĚ);ŞEND_TYPE╣5	APPLICATION_FORM := 0, // HTML-Formulardaten an CGI ║$3ec260e8-feaa-438b-a153-87d5901bc41e╗REQUEST_TYPE╝TYPE REQUEST_TYPE :ŻH	APPLICATION_JSON // enth├Ąlt einen String in JavaScript-Objekt-NotationżV	wsContent				: WSTRING(g_udiMaxResponseSize); // The result of the request as WSTRING┐9└$e7b77198-76b5-4e20-bc6e-9f0b3d94c739┴Enums┬SFC├Library Manager─$adb5cb65-8e1d-4a00-b70a-375ea27582f3┼$af11cf2a-bea4-4a38-add0-f13b3682d425Ă$e7430333-8bd3-4ce2-8535-d61528e26db2ăStu╚SymbolConfiguration╔$24114f71-a313-48dc-b727-4814a5ae5e7e╩Visu╦$b62c2041-b627-4159-b727-149b019609e6╠$62e04908-d9eb-41d7-b3fd-8087020771a0═$8302f600-9f75-49a9-9172-d355d63e3a62╬$5250160a-a348-41ef-96d8-0cd52f94e320¤SysLibsđ$45f0ac40-c00c-4d2d-a74e-2cf5adbaf3a4Đ	SysLibs23Ď$75b20332-150b-4ccd-aa20-fb072490fb80ËTargetď$7db0e3a2-bee3-451b-932c-0f87340204d4Ň$519b1d74-b1de-4a68-a3bf-c1fdb3909c18Í
PLCWinNT V3.xÎ$21e56dab-2863-4515-a4a5-d154a08ccd4eě$bef66cc1-9006-4083-92e8-84957423b2c7┘$c52dbc97-13e5-46c3-8641-481f5d8daff9┌$c179664b-4223-4f78-b898-054073c60fb3█PLCWinRTE V3.x▄$2a47d467-e781-4f73-a35c-01b9d33d28d2Ţ$a4c9aab3-b8bd-4826-9677-1820291d2f2dŮ$11ebb73b-df74-48e0-8fed-9b2db84e438a▀$769db563-3955-441f-b96b-8b177b70d377Ó	Use Casesß$e66bdbd6-b91d-4e4a-97d6-c698c033210cÔ$c812fecb-9bc1-488a-9e68-df19744bfaefŃDatabaseń$6680e7c8-f7d5-41a9-94fe-14602a15effaňFieldbusŠ$b42cc94a-6be6-4e71-9420-bda87e1cd129š
+Foundationè$50af6a48-e2e7-4280-82af-8818f86e464dé
+Guidelinesŕ$a60af49c-8a71-4300-a862-17e5fe7de198Ű$368639a0-d7b3-4311-9a2f-7bf2bab35b30ýRuntimeÝ$a4072735-6719-4d80-ba50-1d428672d406ţ$94be3750-453a-45b4-b1b7-327809b35168´	Utilities­$5ae804c1-a428-4c88-bd60-f4966d9b522b˝$b303f5ce-75ff-4668-a777-7da8debb449c˛CBMˇUtils˘Network§$dbfd1179-5ca7-4f52-93b4-490212c50c96÷$5753032d-83cc-463f-8562-37bcff9c28db¸Test Versions (not recommended)°$fbaa3087-ad61-4321-beb6-e007c68b2c08¨$e4e58334-2453-4f24-b781-93385444aef2˙$1bfa06e5-4a2a-4369-a3d6-68ec39cdad4aűStructsŘ$b646309a-ad0e-4d73-9fe1-641cc72cd0deřURL■
+TYPE URL :˙STRUCT€Concat := TRUE;d	eContentType			: CONTENT_TYPE := CONTENT_TYPE.APPLICATION_FORM; // HTTP Content-Type of the request‚
+END_STRUCTƒ			RETURN;„514…
+		Close();ć4IF eContentType = CONTENT_TYPE.APPLICATION_JSON THENç/Concat(ADR(wsType), ADR(wsOut), SIZEOF(wsOut));łN	wsHTTP_HEADER := "Connection: close$000D$000AContent-Type: application/json";ë	iReplacePos	: INT;Ő	iReplaceLength	: INT;ő	iReplaceToLength	: INT;î	i, j		: UINT;Ź	// TCP ConnectionÄKStu.StrConcatW(ADR(wsHTTP_HEADER), ADR(wsOut), DINT_TO_INT(SIZEOF(wsOut)));ĆBStu.StrConcatW(ADR(wsLF), ADR(wsOut), DINT_TO_INT(SIZEOF(wsOut)));É6IF NOT Stu.StrIsNullOrEmptyA(pwsAdditionalHeader) THENĹM	Stu.StrConcatW(pwsAdditionalHeader, ADR(wsOut), DINT_TO_INT(SIZEOF(wsOut)));ĺC	Stu.StrConcatW(ADR(wsLF), ADR(wsOut), DINT_TO_INT(SIZEOF(wsOut)));ô$c4099788-f65f-485d-8712-5f8ccfad50baö4HTTP Client for sending http request to a webserver.Ľ	// Helpers	ľ?	wsDomain	: WSTRING(255); 	// The domain e.g. 'twitter.api.com'Ś$842a1921-b647-4a23-8170-379f2f236ac8ś$dc0e32c1-9c3a-44e9-9d5b-f2673b5a6e31Ö{attribute 'hide'}Ü// Builds a http requestŤ	j := 0;ť	uxiBytesRead : __UXINT;Łi2 := 0;×	diContentStartPos : DINT;č0Concat(ADR(wsBlank), ADR(wsOut), SIZEOF(wsOut));á3Concat(ADR(url.wsPath), ADR(wsOut), SIZEOF(wsOut));í6Concat(ADR(wsHTTPVersion), ADR(wsOut), SIZEOF(wsOut));ó-Concat(ADR(wsLF), ADR(wsOut), SIZEOF(wsOut));úó	_tcp_read(xEnable := _tcp_client.xActive, hConnection := _tcp_client.hConnection, szSize := SIZEOF(_sContent), pData := ADR(_sContent), szCount => uxiBytesRead);ĄE	wsPath		: WSTRING(255);	// The path e.g. '/1.1/statuses/update.json'ą3Concat(ADR(wsHTTPHost), ADR(wsOut), SIZEOF(wsOut));Ž5Concat(ADR(url.wsDomain), ADR(wsOut), SIZEOF(wsOut));ž$1cc2b29c-02b1-4fe8-ae78-e1cbdfa0b735Ę$71debccc-43ea-48af-b58e-74ace73c3372ę	SUPER^();¬!diContentStartPos := diTemp2 + 4;ź$07cba7c9-e73d-40ac-92e3-f6a0acfbf4d4Č	iReplacePos := -1;ş$5c347d42-ddec-407b-a86b-47f464b07e84«$3faffc36-9a18-4c35-bae0-0c09bcdff86c»$3477e60b-fa4e-4491-ab25-090603cc494a░$2225f435-d4be-40a7-9b1c-c753ed183ff0▒Composer▓$97dc9d97-bf0c-4caa-b1ec-afd778572b37│Math┤CompanyÁDefaultNamespaceÂ	WHILE iReplacePos <> 0 DOĚHTTPŞa := 0;╣HTTP Client║LanguageModelAttribute╗$cdadfc2b-8598-4621-ad56-5b1df7db910f╝qualified-access-onlyŻProjectż$225bfe47-7336-4dbc-9419-4105a7c831fa┐	DocFormat└reStructuredText┴Placeholder┬"3S - Smart Software Solutions GmbH├b := 0;─
+HTTPClient┼FOR i1 := 0 TO c DOĂ_tcp_client(xEnable := FALSE);ă		IF iReplacePos > 0 THEN				╚	_tcp_read 				: NBS.TCP_Read;╔Enabled╩>	Concat(ADR(wsHTTPContetntLength), ADR(wsOut), SIZEOF(wsOut));╦_tcp_read(xEnable := FALSE);	╠ 	_tcp_write 				: NBS.TCP_Write;═	IF o = 61  (* = *) THEN	EXIT;╬_tcp_write(xExecute := FALSE);	¤
+IoStandard–System—'	ELSIF o > 96 (* a-z *) THEN off := 71;“	3SLicense”+								iLengthToReplace := iReplaceLength,‘_3S_LICENSE’1								iLengthToReplaceWith := iReplaceToLength,÷								iReplacePos);◊		END_IFō
+	END_WHILEÙEND_FORÚ$40b404f9-e5dc-42c6-907f-c89f4a517386Û'	ELSIF o > 64 (* A-Z *) THEN off := 65;Ü	iSizeIn : INT;ÝApplicationÞ$639b491f-5557-464c-af91-1471bac9f549ß'	ELSIF o > 47 (* 0-9 *) THEN off := -4;à&	ELSIF o = 43 (* + *) THEN off := -19;áIoStandard, 3.5.8.0 (System)â73SLicense, 0.0.0.0 (3S - Smart Software Solutions GmbH)ã$97c3b452-d9fa-4ac2-9d0c-3d420aa6d95bäJBreakpoint Logging Functions, 3.5.5.0 (3S - Smart Software Solutions GmbH)åBreakpointLoggingæBPLogç&	ELSIF o = 47 (* / *) THEN off := -16;è9	Concat(ADR(wsContentLength), ADR(wsOut), SIZEOF(wsOut));é$ae1de277-a207-4a28-9efb-456c06bd52f3ê	a := a + 6;ë!	_tcp_client 			: NBS.TCP_Client;ì	_IPAddr 				: NBS.IP_ADDR;	í	_url					: URL;î	_eState 				: STATE;	ï	IF a >= 8 THENð
		a := a - 8;ñ1	Concat(pwsPostValue, ADR(wsOut), SIZEOF(wsOut));ò		i2 := i2 + 1;ó 		_pbContent[uxiBytesRead] := 0;ô%		b := b AND NOT SHL(WORD#16#FFFF,a);õEND_FOR;öCODESYS Development GmbH÷@	IF _tcp_write.xDone THEN		// message sent, go back to idle modeø#		_tcp_write(xExecute := FALSE);			ù		_eState := STATE.RESPONSE;ú	ELSIF _tcp_write.xError THENû$98a2708a-9b18-4f31-82ed-a1465b24fa2düJ00000000-0000-0000-0000-000000000000|C:\Users\m.lamp\Documents\license.txtý>					iLength := DINT_TO_INT(diTemp2 - diContentStartPos + 1), þ	sReplace	: STRING(3);ÿ?	httpResult.diContentLength := diTemp2 - diContentStartPos + 1;€	sReplaceTo	: STRING(3);1.0.1.2‚CODESYS GmbHƒ	iSizeOut : INT;„$32d3375e-c010-41e2-9e43-b2fbf4f2b374…,	url						: URL; // The URL of the webserver†LibraryCategoryIds‡$9001d745-b9c5-4d77-90b7-b29c3f77a23bˆTitle‰ 		_tcp_read(xEnable := FALSE);		Šc := iSizeIn - 1;‹AuthorŒ		_eState := STATE.IDLE;	ELSIF _tcp_read.xError THEN		Ž		_eState := STATE.ERROR;			_eState := STATE.IDLE;3IF iSizeIn <= 0 THEN iSizeOut := 0; RETURN; END_IF;‘Prompt’0IF xExecute = TRUE AND _eState = STATE.IDLE THEN“	_eState := STATE.START;”+								pstReplaceWith := ADR(sReplaceTo), •CASE _eState OF–09/22/2020 10:31:33—$78562ae7-5a2e-4542-9033-c5c093009235˜VAR_TEMP™$aecb3560-8a8a-40ab-9e88-42f4b333af8bšParentCategoryId›iSizeOut := i2;œDefaultNameLocalizedNamesž	a: INT;Ÿ	_tcp_client(xEnable := FALSE); $d943a327-697f-4720-8a72-e00dc004724d¡	_tcp_read(xEnable := FALSE);¢		b: WORD;£	_tcp_write(xExecute := FALSE);¤	_eState := STATE.INIT;¥license¦
+	off: INT;§H	_tcp_client(xEnable := TRUE, ipAddr := _IPAddr, uiPort := _url.uiPort);¨		i1: INT;©I	IF _tcp_client.xBusy AND _tcp_client.hConnection <> CAA.gc_hINVALID THENª		_eState := STATE.REQUEST;«	ELSIF _tcp_client.xError THEN¬		_eState := STATE.ERROR;­$a56744ff-693f-4597-95f9-0e1c529fffc2®2	sURL					: STRING(1024); // URL of the web server¯		i2: INT;°AutoUpdateMode±	c: INT;²3	diTemp2 := Stu.StrLenW(pstData := ADR(wsContent));³5Network, 3.5.7.0 (3S - Smart Software Solutions GmbH)´	IF diTemp2 < 0 THENµP	g_udiMaxHeaderSize : UDINT := 4000; // Maximum size of the http header in bytes¶*		ParseResult := ERROR.RESULT_PARSE_ERROR;·&	Stu.StrMidW(	pwst := ADR(wsContent), ¸1	diContentLength			: DINT; // Length of wsContent¹Dataº-					uiInputBufferSize := SIZEOF(wsContent), »LastModification¼2					iPosition := DINT_TO_INT(diContentStartPos), ½	// Find content¾	// Convert chunked data¿System.DateTimeÀW	eRequestType			: REQUEST_TYPE := REQUEST_TYPE.GET;	// Type of the request: POST or GETÁFrozenÂ$5a3b8626-d3e9-4f37-98b5-66420063d91eÃ$a02937c5-652e-4b3d-b48d-731b7a6b9a31ÄFileIdÅ	diTemp1 := diContentStartPos;Æ6Ç		xError := TRUE;	ÈEND_IF;ÉFOR i := 0 TO c DOÊ7Ë	a := a + 8;Ì	WHILE a >= 6 DOÍ
		a := a - 6;Î$792f2eb6-721e-4e64-ba20-bc98351056dbÏ	END_WHILE;Ð
+VAR_IN_OUTÑ
IF a > 0 THENÒo	diTemp2 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsLF), uiSearchStart := DINT_TO_UINT(diTemp1));Ó8Ô	i2 := i2 + 1;Õ0					iLength := DINT_TO_INT(diTemp2 - diTemp1), Ö	FOR i := i2 TO i3 DO×AØ		END_FOR;ÙBÚ,					iPosition := DINT_TO_INT(diTemp2 + 2), ÛCÜDÝEÞ	i: INT;ß		i3: INT;àFá	NO_ERROR := 0, // No errorâ10ã$b7f5d57c-9feb-4ddf-991d-1076f52ec9a8äPermissionså$19c1c34b-6bfc-4383-8eb0-fa3b6d274388æGroupNameHintsç
+AclEntriesŔ$b5cb69c7-6821-4d1a-a709-42cde67d1eb2ÚprvAbortŕVerbToPermissionIdŰMETHOD prvAbort : BOOLýAclÝ12ţClose();´14­15˝StructuredViewGuid˛
ParentObjectsˇ&{fa2ee218-a39b-4b6d-b249-49dbddbd168a}˘$a5de0b0b-1cb5-4913-ac21-9d70293ec00d§Id÷Tag¸Text°$f3878285-8e4f-490b-bb1b-9acbb7eb04db¨	TextLines˙&{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}űTextDocumentŘSpecialFuncř&{0db3d7bb-cde0-4416-9a7b-ce49a0124323}■Implementation 	InterfaceÇUniqueIdGeneratorüPOULevelé&{8e575c5b-1d37-49c6-941b-5c0ec7874787}âChildObjectGuidsäSystem.Collections.ArrayListůAddAttributeSubsequentćExcludeFromBuildçExternalłEnableSystemCallëCompilerDefinesŐ
+LinkAlways‹$51a11660-6c0d-4598-8c08-419c5845ea1fŒOptionalParamsŽ&{e38db981-1fbe-4d68-b5b0-d55ca6086daa}	Namespace
SystemLibrary‘HideWhenReferencedAsDependency’PublishSymbolsInContainer“
QualifiedOnly”LinkAllContent•$4723ebe7-5bfc-43c6-be6b-5097002ef6b4–DefaultResolution—PlaceholderName˜ResolverGuid™ItemsšPlaceholderRedirectionTable›System.Collections.Hashtableœ$88513019-926a-4125-ab4f-260cf5e4c63eTypežPositionToSaveŸMessagesToSave &{bc2be951-49f6-4f0f-b731-e31e36606f1e}¡	LongValue¢	TypeClass£&{16f7aa24-038f-444e-9d81-b001bc091d35}¤Negative¥OriginalTypeClass¦$e38db981-1fbe-4d68-b5b0-d55ca6086daa§Exp¨$05ee0b98-6639-4276-bc32-b75578b819ef©VersionªBaseName«DeviceIdentification¬$59a90934-c888-40db-a9df-306fcf36d75c­Description®Vendor¯OrderNumber°
+Categories±System.Int32˛Familiesł
System.String´CustomµDefaultInstanceName¶$abc12bfe-e34e-4b2c-a058-42c6e7e03a13·LmGuid¸Sectionsą
AlwaysMappingş
+EditorName»AlwaysMappingMode¼&{9d1b24fb-5845-4978-8458-564ca7830fec}½CreateBitChannels¾$35cf7b1a-a4cd-490b-8ebe-385e61fcc6d9¿
+Identifier└Default┴$3f828f0b-c67b-430a-8c93-1e9bc324df64┬Modules├
+MaxDevicesń$1da2f14a-1c63-4268-9171-3b6869b8ccd6ŇAdapters∆$4f958885-8d0a-4b58-83b6-29cfd1c9cfca«RequiredLibs»
RequiredTasks…
NeedsBusCycle BusCycleTaskňIoAppŐIoAppSetÕPositionIdsőSystem.Int64ŌUseSlowestTask–NeedsBusCycleBeforeRead—GenerateForceVariables“EnableDiagnosis”AdditionalParameterSetting‘ShowWarningsAsErrors’DiagnosisCheckboxMode÷&{96a7290c-b036-44e1-a965-c279cddf134b}◊DeviceScanSupportedōDeviceNominateSupportedŔDeviceIdentifySupportedŕ DeviceUploadDescriptionSupportedŘUpdateIOsInStop‹StopResetBehaviourSetting›&{f333ad6d-dc68-4baa-a3a3-20be74eb2e18}řStopResetBehaviourUserProgramŖBusCycleTaskGuidŗPlcAlwaysMappingŠPlCAlwaysMappingMode‚$850f737d-2abf-45f4-89c1-63ed6b29593d„VisibleInterfaceNamešConnectorObjectGuidŚ
+IsExplicitŠ
+ModuleTypeçRoleè&{6827a808-5967-49c4-a827-10f6c446e075}éConnectorIdêHostpathëHostParameterSetì
+DriverInfoÝCustomItemsţ&{7d23305a-7bb9-46e6-b58b-01ea5694add1}´ModuleId­IoUpdateTask˝AdditionalInterfaces˛ConstraintsˇhideInStatusPage˘
updateAllowed§fixedInputAddress÷fixedOutputAddress¸DownloadParamsDevDescOrder°AllowOnlyDevices¨InitialStatusFlag˙UseBlobInitConstűConnectorGroupŘAllowedPagesřClient■MaxInputSize 
MaxOutputSizeÇMaxInOutputSizeüClientTypeGuidéClientConnectorInterfaceâClientConnectorIdäAlwaysMappingDisabledů$52a6325f-063a-4748-86b6-ec8aa02d3232ć	InnerListç$1fdbedd8-b518-4ebd-99df-805f2f77c071ł
+Attributes‰$58f2b04d-505d-4589-9fcf-0ec83491f9b2ŠSaveLocally‹CommunicationSettingFilterŒCommunicationSettingSortingTrackingModeŽGatewayGuidAddress
PromptAtLogin‘SimulationMode’SecureOnlineMode“SecureOnlineModeExplicitelySet”MonitoringIntervalMsec•ScanInformation–$848f25ec-eecf-4290-8329-7f6500fd2e0f—UserBaseAddress˜$94d8f601-f8e4-4aaa-8f48-f3c3ec33bec1™LibNamešFbInstances›PlaceHolderLibœloadAsSystemLibraryIsDiagnosisLibž$ec1f8a3a-98c6-404c-883e-ce9e54b42542ŸTypeList DefaultDeviceInfo¡DeviceParameterSet¢Disable£Exclude€
+Connectors¥
ConnectorList¦CommunicationSettings§IoProviderBase¨GuidBusCycleTask©IoConfigGlobalsGuidªIoConfigGlobalsMappingGuid«IoConfigVarConfigGuid¬IoConfigErrorPouGuid­FunctionalChildren®UserManagement¯RightsManagement°showParamsInDevDescOrder±HostObjectGuid²AdditionalStringTable³
OnlineHelpUrl´InteractiveLoginModeµLogicalDeviceList¶LogicalLanguageModelPositionId·SupportedLogicalBusSystems¸MappingPossible¹HidePropertiesDialogºPlaceholderResolution»
DynamicMemory¼DownloadContent½
GuidNetVarGVL¾GuidMemSettings¿BootAppSettingsÀOverrideTargetMemorySizesÁTargetInputSizeÂTargetOutputSizeÃTargetMemoryizeÄ
+StaticSizeŇAllowUserDefinedStaticSize∆FirmCode«ProductCode»KeepOnParentOnlineChange…TaskConfigurationList &{75fc8bb3-c744-4e99-b6eb-bb2796e19500}ňSystemEventListŐ&{7be1d5a4-d68c-4bc6-a7e5-e42a0ab42a09}ÕExternalEventListő	enum_guidŌjitter_distribution_guid–task_struct_guid—task_config_info_guid“task_global_vars_guid”setup_call_pou_guid‘sys_setup_pou_guid’profiler_global_vars_guid÷profiler_init_code_guid◊profiler_cycle_code_guidōprofiler_fb_guidŔprofiler_method_reset_guidŕ profiler_method_starttiming_guidŘprofiler_method_stoptiming_guid‹!profiler_iectaskgetprofiling_guid›alSysEventListřsysevents_global_vars_guidŖsysevents_functionsblock_guidŗsysevents_fbinit_method_guidŠsysevents_fbexit_method_guid‚#sysevents_eventcallback_method_guid„ sysevents_resetget_property_guidš$68e48988-4399-454b-ae43-e500b779c242ŚTimeśUnitÁ$97c20fcf-2c50-4dbb-8faa-06ff4f1e4275ŤSensitivityť
+Kindoftaskê&{38cb1f21-e463-4240-9171-f74fb561a060}ëCustomParametersì&{3e5ba045-1fc5-40ec-9ce7-4b62ec8ccfdf}íIntervalParametersîEventParametersïExternalEventParametersðFreewheelingParametersñPriorityòWatchdogóIntervalôEventõ
ExternalEventöTaskGuid÷EventPOUGuidøPouListù&{33f568bb-4a2c-48cb-a762-34cca3066d03}úImplicitûWithinSPSTimeSlicingü$cd57ba20-558b-4b98-96c1-73c6000c3087ý$4b8bcc79-5980-4868-b49e-005a8148859bþInnerDictionaryÿ&ParameterInitializationMethodGenerator€RoutingPathTableAutoSizeCanvas‚CanvasWidthƒCanvasHeight„$c994f6e0-311a-4a1c-bc38-75fe34892406…Bounds†ElementGroupId‡IsExtensiblePinˆNegated‰SetResetŠ&{24449d48-c96a-49c4-b9d1-a4ea34aedce3}‹SetResetRefŒ&{233bc97c-69fe-4d29-b40e-a9a9b854044e}PretendsToBeConnectedŽ$65582d84-cf18-4ca0-be59-bf5a3d00b8f8$72f2b13f-5349-4a8a-bbe6-2bccf3f42179
+Modifiable‘$f5becf35-b1f3-4274-b411-81d4b63a1516’Inputs“Outputs”Texts•
+Parameters–PreparedParameters—PageArea˜EnEno™
+KindOfCallš&{77f43dfe-ca6a-4869-828f-7609d8ed6ea6}›ContainsExtensibleInputsœOwningPageId$d51129f5-df27-4886-99d1-c564d2e2c1f6žOutputŸ$b3e42b54-b8f2-45d3-825d-747f82f244a0 X¡Y¢IsJoint£Flags¤$93c117eb-0884-403b-b01e-28b89f47e041¥ConnectionId¦
+StartPoint§
+Unroutable¨CorrespondingPageId©Lockedª$584effbc-813e-443a-bf78-ad9c8d49db41«$5ae2e111-ecff-4a21-b647-2d4da63f8db7¬SourcePinId­	DestPinId®$9ba826d6-fdbc-4f85-99e6-e813fdd446c4¯
+components░$06bee84e-fb7b-460d-bdbc-36d334cb5380▒Addr▓&{9ba826d6-fdbc-4f85-99e6-e813fdd446c4}│$03b12d85-7991-4556-8c0e-c0b3063eb6c4┤ScanInformationDeviceNameÁScanInformationIPAddressAndPortÂScanInformationTargetIDĚScanInformationTargetNameŞScanInformationTargetType╣ScanInformationTargetVendor║ScanInformationTargetVersion╗$f194d1ef-7376-42ce-a729-4a5485a97a46╝CommentŻ17żHTTPRequest┐11└18┴1A┬		o: WORD;├5	udiBufferSize : UDINT;			// the buffer size of pstTo─1B┼1CĂ1Dă	wsContentLength : WSTRING(20);╚"	iStatus					: INT; // http status╔1E╩	POS : INT;╦HIF (iLenTo * 2) + (iLenFrom * 2) + 2 > UDINT_TO_DINT(udiBufferSize) THEN╠1F═20╬	RETURN;¤21đ22Đ23Ď24Ë25ď26Ň$0ce4a395-e620-4cbf-8bfa-0c5279f11931ÍStringToURLÎ27ě28┘
+IBLOCKSIZEÚAnyIntÛ// The result of a http requestÜ29Ý// Types of http requestsÞ2Aß2Bà2Cá2Dâ2Eã2Fä30å31æ32ç34è+CAA FB Factory, * (CAA Technical Workgroup)éVAR CONSTANTêCAA FB Factoryë$bde0bc31-b813-47f1-8ac0-d59c6c6fa39bìCODEí35î	CODE := 0;ïFBFð
	CODE := pt^;ñ36ò37ó38ôFUNCTION CODE : BYTEõ	PT : POINTER TO BYTE;ö	httpResult.wsContent := "";÷39ø3Aù3Bú3Cû3Dü3Eý	httpResult.wsHeader := "";þ3Fÿ40€41!	httpResult.diContentLength := 0;‚// State of requestsƒ42„43…9	httpResult				: HttpResult; // The result of the request†	httpResult.iStatus := 0;‡44ˆ45‰46Š47‹48Œ494AŽ{attribute 'hide_all_locals'}4B4C‘4D’4E“
+HttpClient”4F•xAbortInProgress := FALSE;–50—51˜52™53šIsGet›.	_sContent				: STRING(g_udiMaxResponseSize); œ	_sContent := '';55ž56Ÿ57 58¡59¢5A£5B¤+	eError					: ERROR; // Current error state¥74¦/	_wsContent				: WSTRING(g_udiMaxResponseSize);§5C¨	_wsContent := "";©5Dª$5cbf2273-92a3-408c-bb63-205c487a8a24«	Constants¬$e5bfdbe1-6c62-4716-8370-6fc9b969e08f­GVL®$ffbfa93a-b94d-45fc-a329-229860183b1d¯5E°5F±4	b := SHL(b,6) OR INT_TO_BYTE(WORD_TO_INT(o) - off);²60³61´‹												'%20', '%21', '%22', '%23', '%26', '%28', '%29', '%2A', '%2B', '%2C', '%2F', '%3A', '%3B', '%3D', '%3F', '%40', '%5B', '%5D'];	µIF iSizeIn <= 0 THEN¶	iSizeOut := 0;·	iSizeOut := i3 + 1;¸62¹63º		j := 18;»64¼FOR i := 0 TO 18 DO½		sReplace := csaChars[i + j];¾65¿š		ConvertUTF8toUTF16(sourceStart := ADR(_sContent), targetStart := ADR(_wsContent), dwTargetBufferSize := SIZEOF(_wsContent), bStrictConversion := FALSE);À&			sReplaceTo := csaChars[i + 18 - j];Á$61fa1e5b-d507-41d9-9969-a4f59d50e7ffÂParseResultÃMETHOD ParseResult : ERRORÄ66Å67Æ68Ç69ÈFUNCTION URLDecoder : BOOLÉ
+URLDecoder 6AňVAR_GLOBAL CONSTANTŐ	i			: INT;Õ6BőIF xEncode THENŌ6C–6D—6E“NetVarProperties”	httpResult : HTTPResult;‘
ParameterList’GetTextProperty2GUID÷$83ef5a37-9384-44cd-a098-9655efdedf04◊UTF-8ō$9e1aaea0-0352-440e-b42f-5c4bce94facaŔGVL_UTF8ŕ2	trailingBytesForUTF8 : ARRAY[0..255] OF BYTE := [ŘE				0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,‹E				1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,›D				2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5ř			];Ŗ\	firstByteMark : ARRAY[0..6] OF BYTE := [ 16#00, 16#00, 16#C0, 16#E0, 16#F0, 16#F8, 16#FC ];ŗS	offsetsFromUTF8: ARRAY[0..5] OF DWORD := [ 16#00000000, 16#00003080, 16#000E2080, Š5             16#03C82080, 16#FA082080, 16#82082080 ];‚$5224bca0-df60-44a9-9b93-c7de4e0bc365„ERRORš// Base 64 decoderŚTYPE ERROR :ś:	halfShift : INT := 10; (* used FOR shifting BY 10 bits *)Á 	halfBase : DWORD := 16#0010000;Ť	halfMask : DWORD := 16#3FF;ť-	UNI_REPLACEMENT_CHAR : DWORD := 16#0000FFFD;Í$	UNI_MAX_BMP : DWORD := 16#0000FFFF;Ž&	UNI_MAX_UTF16 : DWORD := 16#0010FFFF;ž&	UNI_MAX_UTF32 : DWORD := 16#7FFFFFFF;Ū,	UNI_MAX_LEGAL_UTF32 : DWORD := 16#0010FFFF;Ó	byteMask : DWORD := 16#BF;Ô	byteMark : DWORD := 16#80;ū'	UNI_SUR_HIGH_START : DWORD := 16#D800;Ů& 	UNI_SUR_HIGH_END : DWORD := 16#DBFF;Ú' 	UNI_SUR_LOW_START : DWORD := 16#DC00;ů% 	UNI_SUR_LOW_END : DWORD := 16#DFFF;Ű9	ERR_OK : UDINT := 16#0000;	(* The operation succeeded *)űD	ERR_SOURCE_EXHAUSTED : UDINT := 16#40A0; (* Used for UTF8 helper *)ŲD	ERR_TARGET_EXHAUSTED : UDINT := 16#40A1; (* Used for UTF8 helper *)ųB	ERR_SOURCE_ILLEGAL : UDINT := 16#40A2; (* Used for UTF8 helper *)Ý$0c892cf6-5871-4e80-a5f9-d8d9a6dc5040ýConvertUTF16toUTF8ķConvertUTF16toUTF8 := ERR_OK;Żsource := sourceStart;Łtarget := targetStart;żIsourceEnd := source + Stu.StrLenW(source)*2 + 1; // Add the terminating 0Ģ)targetEnd := target + dwTargetBufferSize;ˇWHILE source < sourceEnd DOÄ	bytesToWrite := 0;ĀR    oldSource := source; // In CASE we have TO back up because OF target overflow.ā!    ch := WORD_TO_DWORD(source^);É
+VAR_OUTPUT„	source := source + 2;…>    (* If we have a surrogate pair, convert to UTF32 first. *)†A    IF (ch >= UNI_SUR_HIGH_START AND ch <= UNI_SUR_HIGH_END) THEN‡U        (* If the 16 bits following the high surrogate are in the source buffer... *)ˆ$        IF (source < sourceEnd) THEN‰'        	ch2 := WORD_TO_DWORD(source^);Š9        	(* If it's a low surrogate, convert to UTF32. *)‹@			IF (ch2 >= UNI_SUR_LOW_START AND ch2 <= UNI_SUR_LOW_END) THENŒY				ch := SHL(ch - UNI_SUR_HIGH_START, halfShift) + (ch2 - UNI_SUR_LOW_START) + halfBase;6FŽ				source := source + 2;!			ELSIF (bStrictConversion) THEN)				(* it's an unpaired high surrogate *)‘@				source := source - 2; // return to the illegal value itself ’-				ConvertUTF16toUTF8 := ERR_SOURCE_ILLEGAL;“					EXIT;”				END_IF•		ELSE –A		 	(* We don't have the 16 bits following the high surrogate. *)—8			source := source - 2; // return to the high surrogate˜.			ConvertUTF16toUTF8 := ERR_SOURCE_EXHAUSTED;™			EXIT;š70›71œ	ELSIF (bStrictConversion) THEN;        (* UTF-16 surrogate values are illegal in UTF-32 *)žC        IF (ch >= UNI_SUR_LOW_START AND ch <= UNI_SUR_LOW_END) THENŸD        	source := source - 2; // RETURN TO the illegal value itself 2        	ConvertUTF16toUTF8 := ERR_SOURCE_ILLEGAL;¡        	EXIT;¢        END_IF£
+    END_IF¤4								uiInputBufferSize := DINT_TO_UINT(diSize),  ¥;    (* Figure out how many bytes the result will require *)¦    IF (ch < 16#80) THEN      §		bytesToWrite := 1;¨!    ELSIF (ch < 16#800) THEN     ©		bytesToWrite := 2;ª!    ELSIF (ch < 16#10000) THEN   «		bytesToWrite := 3;¬72­¥	csaChars	: ARRAY[0..35] OF STRING(3) := [ ' ',    '!',  '"',   '#',   '&',   '(',   ')',   '*',   '+',   ',',   '/',   ':',   ';',   '=',   '?',   '@',   '[',  ']',®!    ELSIF (ch < 16#110000) THEN  ¯		bytesToWrite := 4;°    ELSE       ±#        ch := UNI_REPLACEMENT_CHAR;²$    target := target + bytesToWrite;³     IF (target > targetEnd) THEN´8        source := oldSource; // Back up source pointer! µ+	wsContent : WSTRING(g_udiMaxResponseSize);¶)        target := target - bytesToWrite; ·.		ConvertUTF16toUTF8 := ERR_TARGET_EXHAUSTED; ¸!	_pbContent				: POINTER TO BYTE;¹		EXIT;ºr		iReplacePos := Stu.StrFindA(pst1 := psIn, pst2 := ADR(sReplace), uiSearchStart := INT_TO_UINT(iReplacePos + 1));»
+   	END_IF╝H			iReplaceLength := DINT_TO_INT(Stu.StrLenA(pstData := ADR(sReplace)));ŻM			iReplaceToLength :=  DINT_TO_INT(Stu.StrLenA(pstData := ADR(sReplaceTo)));ż&			Stu.StrReplaceA(	pstInput := psIn, ┐"	bytesToWriteSave := bytesToWrite;└73┴B								iLengthInput := DINT_TO_INT(Stu.StrLenA(pstData := psIn)),┬    IF bytesToWrite = 4 THEN├		target := target - 1;─;		target^ := DWORD_TO_BYTE((ch OR byteMark) AND byteMask); ┼		ch := SHR(ch, 6);Ă	IF bytesToWrite = 3 THENă	IF bytesToWrite = 2 THEN╚	IF bytesToWrite = 1 THEN╔B		target^ := DWORD_TO_BYTE(ch OR firstByteMark[bytesToWriteSave]);╩(    target := target + bytesToWriteSave;╦	END_WHILE╠// Converts a WSTRING to STRING═75╬13¤#FUNCTION ConvertUTF16toUTF8 : UDINTđ6 	sourceStart : POINTER TO WORD;	// Pointer to WSTRINGĐ4	targetStart : POINTER TO BYTE;	// Pointer to STRINGĎ/	dwTargetBufferSize : DWORD;		// Size of STRINGË	bStrictConversion : BOOL;ď	source : POINTER TO WORD;Ň	sourceEnd : POINTER TO WORD;Í	oldSource : POINTER TO WORD;Î	target : POINTER TO BYTE;ě76┘	targetEnd : POINTER TO BYTE;┌	ch : DWORD;█
	ch2 : DWORD;▄	bytesToWrite : WORD := 0;Ţ	bytesToWriteSave : WORD := 0;Ů$62da71d9-c483-45e3-8485-957b25ad5bfd▀ConvertUTF8toUTF16ÓConvertUTF8toUTF16 := ERR_OK;ß77ÔHsourceEnd := source + Stu.StrLenA(source) + 1; // Add the terminating 0 ŃWHILE (source < sourceEnd) DOń78ň		ch := 0;Š3	extraBytesToRead := trailingBytesForUTF8[source^];š"// URL Decoder/Encoder (%-Encoder)Ŕ1	IF (source + extraBytesToRead >= sourceEnd) THENÚ-		ConvertUTF8toUTF16 := ERR_SOURCE_EXHAUSTED;ŕ.	(* Do this check whether lenient or strict *)Ű79ýY	IF (NOT IsLegalUTF8(source, WORD_TO_INT(extraBytesToRead+1)) AND bStrictConversion) THENÝ+		ConvertUTF8toUTF16 := ERR_SOURCE_ILLEGAL;ţ	(*´2	* The cases all fall through. See "Note A" below.­	*)˝7A˛*	extraBytesToReadSave := extraBytesToRead;ˇ	IF extraBytesToRead = 5 THEN˘		ch := ch + source^;§		source := source + 1;÷1		ch := SHL(ch, 6); (* remember, illegal UTF-8 *)¸		extraBytesToRead := 4;°7B¨	IF extraBytesToRead = 4 THEN˙METHOD StringToURL : ERRORű@	psIn	: POINTER TO STRING; // Pointer to String to decode/encodeŘ		extraBytesToRead := 3;ř	IF extraBytesToRead = 3 THEN■		ch := SHL(ch, 6);  		extraBytesToRead := 2;Ç		IF extraBytesToRead = 2 THENü			extraBytesToRead := 1;é		IF extraBytesToRead = 1 THENâ			extraBytesToRead := 0;ä		IF extraBytesToRead = 0 THENů	2	ch := ch - offsetsFromUTF8[extraBytesToReadSave];ć		IF (target >= targetEnd) THENç	b		// We don't return the source yet: source -= (extraBytesToRead+1); /* Back up source POINTER! */ł	.		ConvertUTF8toUTF16 := ERR_TARGET_EXHAUSTED; ë				Ő		IF (ch <= UNI_MAX_BMP) THEN ő	#	diSize	: DINT;				 // Size of psInî	'		(* Target is a character <= 0xFFFF *)Ź	5		(* UTF-16 surrogate values are illegal in UTF-32 *)Ä	>		IF (ch >= UNI_SUR_HIGH_START AND ch <= UNI_SUR_LOW_END) THENĆ				IF (bStrictConversion) THENÉ	-				ConvertUTF8toUTF16 := ERR_SOURCE_ILLEGAL;Ĺ				ELSE ĺ	3				target^ := DWORD_TO_WORD(UNI_REPLACEMENT_CHAR);ô					target := target + 2;ö			ELSEĽ	2			target^ := DWORD_TO_WORD(ch); (* normal case *)ľ				target := target + 2;Ś	 	ELSIF (ch > UNI_MAX_UTF16) THENś			IF (bStrictConversion) THENÖ	,			ConvertUTF8toUTF16 := ERR_SOURCE_ILLEGAL;Ü	_			// We don't return the source yet: source -= (extraBytesToRead+1); (* return to the start *)Ť	+			EXIT; (* Bail out; shouldn't continue *)ť	2			target^ := DWORD_TO_WORD(UNI_REPLACEMENT_CHAR);Ł		ELSE ×	9		(* target is a character in range 0xFFFF - 0x10FFFF. *)č	#		IF (target + 1 >= targetEnd) THENá	c			// We don't return the source yet: source -= (extraBytesToRead+1); (* Back up source pointer! *)í	7	xEncode : BOOL;				 // TRUE -> Encode, FALSE -> DECODEó	/			ConvertUTF8toUTF16 := ERR_TARGET_EXHAUSTED; ú			ch := ch - halfBase;Ą	D		target^ := DWORD_TO_WORD(SHR(ch, halfShift) + UNI_SUR_HIGH_START);ą			target := target + 2;Ž	@		target^ := DWORD_TO_WORD(ch AND halfMask + UNI_SUR_LOW_START);ž	 // Converts a STRING to WSTRING.Ę	RETURN; ę	54¬	#FUNCTION ConvertUTF8toUTF16 : UDINTź	6 	sourceStart : POINTER TO BYTE; 	// Pointer to STRINGČ	URLDecoder := TRUE;ş	5	targetStart : POINTER TO WORD;	// Pointer to WSTRING«	4	dwTargetBufferSize : DWORD;		// Size of the WSTRING»		source : POINTER TO BYTE;░		sourceEnd : POINTER TO BYTE;▒		target : POINTER TO WORD;▓		targetEnd : POINTER TO WORD;│		extraBytesToRead : WORD;┤		extraBytesToReadSave : WORD;Á	$c9744904-7570-4bd2-9d5a-635478747a24Â	IsLegalUTF8Ě	IsLegalUTF8 := FALSE;Ş	srcptr := source+length;╣	<IF length = 4 OR length = 3 OR length = 2 OR length = 1 THEN║	Standard, * (System)╗		IF length = 4 THEN╝			srcptr := srcptr - 1;Ż			a := srcptr^;ż	"		IF (a < 16#80 OR a > 16#BF) THEN┐	
+			RETURN;└			length := 3;┴		IF length = 3 THEN┬			length := 2;├		IF length = 2 THEN─			IF (a > 16#BF) THEN┼			Ă			CASE (source^) OFă	-			(* no fall-through in this inner switch *)╚	
+			16#E0: ╔					IF (a < 16#A0) THEN╩	
					RETURN; ╦	
+				END_IFÌ				16#ED:  Í					IF (a > 16#9F) THENÎ				16#F0:  Ï					IF (a < 16#90) THENÐ				16#F4:  Ñ					IF (a > 16#8F) THENÒ				IF (a < 16#80) THENÓ					RETURN;Ô	
+		END_CASEÕ			length := 1;Ö	
IF i > 0 THEN×		IF length = 1 THENØ	7CÙ	7DÚ	0		IF (source^ >= 16#80 AND source^ < 16#C2) THENÛ		iSizeIn : INT; // Site of 'in'Ü	7EÝ	-FUNCTION_BLOCK HttpClient EXTENDS CBM.ETrigToÞ	IF (source^ > 16#F4) THENß	IsLegalUTF8 := TRUE;à	FUNCTION IsLegalUTF8 : BOOLá	 	source : POINTER TO BYTE;â		length : INT;ã	
+	a : BYTE;ä		srcptr : POINTER TO BYTE;å	7Fæ		_pbContent := ADR(_sContent);ç	80è	S	g_udiMaxRequestSize : UDINT := 16000; // Maximum size of the http request in btyesé	81ê					ë	82ì	U	g_udiMaxResponseSize : UDINT := 16000; // Maximum size of the http response in bytesí	83î	84ï		iSizeOut := i2;ð	85ñ	FUNCTION_BLOCK BASE64_ENCODEò	
BASE64_ENCODEó	86ô	87õ	[	BASE64: WSTRING(64) := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";ö		STR : WSTRING(64);÷	88ø	89ù	8Aú	8Bû	.IF pos < 1 OR pos > Stu.StrLenW(ADR(str)) THENü	8Cý	8Dþ	$a55ea3a1-815e-496e-9e08-640e32996a94ÿ	$9473f21a-95d1-4701-864f-5fd3e64e9516€
+Param
+8E‚
+8Fâ
+90„
+91…
+92†
+8	i3 := i2 + UINT_TO_INT((NOT INT_TO_WORD(i2) AND 2#11));‡
+93ˆ
+94‰
+95Š
+ 	gc_wsBLANK : WSTRING(1) := " ";‹
+6	in 		: POINTER TO WORD; // Input: Pointer to WSTRING Œ
+97
+ 	gc_wsLF	: WSTRING(2) :=	"$R$N";Ž
+	IF _tcp_read.xReady THEN		
+7	out 	: POINTER TO WORD; // Output: Pointer to WSTRING 
+96‘
+98’
+7	gc_wsContentLength	: WSTRING(15) := "Content-Length:";“
+99”
+9A•
+9B–
+// Base 64 encoder—
+9C˜
+9Dô
+9Eš
+=	gc_wsChunked		: WSTRING(26) := "Transfer-Encoding: chunked";›
+9Fœ
+A0
+A1ž
+33Ÿ
+A2 
+A3¡
+A4¢
+A5£
+A6¤
+// Find HTTP status¥
+	diTemp1 : DINT;¦
+	diTemp2 : DINT;§
+]diTemp1 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsBLANK), uiSearchStart := 0);¨
+A7©
+A8ª
+š	ConvertUTF16toUTF8(sourceStart := ADR(_wsRequest), targetStart := ADR(_abRequest), dwTargetBufferSize := SIZEOF(_abRequest), bStrictConversion := FALSE);«
+				iPosition := 1,¬
+A9­
+AAź
+¦	_tcp_write(xExecute := _tcp_client.xActive, hConnection := _tcp_client.hConnection, szSize := DINT_TO_UDINT(Stu.StrLenA(ADR(_abRequest))), pData := ADR(_abRequest));¯
+AB°
+	xIsChunked : BOOL;±
+ACē
+ADł
+AEŽ
+AFµ
+B0¶
+IF xIsChunked THENĚ
+B1¸
+F	pwsAdditionalHeader		: POINTER TO WSTRING; // Additional HTTP header	¹
+B2º
+B3»
+B4¼
+7	pwsPostValue			: POINTER TO WSTRING; // Post parameter½
+B5¾
+B6¿
+B7À
+,				uiInputBufferSize := SIZEOF(wsContent), Á
+	wsContentLength		: WSTRING(5);Â
+B8Ã
+-ELSIF eRequestType = REQUEST_TYPE.DELETE THENÄ
++ELSIF eRequestType = REQUEST_TYPE.HEAD THENÅ
+*ELSIF eRequestType = REQUEST_TYPE.PUT THENĘ
+B9Ç
+	url.uiPort := 80;È
+%Stu.StrMidW(	pwst := ADR(wsContent), É
+140Ê
+BA╦
+BBÌ
+!	wsBlank				: WSTRING(1) 	:= " ";Í
+
// Find '://'Î
+	wsType := "DELETE";Ï
+	wsType := "";Ð
+BC—
+	wsType := "HEAD";Ò
+	wsType := "PUT";Ó
+BDÔ
++ELSIF eRequestType = REQUEST_TYPE.POST THENŐ
+<	wsType				: WSTRING(6); // Type of the request: GET or POSTÍ
+BEŚ
+BFØ
+C0Ù
+C1Ú
+C2Û
+	// Set protocol			Ü
+C3Ý
+C4Þ
+udiTemp2 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsBLANK), uiSearchStart := DINT_TO_UINT(diTemp1 + 1));ß
+C5à
+_eState := STATE.IDLE;á
+C6â
+C7ã
+/				iLength := DINT_TO_INT(diTemp2 - diTemp1), ä
+// Find path start '/'å
+*	wsOut					: WSTRING(g_udiMaxRequestSize);æ
+C8ç
+KIF eRequestType = REQUEST_TYPE.POST OR eRequestType = REQUEST_TYPE.PUT THENč
+C9é
+METHOD CreateRequestê
+CAŽ
+CBì
+'				iPosition := DINT_TO_INT(diTemp1), í
+CCî
+)					pwstResult := ADR(wsContentLength), ï
+4					uiResultBufferSize := SIZEOF(wsContentLength));ð
+.	wsHTTPVersion		: WSTRING(12) 	:= " HTTP/1.1";ñ
+CD˛
+CEó
+CFô
+D0õ
+D1ö
+D2÷
+D3ø
+	wsStatus : WSTRING(4);ù
+D4ú
+!				pwstResult := ADR(wsStatus), û
+,				uiResultBufferSize := SIZEOF(wsStatus));ü
+;	wsHTTPContetntLength	: WSTRING(17) 	:= "Content-Length: ";ý
+D5þ
+D6ÿ
+)	wsHTTPHost 			: WSTRING(9) 	:= "Host: ";€D7D8‚.					pwstResult := ADR(httpResult.wsContent), ƒ9					uiResultBufferSize := SIZEOF(httpResult.wsContent));„D9…9					iLength := DINT_TO_INT(httpResult.diContentLength), †wsOut := "";‡	wsType := "GET";ˆDA‰(					iPosition := DINT_TO_INT(diTemp1), Š/httpResult.iStatus := WSTRING_TO_INT(wsStatus);‹	wsType := "POST";ŒDBDCŽDDDEDF‘E0’*	gc_wsDoubleLF	: WSTRING(4) :=	"$R$N$R$N";“// HTTPClient parameters”{	CreateRequest(url := _url, pwsAdditionalHeader := pwsAdditionalHeader, pwsPostValue := pwsPostValue, wsOut := _wsRequest);•// Find header–E1—8	_abRequest 				: ARRAY[0..g_udiMaxRequestSize] OF BYTE;˜E2™E3š"IF diTemp1 < 1 OR diTemp2 < 1 THEN›E4œ	IF diTemp2 < 1 THENE5žE6ŸE7 E8¡E9¢EA£EB¤194¥	// set port¦EC§	// set domain¨ED©	// set pathªEE«				iLength := i - 1,¬EF­F0®F1¯,				pwstResult := ADR(httpResult.wsHeader), °7				uiResultBufferSize := SIZEOF(httpResult.wsHeader));±F2²F3³F4´F5µF6¶F7·F8¸F9¹FAºFB»FC¼FD½FE¾‘	IF (eRequestType = REQUEST_TYPE.POST OR eRequestType = REQUEST_TYPE.PUT) AND (pwsPostValue = 0 OR Stu.StrLenW(pstData := pwsPostValue) = 0) THEN¿FFÀP	wsProtocol	: WSTRING(5); 	// Protocol e.g. http, NOTE: ONLY HTTP IS SUPPORTED! Á100Â101Ã102Ä103Å104Æ105Ç106È107É108Ê109Ë%		iError := ERROR.MISSING_POST_VALUE;Ì!		iError := ERROR.TCP_INIT_ERROR;Í10AÎ"		iError := ERROR.TCP_WRITE_ERROR;Ï!		iError := ERROR.TCP_READ_ERROR;Ð10BÑ	TIME_OUT := 1, // Time outÒ10CÓ10DÔ10EÕ10FÖ110×111Ø112Ù113Ú+	UNEXPECTED_ERROR := 2, // Unexpected errorÛeError := iError;Ü114Ý115Þ116ß117à118á119â-	wsUrl		: WSTRING(1024);	// The url as stringã	wsTemp		: WSTRING(1024);ä	wsPort		: WSTRING(6);å11Aæ11Bç11Cè11DéIF url.wsPath = "" THENê11Eë11Fì120í121î	wsDel		: WSTRING(3) := "://";ï	_pwsIn 	: POINTER TO WORD;ð	_pwsOut 	: POINTER TO WORD;ñ122ò123ó	url.wsPath := "/";ô	wsPortDel	: WSTRING(1) := ":";õ124ö!	wsPathStart	: WSTRING(1) := "/";÷125ø126ù127ú(				uiInputBufferSize := SIZEOF(wsTemp),û1				uiResultBufferSize := SIZEOF(url.wsDomain));	ü128ý129þ$				pwstResult := ADR(url.wsDomain),ÿ12A€*				uiResultBufferSize := SIZEOF(wsPort));12B‚				pwstResult := ADR(wsPort),ƒ	url.wsDomain := wsTemp;„+	url.uiPort := WSTRING_TO_UINT(wsPort);				…<	TCP_INIT_ERROR := 3, // Unable to initialize the TCP socket†Si := Stu.StrFindW(pst1 := ADR(wsTemp), pst2 := ADR(wsPortDel), uiSearchStart := 1);‡12CˆA		ParseResult(wsContent := _wsContent, httpResult := httpResult);‰12DŠ12E‹12FŒ130131Ž132
_pwsIn := in;133‘_pwsOut := out;’	b := SHL(b,8) OR _pwsIn^;“134”rdiTemp1 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsLF), uiSearchStart := DINT_TO_UINT(diTemp2 + 1));•4// Functionblock to send http GET and POST requests.–!	_pwsIn := _pwsIn + SIZEOF(WORD);—5		_pwsOut^ := CODE(BASE64,WORD_TO_INT(SHR(b,a)) + 1);˜135™$		_pwsOut := _pwsOut + SIZEOF(WORD);š8	_pwsOut^ := CODE(BASE64,WORD_TO_INT(SHL(b,6 - a)) + 1);›136œ#	_pwsOut := _pwsOut + SIZEOF(WORD);		_pwsOut^ := 61;ž137Ÿ// Converts a string to an url. 138¡202¢,	PT := ADR(STR) + INT_TO_DWORD(pos - 1) * 2;£139¤5	TCP_READ_ERROR := 4, // Error while reading response¥3	_IPAddr.sAddr := WSTRING_TO_STRING(_url.wsDomain);¦13A§13B¨13C©13Dª13E«13F¬141­142®143¯144°	url			: URL; // The URL struct±19²145³146´147µ148¶149·14A¸14B¹	o := _pwsIn^;º%		_pwsOut^ := WORD_TO_BYTE(SHR(b,a));»9	TCP_WRITE_ERROR := 5, // Error while sending the request¼>				iPosition := i + DINT_TO_INT(Stu.StrLenW(ADR(wsPortDel))),½14C¾[				iLength := DINT_TO_INT(Stu.StrLenW(ADR(wsTemp)) - i - Stu.StrLenW(ADR(wsPortDel))) + 1,¿14DÀ14EÁ14FÂ(	uiPort		: UINT;			// Port of the serverÃ150Ä151Å152Æ// URL structureÇ153È154É155Ê156Ë157Ì158ÍNi := Stu.StrFindW(pst1 := ADR(wsUrl), pst2 := ADR(wsDel), uiSearchStart := 1);Î159Ï15AÐ15BÑ'				uiInputBufferSize := SIZEOF(wsUrl),Ò15CÓ15DÔ15EÕ15FÖ*				uiResultBufferSize := SIZEOF(wsTemp));× 	Stu.StrMidW(pwst := ADR(wsUrl),Ø				pwstResult := ADR(wsTemp),Ù)	ParseResult := ERROR.RESULT_PARSE_ERROR;Ú160Û161Ü162Ý163Þ164ß165à166á167â168ãUtil, * (System)äUtilå$3196b2de-4e98-412f-bc18-4f7341962a4dæ	Functionsç169è16Aé16Bêc				iLength := DINT_TO_INT(Stu.StrLenW(ADR(wsUrl))) - i - DINT_TO_INT(Stu.StrLenW(ADR(wsDel))) + 1,ë16Cì16Dí16Eî;				iPosition := i +  DINT_TO_INT(Stu.StrLenW(ADR(wsDel))),ï16FðD	MISSING_POST_VALUE := 6, // Current request type needs a post valueñ&				pwstResult := ADR(url.wsProtocol),ò2				uiResultBufferSize := SIZEOF(url.wsProtocol));ó170ô171õ	url.wsProtocol := "http";ö172÷	wsTemp := wsUrl;ø173ù174ú175ûUi := Stu.StrFindW(pst1 := ADR(wsTemp), pst2 := ADR(wsPathStart), uiSearchStart := 1);ü176ý177þ178ÿ!	Stu.StrMidW(pwst := ADR(wsTemp),€
179
17A‚
17Bƒ
17C„
17D…
17E†
17F‡
180ˆ
181‰
"				pwstResult := ADR(url.wsPath),Š
/				uiResultBufferSize := SIZEOF(url.wsPath));	‹
182Œ
f				iLength := DINT_TO_INT(Stu.StrLenW(ADR(wsTemp))) - i + DINT_TO_INT(Stu.StrLenW(ADR(wsPathStart))),
D				iPosition := i + DINT_TO_INT(Stu.StrLenW(ADR(wsPathStart))) - 1,Ž
183
-				uiResultBufferSize := SIZEOF(wsTemp));			
184‘
<	RESULT_PARSE_ERROR := 7 // Error while parsing the response’
	url.wsPath := "";“
185”
186•
187–
188—
189˜
'	wsLF				: WSTRING(2) 	:= "$000D$000A";™
18Aš
18B›
18Cœ
18D
18Ež
18FŸ
190 
191¡
	GET := 0, // http GET¢
192£
2	wsLF2				: WSTRING(4) 	:= "$000D$000A$000D$000A";¤
193¥
195¦
196§
197¨
198©
199ª
19A«
19B¬
4	POST := 1, // http POST (needs input pwsPostValue) ­
19C®
19D¯
19E°
19F±
	DELETE := 2, // http DELETE²
1A0³
1A1´
2	PUT := 3, // http PUT (needs input pwsPostValue) µ
1A2¶
1A3·
	HEAD := 4 // http HEAD¸
1A4¹
1A5º
1A6»
1A7¼
/	_wsRequest 				: WSTRING(g_udiMaxRequestSize);½
1A8¾
1A9¿
297À
1AAÁ
 	gc_wsHex	: WSTRING(3) :=	"16#";Â
1ABÃ
1ACÄ
"	wsContentLengthHex : WSTRING(20);Å
C	httpResult.diContentLength := WSTRING_TO_DINT(wsContentLengthHex);Æ
1ADÇ
1AEÈ
~	Stu.StrConcatW(pstFrom := ADR(wsContentLength), pstTo := ADR(wsContentLengthHex), iBufferSize := SIZEOF(wsContentLengthHex));É
1AFÊ
 	wsContentLengthHex := gc_wsHex;Ë
1B0Ì
1B1Í
1B2Î
ELSE	Ï
	// Get data lengthÐ
	// Copy contentÑ
1B3Ò
1B4Ó
16Ô
1B5Õ
1B6Ö
1B7×
1B8Ø
1B9Ù
S	sContent				: STRING(g_udiMaxResponseSize); // The result of the request as STRINGÚ
1BAÛ
1BBÜ
C	sHeader					: STRING(g_udiMaxHeaderSize); // http header as STRINGÝ
1BCÞ
1BDß
1BEà
E	wsHeader				: WSTRING(g_udiMaxHeaderSize); // http header as WSTRINGá
1BFâ
1C0ã
²ConvertUTF16toUTF8(sourceStart := ADR(httpResult.wsHeader), targetStart := ADR(httpResult.sHeader), dwTargetBufferSize := SIZEOF(httpResult.sHeader), bStrictConversion := FALSE);ä
µConvertUTF16toUTF8(sourceStart := ADR(httpResult.wsContent), targetStart := ADR(httpResult.sContent), dwTargetBufferSize := SIZEOF(httpResult.sContent), bStrictConversion := FALSE);å
 // Copy WSTRING to STRING valuesæ
1C1ç
1C2è
1C3é
1C4ê
1C5ë
1C6ì
1C7í
1C8î
1C9ï
1CAð
1CBñ
1CCò
1CDó
1CEô
1CFõ
1D0ö
E	pwsAdditionalHeader		: POINTER TO WSTRING; // Additional HTTP header÷
1D1ø
1D2ù
1D3ú
1D4û
1D5ü
1D6ý
1D7þ
1D8ÿ
1D9€1DA1DB‚1DCƒ1DD„1DE…1DF†1E0‡1E1ˆ1E2‰1E3Š1E4‹1E5Œ1E61E7Ž1E81E91EA‘1EB’1EC“1ED”1EE•1EF–1F0—1F1˜1F2™1F3š1F4›1F5œ1F61F7ž1F8Ÿ1F9 1FA¡1FB¢1FC£1FD¤1FE¥1FF¦200§201¨203©7CAA Behaviour Model, 3.5.11.0 (CAA Technical Workgroup)ªStringUtils, 3.5.14.0 (System)ÿÿPK6E8Q—T%»ÒÍ missingtypeinformation.auxiliaryÍ2ðÿÿÿÿ<Core, Version=3.5.15.0, Culture=neutral, PublicKeyToken=null“System.Collections.Generic.List`1[[_3S.CoDeSys.Core.Objects.MissingTypeInformation2, Core, Version=3.5.15.0, Culture=neutral, PublicKeyToken=null]]_items_size_version2_3S.CoDeSys.Core.Objects.MissingTypeInformation2[]	 0_3S.CoDeSys.Core.Objects.MissingTypeInformation2üÿÿÿ0_3S.CoDeSys.Core.Objects.MissingTypeInformation2MissingTypeGuid
 PlugInName
PlugInVersionOwningPackageIdOwningPackageNameOwningPackageVersionSystem.GuidSystem.VersionSystem.GuidSystem.VersionûÿÿÿSystem.Guid_a_b_c_d_e_f_g_h_i_j_koþS‡"J CåSÄüŽEngine	øÿÿÿûÿÿÿ		
 õÿÿÿüÿÿÿôÿÿÿûÿÿÿê‹s»™O»§¥gçN:
Default Navigators	ñÿÿÿûÿÿÿ			îÿÿÿüÿÿÿíÿÿÿûÿÿÿòš‚ÅnO–4ñsB’Object Manager	êÿÿÿûÿÿÿ			çÿÿÿüÿÿÿæÿÿÿûÿÿÿ™¬oáüN„eh¬D;}
 POU Object	ãÿÿÿûÿÿÿ			àÿÿÿüÿÿÿßÿÿÿûÿÿÿ~[í©ÅuQF¯ÒÂ~˜Ë”"Variable Declaration Object	#Üÿÿÿûÿÿÿ			&ÙÿÿÿüÿÿÿØÿÿÿûÿÿÿv·ƒ;%û¸C™ò<P|‘Cü)ST Implementation Object	*Õÿÿÿûÿÿÿ			-ÒÿÿÿüÿÿÿÑÿÿÿûÿÿÿmtµ-„Ò%DŸ&c£K¼0
 DUT Object	1Îÿÿÿûÿÿÿ			4ËÿÿÿüÿÿÿÊÿÿÿûÿÿÿe˵­ŽJ·
 7^¢u‚ó7Library Manager Object	8Çÿÿÿûÿÿÿ			;ÄÿÿÿüÿÿÿÃÿÿÿûÿÿÿf„¥øöןC»¸Ô`AЙ>
Method Object	?Àÿÿÿûÿÿÿ			B½ÿÿÿüÿÿÿ¼ÿÿÿûÿÿÿHþZØÅ¥N«
³Wú`	EProject Information Object	F¹ÿÿÿûÿÿÿ			I¶ÿÿÿüÿÿÿµÿÿÿûÿÿÿ:©¿ÿM¹üE£)"˜`;L
 GVL Object	M▓   √   			Pп   №   о   √   Зкрf>`ХN╖м┌<J	Ы5		л   √   			Wи   №   з   √   zhОз|╙B╛№╜жv┼яZ
-Image pool	[¤ÿÿÿûÿÿÿ			^¡ÿÿÿüÿÿÿ ÿÿÿûÿÿÿƖ~¦Ó?%M©ÿr<k/xË	Z	[ÿÿÿûÿÿÿ			ešÿÿÿüÿÿÿ™ÿÿÿûÿÿÿ$ŠV$‘Ä,G¢î]3…Ÿ«hLanguage Model Manager	i–ÿÿÿûÿÿÿ			l“ÿÿÿüÿÿÿ’ÿÿÿûÿÿÿ
-
-‘ÿÿÿûÿÿÿ
+Image pool	[¤ÿÿÿûÿÿÿ			^¡ÿÿÿüÿÿÿ ÿÿÿûÿÿÿƖ~¦Ó?%M©ÿr<k/xË	Z	[ÿÿÿûÿÿÿ			ešÿÿÿüÿÿÿ™ÿÿÿûÿÿÿ$ŠV$‘Ä,G¢î]3…Ÿ«hLanguage Model Manager	i–ÿÿÿûÿÿÿ			l“ÿÿÿüÿÿÿ’ÿÿÿûÿÿÿEאŹwM·²œ?w¢;		ÿÿÿûÿÿÿ			sŒÿÿÿüÿÿÿ‹ÿÿÿûÿÿÿÿDg¥?i—E•ùRŸÿÂvExternal File Object	wˆÿÿÿûÿÿÿ			z…ÿÿÿüÿÿÿ„ÿÿÿûÿÿÿ
+
+ƒÿÿÿûÿÿÿ
+
+‚ÿÿÿüÿÿÿÿÿÿûÿÿÿ
+
+€ÿÿÿûÿÿÿ
+
+ÿÿÿüÿÿÿ~ÿÿÿûÿÿÿ
+
+}ÿÿÿûÿÿÿ
+
+|ÿÿÿüÿÿÿ{ÿÿÿûÿÿÿ
+
+zÿÿÿûÿÿÿ
+
+yÿÿÿüÿÿÿxÿÿÿûÿÿÿ
+
+wÿÿÿûÿÿÿ
+
+vÿÿÿüÿÿÿuÿÿÿûÿÿÿ
+
+tÿÿÿûÿÿÿ
+
+sÿÿÿüÿÿÿrÿÿÿûÿÿÿ
+
+qÿÿÿûÿÿÿ
+
+pÿÿÿüÿÿÿoÿÿÿûÿÿÿ
+
+nÿÿÿûÿÿÿ
+
+mÿÿÿüÿÿÿlÿÿÿûÿÿÿ
+
+kÿÿÿûÿÿÿ
+
+jÿÿÿüÿÿÿiÿÿÿûÿÿÿ
+
+hÿÿÿûÿÿÿ
+
+gÿÿÿüÿÿÿfÿÿÿûÿÿÿ
+
+eÿÿÿûÿÿÿ
+
+dÿÿÿüÿÿÿcÿÿÿûÿÿÿ
+
+bÿÿÿûÿÿÿ
+
+aÿÿÿüÿÿÿ`ÿÿÿûÿÿÿ
+
+_ÿÿÿûÿÿÿ
+
+^ÿÿÿüÿÿÿ]ÿÿÿûÿÿÿ
+
+\ÿÿÿûÿÿÿ
+
+[ÿÿÿüÿÿÿZÿÿÿûÿÿÿ
+
+Yÿÿÿûÿÿÿ
 
 System.Version_Major_Minor_Build	_Revision
-ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#&ÿÿÿÿÿÿÿÿ*-ÿÿÿÿÿÿÿÿ14ÿÿÿÿÿÿÿÿ8;ÿÿÿÿÿÿÿÿ?BÿÿÿÿÿÿÿÿFIÿÿÿÿÿÿÿÿMPÿÿÿÿÿÿÿÿWÿÿÿÿÿÿÿÿ[^ÿÿÿÿÿÿÿÿeÿÿÿÿÿÿÿÿilÿÿÿÿÿÿÿÿPK„|7Q·)MH>svn_versioninfo_70ed84c2_b1ab_4f94_95a2_3b5d6c741742.auxiliaryH·ü!0…jüoÛÜuEnED©System.StringL{1eafe61a-ff0d-4300-a8cf-b4c7a5123dba}VersionInfoL{58c2d042-a745-4fed-9ea5-1f0464c87bb9}MinRevisionlongMaxRevisionLastChangeUtc	System.DateTime
+ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#&ÿÿÿÿÿÿÿÿ*-ÿÿÿÿÿÿÿÿ14ÿÿÿÿÿÿÿÿ8;ÿÿÿÿÿÿÿÿ?BÿÿÿÿÿÿÿÿFIÿÿÿÿÿÿÿÿMPÿÿÿÿÿÿÿÿWÿÿÿÿÿÿÿÿ[^ÿÿÿÿÿÿÿÿeÿÿÿÿÿÿÿÿilÿÿÿÿÿÿÿÿsÿÿÿÿÿÿÿÿwzÿÿÿÿÿÿÿÿPK6E8Q·)MH>svn_versioninfo_70ed84c2_b1ab_4f94_95a2_3b5d6c741742.auxiliaryH·ü!0…jüoÛÜuEnED©System.StringL{1eafe61a-ff0d-4300-a8cf-b4c7a5123dba}VersionInfoL{58c2d042-a745-4fed-9ea5-1f0464c87bb9}MinRevisionlongMaxRevisionLastChangeUtc	System.DateTime
 &04/23/2019 13:08:50 LastChangeAuthorr.lang
ModifiedboolSwitched*IncompleteWorkingCopyDisconnectedBaseUrl¶svn://server04/CodesysStore/trunk/3S/HTTPRequestExample/trunk/Sources/Libraries/HttpClient/ÐÐЭÔЭÔÐ	-
-Ð-Ð
­Ð­Ð­Ð­Ð-PK„|7Q©½o¯^YPapplicationcontext.e0c003b2-1edd-477a-9148-e4b7c6a4e203.precompileinfo.auxiliaryY¦î 	(/Y½sTarget__GetInterfaceReferenceMethod
TimeStampOnly$50ec1707-5731-45b1-885b-40907fd79c2d$7495bafc-e9de-41f4-8422-4fa3de13a1fe__GetInterfacePointer$926f7604-3bb3-4ac2-a2b2-c74509742af8IQueryInterface		Interface
+Ð-Ð
­Ð­Ð­Ð­Ð-PK6E8QöòU—£*ž*Npoolcontext.pool.00000000-0000-0000-0000-000000000000.precompileinfo.auxiliaryž*aÕ 	(‰íÞNoneprvStartMethod
TimeStampOnly$a63becff-d2d8-4c37-a0f8-a2ee7c533ed7$373bf815-4ae6-45d6-9154-db2fb90f8702StringToURL$0ce4a395-e620-4cbf-8bfa-0c5279f11931prvCyclicAction	$9e6f0414-1b1e-47d0-8ee6-4a7db6509a82
+prvResetOutputs$d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0
CreateRequest
$f8a0ae55-89c9-47a8-921d-af9dd82bf821Close$ef4ecb32-0ddc-483f-a6ec-1761efbe4da0prvAbort$b5cb69c7-6821-4d1a-a709-42cde67d1eb2ParseResult$61fa1e5b-d507-41d9-9969-a4f59d50e7ff__HelpConvertDateFunction$1c137676-f66f-428c-af12-54699e1772b8$00000000-0000-0000-0000-000000000000__HelpConvertString$e3e2dee5-80c7-4e97-ab64-7b5e39ea535b__LEFT$1ac273b6-a01b-4295-88c5-ff4e218b6071__SkipWhiteSpace$882a2370-bae2-4085-93e5-0932a060bdfc
__HelpConvert$fdd0113a-d0f8-4f19-bc73-fa6acf9ecc59 __HelpConvertTime!$13c0f538-7207-41d3-8311-a322a7c20a0e"__HelpConvertTimeUnits#$183c332f-7773-4f5f-805c-178b91efab72$__HelpConvertFromTime%$020b085d-1351-401a-b6c0-1e0475de8a9f&__HelpConvertStringBase'$d6948954-0bf4-4d3f-ae69-e82fdade476c(__HelpConvertFromDate)$cee86ba7-461c-4d5d-b68e-c4f154c509d1*__HelpConvertTimeWithUnit+$50f01a4a-c350-4e6e-9dfa-0c242ec58ce8,any32__to__string-$52f276ac-71ea-475d-be1d-c34d7442869e.string__to__any32/$2aee5633-6b5b-4b6e-9cbc-79dd1000b70f0__HelpReal32Convert1$d623fa64-302c-47ab-9727-e08d1bbeb2b42new__real32__to__string3$a891eece-ca29-4db8-b9cf-c1a855c9feac4
__ExtractReal5$b4fbe026-742b-4541-9a4b-a710de7d376c6__ExtractRealRaw7$3d3aa07e-b7ec-4780-af79-d77e0e2cb50f8real32__to__string9$6e654c8d-212d-4593-9f3a-0add0687319c:string__to__real32;$3fdad988-bfc9-4de5-969f-faf6f3c2a2e7<VERSION=Type>$5181460b-9464-4c0f-82f2-1f9633a4c34e?__HelpConvertStringBase64@$f277d52d-3603-4349-91bd-ca6602f5cff8A__HelpLConvertB$26023af2-e263-44c0-b290-4197ca6caa6aC__HelpConvertLTimeUnitsD$92c01d00-33dc-47b6-842b-f7ab6ac40051E__HelpConvertLTimeWithUnitF$9b7fa8d4-59a0-43f0-a610-be7bd5350ad9Gany64__to__stringH$3cce6ca9-0c61-42bf-9945-73fd93e91f59Istring__to__any64J$5239465a-699e-451b-8b12-973a3fc2657fK__HelpRealConvertL$e6a8a736-c389-4a55-8363-2e30c26fed79Mreal64__to__stringN$2a265c59-789e-4c94-a95e-f5f70529f084Ostring__to__real64P$0ea1b145-4f18-4d61-a208-3c5f2005fc47Q__ExtractLRealR$0ffc8285-5cf0-4854-bfbf-cfca06799935S__ExtractLRealRawT$e543e1fd-2bb8-4ac1-a749-ebad37d711fcU__SkipWhiteSpaceWV$19a99e06-dfd5-4402-8f83-521389a0dc1cW__LEFTWX$7bf449d7-156f-4dc3-885e-a6da7640cd90Y__HelpConvertWZ$95f63b9b-1365-4b41-ad25-d7a78a50547e[__HelpConvertDateW\$f00a1aa9-5a5c-4c14-baa3-0f7ed88039c9]__HelpConvertTimeW^$a23e7f2f-7c7f-4ab8-b259-2bf314fda9c3___HelpConvertTimeWithUnitW`$da52bb11-b3ee-4e17-9ece-aaac0b30420ba__HelpConvertStringWb$ce02c656-4033-46a9-b5f1-becdedeb9055c__HelpConvertFromDateWd$ca024f07-11dc-4600-9f6f-069db29ac898e__HelpConvertFromTimeWf$0e53be5f-bda6-46ff-8a1f-7994ad076b55g__HelpConvertStringBaseWh$2e715801-9991-42f1-a152-4ae20bcff540i__HelpConvertTimeUnitsWj$095fd00c-3c36-4c3c-9f44-495013154180k__HelpLConvertWl$77fa4cbe-badc-4fcd-8f5d-c6cb079b41aam__HelpConvertLTimeWithUnitWn$9c3251e0-2217-408f-a01c-0734012a0930o__HelpConvertStringBase64Wp$3b4ae181-2d77-4a11-8709-d7385f2094baq__HelpConvertLTimeUnitsWr$7e0ea004-a391-4ef9-8aba-4797d6abef1cs__HelpReal32ConvertWt$b6997d1d-9d82-4124-bdc8-5c9ad8e80b65u__HelpRealConvertWv$9e79f897-d5d3-46c7-9038-97ad046758c0wwstring__to__real32x$d7d42225-63e5-489a-8ffc-da13c32e2888ynew__real32__to__wstringz$2e99850f-3fd7-43f6-915c-5908ab79d5d4{real32__to__wstring|$d0117dd7-073c-4a9f-b9ec-8d276f7ae3b7}any32__to__wstring~$103e7c1c-c83d-4719-a2c6-923bc1ee8bfcwstring__to__any32€$3493b04f-9f38-4061-af85-90cd238a240astring__to__wstring‚$9248ff97-fbbc-448e-ae9b-2fb2646b8bf7ƒwstring__to__string„$3951380b-30c9-4ec4-92e7-a4707aca12e8…any64__to__wstring†$fdeae835-342b-4f09-9e28-287167c2d05c‡wstring__to__any64ˆ$c63e18fa-6b1a-452f-9bcc-080e5f54a487‰real64__to__wstringŠ$86a06adf-8294-4d01-8a63-1ec0342be49b‹wstring__to__real64Œ$c8fb5eda-6b2b-4b6b-bcc1-566c08910a30
+HttpClientŽ
FunctionBlockURL$b646309a-ad0e-4d73-9fe1-641cc72cd0de‘
+URLDecoder’$843242e4-284a-4e0b-8dfc-87ee2cb99857“
BASE64_DECODE”$c4099788-f65f-485d-8712-5f8ccfad50ba•
BASE64_ENCODE–$a02937c5-652e-4b3d-b48d-731b7a6b9a31—CODE˜$bde0bc31-b813-47f1-8ac0-d59c6c6fa39b™ConvertUTF16toUTF8š$0c892cf6-5871-4e80-a5f9-d8d9a6dc5040›ConvertUTF8toUTF16œ$62da71d9-c483-45e3-8485-957b25ad5bfdIsLegalUTF8ž$c9744904-7570-4bd2-9d5a-635478747a24ŸConcat $8f035435-f1d3-4f21-b662-55938aacf89c¡
+HttpResult¢$4a3aa39f-2014-4f7b-a5c1-44706967bc50£GVL¤	VarGlobal¥$e5bfdbe1-6c62-4716-8370-6fc9b969e08f¦GVL_UTF8§$9e1aaea0-0352-440e-b42f-5c4bce94faca¨Param©$9473f21a-95d1-4701-864f-5fd3e64e9516ªSTATE«$0610289b-8851-4d53-9afc-657256c079f6¬REQUEST_TYPE­$3ec260e8-feaa-438b-a153-87d5901bc41e®ERROR¯$5224bca0-df60-44a9-9b93-c7de4e0bc365°CONTENT_TYPE±$0cd0b239-ce77-4e97-807f-9b4db6b5600e²FB_Init³$294adaa2-2680-5b4d-993b-18ff8e4381a3´	FB_Reinitµ$0c3f1d13-c1f1-5e1a-a912-13746f82a8f8¶FB_Exit·$2017e678-146e-5409-a042-44e1dc73e1c3¸¹$6708bd14-cddc-4e28-b69d-d3183b7c423eºLength»
+VariableId╝SignatureIdŻScopeIdżPositionToSave┐MessagesToSave└&{bc2be951-49f6-4f0f-b731-e31e36606f1e}┴Name┬$2dacf8ba-27b3-43f2-b9f0-d578dd179b1d├NameExp─Operator┼&{bffb3c53-f105-4e85-aba2-e30df579d75f}ĂPreCompileFlagsă&{9b5d4c11-b2d9-46c2-bf90-350eefa47fc5}╚
+ObjectGuid…System.Guid ParentObjectGuidň	TimeStampŐ$b19c1570-9d63-448c-b1a8-77c564f4bf41ÕPreCompiledPOUFlagső&{ffb74c62-0dab-4b81-a769-562edfcba448}ŌBreakpointlist–$11f4bd64-2998-4795-a306-94dda94e3331—
KindOfContext“&{1d8fe3d0-8423-48cf-8a9b-eaa134990850}”
SubSignatures‘&{2dacf8ba-27b3-43f2-b9f0-d578dd179b1d}’SignaturesArray÷GlobalSignaturesArray◊CompiledPOUsArrayō&{b19c1570-9d63-448c-b1a8-77c564f4bf41}ŔLibraryPathŕ	NamespaceŘApplicationGuid‹
+TargetGuidİUnicodeIdentifiers¹=º»¼½¾
+¿ÀÁÂÃÄ€ÅÆ€ÇÈ€ÉÊ€ÉË
+ÌÁȀɼ̀ÎË
+ÏÐÑ€ÒӁÔՁÔցÔׁØÙË
+ÚÛ€ÉÜ€ÉÝÿÿÿÿÿÿÿÿÿÿÿÿEFºúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿf”ºúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	nâºúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ
+nâºúÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿ
Tô»úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿfB¼úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿfB¼úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿO‹¾úÕ_ØFÿÿÿÿÿÿÿÿÿÿÿÿzG¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿƒn¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿƒn¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿƒn¨úÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿƒn¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ !ƒn¨úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ"#
+jªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ$%
+jªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ&'
+jªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ()‘ªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ&*+‘ªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ,-¸ªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ./¸ªúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ 01)ߪúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ„239«úÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿ7459«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ¤67>-«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ89>-«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ :;GT«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ
+<=>P{«úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ?@ƒ>¬úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ ABŽe¬úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿCDŽe¬úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿEFŽe¬úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿGH˜Œ¬úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ IJ˜Œ¬úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿKLÁ(­úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ MNËO­úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ OPËO­úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ7QRÕv­úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ¤STÕv­úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿUVбúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿWXбúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿYZбúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ[\ØF±úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ]^0²úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ_`9¦²úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿab9¦²úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿcd9¦²úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿefCͲúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿghCͲúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿijCͲúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ klVô²úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿmnVô²úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿopVô²úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿqrY³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ stY³úÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿuvY³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ wxiB³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ yziB³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ{|qi³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ}~~³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ€~³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ‚‹·³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿƒ„‹·³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ…†‹·³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ‡ˆ’Þ³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ ‰Š’Þ³úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ ‹Œ«S´úÕ_Ø
+ÿÿÿÿÿÿÿÿÿÿÿÿ¿ŽÚµúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ=KmºúÕ_Ø
+ÿÿÿÿÿÿÿÿÿÿÿÿ-	‘’μúÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿ“Ž”pi¼úÕ_Ø
ÿÿÿÿÿÿÿÿÿÿÿÿ•Ž–„¼úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	—˜׶¼úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	™šoS½úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	›œz½úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ	ž+¾úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿj	Ÿ =d¾úÕ_Ø
+ÿÿÿÿÿÿÿÿÿÿÿÿ¡=¢=d¾úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£¤¥׶¼úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¦¤§”½úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¨¤©7=¾úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿª¤«¶úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ¬¤­EFºúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ®¤¯Tô»úÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ°¤±\²¾úÕ_ØNÿÿÿÿƒn¨úÕ_Øÿÿÿÿƒn¨úÕ_Øÿÿÿÿƒn¨úÕ_Øÿÿÿÿƒn¨úÕ_Øÿÿÿÿƒn¨úÕ_Ø !ÿÿÿÿ
+jªúÕ_Ø"#ÿÿÿÿ
+jªúÕ_Ø$%ÿÿÿÿ
+jªúÕ_Ø&'ÿÿÿÿ‘ªúÕ_Ø()ÿÿÿÿ‘ªúÕ_Ø*+ÿÿÿÿ¸ªúÕ_Ø,-ÿÿÿÿ¸ªúÕ_Ø./ÿÿÿÿ)ߪúÕ_Ø01ÿÿÿÿ)ߪúÕ_Ø23ÿÿÿÿ9«úÕ_Ø45ÿÿÿÿ>-«úÕ_Ø67ÿÿÿÿ>-«úÕ_Ø89ÿÿÿÿ>-«úÕ_Ø:;ÿÿÿÿGT«úÕ_Ø?@ÿÿÿÿŽe¬úÕ_ØABÿÿÿÿŽe¬úÕ_ØCDÿÿÿÿŽe¬úÕ_ØEFÿÿÿÿ˜Œ¬úÕ_ØGHÿÿÿÿ˜Œ¬úÕ_ØIJÿÿÿÿ˜Œ¬úÕ_ØKLÿÿÿÿËO­úÕ_ØMNÿÿÿÿËO­úÕ_ØOPÿÿÿÿÕv­úÕ_ØQRÿÿÿÿÕv­úÕ_ØSTÿÿÿÿÕv­úÕ_ØUVÿÿÿÿбúÕ_ØWXÿÿÿÿбúÕ_ØYZÿÿÿÿØF±úÕ_Ø[\ÿÿÿÿ0²úÕ_Ø]^ÿÿÿÿ0²úÕ_Ø_`ÿÿÿÿ9¦²úÕ_Øabÿÿÿÿ9¦²úÕ_ØcdÿÿÿÿCͲúÕ_ØefÿÿÿÿCͲúÕ_ØghÿÿÿÿCͲúÕ_ØijÿÿÿÿVô²úÕ_ØklÿÿÿÿVô²úÕ_ØmnÿÿÿÿVô²úÕ_ØopÿÿÿÿY³úÕ_ØqrÿÿÿÿY³úÕ_ØstÿÿÿÿY³úÕ_ØuvÿÿÿÿiB³úÕ_ØwxÿÿÿÿiB³úÕ_Øyzÿÿÿÿqi³úÕ_Ø{|ÿÿÿÿqi³úÕ_Ø}~ÿÿÿÿ~³úÕ_Ø€ÿÿÿÿ‹·³úÕ_؁‚ÿÿÿÿ‹·³úÕ_؃„ÿÿÿÿ‹·³úÕ_Ø…†ÿÿÿÿ‹·³úÕ_؇ˆÿÿÿÿ’Þ³úÕ_؉Šÿÿÿÿ«S´úÕ_Ø‹Œÿÿÿÿ«S´úÕ_؍ÿÿÿÿÚµúÕ_ØÿÿÿÿEFºúÕ_Øÿÿÿÿf”ºúÕ_Ø	ÿÿÿÿnâºúÕ_Ø
+ÿÿÿÿu	»úÕ_Ø
ÿÿÿÿTô»úÕ_Ø‘’ÿÿÿÿfB¼úÕ_ØÿÿÿÿfB¼úÕ_ØÿÿÿÿfB¼úÕ_Ø“”ÿÿÿÿpi¼úÕ_Ø•–ÿÿÿÿ׶¼úÕ_Ø—˜ÿÿÿÿ׶¼úÕ_Ø™šÿÿÿÿoS½úÕ_Ø›œÿÿÿÿ¡½úÕ_؝žÿÿÿÿ7=¾úÕ_ØŸ ÿÿÿÿ=d¾úÕ_Øÿÿÿÿ\²¾úÕ_ز³ÿÿÿÿ¾ëñye`Ø´µÿÿÿÿÑòye`ض·ÿÿÿÿÑòye`ظj³*{e`ØPK6E8Q
†ŒÙ-Ô-profile.auxiliaryÔ-+Ò!0…jüo²3Œ§ú,kµ`System.StringL{796f40d2-5c90-4085-b7f4-842bc86d8deb}ProfilebyteName"CODESYS V3.5 SP14ÐEëYÿÿÿÿ<Core, Version=3.5.15.0, Culture=neutral, PublicKeyToken=null#_3S.CoDeSys.Core.Components.Profile_plugInGuidToVersionConstraint_plugInGuidToExtension_plugInGuidToExtensionList=_3S.CoDeSys.Core.Components.GuidToVersionConstraintDictionary0_3S.CoDeSys.Core.Components.GuidToBoolDictionary@_3S.CoDeSys.Core.Components.GuidToProfileExtensionListDictionary			=_3S.CoDeSys.Core.Components.GuidToVersionConstraintDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	0_3S.CoDeSys.Core.Components.GuidToBoolDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	@_3S.CoDeSys.Core.Components.GuidToProfileExtensionListDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	System.Collections.Hashtable
+LoadFactorVersionComparerHashCodeProviderHashSizeKeysValuesSystem.Collections.IComparer$System.Collections.IHashCodeProviderìQ8?
+
+				
+ìQ8?
+
+		ìQ8?
+
+%	
		Ð																		 	!	"	#	$	%	&	'	(	)	*	+	,	-	.	/	0	1	2	3	4	5	6	7	8	9	:	;	<	=	>	?	@	A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z	[	\	]	^	_	`	a	b	c	d	e	f	g	h	i	j	k	l	m	n	o	p	q	r	s	t	u	v	w	x	y	z	{	|	}	~		€		‚	ƒ	„	…	†	‡	ˆ	‰	Š	‹	Œ		Ž			‘	’	“	”	•	–	—	˜	™	š	›	œ		ž	Ÿ	 	¡	¢	£	¤	¥	¦	§	¨	©	ª	«	¬	­	®	¯	°	±	²	³	´	µ	¶	·	¸	¹	º	»	¼	½	¾	¿	À	Á	Â	Ã	Ä	Å	Æ	Ç	È	É	Ê	Ë	Ì	Í	Î	Ï	Ð	Ñ	Ò	Ó	Ô	Õ	Ö	×	Ø	Ù	Ú	Û	Ü	Ý	Þ
+Ð	ß	à	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	â	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ä	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß
	æ	ç	è	é	ê	ë	ì	í	î	ï	ð	ñ	ò	ó	ô	õ	ö	÷	ø	ù	ú	û	ü	ý	þ	ÿ		System.Guid_a_b_c_d_e_f_g_h_i_j_kK¥‹V8FÑJ¯ݒ	©9ýx7xw¢IB¥º†8èvúä!{jÌ"s÷G˜!ÝHჿtªGIÛÓN’ƒV€í 8úuÙû/2 7G„ï­Ï7™º]¶áŸJ™Òßž¤?U¯8ÚUŠç®F‘[v†eo¬‡¤zz( úC‰Hõ÷³`|Tà‡?’ÌÉN§Y¾¡ZÈ{+ˆÙƒŠ$A¾n¢<Ÿ¶7»Öû0Ñ|@˜^ß	ÝsAÖÿ裌äíE˜DÙ_qßE³0®Ëª¤CÞBÌWb
+Zà&ñ`J˜vú<nhAíE¤ÔðL ÷_ŠŸíލzùrº{F¨Ê/å~ñ€–¿D²‡ÃA’<ûéÅM è4‡ùÛDA¼Ó6£Å×ð!+
W~©K½Î—_	oyÃ"5Ú·áÛ{ÔA‚µNSŒ‚#™úH÷®–<NºÞ%sþêX$¯Ȭ¤DF¶Ñ;€$¼É%ܳv’Å»H£ž\i7à’&¨sЉ‚bA¿L_Õ~®¬':GlÉcRI’¦ÿ’‰}é(Fò÷x;JÁ”]ÝV;)¢€"ŒcD¶çAµèiW*Q˜°ÄpÉ@ŠÖþYîx"+î0ÎkªÈI›°™™_%,&G‡ö+åÍCª„½	;ü-ˋt¡ùñO¥4Fç<Ïé„.‰}q€ÌL°¢‰`ÑNmç/Z씯’ýŽA§‘¹{X§*0/f—\™<·D‘+“˜É¹y™1¾à!
[¶I‚7õÖ>Êâo2¾Ñ$Çw4H”jv‰êÏ¡3mZx*FõÑG‘kÊ ò2Ï4ƒÒ^'A@@¿„ÿ8CÝP5ҁ i¹Ñ@±»2³C•6ð¸ˆBxÏC–5yÛVæß7!¬ÁµSG™‚µA¼¶œ‘8ř'IÆçC§œÇOË«T9¦kSÜ’F¹cîõsل:«¤¯™þî|B¸S/Ã©¢;ʾ§Àñ N7ÅUïa½<~ã~»fåF‡40v|)–=Ž­àËôL»ÿ{—/á…Q>©¶Š
+[@DˆªÑðªdx?%egIŠOŸõ6ãb-@Ç(ÝB¢©A—嶊(΢ëA‚õ.éwZ¯C…üiIö³BSõ_§Ÿ˜B¸×ͪíeCÐdֈ,H¿9õÜÔDšE¹LÃCA³òE1åŒEÞ¯“âúI:ÃÒRÐ&™FLitÝä‚DˆªÎb˪ÊGP·(¢•¯C¶§‚Žÿô÷8HR-[ÕÚN¡	ì¢TIxIÜ|äã½n/G€AOÆJ¤#qlC¯“:osvK|OV,qÊI²<˅ó^ŒTLÒùאÉ'‰G‚Pl&+JMg_k3µòL“ßØ¢[벨Ntµí$ZM¹þ’X­N®
+O‰64~_šªF¿VYÄïìYPÔÿ»²¡XJ£ÛœxõÙÉQVFF¸Q6B¨û$ XR5uµÁ·ðŸA›vF¤ø0·pS(ôfOkWD›ÃÜç	ÂûrT5ìÖc¬6ÆB·Íäe®ÒLQU QžÚÑÌB«p	CXÛªVÛö€R=Jª´IÜqêWÀ¢%:y\;HŒœ~Zz]X®äz@ÅI4b°lu½YV{ÃÉàN¢kõµ·,¨xZÆ!û¦±ï‡I¦¼òÜRÂT[W­zmšBI¼ãZ0Òzì\²%°1RTG¡Fx•}™ö]FTͯIçO»x›ÿëpý^ñˆBô#”C†6Û2¬_“‚¢Ïţ@½ýÝ$ÁúõÙ`°‹«amë@½æÅ8~Ta=i±ðÊXóN§ŸÓ˒?ð0bÁPÌc¿ª¨L–T³‚,#&cÖ~pæI¦Ö»Ò‡þ¸Žd*T®l:ÂE‰Ò¶QÜg¦QeâkŽ¿¨C¡EŠ$Swn-<Ôfªñ4L‰N‘Ó–Úq\©gD~€z$ñI—™MÒS¬Žh/E€&CÄBˆ“¶Å­Å[ižC«7#„(HŸ–Y„œ$›j†yèí4¯K†S*1'‰k­ßARX©E¤r<º_Ã=lx/§ÑH¡H†Ð‘3HeðOmAQFËðQE¸ñîÇ%Û_nTÅiW­æþAªüªr+Žo{ʈ\ eL¼Ž¢WŒè9p.2¡rË8I­hÀÝ,ӛDqmµ;®˜[GŒ¶[þª­àrZáëaÀ,F€©ñ¿Y¥Žs%]ÉÀY}C©ô,®¹aøt³¾™ËÔA6F£Üt\¦À‹Ìu‰Ò2Ù
+OvO°çm÷§çvvKó)¥à¥O‡7Ⱥï jwìI?kƒ&F‘Ðœµg:Î'xŽú[NHÕ@¶.sŸ¿´¹çyr¶<Îe˜I´ÑŸ\£¬ôz²èlÁxO®Ìo;Ï}Š¥{€"õN¾oìO–_\ýMÀ|ü4åþ­}ELÒYÄ}ƒh<A?ô H£²6c7RR~‡±]g#H‰¯£H{;LÑ¢öF¦>@1‚Ò€õõÁ°Zn$I’·•¸à•;)î¼ý—©¯B…>¯ìÛG‹‚¤Ž·ytKJ½
O}Ï­ƒˆ%íÃG¯úëa’m›N„£Rj/ðXM‡IQt#3R´…K½ô’R=E†2ÃõÄHΧ†‹E3T·çJ¸~„#x‡ˆ¶¢ñÊñ5BŠ$ášïSð5ˆ¼ã¶Å¬xJ‹‹;íd9‰5+Ÿ§9,A¸¡ÒäÕq:ŠÁ2¶
+à‚ÎC°#i€‹,à¾@¿œJ®qôåÉ,]œŒjë8¦ãç±O„–À49Cÿeºùõ8ÓgD®ÄŒ•)Ô#ÇŽmü		¤¦”G”óSʼ˜y¯+§¥ãúJ,G…×Ì»°õ&º»¢0ÉÏCÑŒ{tá‘ØÍ﷎’M…EþE[y’£O@£ŸU³OžÖ6Ò¡•ü6“JÛ¼…ʇG£‰…e=·”®:6:•B±¯›øúêQ•p;¹¬–KšCªKç}ËÞ–ƒÑÜ5'GM¦r¶——û)÷´|F8MŒëpŸÒb´Þ˜²—0¢g@€±É›=ûó™ºÖõ7’5Ežn\æ%›šÅ%7Ö³¼ùK²ÐóMR@…›©B¶˜¯cE“X_|á˜9œ ¯º8|D˜/gÿ¥¾J³Rã9®áà1N¹T†U#±žz‘Ҕ§J•€ÔÓ¯¤×=ŸÞIMUÛWC´qžÅÜ ËðʱÌG´£µNßĎR¡^ˆGÓ4F4AŸ¿åÃ>jÞ¢
+¹HÄ(G°ò”FÐ` Y£»Íú«ÈOW+
+>¤DLT—DŽ¿
+MOcç¥/BÿwMEƒ¬ð‰XDu¦›Äí›M„2þ»€»ö˧—2ƒ¢PAI·K6@ñüx¨c7<•J¬HK¦Ê."੒©Ê^Æ,lÆI·r»1²±ò ª\é–û`1F“ôgà$=Æ«ÿ\«6U*ÿJ‡wö}U@¡¬DØhMeL¤©fSdV­¬fFã‰Dû
+Bò÷¹®«é´\}RL­ÇBþœõ"*¯|“ÜðéMC…·Iž7Š°&þÑSôDµxG7>³ë±£°
+¦ºÔE¼P«Ëô²i¼¥‹VìJˆýS©U§›³¨
JØЀ"Fç%°ð6B´g^ÓûißI„ÖM[FE:ßµ6üçjGaL¡Ë§™µu¶EÕqfcUA¡õ𡤶#
+·™Zz^|¨&A„®hâ¤E¶ß¸͂¾€6ËK©W^™WC×¹:GAæ¨D>’œPºs.žßö7Lµ
gšÒ£¤3»÷æ“4W\fB¨°C†,	3/¼ÔÏÏ@ºû¤O‹KmìžÙt½q¶l]?¡îEƒ¯cy7¾¾šTM/CZOšcÉ™à„±¿ø‰\%C¸<Ãè^TÊÀE;J"ÈG§H$ûËvÿ¢Áœ>h ‚3xJ¡ÚâäV¡7µÂlm¡âà ÔD­1"­  ‚@Ã6Z¬eœ	Gµåoà´ÓÄ,µš–À™N¶{×|ýû?ÅAy3ÿ7vA³ÑÆM"N±fÆ'¡îË¥*bA…ÛâbréÇÞE–™Þ{Ú% Èt‰Žj'O˜e(R™ƒÉ£¤Ÿº•E˜mª»¨p$ÊC´e«ÍöA£[c74ŒËqVÚÝEŽÛÀۙ8Ì—L‰£iD¿_jéVïvÍ
݆«*0Né¢Ï÷ÂEÎ)4÷#§<O›IŒå*†Ïª.?
+d)Jùö€KÉàÐ9a‡בL‘Ì¢{…fÅÑõšÍÁ>öE¥°¥3¾-Òà2°ËÃu¹K¼Þ¶ÉÿmÖÓ.@Ôy“Lˆ„»§¥è_Ô¯!mÆF{ѹjÕB8Ó&ó$L¥Or8‰né›Ö»Ð4ÐBuyA„—…0R¼Û[×.!ÀýG—ó-Aøþ×ØÇ1¾½×šJ¤õ>Íiِè¯SðÎNƒª“*„°°Ú~'¬©B:M—Z4ïzyïÛOµËèzJŠM·Œ¾êaCÜAˆ@yOôN‘?cæM’ž<ݽϟR±ØK‹Â—s»V`„Þ{/Ÿ³nI«²¸Z`Ûß2_3S.CoDeSys.Core.Components.ExactVersionConstraint_versionSystem.Version	àß	âß	äß	æzÑ)ÓþxCª-o',ç$RCÄÍ9íE©—_cNÄè0j«x~|ÔJ¶›õm¶®éTÔf< ¢N³ûQwÚü8êîT/Ø@¦4Ą1F´‚ë"ÿø§µB–<0qîÑì/¾m*–ëØF®&d¼m3ˆTíEé3÷A…­B¢ç¹]jà“îÜhí	…”µB«û¼‚ÕïWy•Ì¡ÄE—löžpò€œðËüO9ºÀB¿k¶#È$¢ñ¿žÂ¢@J‘µ±_ŒbG«òÙÙJ˄[M´º•vWàvOó
+ç¼m/-F³°ó&D‹ô0_3S.CoDeSys.Core.Components.ProfileExtensionList_listSystem.Collections.ArrayList	õô	öô	÷ô		øô	
+ùô	úô	ûô	
üô	ýô	þô	ÿô	ô	ô	System.Version_Major_Minor_Build	_RevisionSystem.Collections.ArrayList_items_size_version					
+			
						 	!	"
	#
	$
	%
	&
	'
	(
	)
	*
	+
	,
	-
 	.
!	/
",_3S.CoDeSys.Core.Components.ProfileExtension
_stOriginator_plugInGuid_versionSystem.GuidSystem.Version0PackageManagement:3ÏþÿÿzÑ)ÓþxCª-o',	2#"3PackageManagement:3Ìþÿÿ$RCÄÍ9íE©—_cNÄ	5$"6PackageManagement:3Éþÿÿ0j«x~|ÔJ¶›õm¶®	8%"9PackageManagement:3ÆþÿÿTÔf< ¢N³ûQwÚü8	;&"<PackageManagement:2ÃþÿÿîT/Ø@¦4Ą1F´‚	>'"?PackageManagement:1Àþÿÿ"ÿø§µB–<0qîÑ	A("BPackageManagement:2½þÿÿ/¾m*–ëØF®&d¼m3ˆT	D)"EPackageManagement:3ºþÿÿEé3÷A…­B¢ç¹]jà“	G*"HPackageManagement:4·þÿÿÜhí	…”µB«û¼‚Õ	J+"KPackageManagement:2´þÿÿWy•Ì¡ÄE—löžpò€œ	M,"NPackageManagement:3±þÿÿËüO9ºÀB¿k¶#È$¢	P-"QPackageManagement:3®þÿÿ¿žÂ¢@J‘µ±_ŒbG«	S."TPackageManagement:3«þÿÿÙÙJ˄[M´º•vWàvO	V/"WPackageManagement:3¨þÿÿ
+ç¼m/-F³°ó&D‹	Y258;>ADGJMPSVYÐ-PK6E8QPºù¦o!j!profile7.auxiliaryj!•Þ!0…jüo°z)’ ÈþÒSystem.StringL{365d0ef4-db97-4d9b-86bd-4d9ca2c92eef}ProfilebyteName CODESYS V3.5 SP9ÐEƒAÿÿÿÿ<Core, Version=3.5.15.0, Culture=neutral, PublicKeyToken=null#_3S.CoDeSys.Core.Components.Profile_plugInGuidToVersionConstraint_plugInGuidToExtension_plugInGuidToExtensionList=_3S.CoDeSys.Core.Components.GuidToVersionConstraintDictionary0_3S.CoDeSys.Core.Components.GuidToBoolDictionary@_3S.CoDeSys.Core.Components.GuidToProfileExtensionListDictionary		
+=_3S.CoDeSys.Core.Components.GuidToVersionConstraintDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	0_3S.CoDeSys.Core.Components.GuidToBoolDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	System.Collections.Hashtable
+LoadFactorVersionComparerHashCodeProviderHashSizeKeysValuesSystem.Collections.IComparer$System.Collections.IHashCodeProviderìQ8?È
+
+
+			ìQ8?
+
+			
+Ã			
																			 	!	"	#	$	%	&	'	(	)	*	+	,	-	.	/	0	1	2	3	4	5	6	7	8	9	:	;	<	=	>	?	@	A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z	[	\	]	^	_	`	a	b	c	d	e	f	g	h	i	j	k	l	m	n	o	p	q	r	s	t	u	v	w	x	y	z	{	|	}	~		€		‚	ƒ	„	…	†	‡	ˆ	‰	Š	‹	Œ		Ž			‘	’	“	”	•	–	—	˜	™	š	›	œ		ž	Ÿ	 	¡	¢	£	¤	¥	¦	§	¨	©	ª	«	¬	­	®	¯	°	±	²	³	´	µ	¶	·	¸	¹	º	»	¼	½	¾	¿	À	Á	Â	Ã	Ä	Å	Æ	Ç	È	É	Ê	Ë	Ì	ÍÃ	Î	Ï	Ï	Ï	Ð	Ï	Ï	Ï	Ï	Ï	Ï	Ð	Ð	Ï	Ï	Ð	Ð	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ð	Ï	Ø	Ð	Ï	Û	Ï	Ï	Ï	Ï	Ï	Ð	Ð	Ï	Ï	Ï	Û	Ï	á	Ï	Ï	Ï	Ï	ã	Ð	Ð	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	æ	Ð	æ	Ï	Ï	Ï	Ð	Ï	Ï	Ï	Ï	Ï	Ï	Û	Ð	Ï	Ï	Ð	Ï	Ï	Ï	Ï	Ð	Ï	Ð	Ï	Ï	Ï	Ï	Ï	Ï	Ð	Ð	Ï	Û	Ï	Ð	Ï	Ï	Ð	Ï	Ð	Ï	Ï	æ	Ï		Ï	Ï	Ï	Ð	Ï	Ï	Ð	Ï	Ï	Ï	Ï	Ï	Ï	Ð	Ï	Ï	Ï	Ï	Ï	Ï	æ	Ï	Ð	Ï	Ï	Ð	Ï	Ï	Ï	Ï	Ï	Ï	Ð	æ	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	Ï	æ	Ï	Ï	Ï	Ð	Ð	Ï	Ï	Ï	Ï	Ï	Ï	æ	Ï	Ð	Û	Ï	Ï	Ð	Ï	Ï	Ð	Ï	Ï	Ð	Ï	Ï	Ï	Ï	Ð	Ï	Ï	Ï	Ï	
+System.Guid_a_b_c_d_e_f_g_h_i_j_kK¥‹V8FÑJ¯ݒ	©9ý!{jÌ"s÷G˜!ÝHჿ
tªGIÛÓN’ƒV€í 8úuÙû/2 7G„ï­Ï7™º]¶áŸJ™Òßž¤?U¯8ÚUŠç®F‘[v†eo¬i¼¥‹VìJˆýS©U§›¾Ñ$Çw4H”jv‰êÏ¡‡¤zz( úC‰Hõ÷³`|Tà‡?’ÌÉN§Y¾¡ZÈ{+ˆÙƒŠ$A¾n¢<Ÿ¶7»Öû0Ñ|@˜^ß	ÝsAÖÿ裌äíE˜DÙ_qßE³0®Ëª¤CÞBÌWb
+Zà&ñ`J˜vú<nhAzùrº{F¨Ê/å~ñ€–¿D²‡ÃA’<ûéÅMè4‡ùÛDA¼Ó6£Å×ðoÄ꓾ÓB¨–hˆâm¸œ+
W~©K½Î—_	oyòèlÁxO®Ìo;Ï}Š¥ ¯Ȭ¤DF¶Ñ;€$¼É!ܳv’Å»H£ž\i7à’"¨sЉ‚bA¿L_Õ~®¬#Fò÷x;JÁ”]ÝV;$¢€"ŒcD¶çAµèiW%Q˜°ÄpÉ@ŠÖþYîx"&î0ÎkªÈI›°™™_%'&G‡ö+åÍCª„½	;ü(ˋt¡ùñO¥4Fç<Ïé„)Z씯’ýŽA§‘¹{X§**£Rj/ðXM‡IQt#3R´+¾à!
[¶I‚7õÖ>Êâo,:GlÉcRI’¦ÿ’‰}é-mZx*FõÑG‘kÊ ò2Ï.ƒÒ^'A@@¿„ÿ8CÝP/tµí$ZM¹þ’X­N®
+0C´e«ÍöA£[c74Œ1ҁ i¹Ñ@±»2³C•2ð¸ˆBxÏC–5yÛVæß3!¬ÁµSG™‚µA¼¶œ‘4ř'IÆçC§œÇOË«T5¦kSÜ’F¹cîõsل6«¤¯™þî|B¸S/Ã©¢7g^ÓûißI„ÖM[FE:ß8˜R^›²¢@³Ia2º9ʾ§Àñ N7ÅUïa½:~'¬©B:M—Z4ïzyï;©¶Š
+[@DˆªÑðªdx<%egIŠOŸõ6ãb-=Aˆ@yOôN‘?cæM’ž<>Ç(ÝB¢©A—嶊(΢ë?‚õ.éwZ¯C…üiIö³@Sõ_§Ÿ˜B¸×ͪíeAÐdֈ,H¿9õÜÔBšE¹LÃCA³òE1åŒCLitÝä‚DˆªÎb˪ÊDP·(¢•¯C¶§‚Žÿô÷8E ¯º8|D˜/gÿ¥¾J³F£¤Ÿº•E˜mª»¨p$GÜ|äã½n/G€AOÆH¤#qlC¯“:osvIÒùאÉ'‰G‚Pl&+JJg_k3µòL“ßØ¢[벨K&þÑSôDµxG7>³ëL‰64~_šªF¿VYÄïìYMÔÿ»²¡XJ£ÛœxõÙÉNVFF¸Q6B¨û$ XO5uµÁ·ðŸA›vF¤ø0·pP(ôfOkWD›ÃÜç	ÂûrQ QžÚÑÌB«p	CXÛªRÀ¢%:y\;HŒœ~Zz]SV{ÃÉàN¢kõµ·,¨xTÆ!û¦±ï‡I¦¼òÜRÂTUW­zmšBI¼ãZ0ÒzìVFTͯIçO»x›ÿëpýWñˆBô#”C†6Û2¬X“‚¢Ïţ@½ýÝ$ÁúõÙY°‹«amë@½æÅ8~TZ=i±ðÊXóN§ŸÓ˒?ð0[ÁPÌc¿ª¨L–T³‚,#&\Ö~pæI¦Ö»Ò‡þ¸Ž]+§¥ãúJ,G…×Ì»°õ&º^âkŽ¿¨C¡EŠ$Swn-<Ô_ªñ4L‰N‘Ó–Úq\©`D~€z$ñI—™MÒS¬Ža/E€&CÄBˆ“¶Å­Å[bžC«7#„(HŸ–Y„œ$›c†yèí4¯K†S*1'‰d­ßARX©E¤r<º_Ã=ex/§ÑH¡H†Ð‘3HeðOfAQFËðQE¸ñîÇ%Û_gTÅiW­æþAªüªr+Žh{ʈ\ eL¼Ž¢WŒè9imµ;®˜[GŒ¶[þª­àjˆ¶¢ñÊñ5BŠ$ášïSð5kZáëaÀ,F€©ñ¿Y¥Žl%]ÉÀY}C©ô,®¹aøm³¾™ËÔA6F£Üt\¦À‹Ìn‰Ò2Ù
+OvO°çm÷§çvoìI?kƒ&F‘Ðœµg:Î'p{/Ÿ³nI«²¸Z`Ûqr¶<Îe˜I´ÑŸ\£¬ôrR-[ÕÚN¡	ì¢TIxs€"õN¾oìO–_\ýMÀtü4åþ­}ELÒYÄuƒh<A?ô H£²6c7RRv‡±]g#H‰¯£H{;w/f—\™<·D‘+“˜É¹y™xLÑ¢öF¦>@1‚ÒyõõÁ°Zn$I’·•¸à•;)zî¼ý—©¯B…>¯ìÛG‹{¤Ž·ytKJ½
O}Ï­|ˆ%íÃG¯úëa’m›N}²%°1RTG¡Fx•}™ö~K½ô’R=E†2ÃõÄHΧ5Ú·áÛ{ÔA‚µNSŒ‚€Ž­àËôL»ÿ{—/á…Q¼ã¶Å¬xJ‹‹;íd9‚5+Ÿ§9,A¸¡ÒäÕq:ƒÁ2¶
+à‚ÎC°#i€„jë8¦ãç±O„–À49CÿÂ…eºùõ8ÓgD®ÄŒ•)Ô#džÛö€R=Jª´IÜqꇻ¢0ÉÏCÑŒ{táˆØÍ﷎’M…EþE[y‰£O@£ŸU³OžÖ6Ò¡•ü6ŠJÛ¼…ʇG£‰…e=·‹®:6:•B±¯›øúêQŒp;¹¬–KšCªKç}Ëލû)÷´|F8MŒëpŸÒb´ÞŽ²—0¢g@€±É›=ûóºÖõ7’5Ežn\æ%›Å%7Ö³¼ùK²ÐóMR@…‘©B¶˜¯cE“X_|á˜9’Þ¯“âúI:ÃÒRÐ&™“Rã9®áà1N¹T†U#±”z‘Ҕ§J•€ÔÓ¯¤×=•ËðʱÌG´£µNßĎR–
+¹HÄ(G°ò”FÐ` Y—»Íú«ÈOW+
+>˜÷æ“4W\fB¨°C†,	3/™DLT—DŽ¿
+MOcçš/BÿwMEƒ¬ð‰XDu››Äí›M„2þ»€»öËœ«é´\}RL­ÇBþœõ"*c7<•J¬HK¦Ê."੒žÊ^Æ,lÆI·r»1²±ò Ÿ\é–û`1F“ôgà$=Æ ÿ\«6U*ÿJ‡wö}U@¡¡DØhMeL¤©fSdV¢|“ÜðéMC…·Iž7Š£‹E3T·çJ¸~„#x¤£°
+¦ºÔE¼P«Ëô¥Kó)¥à¥O‡7Ⱥï j¦¨
JØЀ"Fç%°ð6B§(´kàŠIB«¬Ù¯ºŒŒC¨6üçjGaL¡Ë§™µu©EÕqfcUA¡õ𡤶#
+ª™Zz^|¨&A„®hâ¤E¶ß«͂¾€6ËK©W^™WC׬s.žßö7Lµ
gšÒ£¤3­^ˆGÓ4F4AŸ¿åÃ>jÞ®ÔÏÏ@ºû¤O‹KmìžÙt¯q¶l]?¡îEƒ¯cy7°¾šTM/CZOšcÉ™à„±±ø‰\%C¸<Ãè^TʲE;J"ÈG§H$ûËvÿ¢³œ>h ‚3xJ¡ÚâäV¡7µ´lm¡âà ÔD­1"­  ‚@µ6Z¬eœ	Gµåoà´Ó¶,µš–À™N¶{×|ýû?·Ay3ÿ7vA³ÑÆM"N±f¸ÞE–™Þ{Ú% ¹t‰Žj'O˜e(R™ƒºÞIMUÛWC´qžÅÜ»'¡îË¥*bA…Ûâbr鼐qVÚÝEŽÛÀۙ8½—L‰£iD¿_jéVïv¾
݆«*0Né¢Ï÷ÂE¿)4÷#§<O›IŒå*†Àª.?
+d)Jùö€KÉàÁ9a‡בL‘Ì¢{…fÅÂà2°ËÃu¹K¼Þ¶ÉÿmÖÃ.@Ôy“Lˆ„»§¥è_į!mÆF{ѹjÅB8Ó&ó$L¥Or8‰né›Æ»Ð4ÐBuyA„—…0R¼Û[Ç.!ÀýG—ó-Aøþ×ÈÇ1¾½×šJ¤õ>Íiɐè¯SðÎNƒª“*„°°Ê|OV,qÊI²<˅ó^ŒTËOµËèzJŠM·Œ¾êaC̃ÑÜ5'GM¦r¶—ͽϟR±ØK‹Â—s»V`„Î2_3S.CoDeSys.Core.Components.ExactVersionConstraint_versionSystem.Version	#ÏÎ	$ÐÎ	%ØÎ	&ÛÎ	'áÎ	(ãÎ	)æÎ	*Î	+#System.Version_Major_Minor_Build	_Revision	$#	%#	&#	'#	(#	)#	*#	+#	Ð-PK6E8QÀRHŠ^YPapplicationcontext.e0c003b2-1edd-477a-9148-e4b7c6a4e203.precompileinfo.auxiliaryY¦î 	(/Y½sTarget__GetInterfaceReferenceMethod
TimeStampOnly$50ec1707-5731-45b1-885b-40907fd79c2d$7495bafc-e9de-41f4-8422-4fa3de13a1fe__GetInterfacePointer$926f7604-3bb3-4ac2-a2b2-c74509742af8IQueryInterface		Interface
 $00000000-0000-0000-0000-000000000000__CheckedInterfaceCastFunction
$6c7b0b40-3393-4ac8-8272-f7e492c63aa3__CheckedPointerCast$2720d84f-e738-47fc-9606-476eb9a419c8__CompareInterfaces$89f9f17e-dfb1-4753-a04a-0e04defb54eeVAR_INFOType$365c4d7d-256c-4416-945b-832d41d631b2__DataSegments$6d5ee79a-0165-410b-9a03-2dcb86d77084
__SegmentInfo$86a3bd70-f6af-446c-a3ca-d70c9d74cefbExceptionContext$dc964aa2-aef0-4805-92de-9b8bed089e6c__BasePropertyInfo$31ba9dec-acd8-475d-b624-39b6068c7eaf__PropertyInfoStruct$85b65d0b-a93f-4e02-80e4-fafd3f54abc3__POUInfoStruct $8467172f-0c66-4acf-9d6b-245b2445da14!__FBInfoStruct"$1964cd27-f960-4298-b539-cf555cb4552c#__MethodInfoStruct$$d277c0d4-0a58-4c92-97d1-0453f8828707%__DUTInfoStruct&$76a1e5d2-9eb5-4a1b-a8e7-baf1b7eb9716'__GVLInfoStruct($a40cb7c8-28fe-4494-89ac-d9ba39db98a8)AnyType*$b60a5c90-aa6c-4c3f-8332-c02981c0bf59+__CodeLocationStruct,$bb81851c-8557-43fd-ad66-2f0071e45f53-__ARRAY__DIM__INFO.$c2d24aa9-2fc9-4f89-80ac-14d9f558122a/trycatch0$fdb186ec-1bb3-428f-bd1c-2a07c8f62af91throwex2$d3df2306-1c85-4582-9840-d91ec47927aa3__ImplicitReferenceTypesInit4$270c4366-521b-4273-856a-24cad42924c95__TaskSpecificInfo6$5f3af15b-046d-4359-9fb1-4011c841ebb07__CheckedInterfaceAssign8$09818148-288b-4e68-aaac-88d3699e851b9ExceptionFlags:	VarGlobal;$13116516-29a3-4cab-a26f-d2f27fc21758<
 TYPE_CLASS=$f4fafa0b-0199-4a4a-82c6-354c2db388c0>MEMORY_AREA?$04bdff5c-e859-4983-80cd-36bbdbce9f28@__DataSegmentFlagsA$36b719e5-3a34-450b-b806-362248c6fc69B
ExceptionCodeC$a241205c-3e8b-4f58-af39-21f166f9a7d2D__COMPILE_CONSTANTSE$db173c48-0431-4ee2-8080-d72c759a68e3F__WatchVarsG$e4086481-b65b-4bfc-821c-c1f278b8711dH!__AllocatedImplicitReferenceTypesI$4e6b58d5-7a7d-4d43-b710-af56f2531e62J	ConstantsK$c912f995-f4b5-48bd-9416-f36b0846c0e1LM$e0c003b2-1edd-477a-9148-e4b7c6a4e203N$6708bd14-cddc-4e28-b69d-d3183b7c423eOLengthP
 VariableIdQSignatureIdRScopeIdSPositionToSaveTMessagesToSaveU&{bc2be951-49f6-4f0f-b731-e31e36606f1e}VNameW$2dacf8ba-27b3-43f2-b9f0-d578dd179b1dXNameExpYOperatorZ&{bffb3c53-f105-4e85-aba2-e30df579d75f}[PreCompileFlags\&{9b5d4c11-b2d9-46c2-bf90-350eefa47fc5}]
@@ -557,8 +858,8 @@
 ãµúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿH+,
 ê=µúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ-.
 ê=µúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ0/0
-ÿ‹µúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ012
-ÿ‹µúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿL34
+º¤Ëye`Øÿÿÿÿÿÿÿÿÿÿÿÿ012
+º¤Ëye`ØÿÿÿÿÿÿÿÿÿÿÿÿL34
 ÿ‹µúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿH56
 ³µúÕ_Øÿÿÿÿÿÿÿÿÿÿÿÿ|78
 ³µúÕ_Ø	ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9:;
@@ -571,228 +872,6 @@
 ê=µúÕ_ØÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿF:G
 ê=µúÕ_Ø!ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿH:I
 ÿ‹µúÕ_Ø	ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿJ:K
-ÚµúÕ_Ø
ÿÿÿÿÄ¡´úÕ_ØÿÿÿÿÄ¡´úÕ_ØÿÿÿÿÑÈ´úÕ_Ø34ÿÿÿÿÿ‹µúÕ_Ø78ÿÿÿÿ³µúÕ_ØL§_ñûÕ_ØM
-PK„|7Q
†ŒÙ-Ô-profile.auxiliaryÔ-+Ò!0…jüo²3Œ§ú,kµ`System.StringL{796f40d2-5c90-4085-b7f4-842bc86d8deb}ProfilebyteName"CODESYS V3.5 SP14ÐEëYÿÿÿÿ<Core, Version=3.5.15.0, Culture=neutral, PublicKeyToken=null#_3S.CoDeSys.Core.Components.Profile_plugInGuidToVersionConstraint_plugInGuidToExtension_plugInGuidToExtensionList=_3S.CoDeSys.Core.Components.GuidToVersionConstraintDictionary0_3S.CoDeSys.Core.Components.GuidToBoolDictionary@_3S.CoDeSys.Core.Components.GuidToProfileExtensionListDictionary			=_3S.CoDeSys.Core.Components.GuidToVersionConstraintDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	0_3S.CoDeSys.Core.Components.GuidToBoolDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	@_3S.CoDeSys.Core.Components.GuidToProfileExtensionListDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	System.Collections.Hashtable
-LoadFactorVersionComparerHashCodeProviderHashSizeKeysValuesSystem.Collections.IComparer$System.Collections.IHashCodeProviderìQ8?
-
-				
-ìQ8?
-
-		ìQ8?
-
-%	
		Ð																		 	!	"	#	$	%	&	'	(	)	*	+	,	-	.	/	0	1	2	3	4	5	6	7	8	9	:	;	<	=	>	?	@	A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z	[	\	]	^	_	`	a	b	c	d	e	f	g	h	i	j	k	l	m	n	o	p	q	r	s	t	u	v	w	x	y	z	{	|	}	~		€		‚	ƒ	„	…	†	‡	ˆ	‰	Š	‹	Œ		Ž			‘	’	“	”	•	–	—	˜	™	š	›	œ		ž	Ÿ	 	¡	¢	£	¤	¥	¦	§	¨	©	ª	«	¬	­	®	¯	°	±	²	³	´	µ	¶	·	¸	¹	º	»	¼	½	¾	¿	À	Á	Â	Ã	Ä	Å	Æ	Ç	È	É	Ê	Ë	Ì	Í	Î	Ï	Ð	Ñ	Ò	Ó	Ô	Õ	Ö	×	Ø	Ù	Ú	Û	Ü	Ý	Þ
-Ð	ß	à	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	â	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ä	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß	ß
	æ	ç	è	é	ê	ë	ì	í	î	ï	ð	ñ	ò	ó	ô	õ	ö	÷	ø	ù	ú	û	ü	ý	þ	ÿ		System.Guid_a_b_c_d_e_f_g_h_i_j_kK¥‹V8FÑJ¯ݒ	©9ýx7xw¢IB¥º†8èvúä!{jÌ"s÷G˜!ÝHჿtªGIÛÓN’ƒV€í 8úuÙû/2 7G„ï­Ï7™º]¶áŸJ™Òßž¤?U¯8ÚUŠç®F‘[v†eo¬‡¤zz( úC‰Hõ÷³`|Tà‡?’ÌÉN§Y¾¡ZÈ{+ˆÙƒŠ$A¾n¢<Ÿ¶7»Öû0Ñ|@˜^ß	ÝsAÖÿ裌äíE˜DÙ_qßE³0®Ëª¤CÞBÌWb
-Zà&ñ`J˜vú<nhAíE¤ÔðL ÷_ŠŸíލzùrº{F¨Ê/å~ñ€–¿D²‡ÃA’<ûéÅM è4‡ùÛDA¼Ó6£Å×ð!+
W~©K½Î—_	oyÃ"5Ú·áÛ{ÔA‚µNSŒ‚#™úH÷®–<NºÞ%sþêX$¯Ȭ¤DF¶Ñ;€$¼É%ܳv’Å»H£ž\i7à’&¨sЉ‚bA¿L_Õ~®¬':GlÉcRI’¦ÿ’‰}é(Fò÷x;JÁ”]ÝV;)¢€"ŒcD¶çAµèiW*Q˜°ÄpÉ@ŠÖþYîx"+î0ÎkªÈI›°™™_%,&G‡ö+åÍCª„½	;ü-ˋt¡ùñO¥4Fç<Ïé„.‰}q€ÌL°¢‰`ÑNmç/Z씯’ýŽA§‘¹{X§*0/f—\™<·D‘+“˜É¹y™1¾à!
[¶I‚7õÖ>Êâo2¾Ñ$Çw4H”jv‰êÏ¡3mZx*FõÑG‘kÊ ò2Ï4ƒÒ^'A@@¿„ÿ8CÝP5ҁ i¹Ñ@±»2³C•6ð¸ˆBxÏC–5yÛVæß7!¬ÁµSG™‚µA¼¶œ‘8ř'IÆçC§œÇOË«T9¦kSÜ’F¹cîõsل:«¤¯™þî|B¸S/Ã©¢;ʾ§Àñ N7ÅUïa½<~ã~»fåF‡40v|)–=Ž­àËôL»ÿ{—/á…Q>©¶Š
-[@DˆªÑðªdx?%egIŠOŸõ6ãb-@Ç(ÝB¢©A—嶊(΢ëA‚õ.éwZ¯C…üiIö³BSõ_§Ÿ˜B¸×ͪíeCÐdֈ,H¿9õÜÔDšE¹LÃCA³òE1åŒEÞ¯“âúI:ÃÒRÐ&™FLitÝä‚DˆªÎb˪ÊGP·(¢•¯C¶§‚Žÿô÷8HR-[ÕÚN¡	ì¢TIxIÜ|äã½n/G€AOÆJ¤#qlC¯“:osvK|OV,qÊI²<˅ó^ŒTLÒùאÉ'‰G‚Pl&+JMg_k3µòL“ßØ¢[벨Ntµí$ZM¹þ’X­N®
-O‰64~_šªF¿VYÄïìYPÔÿ»²¡XJ£ÛœxõÙÉQVFF¸Q6B¨û$ XR5uµÁ·ðŸA›vF¤ø0·pS(ôfOkWD›ÃÜç	ÂûrT5ìÖc¬6ÆB·Íäe®ÒLQU QžÚÑÌB«p	CXÛªVÛö€R=Jª´IÜqêWÀ¢%:y\;HŒœ~Zz]X®äz@ÅI4b°lu½YV{ÃÉàN¢kõµ·,¨xZÆ!û¦±ï‡I¦¼òÜRÂT[W­zmšBI¼ãZ0Òzì\²%°1RTG¡Fx•}™ö]FTͯIçO»x›ÿëpý^ñˆBô#”C†6Û2¬_“‚¢Ïţ@½ýÝ$ÁúõÙ`°‹«amë@½æÅ8~Ta=i±ðÊXóN§ŸÓ˒?ð0bÁPÌc¿ª¨L–T³‚,#&cÖ~pæI¦Ö»Ò‡þ¸Žd*T®l:ÂE‰Ò¶QÜg¦QeâkŽ¿¨C¡EŠ$Swn-<Ôfªñ4L‰N‘Ó–Úq\©gD~€z$ñI—™MÒS¬Žh/E€&CÄBˆ“¶Å­Å[ižC«7#„(HŸ–Y„œ$›j†yèí4¯K†S*1'‰k­ßARX©E¤r<º_Ã=lx/§ÑH¡H†Ð‘3HeðOmAQFËðQE¸ñîÇ%Û_nTÅiW­æþAªüªr+Žo{ʈ\ eL¼Ž¢WŒè9p.2¡rË8I­hÀÝ,ӛDqmµ;®˜[GŒ¶[þª­àrZáëaÀ,F€©ñ¿Y¥Žs%]ÉÀY}C©ô,®¹aøt³¾™ËÔA6F£Üt\¦À‹Ìu‰Ò2Ù
-OvO°çm÷§çvvKó)¥à¥O‡7Ⱥï jwìI?kƒ&F‘Ðœµg:Î'xŽú[NHÕ@¶.sŸ¿´¹çyr¶<Îe˜I´ÑŸ\£¬ôz²èlÁxO®Ìo;Ï}Š¥{€"õN¾oìO–_\ýMÀ|ü4åþ­}ELÒYÄ}ƒh<A?ô H£²6c7RR~‡±]g#H‰¯£H{;LÑ¢öF¦>@1‚Ò€õõÁ°Zn$I’·•¸à•;)î¼ý—©¯B…>¯ìÛG‹‚¤Ž·ytKJ½
O}Ï­ƒˆ%íÃG¯úëa’m›N„£Rj/ðXM‡IQt#3R´…K½ô’R=E†2ÃõÄHΧ†‹E3T·çJ¸~„#x‡ˆ¶¢ñÊñ5BŠ$ášïSð5ˆ¼ã¶Å¬xJ‹‹;íd9‰5+Ÿ§9,A¸¡ÒäÕq:ŠÁ2¶
-à‚ÎC°#i€‹,à¾@¿œJ®qôåÉ,]œŒjë8¦ãç±O„–À49Cÿeºùõ8ÓgD®ÄŒ•)Ô#ÇŽmü		¤¦”G”óSʼ˜y¯+§¥ãúJ,G…×Ì»°õ&º»¢0ÉÏCÑŒ{tá‘ØÍ﷎’M…EþE[y’£O@£ŸU³OžÖ6Ò¡•ü6“JÛ¼…ʇG£‰…e=·”®:6:•B±¯›øúêQ•p;¹¬–KšCªKç}ËÞ–ƒÑÜ5'GM¦r¶——û)÷´|F8MŒëpŸÒb´Þ˜²—0¢g@€±É›=ûó™ºÖõ7’5Ežn\æ%›šÅ%7Ö³¼ùK²ÐóMR@…›©B¶˜¯cE“X_|á˜9œ ¯º8|D˜/gÿ¥¾J³Rã9®áà1N¹T†U#±žz‘Ҕ§J•€ÔÓ¯¤×=ŸÞIMUÛWC´qžÅÜ ËðʱÌG´£µNßĎR¡^ˆGÓ4F4AŸ¿åÃ>jÞ¢
-¹HÄ(G°ò”FÐ` Y£»Íú«ÈOW+
->¤DLT—DŽ¿
-MOcç¥/BÿwMEƒ¬ð‰XDu¦›Äí›M„2þ»€»ö˧—2ƒ¢PAI·K6@ñüx¨c7<•J¬HK¦Ê."੒©Ê^Æ,lÆI·r»1²±ò ª\é–û`1F“ôgà$=Æ«ÿ\«6U*ÿJ‡wö}U@¡¬DØhMeL¤©fSdV­¬fFã‰Dû
-Bò÷¹®«é´\}RL­ÇBþœõ"*¯|“ÜðéMC…·Iž7Š°&þÑSôDµxG7>³ë±£°
-¦ºÔE¼P«Ëô²i¼¥‹VìJˆýS©U§›³¨
JØЀ"Fç%°ð6B´g^ÓûißI„ÖM[FE:ßµ6üçjGaL¡Ë§™µu¶EÕqfcUA¡õ𡤶#
-·™Zz^|¨&A„®hâ¤E¶ß¸͂¾€6ËK©W^™WC×¹:GAæ¨D>’œPºs.žßö7Lµ
gšÒ£¤3»÷æ“4W\fB¨°C†,	3/¼ÔÏÏ@ºû¤O‹KmìžÙt½q¶l]?¡îEƒ¯cy7¾¾šTM/CZOšcÉ™à„±¿ø‰\%C¸<Ãè^TÊÀE;J"ÈG§H$ûËvÿ¢Áœ>h ‚3xJ¡ÚâäV¡7µÂlm¡âà ÔD­1"­  ‚@Ã6Z¬eœ	Gµåoà´ÓÄ,µš–À™N¶{×|ýû?ÅAy3ÿ7vA³ÑÆM"N±fÆ'¡îË¥*bA…ÛâbréÇÞE–™Þ{Ú% Èt‰Žj'O˜e(R™ƒÉ£¤Ÿº•E˜mª»¨p$ÊC´e«ÍöA£[c74ŒËqVÚÝEŽÛÀۙ8Ì—L‰£iD¿_jéVïvÍ
݆«*0Né¢Ï÷ÂEÎ)4÷#§<O›IŒå*†Ïª.?
-d)Jùö€KÉàÐ9a‡בL‘Ì¢{…fÅÑõšÍÁ>öE¥°¥3¾-Òà2°ËÃu¹K¼Þ¶ÉÿmÖÓ.@Ôy“Lˆ„»§¥è_Ô¯!mÆF{ѹjÕB8Ó&ó$L¥Or8‰né›Ö»Ð4ÐBuyA„—…0R¼Û[×.!ÀýG—ó-Aøþ×ØÇ1¾½×šJ¤õ>Íiِè¯SðÎNƒª“*„°°Ú~'¬©B:M—Z4ïzyïÛOµËèzJŠM·Œ¾êaCÜAˆ@yOôN‘?cæM’ž<ݽϟR±ØK‹Â—s»V`„Þ{/Ÿ³nI«²¸Z`Ûß2_3S.CoDeSys.Core.Components.ExactVersionConstraint_versionSystem.Version	àß	âß	äß	æzÑ)ÓþxCª-o',ç$RCÄÍ9íE©—_cNÄè0j«x~|ÔJ¶›õm¶®éTÔf< ¢N³ûQwÚü8êîT/Ø@¦4Ą1F´‚ë"ÿø§µB–<0qîÑì/¾m*–ëØF®&d¼m3ˆTíEé3÷A…­B¢ç¹]jà“îÜhí	…”µB«û¼‚ÕïWy•Ì¡ÄE—löžpò€œðËüO9ºÀB¿k¶#È$¢ñ¿žÂ¢@J‘µ±_ŒbG«òÙÙJ˄[M´º•vWàvOó
-ç¼m/-F³°ó&D‹ô0_3S.CoDeSys.Core.Components.ProfileExtensionList_listSystem.Collections.ArrayList	õô	öô	÷ô		øô	
-ùô	úô	ûô	
üô	ýô	þô	ÿô	ô	ô	System.Version_Major_Minor_Build	_RevisionSystem.Collections.ArrayList_items_size_version					
-			
						 	!	"
	#
	$
	%
	&
	'
	(
	)
	*
	+
	,
	-
 	.
!	/
",_3S.CoDeSys.Core.Components.ProfileExtension
_stOriginator_plugInGuid_versionSystem.GuidSystem.Version0PackageManagement:3ÏþÿÿzÑ)ÓþxCª-o',	2#"3PackageManagement:3Ìþÿÿ$RCÄÍ9íE©—_cNÄ	5$"6PackageManagement:3Éþÿÿ0j«x~|ÔJ¶›õm¶®	8%"9PackageManagement:3ÆþÿÿTÔf< ¢N³ûQwÚü8	;&"<PackageManagement:2ÃþÿÿîT/Ø@¦4Ą1F´‚	>'"?PackageManagement:1Àþÿÿ"ÿø§µB–<0qîÑ	A("BPackageManagement:2½þÿÿ/¾m*–ëØF®&d¼m3ˆT	D)"EPackageManagement:3ºþÿÿEé3÷A…­B¢ç¹]jà“	G*"HPackageManagement:4·þÿÿÜhí	…”µB«û¼‚Õ	J+"KPackageManagement:2´þÿÿWy•Ì¡ÄE—löžpò€œ	M,"NPackageManagement:3±þÿÿËüO9ºÀB¿k¶#È$¢	P-"QPackageManagement:3®þÿÿ¿žÂ¢@J‘µ±_ŒbG«	S."TPackageManagement:3«þÿÿÙÙJ˄[M´º•vWàvO	V/"WPackageManagement:3¨þÿÿ
-ç¼m/-F³°ó&D‹	Y258;>ADGJMPSVYÐ-PK„|7Qӏ&9o!j!profile7.auxiliaryj!•Þ!0…jüo°z)’ «ÂU™System.StringL{365d0ef4-db97-4d9b-86bd-4d9ca2c92eef}ProfilebyteName CODESYS V3.5 SP9ÐEƒAÿÿÿÿ<Core, Version=3.5.15.0, Culture=neutral, PublicKeyToken=null#_3S.CoDeSys.Core.Components.Profile_plugInGuidToVersionConstraint_plugInGuidToExtension_plugInGuidToExtensionList=_3S.CoDeSys.Core.Components.GuidToVersionConstraintDictionary0_3S.CoDeSys.Core.Components.GuidToBoolDictionary@_3S.CoDeSys.Core.Components.GuidToProfileExtensionListDictionary		
-=_3S.CoDeSys.Core.Components.GuidToVersionConstraintDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	0_3S.CoDeSys.Core.Components.GuidToBoolDictionaryDictionaryBase+hashtableSystem.Collections.Hashtable	System.Collections.Hashtable
-LoadFactorVersionComparerHashCodeProviderHashSizeKeysValuesSystem.Collections.IComparer$System.Collections.IHashCodeProviderìQ8?È
-
-
-			ìQ8?
-
-			
-Ã			
																			 	!	"	#	$	%	&	'	(	)	*	+	,	-	.	/	0	1	2	3	4	5	6	7	8	9	:	;	<	=	>	?	@	A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z	[	\	]	^	_	`	a	b	c	d	e	f	g	h	i	j	k	l	m	n	o	p	q	r	s	t	u	v	w	x	y	z	{	|	}	~		€		‚	ƒ	„	…	†	‡	ˆ	‰	Š	‹	Œ		Ž			‘	’	“	”	•	–	—	˜	™	š	›	œ		ž	Ÿ	 	¡	¢	£	¤	¥	¦	§	¨	©	ª	«	¬	­	®	¯	°	±	²	³	´	µ	¶	·	¸	¹	º	»	¼	½	¾	¿	À	Á	Â	Ã	Ä	Å	Æ	Ç	È	É	Ê	Ë	Ì	ÍÃ	Î	Ï	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ð	Ñ	Ñ	Ô	Ð	Ð	Ð	Ñ	Ñ	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ñ	Ù	Ñ	Ð	Ð	Ð	Ð	Ð	Ñ	Ð	Ð	Þ	Ð	Ð	Ð	Ð	Ð	Ñ	Ð	Ñ	Ñ	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ï	Ð	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Þ	Ñ	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ñ	Ñ	Ð	Þ	Ð	Ñ	Ð	Ð	Ñ	Ð	Ñ	Ð	Ð	Ð	Ï	Ð	Ð	Ð	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ð	Ð	Þ	Ñ	Ð	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ð	Ï	Ð	Ñ	Ñ	Ï	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ñ	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ð	Ï	Ð	Ð	Ð	Ñ	Ñ	Ð	Ð	Ð	Ð	Ð		Þ	Ï	Ð	Ñ	Ð	Ð	Ð	Ñ	Ð	Ð	Ñ	Ð	Ð	Ñ	Ð	Ð	Ð	Ð	Ñ		Ð	Ð	Ð	
-System.Guid_a_b_c_d_e_f_g_h_i_j_kK¥‹V8FÑJ¯ݒ	©9ýØÍ﷎’M…EþE[y
!{jÌ"s÷G˜!ÝHჿtªGIÛÓN’ƒV€í 8úuÙû/2 7G„ï­Ï7™º]¶áŸJ™Òßž¤?U¯8ÚUŠç®F‘[v†eo¬‡¤zz( úC‰Hõ÷³`|Tà‡?’ÌÉN§Y¾¡ZÈ{+ˆÙƒŠ$A¾n¢<Ÿ¶7»Öû0Ñ|@˜^ß	ÝsAÖÿ裌äíE˜DÙ_qߦkSÜ’F¹cîõsلE³0®Ëª¤CÞBÌWb\é–û`1F“ôgà$=Æ
-Zà&ñ`J˜vú<nhAzùrº{F¨Ê/å~ñ€–¿D²‡ÃA’<ûéÅMè4‡ùÛDA¼Ó6£Å×ðoÄ꓾ÓB¨–hˆâm¸œ+
W~©K½Î—_	oyà ¯Ȭ¤DF¶Ñ;€$¼É!ܳv’Å»H£ž\i7à’"¨sЉ‚bA¿L_Õ~®¬#:GlÉcRI’¦ÿ’‰}é$Fò÷x;JÁ”]ÝV;%Q˜°ÄpÉ@ŠÖþYîx"&î0ÎkªÈI›°™™_%'&G‡ö+åÍCª„½	;ü(Z씯’ýŽA§‘¹{X§*)¾à!
[¶I‚7õÖ>Êâo*¾Ñ$Çw4H”jv‰êÏ¡+mZx*FõÑG‘kÊ ò2Ï,ƒÒ^'A@@¿„ÿ8CÝP-ҁ i¹Ñ@±»2³C•.ð¸ˆBxÏC–5yÛVæß/!¬ÁµSG™‚µA¼¶œ‘0ř'IÆçC§œÇOË«T1¢€"ŒcD¶çAµèiW2«¤¯™þî|B¸S/Ã©¢3˜R^›²¢@³Ia2º4ʾ§Àñ N7ÅUïa½5&þÑSôDµxG7>³ë6Ž­àËôL»ÿ{—/á…Q7©¶Š
-[@DˆªÑðªdx8%egIŠOŸõ6ãb-9Ay3ÿ7vA³ÑÆM"N±f:Ç(ÝB¢©A—嶊(΢ë;‚õ.éwZ¯C…üiIö³<Sõ_§Ÿ˜B¸×ͪíe=Ðdֈ,H¿9õÜÔ>šE¹LÃCA³òE1åŒ?Þ¯“âúI:ÃÒRÐ&™@LitÝä‚DˆªÎb˪ÊAR-[ÕÚN¡	ì¢TIxBÜ|äã½n/G€AOÆC¤#qlC¯“:osvD|OV,qÊI²<˅ó^ŒTEÒùאÉ'‰G‚Pl&+JFg_k3µòL“ßØ¢[벨Gtµí$ZM¹þ’X­N®
-H‰64~_šªF¿VYÄïìYIÔÿ»²¡XJ£ÛœxõÙÉJVFF¸Q6B¨û$ XK5uµÁ·ðŸA›vF¤ø0·pL(ôfOkWD›ÃÜç	ÂûrM QžÚÑÌB«p	CXÛªNÛö€R=Jª´IÜqêOÀ¢%:y\;HŒœ~Zz]PV{ÃÉàN¢kõµ·,¨xQÆ!û¦±ï‡I¦¼òÜRÂTRW­zmšBI¼ãZ0ÒzìS²%°1RTG¡Fx•}™öTFTͯIçO»x›ÿëpýUñˆBô#”C†6Û2¬V“‚¢Ïţ@½ýÝ$ÁúõÙW°‹«amë@½æÅ8~TX=i±ðÊXóN§ŸÓ˒?ð0YÁPÌc¿ª¨L–T³‚,#&ZÖ~pæI¦Ö»Ò‡þ¸Ž[âkŽ¿¨C¡EŠ$Swn-<Ô\ªñ4L‰N‘Ó–Úq\©]D~€z$ñI—™MÒS¬Ž^/E€&CÄBˆ“¶Å­Å[_žC«7#„(HŸ–Y„œ$›`†yèí4¯K†S*1'‰a­ßARX©E¤r<º_Ã=bx/§ÑH¡H†Ð‘3HeðOcAQFËðQE¸ñîÇ%Û_dTÅiW­æþAªüªr+Že{ʈ\ eL¼Ž¢WŒè9fmµ;®˜[GŒ¶[þª­àgˆ¶¢ñÊñ5BŠ$ášïSð5hZáëaÀ,F€©ñ¿Y¥Ži%]ÉÀY}C©ô,®¹aøj³¾™ËÔA6F£Üt\¦À‹Ìk‰Ò2Ù
-OvO°çm÷§çvlKó)¥à¥O‡7Ⱥï jmìI?kƒ&F‘Ðœµg:Î'n{/Ÿ³nI«²¸Z`Ûor¶<Îe˜I´ÑŸ\£¬ôp²èlÁxO®Ìo;Ï}Š¥qü4åþ­}ELÒYÄrƒh<A?ô H£²6c7RRs‡±]g#H‰¯£H{;tLÑ¢öF¦>@1‚ÒuõõÁ°Zn$I’·•¸à•;)vî¼ý—©¯B…>¯ìÛG‹w¤Ž·ytKJ½
O}Ï­xˆ%íÃG¯úëa’m›Ny£Rj/ðXM‡IQt#3R´zK½ô’R=E†2ÃõÄHΧ{5Ú·áÛ{ÔA‚µNSŒ‚|ˋt¡ùñO¥4Fç<Ïé„}¼ã¶Å¬xJ‹‹;íd9~5+Ÿ§9,A¸¡ÒäÕq:Á2¶
-à‚ÎC°#i€€jë8¦ãç±O„–À49Cÿeºùõ8ÓgD®ÄŒ•)Ô#Ç‚+§¥ãúJ,G…×Ì»°õ&ºƒ»¢0ÉÏCÑŒ{tá„P·(¢•¯C¶§‚Žÿô÷8…£O@£ŸU³OžÖ6Ò¡•ü6†JÛ¼…ʇG£‰…e=·‡®:6:•B±¯›øúêQˆp;¹¬–KšCªKç}ËÞ‰ƒÑÜ5'GM¦r¶—Šû)÷´|F8MŒëpŸÒb´Þ‹²—0¢g@€±É›=ûóŒºÖõ7’5Ežn\æ%›Å%7Ö³¼ùK²ÐóMR@…Ž©B¶˜¯cE“X_|á˜9 ¯º8|D˜/gÿ¥¾J³Rã9®áà1N¹T†U#±‘z‘Ҕ§J•€ÔÓ¯¤×=’ÞIMUÛWC´qžÅÜ“ËðʱÌG´£µNßĎR”^ˆGÓ4F4AŸ¿åÃ>jÞ•
-¹HÄ(G°ò”FÐ` Y–»Íú«ÈOW+
->—DLT—DŽ¿
-MOcç˜/BÿwMEƒ¬ð‰XDu™›Äí›M„2þ»€»öËš«é´\}RL­ÇBþœõ"*›c7<•J¬HK¦Ê."੒œÊ^Æ,lÆI·r»1²±ò /f—\™<·D‘+“˜É¹y™žÿ\«6U*ÿJ‡wö}U@¡ŸDØhMeL¤©fSdV (´kàŠIB«¬Ù¯ºŒŒC¡|“ÜðéMC…·Iž7Š¢‹E3T·çJ¸~„#x££°
-¦ºÔE¼P«Ëô¤i¼¥‹VìJˆýS©U§›¥¨
JØЀ"Fç%°ð6B¦g^ÓûißI„ÖM[FE:ߧ6üçjGaL¡Ë§™µu¨EÕqfcUA¡õ𡤶#
-©™Zz^|¨&A„®hâ¤E¶ßª͂¾€6ËK©W^™WC׫s.žßö7Lµ
gšÒ£¤3¬÷æ“4W\fB¨°C†,	3/­ÔÏÏ@ºû¤O‹KmìžÙt®q¶l]?¡îEƒ¯cy7¯¾šTM/CZOšcÉ™à„±°ø‰\%C¸<Ãè^TʱE;J"ÈG§H$ûËvÿ¢²œ>h ‚3xJ¡ÚâäV¡7µ³lm¡âà ÔD­1"­  ‚@´6Z¬eœ	Gµåoà´Óµ,µš–À™N¶{×|ýû?¶€"õN¾oìO–_\ýMÀ·'¡îË¥*bA…Ûâbré¸ÞE–™Þ{Ú% ¹t‰Žj'O˜e(R™ƒº£¤Ÿº•E˜mª»¨p$»C´e«ÍöA£[c74Œ¼qVÚÝEŽÛÀۙ8½—L‰£iD¿_jéVïv¾
݆«*0Né¢Ï÷ÂE¿)4÷#§<O›IŒå*†Àª.?
-d)Jùö€KÉàÁ9a‡בL‘Ì¢{…fÅÂà2°ËÃu¹K¼Þ¶ÉÿmÖÃ.@Ôy“Lˆ„»§¥è_į!mÆF{ѹjÅB8Ó&ó$L¥Or8‰né›Æ»Ð4ÐBuyA„—…0R¼Û[Ç.!ÀýG—ó-Aøþ×ÈÇ1¾½×šJ¤õ>Íiɐè¯SðÎNƒª“*„°°Ê~'¬©B:M—Z4ïzyïËOµËèzJŠM·Œ¾êaCÌAˆ@yOôN‘?cæM’ž<ͽϟR±ØK‹Â—s»V`„Î2_3S.CoDeSys.Core.Components.ExactVersionConstraint_versionSystem.Version	 ÏÎ	!ÐÎ	"ÑÎ	#ÔÎ	$ÙÎ	%ÞÎ	&Î	'Î	( System.Version_Major_Minor_Build	_Revision	! 	" 	# 	$ 	% 	& 	' 	( 	Ð-PK„|7Q8õ^ðëIlogging_project_categories_693fffc3-578c-4dcc-8258-6800165cf1c4.auxiliaryëÿ!0…jüoº&4o	rhý¹System.StringL{426762b5-d352-4b9f-880f-4df0e0d915e0}Categories8System.Collections.ArrayListÐPK„|7QnöÖõ¯ë¯.__shared_data_storage_string_table__.auxiliaryë¯P«$6470a90f-b7cb-43ac-9ae5-94b2338b4573$00000000-0000-0000-0000-000000000000Project Settings$8753fe6f-4a22-4320-8103-e553c4fc8e04
-OptionDataSystem.Byte$81297157-7ec9-45ce-845e-84cab2b88adeGuidSystem.Guid	
-ParentGuid
-Name
-Properties&{2c41fa04-1834-41c1-816e-303c7aa2c05b}
TypeGuidEmbeddedTypeGuids	Timestamp$28ac1364-ebdc-49d9-8c8d-91b3df191afb$735eabd6-b762-446a-9232-7e8b77b3ec05$738bea1e-99bb-4f04-90bb-a7a567e74e3a$21af5390-2942-461a-bf89-951aaf6999f1$b763d4ec-14ff-43e9-bbbd-c2d3a652e5e9Function Blocks$829a18f2-c514-4f6e-9634-1df173429203$373bf815-4ae6-45d6-9154-db2fb90f8702$0cd0b239-ce77-4e97-807f-9b4db6b5600e$6f9dac99-8de1-4efc-8465-68ac443b7d08$a9ed5b7e-75c5-4651-af16-d2c27e98cb94$3b83b776-fb25-43b8-99f2-3c507c9143fcNone$09a67062-6648-489f-893f-6313c819c85e	 STATE.IDLE: // Idle!STATE.START: // stopped"BASE64#CONTENT_TYPE$?	wsContentLength := DINT_TO_WSTRING(Stu.StrLenW(pwsPostValue));%p	wsHTTP_HEADER		: WSTRING(100) 	:= "Connection: close$000D$000AContent-Type: application/x-www-form-urlencoded";&$8f035435-f1d3-4f21-b662-55938aacf89c'	// Parse url ($66e0aa87-603e-4e95-b7ac-da3c4a099b35)Modify*STATE.INIT:	// init client+STATE.ERROR:,$af73022b-ab92-4594-ad24-4128efae971b-View.	END_IF;/$462f08bc-92f1-4ed9-b5a2-1fb0e5ff51a10$0c79ffbc-7721-4c6d-abde-fab7c11b502e1	END_IF2 STATE.REQUEST:		// send message	3Everyone4$843242e4-284a-4e0b-8dfc-87ee2cb998575&IF pstFrom = NULL OR pstTo = NULL THEN6	RETURN;		// return FALSE7iLenFrom := StrLenW(pstFrom);8iLenTo := StrLenW(pstTo);9$4a3aa39f-2014-4f7b-a5c1-44706967bc50:9	RETURN;		// return FALSE => result buffer not big enough;9STATE.RESPONSE:	// idle mode - wait for incomming message<pwdFrom := pstFrom;=pwdTo := pstTo;>6CAA Behaviour Model, 3.5.5.0 (CAA Technical Workgroup)?		xDone := TRUE;@*// Concatenate the string pstFrom to pstToAFOR i := 0 TO iLenFrom - 1 DOB$ef4ecb32-0ddc-483f-a6ec-1761efbe4da0C	pwdTo[iLenTo+i] := pwdFrom[i];D// Set the string terminationE$11c0fc3a-9bcf-4dd8-ac38-efb93363e521F		END_IF		GEND_CASEHProject InformationICloseJ	VAR_INPUTK$085afe48-c5d8-4ea5-ab0d-b35701fa6009LGetCompanyGUIDMGetTitleGUIDNGetVersionGUIDOGetTextPropertyGUIDPGetNumberPropertyGUIDQGetBooleanPropertyGUIDRGetVersionPropertyGUIDSGetLibVersionGUIDTGetLibVersionNumberGUIDUIsLibReleasedGUIDVLibraryCategoriesWEND_VARX&{aecb3560-8a8a-40ab-9e88-42f4b333af8b}Y$e98088bb-59f5-4096-8784-4443932920dfZVAR[1.0.0.0\$d2c47c8c-760e-440c-9147-4468a3c03edb]CAA^$9bad807f-0127-4ea6-86e7-4f68c24e0225_Common`$8677b78e-b730-40de-8a62-fdbce8da6680aSafetyb$3dd4868c-6477-4606-b687-f340a9dbdd2cc
-SoftMotiond$66558e58-9485-48b4-9433-2bf60b045756eInternf$b8b4ee4e-1f42-45af-8ccf-c7f09c488826gStandardh$24568a24-c491-472c-a21f-ee5d33859fabi$a63becff-d2d8-4c37-a0f8-a2ee7c533ed7jprvStartk$f8a58466-d7f6-439f-bbb8-d4600e41d099lMETHOD ClosempwdTo[iLenTo+i] := 0;n
-HttpResulto$385db9bf-1635-44ea-9c03-f7e409018454pMETHOD prvStart : BOOLq]/// This function concatenates pstFrom to pstTo if the iBufferSize from pstTo is big enough. rQ/// It will return FALSE and does no concatenation if one of the strings is NULL s)/// or the buffer size is not big enough.tF	iError := StringToURL(wsUrl := STRING_TO_WSTRING(sUrl), url := _url);uFUNCTION_BLOCK BASE64_DECODEvEND_IFwTYPE HttpResult :x5	pstFrom : CharBufferPtr;	// simply a pointer to bytey$9e6f0414-1b1e-47d0-8ee6-4a7db6509a82zprvCyclicAction{METHOD prvCyclicAction : BOOL|$d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0}prvResetOutputs~SUPER^.prvResetOutputs();METHOD prvResetOutputs : BOOL€$f8a0ae55-89c9-47a8-921d-af9dd82bf821
CreateRequest‚'IF eRequestType = REQUEST_TYPE.GET THENƒ
BASE64_DECODE„ELSE…4	pstTo : CharBufferPtr;		// simply a pointer to byte†// POST or GET‡{attribute 'strict'}ˆ0	{attribute 'ieccodeconversion_character_array'}‰	pwdFrom : POINTER TO WORD;Š	pwdTo : POINTER TO WORD;	‹	iLenFrom : DINT;Œ	iLenTo : DINT;// HTTP HeaderŽ
-	i : DINT;		Close();// Host‘+				iPosition := DINT_TO_INT(diTemp1) + 2, ’xdiTemp2 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsDoubleLF), uiSearchStart := DINT_TO_UINT(diTemp1 + 1));“3				iLength := DINT_TO_INT(diTemp2 - diTemp1) - 2, ”pxIsChunked := Stu.StrFindW(pst1 := ADR(httpResult.wsHeader), pst2 := ADR(gc_wsChunked), uiSearchStart := 0) > 0;•TYPE CONTENT_TYPE :–Concat—// Post content˜!	IF iError <> ERROR.NO_ERROR THEN™CANbusšFUNCTION Concat : BOOL›$4b460928-c15e-4b69-919b-8e6fbab12643œ
Compatibility$7fc58ff6-d63b-4aac-a20f-7abbc9fd72f8ž
-DataServerŸ$0204e5d6-0060-4153-acd0-429a397324d0 IoDriverBase¡$a560fc75-2952-4be9-b2f7-e04b029744ab¢	IoDrivers£$7f3353de-c77d-4c8c-9bc0-5b221ce0a7fe¤NetVars¥$e129985a-d24f-4869-8755-5a2b089f16c4¦Profiler§$75a5fc32-fdd8-4338-9a21-cd620e3c7569¨RecipeManagement©$59ff46a0-e373-49c8-b11c-91d772d9f754ª$fff3a71e-3da2-468a-b82b-6c8fa8607f26«$0610289b-8851-4d53-9afc-657256c079f6¬STATE­$2db5746d-d284-4425-9f7f-2663a34b0ebc®{attribute 'qualified_only'}¯TYPE STATE :°(±	START := 0,²	INIT,³		REQUEST,´
-	RESPONSE,Á	ERROR,Â	IDLEĚ);ŞEND_TYPE╣5	APPLICATION_FORM := 0, // HTML-Formulardaten an CGI ║$3ec260e8-feaa-438b-a153-87d5901bc41e╗REQUEST_TYPE╝TYPE REQUEST_TYPE :ŻH	APPLICATION_JSON // enth├Ąlt einen String in JavaScript-Objekt-NotationżV	wsContent				: WSTRING(g_udiMaxResponseSize); // The result of the request as WSTRING┐9└$e7b77198-76b5-4e20-bc6e-9f0b3d94c739┴Enums┬SFC├Library Manager─$adb5cb65-8e1d-4a00-b70a-375ea27582f3┼$af11cf2a-bea4-4a38-add0-f13b3682d425Ă$e7430333-8bd3-4ce2-8535-d61528e26db2ăStu╚SymbolConfiguration╔$24114f71-a313-48dc-b727-4814a5ae5e7e╩Visu╦$b62c2041-b627-4159-b727-149b019609e6╠$62e04908-d9eb-41d7-b3fd-8087020771a0═$8302f600-9f75-49a9-9172-d355d63e3a62╬$5250160a-a348-41ef-96d8-0cd52f94e320¤SysLibsđ$45f0ac40-c00c-4d2d-a74e-2cf5adbaf3a4Đ	SysLibs23Ď$75b20332-150b-4ccd-aa20-fb072490fb80ËTargetď$7db0e3a2-bee3-451b-932c-0f87340204d4Ň$519b1d74-b1de-4a68-a3bf-c1fdb3909c18Í
PLCWinNT V3.xÎ$21e56dab-2863-4515-a4a5-d154a08ccd4eě$bef66cc1-9006-4083-92e8-84957423b2c7┘$c52dbc97-13e5-46c3-8641-481f5d8daff9┌$c179664b-4223-4f78-b898-054073c60fb3█PLCWinRTE V3.x▄$2a47d467-e781-4f73-a35c-01b9d33d28d2Ţ$a4c9aab3-b8bd-4826-9677-1820291d2f2dŮ$11ebb73b-df74-48e0-8fed-9b2db84e438a▀$769db563-3955-441f-b96b-8b177b70d377Ó	Use Casesß$e66bdbd6-b91d-4e4a-97d6-c698c033210cÔ$c812fecb-9bc1-488a-9e68-df19744bfaefŃDatabaseń$6680e7c8-f7d5-41a9-94fe-14602a15effaňFieldbusŠ$b42cc94a-6be6-4e71-9420-bda87e1cd129š
-Foundationè$50af6a48-e2e7-4280-82af-8818f86e464dé
-Guidelinesŕ$a60af49c-8a71-4300-a862-17e5fe7de198Ű$368639a0-d7b3-4311-9a2f-7bf2bab35b30ýRuntimeÝ$a4072735-6719-4d80-ba50-1d428672d406ţ$94be3750-453a-45b4-b1b7-327809b35168´	Utilities­$5ae804c1-a428-4c88-bd60-f4966d9b522b˝$b303f5ce-75ff-4668-a777-7da8debb449c˛CBMˇUtils˘Network§$dbfd1179-5ca7-4f52-93b4-490212c50c96÷$5753032d-83cc-463f-8562-37bcff9c28db¸Test Versions (not recommended)°$fbaa3087-ad61-4321-beb6-e007c68b2c08¨$e4e58334-2453-4f24-b781-93385444aef2˙$1bfa06e5-4a2a-4369-a3d6-68ec39cdad4aűStructsŘ$b646309a-ad0e-4d73-9fe1-641cc72cd0deřURL■
-TYPE URL :˙STRUCT€Concat := TRUE;d	eContentType			: CONTENT_TYPE := CONTENT_TYPE.APPLICATION_FORM; // HTTP Content-Type of the request‚
-END_STRUCTƒ			RETURN;„514…
-		Close();ć4IF eContentType = CONTENT_TYPE.APPLICATION_JSON THENç/Concat(ADR(wsType), ADR(wsOut), SIZEOF(wsOut));łN	wsHTTP_HEADER := "Connection: close$000D$000AContent-Type: application/json";ë	iReplacePos	: INT;Ő	iReplaceLength	: INT;ő	iReplaceToLength	: INT;î	i, j		: UINT;Ź	// TCP ConnectionÄKStu.StrConcatW(ADR(wsHTTP_HEADER), ADR(wsOut), DINT_TO_INT(SIZEOF(wsOut)));ĆBStu.StrConcatW(ADR(wsLF), ADR(wsOut), DINT_TO_INT(SIZEOF(wsOut)));É6IF NOT Stu.StrIsNullOrEmptyA(pwsAdditionalHeader) THENĹM	Stu.StrConcatW(pwsAdditionalHeader, ADR(wsOut), DINT_TO_INT(SIZEOF(wsOut)));ĺC	Stu.StrConcatW(ADR(wsLF), ADR(wsOut), DINT_TO_INT(SIZEOF(wsOut)));ô$c4099788-f65f-485d-8712-5f8ccfad50baö4HTTP Client for sending http request to a webserver.Ľ	// Helpers	ľ?	wsDomain	: WSTRING(255); 	// The domain e.g. 'twitter.api.com'Ś$842a1921-b647-4a23-8170-379f2f236ac8ś$dc0e32c1-9c3a-44e9-9d5b-f2673b5a6e31Ö{attribute 'hide'}Ü// Builds a http requestŤ	j := 0;ť	uxiBytesRead : __UXINT;Łi2 := 0;×	diContentStartPos : DINT;č0Concat(ADR(wsBlank), ADR(wsOut), SIZEOF(wsOut));á3Concat(ADR(url.wsPath), ADR(wsOut), SIZEOF(wsOut));í6Concat(ADR(wsHTTPVersion), ADR(wsOut), SIZEOF(wsOut));ó-Concat(ADR(wsLF), ADR(wsOut), SIZEOF(wsOut));úó	_tcp_read(xEnable := _tcp_client.xActive, hConnection := _tcp_client.hConnection, szSize := SIZEOF(_sContent), pData := ADR(_sContent), szCount => uxiBytesRead);ĄE	wsPath		: WSTRING(255);	// The path e.g. '/1.1/statuses/update.json'ą3Concat(ADR(wsHTTPHost), ADR(wsOut), SIZEOF(wsOut));Ž5Concat(ADR(url.wsDomain), ADR(wsOut), SIZEOF(wsOut));ž$1cc2b29c-02b1-4fe8-ae78-e1cbdfa0b735Ę$71debccc-43ea-48af-b58e-74ace73c3372ę	SUPER^();¬!diContentStartPos := diTemp2 + 4;ź$07cba7c9-e73d-40ac-92e3-f6a0acfbf4d4Č	iReplacePos := -1;ş$5c347d42-ddec-407b-a86b-47f464b07e84«$3faffc36-9a18-4c35-bae0-0c09bcdff86c»$3477e60b-fa4e-4491-ab25-090603cc494a░$2225f435-d4be-40a7-9b1c-c753ed183ff0▒Composer▓$97dc9d97-bf0c-4caa-b1ec-afd778572b37│Math┤CompanyÁDefaultNamespaceÂ	WHILE iReplacePos <> 0 DOĚHTTPŞa := 0;╣HTTP Client║LanguageModelAttribute╗$cdadfc2b-8598-4621-ad56-5b1df7db910f╝qualified-access-onlyŻProjectż$225bfe47-7336-4dbc-9419-4105a7c831fa┐	DocFormat└reStructuredText┴Placeholder┬"3S - Smart Software Solutions GmbH├b := 0;─
-HTTPClient┼FOR i1 := 0 TO c DOĂ_tcp_client(xEnable := FALSE);ă		IF iReplacePos > 0 THEN				╚	_tcp_read 				: NBS.TCP_Read;╔Enabled╩>	Concat(ADR(wsHTTPContetntLength), ADR(wsOut), SIZEOF(wsOut));╦_tcp_read(xEnable := FALSE);	╠ 	_tcp_write 				: NBS.TCP_Write;═	IF o = 61  (* = *) THEN	EXIT;╬_tcp_write(xExecute := FALSE);	¤
-IoStandard–System—'	ELSIF o > 96 (* a-z *) THEN off := 71;“	3SLicense”+								iLengthToReplace := iReplaceLength,‘_3S_LICENSE’1								iLengthToReplaceWith := iReplaceToLength,÷								iReplacePos);◊		END_IFō
-	END_WHILEÙEND_FORÚ$40b404f9-e5dc-42c6-907f-c89f4a517386Û'	ELSIF o > 64 (* A-Z *) THEN off := 65;Ü	iSizeIn : INT;ÝApplicationÞ$639b491f-5557-464c-af91-1471bac9f549ß'	ELSIF o > 47 (* 0-9 *) THEN off := -4;à&	ELSIF o = 43 (* + *) THEN off := -19;áIoStandard, 3.5.8.0 (System)â73SLicense, 0.0.0.0 (3S - Smart Software Solutions GmbH)ã$97c3b452-d9fa-4ac2-9d0c-3d420aa6d95bäJBreakpoint Logging Functions, 3.5.5.0 (3S - Smart Software Solutions GmbH)åBreakpointLoggingæBPLogç&	ELSIF o = 47 (* / *) THEN off := -16;è9	Concat(ADR(wsContentLength), ADR(wsOut), SIZEOF(wsOut));é$ae1de277-a207-4a28-9efb-456c06bd52f3ê	a := a + 6;ë!	_tcp_client 			: NBS.TCP_Client;ì	_IPAddr 				: NBS.IP_ADDR;	í	_url					: URL;î	_eState 				: STATE;	ï	IF a >= 8 THENð
		a := a - 8;ñ1	Concat(pwsPostValue, ADR(wsOut), SIZEOF(wsOut));ò		i2 := i2 + 1;ó 		_pbContent[uxiBytesRead] := 0;ô%		b := b AND NOT SHL(WORD#16#FFFF,a);õEND_FOR;öCODESYS Development GmbH÷@	IF _tcp_write.xDone THEN		// message sent, go back to idle modeø#		_tcp_write(xExecute := FALSE);			ù		_eState := STATE.RESPONSE;ú	ELSIF _tcp_write.xError THENû$98a2708a-9b18-4f31-82ed-a1465b24fa2dü1.0.1.1ý>					iLength := DINT_TO_INT(diTemp2 - diContentStartPos + 1), þ	sReplace	: STRING(3);ÿ?	httpResult.diContentLength := diTemp2 - diContentStartPos + 1;€	sReplaceTo	: STRING(3);1.0.1.2‚CODESYS GmbHƒ	iSizeOut : INT;„$32d3375e-c010-41e2-9e43-b2fbf4f2b374…,	url						: URL; // The URL of the webserver†LibraryCategoryIds‡0ˆTitle‰ 		_tcp_read(xEnable := FALSE);		Šc := iSizeIn - 1;‹AuthorŒ		_eState := STATE.IDLE;	ELSIF _tcp_read.xError THEN		Ž		_eState := STATE.ERROR;			_eState := STATE.IDLE;3IF iSizeIn <= 0 THEN iSizeOut := 0; RETURN; END_IF;‘1’0IF xExecute = TRUE AND _eState = STATE.IDLE THEN“	_eState := STATE.START;”+								pstReplaceWith := ADR(sReplaceTo), •CASE _eState OF–2—$78562ae7-5a2e-4542-9033-c5c093009235˜VAR_TEMP™$aecb3560-8a8a-40ab-9e88-42f4b333af8bšParentCategoryId›iSizeOut := i2;œDefaultNameLocalizedNamesž	a: INT;Ÿ	_tcp_client(xEnable := FALSE); 3¡	_tcp_read(xEnable := FALSE);¢		b: WORD;£	_tcp_write(xExecute := FALSE);¤	_eState := STATE.INIT;¥4¦
-	off: INT;§H	_tcp_client(xEnable := TRUE, ipAddr := _IPAddr, uiPort := _url.uiPort);¨		i1: INT;©I	IF _tcp_client.xBusy AND _tcp_client.hConnection <> CAA.gc_hINVALID THENª		_eState := STATE.REQUEST;«	ELSIF _tcp_client.xError THEN¬		_eState := STATE.ERROR;­5®2	sURL					: STRING(1024); // URL of the web server¯		i2: INT;°6±	c: INT;²3	diTemp2 := Stu.StrLenW(pstData := ADR(wsContent));³5Network, 3.5.7.0 (3S - Smart Software Solutions GmbH)´	IF diTemp2 < 0 THENµP	g_udiMaxHeaderSize : UDINT := 4000; // Maximum size of the http header in bytes¶*		ParseResult := ERROR.RESULT_PARSE_ERROR;·&	Stu.StrMidW(	pwst := ADR(wsContent), ¸1	diContentLength			: DINT; // Length of wsContent¹7º-					uiInputBufferSize := SIZEOF(wsContent), »8¼2					iPosition := DINT_TO_INT(diContentStartPos), ½	// Find content¾	// Convert chunked data¿AÀW	eRequestType			: REQUEST_TYPE := REQUEST_TYPE.GET;	// Type of the request: POST or GETÁBÂ$5a3b8626-d3e9-4f37-98b5-66420063d91eÃ$a02937c5-652e-4b3d-b48d-731b7a6b9a31ÄCÅ	diTemp1 := diContentStartPos;ÆDÇ		xError := TRUE;	ÈEND_IF;ÉFOR i := 0 TO c DOÊEË	a := a + 8;Ì	WHILE a >= 6 DOÍ
		a := a - 6;Î$792f2eb6-721e-4e64-ba20-bc98351056dbÏ	END_WHILE;Ð
-VAR_IN_OUT—
IF a > 0 THEN“o	diTemp2 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsLF), uiSearchStart := DINT_TO_UINT(diTemp1));”F‘	i2 := i2 + 1;’0					iLength := DINT_TO_INT(diTemp2 - diTemp1), ÷	FOR i := i2 TO i3 DO◊10ō		END_FOR;Ŕ12ŕ,					iPosition := DINT_TO_INT(diTemp2 + 2), Ř14‹15›17ř	i: INT;Ŗ		i3: INT;ŗ18Š	NO_ERROR := 0, // No error‚1A„$b7f5d57c-9feb-4ddf-991d-1076f52ec9a8šPermissionsŚ$19c1c34b-6bfc-4383-8eb0-fa3b6d274388śGroupNameHintsÁ
-AclEntriesŔ$b5cb69c7-6821-4d1a-a709-42cde67d1eb2ÚprvAbortŕVerbToPermissionIdŰMETHOD prvAbort : BOOLýAclÝ1BţClose();´1C­1D˝StructuredViewGuid˛
ParentObjectsˇ&{fa2ee218-a39b-4b6d-b249-49dbddbd168a}˘$a5de0b0b-1cb5-4913-ac21-9d70293ec00d§Id÷Tag¸Text°$f3878285-8e4f-490b-bb1b-9acbb7eb04db¨	TextLines˙&{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}űTextDocumentŘSpecialFuncř&{0db3d7bb-cde0-4416-9a7b-ce49a0124323}■Implementation 	InterfaceÇUniqueIdGeneratorüPOULevelé&{8e575c5b-1d37-49c6-941b-5c0ec7874787}âChildObjectGuidsäSystem.Collections.ArrayListůAddAttributeSubsequentćExcludeFromBuildçExternalłEnableSystemCallëCompilerDefinesŐ
-LinkAlways‹$51a11660-6c0d-4598-8c08-419c5845ea1fŒOptionalParamsŽ&{e38db981-1fbe-4d68-b5b0-d55ca6086daa}	Namespace
SystemLibrary‘HideWhenReferencedAsDependency’PublishSymbolsInContainer“
QualifiedOnly”LinkAllContent•$4723ebe7-5bfc-43c6-be6b-5097002ef6b4–DefaultResolution—PlaceholderName˜ResolverGuid™ItemsšPlaceholderRedirectionTable›System.Collections.Hashtableœ$88513019-926a-4125-ab4f-260cf5e4c63eTypežPositionToSaveŸMessagesToSave &{bc2be951-49f6-4f0f-b731-e31e36606f1e}¡	LongValue¢	TypeClass£&{16f7aa24-038f-444e-9d81-b001bc091d35}¤Negative¥OriginalTypeClass¦$e38db981-1fbe-4d68-b5b0-d55ca6086daa§Exp¨$05ee0b98-6639-4276-bc32-b75578b819ef©VersionªBaseName«DeviceIdentification¬$59a90934-c888-40db-a9df-306fcf36d75c­Description®Vendor¯OrderNumber°
-Categories±System.Int32˛Familiesł
System.String´CustomµDefaultInstanceName¶$abc12bfe-e34e-4b2c-a058-42c6e7e03a13·LmGuid¸Sectionsą
AlwaysMappingş
-EditorName»AlwaysMappingMode¼&{9d1b24fb-5845-4978-8458-564ca7830fec}½CreateBitChannels¾$35cf7b1a-a4cd-490b-8ebe-385e61fcc6d9¿
-Identifier└Default┴$3f828f0b-c67b-430a-8c93-1e9bc324df64┬Modules├
-MaxDevicesń$1da2f14a-1c63-4268-9171-3b6869b8ccd6ŇAdapters∆$4f958885-8d0a-4b58-83b6-29cfd1c9cfca«RequiredLibs»
RequiredTasks…
NeedsBusCycle BusCycleTaskňIoAppŐIoAppSetÕPositionIdsőSystem.Int64ŌUseSlowestTask–NeedsBusCycleBeforeRead—GenerateForceVariables“EnableDiagnosis”AdditionalParameterSetting‘ShowWarningsAsErrors’DiagnosisCheckboxMode÷&{96a7290c-b036-44e1-a965-c279cddf134b}◊DeviceScanSupportedōDeviceNominateSupportedŔDeviceIdentifySupportedŕ DeviceUploadDescriptionSupportedŘUpdateIOsInStop‹StopResetBehaviourSetting›&{f333ad6d-dc68-4baa-a3a3-20be74eb2e18}řStopResetBehaviourUserProgramŖBusCycleTaskGuidŗPlcAlwaysMappingŠPlCAlwaysMappingMode‚$850f737d-2abf-45f4-89c1-63ed6b29593d„VisibleInterfaceNamešConnectorObjectGuidŚ
-IsExplicitŠ
-ModuleTypeçRoleè&{6827a808-5967-49c4-a827-10f6c446e075}éConnectorIdêHostpathëHostParameterSetì
-DriverInfoÝCustomItemsţ&{7d23305a-7bb9-46e6-b58b-01ea5694add1}´ModuleId­IoUpdateTask˝AdditionalInterfaces˛ConstraintsˇhideInStatusPage˘
updateAllowed§fixedInputAddress÷fixedOutputAddress¸DownloadParamsDevDescOrder°AllowOnlyDevices¨InitialStatusFlag˙UseBlobInitConstűConnectorGroupŘAllowedPagesřClient■MaxInputSize 
MaxOutputSizeÇMaxInOutputSizeüClientTypeGuidéClientConnectorInterfaceâClientConnectorIdäAlwaysMappingDisabledů$52a6325f-063a-4748-86b6-ec8aa02d3232ć	InnerListç$1fdbedd8-b518-4ebd-99df-805f2f77c071ł
-Attributes‰$58f2b04d-505d-4589-9fcf-0ec83491f9b2ŠSaveLocally‹CommunicationSettingFilterŒCommunicationSettingSortingTrackingModeŽGatewayGuidAddress
PromptAtLogin‘SimulationMode’SecureOnlineMode“SecureOnlineModeExplicitelySet”MonitoringIntervalMsec•ScanInformation–$848f25ec-eecf-4290-8329-7f6500fd2e0f—UserBaseAddress˜$94d8f601-f8e4-4aaa-8f48-f3c3ec33bec1™LibNamešFbInstances›PlaceHolderLibœloadAsSystemLibraryIsDiagnosisLibž$ec1f8a3a-98c6-404c-883e-ce9e54b42542ŸTypeList DefaultDeviceInfo¡DeviceParameterSet¢Disable£Exclude€
-Connectors¥
ConnectorList¦CommunicationSettings§IoProviderBase¨GuidBusCycleTask©IoConfigGlobalsGuidªIoConfigGlobalsMappingGuid«IoConfigVarConfigGuid¬IoConfigErrorPouGuid­FunctionalChildren®UserManagement¯RightsManagement°showParamsInDevDescOrder±HostObjectGuid²AdditionalStringTable³
OnlineHelpUrl´InteractiveLoginModeµLogicalDeviceList¶LogicalLanguageModelPositionId·SupportedLogicalBusSystems¸MappingPossible¹HidePropertiesDialogºPlaceholderResolution»
DynamicMemory¼DownloadContent½
GuidNetVarGVL¾GuidMemSettings¿BootAppSettingsÀOverrideTargetMemorySizesÁTargetInputSizeÂTargetOutputSizeÃTargetMemoryizeÄ
-StaticSizeŇAllowUserDefinedStaticSize∆FirmCode«ProductCode»KeepOnParentOnlineChange…TaskConfigurationList &{75fc8bb3-c744-4e99-b6eb-bb2796e19500}ňSystemEventListŐ&{7be1d5a4-d68c-4bc6-a7e5-e42a0ab42a09}ÕExternalEventListő	enum_guidŌjitter_distribution_guid–task_struct_guid—task_config_info_guid“task_global_vars_guid”setup_call_pou_guid‘sys_setup_pou_guid’profiler_global_vars_guid÷profiler_init_code_guid◊profiler_cycle_code_guidōprofiler_fb_guidŔprofiler_method_reset_guidŕ profiler_method_starttiming_guidŘprofiler_method_stoptiming_guid‹!profiler_iectaskgetprofiling_guid›alSysEventListřsysevents_global_vars_guidŖsysevents_functionsblock_guidŗsysevents_fbinit_method_guidŠsysevents_fbexit_method_guid‚#sysevents_eventcallback_method_guid„ sysevents_resetget_property_guidš$68e48988-4399-454b-ae43-e500b779c242ŚTimeśUnitÁ$97c20fcf-2c50-4dbb-8faa-06ff4f1e4275ŤSensitivityť
-Kindoftaskê&{38cb1f21-e463-4240-9171-f74fb561a060}ëCustomParametersì&{3e5ba045-1fc5-40ec-9ce7-4b62ec8ccfdf}íIntervalParametersîEventParametersïExternalEventParametersðFreewheelingParametersñPriorityòWatchdogóIntervalôEventõ
ExternalEventöTaskGuid÷EventPOUGuidøPouListù&{33f568bb-4a2c-48cb-a762-34cca3066d03}úImplicitûWithinSPSTimeSlicingü$cd57ba20-558b-4b98-96c1-73c6000c3087ý$4b8bcc79-5980-4868-b49e-005a8148859bþInnerDictionaryÿ&ParameterInitializationMethodGenerator€RoutingPathTableAutoSizeCanvas‚CanvasWidthƒCanvasHeight„$c994f6e0-311a-4a1c-bc38-75fe34892406…Bounds†ElementGroupId‡IsExtensiblePinˆNegated‰SetResetŠ&{24449d48-c96a-49c4-b9d1-a4ea34aedce3}‹SetResetRefŒ&{233bc97c-69fe-4d29-b40e-a9a9b854044e}PretendsToBeConnectedŽ$65582d84-cf18-4ca0-be59-bf5a3d00b8f8$72f2b13f-5349-4a8a-bbe6-2bccf3f42179
-Modifiable‘$f5becf35-b1f3-4274-b411-81d4b63a1516’Inputs“Outputs”Texts•
-Parameters–PreparedParameters—PageArea˜EnEno™
-KindOfCallš&{77f43dfe-ca6a-4869-828f-7609d8ed6ea6}›ContainsExtensibleInputsœOwningPageId$d51129f5-df27-4886-99d1-c564d2e2c1f6žOutputŸ$b3e42b54-b8f2-45d3-825d-747f82f244a0 X¡Y¢IsJoint£Flags¤$93c117eb-0884-403b-b01e-28b89f47e041¥ConnectionId¦
-StartPoint§
-Unroutable¨CorrespondingPageId©Lockedª$584effbc-813e-443a-bf78-ad9c8d49db41«$5ae2e111-ecff-4a21-b647-2d4da63f8db7¬SourcePinId­	DestPinId®$9ba826d6-fdbc-4f85-99e6-e813fdd446c4¯
-components░$06bee84e-fb7b-460d-bdbc-36d334cb5380▒Addr▓&{9ba826d6-fdbc-4f85-99e6-e813fdd446c4}│$03b12d85-7991-4556-8c0e-c0b3063eb6c4┤ScanInformationDeviceNameÁScanInformationIPAddressAndPortÂScanInformationTargetIDĚScanInformationTargetNameŞScanInformationTargetType╣ScanInformationTargetVendor║ScanInformationTargetVersion╗$f194d1ef-7376-42ce-a729-4a5485a97a46╝CommentŻ1EżHTTPRequest┐11└1F┴20┬		o: WORD;├5	udiBufferSize : UDINT;			// the buffer size of pstTo─21┼22Ă23ă	wsContentLength : WSTRING(20);╚"	iStatus					: INT; // http status╔24╩	POS : INT;╦HIF (iLenTo * 2) + (iLenFrom * 2) + 2 > UDINT_TO_DINT(udiBufferSize) THEN╠25═26╬	RETURN;¤27đ28Đ29Ď2AË2Bď2CŇ$0ce4a395-e620-4cbf-8bfa-0c5279f11931ÍStringToURLÎ2Dě2E┘
-IBLOCKSIZEÚAnyIntÛ// The result of a http requestÜ2FÝ// Types of http requestsÞ30ß31à32á34â35ã36ä37å38æ39ç3Aè+CAA FB Factory, * (CAA Technical Workgroup)éVAR CONSTANTêCAA FB Factoryë$bde0bc31-b813-47f1-8ac0-d59c6c6fa39bìCODEí3Bî	CODE := 0;ïFBFð
	CODE := pt^;ñ3Cò3Dó3EôFUNCTION CODE : BYTEõ	PT : POINTER TO BYTE;ö	httpResult.wsContent := "";÷3Fø40ù41ú42û43ü44ý	httpResult.wsHeader := "";þ45ÿ46€47!	httpResult.diContentLength := 0;‚// State of requestsƒ48„49…9	httpResult				: HttpResult; // The result of the request†	httpResult.iStatus := 0;‡4Aˆ4B‰4CŠ4D‹4EŒ4F50Ž{attribute 'hide_all_locals'}5152‘53’55“
-HttpClient”56•xAbortInProgress := FALSE;–57—58˜59™5AšIsGet›.	_sContent				: STRING(g_udiMaxResponseSize); œ	_sContent := '';5Bž5CŸ5D 5E¡5F¢60£61¤+	eError					: ERROR; // Current error state¥74¦/	_wsContent				: WSTRING(g_udiMaxResponseSize);§62¨	_wsContent := "";©63ª$5cbf2273-92a3-408c-bb63-205c487a8a24«	Constants¬$e5bfdbe1-6c62-4716-8370-6fc9b969e08f­GVL®$ffbfa93a-b94d-45fc-a329-229860183b1d¯64°65±4	b := SHL(b,6) OR INT_TO_BYTE(WORD_TO_INT(o) - off);²66³67´‹												'%20', '%21', '%22', '%23', '%26', '%28', '%29', '%2A', '%2B', '%2C', '%2F', '%3A', '%3B', '%3D', '%3F', '%40', '%5B', '%5D'];	µIF iSizeIn <= 0 THEN¶	iSizeOut := 0;·	iSizeOut := i3 + 1;¸68¹69º		j := 18;»6A¼FOR i := 0 TO 18 DO½		sReplace := csaChars[i + j];¾6B¿š		ConvertUTF8toUTF16(sourceStart := ADR(_sContent), targetStart := ADR(_wsContent), dwTargetBufferSize := SIZEOF(_wsContent), bStrictConversion := FALSE);À&			sReplaceTo := csaChars[i + 18 - j];Á$61fa1e5b-d507-41d9-9969-a4f59d50e7ffÂParseResultÃMETHOD ParseResult : ERRORÄ6CÅ6DÆ6EÇ6FÈFUNCTION URLDecoder : BOOLÉ
-URLDecoder 70ňVAR_GLOBAL CONSTANTŐ	i			: INT;Õ71őIF xEncode THENŌ72–73—75“NetVarProperties”	httpResult : HTTPResult;‘
ParameterList’GetTextProperty2GUID÷$83ef5a37-9384-44cd-a098-9655efdedf04◊UTF-8ō$9e1aaea0-0352-440e-b42f-5c4bce94facaŔGVL_UTF8ŕ2	trailingBytesForUTF8 : ARRAY[0..255] OF BYTE := [ŘE				0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,‹E				1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,›D				2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5ř			];Ŗ\	firstByteMark : ARRAY[0..6] OF BYTE := [ 16#00, 16#00, 16#C0, 16#E0, 16#F0, 16#F8, 16#FC ];ŗS	offsetsFromUTF8: ARRAY[0..5] OF DWORD := [ 16#00000000, 16#00003080, 16#000E2080, Š5             16#03C82080, 16#FA082080, 16#82082080 ];‚$5224bca0-df60-44a9-9b93-c7de4e0bc365„ERRORš// Base 64 decoderŚTYPE ERROR :ś:	halfShift : INT := 10; (* used FOR shifting BY 10 bits *)Á 	halfBase : DWORD := 16#0010000;Ť	halfMask : DWORD := 16#3FF;ť-	UNI_REPLACEMENT_CHAR : DWORD := 16#0000FFFD;Í$	UNI_MAX_BMP : DWORD := 16#0000FFFF;Ž&	UNI_MAX_UTF16 : DWORD := 16#0010FFFF;ž&	UNI_MAX_UTF32 : DWORD := 16#7FFFFFFF;Ū,	UNI_MAX_LEGAL_UTF32 : DWORD := 16#0010FFFF;Ó	byteMask : DWORD := 16#BF;Ô	byteMark : DWORD := 16#80;ū'	UNI_SUR_HIGH_START : DWORD := 16#D800;Ů& 	UNI_SUR_HIGH_END : DWORD := 16#DBFF;Ú' 	UNI_SUR_LOW_START : DWORD := 16#DC00;ů% 	UNI_SUR_LOW_END : DWORD := 16#DFFF;Ű9	ERR_OK : UDINT := 16#0000;	(* The operation succeeded *)űD	ERR_SOURCE_EXHAUSTED : UDINT := 16#40A0; (* Used for UTF8 helper *)ŲD	ERR_TARGET_EXHAUSTED : UDINT := 16#40A1; (* Used for UTF8 helper *)ųB	ERR_SOURCE_ILLEGAL : UDINT := 16#40A2; (* Used for UTF8 helper *)Ý$0c892cf6-5871-4e80-a5f9-d8d9a6dc5040ýConvertUTF16toUTF8ķConvertUTF16toUTF8 := ERR_OK;Żsource := sourceStart;Łtarget := targetStart;żIsourceEnd := source + Stu.StrLenW(source)*2 + 1; // Add the terminating 0Ģ)targetEnd := target + dwTargetBufferSize;ˇWHILE source < sourceEnd DOÄ	bytesToWrite := 0;ĀR    oldSource := source; // In CASE we have TO back up because OF target overflow.ā!    ch := WORD_TO_DWORD(source^);É
-VAR_OUTPUT„	source := source + 2;…>    (* If we have a surrogate pair, convert to UTF32 first. *)†A    IF (ch >= UNI_SUR_HIGH_START AND ch <= UNI_SUR_HIGH_END) THEN‡U        (* If the 16 bits following the high surrogate are in the source buffer... *)ˆ$        IF (source < sourceEnd) THEN‰'        	ch2 := WORD_TO_DWORD(source^);Š9        	(* If it's a low surrogate, convert to UTF32. *)‹@			IF (ch2 >= UNI_SUR_LOW_START AND ch2 <= UNI_SUR_LOW_END) THENŒY				ch := SHL(ch - UNI_SUR_HIGH_START, halfShift) + (ch2 - UNI_SUR_LOW_START) + halfBase;76Ž				source := source + 2;!			ELSIF (bStrictConversion) THEN)				(* it's an unpaired high surrogate *)‘@				source := source - 2; // return to the illegal value itself ’-				ConvertUTF16toUTF8 := ERR_SOURCE_ILLEGAL;“					EXIT;”				END_IF•		ELSE –A		 	(* We don't have the 16 bits following the high surrogate. *)—8			source := source - 2; // return to the high surrogate˜.			ConvertUTF16toUTF8 := ERR_SOURCE_EXHAUSTED;™			EXIT;š77›78œ	ELSIF (bStrictConversion) THEN;        (* UTF-16 surrogate values are illegal in UTF-32 *)žC        IF (ch >= UNI_SUR_LOW_START AND ch <= UNI_SUR_LOW_END) THENŸD        	source := source - 2; // RETURN TO the illegal value itself 2        	ConvertUTF16toUTF8 := ERR_SOURCE_ILLEGAL;¡        	EXIT;¢        END_IF£
-    END_IF¤4								uiInputBufferSize := DINT_TO_UINT(diSize),  ¥;    (* Figure out how many bytes the result will require *)¦    IF (ch < 16#80) THEN      §		bytesToWrite := 1;¨!    ELSIF (ch < 16#800) THEN     ©		bytesToWrite := 2;ª!    ELSIF (ch < 16#10000) THEN   «		bytesToWrite := 3;¬79­¥	csaChars	: ARRAY[0..35] OF STRING(3) := [ ' ',    '!',  '"',   '#',   '&',   '(',   ')',   '*',   '+',   ',',   '/',   ':',   ';',   '=',   '?',   '@',   '[',  ']',®!    ELSIF (ch < 16#110000) THEN  ¯		bytesToWrite := 4;°    ELSE       ±#        ch := UNI_REPLACEMENT_CHAR;²$    target := target + bytesToWrite;³     IF (target > targetEnd) THEN´8        source := oldSource; // Back up source pointer! µ+	wsContent : WSTRING(g_udiMaxResponseSize);¶)        target := target - bytesToWrite; ·.		ConvertUTF16toUTF8 := ERR_TARGET_EXHAUSTED; ¸!	_pbContent				: POINTER TO BYTE;¹		EXIT;ºr		iReplacePos := Stu.StrFindA(pst1 := psIn, pst2 := ADR(sReplace), uiSearchStart := INT_TO_UINT(iReplacePos + 1));»
-   	END_IF╝H			iReplaceLength := DINT_TO_INT(Stu.StrLenA(pstData := ADR(sReplace)));ŻM			iReplaceToLength :=  DINT_TO_INT(Stu.StrLenA(pstData := ADR(sReplaceTo)));ż&			Stu.StrReplaceA(	pstInput := psIn, ┐"	bytesToWriteSave := bytesToWrite;└7A┴B								iLengthInput := DINT_TO_INT(Stu.StrLenA(pstData := psIn)),┬    IF bytesToWrite = 4 THEN├		target := target - 1;─;		target^ := DWORD_TO_BYTE((ch OR byteMark) AND byteMask); ┼		ch := SHR(ch, 6);Ă	IF bytesToWrite = 3 THENă	IF bytesToWrite = 2 THEN╚	IF bytesToWrite = 1 THEN╔B		target^ := DWORD_TO_BYTE(ch OR firstByteMark[bytesToWriteSave]);╩(    target := target + bytesToWriteSave;╦	END_WHILE╠// Converts a WSTRING to STRING═7B╬13¤#FUNCTION ConvertUTF16toUTF8 : UDINTđ6 	sourceStart : POINTER TO WORD;	// Pointer to WSTRINGĐ4	targetStart : POINTER TO BYTE;	// Pointer to STRINGĎ/	dwTargetBufferSize : DWORD;		// Size of STRINGË	bStrictConversion : BOOL;ď	source : POINTER TO WORD;Ň	sourceEnd : POINTER TO WORD;Í	oldSource : POINTER TO WORD;Î	target : POINTER TO BYTE;ě7C┘	targetEnd : POINTER TO BYTE;┌	ch : DWORD;█
	ch2 : DWORD;▄	bytesToWrite : WORD := 0;Ţ	bytesToWriteSave : WORD := 0;Ů$62da71d9-c483-45e3-8485-957b25ad5bfd▀ConvertUTF8toUTF16ÓConvertUTF8toUTF16 := ERR_OK;ß7DÔHsourceEnd := source + Stu.StrLenA(source) + 1; // Add the terminating 0 ŃWHILE (source < sourceEnd) DOń7Eň		ch := 0;Š3	extraBytesToRead := trailingBytesForUTF8[source^];š"// URL Decoder/Encoder (%-Encoder)Ŕ1	IF (source + extraBytesToRead >= sourceEnd) THENÚ-		ConvertUTF8toUTF16 := ERR_SOURCE_EXHAUSTED;ŕ.	(* Do this check whether lenient or strict *)Ű7FýY	IF (NOT IsLegalUTF8(source, WORD_TO_INT(extraBytesToRead+1)) AND bStrictConversion) THENÝ+		ConvertUTF8toUTF16 := ERR_SOURCE_ILLEGAL;ţ	(*´2	* The cases all fall through. See "Note A" below.­	*)˝80˛*	extraBytesToReadSave := extraBytesToRead;ˇ	IF extraBytesToRead = 5 THEN˘		ch := ch + source^;§		source := source + 1;÷1		ch := SHL(ch, 6); (* remember, illegal UTF-8 *)¸		extraBytesToRead := 4;°81¨	IF extraBytesToRead = 4 THEN˙METHOD StringToURL : ERRORű@	psIn	: POINTER TO STRING; // Pointer to String to decode/encodeŘ		extraBytesToRead := 3;ř	IF extraBytesToRead = 3 THEN■		ch := SHL(ch, 6);  		extraBytesToRead := 2;Ç		IF extraBytesToRead = 2 THENü			extraBytesToRead := 1;é		IF extraBytesToRead = 1 THENâ			extraBytesToRead := 0;ä		IF extraBytesToRead = 0 THENů	2	ch := ch - offsetsFromUTF8[extraBytesToReadSave];ć		IF (target >= targetEnd) THENç	b		// We don't return the source yet: source -= (extraBytesToRead+1); /* Back up source POINTER! */ł	.		ConvertUTF8toUTF16 := ERR_TARGET_EXHAUSTED; ë				Ő		IF (ch <= UNI_MAX_BMP) THEN ő	#	diSize	: DINT;				 // Size of psInî	'		(* Target is a character <= 0xFFFF *)Ź	5		(* UTF-16 surrogate values are illegal in UTF-32 *)Ä	>		IF (ch >= UNI_SUR_HIGH_START AND ch <= UNI_SUR_LOW_END) THENĆ				IF (bStrictConversion) THENÉ	-				ConvertUTF8toUTF16 := ERR_SOURCE_ILLEGAL;Ĺ				ELSE ĺ	3				target^ := DWORD_TO_WORD(UNI_REPLACEMENT_CHAR);ô					target := target + 2;ö			ELSEĽ	2			target^ := DWORD_TO_WORD(ch); (* normal case *)ľ				target := target + 2;Ś	 	ELSIF (ch > UNI_MAX_UTF16) THENś			IF (bStrictConversion) THENÖ	,			ConvertUTF8toUTF16 := ERR_SOURCE_ILLEGAL;Ü	_			// We don't return the source yet: source -= (extraBytesToRead+1); (* return to the start *)Ť	+			EXIT; (* Bail out; shouldn't continue *)ť	2			target^ := DWORD_TO_WORD(UNI_REPLACEMENT_CHAR);Ł		ELSE ×	9		(* target is a character in range 0xFFFF - 0x10FFFF. *)č	#		IF (target + 1 >= targetEnd) THENá	c			// We don't return the source yet: source -= (extraBytesToRead+1); (* Back up source pointer! *)í	7	xEncode : BOOL;				 // TRUE -> Encode, FALSE -> DECODEó	/			ConvertUTF8toUTF16 := ERR_TARGET_EXHAUSTED; ú			ch := ch - halfBase;Ą	D		target^ := DWORD_TO_WORD(SHR(ch, halfShift) + UNI_SUR_HIGH_START);ą			target := target + 2;Ž	@		target^ := DWORD_TO_WORD(ch AND halfMask + UNI_SUR_LOW_START);ž	 // Converts a STRING to WSTRING.Ę	RETURN; ę	54¬	#FUNCTION ConvertUTF8toUTF16 : UDINTź	6 	sourceStart : POINTER TO BYTE; 	// Pointer to STRINGČ	URLDecoder := TRUE;ş	5	targetStart : POINTER TO WORD;	// Pointer to WSTRING«	4	dwTargetBufferSize : DWORD;		// Size of the WSTRING»		source : POINTER TO BYTE;░		sourceEnd : POINTER TO BYTE;▒		target : POINTER TO WORD;▓		targetEnd : POINTER TO WORD;│		extraBytesToRead : WORD;┤		extraBytesToReadSave : WORD;Á	$c9744904-7570-4bd2-9d5a-635478747a24Â	IsLegalUTF8Ě	IsLegalUTF8 := FALSE;Ş	srcptr := source+length;╣	<IF length = 4 OR length = 3 OR length = 2 OR length = 1 THEN║	Standard, * (System)╗		IF length = 4 THEN╝			srcptr := srcptr - 1;Ż			a := srcptr^;ż	"		IF (a < 16#80 OR a > 16#BF) THEN┐	
-			RETURN;└			length := 3;┴		IF length = 3 THEN┬			length := 2;├		IF length = 2 THEN─			IF (a > 16#BF) THEN┼			Ă			CASE (source^) OFă	-			(* no fall-through in this inner switch *)╚	
-			16#E0: ╔					IF (a < 16#A0) THEN╩	
					RETURN; ╦	
-				END_IFÌ				16#ED:  Í					IF (a > 16#9F) THENÎ				16#F0:  Ï					IF (a < 16#90) THENÐ				16#F4:  Ñ					IF (a > 16#8F) THENÒ				IF (a < 16#80) THENÓ					RETURN;Ô	
-		END_CASEÕ			length := 1;Ö	
IF i > 0 THEN×		IF length = 1 THENØ	82Ù	83Ú	0		IF (source^ >= 16#80 AND source^ < 16#C2) THENÛ		iSizeIn : INT; // Site of 'in'Ü	84Ý	-FUNCTION_BLOCK HttpClient EXTENDS CBM.ETrigToÞ	IF (source^ > 16#F4) THENß	IsLegalUTF8 := TRUE;à	FUNCTION IsLegalUTF8 : BOOLá	 	source : POINTER TO BYTE;â		length : INT;ã	
-	a : BYTE;ä		srcptr : POINTER TO BYTE;å	85æ		_pbContent := ADR(_sContent);ç	86è	S	g_udiMaxRequestSize : UDINT := 16000; // Maximum size of the http request in btyesé	87ê					ë	88ì	U	g_udiMaxResponseSize : UDINT := 16000; // Maximum size of the http response in bytesí	89î	8Aï		iSizeOut := i2;ð	8Bñ	FUNCTION_BLOCK BASE64_ENCODEò	
BASE64_ENCODEó	8Cô	8Dõ	[	BASE64: WSTRING(64) := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";ö		STR : WSTRING(64);÷	8Eø	8Fù	90ú	91û	.IF pos < 1 OR pos > Stu.StrLenW(ADR(str)) THENü	92ý	93þ	$a55ea3a1-815e-496e-9e08-640e32996a94ÿ	$9473f21a-95d1-4701-864f-5fd3e64e9516€
-Param
-94‚
-95ƒ
-97„
-98…
-99†
-8	i3 := i2 + UINT_TO_INT((NOT INT_TO_WORD(i2) AND 2#11));‡
-9Ał
-9BČ
-9CŠ
- 	gc_wsBLANK : WSTRING(1) := " ";‹
-6	in 		: POINTER TO WORD; // Input: Pointer to WSTRING Œ
-9D
- 	gc_wsLF	: WSTRING(2) :=	"$R$N";Ž
-	IF _tcp_read.xReady THEN		
-7	out 	: POINTER TO WORD; // Output: Pointer to WSTRING 
-96‘
-9E’
-7	gc_wsContentLength	: WSTRING(15) := "Content-Length:";“
-9F”
-A0•
-A1–
-// Base 64 encoder—
-A2˜
-A3™
-A4š
-=	gc_wsChunked		: WSTRING(26) := "Transfer-Encoding: chunked";›
-A5œ
-A6
-A7ž
-33Ÿ
-A8 
-A9¡
-AA˘
-ABŁ
-ACĄ
-// Find HTTP status¥
-	diTemp1 : DINT;¦
-	diTemp2 : DINT;§
-]diTemp1 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsBLANK), uiSearchStart := 0);¨
-ADİ
-AEŠ
-š	ConvertUTF16toUTF8(sourceStart := ADR(_wsRequest), targetStart := ADR(_abRequest), dwTargetBufferSize := SIZEOF(_abRequest), bStrictConversion := FALSE);«
-				iPosition := 1,¬
-AF­
-B0®
-¦	_tcp_write(xExecute := _tcp_client.xActive, hConnection := _tcp_client.hConnection, szSize := DINT_TO_UDINT(Stu.StrLenA(ADR(_abRequest))), pData := ADR(_abRequest));¯
-B1°
-	xIsChunked : BOOL;±
-B2²
-B3³
-B4´
-B5µ
-B6¶
-IF xIsChunked THENĚ
-B7¸
-F	pwsAdditionalHeader		: POINTER TO WSTRING; // Additional HTTP header	¹
-B8º
-B9»
-BAź
-7	pwsPostValue			: POINTER TO WSTRING; // Post parameter½
-BB¾
-BC¿
-BDĄ
-,				uiInputBufferSize := SIZEOF(wsContent), Á
-	wsContentLength		: WSTRING(5);Â
-BEĆ
--ELSIF eRequestType = REQUEST_TYPE.DELETE THENÄ
-+ELSIF eRequestType = REQUEST_TYPE.HEAD THENÅ
-*ELSIF eRequestType = REQUEST_TYPE.PUT THENĘ
-BF«
-	url.uiPort := 80;È
-%Stu.StrMidW(	pwst := ADR(wsContent), É
-140Ê
-C0Ë
-C1Ì
-!	wsBlank				: WSTRING(1) 	:= " ";Í
-
// Find '://'Î
-	wsType := "DELETE";Ï
-	wsType := "";Ð
-C2Ñ
-	wsType := "HEAD";Ò
-	wsType := "PUT";Ó
-C3Ô
-+ELSIF eRequestType = REQUEST_TYPE.POST THENŐ
-<	wsType				: WSTRING(6); // Type of the request: GET or POSTÍ
-C4×
-C5Ø
-C6Ù
-C7Ú
-C8Û
-	// Set protocol			Ü
-C9Ý
-CAř
-udiTemp2 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsBLANK), uiSearchStart := DINT_TO_UINT(diTemp1 + 1));ß
-CBà
-_eState := STATE.IDLE;á
-CCâ
-CDă
-/				iLength := DINT_TO_INT(diTemp2 - diTemp1), ä
-// Find path start '/'å
-*	wsOut					: WSTRING(g_udiMaxRequestSize);æ
-CEÁ
-KIF eRequestType = REQUEST_TYPE.POST OR eRequestType = REQUEST_TYPE.PUT THENč
-CFé
-METHOD CreateRequestê
-D0ë
-D1ì
-'				iPosition := DINT_TO_INT(diTemp1), í
-D2î
-)					pwstResult := ADR(wsContentLength), ï
-4					uiResultBufferSize := SIZEOF(wsContentLength));ð
-.	wsHTTPVersion		: WSTRING(12) 	:= " HTTP/1.1";ñ
-D3ò
-D4ó
-D5ô
-D6õ
-D7ö
-D8÷
-D9ø
-	wsStatus : WSTRING(4);ù
-DAś
-!				pwstResult := ADR(wsStatus), û
-,				uiResultBufferSize := SIZEOF(wsStatus));ü
-;	wsHTTPContetntLength	: WSTRING(17) 	:= "Content-Length: ";ý
-DBț
-DC˙
-)	wsHTTPHost 			: WSTRING(9) 	:= "Host: ";€DDDE‚.					pwstResult := ADR(httpResult.wsContent), ƒ9					uiResultBufferSize := SIZEOF(httpResult.wsContent));„DF…9					iLength := DINT_TO_INT(httpResult.diContentLength), †wsOut := "";‡	wsType := "GET";ˆE0‰(					iPosition := DINT_TO_INT(diTemp1), Š/httpResult.iStatus := WSTRING_TO_INT(wsStatus);‹	wsType := "POST";ŒE1E2ŽE3E4E5‘E6’*	gc_wsDoubleLF	: WSTRING(4) :=	"$R$N$R$N";“// HTTPClient parameters”{	CreateRequest(url := _url, pwsAdditionalHeader := pwsAdditionalHeader, pwsPostValue := pwsPostValue, wsOut := _wsRequest);•// Find header–E7—8	_abRequest 				: ARRAY[0..g_udiMaxRequestSize] OF BYTE;˜E8™E9š"IF diTemp1 < 1 OR diTemp2 < 1 THEN›EAœ	IF diTemp2 < 1 THENEBžECŸED EE¡EF¢F0£F1€194¥	// set portŠF2§	// set domainšF3©	// set pathªF4«				iLength := i - 1,¬F5­F6®F7¯,				pwstResult := ADR(httpResult.wsHeader), °7				uiResultBufferSize := SIZEOF(httpResult.wsHeader));±F8²F9³FAŽFBµFC¶FD·FEžFF¹100º101»102Œ103œ104Ÿ‘	IF (eRequestType = REQUEST_TYPE.POST OR eRequestType = REQUEST_TYPE.PUT) AND (pwsPostValue = 0 OR Stu.StrLenW(pstData := pwsPostValue) = 0) THEN¿105ÀP	wsProtocol	: WSTRING(5); 	// Protocol e.g. http, NOTE: ONLY HTTP IS SUPPORTED! Á106Â107Ã108Ä109Å10AÆ10BÇ10CÈ10DÉ10EÊ10FË%		iError := ERROR.MISSING_POST_VALUE;Ì!		iError := ERROR.TCP_INIT_ERROR;Í110Î"		iError := ERROR.TCP_WRITE_ERROR;Ï!		iError := ERROR.TCP_READ_ERROR;Ð111Ñ	TIME_OUT := 1, // Time outÒ112Ó113Ô114Õ115Ö116×117Ø118Ù119Ú+	UNEXPECTED_ERROR := 2, // Unexpected errorÛeError := iError;Ü11AÝ11BÞ11Cß11Dà11Eá11Fâ-	wsUrl		: WSTRING(1024);	// The url as stringã	wsTemp		: WSTRING(1024);ä	wsPort		: WSTRING(6);å120æ121ç122è123éIF url.wsPath = "" THENê124ë125ì126í127î	wsDel		: WSTRING(3) := "://";ï	_pwsIn 	: POINTER TO WORD;ð	_pwsOut 	: POINTER TO WORD;ñ128ò129ó	url.wsPath := "/";ô	wsPortDel	: WSTRING(1) := ":";õ12Aö!	wsPathStart	: WSTRING(1) := "/";÷12Bø12Cù12Dú(				uiInputBufferSize := SIZEOF(wsTemp),û1				uiResultBufferSize := SIZEOF(url.wsDomain));	ü12Eý12Fþ$				pwstResult := ADR(url.wsDomain),ÿ130€*				uiResultBufferSize := SIZEOF(wsPort));131‚				pwstResult := ADR(wsPort),ƒ	url.wsDomain := wsTemp;„+	url.uiPort := WSTRING_TO_UINT(wsPort);				…<	TCP_INIT_ERROR := 3, // Unable to initialize the TCP socket†Si := Stu.StrFindW(pst1 := ADR(wsTemp), pst2 := ADR(wsPortDel), uiSearchStart := 1);‡132ˆA		ParseResult(wsContent := _wsContent, httpResult := httpResult);‰133Š134‹135Œ136137Ž138
_pwsIn := in;139‘_pwsOut := out;’	b := SHL(b,8) OR _pwsIn^;“13A”rdiTemp1 := Stu.StrFindW(pst1 := ADR(wsContent), pst2 := ADR(gc_wsLF), uiSearchStart := DINT_TO_UINT(diTemp2 + 1));•4// Functionblock to send http GET and POST requests.–!	_pwsIn := _pwsIn + SIZEOF(WORD);—5		_pwsOut^ := CODE(BASE64,WORD_TO_INT(SHR(b,a)) + 1);˜13B™$		_pwsOut := _pwsOut + SIZEOF(WORD);š8	_pwsOut^ := CODE(BASE64,WORD_TO_INT(SHL(b,6 - a)) + 1);›13Cœ#	_pwsOut := _pwsOut + SIZEOF(WORD);		_pwsOut^ := 61;ž13DŸ// Converts a string to an url. 13E¡202¢,	PT := ADR(STR) + INT_TO_DWORD(pos - 1) * 2;£13F€5	TCP_READ_ERROR := 4, // Error while reading response¥3	_IPAddr.sAddr := WSTRING_TO_STRING(_url.wsDomain);Š141§142š143©144ª145«146¬147­148®149¯14A°	url			: URL; // The URL struct±19²14B³14CŽ14Dµ14E¶14F·150ž151¹	o := _pwsIn^;º%		_pwsOut^ := WORD_TO_BYTE(SHR(b,a));»9	TCP_WRITE_ERROR := 5, // Error while sending the requestŒ>				iPosition := i + DINT_TO_INT(Stu.StrLenW(ADR(wsPortDel))),œ152Ÿ[				iLength := DINT_TO_INT(Stu.StrLenW(ADR(wsTemp)) - i - Stu.StrLenW(ADR(wsPortDel))) + 1,¿153À154Á155Â(	uiPort		: UINT;			// Port of the serverÃ156Ä157Å158Æ// URL structureÇ159È15AÉ15BÊ15CË15DÌ15EÍNi := Stu.StrFindW(pst1 := ADR(wsUrl), pst2 := ADR(wsDel), uiSearchStart := 1);Î15FÏ160Ð161Ñ'				uiInputBufferSize := SIZEOF(wsUrl),Ò162Ó163Ô164Õ165Ö*				uiResultBufferSize := SIZEOF(wsTemp));× 	Stu.StrMidW(pwst := ADR(wsUrl),Ø				pwstResult := ADR(wsTemp),Ù)	ParseResult := ERROR.RESULT_PARSE_ERROR;Ú166Û167Ü168Ý169Þ16Aß16Bà16Cá16Dâ16EãUtil, * (System)äUtilå$3196b2de-4e98-412f-bc18-4f7341962a4dæ	Functionsç16Fè170é171êc				iLength := DINT_TO_INT(Stu.StrLenW(ADR(wsUrl))) - i - DINT_TO_INT(Stu.StrLenW(ADR(wsDel))) + 1,ë172ì173í174î;				iPosition := i +  DINT_TO_INT(Stu.StrLenW(ADR(wsDel))),ï175ðD	MISSING_POST_VALUE := 6, // Current request type needs a post valueñ&				pwstResult := ADR(url.wsProtocol),ò2				uiResultBufferSize := SIZEOF(url.wsProtocol));ó176ô177õ	url.wsProtocol := "http";ö178÷	wsTemp := wsUrl;ø179ù17Aú17BûUi := Stu.StrFindW(pst1 := ADR(wsTemp), pst2 := ADR(wsPathStart), uiSearchStart := 1);ü17Cý17Dþ17Eÿ!	Stu.StrMidW(pwst := ADR(wsTemp),€
17F
180‚
181ƒ
182„
183…
184†
185‡
186ˆ
187‰
"				pwstResult := ADR(url.wsPath),Š
/				uiResultBufferSize := SIZEOF(url.wsPath));	‹
188Œ
f				iLength := DINT_TO_INT(Stu.StrLenW(ADR(wsTemp))) - i + DINT_TO_INT(Stu.StrLenW(ADR(wsPathStart))),
D				iPosition := i + DINT_TO_INT(Stu.StrLenW(ADR(wsPathStart))) - 1,Ž
189
-				uiResultBufferSize := SIZEOF(wsTemp));			
18A‘
<	RESULT_PARSE_ERROR := 7 // Error while parsing the response’
	url.wsPath := "";“
18B”
18C•
18D–
18E—
18F˜
'	wsLF				: WSTRING(2) 	:= "$000D$000A";™
190š
191›
192œ
193
195ž
196Ÿ
197 
198¡
	GET := 0, // http GET¢
199£
2	wsLF2				: WSTRING(4) 	:= "$000D$000A$000D$000A";€
19A¥
19BŠ
19C§
19Dš
19E©
19Fª
1A0«
1A1¬
4	POST := 1, // http POST (needs input pwsPostValue) ­
1A2®
1A3¯
1A4°
1A5±
	DELETE := 2, // http DELETE²
1A6³
1A7Ž
2	PUT := 3, // http PUT (needs input pwsPostValue) µ
1A8¶
1A9·
	HEAD := 4 // http HEADž
1AA¹
1ABº
1AC»
1ADŒ
/	_wsRequest 				: WSTRING(g_udiMaxRequestSize);œ
1AEŸ
1AF¿
297À
1B0Á
 	gc_wsHex	: WSTRING(3) :=	"16#";Â
1B1Ã
1B2Ä
"	wsContentLengthHex : WSTRING(20);Å
C	httpResult.diContentLength := WSTRING_TO_DINT(wsContentLengthHex);Æ
1B3Ç
1B4È
~	Stu.StrConcatW(pstFrom := ADR(wsContentLength), pstTo := ADR(wsContentLengthHex), iBufferSize := SIZEOF(wsContentLengthHex));É
1B5Ê
 	wsContentLengthHex := gc_wsHex;Ë
1B6Ì
1B7Í
1B8Î
ELSE	Ï
	// Get data lengthÐ
	// Copy contentÑ
1B9Ò
1BAÓ
16Ô
1BBÕ
1BCÖ
1BD×
1BEØ
1BFÙ
S	sContent				: STRING(g_udiMaxResponseSize); // The result of the request as STRINGÚ
1C0Û
1C1Ü
C	sHeader					: STRING(g_udiMaxHeaderSize); // http header as STRINGÝ
1C2Þ
1C3ß
1C4à
E	wsHeader				: WSTRING(g_udiMaxHeaderSize); // http header as WSTRINGá
1C5â
1C6ã
²ConvertUTF16toUTF8(sourceStart := ADR(httpResult.wsHeader), targetStart := ADR(httpResult.sHeader), dwTargetBufferSize := SIZEOF(httpResult.sHeader), bStrictConversion := FALSE);ä
µConvertUTF16toUTF8(sourceStart := ADR(httpResult.wsContent), targetStart := ADR(httpResult.sContent), dwTargetBufferSize := SIZEOF(httpResult.sContent), bStrictConversion := FALSE);å
 // Copy WSTRING to STRING valuesæ
1C7ç
1C8è
StringUtils, 3.5.9.0 (System)é
1C9ê
1CAë
1CBì
1CCí
1CDî
1CEï
1CFð
1D0ñ
1D1ò
1D2ó
1D3ô
1D4õ
1D5ö
E	pwsAdditionalHeader		: POINTER TO WSTRING; // Additional HTTP header÷
1D6ø
1D7ù
1D8ú
1D9û
1DAü
1DBý
1DCþ
1DDÿ
1DE€1DF1E0‚1E1ƒ1E2„1E3…1E4†1E5‡1E6ˆ1E7‰1E8Š1E9‹1EAŒ1EB1ECŽ1ED1EE1EF‘1F0’1F1“1F2”1F3•1F4–1F5—1F6˜1F7™1F8š1F9›1FAœ1FB1FCž1FDŸ1FE 1FF¡200¢201£203€204¥205Š206§207š208©7CAA Behaviour Model, 3.5.11.0 (CAA Technical Workgroup)ªStringUtils, 3.5.14.0 (System)ÿÿPK„|7Q*gï+&)6470a90f-b7cb-43ac-9ae5-94b2338b4573.metaPK„|7Q¶•yÄ0•&•+r6470a90f-b7cb-43ac-9ae5-94b2338b4573.objectPK„|7Q?Šª0,')ë•28ac1364-ebdc-49d9-8c8d-91b3df191afb.metaPK„|7Q‚&¿+^–28ac1364-ebdc-49d9-8c8d-91b3df191afb.objectPK„|7Q	綇50)Öb763d4ec-14ff-43e9-bbbd-c2d3a652e5e9.metaPK„|7Q‚&¿+?—b763d4ec-14ff-43e9-bbbd-c2d3a652e5e9.objectPK„|7Ql˜ä5:5)€—373bf815-4ae6-45d6-9154-db2fb90f8702.metaPK„|7QÍêʜºµ+%˜373bf815-4ae6-45d6-9154-db2fb90f8702.objectPK„|7QX×ÇÉ<7)(š0610289b-8851-4d53-9afc-657256c079f6.metaPK„|7Q€&Æ&ÈÃ+«š0610289b-8851-4d53-9afc-657256c079f6.objectPK„|7Q‰À‘72)Œ›e7b77198-76b5-4e20-bc6e-9f0b3d94c739.metaPK„|7Q‚&¿+:œe7b77198-76b5-4e20-bc6e-9f0b3d94c739.objectPK„|7Q*Íu-()Ÿœ735eabd6-b762-446a-9232-7e8b77b3ec05.metaPK„|7Q$…îü+735eabd6-b762-446a-9232-7e8b77b3ec05.objectPK„|7QzŽfÒ<7)sž3ec260e8-feaa-438b-a153-87d5901bc41e.metaPK„|7Q=/ä‘€Ÿ+öž3ec260e8-feaa-438b-a153-87d5901bc41e.objectPK„|7Q‡zŸ7/*)ãŸa63becff-d2d8-4c37-a0f8-a2ee7c533ed7.metaPK„|7Q”Û×¹|w+Y a63becff-d2d8-4c37-a0f8-a2ee7c533ed7.objectPK„|7Q+ûx72)¡1bfa06e5-4a2a-4369-a3d6-68ec39cdad4a.metaPK„|7Q‚&¿+œ¡1bfa06e5-4a2a-4369-a3d6-68ec39cdad4a.objectPK„|7QM£KD<7)¢b646309a-ad0e-4d73-9fe1-641cc72cd0de.metaPK„|7Q¹R“—˜“+„¢b646309a-ad0e-4d73-9fe1-641cc72cd0de.objectPK„|7Qyé•1,)e£0ce4a395-e620-4cbf-8bfa-0c5279f11931.metaPK„|7QàM<KLG+Ý£0ce4a395-e620-4cbf-8bfa-0c5279f11931.objectPK„|7Q²}3ñ/*)rš9e6f0414-1b1e-47d0-8ee6-4a7db6509a82.metaPK„|7QN]vC+èš9e6f0414-1b1e-47d0-8ee6-4a7db6509a82.objectPK„|7QE±Å„/*)H­d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0.metaPK„|7QúÊÚô|w+Ÿ­d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0.objectPK„|7QÓë
-1,)ƒ®f8a0ae55-89c9-47a8-921d-af9dd82bf821.metaPK„|7QQŒŸš+û®f8a0ae55-89c9-47a8-921d-af9dd82bf821.objectPK„|7QÏjç+&)ã²11c0fc3a-9bcf-4dd8-ac38-efb93363e521.metaPK„|7Q4-þ|+U³11c0fc3a-9bcf-4dd8-ac38-efb93363e521.objectPK„|7Qs4Íñ<7)¶5224bca0-df60-44a9-9b93-c7de4e0bc365.metaPK„|7Q¿·ÒÈÃ+¢¶5224bca0-df60-44a9-9b93-c7de4e0bc365.objectPK„|7Qy=M72)³·3196b2de-4e98-412f-bc18-4f7341962a4d.metaPK„|7Q‚&¿+1¸3196b2de-4e98-412f-bc18-4f7341962a4d.objectPK„|7Q2;6)–¸843242e4-284a-4e0b-8dfc-87ee2cb99857.metaPK„|7Q”)KF+¹843242e4-284a-4e0b-8dfc-87ee2cb99857.objectPK„|7Q±vV/*)¬»ef4ecb32-0ddc-483f-a6ec-1761efbe4da0.metaPK„|7Qý³°z+"¼ef4ecb32-0ddc-483f-a6ec-1761efbe4da0.objectPK„|7Qõ€è1,)ê¼b5cb69c7-6821-4d1a-a709-42cde67d1eb2.metaPK„|7QÏ!Q‹†+b½b5cb69c7-6821-4d1a-a709-42cde67d1eb2.objectPK„|7QcJ_61)6¾09a67062-6648-489f-893f-6313c819c85e.metaPK„|7Q‚&¿+³¾09a67062-6648-489f-893f-6313c819c85e.objectPK„|7Qç¬c;6)¿c4099788-f65f-485d-8712-5f8ccfad50ba.metaPK„|7Q*VXzu+š¿c4099788-f65f-485d-8712-5f8ccfad50ba.objectPK„|7Qlçˆ;6)]Âa02937c5-652e-4b3d-b48d-731b7a6b9a31.metaPK„|7Qo“V¶ÛÖ+ßÂa02937c5-652e-4b3d-b48d-731b7a6b9a31.objectPK„|7Q”,s¤;6)Æbde0bc31-b813-47f1-8ac0-d59c6c6fa39b.metaPK„|7Q;G‹=æá+…Æbde0bc31-b813-47f1-8ac0-d59c6c6fa39b.objectPK„|7Q",¿72)´Ç5cbf2273-92a3-408c-bb63-205c487a8a24.metaPK„|7Q‚&¿+2È5cbf2273-92a3-408c-bb63-205c487a8a24.objectPK„|7Q_@e<7)—Èe5bfdbe1-6c62-4716-8370-6fc9b969e08f.metaPK„|7Q` |ˆ+Ée5bfdbe1-6c62-4716-8370-6fc9b969e08f.objectPK„|7QRæÞ83)ðÉ83ef5a37-9384-44cd-a098-9655efdedf04.metaPK„|7Q‚&¿+oÊ83ef5a37-9384-44cd-a098-9655efdedf04.objectPK„|7Qå­¿`<7)ÔÊ9e1aaea0-0352-440e-b42f-5c4bce94faca.metaPK„|7Qέð+WË9e1aaea0-0352-440e-b42f-5c4bce94faca.objectPK„|7Qô‚û1<7)±Í0c892cf6-5871-4e80-a5f9-d8d9a6dc5040.metaPK„|7Qž•1ï+4Î0c892cf6-5871-4e80-a5f9-d8d9a6dc5040.objectPK„|7QÙàÏð<7)”Ó62da71d9-c483-45e3-8485-957b25ad5bfd.metaPK„|7Qúe„Ô¢+Ô62da71d9-c483-45e3-8485-957b25ad5bfd.objectPK„|7Qôñè<7)Úc9744904-7570-4bd2-9d5a-635478747a24.metaPK„|7QaØ
/—’+…Úc9744904-7570-4bd2-9d5a-635478747a24.objectPK„|7Qæ#oÿ72)eÞa55ea3a1-815e-496e-9e08-640e32996a94.metaPK„|7Q‚&¿+ãÞa55ea3a1-815e-496e-9e08-640e32996a94.objectPK„|7QöSË0<7)Hß9473f21a-95d1-4701-864f-5fd3e64e9516.metaPK„|7Qʔ§Sid+Ëß9473f21a-95d1-4701-864f-5fd3e64e9516.objectPK„|7Q‰¬>FYT)}à8f035435-f1d3-4f21-b662-55938aacf89c.metaPK„|7Q¡õ8Sûö+á8f035435-f1d3-4f21-b662-55938aacf89c.objectPK„|7QýN:5)aã4a3aa39f-2014-4f7b-a5c1-44706967bc50.metaPK„|7Q¥ž:T¯ª+âã4a3aa39f-2014-4f7b-a5c1-44706967bc50.objectPK„|7Q@éÁP1,)Úä61fa1e5b-d507-41d9-9969-a4f59d50e7ff.metaPK„|7Q^§˜2fa+Rå61fa1e5b-d507-41d9-9969-a4f59d50e7ff.objectPK„|7QIö­:5)ê0cd0b239-ce77-4e97-807f-9b4db6b5600e.metaPK„|7QÉ'€äŒ‡+‚ê0cd0b239-ce77-4e97-807f-9b4db6b5600e.objectPK„|7Qúª„Õ)Ð)NWëpoolcontext.pool.00000000-0000-0000-0000-000000000000.precompileinfo.auxiliaryPK„|7QYk`mh.˜__shared_data_storage_schema_table__.auxiliaryPK„|7QÓ«»âb] Qmissingtypeinformation.auxiliaryPK„|7Q·)MH>ñ)svn_versioninfo_70ed84c2_b1ab_4f94_95a2_3b5d6c741742.auxiliaryPK„|7Q©½o¯^YPš-applicationcontext.e0c003b2-1edd-477a-9148-e4b7c6a4e203.precompileinfo.auxiliaryPK„|7Q
†ŒÙ-Ô-f?profile.auxiliaryPK„|7Qӏ&9o!j!nmprofile7.auxiliaryPK„|7Q8õ^ðëI
logging_project_categories_693fffc3-578c-4dcc-8258-6800165cf1c4.auxiliaryPK„|7QnöÖõ¯ë¯.d__shared_data_storage_string_table__.auxiliaryPKUU‚¥@#Automatically generated by CoDeSys.
\ No newline at end of file
+ÚµúÕ_Ø
ÿÿÿÿÄ¡´úÕ_ØÿÿÿÿÄ¡´úÕ_ØÿÿÿÿÑÈ´úÕ_Ø34ÿÿÿÿÿ‹µúÕ_Ø78ÿÿÿÿ³µúÕ_ØLj³*{e`ØM
+PK6E8Q8õ^ðëIlogging_project_categories_693fffc3-578c-4dcc-8258-6800165cf1c4.auxiliaryëÿ!0…jüoº&4o	rhý¹System.StringL{426762b5-d352-4b9f-880f-4df0e0d915e0}Categories8System.Collections.ArrayListÐPK6E8Q*gï+&)6470a90f-b7cb-43ac-9ae5-94b2338b4573.metaPK6E8Q¶•yÄ0•&•+r6470a90f-b7cb-43ac-9ae5-94b2338b4573.objectPK6E8Q?¦ª0,')ë•28ac1364-ebdc-49d9-8c8d-91b3df191afb.metaPK6E8Q‚&¿+^–28ac1364-ebdc-49d9-8c8d-91b3df191afb.objectPK6E8Q	綇50)Öb763d4ec-14ff-43e9-bbbd-c2d3a652e5e9.metaPK6E8Q‚&¿+?—b763d4ec-14ff-43e9-bbbd-c2d3a652e5e9.objectPK6E8Ql˜ä5:5)¤—373bf815-4ae6-45d6-9154-db2fb90f8702.metaPK6E8QÍêʜºµ+%˜373bf815-4ae6-45d6-9154-db2fb90f8702.objectPK6E8QX×ÇÉ<7)(š0610289b-8851-4d53-9afc-657256c079f6.metaPK6E8Q€&Æ&ÈÃ+«š0610289b-8851-4d53-9afc-657256c079f6.objectPK6E8Q‰À‘72)¼›e7b77198-76b5-4e20-bc6e-9f0b3d94c739.metaPK6E8Q‚&¿+:œe7b77198-76b5-4e20-bc6e-9f0b3d94c739.objectPK6E8Q*Íu-()Ÿœ735eabd6-b762-446a-9232-7e8b77b3ec05.metaPK6E8Q$…îü+735eabd6-b762-446a-9232-7e8b77b3ec05.objectPK6E8QzŽfÒ<7)sž3ec260e8-feaa-438b-a153-87d5901bc41e.metaPK6E8Q=/䑤Ÿ+öž3ec260e8-feaa-438b-a153-87d5901bc41e.objectPK6E8Q‡zŸ7/*)ãŸa63becff-d2d8-4c37-a0f8-a2ee7c533ed7.metaPK6E8Q”Û×¹|w+Y a63becff-d2d8-4c37-a0f8-a2ee7c533ed7.objectPK6E8Q+ûx72)¡1bfa06e5-4a2a-4369-a3d6-68ec39cdad4a.metaPK6E8Q‚&¿+œ¡1bfa06e5-4a2a-4369-a3d6-68ec39cdad4a.objectPK6E8QM£KD<7)¢b646309a-ad0e-4d73-9fe1-641cc72cd0de.metaPK6E8Q¹R“—˜“+„¢b646309a-ad0e-4d73-9fe1-641cc72cd0de.objectPK6E8Qyé•1,)e£0ce4a395-e620-4cbf-8bfa-0c5279f11931.metaPK6E8QàM<KLG+Ý£0ce4a395-e620-4cbf-8bfa-0c5279f11931.objectPK6E8Q²}3ñ/*)r¨9e6f0414-1b1e-47d0-8ee6-4a7db6509a82.metaPK6E8QN]vC+è¨9e6f0414-1b1e-47d0-8ee6-4a7db6509a82.objectPK6E8QE±Å„/*)H­d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0.metaPK6E8QúÊÚô|w+¾­d3e186f7-1830-4f30-a9ca-49ff3c6b1cf0.objectPK6E8QÓë
+1,)ƒ®f8a0ae55-89c9-47a8-921d-af9dd82bf821.metaPK6E8QQŒŸš+û®f8a0ae55-89c9-47a8-921d-af9dd82bf821.objectPK6E8QÏjç+&)ã²11c0fc3a-9bcf-4dd8-ac38-efb93363e521.metaPK6E8Q4-þ|+U³11c0fc3a-9bcf-4dd8-ac38-efb93363e521.objectPK6E8Qs4Íñ<7)¶5224bca0-df60-44a9-9b93-c7de4e0bc365.metaPK6E8Q¿·ÒÈÃ+¢¶5224bca0-df60-44a9-9b93-c7de4e0bc365.objectPK6E8Qy=M72)³·3196b2de-4e98-412f-bc18-4f7341962a4d.metaPK6E8Q‚&¿+1¸3196b2de-4e98-412f-bc18-4f7341962a4d.objectPK6E8Q2;6)–¸843242e4-284a-4e0b-8dfc-87ee2cb99857.metaPK6E8Q”)KF+¹843242e4-284a-4e0b-8dfc-87ee2cb99857.objectPK6E8Q±vV/*)¬»ef4ecb32-0ddc-483f-a6ec-1761efbe4da0.metaPK6E8Qý³°z+"¼ef4ecb32-0ddc-483f-a6ec-1761efbe4da0.objectPK6E8Qõ€è1,)ê¼b5cb69c7-6821-4d1a-a709-42cde67d1eb2.metaPK6E8QÏ!Q‹†+b½b5cb69c7-6821-4d1a-a709-42cde67d1eb2.objectPK6E8QcJ_61)6¾09a67062-6648-489f-893f-6313c819c85e.metaPK6E8Q‚&¿+³¾09a67062-6648-489f-893f-6313c819c85e.objectPK6E8Qç¬c;6)¿c4099788-f65f-485d-8712-5f8ccfad50ba.metaPK6E8Q*VXzu+š¿c4099788-f65f-485d-8712-5f8ccfad50ba.objectPK6E8Qlçˆ;6)]Âa02937c5-652e-4b3d-b48d-731b7a6b9a31.metaPK6E8Qo“V¶ÛÖ+ßÂa02937c5-652e-4b3d-b48d-731b7a6b9a31.objectPK6E8Q”,s¤;6)Æbde0bc31-b813-47f1-8ac0-d59c6c6fa39b.metaPK6E8Q;G‹=æá+…Æbde0bc31-b813-47f1-8ac0-d59c6c6fa39b.objectPK6E8Q",¿72)´Ç5cbf2273-92a3-408c-bb63-205c487a8a24.metaPK6E8Q‚&¿+2È5cbf2273-92a3-408c-bb63-205c487a8a24.objectPK6E8Q_@e<7)—Èe5bfdbe1-6c62-4716-8370-6fc9b969e08f.metaPK6E8Q` |ˆ+Ée5bfdbe1-6c62-4716-8370-6fc9b969e08f.objectPK6E8QRæÞ83)ðÉ83ef5a37-9384-44cd-a098-9655efdedf04.metaPK6E8Q‚&¿+oÊ83ef5a37-9384-44cd-a098-9655efdedf04.objectPK6E8Qå­¿`<7)ÔÊ9e1aaea0-0352-440e-b42f-5c4bce94faca.metaPK6E8Qέð+WË9e1aaea0-0352-440e-b42f-5c4bce94faca.objectPK6E8Qô‚û1<7)±Í0c892cf6-5871-4e80-a5f9-d8d9a6dc5040.metaPK6E8Qž•1ï+4Î0c892cf6-5871-4e80-a5f9-d8d9a6dc5040.objectPK6E8QÙàÏð<7)”Ó62da71d9-c483-45e3-8485-957b25ad5bfd.metaPK6E8Qúe„Ô¢+Ô62da71d9-c483-45e3-8485-957b25ad5bfd.objectPK6E8Qôñè<7)Úc9744904-7570-4bd2-9d5a-635478747a24.metaPK6E8QaØ
/—’+…Úc9744904-7570-4bd2-9d5a-635478747a24.objectPK6E8Qæ#oÿ72)eÞa55ea3a1-815e-496e-9e08-640e32996a94.metaPK6E8Q‚&¿+ãÞa55ea3a1-815e-496e-9e08-640e32996a94.objectPK6E8QöSË0<7)Hß9473f21a-95d1-4701-864f-5fd3e64e9516.metaPK6E8Qʔ§Sid+Ëß9473f21a-95d1-4701-864f-5fd3e64e9516.objectPK6E8Q‰¬>FYT)}à8f035435-f1d3-4f21-b662-55938aacf89c.metaPK6E8Q¡õ8Sûö+á8f035435-f1d3-4f21-b662-55938aacf89c.objectPK6E8QýN:5)aã4a3aa39f-2014-4f7b-a5c1-44706967bc50.metaPK6E8Q¥ž:T¯ª+âã4a3aa39f-2014-4f7b-a5c1-44706967bc50.objectPK6E8Q@éÁP1,)Úä61fa1e5b-d507-41d9-9969-a4f59d50e7ff.metaPK6E8Q^§˜2fa+Rå61fa1e5b-d507-41d9-9969-a4f59d50e7ff.objectPK6E8QIö­:5)ê0cd0b239-ce77-4e97-807f-9b4db6b5600e.metaPK6E8QÉ'€äŒ‡+‚ê0cd0b239-ce77-4e97-807f-9b4db6b5600e.objectPK6E8Q¡ÿï?-()Wë0f1c31b0-aa04-4eea-8e92-d68f6cfa22ce.metaPK6E8Q²‰Lôï+Ëë0f1c31b0-aa04-4eea-8e92-d68f6cfa22ce.objectPK6E8Q“!U.))ñd943a327-697f-4720-8a72-e00dc004724d.metaPK6E8Q„3Յ+}ñd943a327-697f-4720-8a72-e00dc004724d.objectPK6E8QÚ,ð‡‚.ãñ__shared_data_storage_schema_table__.auxiliaryPK6E8QRð½°³°.¶ú__shared_data_storage_string_table__.auxiliaryPK6E8Q—T%»ÒÍ ¿«missingtypeinformation.auxiliaryPK6E8Q·)MH>Ï»svn_versioninfo_70ed84c2_b1ab_4f94_95a2_3b5d6c741742.auxiliaryPK6E8QöòU—£*ž*Nx¿poolcontext.pool.00000000-0000-0000-0000-000000000000.precompileinfo.auxiliaryPK6E8Q
†ŒÙ-Ô-‡êprofile.auxiliaryPK6E8QPºù¦o!j!profile7.auxiliaryPK6E8QÀRHŠ^YP.:applicationcontext.e0c003b2-1edd-477a-9148-e4b7c6a4e203.precompileinfo.auxiliaryPK6E8Q8õ^ðëIúKlogging_project_categories_693fffc3-578c-4dcc-8258-6800165cf1c4.auxiliaryPKYYâQM#Automatically generated by CoDeSys.
\ No newline at end of file