[PATCH] Clickatell
"Lamasuta, Franck, Vodafone Automotive" <[email protected]> Mon, 1 Jul 2019 17:10:20 +0000
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <AM0PR05MB5874C503141A48C1546B176784F90@AM0PR05MB5874.eurprd05.prod.outlook.com> |
--_004_AM0PR05MB5874C503141A48C1546B176784F90AM0PR05MB5874eurp_
Content-Type: multipart/alternative;
boundary="_000_AM0PR05MB5874C503141A48C1546B176784F90AM0PR05MB5874eurp_"
--_000_AM0PR05MB5874C503141A48C1546B176784F90AM0PR05MB5874eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Hi list,
Here is a patch to improve Clickatell HTTP API support: https://archive.cli=
ckatell.com/developers/api-docs/http-overview/
The patch was required to send MT-SMS to US customers (two-way number).
Main changes:
- Better support of Clickatell HTTP API (Developer's Central): from, mo, va=
lidity and callback parameters
- Better DLR and error management
Minor changes:
- Removed useless struct field (conndata->proxy)
- Fixed code indentation
- Removed tabs in cfg.def
- User guide: Fixed invalid character entities (ä and ) + Fixed =
literals (& and >)
Regards,
Franck
--_000_AM0PR05MB5874C503141A48C1546B176784F90AM0PR05MB5874eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.EmailStyle19
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi list,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">Here is a patch to improve Clickatell HTTP API suppo=
rt: <a href=3D"https://archive.clickatell.com/developers/api-docs/http-over=
view/">
https://archive.clickatell.com/developers/api-docs/http-overview/</a><o:p><=
/o:p></p>
<p class=3D"MsoNormal">The patch was required to send MT-SMS to US customer=
s (two-way number).<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">Main changes:<o:p></o:p></p>
<p class=3D"MsoNormal">- Better support of Clickatell HTTP API (Developer&#=
8217;s Central): from, mo, validity and callback parameters<o:p></o:p></p>
<p class=3D"MsoNormal">- Better DLR and error management<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">Minor changes:<o:p></o:p></p>
<p class=3D"MsoNormal">- Removed useless struct field (conndata->proxy)<=
o:p></o:p></p>
<p class=3D"MsoNormal">- Fixed code indentation<o:p></o:p></p>
<p class=3D"MsoNormal">- Removed tabs in cfg.def<o:p></o:p></p>
<p class=3D"MsoNormal">- User guide: Fixed invalid character entities (&=
;auml; and &nbsp;) + Fixed literals (& and >)<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">Regards,<o:p></o:p></p>
<p class=3D"MsoNormal">Franck<o:p></o:p></p>
</div>
</body>
</html>
--_000_AM0PR05MB5874C503141A48C1546B176784F90AM0PR05MB5874eurp_--
--_004_AM0PR05MB5874C503141A48C1546B176784F90AM0PR05MB5874eurp_
Content-Type: application/octet-stream; name="clickatell.patch"
Content-Description: clickatell.patch
Content-Disposition: attachment; filename="clickatell.patch"; size=14829;
creation-date="Mon, 01 Jul 2019 09:55:29 GMT";
modification-date="Mon, 01 Jul 2019 09:55:29 GMT"
Content-Transfer-Encoding: base64
SW5kZXg6IGRvYy91c2VyZ3VpZGUvdXNlcmd1aWRlLnhtbA0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGRvYy91
c2VyZ3VpZGUvdXNlcmd1aWRlLnhtbAkocmV2aXNpb24gNTI3NikNCisrKyBkb2MvdXNlcmd1aWRl
L3VzZXJndWlkZS54bWwJKHdvcmtpbmcgY29weSkNCkBAIC01NCw3ICs1NCw3IEBADQogCTwvYXV0
aG9yPgogCTxhdXRob3I+CiAJCTxmaXJzdG5hbWU+QWFybm88L2ZpcnN0bmFtZT4KLQkJPHN1cm5h
bWU+U3l2JmF1bWw7bmVuPC9zdXJuYW1lPgorCQk8c3VybmFtZT5TeXYmIzIyODtuZW48L3N1cm5h
bWU+CiAJCTxhZmZpbGlhdGlvbj4KIAkJCTxqb2J0aXRsZT5DaGllZiBNTVMgRGV2ZWxvcGVyPC9q
b2J0aXRsZT4KIAkJCTxvcmduYW1lPkdsb2JhbCBOZXR3b3JrcyBJbmMuPC9vcmduYW1lPgpAQCAt
NDY3MSw2ICs0NjcxLDE4IEBADQogICAgICAgIHJlcXVlc3RzLiBBcyBhIGd1aWRlbGluZSBpdCBp
cyByZWNvbW1lbmRlZCB0aGF0IG5vIG1vcmUgdGhhbgogICAgICAgIDEwIChkZWZhdWx0KSByZXF1
ZXN0cyBhcmUgb3V0c3RhbmRpbmcgYXQgYW55IHRpbWUuCiAgICAgPC9lbnRyeT48L3Jvdz4KKwor
ICAgPHJvdz48ZW50cnk+PGxpdGVyYWw+c3lzdGVtLWlkPC9saXRlcmFsPjwvZW50cnk+CisgICA8
ZW50cnk+PGxpdGVyYWw+c3RyaW5nPC9saXRlcmFsPjwvZW50cnk+CisgICA8ZW50cnkgdmFsaWdu
PSJib3R0b20iPgorICAgICAgQ2xpY2thdGVsbCBvbmx5OiBBUEkgaWQuCisgICA8L2VudHJ5Pjwv
cm93PgorCisgICA8cm93PjxlbnRyeT48bGl0ZXJhbD5tb2JpbGUtb3JpZ2luYXRlZDwvbGl0ZXJh
bD48L2VudHJ5PgorICAgPGVudHJ5PjxsaXRlcmFsPmludGVnZXI8L2xpdGVyYWw+PC9lbnRyeT4K
KyAgIDxlbnRyeSB2YWxpZ249ImJvdHRvbSI+CisgICAgICBDbGlja2F0ZWxsIG9ubHk6ICdtbycg
cGFyYW1ldGVyIHVzZWQgZm9yIGEgdHdvLXdheSBzZXJ2aWNlICgwIG9yIDEpLgorICAgPC9lbnRy
eT48L3Jvdz4KICAgIDwvdGJvZHk+PC90Z3JvdXA+PC9pbmZvcm1hbHRhYmxlPgogCiA8c2VjdDM+
CkBAIC01NDM2LDcgKzU0NDgsNyBAQA0KICAgIDwvcm93PgogCiAgICA8cm93PgotICAgIDxlbnRy
eSBzcGFubmFtZT0iZmVhdHVyZSI+Q29ycmVjdGx5IGVuY29kZXMgPGxpdGVyYWw+JmF1bWw7PC9s
aXRlcmFsPiB3aGVuIHNlbmRpbmc8L2VudHJ5PgorICAgIDxlbnRyeSBzcGFubmFtZT0iZmVhdHVy
ZSI+Q29ycmVjdGx5IGVuY29kZXMgPGxpdGVyYWw+JiMyMjg7PC9saXRlcmFsPiB3aGVuIHNlbmRp
bmc8L2VudHJ5PgogICAgPC9yb3c+CiAgICA8cm93PgogICAgIDxlbnRyeT48L2VudHJ5PgpAQCAt
NTQ5Myw3ICs1NTA1LDcgQEANCiAgICA8L3Jvdz4KIAogICAgPHJvdz4KLSAgICA8ZW50cnkgc3Bh
bm5hbWU9ImZlYXR1cmUiPkNhbiByZWNlaXZlIDxsaXRlcmFsPiZhdW1sOzwvbGl0ZXJhbD4gaW4g
dGV4dCBtZXNzYWdlczwvZW50cnk+CisgICAgPGVudHJ5IHNwYW5uYW1lPSJmZWF0dXJlIj5DYW4g
cmVjZWl2ZSA8bGl0ZXJhbD4mIzIyODs8L2xpdGVyYWw+IGluIHRleHQgbWVzc2FnZXM8L2VudHJ5
PgogICAgPC9yb3c+CiAgICA8cm93PgogICAgIDxlbnRyeT48L2VudHJ5PgpAQCAtNjQwNiw3ICs2
NDE4LDcgQEANCiAgICAgICAgIG1lYW5pbmc6IGl0IGlzIHVzZWQgdG8gc2VwYXJhdGUgbXVsdGlw
bGUgcGhvbmUgbnVtYmVycyBmcm9tCiAgICAgICAgIGVhY2ggb3RoZXIgaW4gbXVsdGktc2VuZC4g
VG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUsIGRvIG5vdCBoYXZlCiAgICAgICAgIGl0IGFzIGFuIGFj
Y2VwdGVkIGNoYXJhY3Rlci4gSWYgdGhpcyB2YXJpYWJsZSBpcwotICAgICAgICBub3Qgc2V0LCB0
aGUgZGVmYXVsdCBzZXQgPGxpdGVyYWw+IjAxMjM0NTY3ODkmbmJzcDsrLSI8L2xpdGVyYWw+IGlz
IHVzZWQuCisgICAgICAgIG5vdCBzZXQsIHRoZSBkZWZhdWx0IHNldCA8bGl0ZXJhbD4iMDEyMzQ1
Njc4OSYjMTYwOystIjwvbGl0ZXJhbD4gaXMgdXNlZC4KICAgICAgPC9lbnRyeT48L3Jvdz4KIAog
ICAgIDxyb3c+PGVudHJ5PjxsaXRlcmFsPmdsb2JhbC1zZW5kZXI8L2xpdGVyYWw+PC9lbnRyeT4K
QEAgLTEwODQzLDcgKzEwODU1LDcgQEANCiAgICAgICAgICAgICAgIGNyZWF0ZSA2NDAga2FubmVs
IGFkbQogICAgICAgICAgICAgICBzaGFyZWRzY3JpcHRzCiAgICAgICAgICAgICAgIHBvc3Ryb3Rh
dGUKLSAgICAgICAgICAgICAgICAgICAga2lsbGFsbCAtVVNSMiBiZWFyZXJib3ggJiYga2lsbGFs
bCAtSFVQIHNtc2JveCB3YXBib3ggfHwgdHJ1ZSA+IC9kZXYvbnVsbCAyPiAvZGV2L251bGwKKyAg
ICAgICAgICAgICAgICAgICAga2lsbGFsbCAtVVNSMiBiZWFyZXJib3ggJmFtcDsmYW1wOyBraWxs
YWxsIC1IVVAgc21zYm94IHdhcGJveCB8fCB0cnVlICZndDsgL2Rldi9udWxsIDImZ3Q7IC9kZXYv
bnVsbAogICAgICAgICAgICAgICBlbmRzY3JpcHQKICAgICAgICAgfQogICAgICAgICA8L3VzZXJp
bnB1dD48L3NjcmVlbj4KSW5kZXg6IGd3L3Ntc2MvaHR0cC9jbGlja2F0ZWxsLmMNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBndy9zbXNjL2h0dHAvY2xpY2thdGVsbC5jCShyZXZpc2lvbiA1Mjc2KQ0KKysrIGd3
L3Ntc2MvaHR0cC9jbGlja2F0ZWxsLmMJKHdvcmtpbmcgY29weSkNCkBAIC04MywxMCArODMsMjIg
QEANCiAgICAgTGlzdCAqaGVhZGVyczsKIAogICAgIC8qIGZvcm0gdGhlIGJhc2ljIFVSTCAqLwot
ICAgIHVybCA9IG9jdHN0cl9mb3JtYXQoIiVTL3NlbmRtc2c/dG89JUUmZnJvbT0lRSZhcGlfaWQ9
JUUmdXNlcj0lRSZwYXNzd29yZD0lRSIsCi0gICAgICAgIGNvbm5kYXRhLT5zZW5kX3VybCwgc21z
LT5zbXMucmVjZWl2ZXIsIHNtcy0+c21zLnNlbmRlciwKKyAgICB1cmwgPSBvY3RzdHJfZm9ybWF0
KCIlUy9zZW5kbXNnP3RvPSVFJmFwaV9pZD0lRSZ1c2VyPSVFJnBhc3N3b3JkPSVFIiwKKyAgICAg
ICAgY29ubmRhdGEtPnNlbmRfdXJsLCBzbXMtPnNtcy5yZWNlaXZlciwKICAgICAgICAgY29ubmRh
dGEtPnN5c3RlbV9pZCwgY29ubmRhdGEtPnVzZXJuYW1lLCBjb25uZGF0YS0+cGFzc3dvcmQpOwog
CisgICAgLyogYXBwZW5kICdmcm9tJyBwYXJhbWV0ZXIgKi8KKyAgICBpZiAoIWNvbm5kYXRhLT5u
b19zZW5kZXIpCisgICAgICAgIG9jdHN0cl9mb3JtYXRfYXBwZW5kKHVybCwgIiZmcm9tPSVFIiwg
c21zLT5zbXMuc2VuZGVyKTsKKworICAgIC8qIGFwcGVuZCAnbW8nIHBhcmFtZXRlciAqLworICAg
IGlmIChjb25uZGF0YS0+bW9iaWxlX29yaWdpbmF0ZWQpCisgICAgICAgIG9jdHN0cl9hcHBlbmRf
Y3N0cih1cmwsICImbW89MSIpOworCisgICAgLyogYXBwZW5kICd2YWxpZGl0eScgcGFyYW1ldGVy
ICovCisgICAgaWYgKHNtcy0+c21zLnZhbGlkaXR5ICE9IFNNU19QQVJBTV9VTkRFRklORUQpCisg
ICAgICAgIG9jdHN0cl9mb3JtYXRfYXBwZW5kKHVybCwgIiZ2YWxpZGl0eT0lbGQiLCAoc21zLT5z
bXMudmFsaWRpdHkgLSB0aW1lKE5VTEwpKSAvIDYwKTsKKwogICAgIC8qIGFwcGVuZCBNRDUgZGln
ZXN0IGFzIG1zZyBJRCBmcm9tIG91ciBVVUlEICovCiAgICAgdXVpZF91bnBhcnNlKHNtcy0+c21z
LmlkLCBpZCk7CiAgICAgb3MgPSBvY3RzdHJfY3JlYXRlKGlkKTsKQEAgLTk0LDkgKzEwNiw5IEBA
DQogICAgIG9jdHN0cl9mb3JtYXRfYXBwZW5kKHVybCwgIiZjbGlNc2dJZD0lRSIsIG9zKTsKICAg
ICBvY3RzdHJfZGVzdHJveShvcyk7CiAKLSAgICAvKiBhZGQgVURIIGhlYWRlciAqLworICAgIC8q
IGFwcGVuZCBVREggaGVhZGVyICovCiAgICAgaWYob2N0c3RyX2xlbihzbXMtPnNtcy51ZGhkYXRh
KSkgewotICAgIG9jdHN0cl9mb3JtYXRfYXBwZW5kKHVybCwgIiZ1ZGg9JUgiLCBzbXMtPnNtcy51
ZGhkYXRhKTsKKyAgICAgICAgb2N0c3RyX2Zvcm1hdF9hcHBlbmQodXJsLCAiJnVkaD0lSCIsIHNt
cy0+c21zLnVkaGRhdGEpOwogICAgIH0KIAogICAgIGlmKHNtcy0+c21zLmNvZGluZyA9PSBEQ184
QklUKSB7CkBAIC0xMTIsOCArMTI0LDE3IEBADQogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYg
KERMUl9JU19FTkFCTEVEX0RFVklDRShzbXMtPnNtcy5kbHJfbWFzaykpCi0gICAgb2N0c3RyX2Zv
cm1hdF9hcHBlbmQodXJsLCAiJmNhbGxiYWNrPTMmZGVsaXZfYWNrPTEiKTsKKyAgICAvKiBhcHBl
bmQgJ2NhbGxiYWNrJyBwYXJhbWV0ZXIgKi8KKyAgICBpZiAoRExSX0lTX0VOQUJMRURfREVWSUNF
KHNtcy0+c21zLmRscl9tYXNrKSkgeworICAgICAgICBpbnQgY2FsbGJhY2sgPSAwOworICAgICAg
ICBpZiAoc21zLT5zbXMuZGxyX21hc2sgJiBETFJfQlVGRkVSRUQpCisgICAgICAgICAgICBjYWxs
YmFjayB8PSAweDAxOworICAgICAgICBpZiAoc21zLT5zbXMuZGxyX21hc2sgJiAoRExSX1NVQ0NF
U1MgfCBETFJfRVhQSVJFRCkpCisgICAgICAgICAgICBjYWxsYmFjayB8PSAweDAyOworICAgICAg
ICBpZiAoc21zLT5zbXMuZGxyX21hc2sgJiBETFJfRkFJTCkKKyAgICAgICAgICAgIGNhbGxiYWNr
IHw9IDB4MDQ7CisgICAgICAgIG9jdHN0cl9mb3JtYXRfYXBwZW5kKHVybCwgIiZjYWxsYmFjaz0l
ZCIsIGNhbGxiYWNrKTsKKyAgICB9CiAKICAgICBoZWFkZXJzID0gaHR0cF9jcmVhdGVfZW1wdHlf
aGVhZGVycygpOwogICAgIGRlYnVnKCJzbXNjLmh0dHAuY2xpY2thdGVsbCIsIDAsICJIVFRQWyVz
XTogU2VuZGluZyByZXF1ZXN0IDwlcz4iLApAQCAtMjI3LDI4ICsyNDgsMjggQEANCiAgICAgICAg
ICAgb2N0c3RyX2dldF9jc3RyKGNvbm4tPmlkKSk7CiAKICAgICBpZiAoYXBpX2lkICE9IE5VTEwg
JiYgZnJvbSAhPSBOVUxMICYmIHRvICE9IE5VTEwgJiYgdGltZXN0YW1wICE9IE5VTEwgJiYgdGV4
dCAhPSBOVUxMICYmIGNoYXJzZXQgIT0gTlVMTCAmJiB1ZGggIT0gTlVMTCkgewotICAgIC8qIHdl
IHJlY2VpdmVkIGFuIE1PIG1lc3NhZ2UgKi8KLSAgICBkZWJ1Zygic21zYy5odHRwLmNsaWNrYXRl
bGwiLCAwLCAiSFRUUFslc106IFJlY2VpdmVkIE1PIG1lc3NhZ2UgZnJvbSAlczogPCVzPiIsCi0g
ICAgICAgICAgICBvY3RzdHJfZ2V0X2NzdHIoY29ubi0+aWQpLCBvY3RzdHJfZ2V0X2NzdHIoZnJv
bSksIG9jdHN0cl9nZXRfY3N0cih0ZXh0KSk7Ci0gICAgbW9tc2cgPSBtc2dfY3JlYXRlKHNtcyk7
Ci0gICAgbW9tc2ctPnNtcy5zbXNfdHlwZSA9IG1vOwotICAgIG1vbXNnLT5zbXMuc2VuZGVyID0g
b2N0c3RyX2R1cGxpY2F0ZShmcm9tKTsKLSAgICBtb21zZy0+c21zLnJlY2VpdmVyID0gb2N0c3Ry
X2R1cGxpY2F0ZSh0byk7Ci0gICAgbW9tc2ctPnNtcy5tc2dkYXRhID0gb2N0c3RyX2R1cGxpY2F0
ZSh0ZXh0KTsKLSAgICBtb21zZy0+c21zLmNoYXJzZXQgPSBvY3RzdHJfZHVwbGljYXRlKGNoYXJz
ZXQpOwotICAgIG1vbXNnLT5zbXMuc2VydmljZSA9IG9jdHN0cl9kdXBsaWNhdGUoYXBpX2lkKTsK
LSAgICBtb21zZy0+c21zLmJpbmZvID0gb2N0c3RyX2R1cGxpY2F0ZShhcGlfaWQpOwotICAgICAg
ICBtb21zZy0+c21zLnNtc2NfaWQgPSBvY3RzdHJfZHVwbGljYXRlKGNvbm4tPmlkKTsKLSAgICBp
ZiAob2N0c3RyX2xlbih1ZGgpID4gMCkgewotICAgICAgICBtb21zZy0+c21zLnVkaGRhdGEgPSBv
Y3RzdHJfZHVwbGljYXRlKHVkaCk7Ci0gICAgfQorICAgICAgICAvKiB3ZSByZWNlaXZlZCBhbiBN
TyBtZXNzYWdlICovCisgICAgICAgIGRlYnVnKCJzbXNjLmh0dHAuY2xpY2thdGVsbCIsIDAsICJI
VFRQWyVzXTogUmVjZWl2ZWQgTU8gbWVzc2FnZSBmcm9tICVzOiA8JXM+IiwKKyAgICAgICAgICAg
ICAgICBvY3RzdHJfZ2V0X2NzdHIoY29ubi0+aWQpLCBvY3RzdHJfZ2V0X2NzdHIoZnJvbSksIG9j
dHN0cl9nZXRfY3N0cih0ZXh0KSk7CisgICAgICAgIG1vbXNnID0gbXNnX2NyZWF0ZShzbXMpOwor
ICAgICAgICBtb21zZy0+c21zLnNtc190eXBlID0gbW87CisgICAgICAgIG1vbXNnLT5zbXMuc2Vu
ZGVyID0gb2N0c3RyX2R1cGxpY2F0ZShmcm9tKTsKKyAgICAgICAgbW9tc2ctPnNtcy5yZWNlaXZl
ciA9IG9jdHN0cl9kdXBsaWNhdGUodG8pOworICAgICAgICBtb21zZy0+c21zLm1zZ2RhdGEgPSBv
Y3RzdHJfZHVwbGljYXRlKHRleHQpOworICAgICAgICBtb21zZy0+c21zLmNoYXJzZXQgPSBvY3Rz
dHJfZHVwbGljYXRlKGNoYXJzZXQpOworICAgICAgICBtb21zZy0+c21zLnNlcnZpY2UgPSBvY3Rz
dHJfZHVwbGljYXRlKGFwaV9pZCk7CisgICAgICAgIG1vbXNnLT5zbXMuYmluZm8gPSBvY3RzdHJf
ZHVwbGljYXRlKGFwaV9pZCk7CisgICAgICAgICAgICBtb21zZy0+c21zLnNtc2NfaWQgPSBvY3Rz
dHJfZHVwbGljYXRlKGNvbm4tPmlkKTsKKyAgICAgICAgaWYgKG9jdHN0cl9sZW4odWRoKSA+IDAp
IHsKKyAgICAgICAgICAgIG1vbXNnLT5zbXMudWRoZGF0YSA9IG9jdHN0cl9kdXBsaWNhdGUodWRo
KTsKKyAgICAgICAgfQogICAgICAgICBzdHJwdGltZShvY3RzdHJfZ2V0X2NzdHIodGltZXN0YW1w
KSwgIiVZLSVtLSVkICVIOiVNOiVTIiwgJnRtKTsKICAgICAgICAgbW9tc2ctPnNtcy50aW1lID0g
Z3dfbWt0aW1lKCZ0bSk7CiAKLSAgICAvKiBub3RlOiBpbXBsaWNpdCBtc2dfZGVzdHJveSAqLwot
ICAgIHJldCA9IGJiX3Ntc2Njb25uX3JlY2VpdmUoY29ubiwgbW9tc2cpOworICAgICAgICAvKiBu
b3RlOiBpbXBsaWNpdCBtc2dfZGVzdHJveSAqLworICAgICAgICByZXQgPSBiYl9zbXNjY29ubl9y
ZWNlaXZlKGNvbm4sIG1vbXNnKTsKICAgICAgICAgaHR0cHN0YXR1cyA9IEhUVFBfT0s7Ci0gICAg
cmV0bXNnID0gb2N0c3RyX2NyZWF0ZSgiVGhhbmtzIik7CisgICAgICAgIHJldG1zZyA9IG9jdHN0
cl9jcmVhdGUoIlRoYW5rcyIpOwogICAgIH0gZWxzZSBpZiAoYXBpbXNnaWQgPT0gTlVMTCB8fCBz
dGF0dXMgPT0gTlVMTCB8fCB0aW1lc3RhbXAgPT0gTlVMTCB8fCBkZXN0ID09IE5VTEwpIHsKICAg
ICAgICAgZXJyb3IoMCwgIkhUVFBbJXNdOiBJbnN1ZmZpY2llbnQgYXJncy4iLAogICAgICAgICAg
ICAgICBvY3RzdHJfZ2V0X2NzdHIoY29ubi0+aWQpKTsKQEAgLTI1NSwyOCArMjc2LDM0IEBADQog
ICAgICAgICBodHRwc3RhdHVzID0gSFRUUF9PSzsKICAgICAgICAgcmV0bXNnID0gb2N0c3RyX2Ny
ZWF0ZSgiSW5zdWZmaWNpZW50IGFyZ3VtZW50cywgcmVqZWN0ZWQuIik7CiAgICAgfSBlbHNlIHsK
LSAgICBzd2l0Y2ggKGF0b2kob2N0c3RyX2dldF9jc3RyKHN0YXR1cykpKSB7Ci0gICAgY2FzZSAg
MTogLyogbWVzc2FnZSB1bmtub3duICovCi0gICAgY2FzZSAgNTogLyogZXJyb3Igd2l0aCBtZXNz
YWdlICovCi0gICAgY2FzZSAgNjogLyogdXNlciBjYW5jZWxsZWQgbWVzc2FnZSAqLwotICAgIGNh
c2UgIDc6IC8qIGVycm9yIGRlbGl2ZXJpbmcgbWVzc2FnZSAqLwotICAgIGNhc2UgIDk6IC8qIHJv
dXRpbmcgZXJyb3IgKi8KLSAgICBjYXNlIDEwOiAvKiBtZXNzYWdlIGV4cGlyZWQgKi8KLSAgICAg
ICAgZGxyc3RhdCA9IDI7IC8qIGRlbGl2ZXJ5IGZhaWx1cmUgKi8KLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSAgMjogLyogbWVzc2FnZSBxdWV1ZWQgKi8KLSAgICBjYXNlICAzOiAvKiBkZWxpdmVy
ZWQgKi8KLSAgICBjYXNlIDExOiAvKiBtZXNzYWdlIHF1ZXVlZCBmb3IgbGF0ZXIgZGVsaXZlcnkg
Ki8KLSAgICAgICAgZGxyc3RhdCA9IDQ7IC8qIG1lc3NhZ2UgYnVmZmVyZWQgKi8KLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSAgNDogLyogcmVjZWl2ZWQgYnkgcmVjaXBpZW50ICovCi0gICAgY2Fz
ZSAgODogLyogT0sgKi8KLSAgICAgICAgZGxyc3RhdCA9IDE7IC8qIG1lc3NhZ2UgcmVjZWl2ZWQg
Ki8KLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDogLyogdW5rbm93biBzdGF0dXMgY29kZSAq
LwotICAgICAgICBkbHJzdGF0ID0gMTY7IC8qIHNtc2MgcmVqZWN0ICovCi0gICAgICAgIGJyZWFr
OwotICAgIH0KKyAgICAgICAgLyogd2UgcmVjZWl2ZWQgYSBETFIgKi8KKyAgICAgICAgc3dpdGNo
IChhdG9pKG9jdHN0cl9nZXRfY3N0cihzdGF0dXMpKSkgeworICAgICAgICAgICAgY2FzZSAgMTog
LyogbWVzc2FnZSB1bmtub3duICovCisgICAgICAgICAgICBjYXNlICA1OiAvKiBlcnJvciB3aXRo
IG1lc3NhZ2UgKi8KKyAgICAgICAgICAgIGNhc2UgIDY6IC8qIHVzZXIgY2FuY2VsbGVkIG1lc3Nh
Z2UgKi8KKyAgICAgICAgICAgIGNhc2UgIDc6IC8qIGVycm9yIGRlbGl2ZXJpbmcgbWVzc2FnZSAq
LworICAgICAgICAgICAgY2FzZSAgOTogLyogcm91dGluZyBlcnJvciAqLworICAgICAgICAgICAg
Y2FzZSAxMjogLyogb3V0IG9mIGNyZWRpdCAqLworICAgICAgICAgICAgY2FzZSAxMzogLyogbWVz
c2FnZSBjYW5jZWxsZWQgYnkgQ2xpY2thdGVsbCAqLworICAgICAgICAgICAgY2FzZSAxNDogLyog
bWF4aW11bSBNVCBsaW1pdCBleGNlZWRlZCAqLworICAgICAgICAgICAgICAgIGRscnN0YXQgPSBE
TFJfRkFJTDsgLyogZGVsaXZlcnkgZmFpbHVyZSAqLworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgY2FzZSAxMDogLyogbWVzc2FnZSBleHBpcmVkICovCisgICAgICAgICAgICAg
ICAgZGxyc3RhdCA9IERMUl9FWFBJUkVEOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSAgMjogLyogbWVzc2FnZSBxdWV1ZWQgKi8KKyAgICAgICAgICAgIGNhc2UgIDM6
IC8qIGRlbGl2ZXJlZCB0byBnYXRld2F5ICovCisgICAgICAgICAgICBjYXNlIDExOiAvKiBtZXNz
YWdlIHF1ZXVlZCBmb3IgbGF0ZXIgZGVsaXZlcnkgKi8KKyAgICAgICAgICAgICAgICBkbHJzdGF0
ID0gRExSX0JVRkZFUkVEOyAvKiBtZXNzYWdlIGJ1ZmZlcmVkICovCisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlICA0OiAvKiByZWNlaXZlZCBieSByZWNpcGllbnQgKi8K
KyAgICAgICAgICAgIGNhc2UgIDg6IC8qIE9LICovCisgICAgICAgICAgICAgICAgZGxyc3RhdCA9
IERMUl9TVUNDRVNTOyAvKiBtZXNzYWdlIHJlY2VpdmVkICovCisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICBkZWZhdWx0OiAvKiB1bmtub3duIHN0YXR1cyBjb2RlICovCisgICAg
ICAgICAgICAgICAgZGxyc3RhdCA9IERMUl9VTktOT1dOOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CiAgICAgICAgIGRscm1zZyA9IGRscl9maW5kKGNvbm4tPmlkLAogICAgICAg
ICAgICAgYXBpbXNnaWQsIC8qIHNtc2MgbWVzc2FnZSBpZCAqLwogICAgICAgICAgICAgZGVzdCwg
LyogZGVzdGluYXRpb24gKi8KQEAgLTI4NSwxMiArMzEyLDEyIEBADQogICAgICAgICBpZiAoZGxy
bXNnICE9IE5VTEwpIHsKICAgICAgICAgICAgIC8qIGRscm1zZy0+c21zLm1zZ2RhdGEgPSBvY3Rz
dHJfZHVwbGljYXRlKGFwaW1zZ2lkKTsgKi8KICAgICAgICAgICAgIGRscm1zZy0+c21zLnNtc190
eXBlID0gcmVwb3J0X21vOwotICAgICAgICBkbHJtc2ctPnNtcy50aW1lID0gYXRvaShvY3RzdHJf
Z2V0X2NzdHIodGltZXN0YW1wKSk7Ci0gICAgICAgIGlmIChjaGFyZ2UpIHsKLSAgICAgICAgLyog
dW5zdXJlIGlmIHNtc2JveCByZWxheXMgdGhlIGJpbmZvIGZpZWxkIHRvIGRscnMuCi0gICAgICAg
ICAgIEJ1dCBpdCBpcyBoZXJlIGluIGNhc2UgdGhleSB3aWxsIHN0YXJ0IHRvIGRvIGl0LiAqLwot
ICAgICAgICBkbHJtc2ctPnNtcy5iaW5mbyA9IG9jdHN0cl9kdXBsaWNhdGUoY2hhcmdlKTsKLSAg
ICAgICAgfQorICAgICAgICAgICAgZGxybXNnLT5zbXMudGltZSA9IGF0b2kob2N0c3RyX2dldF9j
c3RyKHRpbWVzdGFtcCkpOworICAgICAgICAgICAgaWYgKGNoYXJnZSkgeworICAgICAgICAgICAg
ICAgIC8qIHVuc3VyZSBpZiBzbXNib3ggcmVsYXlzIHRoZSBiaW5mbyBmaWVsZCB0byBkbHJzLgor
ICAgICAgICAgICAgICAgICAgIEJ1dCBpdCBpcyBoZXJlIGluIGNhc2UgdGhleSB3aWxsIHN0YXJ0
IHRvIGRvIGl0LiAqLworICAgICAgICAgICAgICAgIGRscm1zZy0+c21zLmJpbmZvID0gb2N0c3Ry
X2R1cGxpY2F0ZShjaGFyZ2UpOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICByZXQgPSBi
Yl9zbXNjY29ubl9yZWNlaXZlKGNvbm4sIGRscm1zZyk7CiAgICAgICAgICAgICBodHRwc3RhdHVz
ID0gKHJldCA9PSAwID8gSFRUUF9PSyA6IEhUVFBfRk9SQklEREVOKTsKQEAgLTMxNiw4ICszNDMs
OCBAQA0KIH0KIAogc3RydWN0IHNtc2NfaHR0cF9mbl9jYWxsYmFja3Mgc21zY19odHRwX2NsaWNr
YXRlbGxfY2FsbGJhY2sgPSB7Ci0gICAgICAgIC5zZW5kX3NtcyA9IGNsaWNrYXRlbGxfc2VuZF9z
bXMsCi0gICAgICAgIC5wYXJzZV9yZXBseSA9IGNsaWNrYXRlbGxfcGFyc2VfcmVwbHksCi0gICAg
ICAgIC5yZWNlaXZlX3NtcyA9IGNsaWNrYXRlbGxfcmVjZWl2ZV9zbXMsCisgICAgLnNlbmRfc21z
ID0gY2xpY2thdGVsbF9zZW5kX3NtcywKKyAgICAucGFyc2VfcmVwbHkgPSBjbGlja2F0ZWxsX3Bh
cnNlX3JlcGx5LAorICAgIC5yZWNlaXZlX3NtcyA9IGNsaWNrYXRlbGxfcmVjZWl2ZV9zbXMsCiB9
OwogCkluZGV4OiBndy9zbXNjL3Ntc2NfaHR0cC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZ3cvc21zYy9z
bXNjX2h0dHAuYwkocmV2aXNpb24gNTI3NikNCisrKyBndy9zbXNjL3Ntc2NfaHR0cC5jCSh3b3Jr
aW5nIGNvcHkpDQpAQCAtMTQ0LDcgKzE0NCw2IEBADQogICAgIG9jdHN0cl9kZXN0cm95KGNvbm5k
YXRhLT5kbHJfdXJsKTsKICAgICBvY3RzdHJfZGVzdHJveShjb25uZGF0YS0+dXNlcm5hbWUpOwog
ICAgIG9jdHN0cl9kZXN0cm95KGNvbm5kYXRhLT5wYXNzd29yZCk7Ci0gICAgb2N0c3RyX2Rlc3Ry
b3koY29ubmRhdGEtPnByb3h5KTsKICAgICBvY3RzdHJfZGVzdHJveShjb25uZGF0YS0+c3lzdGVt
X2lkKTsKICAgICBvY3RzdHJfZGVzdHJveShjb25uZGF0YS0+YWx0X2NoYXJzZXQpOwogICAgIGNv
dW50ZXJfZGVzdHJveShjb25uZGF0YS0+b3Blbl9zZW5kcyk7CkBAIC01MjMsNyArNTIyLDcgQEAN
CiAgICAgY2ZnX2dldF9ib29sKCZjb25uZGF0YS0+bm9fc2VuZGVyLCBjZmcsIG9jdHN0cl9pbW0o
Im5vLXNlbmRlciIpKTsKICAgICBjZmdfZ2V0X2Jvb2woJmNvbm5kYXRhLT5ub19jb2RpbmcsIGNm
Zywgb2N0c3RyX2ltbSgibm8tY29kaW5nIikpOwogICAgIGNmZ19nZXRfYm9vbCgmY29ubmRhdGEt
Pm5vX3NlcCwgY2ZnLCBvY3RzdHJfaW1tKCJuby1zZXAiKSk7Ci0gICAgY29ubmRhdGEtPnByb3h5
ID0gY2ZnX2dldChjZmcsIG9jdHN0cl9pbW0oInN5c3RlbS1pZCIpKTsKKyAgICBjZmdfZ2V0X2Jv
b2woJmNvbm5kYXRhLT5tb2JpbGVfb3JpZ2luYXRlZCwgY2ZnLCBvY3RzdHJfaW1tKCJtb2JpbGUt
b3JpZ2luYXRlZCIpKTsKICAgICBjZmdfZ2V0X2Jvb2woJnNzbCwgY2ZnLCBvY3RzdHJfaW1tKCJ1
c2Utc3NsIikpOwogICAgIGNvbm5kYXRhLT5kbHJfdXJsID0gY2ZnX2dldChjZmcsIG9jdHN0cl9p
bW0oImRsci11cmwiKSk7CiAgICAgY29ubmRhdGEtPmFsdF9jaGFyc2V0ID0gY2ZnX2dldChjZmcs
IG9jdHN0cl9pbW0oImFsdC1jaGFyc2V0IikpOwpAQCAtNTMwLDE2ICs1MjksMTggQEANCiAKICAg
ICBpZiAoY2ZnX2dldF9pbnRlZ2VyKCZtYXhfcHMsIGNmZywgb2N0c3RyX2ltbSgibWF4LXBlbmRp
bmctc3VibWl0cyIpKSA9PSAtMSB8fCBtYXhfcHMgPCAxKQogICAgICAgICBtYXhfcHMgPSAxMDsK
LSAgICAKICAgICBjb25uZGF0YS0+bWF4X3BlbmRpbmdfc2VuZHMgPSBzZW1hcGhvcmVfY3JlYXRl
KG1heF9wcyk7CiAKICAgICBpZiAoY29ubmRhdGEtPnBvcnQgPD0gMCAmJiBjb25uZGF0YS0+c2Vu
ZF91cmwgPT0gTlVMTCkgewotICAgICAgICBlcnJvcigwLCAiU2VuZGVyIGFuZCByZWNlaXZlciBk
aXNhYmxlZC4gRHVtbXkgU01TQyBub3QgYWxsb3dlZC4iKTsKKyAgICAgICAgZXJyb3IoMCwgIkhU
VFBbJXNdOiBTZW5kZXIgYW5kIHJlY2VpdmVyIGRpc2FibGVkLiBEdW1teSBTTVNDIG5vdCBhbGxv
d2VkLiIsCisgICAgICAgICAgICAgIG9jdHN0cl9nZXRfY3N0cihjb25uLT5pZCkpOwogICAgICAg
ICBnb3RvIGVycm9yOwogICAgIH0KLSAgICBpZiAoY29ubmRhdGEtPnNlbmRfdXJsID09IE5VTEwp
Ci0gICAgICAgIHBhbmljKDAsICJIVFRQWyVzXTogU2VuZGluZyBub3QgYWxsb3dlZC4gTm8gJ3Nl
bmQtdXJsJyBzcGVjaWZpZWQuIiwKKyAgICBpZiAoY29ubmRhdGEtPnNlbmRfdXJsID09IE5VTEwp
IHsKKyAgICAgICAgZXJyb3IoMCwgIkhUVFBbJXNdOiBTZW5kaW5nIG5vdCBhbGxvd2VkLiBObyAn
c2VuZC11cmwnIHNwZWNpZmllZC4iLAogICAgICAgICAgICAgICBvY3RzdHJfZ2V0X2NzdHIoY29u
bi0+aWQpKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CiAKICAgICAvKiBjYWxsYmFjayBz
dHJ1Y3QgaXMgYWx3YXlzIGluIHRoZSBmb3JtYXQ6IHNtc2NfaHR0cF9YWFhfY2FsbGJhY2sgd2hl
cmUgWFhYIGlzIG91ciB0eXBlICovCiAgICAgY2FsbGJhY2tuYW1lID0gb2N0c3RyX2Zvcm1hdCgi
c21zY19odHRwXyVTX2NhbGxiYWNrIiwgdHlwZSk7CkluZGV4OiBndy9zbXNjL3Ntc2NfaHR0cF9w
LmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBndy9zbXNjL3Ntc2NfaHR0cF9wLmgJKHJldmlzaW9uIDUyNzYp
DQorKysgZ3cvc21zYy9zbXNjX2h0dHBfcC5oCSh3b3JraW5nIGNvcHkpDQpAQCAtOTYsMTQgKzk2
LDE2IEBADQogICAgIFNlbWFwaG9yZSAqbWF4X3BlbmRpbmdfc2VuZHM7CiAgICAgT2N0c3RyICp1
c2VybmFtZTsgICAvKiBpZiBuZWVkZWQgKi8KICAgICBPY3RzdHIgKnBhc3N3b3JkOyAgIC8qIGFz
IHNhaWQgKi8KLSAgICBPY3RzdHIgKnN5c3RlbV9pZDsgIC8qIGFwaSBpZCBmb3IgY2xpY2thdGVs
bCAqLwogICAgIGludCBub19zZW5kZXI7ICAgICAgLyogZGl0dG8gKi8KICAgICBpbnQgbm9fY29k
aW5nOyAgICAgIC8qIHRoaXMsIHRvbyAqLwogICAgIGludCBub19zZXA7ICAgICAgICAgLyogbm90
IHRvIG1lbnRpb24gdGhpcyAqLwotICAgIE9jdHN0ciAqcHJveHk7ICAgICAgLyogcHJveHkgYSBj
b25zdGFudCBzdHJpbmcgKi8KLSAgICBPY3RzdHIgKmFsdF9jaGFyc2V0OyAgICAvKiBhbHRlcm5h
dGl2ZSBjaGFyc2V0IHVzZSAqLwotICAgIExpc3QgKm1zZ190b19zZW5kOyAvKiBvdXIgc2VuZCBx
dWV1ZSAqLworICAgIE9jdHN0ciAqYWx0X2NoYXJzZXQ7LyogYWx0ZXJuYXRpdmUgY2hhcnNldCB1
c2UgKi8KKyAgICBMaXN0ICptc2dfdG9fc2VuZDsgIC8qIG91ciBzZW5kIHF1ZXVlICovCiAKKyAg
ICAvKiBDbGlja2F0ZWxsIHNwZWNpZmljIG9wdGlvbnMgKi8KKyAgICBPY3RzdHIgKnN5c3RlbV9p
ZDsgICAgIC8qIEFQSSBpZCAqLworICAgIGludCBtb2JpbGVfb3JpZ2luYXRlZDsgLyogJ21vJyBw
YXJhbWV0ZXIgZm9yIGEgdHdvLXdheSBzZXJ2aWNlICgwIG9yIDEpICovCisKICAgICAvKiBjYWxs
YmFjayBmdW5jdGlvbnMgc2V0IGJ5IEhUVFAtU01TQyB0eXBlICovCiAgICAgc3RydWN0IHNtc2Nf
aHR0cF9mbl9jYWxsYmFja3MgKmNhbGxiYWNrczsKIApJbmRleDogZ3dsaWIvY2ZnLmRlZg0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KLS0tIGd3bGliL2NmZy5kZWYJKHJldmlzaW9uIDUyNzYpDQorKysgZ3dsaWIvY2Zn
LmRlZgkod29ya2luZyBjb3B5KQ0KQEAgLTEwNiwxMCArMTA2LDEwIEBADQogICAgIE9DVFNUUihz
dG9yZS10eXBlKQogICAgIE9DVFNUUihzdG9yZS1sb2NhdGlvbikKICAgICBPQ1RTVFIodW5pZmll
ZC1wcmVmaXgpCi0gICAgT0NUU1RSKHdoaXRlLWxpc3QpCQkJLyogZGVwcmVjYXRlZCwgc3VwcG9y
dGVkIHVudGlsIG5leHQgbWFqb3Igc3RhYmxlIHJlbGVhc2UgLSBzdGFydCAqLworICAgIE9DVFNU
Uih3aGl0ZS1saXN0KSAgICAgICAgICAgLyogZGVwcmVjYXRlZCwgc3VwcG9ydGVkIHVudGlsIG5l
eHQgbWFqb3Igc3RhYmxlIHJlbGVhc2UgLSBzdGFydCAqLwogICAgIE9DVFNUUih3aGl0ZS1saXN0
LXJlZ2V4KQogICAgIE9DVFNUUihibGFjay1saXN0KQotICAgIE9DVFNUUihibGFjay1saXN0LXJl
Z2V4KQkvKiBkZXByZWNhdGVkLCBzdXBwb3J0ZWQgdW50aWwgbmV4dCBtYWpvciBzdGFibGUgcmVs
ZWFzZSAtIGVuZCAqLworICAgIE9DVFNUUihibGFjay1saXN0LXJlZ2V4KSAgICAgLyogZGVwcmVj
YXRlZCwgc3VwcG9ydGVkIHVudGlsIG5leHQgbWFqb3Igc3RhYmxlIHJlbGVhc2UgLSBlbmQgKi8K
ICAgICBPQ1RTVFIod2hpdGUtbGlzdC1zZW5kZXIpCiAgICAgT0NUU1RSKHdoaXRlLWxpc3Qtc2Vu
ZGVyLXJlZ2V4KQogICAgIE9DVFNUUihibGFjay1saXN0LXNlbmRlcikKQEAgLTQxOSw3ICs0MTks
NyBAQA0KICAgICBPQ1RTVFIoZ2VuZXJpYy1wYXJhbS1hY2NvdW50KQogICAgIE9DVFNUUihnZW5l
cmljLXBhcmFtLWJpbmZvKQogICAgIE9DVFNUUihnZW5lcmljLXBhcmFtLWRsci1tYXNrKQotCU9D
VFNUUihnZW5lcmljLXBhcmFtLWRsci1lcnIpCisgICAgT0NUU1RSKGdlbmVyaWMtcGFyYW0tZGxy
LWVycikKICAgICBPQ1RTVFIoZ2VuZXJpYy1wYXJhbS1kbHItdXJsKQogICAgIE9DVFNUUihnZW5l
cmljLXBhcmFtLWRsci1taWQpCiAgICAgT0NUU1RSKGdlbmVyaWMtcGFyYW0tZmxhc2gpCkBAIC00
MzQsNiArNDM0LDcgQEANCiAgICAgT0NUU1RSKGdlbmVyaWMtc3RhdHVzLXNlbnQpCiAgICAgT0NU
U1RSKGdlbmVyaWMtc3RhdHVzLWVycm9yKQogICAgIE9DVFNUUihnZW5lcmljLWZvcmVpZ24taWQt
cmVnZXgpCisgICAgT0NUU1RSKG1vYmlsZS1vcmlnaW5hdGVkKQogICAgIE9DVFNUUihpbnN0YW5j
ZXMpCiApCiAK
--_004_AM0PR05MB5874C503141A48C1546B176784F90AM0PR05MB5874eurp_--